Skip to content

Instantly share code, notes, and snippets.

@zackn9ne
Created July 22, 2015 03:41
Show Gist options
  • Select an option

  • Save zackn9ne/956b6598d6b3dd13242b to your computer and use it in GitHub Desktop.

Select an option

Save zackn9ne/956b6598d6b3dd13242b to your computer and use it in GitHub Desktop.
export safari tabs to MD file with timestamp ;)
(*
Export All Safari Tabs in All Open Windows to a Markdown File
July 13, 2015
// SCRIPT PAGE
http://hegde.me/urlsafari
// ORIGINAL SCRIPT ON WHICH THIS SCRIPT IS BUILT
http://veritrope.com/code/export-all-safari-tabs-to-a-text-file
// CHANGES COMPARED TO THE ORIGINAL SCRIPT
1. Save URLs to .md instead of .txt
2. Save URLs from all windows instead of just the first window
3. Save the file to Downloads/ instead of Desktop/
// DISCLAIMER
I have made some minor changes to the orginal script which can be found at veritrope.com (full link given above). I'm not affiliated with veritrope.com.
// TERMS OF USE:
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
*)
----------------------------------------------------------------------------------------
-- NAME OF REPORT TITLE
set pathB to POSIX path of (path to home folder as text) & "notes"
set theDate to do shell script "date +%Y_%m_%d__%H_%M_%Surl"
property report_Title : "URL List from Safari dateVar"
-- PREPARE THE LIST
set url_list to {}
set the date_stamp to ((the current date) as string)
log date_stamp
set NoteTitle to "# " & the date_stamp
-- GET TABS FROM SAFARI
set window_count to 1
tell application "Safari"
activate
set safariWindow to windows
repeat with w in safariWindow
try
if (tabs of w) is not {} then
copy ("## Window " & window_count & ":" & return) to the end of url_list
end if
repeat with t in (tabs of w)
set TabTitle to ("1. [" & name of t & "]")
set TabURL to ("(" & URL of t & ")")
set TabInfo to (TabTitle & TabURL & return)
copy TabInfo to the end of url_list
end repeat
end try
set window_count to window_count + 1
end repeat
end tell
-- CONVERT URL_LIST TO TEXT
set old_delim to AppleScript's text item delimiters
set AppleScript's text item delimiters to return
set url_list to (NoteTitle & return & return & return & url_list) as text
set AppleScript's text item delimiters to old_delim
-- CHOOSE FILE NAME FOR EXPORT
tell application "Finder"
activate
set filesavepath to POSIX path of "notes/"
set save_File to choose file name with prompt "Name this file:" default name theDate default location (pathB as POSIX file)
end tell
--WRITE THE FILE
tell application "System Events"
set save_File to open for access (save_File & ".md" as string) with write permission
try
write url_list to save_File
end try
close access save_File
say "You are not listening to me!" using "Bubbles"
end tell
@zackn9ne

Copy link
Copy Markdown
Author

Put this in ~/Library/Scripts

Download this to run it: https://red-sweater.com/fastscripts/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment