Skip to content

A terminal-style home page replicating the tree command .

Notifications You must be signed in to change notification settings

ihadouken/StartTree

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StartTree

A terminal-style home page replicating the tree command, modified from this start page, which no longer exists.

Usage

Installation

To install StartTree for the first time, run the following commands:
(Note: If the ~/.config/StartTree directory already exists, init.sh will not copy the example config to prevent accidentally overwriting a custom config. )

git clone https://github.com/Paul-Houser/StartTree.git
cd StartTree
chmod +x init.sh
chmod +x generate.py
./init.sh
./generate.py

This will create the directory ~/.config/StartTree containing the default config.yaml, install starttree.py to your $PATH, as well as generate the html/css, which you can view by pointing your browser at $HOME/.cache/StartTree/index.html.

Config

The config should be placed in ~/.config/StartTree/config.yaml

Updating the HTML

To re-generate the html/css after editing the config, execute starttree.py from any directory.

Example Config

font_size: 22 # specify font size
theme: void # specify the name of a theme in the themes/ directory, or use 'pywal'
tree_1: # each column should be named 'tree_X' where X is unique for each tree.
  general: # Header name
    github: "https://www.github.com/" # Link-text: url
    gmail: "https://mail.google.com/"
  reddit:
    # the following is an example of naming a link something with a space,
    # or containing characters that cannot be in a yaml variable name.
    frontpage: 
      - "https://www.reddit.com/"
      - "front page" # 
    unixporn: "https://www.reddit.com/r/unixporn/"
tree_2:
  other:
    archwiki: 
      - "https://archlinux.org/"
      - "arch wiki"
    hulu: "https://www.hulu.com/"
    netflix: "https://www.netflix.com/"
    youtube: "https://www.youtube.com/"

Themes

A variety of themes can be found in the themes directory.

If one wishes to dynamically theme from pywal, they may select pywal as their chosen theme in config.yaml.

Docker

In order to circumvent some restrictions on browsers for what is allowed as a "Home" and "New Tab" page, you can host StartTree as a lightweight NGINX server through docker-compose.

To set this up, one must have docker and docker-compose installed and configured. Then, go into the directory where you cloned StartTree, and run

cd docker
vim docker-compose.yaml # edit specifics to your liking
docker-compose -f docker-compose.yaml up -d

This will make the NGINX server persist across reboots. You can point your browser's new tab and home page to localhost:p<port#> and you should see your startpage!

NOTE:

Currently, docker is unaware if a file changes on the fly (like generating a new colorscheme or adding new shortcuts), so you have to restart the container with

docker-compose -f docker-compose.yaml restart <servicename>

About

A terminal-style home page replicating the tree command .

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 61.9%
  • Python 23.5%
  • Shell 11.3%
  • HTML 3.3%