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. https://calvinchd.gitlab.io/no-page-like-homepage

Stale Pure Nim score 23/100 · last commit 2024-09-13 · 2 stars · tests present · no docs generated

Summary

Latest Version Unknown
License Unknown
CI Status Failing
Stars 2
Forks 0
Open Issues 0
Last Commit 2024-09-13
Downloads 0
Last Indexed 2026-09-06 06:05

Installation

nimble install No page like homepage
choosenim install No page like homepage
git clone https://gitlab.com/calvinchd/no-page-like-homepage

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
No page like homepage - - - - - - -

README

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