├── Sip ├── Sip Extension │ ├── Resources │ │ ├── fonts │ │ ├── icons │ │ ├── assets │ │ ├── index.html │ │ ├── script.js │ │ ├── style.css │ │ └── manifest.json │ ├── Info.plist │ └── SafariWebExtensionHandler.swift ├── Sip │ ├── Resources │ │ ├── Icon.png │ │ ├── Style.css │ │ ├── Base.lproj │ │ │ └── Main.html │ │ └── Script.js │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── AppIcon.appiconset │ │ │ ├── mac-icon-128@1x.png │ │ │ ├── mac-icon-128@2x.png │ │ │ ├── mac-icon-16@1x.png │ │ │ ├── mac-icon-16@2x.png │ │ │ ├── mac-icon-256@1x.png │ │ │ ├── mac-icon-256@2x.png │ │ │ ├── mac-icon-32@1x.png │ │ │ ├── mac-icon-32@2x.png │ │ │ ├── mac-icon-512@1x.png │ │ │ ├── mac-icon-512@2x.png │ │ │ └── Contents.json │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ └── LargeIcon.imageset │ │ │ └── Contents.json │ ├── Info.plist │ ├── AppDelegate.swift │ ├── ViewController.swift │ └── Base.lproj │ │ └── Main.storyboard └── Sip.xcodeproj │ ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── bjgibson2.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ ├── xcuserdata │ └── bjgibson2.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ └── project.pbxproj ├── .DS_Store ├── icons ├── favicon.ico ├── icon128.png ├── icon16.png ├── icon32.png ├── icon48.png ├── icon_squircular.png └── sip_icon_safari.png ├── sip_preview.png ├── assets ├── icon-blue.png ├── icon-blue-sm.png └── icon-1764362355429.png ├── screenshots ├── help.png ├── dark-theme.png ├── light-theme.png ├── help-1280x800.jpg ├── settings │ ├── settings.png │ └── settings-1280x800.jpg ├── dark-theme-1280x800.jpg ├── light-theme-1280x800.jpg ├── store │ ├── catppuccin-dark-1280x800.png │ └── catppuccin-light-1280x800.png ├── themes │ ├── ayu │ │ ├── dark │ │ │ └── Screenshot 2025-12-17 at 12-24-21 startpage.png │ │ └── light │ │ │ └── Screenshot 2025-12-17 at 12-24-31 startpage.png │ ├── nord │ │ ├── dark │ │ │ └── Screenshot 2025-12-17 at 12-21-49 startpage.png │ │ └── light │ │ │ └── Screenshot 2025-12-17 at 12-22-01 startpage.png │ ├── dracula │ │ ├── dark │ │ │ └── Screenshot 2025-12-17 at 12-23-20 startpage.png │ │ └── light │ │ │ └── Screenshot 2025-12-17 at 12-23-09 startpage.png │ ├── gruvbox │ │ ├── dark │ │ │ └── Screenshot 2025-12-17 at 12-22-30 startpage.png │ │ └── light │ │ │ └── Screenshot 2025-12-17 at 12-22-12 startpage.png │ ├── catppuccin │ │ ├── dark │ │ │ └── Screenshot 2025-12-17 at 12-21-22 startpage.png │ │ └── light │ │ │ └── Screenshot 2025-12-17 at 12-21-02 startpage.png │ ├── kanagawa │ │ ├── dark │ │ │ └── Screenshot 2025-12-17 at 12-24-05 startpage.png │ │ └── light │ │ │ └── Screenshot 2025-12-17 at 12-23-52 startpage.png │ ├── monochrome │ │ ├── dark │ │ │ └── Screenshot 2025-12-17 at 12-24-54 startpage.png │ │ └── light │ │ │ └── Screenshot 2025-12-17 at 12-24-44 startpage.png │ ├── solarized │ │ ├── dark │ │ │ └── Screenshot 2025-12-17 at 12-23-31 startpage.png │ │ └── light │ │ │ └── Screenshot 2025-12-17 at 12-23-41 startpage.png │ └── tokyo-night │ │ ├── dark │ │ └── Screenshot 2025-12-17 at 12-22-40 startpage.png │ │ └── light │ │ └── Screenshot 2025-12-17 at 12-22-50 startpage.png └── ORGANIZATION_GUIDE.md ├── fonts ├── SymbolsNerdFont-Regular.ttf ├── SymbolsNerdFontMono-Regular.ttf ├── LICENSE ├── README.md └── 10-nerd-font-symbols.conf ├── manifest.json ├── .gitignore ├── PRIVACY.md ├── README.md └── index.html /Sip/Sip Extension/Resources/fonts: -------------------------------------------------------------------------------- 1 | ../../../fonts -------------------------------------------------------------------------------- /Sip/Sip Extension/Resources/icons: -------------------------------------------------------------------------------- 1 | ../../../icons -------------------------------------------------------------------------------- /Sip/Sip Extension/Resources/assets: -------------------------------------------------------------------------------- 1 | ../../../assets -------------------------------------------------------------------------------- /Sip/Sip Extension/Resources/index.html: -------------------------------------------------------------------------------- 1 | ../../../index.html -------------------------------------------------------------------------------- /Sip/Sip Extension/Resources/script.js: -------------------------------------------------------------------------------- 1 | ../../../script.js -------------------------------------------------------------------------------- /Sip/Sip Extension/Resources/style.css: -------------------------------------------------------------------------------- 1 | ../../../style.css -------------------------------------------------------------------------------- /Sip/Sip Extension/Resources/manifest.json: -------------------------------------------------------------------------------- 1 | ../../../manifest.json -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/.DS_Store -------------------------------------------------------------------------------- /icons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/icons/favicon.ico -------------------------------------------------------------------------------- /icons/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/icons/icon128.png -------------------------------------------------------------------------------- /icons/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/icons/icon16.png -------------------------------------------------------------------------------- /icons/icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/icons/icon32.png -------------------------------------------------------------------------------- /icons/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/icons/icon48.png -------------------------------------------------------------------------------- /sip_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/sip_preview.png -------------------------------------------------------------------------------- /assets/icon-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/assets/icon-blue.png -------------------------------------------------------------------------------- /screenshots/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/help.png -------------------------------------------------------------------------------- /assets/icon-blue-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/assets/icon-blue-sm.png -------------------------------------------------------------------------------- /Sip/Sip/Resources/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip/Resources/Icon.png -------------------------------------------------------------------------------- /icons/icon_squircular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/icons/icon_squircular.png -------------------------------------------------------------------------------- /icons/sip_icon_safari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/icons/sip_icon_safari.png -------------------------------------------------------------------------------- /screenshots/dark-theme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/dark-theme.png -------------------------------------------------------------------------------- /screenshots/light-theme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/light-theme.png -------------------------------------------------------------------------------- /assets/icon-1764362355429.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/assets/icon-1764362355429.png -------------------------------------------------------------------------------- /screenshots/help-1280x800.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/help-1280x800.jpg -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /fonts/SymbolsNerdFont-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/fonts/SymbolsNerdFont-Regular.ttf -------------------------------------------------------------------------------- /screenshots/settings/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/settings/settings.png -------------------------------------------------------------------------------- /fonts/SymbolsNerdFontMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/fonts/SymbolsNerdFontMono-Regular.ttf -------------------------------------------------------------------------------- /screenshots/dark-theme-1280x800.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/dark-theme-1280x800.jpg -------------------------------------------------------------------------------- /screenshots/light-theme-1280x800.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/light-theme-1280x800.jpg -------------------------------------------------------------------------------- /screenshots/settings/settings-1280x800.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/settings/settings-1280x800.jpg -------------------------------------------------------------------------------- /screenshots/store/catppuccin-dark-1280x800.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/store/catppuccin-dark-1280x800.png -------------------------------------------------------------------------------- /screenshots/store/catppuccin-light-1280x800.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/store/catppuccin-light-1280x800.png -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-128@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-128@1x.png -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-128@2x.png -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-16@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-16@1x.png -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-16@2x.png -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-256@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-256@1x.png -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-256@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-256@2x.png -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-32@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-32@1x.png -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-32@2x.png -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-512@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-512@1x.png -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip/Assets.xcassets/AppIcon.appiconset/mac-icon-512@2x.png -------------------------------------------------------------------------------- /screenshots/themes/ayu/dark/Screenshot 2025-12-17 at 12-24-21 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/ayu/dark/Screenshot 2025-12-17 at 12-24-21 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/ayu/light/Screenshot 2025-12-17 at 12-24-31 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/ayu/light/Screenshot 2025-12-17 at 12-24-31 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/nord/dark/Screenshot 2025-12-17 at 12-21-49 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/nord/dark/Screenshot 2025-12-17 at 12-21-49 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/nord/light/Screenshot 2025-12-17 at 12-22-01 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/nord/light/Screenshot 2025-12-17 at 12-22-01 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/dracula/dark/Screenshot 2025-12-17 at 12-23-20 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/dracula/dark/Screenshot 2025-12-17 at 12-23-20 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/gruvbox/dark/Screenshot 2025-12-17 at 12-22-30 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/gruvbox/dark/Screenshot 2025-12-17 at 12-22-30 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/catppuccin/dark/Screenshot 2025-12-17 at 12-21-22 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/catppuccin/dark/Screenshot 2025-12-17 at 12-21-22 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/dracula/light/Screenshot 2025-12-17 at 12-23-09 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/dracula/light/Screenshot 2025-12-17 at 12-23-09 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/gruvbox/light/Screenshot 2025-12-17 at 12-22-12 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/gruvbox/light/Screenshot 2025-12-17 at 12-22-12 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/kanagawa/dark/Screenshot 2025-12-17 at 12-24-05 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/kanagawa/dark/Screenshot 2025-12-17 at 12-24-05 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/kanagawa/light/Screenshot 2025-12-17 at 12-23-52 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/kanagawa/light/Screenshot 2025-12-17 at 12-23-52 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/monochrome/dark/Screenshot 2025-12-17 at 12-24-54 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/monochrome/dark/Screenshot 2025-12-17 at 12-24-54 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/solarized/dark/Screenshot 2025-12-17 at 12-23-31 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/solarized/dark/Screenshot 2025-12-17 at 12-23-31 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/solarized/light/Screenshot 2025-12-17 at 12-23-41 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/solarized/light/Screenshot 2025-12-17 at 12-23-41 startpage.png -------------------------------------------------------------------------------- /Sip/Sip.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /screenshots/themes/catppuccin/light/Screenshot 2025-12-17 at 12-21-02 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/catppuccin/light/Screenshot 2025-12-17 at 12-21-02 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/monochrome/light/Screenshot 2025-12-17 at 12-24-44 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/monochrome/light/Screenshot 2025-12-17 at 12-24-44 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/tokyo-night/dark/Screenshot 2025-12-17 at 12-22-40 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/tokyo-night/dark/Screenshot 2025-12-17 at 12-22-40 startpage.png -------------------------------------------------------------------------------- /screenshots/themes/tokyo-night/light/Screenshot 2025-12-17 at 12-22-50 startpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/screenshots/themes/tokyo-night/light/Screenshot 2025-12-17 at 12-22-50 startpage.png -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Sip/Sip.xcodeproj/project.xcworkspace/xcuserdata/bjgibson2.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bgibson72/Sip-StartPage/HEAD/Sip/Sip.xcodeproj/project.xcworkspace/xcuserdata/bjgibson2.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Sip/Sip/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SFSafariWebExtensionConverterVersion 6 | 26.2 7 | 8 | 9 | -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/LargeIcon.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x" 10 | }, 11 | { 12 | "idiom" : "universal", 13 | "scale" : "3x" 14 | } 15 | ], 16 | "info" : { 17 | "author" : "xcode", 18 | "version" : 1 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Sip/Sip.xcodeproj/xcuserdata/bjgibson2.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Sip.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Sip/Sip Extension/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSExtension 6 | 7 | NSExtensionPointIdentifier 8 | com.apple.Safari.web-extension 9 | NSExtensionPrincipalClass 10 | $(PRODUCT_MODULE_NAME).SafariWebExtensionHandler 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Sip/Sip/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // Sip 4 | // 5 | // Created by Bryan Gibson on 12/19/25. 6 | // 7 | 8 | import Cocoa 9 | 10 | @main 11 | class AppDelegate: NSObject, NSApplicationDelegate { 12 | 13 | func applicationDidFinishLaunching(_ notification: Notification) { 14 | // Override point for customization after application launch. 15 | } 16 | 17 | func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 18 | return true 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /Sip/Sip/Resources/Style.css: -------------------------------------------------------------------------------- 1 | * { 2 | -webkit-user-select: none; 3 | -webkit-user-drag: none; 4 | cursor: default; 5 | } 6 | 7 | :root { 8 | color-scheme: light dark; 9 | 10 | --spacing: 20px; 11 | } 12 | 13 | html { 14 | height: 100%; 15 | } 16 | 17 | body { 18 | display: flex; 19 | align-items: center; 20 | justify-content: center; 21 | flex-direction: column; 22 | 23 | gap: var(--spacing); 24 | margin: 0 calc(var(--spacing) * 2); 25 | height: 100%; 26 | 27 | font: -apple-system-short-body; 28 | text-align: center; 29 | } 30 | 31 | body:not(.state-on, .state-off) :is(.state-on, .state-off) { 32 | display: none; 33 | } 34 | 35 | body.state-on :is(.state-off, .state-unknown) { 36 | display: none; 37 | } 38 | 39 | body.state-off :is(.state-on, .state-unknown) { 40 | display: none; 41 | } 42 | 43 | button { 44 | font-size: 1em; 45 | } 46 | -------------------------------------------------------------------------------- /Sip/Sip/Resources/Base.lproj/Main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | Sip Icon 14 |

