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
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)
|
|
** 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).
|
|
* 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=.
|
|
* 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.
|