A minimalistic browser startpage with terminal-style interface, featuring keyboard navigation and customizable bookmarks. Built with Alpine.js for simplicity and lightweight performance.
- Terminal Aesthetics: Clean, text-based interface with monospace font
- Keyboard Navigation:
- Arrow keys to navigate entries and open links
- Letter keys to jump to entries
- Escape to go back
- Single File Implementation: Just one HTML file with no build dependencies
- Customizable Bookmarks: Easily edit the
bookmarks.jsonfile to add/remove entries - Responsive Design: Works on all screen sizes
- Clone this repository:
git clone https://github.com/chenxing-dev/startpage-alpine.git- Set as browser homepage:
- For qutebrowser, add to config.py:
c.url.start_pages = ["/path/to/startpage-alpine/index.html"]Bookmarks are loaded from the bookmarks.json file. Edit bookmarks.json to add, remove, or modify entries. Each entry should be an object with name, icon, and href fields, for example:
[
{
"name": "Example Site",
"icon": "⭐",
"href": "https://example.com"
}
]After editing, reload the page to see the changes.
This version uses Alpine.js instead of Svelte/Astro from the original startpage for:
- Zero build dependencies
- Single HTML file portability
- Smaller footprint (~331KB)
- Perfect for embedding in dotfiles
MIT License Copyright (c) 2025 chenxing-dev
