/excalith-start-page

Terminal-inspired, clean and customizable browser start page for geeks. Has built-in editor for customizing.

Primary LanguageJavaScriptMIT LicenseMIT

Excalith Start Page

This is an interactive start page for browsers, inspired from my terminal setup.

Vercel Status Demo Version (latest semver) GHCR Version (latest semver) Docker Version (latest semver)

Demo

You can check the working version from here

Warning This is a demo version and will be updated regularly, which might break your configurations. It is not recommended to use this version for your daily browsing. Please refer to wiki page for more information.

Features

  • Filter links by typing in the prompt
    • Quickly filter links by typing in the prompt. Hitting Enter will open all filtered links at once
    • If nothing filtered, the text in prompt will use the default search engine for searching your input
  • Launch websites directly from the prompt. Just type the URL (ie. github.com)
  • Search websites with custom commands. For example, type s some weird bug to search StackOverflow for some weird bug
  • Wallpaper support through URL with blur and fade effects
  • Customizable Fetch UI for fetching browser and system data, including custom image support
  • Multiple theme support (check all available themes)
  • Built-in configuration editor to easily edit and save your configuration

Please refer to configuration page for more information.

Built-In Commands

  • Show usage with help command (shows basic usage and your configured search shortcuts)
  • Show info with fetch command (time, date, system and browser data)
  • Update your configuration with config command
    • config help - Displays config command usage
    • config import <url> - Import configuration from a URL to your local storage
    • config theme - Lists all available themes
    • config theme <theme-name> - Switches between themes and sets your local configuration
    • config edit - Edit local configuration within editor
    • config reset - Reset your configuration to default

Key Bindings

  • Clear the prompt quickly with CTRL + C
  • Close window with ESC

Using

There are multiple ways of using this app. Here is a quick preview of them. For more information please refer to getting started page

Docker

Docker is the most convenient way to host the start page. You can either use the image from Docker Hub or Github Registry.

Using Docker Registry

Pull the latest image

docker pull excalith/start-page:latest

Run the image (change the port mapping of 8080 into something you want)

docker run --name start-page --restart=always -p 8080:3000 -d excalith/start-page
Using Github Registry

Pull the latest image

docker pull ghcr.io/excalith/excalith-start-page:latest

Run the image (change the port mapping of 8080 into something you want)

docker run --name start-page --restart=always -p 8080:3000 -d ghcr.io/excalith/excalith-start-page

Clone

You can clone this repository and host it on your own server.

  1. Clone this repository
  2. Run yarn dev command to test it
  3. Modify the startpage.config.js to your liking
  4. Host somewhere (Vercel, Netlify, etc.) or run locally

Remote Config Import

If you still prefer to use the online version, I would recommend you to use the remote configuration import feature. This feature allows you to import your configuration from a URL. This way, you will always have a backup file of your configuration. Please refer to getting started page for more information.

Customization

There are multiple ways of customizing the start page to making it yours! Please refer to configuration and themes pages for more information.

How To Contribute

Please feel free to contribute any way you can. Just keep in mind that you should pay attention to contributing guideline before contributing.

License

The code is available under the MIT license.