You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
3.8 KiB
Org Mode

#+TITLE: Trackers
* About
The scripts in this repository build static webpages based on information from two sources:
- a structured set of =.org= files;
- APIs of selected third-party websites (so far: Discogs).
These pages can be used as a replacement for third-party services e.g. Backloggery.
* Dependencies
- =orgparse= (install via pip)
- =python3=
- =rclone= (for syncing to the server)
- =geopy= if you are tracking places visited (install via pip)
- =python3-discogs-client= if you are displaying a record collection (install via pip)
* General setup
** Structure of the .org files
See =demo.org= for an example.
** Setting the variables
Copy =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)
6 months ago
** Testing
- Run =python3 generategames.py local= to build in =gamebuild=.
6 months ago
* 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).
* Displaying a record collection (taking data from Discogs)
** Setup
- Upload a CSS file to the server for styling fonts etc; most CSS is set inline.
- Get a Discogs API token [[https://www.discogs.com/settings/developers][here]].
*** Setting the variables
In =variables.py=, edit:
- =trackrecords=: set to =True=
- =recordserverpath=: path to directory on the server where files will be uploaded, including trailing slash
- =recordcss=: location of the CSS file you wish to apply, relative to the site root
- =discogstoken=: the API token you generated
- =discogsuser=: your Discogs username
** Testing
- Run =python3 generaterecords.py local= to build in =recordbuild=.
6 months ago
* 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.
6 months ago
* Building
- Run =./build.sh= to build and upload to the server.