/No-Page-like-Homepage

Minimal, simple and fast homepage, start page or new tab page. Time display, personal greeting, search bar (DuckDuckGo), custom sites/links list and dark/light modes. Mirrored from https://gitlab.com/calvinchd/no-page-like-homepage. Try at https://calvinchd.gitlab.io/no-page-like-homepage

Primary LanguageJavaScriptThe UnlicenseUnlicense

No page like homepage

pipeline status

A minimal and simple desktop homepage, startpage and/or new tab page. It is not made for or tested on mobile devices.

Features

  • Basic clock and date in ISO 8601 format.
  • DuckDuckGo search
  • Personalised greetings
  • Custom link shortcuts
  • Toggle light and dark mode
  • Disable uneeded/unused features
  • Keyboard shortcuts for links

Configuration

custom.js stores the user's name and links:

  • The name is only used for the personalised greeting
const userName = "John Smith";
  • Enable\Disable features
//0b | Theme | Clock | Date | Greeting | Search | Links
const feats = 0b000000; // set bit to 1 to disable
// 0b111000 to disable theme, clock and date
  • Theme management
// Directory themeLight and themeDark is stored
const themeDir = "styles/themes/";
// .css is appended to the end for both themeLight & themeDark
const themeLight = "gruvbox-light";
const themeDark = "gruvbox-dark";
  • Set up link shortcuts, columns, rows and color codes for each link.
const linksGroups = [[
	{
		"header": "Row1Col1", // column header
		"links": [
			{
				"name": "Link1",
				"url": "https://www.link1.com/",
				"color": "012345", // hex color codes, # not needed
				"shortKey": "q" // manually bound keys
			},
			{
				"name": "Link2",
				"url": "https://link2.com/",
				"color": "6789AB"
				"shortKey": "Q" // captial chars (Shift+Q)
			}
		]
	},
	{
		"header": "Row1Col2",
		"links": [
			{
				"name": "Link3",
				"url": "https://link3.com",
				"color": "CDEF01"
				"shortKey": "" // prevent key from being bound automatically
			}
		]
	}
], // new row
[
	{
		"header": "Row2Col1",
		"links": [
			{
				"name": "Link4",
				"url": "https://link4.com/",
				"color": "234567B0" // With transparency
				// Key for this link will be automatically bound
			}
		]
	}
]];
  • Localisation configuration
const localeStrings = [
	"Good morning", // 05:00-11:59 greeting
	"Good afternoon", // 12:00-17:59 greeting
	"Good evening", // 18:00-23:59 greeting
	"Good night", // 00:00-04:59 greeting
	", ", // Greeting and name separator
	"DuckDuckGo...", // Search box placeholder
	"Home", // Page title
];
  • Configure allowed keys for auto key shortcuts
// Case sensitive accepts capital letters
const autoBindKeys = "1234567890qwertyuiop[]asdfghjkl;\'zxcvbnm,.QWERTYUIOOPASDFGHJKL:\"ZXCVBNM<>?";

Credits

Gruvbox colour palette - MIT/X11

Open Sans font - Apache License, Version 2.0