2017-04-11 2 views
1

In BBEdit ist es der Befehl unter Markup -> Check -> Document Links Abkürzung cmd + Steuerung + k, die alle Links überprüft. Als ich im Wörterbuch unter BBEdit > HTML Scripting -> check links sehe es zeigt:In AppleScript und BBEdit wie können Sie Links überprüfen?

enter image description here

aber wenn ich Skript für ein Projekt versuchen, mit:

set theResult to check links of active document of project window 1 

bekomme ich einen Fehler von item, wenn ich versuche, zu überprüfen, basierend auf den Dateinamen mit:

set foobar to (name of active document of project window 1) as string 
set theResult to check links of foobar 

ich immer noch die gleichen Fehler, wenn ich versuche:

set projectPath to file of project document 1 
set theResult to check links of projectPath 

ich ein zurückgekehrter von {}. Dachte, es war ein Problem mit nicht with show results Zugabe habe ich es zu:

set theResult to check links of projectPath with show results 

aber ich bekomme eine Rendite von activate

Wenn ich durch die Google-Suche Ich bin nicht in der Lage, eine Lösung auf finden, wenn es möglich ist, zu Gibt einen booleschen Wert zurück, ob die Links in der HTML-Datei beim Scripten durch den Inhalt gültig sind. Meine Frage ist also, wie bekomme ich AppleScript, um mir zu sagen, dass die Links in BBEdit mit check links gültig sind?

+0

überprüfen Links überprüft eine Datei, wird das aktive Dokument nicht eine Datei betrachtet. Haben Sie versucht, es zu überprüfen, indem Sie darauf als tatsächliche Datei zeigen? – Chilly

+0

@Chilly ja ich habe das ausprobiert und werde bearbeiten. –

Antwort

1

die Links aus der Datei des aktiven Dokuments zu überprüfen:

tell application "BBEdit" 
    set theFilePathOfFrontProject to file of text document 1 -- get the path of the selected file in the front project window 
    set theResult to (check links of theFilePathOfFrontProject) is {} 
    if theResult then 
     display dialog "All links appear to be valid" 
    else 
     display dialog "Some links appear to be not valid" 
    end if 
end tell 

Informations:

set projectPath to file of project document 1, diese com Geben Sie den Pfad des Projekts (überprüfen Sie Links in dieser Datei wird immer eine leere Liste zurück), der Pfad wird file "fullpath:someName.bbprojectd", es ist nicht der Pfad der ausgewählten HTML Datei im Projekt.

Um Pfad aller Dateien des Projekts zu erhalten: set allFilePaths to project collections of project document 1 -- list of paths

+0

Ya Ich benutzte etwas ähnliches, aber es dauerte mehr Zeilen, aber am Ende war es eine bedingte Überprüfung, ob die Liste leer war, aber plus 1 für die Lösung –

1

Ich glaube, das funktionierte beim letzten Mal, als ich es benutzte, ich bin auf dem Handy, um einen Flug zu besteigen, damit die Syntax gemurmelt wurde.

Um Systemereignisse zum Drücken von Tasten zu verwenden, können Sie einen separaten Tell-Block verwenden oder einen Handler wie diesen erstellen.

on checkLinks() 
    tell application "System Events" 
     keystroke "k" using {command down, control down} 
    end tell 
end checkLinks 

dann rufen Sie die Handler wie gewohnt

my checkLinks() 
Verwandte Themen