├── Icon.png ├── Icon-32.png ├── Icon-48.png ├── Icon-64.png ├── ui ├── data_th.png ├── menu_home.png ├── nav_arrow.png ├── button_dark.png ├── button_light.png ├── chrome_dark.png ├── chrome_light.png ├── input_shadow.png ├── toggle_arrow.png ├── menu_active_a.png ├── menu_expanded.png ├── button_dark_active.png └── button_light_active.png ├── TabstoMarkdownToolbarIcon.png ├── Settings.plist ├── panel.css ├── Info.plist ├── injected.js ├── MarkdownTabs.html ├── tablinks.html ├── master.js ├── tablinks.css ├── jquery.js └── jquery14.js /Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/Icon.png -------------------------------------------------------------------------------- /Icon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/Icon-32.png -------------------------------------------------------------------------------- /Icon-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/Icon-48.png -------------------------------------------------------------------------------- /Icon-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/Icon-64.png -------------------------------------------------------------------------------- /ui/data_th.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/data_th.png -------------------------------------------------------------------------------- /ui/menu_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/menu_home.png -------------------------------------------------------------------------------- /ui/nav_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/nav_arrow.png -------------------------------------------------------------------------------- /ui/button_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/button_dark.png -------------------------------------------------------------------------------- /ui/button_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/button_light.png -------------------------------------------------------------------------------- /ui/chrome_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/chrome_dark.png -------------------------------------------------------------------------------- /ui/chrome_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/chrome_light.png -------------------------------------------------------------------------------- /ui/input_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/input_shadow.png -------------------------------------------------------------------------------- /ui/toggle_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/toggle_arrow.png -------------------------------------------------------------------------------- /ui/menu_active_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/menu_active_a.png -------------------------------------------------------------------------------- /ui/menu_expanded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/menu_expanded.png -------------------------------------------------------------------------------- /ui/button_dark_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/button_dark_active.png -------------------------------------------------------------------------------- /ui/button_light_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/ui/button_light_active.png -------------------------------------------------------------------------------- /TabstoMarkdownToolbarIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ttscoff/MarkdownURLs.safariextension/master/TabstoMarkdownToolbarIcon.png -------------------------------------------------------------------------------- /Settings.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | DefaultValue 7 | [%w-%n]: %u "%t" 8 | Key 9 | template 10 | Title 11 | URL Format 12 | Type 13 | TextField 14 | 15 | 16 | DefaultValue 17 | all 18 | Key 19 | operateon 20 | Title 21 | Operates On: 22 | Titles 23 | 24 | All Windows 25 | Current Window 26 | 27 | Type 28 | RadioButtons 29 | Values 30 | 31 | all 32 | current 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /panel.css: -------------------------------------------------------------------------------- 1 | #mainPanel { 2 | display: block !important; 3 | position: fixed !important; 4 | top: 10px !important; 5 | left: 10px !important; 6 | background-color:rgba(24,24,24,0.9) !important; 7 | padding: 20px; 8 | -webkit-border-radius: 15px !important; 9 | border-bottom: 1px solid #999 !important; 10 | z-index: 9999999 !important; 11 | width: 90% !important; 12 | max-height:80%; 13 | overflow:auto; 14 | text-align:center; 15 | } 16 | #textContainer { 17 | color:#eee; 18 | font-size:14px; 19 | line-height:1.6em; 20 | height:80%; 21 | } 22 | #mainPanel div { 23 | padding: 5px !important; 24 | margin: 0 !important; 25 | } 26 | #markdownTextArea { 27 | white-space:pre; 28 | width: 95% !important; 29 | font-family: 'myriad pro','lucida grande'; 30 | padding: 5px !important; 31 | font-size:12px !important; 32 | background-color:rgba(24,24,24,0.9); 33 | color: #eee;overflow:auto; 34 | } 35 | 36 | #textContainer h3 { 37 | background:transparent !important; 38 | color: #ccc !important; 39 | font-size: 18px; 40 | font-weight: normal; 41 | border: none !important; 42 | text-shadow: none !important; 43 | } -------------------------------------------------------------------------------- /Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Author 6 | Brett Terpstra 7 | CFBundleDisplayName 8 | TabLinks 9 | CFBundleIdentifier 10 | com.brettterpstra.tablinks 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleShortVersionString 14 | 2.0 15 | CFBundleVersion 16 | 2.0 17 | Chrome 18 | 19 | Global Page 20 | MarkdownTabs.html 21 | Toolbar Items 22 | 23 | 24 | Command 25 | makeMarkdown 26 | Identifier 27 | makeMarkdown 28 | Image 29 | TabstoMarkdownToolbarIcon.png 30 | Label 31 | TabLinks 32 | Tool Tip 33 | List urls of all open tabs as templated list 34 | 35 | 36 | 37 | Content 38 | 39 | Scripts 40 | 41 | 42 | Description 43 | Lists open tabs using a template. %u=url, %t=title, %w=window index, %n=tab index, %b=newline 44 | ExtensionInfoDictionaryVersion 45 | 1.0 46 | Permissions 47 | 48 | Website Access 49 | 50 | Include Secure Pages 51 | 52 | Level 53 | All 54 | 55 | 56 | Update Manifest URL 57 | http://brettterpstra.com/instapaperbeyond/brettterpstraplugins.plist 58 | Website 59 | http://brettterpstra.com 60 | 61 | 62 | -------------------------------------------------------------------------------- /injected.js: -------------------------------------------------------------------------------- 1 | function insertTextPanel(content) { 2 | // if (window !== window.top) return; 3 | var objPanel, 4 | objTextArea, 5 | objContainer; 6 | 7 | if (!document.getElementById('mainPanel')) { 8 | 9 | objTextArea = document.createElement('textarea'); 10 | objTextArea.setAttribute('wrap', 'hard'); 11 | objTextArea.setAttribute('id', 'markdownTextArea'); 12 | objTextArea.setAttribute('rows', content.split('\n').length + 2); 13 | objTextArea.innerHTML = content; 14 | 15 | objContainer = document.createElement('div'); 16 | objContainer.setAttribute('class', 'lcd_panel_element'); 17 | objContainer.setAttribute('id', 'textContainer'); 18 | objContainer.innerHTML = '

