{"id":31136172,"url":"https://github.com/vectorcmdr/senzai-startpage","last_synced_at":"2025-09-18T08:00:21.377Z","repository":{"id":287825267,"uuid":"852342031","full_name":"vectorcmdr/senzai-startpage","owner":"vectorcmdr","description":"A simple stylish startpage with todos :memo:","archived":false,"fork":false,"pushed_at":"2025-08-18T05:03:27.000Z","size":19440,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-18T07:05:04.007Z","etag":null,"topics":["bookmarks","css","html","javascript","js","senzai","startpage","startpages","task-list","task-list-app","tasks","todo","todo-list","todo-list-app","todolist"],"latest_commit_sha":null,"homepage":"https://start.vectorcmdr.xyz/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vectorcmdr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"vector_cmdr","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2024-09-04T16:34:27.000Z","updated_at":"2025-08-18T05:03:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"53d2475b-9b7f-4473-8189-f9c69c4e918d","html_url":"https://github.com/vectorcmdr/senzai-startpage","commit_stats":null,"previous_names":["vectorcmdr/senzai-startpage"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vectorcmdr/senzai-startpage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vectorcmdr%2Fsenzai-startpage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vectorcmdr%2Fsenzai-startpage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vectorcmdr%2Fsenzai-startpage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vectorcmdr%2Fsenzai-startpage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vectorcmdr","download_url":"https://codeload.github.com/vectorcmdr/senzai-startpage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vectorcmdr%2Fsenzai-startpage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275732384,"owners_count":25518096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bookmarks","css","html","javascript","js","senzai","startpage","startpages","task-list","task-list-app","tasks","todo","todo-list","todo-list-app","todolist"],"created_at":"2025-09-18T08:00:18.154Z","updated_at":"2025-09-18T08:00:21.327Z","avatar_url":"https://github.com/vectorcmdr.png","language":"JavaScript","readme":"\u003ch1 align=\"center\"\u003e\n  🌱\u003ca href=\"https://start.vectorcmdr.xyz\"\u003eSENZAI\u003c/a\u003e StartPage\n\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \n[![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![Contributors][contributors-shield]][contributors-url]\n[![License][license-shield]][license-url] \n\n\u003c/div\u003e\n\n[issues-shield]: https://img.shields.io/github/issues/vectorcmdr/senzai-startpage?style=for-the-badge\u0026logo=gitbook\u0026color=fdac72\u0026logoColor=f5f5ef\u0026labelColor=2a262c\n[issues-url]: https://github.com/vectorcmdr/senzai-startpage/graphs/issues\n\n[contributors-shield]: https://img.shields.io/github/contributors/vectorcmdr/senzai-startpage?style=for-the-badge\u0026logo=github\u0026color=c5b4f8\u0026logoColor=f5f5ef\u0026labelColor=2a262c\n[contributors-url]: https://github.com/vectorcmdr/senzai-startpage/graphs/contributors\n\n[stars-shield]: https://img.shields.io/github/stars/vectorcmdr/senzai-startpage?style=for-the-badge\u0026logo=starship\u0026color=b9e48b\u0026logoColor=f5f5ef\u0026labelColor=2a262c\n[stars-url]: https://github.com/vectorcmdr/senzai-startpage/stargazers\n\n[license-shield]: https://img.shields.io/github/license/vectorcmdr/senzai-startpage?label=License\u0026style=for-the-badge\u0026logo=bookstack\u0026color=49d1e9\u0026logoColor=f5f5ef\u0026labelColor=2a262c\n[license-url]: https://github.com/vectorcmdr/senzai-startpage/blob/main/LICENSE.txt\n\n\u003ch3 align=\"center\"\u003e\n  \u003ca href=\"https://vectorcmdr.github.io/senzai-startpage\"\u003eLive Demo \u003c/a\u003e\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/preview.png\"/\u003e\n\u003c/p\u003e\n\n## 🔍 Overview\n\nA simple, customizable startpage with todo list support. Featuring the [**senzai theme**](https://vectorcmdr.github.io/senzai-theme/).\nDesigned for functionality and aesthetics with seamless hosting on GitHub Pages, based on [`dawn`](https://github.com/b-coimbra/dawn).\n\n### 💭 Goals\n\n- Senzai theme \u0026 style\n- Simplicity\n- 1080x960 compatible\n- Todo list\n- Adjustable banner images\n- Currency conversion rates\n- Usage tips\n- Dark \u0026 light mode\n\n## 🚀 Usage\n\n1. Fork the repo and host via GitHub pages deployment, or clone and run locally.\n2. Navigate to the page and press \u003ckbd\u003ec\u003c/kbd\u003e to bring up the builtin editor to change it to your preferences, such as:\n   - Disable components you don't want to use\n   - Set the desired tab number font/language\n   - Set your location for the weather widget\n   - Change the clock format and icon color\n   - Change the currency conversion display\n   - Change the calendar link\n   - Change the available search engines\n   - Change keybindings\n   - Enable last visited category tab on load\n   - Update the number of category tabs and their names\n   - Change category tab banners and their image position and scale\n   - Update the bookmarks and links for the one you want to use\n   - Change the icons, names and colors of those bookmarks\n\n\u003ci\u003eAlternatively, you can manually update [`userconfig.js`](userconfig.js) to match your preferences\u003c/i\u003e\n\n\u003e [!TIP]\n\u003e Clicking the blue information icon before the tab numbers provides a popup with usage tips.\n\u003e\n\u003e The bookmarks / links can be chosen from those available at [`tabler-icons`](https://tabler.io/icons).\n\u003e\n\u003e Supports a maximum of 6 category tabs.\n\u003e\n\u003e Additional banner images can be added by placing image files into [banners](src/img/banners) locally and adding them to `background_url` for that tab.\n\u003e\n\u003e Some software supports launching via URI and can be added as links (such as Discord and Steam via `discord://open/` and `steam://open/` respectively).\n\u003e\n\u003e The currency conversion API is rate limited to once a day (by the codebase, not the provider).\n\u003e\n\u003e The page can be toggled between dark and light via the toggle located at the top left of the page.\n\u003e\n\u003e Todo and preferences in page are stored locally, in browser. Using a different browser or device is an independant session.\n\n### ⌨️ Keybinds\n* \u003ckbd\u003ec\u003c/kbd\u003e Open config editor\n* \u003ckbd\u003ealt\u003c/kbd\u003e + \u003ckbd\u003eNumbers row (1-6)\u003c/kbd\u003e Switch tabs\n* \u003ckbd\u003et\u003c/kbd\u003e Open the create task panel\n* \u003ckbd\u003eEnter\u003c/kbd\u003e Create a task\n* \u003ckbd\u003eTab\u003c/kbd\u003e Go to next field\n* \u003ckbd\u003eEsc\u003c/kbd\u003e Close the edit/create task panel (when field is focused)\n* \u003ckbd\u003es\u003c/kbd\u003e Open the search dialog\n  - Type \u003ckbd\u003e!g\u003c/kbd\u003e before your search query for Google\n  - Type \u003ckbd\u003e!d\u003c/kbd\u003e before your search query for DuckDuckGo\n  - Type \u003ckbd\u003e!y\u003c/kbd\u003e before your search query for YouTube\n  - Type \u003ckbd\u003e!w\u003c/kbd\u003e before your search query for Wikipedia\n\n### 🏠 As Homepage\n\n- Click your browsers menu button and select `Settings/Options/Preferences`\n- Use the search, or navigate to homepage and new windows selection\n- Click the menu next to the homepage and new windows selection and choose a custom URLs\n- Enter your GitHub Pages link, or local file link\n\n### ➕ As New Tab\n\nUnfortunately, you will need to use add-ons/extensions for this for most browsers.\n\n- For Gecko-based browsers (Firefox, Zen, etc.), use an addon such as [New Tab Override](https://addons.mozilla.org/en-US/firefox/addon/new-tab-override/) and point it to your page.\n- For Chromium-based browsers (Chrome, Brave, Edge, etc.), use an addon such as [Custom New Tab](https://chromewebstore.google.com/detail/custom-new-tab/lfjnnkckddkopjfgmbcpdiolnmfobflj) and point it to your page.\n\u003ci\u003eAlternatively, you can go to the extensions setting and turn on developer mode and load an unpacked extension. Select the root folder of your cloned repo.\u003c/i\u003e\n\n\n### 👨‍💻 Config Snippet Examples\n\u003cdetails\u003e\n\u003csummary\u003eFold out for examples of how to change the config code.\u003c/summary\u003e\n\n#### 🚫 Component Disabling\n\nTo disable a component module, put their name into the list of `disabled` components like so:\n\n```js\nconst CONFIG = new Config({\n    // ...\n    disabled: ['todo-list'] // currency-compare, current-time, weather-forecast, etc.\n});\n```\n\nThe names can be found listed in [`module.js`](src/common/module.js)\n\n#### ➕ Tabs\n\nCreate new tabs and categories like so:\n\n```js\nconst CONFIG = new Config({\n    // ...\n    tabs: [\n        {\n            name: 'chill',\n            background_url: 'src/res/banners/cc0/space.gif',\n            categories: [{\n                name: 'video',\n                links: [{\n                    url: 'https://youtube.com',\n                    name: 'youtube',\n                    icon: 'brand-youtube',\n                    icon_color: '#ff2d5e'\n                }]\n            }]\n        }\n    ]\n)\n```\n\n#### 🕙 Clock\n\nChange the clock format in the status bar using [strftime.org](https://strftime.org) format.\n\nConfig example (`userconfig.js`):\n\n```js\nconst CONFIG = new Config({\n  // ...\n  clock: {\n    format: 'h:i p',\n  }\n});\n```\n\n#### ⛅ Weather Info\n\nChange your location and temperature scale (celius, fahrenheit) like so:\n\n```js\nconst CONFIG = new Config({\n  // ...\n  temperature: {\n    location: 'Canberra, ACT',\n    scale: 'C'\n  }\n});\n```\nAlternatively, click on the weather widget on the page to swap between Celius and Fahrenheit.\n\n#### 💱 Currency Exchange\n\nChange your base currency and the two currencies to compare like so:\n\n```js\nconst CONFIG = new Config({\n  // ...\n  currencyconv: {\n      base: 'AUD',\n      baseamount: '1',\n      curone: 'USD',\n      curoneglyph: '$',\n      curtwo: 'JPY',\n      curtwoglyph: '¥',\n      url: 'https://www.google.com/finance/markets/currencies'\n  },\n});\n```\n\u003c/details\u003e\n\n### 🖼️ Tab Banners\n\nThe project ships with multiple banners for use.\n\nThere is a selection of CC0 images as well as some 'pop culture' gifs pulled from numerous gif sites (Giphy, Tenor, Imgur, etc.) that are obviously not owned by me and are used with the intent of fair and personal use only.\n\nAs mentioned in the usage tips, you can add your own custom images by adding them to the [banners](src/img/banners) directory and adding them to the [`userconfig.js`](userconfig.js), which allows you to change the relative positioning and absolute image scale.\n\nThe shipped CC0 images are:\n\n| forest.gif                                           | industrial.gif                                           | mountains.gif                                           |\n| ---------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------- |\n| \u003cimg src=\"src/img/banners/cc0/forest.gif\" width=175\u003e | \u003cimg src=\"src/img/banners/cc0/industrial.gif\" width=175\u003e | \u003cimg src=\"src/img/banners/cc0/mountains.gif\" width=175\u003e |\n\n| outrun.gif                                           | park.gif                                                 | space.gif                                               |\n| ---------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------- |\n| \u003cimg src=\"src/img/banners/cc0/outrun.gif\" width=175\u003e | \u003cimg src=\"src/img/banners/cc0/park.gif\" width=175\u003e       | \u003cimg src=\"src/img/banners/cc0/space.gif\" width=175\u003e     |\n\n| splash.gif                                           |\n| ---------------------------------------------------- |\n| \u003cimg src=\"src/img/banners/cc0/splash.gif\" width=175\u003e |\n\n\nThe shipped 'pop culture' images are:\n\n| beebop_01.gif                                                   | beebop_02.gif                                                   | eva_01.gif                                                    |\n| --------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------- |\n| \u003cimg src=\"src/img/banners/pop_culture/beebop_01.gif\" width=175\u003e | \u003cimg src=\"src/img/banners/pop_culture/beebop_02.gif\" width=175\u003e | \u003cimg src=\"src/img/banners/pop_culture/eva_01.gif\" width=175\u003e  |\n\n| eva_02.gif                                                      | eva_03.gif                                                      | eva_04.gif                                                    |\n| --------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------- |\n| \u003cimg src=\"src/img/banners/pop_culture/eva_02.gif\" width=175\u003e    | \u003cimg src=\"src/img/banners/pop_culture/eva_03.gif\" width=175\u003e    | \u003cimg src=\"src/img/banners/pop_culture/eva_04.gif\" width=175\u003e  |\n\n| gits_01.gif                                                     | gits_02.gif                                                     | gits_03.gif                                                   |\n| --------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------- |\n| \u003cimg src=\"src/img/banners/pop_culture/gits_01.gif\" width=175\u003e   | \u003cimg src=\"src/img/banners/pop_culture/gits_02.gif\" width=175\u003e   | \u003cimg src=\"src/img/banners/pop_culture/gits_03.gif\" width=175\u003e |\n","funding_links":["https://ko-fi.com/vector_cmdr"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvectorcmdr%2Fsenzai-startpage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvectorcmdr%2Fsenzai-startpage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvectorcmdr%2Fsenzai-startpage/lists"}