2020-06-10 13:12:53 +02:00
## A bloated and modern-looking startpage
2020-06-04 09:59:06 +02:00
2020-06-10 13:12:53 +02:00
[![maintained ](https://img.shields.io/maintenance/yes/2020?label=maintained&style=flat-square )](https://github.com/manilarome/the-glorious-startpage/commits/master) [![contributions ](https://img.shields.io/badge/contribution-welcome-brightgreen&?style=flat-square )](https://github.com/manilarome/the-glorious-startpage/pulls) [![HitCount ](http://hits.dwyl.com/manilarome/the-glorious-startpage.svg )](http://hits.dwyl.com/manilarome/the-glorious-startpage)
2020-06-04 09:59:06 +02:00
## [Live Preview](https://manilarome.github.io/the-glorious-startpage/)
## Gallery
2020-06-11 06:25:52 +02:00
< div align = 'center' >
< h3 >
< img src = '/scrots/idle.png' align = 'center' >
< / h3 >
< / div >
2020-06-04 09:59:06 +02:00
2020-06-11 06:25:52 +02:00
| Search Autosuggestion | Settings |
2020-06-04 09:59:06 +02:00
| --- | --- |
2020-06-11 06:25:52 +02:00
| ![screenshot ](/scrots/autosuggestion.png ) | ![screenshot ](/scrots/settings.png ) |
2020-06-04 09:59:06 +02:00
| Web Menu | Weather Forecast |
| --- | --- |
2020-06-11 06:25:52 +02:00
| ![screenshot ](/scrots/webmenu.png ) | ![screenshot ](/scrots/weather.png ) |
2020-06-04 09:59:06 +02:00
## Features
+ Responsive UI
2020-06-09 10:47:56 +02:00
+ Web Search Suggestions
2020-06-04 09:59:06 +02:00
+ Mobile Support with Swipe Gestures
+ Theme Settings - Change colors on-the-fly
2020-06-12 12:26:39 +02:00
+ Weather Forecast - OpenWeatherMap and Geolocation Integration
2020-06-09 10:47:56 +02:00
+ Search Engine Selection
2020-06-04 09:59:06 +02:00
+ Dynamic Background
2020-06-09 10:47:56 +02:00
+ Web Menu with Fuzzy Search
2020-06-04 09:59:06 +02:00
+ Keyboard Navigation
2020-06-09 10:47:56 +02:00
+ Vanilla Javascript!
2020-06-04 09:59:06 +02:00
+ And many bugs!
## Keybindings
2020-06-06 05:34:20 +02:00
+ < kbd > alt + S< / kbd > - toggles dashboard
+ < kbd > alt + E< / kbd > - toggles web menu
+ < kbd > alt + X< / kbd > - toggles weather screen
2020-06-04 09:59:06 +02:00
+ < kbd > Escape< / kbd > - close panels/toggles web menu
+ < kbd > Backspace< / kbd > - toggles search box
2020-06-06 05:34:20 +02:00
## Swipe gestures
+ < kbd > swipe right< / kbd > - opens web menu
+ < kbd > swipe left< / kbd > - opens dashboard
+ < kbd > swipe up< / kbd > - opens weather screen
+ < kbd > swipe down< / kbd > - opens search box
2020-06-05 02:17:04 +02:00
## Customization and Settings
2020-06-04 09:59:06 +02:00
2020-06-10 13:12:53 +02:00
#### Changing the colors, blur strength, and animation speed on-the-fly
2020-06-04 09:59:06 +02:00
2020-06-05 02:07:46 +02:00
+ Open the dashboard by clicking the settings button on the dock.
+ Change the color and blur strength by setting it on the `Theme Engine` section.
2020-06-10 10:35:39 +02:00
+ Color settings supports `#RGB` , `#RRGGBB` , and `#RRGGBBAA` .
+ Blur strength settings only allows integer with `px` suffix.
+ Animation speed supports `s` and `ms` .
2020-06-04 09:59:06 +02:00
2020-06-05 02:07:46 +02:00
#### Adding more buttons on the web menu
2020-06-09 04:02:03 +02:00
Add more buttons or web shortcuts in web menu by editing the `webSites` array in `js/config.js` . Make sure to put an icon with `svg` format for the shortcut in `assets/webcons/` folder.
2020-06-04 09:59:06 +02:00
2020-06-05 02:07:46 +02:00
```js
2020-06-10 03:09:43 +02:00
const webSites = [
2020-06-05 02:07:46 +02:00
{
site: 'Reddit',
icon: 'reddit',
url: 'https://reddit.com/',
category: 'social'
},
...
]
```
2020-06-04 09:59:06 +02:00
2020-06-05 02:07:46 +02:00
#### Adding more buttons on the dock
2020-06-04 09:59:06 +02:00
2020-06-09 04:02:03 +02:00
To add more web shortcuts/buttons in the dock, you have to edit the `dockSites` array in `js/config.js` . Make sure to put an icon with `svg` format for the shortcut in `assets/webcons/` folder.
2020-06-05 02:07:46 +02:00
```js
2020-06-10 03:09:43 +02:00
const dockSites = [
2020-06-05 02:07:46 +02:00
{
site: 'Reddit',
icon: 'reddit',
url: 'https://reddit.com/'
},
...
]
```
2020-06-10 03:09:43 +02:00
#### Adding more search engine in selection
Add more search engine in selection by editing the `searchEngines` object in `js/config.js` . Make sure to follow the format below:
```js
const searchEngines = {
'duckduckgo': {
name: 'Duckduckgo',
prefix: 'https://duckduckgo.com/?q='
},
...
}
```
2020-06-05 02:07:46 +02:00
#### Set your OpenWeatherMap API key
2020-06-10 13:12:53 +02:00
Setting up your OpenWeatherMap credential is a breeze.
2020-06-05 02:07:46 +02:00
+ If you don't have an API key, follow this guide:
2020-06-04 09:59:06 +02:00
How to get a credentials for the weather forecast?
- OpenWeatherMap is the weather provider, so go to OpenWeatherMap's [website ](https://home.openweathermap.org/ ).
2020-06-05 02:07:46 +02:00
- Register, log-in, and then go [here ](https://home.openweathermap.org/api_keys ) to generate your very own API keys.
2020-06-12 12:26:39 +02:00
+ After this you can choose two locator modes - `Geolocation` and `City` .
+ In City Mode, you have to get your City ID in OpenWeatherMap website.
+ While `Geolocation` mode offers GPS tracking. You don't need to get an ID. Note that you must allow the location permission request.
+ Put your API key in the `Weather Settings` .
+ It's recommended to still put your City ID if you plan to use the `geolocation` mode.
2020-06-05 02:07:46 +02:00
+ Apply.
2020-06-12 12:26:39 +02:00
**Note:**
2020-06-13 00:41:43 +02:00
+ If you're using firefox and you're planning to use the `geolocation` , make sure to set the value of `geo.provider.network.url` to `https://location.services.mozilla.com/v1/geolocate?key=test` in `about:config` . *Google changed its policies, so now it requires a valid API key when accessing their geolocation service. This tells us that you need a valid API key in place of* `%GOOGLE_LOCATION_SERVICE_API_KEY%` . < sup > [Citation](https://stackoverflow.com/questions/61032115/unknown-error-acquiring-position-geolocationpositionerror-code-2-firefox-linux).</ sup >
+ If you're on mobile, make sure to enable your GPS and allow the location permission if you want to use `geolocation` .
2020-06-12 12:26:39 +02:00
2020-06-12 12:52:39 +02:00
+ If you just set the startpage locally, the location permission will always pop-up even if you already accept/denied it. It's better to run it on a web server.
2020-06-13 00:41:43 +02:00
2020-06-05 02:07:46 +02:00
#### Changing the default search engine
2020-06-10 13:12:53 +02:00
Google is the default search engine of the search bar, if you want to change it to DuckDuckGo or something:
2020-06-05 02:07:46 +02:00
+ Open the dashboard by clicking the settings button on the dock.
+ Find the `Search Engine` section and select your preferred search engine.
+ Set it as default.
2020-06-04 09:59:06 +02:00
2020-06-05 02:07:46 +02:00
#### Changing the profile picture
2020-06-10 13:12:53 +02:00
+ Replace the `user.png` image file in `assets/` .
2020-06-05 02:07:46 +02:00
2020-06-09 04:02:03 +02:00
#### Changing the background image
The background image changes based on time.
+ Change the background images in `assets/backgrounds/` .
2020-06-09 10:47:56 +02:00
+ Make sure that it is in a `webp` format.
2020-06-09 04:02:03 +02:00
+ A lower resolution of each images are also required.
2020-06-05 02:07:46 +02:00
#### Keybindings
+ You can add, replace, or remove a keybinding by editing `js/keybindings.js` .
### Important Note
2020-06-11 04:52:37 +02:00
+ Make sure that javascript is enabled!
2020-06-10 13:12:53 +02:00
+ If you're using firefox and blur effect is not enabled, open `about:config` , accept the risks, find `layout.css.backdrop-filter.enabled` , and set it to true to enable it. Refresh the startpage.
2020-06-04 09:59:06 +02:00
2020-06-12 12:26:39 +02:00
+ If you're using firefox and planning to use the geolocation, set the value of `geo.provider.network.url` to `https://location.services.mozilla.com/v1/geolocate?key=test` in `about:config` .
2020-06-04 09:59:06 +02:00
+ The code could be better, this is my first time writing a startpage from the ground up. I will improve this from time to time.
2020-06-05 02:07:46 +02:00
+ Found a bug, error or do you have a suggestion? Feel free to open an issue or pull request.
2020-06-04 09:59:06 +02:00
+ Tested only on Firefox and Google Chrome.
2020-06-05 02:07:46 +02:00
### TODO
2020-06-09 10:47:56 +02:00
- [x] GUI Settings
2020-06-05 02:07:46 +02:00
- [x] Weather Forecast
- [x] Dynamic Background
2020-06-09 10:47:56 +02:00
- [x] Cleaner code< sup > WIP</ sup >
- [x] Keyboard navigation
2020-06-13 02:27:30 +02:00
- [x] Swipe gestures for mobile