|
|
1 month ago | |
|---|---|---|
| docs | 1 month ago | |
| README.md | 1 month ago | |
| compose.yaml | 1 month ago |
A minimal, keyboard-driven browser startpage with bookmark management and customizable themes.
bash
git clone https://github.com/aaaooai/startpage.git
cd startpage
docs/index.html in your browserYou can run the startpage locally using Docker or Podman:
Using Docker Compose or Podman Compose:
docker compose up -d
# or
podman compose up -d
Using Docker or Podman directly:
# Docker
docker run --rm -it -v ./docs:/usr/share/nginx/html -p 8000:80 nginx:latest
# Podman
podman run --rm -it -v ./docs:/usr/share/nginx/html:Z -p 8000:80 docker.io/nginx:latest
Then access at http://localhost:8000
The startpage is designed to work with GitHub Pages:
docs folder as the sourcehttps://<username>.github.io/<repository>/github.com) to open it directly↑ and ↓All commands start with : and support autocomplete:
:list - Show all bookmarks:config - Open settings page:bookmark - Edit bookmarks:export - Export settings and bookmarks as JSON:import - Import settings and bookmarks from JSON:help - Show keyboard shortcuts:reset - Reset all settings to default (with confirmation)Access the bookmark editor with :bookmark or navigate to bookmarks.html.
+ button between bookmarks to insert at that positiondev, code, web)≡ handle on the right× button in the top-right corner of any bookmarkAccess settings with :config or navigate to config.html.
Tip: Use blur and mask to improve text readability over background images
Enter your preferred search engine URL with query parameter, e.g.:
https://www.google.com/search?q=https://duckduckgo.com/?q=https://www.startpage.com/search?q=All settings are previewed in real-time and saved automatically.
You can share your configuration and bookmarks across devices using Git:
:exportdocs/data.jsonbash
git add docs/data.json
git commit -m "Update shared configuration"
git push
:reset to clear localStorage, then reload to use the shared configuration:export commandstartpage-export-YYYY-MM-DD.json:import command:reset commandstartpage/
├── docs/
│ ├── index.html # Main startpage
│ ├── config.html # Settings page
│ ├── bookmarks.html # Bookmark editor
│ ├── script.js # Main application logic
│ ├── style.css # Shared styles
│ └── data.json # Default configuration and bookmarks (fallback)
├── compose.yaml # Docker Compose configuration
└── README.md
The data.json file contains both configuration and bookmarks:
{
"config": {
"backgroundColor": "#000000",
"textColor": "#ffffff",
"accentColor": "#4a9eff",
"searchEngine": "https://www.startpage.com/search?q=",
"backgroundImage": "",
"backgroundBlur": 0,
"maskColor": "#000000",
"maskOpacity": 60
},
"bookmarks": [
{
"name": "GitHub",
"url": "https://github.com",
"tags": ["dev", "code"]
}
]
}
This matches the export format, making it easy to share configurations via Git.
| Key | Action |
|---|---|
Type |
Auto-focus search and filter bookmarks |
: |
Show command suggestions |
↓ / ↑ |
Navigate results |
Enter |
Open bookmark / Execute command / Search |
Esc |
Clear input / Close help |
MIT License - Feel free to modify and use as you wish.