diff --git a/README.md b/README.md index 04fddab..06f51c0 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,9 @@ To install StartTree for the first time, run the following commands: ``` git clone https://github.com/Paul-Houser/StartTree.git cd StartTree -./init.py +chmod +x init.sh +chmod +x generate.py +./init.sh ./generate.py ``` This will create the directory `~/.config/StartTree` containing the default `config.yaml`, as well as generate the html/css, which you can view by pointing your browser at `$HOME/.cache/StartTree/index.html`. diff --git a/init.py b/init.py deleted file mode 100755 index cc68948..0000000 --- a/init.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/python3 - -import yaml -import os -from os.path import expanduser -from shutil import copyfile -from bs4 import BeautifulSoup -import sys -import subprocess - -# Install dependencies -subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'bs4']) - -# get home directory -home = expanduser("~") - -# get config path -config_dir = home + '/.config/StartTree' -config_path = home + '/.config/StartTree/config.yaml' - -# get cache path -cache_dir = home + '/.cache/StartTree' - -def setup(): - # check if .config path exists - if not os.path.isdir(home + '/.config'): - print("The directory '~/.config' does not exist, or you do not have permissions to edit it.") - exit() - - if not os.path.isdir(home + '/.cache'): - print("The directory '~/.cache' does not exist, or you do not have permissions to edit it.") - exit() - - # check if .config/StartTree exists, create it and config if not - if not os.path.isdir(config_dir): - print("Creating '~/.config/StartTree'...") - os.mkdir(config_dir) - print("Copying config.yaml") - copyfile("./config.yaml", config_path) - print("") - - # check if config.yaml exists - if not os.path.exists(config_path): - print("No config.yaml found in '~/.config/StartTree'") - print("Copy the example config with:") - print("\tcp ./config.yaml $HOME/.config/StartTree/config.yaml") - print("or create your own in that directory.") - exit() - - # create directory structure in .cache - if not os.path.isdir(cache_dir): - print("Creating '" + cache_dir + "'...") - os.mkdir(cache_dir) - - print("symlinking themes") - os.symlink(os.getcwd() + '/themes', home + '/.cache/StartTree/themes') - - print("Creating '" + cache_dir + "/styles'") - os.mkdir(cache_dir + '/styles') - - print("Creating style.css") - copyfile("./skeletons/style.css", cache_dir + '/styles/style.css') - - print("Creating Hack.ttf") - copyfile("./skeletons/Hack.ttf", cache_dir + '/styles/Hack.ttf') - - -def main(): - setup() - -if __name__ == '__main__': - main() diff --git a/init.sh b/init.sh new file mode 100755 index 0000000..735f42a --- /dev/null +++ b/init.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +config_dir=$HOME/.config/StartTree +config_path=$HOME/.config/StartTree/config.yaml +cache_dir=$HOME/.cache/StartTree + +pip install --user bs4 + +# check if .config path exists +if [ ! -d "$HOME/.config" ]; then + echo "The directory '~/.config' does not exist, or you do not have permissions to edit it." + exit +fi + +# check if .cache path exists +if [ ! -d "$HOME/.cache" ]; then + echo "The directory '~/.cache' does not exist, or you do not have permissions to edit it." + exit +fi + +# check if .config/StartTree exists, create it and config if not +if [ ! -d "$config_dir" ]; then + echo "Creating '~/.config/StartTree'..." + mkdir $config_dir + echo "Copying config.yaml..." + cp ./config.yaml $config_path + echo +fi + +# check if config.yaml exists +if [ ! -f "$config_path" ]; then + echo "No config.yaml found in '~/.config/StartTree'" + echo "Copy the example config with:" + echo "\tcp ./config.yaml $HOME/.config/StartTree/config.yaml" + echo "or create your own in that directory." + exit +fi + +# create directory structure in .cache +if [ ! -d "$cache_dir" ]; then + echo "Creating '$cache_dir'..." + mkdir $cache_dir + + echo "Symlinking themes..." + ln -s $(pwd)/themes $HOME/.cache/StartTree/themes + + echo "Creating '$cache_dir/styles'..." + mkdir "$cache_dir/styles" +fi + +echo "Creating style.css..." +cp "./skeletons/style.css" "$cache_dir/styles/style.css" + +echo "Creating Hack.ttf..." +cp "./skeletons/Hack.ttf" "$cache_dir/styles/Hack.ttf"