browserStartpage
browserStartpage copied to clipboard
Build your own cross-browser speed-dial to sync via iCloud, Dropbox or your own solution.
browserStartpage
Are you switching browsers often? Are you tired, that every browser uses it's own speeddial and you can't import that in your new browser? The solution: host your own speeddial with this repo! This is especially useful if you need/want to share a of bunch links with friends or colleagues.
How does it work?
Just place the folder /htdocs on your own webserver. Make sure it supports php - this is the only requirement.
Want a demo?
https://demo.saschadiercks.de/startpage/
Read more about it here (in german): https://saschadiercks.de/projekte/browserstartpage/

Setup your own links
The browserStartpage comes with a default list of links, to show you how it works. It shows up with a list of popular browsers and some development-ressources. You change that. Just head over to /htdocs/data/data.json and play with that file. You can edit the tabs and links to your own liking. Just play with it - it's quite self explanatory. All you need to do is to create images for your links and place them on your server too. Usually here /htdocs/assets/thumbnails.
You can setup the usage of serviceworkers or define your own wallpaper in the json (on the top of the file).
New
Add a hash to the url to open tabs via direct call like so: yourUrl#tab-1
You can just click on the desired tab and copy the url.
Features
- call tabs via hash
- easy configurable Speeddial via json
- easily add bookmarks via json
- only requires php on your server
- uses vanillaJS
- uses apllicationCache to minimize traffic (it even works offline, after first visit)
- uses localStorage to store last opened tab
Planned Features
- allow theming (see Hints & Tips)
- allow onsite-editing so you don't have to fiddle with the json-file
- allow static export of content to sync via Dropbox, iCloud or wathever
Further insights (want to help building this?)
/src/manifestsDocker is used as a local development-environment/src/scssthe development files to build the CSS (via gulp)/src/jsthe development JS to compile the JS (via gulp)/src/datadummy-datafile. Use/htdocs/data/data.jsonfor local development/htdocs/startpage.manifest.phpautomatic generation of application cache/htdocs/index.phpthe speeddial itself/htdocs/assets/csscompiled css-files (uesd live)/htdocs/assets/jscompiled js-files (uesd live)/htdocs/assets/thumbnailsstore your link-images here
Usage of docker (preferred)
- install docker on your machine (https://docs.docker.com/get-docker/)
- head to the local repository and run
docker-compose up - Wait a while until all components are loaded an the box is running. (The first start can take a while)
- visit (http://127.0.0.1:8080/)
Usage of Vagrant
- install vagrant on your machine (https://www.vagrantup.com/)
- install Virtualbox (https://www.virtualbox.org/wiki/Downloads)
- head to your local repository an enter
vagrant up - Wait a while until all components are loaded an the box is running. (The first start can take a while)
- visit (http://127.0.0.1:8080/)
Usage of gulp
- Make sure, you have node.js installed on your computer (https://nodejs.org/en/)
- run
npm install gulp-cli -gto install gulp - run
npm installto install gulp in your project - use
gulp buildto compile the css and minify Javascript for production (without sourcemaps) and imagemin - use
gulp updateto compile the css and Javascript for development - use
gulp servestart the server for local development (localhost:8080) - use
gulp stopstop the server - use
gulp rebootrestart the server and build assets
Always run gulp buildbefore deploying assets
Hints & Tips
- Change the Wallpaper by changing the value of variable
wallpaperin/data/data.json(at the top of the document) - Do you want every link to be opened in a new tab? Change the value of
linktargetin /data/data.json to a desired value. e.g._blank - if you want to change the look of the page, you can find more information in
src/scss/7-utilities/your-theme.scss