Category Archives: Alfred

Mac workflow: Tagged bookmarks

Már az OpenMeta tagging felfedezése óta használom OS X alatt a tageket (btw OpenMeta tagek: OS X 10.9 alatt bevezetett kMDItemOMUserTags tagekké konvertálására itt ez a csodás script). A 10.9 megjelenése óta várom, hogy majd csak belekerül a Safari bookmarkok mellé is a tagging lehetősége – aztán egy nap meguntam a várakozást és csináltam magamnak egy scriptet a probléma megoldására:

set defaultPath to "SYSTEM:Users:fns:Dropbox:URL" as alias

tell application "Safari"
	set theName to name of front document
	set theURL to URL of front document
end tell
set theName to replace_chars(theName, ":", " -")

tell application "Safari"
	activate
	set resultFile to (choose file name with prompt "Save .webloc File" default name theName default location defaultPath) as text
end tell

set text item delimiters to ":"
set fileName to last text item of resultFile
set filePath to text 1 thru lastpos(resultFile, ":") of resultFile
	
tell application "Finder" to make new internet location file at filePath to theURL with properties {name:fileName}

on replace_chars(this_text, search_string, replacement_string)
	set AppleScript's text item delimiters to the search_string
	set the item_list to every text item of this_text
	set AppleScript's text item delimiters to the replacement_string
	set this_text to the item_list as string
	set AppleScript's text item delimiters to ""
	return this_text
end replace_chars

on lastpos(textstring, thischar)
	return (length of textstring) - (offset of thischar in (reverse of text items of textstring as string))
end lastpos

Ha elindítod a scriptet, akkor az feldob egy file save requestert, amiben átírhatod a mentendő .webloc file nevét, illetve tageket definiálhatsz. Nálam az így mentett .webloc file-ok a Dropboxban tartott URL nevű folderbe kerülnek, így minden gépemre szépen szinkronizálódnak, metadatával együtt. A default mentési foldert ebben a sorban definiálhatod át:

set defaultPath to "SYSTEM:Users:fns:Dropbox:URL" as alias

A scriptet nálam egy Alfred workflow indítja, de futtathatod akár egy FastScripts keyboard shortcuttal, csinálhatsz belőle Automator service-et, vagy ahogy neked kényelmes – TIMTOWTD.