diff --git a/.gitignore b/.gitignore index 7c9f02c..a967458 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ build/assets/header.png build/assets/levels/*.gif __pycache__/ variables.py -log.py \ No newline at end of file +log.py +build/user.css \ No newline at end of file diff --git a/README.org b/README.org index d8e0d8b..e1b76f5 100644 --- a/README.org +++ b/README.org @@ -1,9 +1,45 @@ * tcg -a python static site generator for tracking tcg cards (made for [[https://colors-tcg.dreamwidth.org][colors]]). +Python scripts to generate a mobile-friendly static site for tracking tcg cards (designed for [[https://colors-tcg.dreamwidth.org][colors]]). -Current status: very basic functionality and styling, will add more features as I need them. - -** To do -- implement user variables -- CSS -- integrate =download.sh= +** 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: +#+BEGIN_SRC bash + git clone https://git.praze.net/tre/tcg.git + cd tcg + cp log-template.py log.py + cp variables-template.py variables.py +#+END_SRC +- 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 you’re collecting + - =mediumpriority=: a list of other decks you’re 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 + - =keepsig=: True if you always want to keep one copy of your signature, False if you want to make them all available for trading +- Run the following: + #+BEGIN_SRC bash + python3 setup.py + chmod +x build.sh +#+END_SRC +- Save a header image to =build/assets/header.png= +- 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"= that aren’t relevant). +- Run =./build.sh= in this directory to download the relevant card images and then upload everything to the server. +** Currently unaccounted for +- Sketchpads +- Portfolios +- Duplicates +- Masteries diff --git a/build/style.css b/build/style.css index 7d690bb..a70a4ff 100644 --- a/build/style.css +++ b/build/style.css @@ -1,22 +1,7 @@ /* basic colours */ :root { - --textcolour: black; - --linecolour: black; - --bgcolour: white; -} - -@media(prefers-color-scheme: dark) { - :root { - --textcolour: white; - --linecolour: white; - --bgcolour: black; - } -} - -* { - color: var(--textcolour); - background-color: var(--bgcolour); + color-scheme: light dark; } /* basic layout */ @@ -33,7 +18,7 @@ body > aside { grid-column-end: 2; grid-row-start: 1; grid-row-end: 2; - border-bottom: 4px solid var(--linecolour); + border-bottom: 4px solid CanvasText; padding: 5px; } @@ -50,7 +35,7 @@ body > main { grid-row-start: 1; grid-row-end: 3; overflow: auto; - border-left: 4px solid var(--linecolour); + border-left: 4px solid CanvasText; padding: 5px; } @@ -60,7 +45,7 @@ body > main { } body > * { border-left: none !important; - border-bottom: 4px solid var(--linecolour) !important; + border-bottom: 4px solid CanvasText; } body > aside { display: none; @@ -69,39 +54,52 @@ body > main { table.decktable { display: inline-block; - border: 1px solid var(--linecolour); + border: 1px solid CanvasText; } table.decktable.red th { background-color: red; + color: black; } table.decktable.orange th { background-color: orange; + color: black; } table.decktable.yellow th { background-color: yellow; + color: black; } table.decktable.green th { background-color: green; + color: white; } table.decktable.blue th { background-color: blue; + color: white; } table.decktable.purple th { background-color: purple; + color: white; } table.decktable.brown th { background-color: brown; + color: white; } table.decktable.gray th { background-color: gray; + color: white; +} + +table.decktable.special th { + background: linear-gradient(90deg, hsl(0, 100%, 70%), hsl(30, 100%, 70%), hsl(60, 100%, 70%), hsl(90, 100%, 70%), hsl(120, 100%, 70%), hsl(150, 100%, 70%), hsl(180, 100%, 70%), hsl(210, 100%, 70%), hsl(240, 100%, 70%), hsl(270, 100%, 70%), hsl(300, 100%, 70%), hsl(330, 100%, 70%), hsl(360, 100%, 70%)); + color: black; } main img { @@ -130,3 +128,9 @@ img.crayon { table.level { display: inline-block; } + +h2.collectingheader { + position: sticky; + top: 0; + background-color: Canvas; +} diff --git a/collectinggen.py b/collectinggen.py index b855f30..a3530be 100644 --- a/collectinggen.py +++ b/collectinggen.py @@ -27,17 +27,20 @@ def collectinggen(): if tcgcore.collecting(deck): lowpriority.append(deck) if len(highpriority) > 0: - content.write("