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.
3.8 KiB
3.8 KiB
Trackers
- About
- Dependencies
- General setup
- Tracking games with a backloggery clone
- Tracking places visited using Leaflet
- Displaying a record collection (taking data from Discogs)
- First run (or if adding any new trackers)
- Building
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 slashlocalpath
: absolute path to this directory, including trailing slashdomain
:https://yourdomain.tld
without trailing slashrclonesiteroot
: pathrclone
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 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 toTrue
gameserverpath
: path to directory on the server where files will be uploaded, including trailing slashendlessgames
: a list of “endless” games in the formattitle (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 360consoles
: 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 ingamebuild
.
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 toTrue
placeserverpath
: path to directory on the server where files will be uploaded, including trailing slashplacestartyear
: 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 inplacebuild
. (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 invariables.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 here.
Setting the variables
In variables.py
, edit:
trackrecords
: set toTrue
recordserverpath
: path to directory on the server where files will be uploaded, including trailing slashrecordcss
: location of the CSS file you wish to apply, relative to the site rootdiscogstoken
: the API token you generateddiscogsuser
: your Discogs username
Testing
- Run
python3 generaterecords.py local
to build inrecordbuild
.
First run (or if adding any new trackers)
- Run
python3 init.py
and thenchmod +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.