# StartTree A terminal-style home page replicating the tree command.

# 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 ```yaml 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 ```bash 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` and you should 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 `