You can turn on Sip’s extension in Safari Extensions preferences.

15 |

Sip’s extension is currently on. You can turn it off in Safari Extensions preferences.

16 |

Sip’s extension is currently off. You can turn it on in Safari Extensions preferences.

17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 3, 3 | "name": "Sip", 4 | "version": "1.1.1", 5 | "description": "A cozy new tab page with 9 beautiful color schemes, quick links, and extensive customization", 6 | "author": "Bryan Gibson", 7 | 8 | "browser_specific_settings": { 9 | "gecko": { 10 | "id": "sip-startpage@bgibson72", 11 | "strict_min_version": "109.0", 12 | "data_collection_permissions": { 13 | "required": ["none"] 14 | } 15 | } 16 | }, 17 | 18 | "chrome_url_overrides": { 19 | "newtab": "index.html" 20 | }, 21 | 22 | "icons": { 23 | "16": "icons/icon16.png", 24 | "32": "icons/icon32.png", 25 | "48": "icons/icon48.png", 26 | "128": "icons/icon128.png" 27 | }, 28 | 29 | "permissions": [], 30 | 31 | "web_accessible_resources": [ 32 | { 33 | "resources": [ 34 | "fonts/*", 35 | "style.css", 36 | "script.js" 37 | ], 38 | "matches": [""] 39 | } 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /fonts/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Ryan L McIntyre 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Build artifacts 2 | *.zip 3 | *.tar.gz 4 | sip-extension-build/ 5 | build-safari.sh 6 | 7 | # Store submission documents 8 | SUBMISSION_GUIDE.md 9 | RELEASE_NOTES_*.md 10 | APP-STORE-CHECKLIST.md 11 | SAFARI*.md 12 | START-HERE.txt 13 | XCODE-FIX.md 14 | 15 | 16 | # OS files 17 | .DS_Store 18 | 19 | # Node modules (if added in future) 20 | node_modules/ 21 | 22 | # Xcode 23 | ## User settings 24 | Sip Safari/xcuserdata/ 25 | 26 | ## Build products 27 | Sip Safari/build/ 28 | Sip Safari/DerivedData/ 29 | 30 | ## Various Xcode settings 31 | Sip Safari/*.pbxuser 32 | Sip Safari/*.mode1v3 33 | Sip Safari/*.mode2v3 34 | Sip Safari/*.perspectivev3 35 | Sip Safari/*.xcworkspace 36 | !Sip Safari/*.xcworkspace/contents.xcworkspacedata 37 | Sip Safari/*.xccheckout 38 | Sip Safari/*.moved-aside 39 | 40 | ## Obj-C/Swift specific 41 | Sip Safari/*.hmap 42 | Sip Safari/*.ipa 43 | Sip Safari/*.dSYM.zip 44 | Sip Safari/*.dSYM 45 | 46 | ## App packaging 47 | Sip Safari/*.app 48 | Sip Safari/*.xcarchive 49 | 50 | ## Playgrounds 51 | timeline.xctimeline 52 | playground.xcworkspace 53 | 54 | ## Swift Package Manager 55 | Sip Safari/.swiftpm/ 56 | Sip Safari/.build/ 57 | 58 | ## CocoaPods 59 | Sip Safari/Pods/ 60 | -------------------------------------------------------------------------------- /Sip/Sip/Resources/Script.js: -------------------------------------------------------------------------------- 1 | function show(enabled, useSettingsInsteadOfPreferences) { 2 | if (useSettingsInsteadOfPreferences) { 3 | document.getElementsByClassName('state-on')[0].innerText = "Sip’s extension is currently on. You can turn it off in the Extensions section of Safari Settings."; 4 | document.getElementsByClassName('state-off')[0].innerText = "Sip’s extension is currently off. You can turn it on in the Extensions section of Safari Settings."; 5 | document.getElementsByClassName('state-unknown')[0].innerText = "You can turn on Sip’s extension in the Extensions section of Safari Settings."; 6 | document.getElementsByClassName('open-preferences')[0].innerText = "Quit and Open Safari Settings…"; 7 | } 8 | 9 | if (typeof enabled === "boolean") { 10 | document.body.classList.toggle(`state-on`, enabled); 11 | document.body.classList.toggle(`state-off`, !enabled); 12 | } else { 13 | document.body.classList.remove(`state-on`); 14 | document.body.classList.remove(`state-off`); 15 | } 16 | } 17 | 18 | function openPreferences() { 19 | webkit.messageHandlers.controller.postMessage("open-preferences"); 20 | } 21 | 22 | document.querySelector("button.open-preferences").addEventListener("click", openPreferences); 23 | -------------------------------------------------------------------------------- /Sip/Sip Extension/SafariWebExtensionHandler.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SafariWebExtensionHandler.swift 3 | // Sip Extension 4 | // 5 | // Created by Bryan Gibson on 12/19/25. 6 | // 7 | 8 | import SafariServices 9 | import os.log 10 | 11 | class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling { 12 | 13 | func beginRequest(with context: NSExtensionContext) { 14 | let request = context.inputItems.first as? NSExtensionItem 15 | 16 | let profile: UUID? 17 | if #available(iOS 17.0, macOS 14.0, *) { 18 | profile = request?.userInfo?[SFExtensionProfileKey] as? UUID 19 | } else { 20 | profile = request?.userInfo?["profile"] as? UUID 21 | } 22 | 23 | let message: Any? 24 | if #available(iOS 15.0, macOS 11.0, *) { 25 | message = request?.userInfo?[SFExtensionMessageKey] 26 | } else { 27 | message = request?.userInfo?["message"] 28 | } 29 | 30 | os_log(.default, "Received message from browser.runtime.sendNativeMessage: %@ (profile: %@)", String(describing: message), profile?.uuidString ?? "none") 31 | 32 | let response = NSExtensionItem() 33 | if #available(iOS 15.0, macOS 11.0, *) { 34 | response.userInfo = [ SFExtensionMessageKey: [ "echo": message ] ] 35 | } else { 36 | response.userInfo = [ "message": [ "echo": message ] ] 37 | } 38 | 39 | context.completeRequest(returningItems: [ response ], completionHandler: nil) 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /Sip/Sip/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "16x16", 5 | "idiom" : "mac", 6 | "filename" : "mac-icon-16@1x.png", 7 | "scale" : "1x" 8 | }, 9 | { 10 | "size" : "16x16", 11 | "idiom" : "mac", 12 | "filename" : "mac-icon-16@2x.png", 13 | "scale" : "2x" 14 | }, 15 | { 16 | "size" : "32x32", 17 | "idiom" : "mac", 18 | "filename" : "mac-icon-32@1x.png", 19 | "scale" : "1x" 20 | }, 21 | { 22 | "size" : "32x32", 23 | "idiom" : "mac", 24 | "filename" : "mac-icon-32@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "128x128", 29 | "idiom" : "mac", 30 | "filename" : "mac-icon-128@1x.png", 31 | "scale" : "1x" 32 | }, 33 | { 34 | "size" : "128x128", 35 | "idiom" : "mac", 36 | "filename" : "mac-icon-128@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "256x256", 41 | "idiom" : "mac", 42 | "filename" : "mac-icon-256@1x.png", 43 | "scale" : "1x" 44 | }, 45 | { 46 | "size" : "256x256", 47 | "idiom" : "mac", 48 | "filename" : "mac-icon-256@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "512x512", 53 | "idiom" : "mac", 54 | "filename" : "mac-icon-512@1x.png", 55 | "scale" : "1x" 56 | }, 57 | { 58 | "size" : "512x512", 59 | "idiom" : "mac", 60 | "filename" : "mac-icon-512@2x.png", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /Sip/Sip/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // Sip 4 | // 5 | // Created by Bryan Gibson on 12/19/25. 6 | // 7 | 8 | import Cocoa 9 | import SafariServices 10 | import WebKit 11 | 12 | let extensionBundleIdentifier = "com.vegvisirdesign.sip.Extension" 13 | 14 | class ViewController: NSViewController, WKNavigationDelegate, WKScriptMessageHandler { 15 | 16 | @IBOutlet var webView: WKWebView! 17 | 18 | override func viewDidLoad() { 19 | super.viewDidLoad() 20 | 21 | self.webView.navigationDelegate = self 22 | 23 | self.webView.configuration.userContentController.add(self, name: "controller") 24 | 25 | self.webView.loadFileURL(Bundle.main.url(forResource: "Main", withExtension: "html")!, allowingReadAccessTo: Bundle.main.resourceURL!) 26 | } 27 | 28 | func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { 29 | SFSafariExtensionManager.getStateOfSafariExtension(withIdentifier: extensionBundleIdentifier) { (state, error) in 30 | guard let state = state, error == nil else { 31 | // Insert code to inform the user that something went wrong. 32 | return 33 | } 34 | 35 | DispatchQueue.main.async { 36 | if #available(macOS 13, *) { 37 | webView.evaluateJavaScript("show(\(state.isEnabled), true)") 38 | } else { 39 | webView.evaluateJavaScript("show(\(state.isEnabled), false)") 40 | } 41 | } 42 | } 43 | } 44 | 45 | func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { 46 | if (message.body as! String != "open-preferences") { 47 | return; 48 | } 49 | 50 | SFSafariApplication.showPreferencesForExtension(withIdentifier: extensionBundleIdentifier) { error in 51 | DispatchQueue.main.async { 52 | NSApplication.shared.terminate(nil) 53 | } 54 | } 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /fonts/README.md: -------------------------------------------------------------------------------- 1 | # Nerd Fonts 2 | 3 | This is an archived font from the Nerd Fonts release v3.3.0. 4 | 5 | For more information see: 6 | * https://github.com/ryanoasis/nerd-fonts/ 7 | * https://github.com/ryanoasis/nerd-fonts/releases/latest/ 8 | 9 | # Symbols Only 10 | 11 | This font contains (in the patched-fonts folder) all symbols and is intended to be used 12 | as fallback or together with fontconfig - so that you do not need to individually 13 | patch all the fonts. YMMV. 14 | 15 | ## Which font? 16 | 17 | ### TL;DR 18 | 19 | * Pick your font family: 20 | * If you are limited to monospaced fonts (because of your terminal, etc) then pick a font with `Nerd Font Mono` (or `NFM`). 21 | * If you want to have bigger icons (usually around 1.5 normal letters wide) pick a font without `Mono` i.e. `Nerd Font` (or `NF`). Most terminals support this, but ymmv. 22 | * If you work in a proportional context (GUI elements or edit a presentation etc) pick a font with `Nerd Font Propo` (or `NFP`). 23 | 24 | ### Ligatures 25 | 26 | Ligatures are generally preserved in the patched fonts. 27 | Nerd Fonts `v2.0.0` had no ligatures in the `Nerd Font Mono` fonts, this has been dropped with `v2.1.0`. 28 | If you have a ligature-aware terminal and don't want ligatures you can (usually) disable them in the terminal settings. 29 | 30 | ### Explanation 31 | 32 | Once you narrow down your font choice of family (`Droid Sans`, `Inconsolata`, etc) and style (`bold`, `italic`, etc) you have 2 main choices: 33 | 34 | #### `Option 1: Download already patched font` 35 | 36 | * For a stable version download a font package from the [release page](https://github.com/ryanoasis/nerd-fonts/releases) 37 | * Or download the development version from the folders here 38 | 39 | #### `Option 2: Patch your own font` 40 | 41 | * Patch your own variations with the various options provided by the font patcher (i.e. not include all symbols for smaller font size) 42 | 43 | For more information see: [The FAQ](https://github.com/ryanoasis/nerd-fonts/wiki/FAQ-and-Troubleshooting#which-font) 44 | 45 | [SIL-RFN]:http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web_fonts_and_RFNs#14cbfd4a 46 | 47 | -------------------------------------------------------------------------------- /PRIVACY.md: -------------------------------------------------------------------------------- 1 | # Privacy Policy for Sip 2 | 3 | **Last updated:** November 28, 2025 4 | 5 | ## Overview 6 | 7 | Sip is a browser extension that replaces your new tab page with a cozy, customizable startpage. We are committed to protecting your privacy and being transparent about our practices. 8 | 9 | ## Data Collection 10 | 11 | **We do not collect any personal data.** 12 | 13 | Sip: 14 | - ❌ Does NOT collect any personal information 15 | - ❌ Does NOT track your browsing activity 16 | - ❌ Does NOT send any data to external servers 17 | - ❌ Does NOT use analytics or tracking scripts 18 | - ❌ Does NOT share any data with third parties 19 | 20 | ## Local Storage 21 | 22 | The extension stores your preferences locally in your browser using the browser's built-in storage API. This data includes: 23 | 24 | - **Theme preference** (light/dark mode) 25 | - **Time format preference** (12-hour/24-hour) 26 | - **Temperature unit preference** (Fahrenheit/Celsius) 27 | - **Preferred search engine** (Google, DuckDuckGo, GitHub, YouTube) 28 | 29 | This data: 30 | - Is stored **only on your device** 31 | - Is **never transmitted** to any external server 32 | - Can be cleared by uninstalling the extension or clearing browser data 33 | 34 | ## Permissions 35 | 36 | The extension requests the following permissions: 37 | 38 | | Permission | Purpose | 39 | |------------|---------| 40 | | `storage` | To save your preferences locally | 41 | 42 | ## External Resources 43 | 44 | The extension loads the following external resources: 45 | 46 | - **Font Awesome** (cdnjs.cloudflare.com) - For icons 47 | - **Google Fonts** (fonts.googleapis.com) - For the JetBrains Mono font 48 | 49 | These services may have their own privacy policies. No personal data is sent to these services. 50 | 51 | ## Search Functionality 52 | 53 | When you perform a search, you are redirected to your chosen search engine (Google, DuckDuckGo, GitHub, or YouTube). Your search query is sent directly to that search engine, not through any intermediary. Please refer to the respective search engine's privacy policy for information on how they handle your data. 54 | 55 | ## Changes to This Policy 56 | 57 | If we make any changes to this privacy policy, we will update the "Last updated" date at the top of this document. 58 | 59 | ## Contact 60 | 61 | If you have any questions about this privacy policy, you can: 62 | - Open an issue on [GitHub](https://github.com/bgibson72/start-page-v3) 63 | - Contact the developer at the repository 64 | 65 | ## Open Source 66 | 67 | This extension is open source. You can review the complete source code at: 68 | https://github.com/bgibson72/start-page-v3 69 | -------------------------------------------------------------------------------- /screenshots/ORGANIZATION_GUIDE.md: -------------------------------------------------------------------------------- 1 | # Screenshot Organization Guide 2 | 3 | ## Current Screenshots Location 4 | All new screenshots are in `/screenshots/Updated Screens/` with timestamp filenames. 5 | 6 | ## Suggested Organization Structure 7 | 8 | The screenshots directory now has organized folders: 9 | ``` 10 | screenshots/ 11 | ├── themes/ 12 | │ ├── catppuccin/ 13 | │ │ ├── dark/ 14 | │ │ └── light/ 15 | │ ├── nord/ 16 | │ │ ├── dark/ 17 | │ │ └── light/ 18 | │ ├── gruvbox/ 19 | │ │ ├── dark/ 20 | │ │ └── light/ 21 | │ ├── tokyo-night/ 22 | │ │ ├── dark/ 23 | │ │ └── light/ 24 | │ ├── dracula/ 25 | │ │ ├── dark/ 26 | │ │ └── light/ 27 | │ ├── solarized/ 28 | │ │ ├── dark/ 29 | │ │ └── light/ 30 | │ ├── kanagawa/ 31 | │ │ ├── dark/ 32 | │ │ └── light/ 33 | │ ├── ayu/ 34 | │ │ ├── dark/ 35 | │ │ └── light/ 36 | │ └── monochrome/ 37 | │ ├── dark/ 38 | │ └── light/ 39 | └── settings/ 40 | ``` 41 | 42 | ## How to Organize Your Screenshots 43 | 44 | ### Identifying Theme & Mode 45 | 46 | **Look for these visual cues:** 47 | 48 | 1. **Background Color** 49 | - Very dark backgrounds = Dark mode 50 | - Light/white backgrounds = Light mode 51 | 52 | 2. **Color Scheme Identification** 53 | 54 | **Catppuccin:** 55 | - Dark: Deep purple/mauve accent colors, #1e1e2e base 56 | - Light: Soft pastels, cream background 57 | 58 | **Nord:** 59 | - Dark: Cool blues and grays, arctic feel 60 | - Light: Clean whites with muted blue accents 61 | 62 | **Gruvbox:** 63 | - Dark: Warm browns/oranges, retro feel, #282828 base 64 | - Light: Cream/beige background, earthy tones 65 | 66 | **Tokyo Night:** 67 | - Dark: Deep blue background, bright blue/purple accents 68 | - Light: Light gray background, muted blues 69 | 70 | **Dracula:** 71 | - Dark: Purple (#bd93f9) and pink (#ff79c6) accents, #282a36 base 72 | - Light: Adapted pastels 73 | 74 | **Solarized:** 75 | - Dark: Blue-tinted dark background (#002b36), distinctive yellow/orange 76 | - Light: Warm cream background (#fdf6e3) 77 | 78 | **Kanagawa:** 79 | - Dark: Muted natural tones, Japanese-inspired, soft purple/blue 80 | - Light: Warm cream/beige, earthy muted colors 81 | 82 | **Ayu:** 83 | - Dark: Very dark background (#0f1419), bright cyan blue accents 84 | - Light: Clean white, bright accent colors 85 | 86 | **Monochrome:** 87 | - Dark: Pure white text on black background 88 | - Light: Pure black text on white background 89 | 90 | ### Renaming Convention 91 | 92 | Once you've identified the theme and mode, rename files like: 93 | - `catppuccin-dark.png` 94 | - `nord-light.png` 95 | - `gruvbox-dark.png` 96 | - `tokyo-night-light.png` 97 | - etc. 98 | 99 | For settings screenshots, use descriptive names: 100 | - `settings-general.png` 101 | - `settings-social-links.png` 102 | - `settings-footer.png` 103 | - `settings-help.png` 104 | 105 | ## Quick Identification Tips 106 | 107 | 1. Open each screenshot 108 | 2. Look at the time/greeting area colors (top-left) 109 | 3. Check the primary accent color of link cards 110 | 4. Note the background color tone 111 | 5. Move to appropriate theme/mode folder 112 | 6. Rename with descriptive name 113 | 114 | ## Example Workflow 115 | 116 | ```bash 117 | # View a screenshot 118 | xdg-open "Screenshot 2025-12-17 at 12-20-31 startpage.png" 119 | 120 | # Identify as Nord Dark, then: 121 | mv "Screenshot 2025-12-17 at 12-20-31 startpage.png" themes/nord/dark/main-view.png 122 | 123 | # Or for a settings screenshot: 124 | mv "Screenshot 2025-12-17 at 12-23-41 startpage.png" settings/social-links-tab.png 125 | ``` 126 | 127 | ## Count Check 128 | You should have approximately: 129 | - 2 screenshots per theme (dark + light) × 9 themes = 18 theme screenshots 130 | - 2-4 settings screenshots 131 | - Total: ~20 screenshots 132 | 133 | This matches the 20 files currently in "Updated Screens" folder. 134 | -------------------------------------------------------------------------------- /Sip/Sip/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ☕ Sip - Your Cozy New Tab Page 2 | 3 | Transform your browser's new tab into a beautiful, personalized workspace with Sip. Featuring stunning color themes, glassmorphism effects, and intelligent customization, Sip makes every new tab a delightful experience. 4 | 5 | --- 6 | 7 | ## 🎉 UPDATES - December 2025 8 | 9 | ### 🎨 **9 Color Schemes with Light/Dark Modes** 10 | Sip now includes 9 beautiful color schemes, each with both light and dark variants: 11 | 12 |
13 | Catppuccin - Warm, soothing pastels (original default) 14 | 15 | #### Dark Mode (Mocha) 16 | ![Catppuccin Dark](screenshots/themes/catppuccin/dark/Screenshot%202025-12-17%20at%2012-21-22%20startpage.png) 17 | 18 | #### Light Mode (Latte) 19 | ![Catppuccin Light](screenshots/themes/catppuccin/light/Screenshot%202025-12-17%20at%2012-21-02%20startpage.png) 20 | 21 |
22 | 23 |
24 | Nord - Cool, arctic-inspired blues and grays 25 | 26 | #### Dark Mode 27 | ![Nord Dark](screenshots/themes/nord/dark/Screenshot%202025-12-17%20at%2012-21-49%20startpage.png) 28 | 29 | #### Light Mode 30 | ![Nord Light](screenshots/themes/nord/light/Screenshot%202025-12-17%20at%2012-22-01%20startpage.png) 31 | 32 |
33 | 34 |
35 | Gruvbox - Retro, warm earthy tones with high contrast 36 | 37 | #### Dark Mode 38 | ![Gruvbox Dark](screenshots/themes/gruvbox/dark/Screenshot%202025-12-17%20at%2012-22-30%20startpage.png) 39 | 40 | #### Light Mode 41 | ![Gruvbox Light](screenshots/themes/gruvbox/light/Screenshot%202025-12-17%20at%2012-22-12%20startpage.png) 42 | 43 |
44 | 45 |
46 | Tokyo Night - Modern deep blues with vibrant accents 47 | 48 | #### Dark Mode 49 | ![Tokyo Night Dark](screenshots/themes/tokyo-night/dark/Screenshot%202025-12-17%20at%2012-22-40%20startpage.png) 50 | 51 | #### Light Mode 52 | ![Tokyo Night Light](screenshots/themes/tokyo-night/light/Screenshot%202025-12-17%20at%2012-22-50%20startpage.png) 53 | 54 |
55 | 56 |
57 | Dracula - Classic vibrant purples and cyans 58 | 59 | #### Dark Mode 60 | ![Dracula Dark](screenshots/themes/dracula/dark/Screenshot%202025-12-17%20at%2012-23-20%20startpage.png) 61 | 62 | #### Light Mode 63 | ![Dracula Light](screenshots/themes/dracula/light/Screenshot%202025-12-17%20at%2012-23-09%20startpage.png) 64 | 65 |
66 | 67 |
68 | Solarized - Precision colors designed for readability 69 | 70 | #### Dark Mode 71 | ![Solarized Dark](screenshots/themes/solarized/dark/Screenshot%202025-12-17%20at%2012-23-31%20startpage.png) 72 | 73 | #### Light Mode 74 | ![Solarized Light](screenshots/themes/solarized/light/Screenshot%202025-12-17%20at%2012-23-41%20startpage.png) 75 | 76 |
77 | 78 |
79 | Kanagawa - Japanese-inspired muted, natural tones 80 | 81 | #### Dark Mode (Wave) 82 | ![Kanagawa Dark](screenshots/themes/kanagawa/dark/Screenshot%202025-12-17%20at%2012-24-05%20startpage.png) 83 | 84 | #### Light Mode (Lotus) 85 | ![Kanagawa Light](screenshots/themes/kanagawa/light/Screenshot%202025-12-17%20at%2012-23-52%20startpage.png) 86 | 87 |
88 | 89 |
90 | Ayu - Minimal modern with bright accents 91 | 92 | #### Dark Mode 93 | ![Ayu Dark](screenshots/themes/ayu/dark/Screenshot%202025-12-17%20at%2012-24-21%20startpage.png) 94 | 95 | #### Light Mode 96 | ![Ayu Light](screenshots/themes/ayu/light/Screenshot%202025-12-17%20at%2012-24-31%20startpage.png) 97 | 98 |
99 | 100 |
101 | Monochrome - Pure black & white for maximum focus 102 | 103 | #### Dark Mode (White on Black) 104 | ![Monochrome Dark](screenshots/themes/monochrome/dark/Screenshot%202025-12-17%20at%2012-24-54%20startpage.png) 105 | 106 | #### Light Mode (Black on White) 107 | ![Monochrome Light](screenshots/themes/monochrome/light/Screenshot%202025-12-17%20at%2012-24-44%20startpage.png) 108 | 109 |
110 | 111 | ### ⚙️ **Enhanced Settings & Customization** 112 | - **Backup & Restore** - Export and import all your settings, categories, and links (v1.1.1) 113 | - **Click Time to Toggle** - Click the clock to quickly switch between 12h/24h format 114 | - **Show Seconds Option** - Display seconds on the clock for precise timekeeping 115 | - **Link Behavior Control** - Choose to open links in same window, new tab, or new window 116 | - **Keyboard Shortcuts Toggle** - Show or hide keyboard hint overlays 117 | - **Color Scheme Dropdown** - Easy selection of any color scheme 118 | 119 | ### 🔗 **Social Links Integration** 120 | - New **Social Links** settings tab with 10 pre-configured platforms 121 | - Add your social media URLs (Facebook, Instagram, Twitter/X, LinkedIn, GitHub, YouTube, TikTok, Discord, Reddit, Mastodon) 122 | - Toggle visibility for each platform 123 | - Display social icons in the footer 124 | 125 | ### 🎯 **Footer Customization** 126 | - New **Footer Settings** tab with complete layout control 127 | - Customize left, center, and right footer sections independently 128 | - Choose from: Weather, Social Links, Quotes, or Blank for each section 129 | - Default: Weather (left), Blank (center), Quotes (right) 130 | 131 | ### 📚 **Improved Help & Documentation** 132 | - Help content moved to a dedicated tab in Settings 133 | - Removed standalone help button for cleaner UI 134 | - Comprehensive icon customization guide integrated into settings 135 | 136 | ### 🎭 **UI/UX Improvements** 137 | - Convert color scheme selector to dropdown for scalability 138 | - Removed redundant settings (quotes toggle now managed via Footer tab) 139 | - Better responsive design for settings with tab wrapping 140 | - Enhanced color mode visibility based on theme selection 141 | - Developer credits section at the bottom 142 | 143 |
144 | Settings Panel Screenshots 145 | 146 | #### Settings Overview 147 | ![Settings Panel](screenshots/settings/settings.png) 148 | 149 | #### Settings Panels (High Resolution) 150 | ![Settings Detailed](screenshots/settings/settings-1280x800.jpg) 151 | 152 |
153 | 154 | --- 155 | 156 | ## ✨ Key Features 157 | 158 | **Beautiful Design** 159 | - **9 stunning color schemes** - Catppuccin, Nord, Gruvbox, Tokyo Night, Dracula, Solarized, Kanagawa, Ayu, Monochrome 160 | - **Light & Dark modes** for every color scheme (18 total theme combinations) 161 | - Modern glassmorphism UI with ambient glow effects 162 | - Smooth animations and responsive layout 163 | - Multi-color or monochrome category accent options 164 | 165 | **Smart Search** 166 | - Integrated search respecting your default search engine (Chrome) 167 | - Quick engine switching between 9 search providers (Google, DuckDuckGo, GitHub, Git, YouTube, Bing, Amazon, Wikipedia, Internet Archive) 168 | - Keyboard shortcuts for lightning-fast navigation 169 | 170 | **Personalization** 171 | - Dynamic time-based greetings with beautiful icons 172 | - Real-time weather with OpenWeather API integration 173 | - **Click clock to toggle 12h/24h** format instantly 174 | - Optional seconds display on clock 175 | - Customizable quick links organized by categories (up to 8 categories, 10 links each) 176 | - Toggle between Fahrenheit and Celsius 177 | - **Social links integration** with 10 popular platforms 178 | - **Customizable footer layout** (left/center/right sections) 179 | - **Backup & Restore** - Easily migrate settings between browsers 180 | 181 | **Productivity** 182 | - Organize your favorite sites in customizable categories 183 | - **Link behavior control** (open in same window, new tab, or new window) 184 | - Built-in help system integrated into settings 185 | - All settings persist locally (no data collection) 186 | - Keyboard shortcuts: `/` for search, `1-9` for engines, `Esc` to clear 187 | - Optional keyboard hints overlay 188 | 189 | **Privacy First** 190 | - No data collection or tracking 191 | - All preferences stored locally on your device 192 | - Open source and transparent 193 | 194 | ## 🎯 Perfect For 195 | 196 | - Developers who want quick access to GitHub, Stack Overflow, and dev tools 197 | - Anyone who values beautiful, functional design 198 | - Users who want a personalized browsing experience 199 | - Privacy-conscious individuals 200 | 201 | ## 🔒 Privacy & Permissions 202 | 203 | **Required Permissions:** 204 | - Chrome/Firefox: `search` - To integrate with your browser's default search engine 205 | - Safari: None - No special permissions required 206 | 207 | **What We DON'T Do:** 208 | - No data collection or analytics 209 | - No tracking or monitoring 210 | - No remote servers (except OpenWeather API if you configure it) 211 | - All settings stored locally using browser's localStorage 212 | 213 | See our full [Privacy Policy](https://github.com/bgibson72/start-page-v3/blob/main/PRIVACY.md) for complete details. 214 | 215 | ## 📸 Screenshots & More 216 | 217 | Visit our [GitHub repository](https://github.com/bgibson72/start-page-v3) for: 218 | - Detailed screenshots 219 | - Customization guide 220 | - Icon usage instructions 221 | - Development information 222 | - Source code 223 | 224 | ## 🆘 Support 225 | 226 | Need help? Have suggestions? 227 | - Open an issue on [GitHub](https://github.com/bgibson72/start-page-v3/issues) 228 | - Read our detailed [README](https://github.com/bgibson72/start-page-v3) 229 | 230 | --- 231 | 232 | Made with ☕ and 💜 using Catppuccin themes 233 | 234 | ![Preview Image](sip_preview.png) 235 | 236 |
237 | 📸 Screenshots - Click to expand 238 | 239 | ### Original Theme Examples 240 | 241 | #### Catppuccin Dark (Mocha) 242 | ![Dark Theme](screenshots/dark-theme.png) 243 | 244 | #### Catppuccin Light (Latte) 245 | ![Light Theme](screenshots/light-theme.png) 246 | 247 | #### Settings Panel 248 | ![Settings](screenshots/settings.png) 249 | 250 | ### New Color Schemes (December 2025) 251 | 252 | 20 additional screenshots showcasing all 9 color schemes in both light and dark modes are available in `/screenshots/Updated Screens/`. These include: 253 | 254 | - **Catppuccin** (Mocha & Latte) 255 | - **Nord** (Polar Night & Snow Storm) 256 | - **Gruvbox** (Dark & Light) 257 | - **Tokyo Night** (Night & Day) 258 | - **Dracula** (Dark & adapted Light) 259 | - **Solarized** (Dark & Light) 260 | - **Kanagawa** (Wave & Lotus) 261 | - **Ayu** (Dark & Light) 262 | - **Monochrome** (Black & White) 263 | 264 | Each screenshot demonstrates the glassmorphism effects, customizable categories, and beautiful color harmony of each theme. 265 | 266 | ### New Features Showcase 267 | 268 | - Social Links footer widget with platform icons 269 | - Customizable footer sections (Weather, Socials, Quotes) 270 | - Enhanced settings with 6 tabs (General, Categories, Links, Social, Footer, Help) 271 | - Color scheme dropdown selector 272 | - Clock with seconds display option 273 | 274 |
275 | 276 | ## ✨ Features 277 | 278 | - **Catppuccin Themes** - Mocha (dark) and Latte (light) color palettes 279 | - **Glassmorphism UI** - Modern frosted glass effects with ambient glows 280 | - **Multi-Engine Search** - Quick switch between popular search engines and developer resources 281 | - **Dynamic Greeting** - Personalized time-based greetings with sunrise/sun/sunset/moon icons 282 | - **Quick Links** - Categorized bookmarks (Development, Social, Media, Productivity) 283 | - **Weather Widget** - Current weather with °F/°C toggle 284 | - **Settings Panel** - Toggle 12hr/24hr clock, temperature units, and theme 285 | - **Inspirational Quotes** - Random quotes to brighten your day 286 | - **Keyboard Navigation** - Fast access with keyboard shortcuts 287 | - **Responsive Design** - Works on all screen sizes 288 | 289 | --- 290 | 291 | ## 🧩 Installation 292 | 293 | **Sip** is available as a browser extension: 294 | 295 | - **Chrome Web Store** - Coming soon! 296 | - **Firefox Add-ons** - Coming soon! 297 | - **Safari Extension** - [Build & install instructions](SAFARI-QUICKSTART.md) 298 | 299 | Once published, simply install from your browser's extension store and Sip will replace your new tab page. 300 | 301 | ### Safari Extension 302 | 303 | For Safari users, Sip can be built and installed as a native Safari Extension: 304 | 305 | 1. Open the Xcode project: `open "Sip Safari/Sip Safari.xcodeproj"` 306 | 2. Build and run the project (⌘ + R) 307 | 3. Enable in Safari → Settings → Extensions 308 | 4. See [SAFARI-QUICKSTART.md](SAFARI-QUICKSTART.md) for detailed instructions 309 | 5. For App Store distribution, see [SAFARI-DISTRIBUTION.md](SAFARI-DISTRIBUTION.md) 310 | 311 | --- 312 | 313 | ## 🚀 Standalone Installation 314 | 315 | ### Clone the Repository 316 | 317 | ```bash 318 | git clone https://github.com/bgibson72/start-page-v3.git 319 | cd start-page-v3 320 | ``` 321 | 322 | ### Set as Browser Homepage 323 | 324 | 1. Open the `index.html` file in your browser 325 | 2. Copy the file path (e.g., `file:///home/username/start-page-v3/index.html`) 326 | 3. Set this as your browser's homepage in settings 327 | 328 | **Or host locally:** 329 | 330 | ```bash 331 | # Using Python 332 | python -m http.server 8080 333 | 334 | # Then set http://localhost:8080 as your homepage 335 | ``` 336 | 337 | ## ⚙️ Customization 338 | 339 | ### Change Your Name 340 | 341 | Edit `script.js` and find the `userName` variable near the top: 342 | 343 | ```javascript 344 | const userName = 'Bryan'; // Change to your name 345 | ``` 346 | 347 | ### Add/Remove Quick Links 348 | 349 | Edit `index.html` and modify the link cards in each category section: 350 | 351 | ```html 352 | 353 | 354 | Site Name 355 | 356 | ``` 357 | 358 | Browse [Font Awesome Icons](https://fontawesome.com/icons) for icon options. 359 | 360 | ### Modify Categories 361 | 362 | Each category is a `