#+TITLE: Trackers * About The scripts in this repository take information from a structured set of =.org= files and use them to build static webpages that track various activities (so far, gaming and travelling). These pages can be used as a replacement for third-party services e.g. Backloggery. * Dependencies - =geopy= if you are tracking places visited (install via pip) - =orgparse= (install via pip) - =python3= - =rclone= (for syncing to the server) * General setup ** Structure of the .org files See =demo.org= for an example. ** Setting the variables Rename =variables-template.py= to =variables.py= and edit: - =orgpath=: absolute path to the root directory in which =.org= files are stored, including trailing slash - =localpath=: absolute path to this directory, including trailing slash - =domain=: =https://yourdomain.tld= without trailing slash - =rclonesiteroot=: path =rclone= uses to access your webserver * Tracking games with a backloggery clone ** Setup *** Fonts Upload the fonts Lato, Titillium Web, and Material Icons to the directory =/fonts= on your server (I recommend [[https://gwfh.mranftl.com/fonts][google-webfonts-helper]]). Check the filenames are consistent with those in =gamebuild/backloggery.css=. Alternatively, you can load the fonts remotely and adjust the page head HTML generated by =gameskel.py=. *** Setting the variables In =variables.py=, edit: - =trackgames=: set to =True= - =gameserverpath=: path to directory on the server where files will be uploaded, including trailing slash - =endlessgames=: a list of “endless” games in the format =title (console)= - =description=: content for the “about” section (can include HTML tags) - =gamestartyear=: year from which to begin tracking (an integer) - =gamehue=: theme colour expressed as a hue from 0 to 360 - =consoles=: add or remove consoles following the format provided (=.png= images must be added to the build directory with a filename corresponding with the value of ="img"= for each console) ** Testing - Run =python3 generategames.py local= to build in =gamebuild=. * Tracking places visited using Leaflet ** Setup Upload a CSS file to the server if necessary. Most CSS is set by Leaflet. *** Setting the variables In =variables.py=, edit: - =trackplaces=: set to =True= - =placeserverpath=: path to directory on the server where files will be uploaded, including trailing slash - =placestartyear=: year from which to begin tracking (an integer) - =placecss=: location of the CSS file you wish to apply, relative to the site root ** Testing - Run =python3 generateplaces.py local= to build in =placebuild=. (This may take some time.) - Check whether places are displayed accurately in the output file. If not, add regions/countries to disambiguate any incorrectly displayed places to the =disambig= dictionary in =variables.py= (see examples). * First run (or if adding any new trackers) - Run =python3 init.py= and then =chmod +x build.sh=. - Create directories on the server corresponding to any =*serverpath= variables you have set. * Building - Run =./build.sh= to build and upload to the server.