Giter VIP home page Giter VIP logo

terminal-startpage's Introduction

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!

Warning: 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
  • 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> - 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

  • 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. Here is a quick preview of them. For more information please refer to getting started page

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.

  1. Fork this repository
  2. Modify the startpage.config.js for the default configuration
  3. If you want, you can change the source code to your like as well (optional)
  4. Run yarn dev command to test it
  5. Host locally, create docker image, or deploy to a server

Docker

Docker is another 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

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

You can pretty much customize everything! Please refer to configuration and themes 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.

terminal-startpage's People

Contributors

excalith avatar apetl avatar redxtech avatar marco-debortoli avatar nitrosniper avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.