Press Command-C to copy

'; 19 | objContainer.appendChild(objTextArea); 20 | 21 | objPanel = document.createElement('div'); 22 | objPanel.setAttribute('id', 'mainPanel'); 23 | objPanel.setAttribute('class', 'lcd_panel_element'); 24 | objPanel.appendChild(objContainer); 25 | 26 | document.body.appendChild(objPanel); 27 | document.addEventListener('click', _removePanel); 28 | objTextArea.select(); 29 | 30 | } else { 31 | console.log('already exists'); 32 | 33 | } 34 | // document.getElementById('lcd_imgtag_textarea').select(); 35 | 36 | } 37 | 38 | function _removePanel(event) { 39 | if (event.target.id != "markdownTextArea") { 40 | if (document.getElementById('mainPanel')) { 41 | var panel = document.getElementById('mainPanel'); 42 | panel.parentNode.removeChild(panel); 43 | document.removeEventListener('click', _removePanel); 44 | 45 | } 46 | 47 | } 48 | 49 | } 50 | 51 | function messageHandler(event) { 52 | if (event.name === "openPanel") { 53 | insertTextPanel(event.message); 54 | 55 | } 56 | 57 | } 58 | 59 | safari.self.addEventListener("message", messageHandler, false); -------------------------------------------------------------------------------- /MarkdownTabs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /tablinks.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TabLinks 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | TabLinks 14 |
15 |
16 | 17 | Close 18 | 19 | 20 | 21 | 22 | 23 |
24 |
25 |
26 |

Create a template using %u=url, %t=title, %w=window index, %n=tab index, %b=newline. Click the Presets button for examples. Double click the links to edit.

27 |
 28 |       
29 |
30 |
31 | 36 |
37 | 49 | 117 | 118 | -------------------------------------------------------------------------------- /master.js: -------------------------------------------------------------------------------- 1 | // 2 | // Automatically calls all functions in SLAB.init 3 | // 4 | jQuery(document).ready(function() { 5 | SLAB.go(); 6 | }); 7 | 8 | // 9 | // Module pattern: 10 | // http://yuiblog.com/blog/2007/06/12/module-pattern/ 11 | // 12 | var SLAB = (function($, window, undefined) { 13 | var TOUCH_DEVICE = (typeof Touch === 'object'); 14 | 15 | // Expose contents of SLAB. 16 | return { 17 | go: function() { 18 | for (var i in SLAB.init) { 19 | SLAB.init[i](); 20 | } 21 | }, 22 | init: { 23 | full_input_size: function() { 24 | if (!$('textarea, .input_full').length) { 25 | return; 26 | } 27 | 28 | // This fixes width: 100% on