/monica-start-page

Terminal-inspired, clean, feature-rich 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 explore the working version here. To get inspired by community members' configurations, visit the Showcase in discussions!

Important

This is a demo version and will be updated regularly, which might break your configurations. It is not recommended for daily browsing. Please refer to the 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
  • Terminal window opacity and translucency effects
  • Customizable Fetch UI for fetching browser and system data, including custom image support
  • Autosuggest and Autocomplete support just like zsh and fish
  • Cycle through filtered links back and forth
  • 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> - Imports a configuration from URL
    • 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

  • Use to auto-complete the suggestion
  • Search without auto-complete with CTRL + ENTER
  • Cycle through filtered links using TAB and SHIFT + TAB
  • Clear the prompt quickly with CTRL + C
  • Close windows with ESC

Using

There are multiple ways of using this app explained in details on getting started wiki page. Here is a TLDR:

Fork

You can fork this repository and have direct control over the source code. This is the best way to customize the start page to your liking. Then you can create Docker images, deploy on your server or serve it locally. Check out the Fork Wiki Page for more information.

Docker Image

Using a Docker image is another convenient way to use the start page. You can either use the image from Docker Hub or Github Registry. Currently supports both amd64 and arm64 images. Check out the Docker Wiki Page for more information.

Online Version

You can use the Online Version (aka. preview version) as well. However, since this is the preview of the project with constant updates, it might break your configurations. I would recommend building your own fork instead. Check out the Online Version Wiki Page for more information.

Customization

This project, at its heart, supports customization to better suit your desktop environment. There are three methods to personalize the project according to your preferences:

You can either

  • Method 1: Configure your fork by editing settings.json file
  • Method 2: Use config edit command to edit on the fly, by built-in json editor
  • Method 3: Use config import <url> command to import your remote config file from your dotfiles repository

Check out the Configuration and Themes wiki pages for more information regarding themes and configuration options.

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. Feel free to copy, modify, and distribute the code as you wish, but please keep the original license in the files. Attribution is appreciated and will definetely help improving this project.