Python SSG for tracking online TCG collection
 
 
Go to file
trémeur a195e97f5c Exclude duplicates from mass deck counts
build Minimal styling for search page, allow search for a whole deck, allow case-insensitive search
.gitignore
COPYING
README.org Track mass decks and use them to build the collecting page
build.sh
collectinggen.py Add thresholds for medium and high priority
download.py
generate.py Track mass decks and use them to build the collecting page
indexgen.py Sort faves alphabetically
levelsgen.py
log-template.py Move portfolios to log
loggen.py Move portfolios to log
massgen.py Exclude duplicates from mass deck counts
masteredgen.py
ownedgen.py
portfoliosgen.py Move portfolios to log
searchgen.py Add thresholds for medium and high priority
setup.py
skel.py Track mass decks and use them to build the collecting page
tcgcore.py Track mass decks and use them to build the collecting page
thetypes.py
tradegen.py Add textareas and progress indicators
variables-template.py Track mass decks and use them to build the collecting page
wantedgen.py Track mass decks and use them to build the collecting page

README.org

tcg

Python scripts to generate a mobile-friendly static site for tracking tcg cards (designed for colors).

Instructions

Requirements

  • python3
  • server space
  • subdomain pointing to your site root on the server
  • rclone with your server set up as a remote

Setup

  • Download and create the initial files by running:
  git clone https://git.praze.net/tre/tcg.git
  cd tcg
  cp log-template.py log.py
  cp variables-template.py variables.py
  • Edit variables.py to set the variables as follows:

    • servername: name set for your remote in rclone
    • serverpath: path to the site root on the server (with leading slash, without trailing slash)
    • name: the name you use in the game
    • highpriority: a list of high priority decks youre collecting
    • tradepost: URL of your trade post on Dreamwidth
    • faves: a list of cards to showcase on the index page
    • headerbackground: an HTML colour to display behind your header image and set as a theme colour
    • british: True if you want “grey” to display on the site, False if you want “gray”
    • collectthreshold: minimum number of owned cards for putting a deck in the “collecting” category
    • mediumthreshold: minimum number of owned cards for marking a deck as medium priority
    • highthreshold: minimum number of owned cards for marking a deck as high priority
    • keepsig: True if you always want to keep one copy of your signature, False if you want to make them all available for trading
    • tradestatement: statement to place on your trading page
    • maxmastered: maximum number of most recently mastered decks to show on the index page
    • masscollect: list (python dict) of series/themes being mass collected and which decks to include in each one
  • Run the following:

      python3 setup.py
      chmod +x build.sh
  • Save a header image to build/assets/header.png
  • Save each stage of a filled sketchpad to build/assets/sketch/, as 00.gif, 01.gif, etc.
  • Add level images manually to build/assets/levels/
  • Add custom CSS to build/user.css

Updating and building

  • For each transaction, add a dictionary {} to the log list like in the example (removing any of "received", "lost", "crayons", "decks" that arent relevant).
  • Run ./build.sh in this directory to download the relevant card images and then upload everything to the server.

Currently unaccounted for

  • Duplicates (should be fine but not checked)
  • Coupons
  • Card search
  • Date to level needs redone