MVP complete

This commit is contained in:
Ben Goldsworthy 2023-01-29 13:44:51 -05:00
parent 9ed1bed1b2
commit 7293c42783
18 changed files with 1760 additions and 453 deletions

6
.gitignore vendored Normal file
View file

@ -0,0 +1,6 @@
cgi-bin/
.well-known/
static/
resources/
node_modules/
public/

View file

@ -7,11 +7,13 @@
} }
table { table {
border: 1px solid $dark;
margin: auto; margin: auto;
width: 80%; width: 80%;
display: table;
display: block; & thead {
border: 2px solid $dark;
}
& td { & td {
padding: 0.5em 1em; padding: 0.5em 1em;

View file

@ -6,9 +6,10 @@ author:
email: admin@catalogue.bengoldsworthy.net email: admin@catalogue.bengoldsworthy.net
copyright: CC0 copyright: CC0
params: params:
reportIssueURL: '/Rumperuu/Omphaloskepsis-2/issues'
codeURL: 'https://code.bengoldsworthy.net'
tagline: A cataloguing site. tagline: A cataloguing site.
description: Ben Goldsworthy's media cataloguing site. description: Ben Goldsworthy's media cataloguing site.
reportIssueURL: 'https://code.bengoldsworthy.net/Rumperuu/Cataloguer/issues'
feedIcon: /images/feed-icon.png feedIcon: /images/feed-icon.png
mainSections: mainSections:
- games - games

View file

@ -0,0 +1,5 @@
---
title: Current Books
---
All the books I'm currently reading

View file

@ -1,39 +1,36 @@
[ [
{ {
"Book Id": 60697328, "Title": "Losing Control: Global Security in the Twenty-first Century",
"Title": "Disaster Anarchy: Mutual Aid and Radical Action", "Author": "Paul Rogers",
"Author": "Rhiannon Firth", "ISBN": null,
"Author l-f": "Firth, Rhiannon", "ISBN13": 9780745343747,
"Additional Authors": "",
"ISBN": 745340466,
"ISBN13": 9780745340463,
"Publisher": "Pluto Press", "Publisher": "Pluto Press",
"Binding": "Paperback", "Binding": "Ebook",
"Number of Pages": 256, "Number of Pages": 336,
"Year Published": 2022, "Year Published": 2021,
"Original Publication Year": null, "Original Publication Year": null,
"Date Read": "", "Date Read": "",
"Date Added": "2022/11/26", "Date Added": "2022-12-29",
"Exclusive Shelf": "currently-reading", "Started At": "2022-12-26",
"Private Notes": "", "Finished At": "",
"Read Count": 1 "Read Count": 1
}, },
{ {
"Book Id": 46168361, "Book Id": 410508,
"Title": "Manufacturing the Enemy: The Media War Against Cuba", "Title": "Dreams of Freedom: A Ricardo Flores Magón Reader",
"Author": "Keith Bolender", "Author": "Ricardo Flores Magón",
"Author l-f": "Bolender, Keith", "Additional Authors": "Charles Buf, Mitchell Cowen Verter",
"Additional Authors": "", "ISBN": 1904859240,
"ISBN": 745340288, "ISBN13": 9781904859246,
"ISBN13": 9780745340289, "Publisher": "AK Press",
"Publisher": "Pluto Press", "Binding": "ebook",
"Binding": "Hardcover", "Number of Pages": 352,
"Number of Pages": 224, "Year Published": 2005,
"Year Published": 2019, "Original Publication Year": 2005,
"Original Publication Year": null,
"Date Read": "", "Date Read": "",
"Date Added": "2022/11/26", "Date Added": "2022/12/18",
"Exclusive Shelf": "currently-reading", "Started At": "2022-12-17",
"Finished At": "",
"Private Notes": "", "Private Notes": "",
"Read Count": 1 "Read Count": 1
}, },
@ -52,6 +49,8 @@
"Original Publication Year": 1955, "Original Publication Year": 1955,
"Date Read": "", "Date Read": "",
"Date Added": "2022/11/26", "Date Added": "2022/11/26",
"Started At": "2022-11-15",
"Finished At": "",
"Exclusive Shelf": "currently-reading", "Exclusive Shelf": "currently-reading",
"Private Notes": "", "Private Notes": "",
"Read Count": 1 "Read Count": 1
@ -71,29 +70,12 @@
"Original Publication Year": 1990, "Original Publication Year": 1990,
"Date Read": "", "Date Read": "",
"Date Added": "2022/03/22", "Date Added": "2022/03/22",
"Started At": "2022-03-20",
"Finished At": "",
"Exclusive Shelf": "currently-reading", "Exclusive Shelf": "currently-reading",
"Private Notes": "", "Private Notes": "",
"Read Count": 1 "Read Count": 1
}, },
{
"Book Id": 11972889,
"Title": "Ruhlman's Twenty: The Ideas and Techniques that Will Make You a Better Cook",
"Author": "Michael Ruhlman",
"Author l-f": "Ruhlman, Michael",
"Additional Authors": "Donna Turner Ruhlman",
"ISBN": 811876438,
"ISBN13": 9780811876438,
"Publisher": "Chronicle Books",
"Binding": "Hardcover",
"Number of Pages": 368,
"Year Published": 2011,
"Original Publication Year": 2011,
"Date Read": "",
"Date Added": "2018/11/18",
"Exclusive Shelf": "currently-reading",
"Private Notes": "",
"Read Count": 2
},
{ {
"Book Id": 22096971, "Book Id": 22096971,
"Title": "A Basic Course in Modern Kurmanji", "Title": "A Basic Course in Modern Kurmanji",
@ -108,83 +90,9 @@
"Year Published": 2010, "Year Published": 2010,
"Original Publication Year": 2010, "Original Publication Year": 2010,
"Date Read": "", "Date Read": "",
"Date Added": "2021/10/21", "Date Added": "2021-10-21",
"Exclusive Shelf": "currently-reading", "Started At": "2021-10-21",
"Private Notes": "", "Finished At": "",
"Read Count": 1
},
{
"Book Id": 25584009,
"Title": "Mastering Arabic 1",
"Author": "Jane Wightwick",
"Author l-f": "Wightwick, Jane",
"Additional Authors": "Mahmoud Gaafar",
"ISBN": 1137380454,
"ISBN13": null,
"Publisher": "Palgrave",
"Binding": "Paperback",
"Number of Pages": 376,
"Year Published": 2014,
"Original Publication Year": 2014,
"Date Read": "",
"Date Added": "2020/11/03",
"Exclusive Shelf": "currently-reading",
"Private Notes": "",
"Read Count": 1
},
{
"Book Id": 299491,
"Title": "Guitar For Dummies",
"Author": "Mark Phillips",
"Author l-f": "Phillips, Mark",
"Additional Authors": "Jon Chappell",
"ISBN": 764599046,
"ISBN13": 9780764599040,
"Publisher": "Wiley",
"Binding": "Paperback",
"Number of Pages": 408,
"Year Published": 2006,
"Original Publication Year": 1998,
"Date Read": "",
"Date Added": "2014/03/11",
"Exclusive Shelf": "currently-reading",
"Private Notes": "",
"Read Count": 1
},
{
"Book Id": 932406,
"Title": "New French with Ease",
"Author": "Anthony Bulger",
"Author l-f": "Bulger, Anthony",
"Additional Authors": "",
"ISBN": 2700502299,
"ISBN13": 9782700502299,
"Publisher": "Assimil France",
"Binding": "Paperback",
"Number of Pages": 604,
"Year Published": 1999,
"Original Publication Year": 1966,
"Date Read": "",
"Date Added": "2013/09/19",
"Exclusive Shelf": "currently-reading",
"Private Notes": "",
"Read Count": 1
},
{
"Book Id": 17130760,
"Title": "Engineering Mathematics",
"Author": "K.A. Stroud",
"Author l-f": "Stroud, K.A.",
"Additional Authors": "Dexter J. Booth",
"ISBN": 831134704,
"ISBN13": 9780831134709,
"Publisher": "Industrial Press, Inc.",
"Binding": "Paperback",
"Number of Pages": 1020,
"Year Published": 2013,
"Original Publication Year": 2001,
"Date Read": "",
"Date Added": "2013/09/16",
"Exclusive Shelf": "currently-reading", "Exclusive Shelf": "currently-reading",
"Private Notes": "", "Private Notes": "",
"Read Count": 1 "Read Count": 1

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,84 @@
[ [
{
"Title": "The Travels of Ibn Battutah",
"Author": "Ibn Battuta",
"ISBN": "0330418793",
"ISBN13": "9780330418799",
"Publisher": "Picador",
"Binding": "Paperback",
"Number of Pages": 325,
"Year Published": 2003,
"Original Publication Year": 1355,
"Date Read": "",
"Date Added": "2023-01-29",
"Started At": "",
"Finished At": "",
"Read Count": 0
},
{
"Title": "Valuable Humans in Transit and Other Stories",
"Author": "qntm",
"ISBN": "",
"ISBN13": "",
"Publisher": "",
"Binding": "Ebook",
"Number of Pages": 101,
"Year Published": 2022,
"Original Publication Year": 2006,
"Date Read": "",
"Date Added": "2023-01-29",
"Started At": "",
"Finished At": "",
"Read Count": 0
},
{
"Title": "Pirate Enlightenment, or the Real Libertalia",
"Author": "David Graeber",
"ISBN": "0374610207",
"ISBN13": "9780374610203",
"Publisher": "Farrar, Straus and Giroux",
"Binding": "Ebook",
"Number of Pages": 208,
"Year Published": 2023,
"Original Publication Year": null,
"Date Read": "",
"Date Added": "2023-01-29",
"Started At": "",
"Finished At": "",
"Read Count": 0
},
{
"Title": "Out of the Night",
"Author": "Jan Valta",
"ISBN": "1902593863",
"ISBN13": 9781902593869,
"Publisher": "AK Press",
"Binding": "Paperback",
"Number of Pages": 720,
"Year Published": 2004,
"Original Publication Year": 1940,
"Date Read": "",
"Date Added": "2023-01-29",
"Started At": "",
"Finished At": "",
"Read Count": 0
},
{
"Title": "Open Circuits: The Inner Beauty of Electronic Components",
"Author": "Windell Oskay and Eric Schlaepfer",
"ISBN": "1718502346",
"ISBN13": 9781718502345,
"Publisher": "No Starch Press",
"Binding": "Hardcover",
"Number of Pages": 304,
"Year Published": 2022,
"Original Publication Year": null,
"Date Read": "",
"Date Added": "2023-01-29",
"Started At": "",
"Finished At": "",
"Read Count": 0
},
{ {
"Book Id": 1310919, "Book Id": 1310919,
"Title": "The Ticos: Culture and Social Change in Costa Rica", "Title": "The Ticos: Culture and Social Change in Costa Rica",

View file

@ -1,4 +1,67 @@
[ [
{
"Date": "2022-04-19",
"Name": "Everything Everywhere All at Once",
"Year": 2022,
"Letterboxd URI": "https://boxd.it/jUk4",
"Rewatch": "",
"Tags": "",
"Watched Date": "2023-01-19"
},
{
"Date": "2022-08-10",
"Name": "Red Rocket",
"Year": 2021,
"Letterboxd URI": "https://boxd.it/sGpi",
"Rewatch": "",
"Tags": "",
"Watched Date": "2023-01-17"
},
{
"Date": "2013-05-08",
"Name": "Tokyo Story",
"Year": 1953,
"Letterboxd URI": "https://boxd.it/1HuY",
"Rewatch": "",
"Tags": "",
"Watched Date": "2023-01-15"
},
{
"Date": "2023-01-07",
"Name": "The Civil War on Drugs",
"Year": 2011,
"Letterboxd URI": "https://boxd.it/1hmvNN",
"Rating": null,
"Rewatch": "Yes",
"Tags": "",
"Watched Date": "2023-01-07"
},
{
"Date": "2022-12-25",
"Name": "Y Tu Mamá También",
"Year": 2001,
"Letterboxd URI": "https://boxd.it/CkHVB",
"Rating": null,
"Rewatch": "Yes",
"Tags": "",
"Watched Date": "2022-12-25"
},
{
"Date": "2022-12-23",
"Name": "Clara Sola",
"Year": 2021,
"Letterboxd URI": "https://letterboxd.com/film/clara-sola/",
"Rewatch": "",
"Watched Date": "2022-12-23"
},
{
"Date": "2022-12-18",
"Name": "The Killing of Kenneth Chamberlain",
"Year": 2019,
"Letterboxd URI": "https://letterboxd.com/film/the-killing-of-kenneth-chamberlain/",
"Rewatch": "",
"Watched Date": "2022-12-18"
},
{ {
"Date": "2020-02-04", "Date": "2020-02-04",
"Name": "1917", "Name": "1917",

View file

@ -275,12 +275,6 @@
"Year": 2012, "Year": 2012,
"Letterboxd URI": "https://boxd.it/2XNk" "Letterboxd URI": "https://boxd.it/2XNk"
}, },
{
"Date": "2013-05-08",
"Name": "Tokyo Story",
"Year": 1953,
"Letterboxd URI": "https://boxd.it/1HuY"
},
{ {
"Date": "2013-05-08", "Date": "2013-05-08",
"Name": "Cargo", "Name": "Cargo",
@ -18833,12 +18827,6 @@
"Year": 2019, "Year": 2019,
"Letterboxd URI": "https://boxd.it/kIoA" "Letterboxd URI": "https://boxd.it/kIoA"
}, },
{
"Date": "2022-04-19",
"Name": "Everything Everywhere All at Once",
"Year": 2022,
"Letterboxd URI": "https://boxd.it/jUk4"
},
{ {
"Date": "2022-07-03", "Date": "2022-07-03",
"Name": "'Til Madness Do Us Part", "Name": "'Til Madness Do Us Part",
@ -18856,17 +18844,5 @@
"Name": "Meow Wolf: Origin Story", "Name": "Meow Wolf: Origin Story",
"Year": 2018, "Year": 2018,
"Letterboxd URI": "https://boxd.it/i87u" "Letterboxd URI": "https://boxd.it/i87u"
},
{
"Date": "2022-08-10",
"Name": "In a Lonely Place",
"Year": 1950,
"Letterboxd URI": "https://boxd.it/1JgO"
},
{
"Date": "2022-08-10",
"Name": "Red Rocket",
"Year": 2021,
"Letterboxd URI": "https://boxd.it/sGpi"
} }
] ]

View file

@ -10,7 +10,10 @@
{{ define "main-header" }} {{ define "main-header" }}
<header class="site-content__header"> <header class="site-content__header">
{{ $section := first 1 ( split .File.Dir "/" ) }} {{ $section := first 1 ( split .File.Dir "/" ) }}
<a href="/{{ delimit $section "" }}/log">Log</a> {{ if ( in "books" ( delimit $section "" ) ) }}
<a href="/{{ delimit $section "" }}/current">Current</a> ~
{{ end }}
<a href="/{{ delimit $section "" }}/log">Log</a> ~
<a href="/{{ delimit $section "" }}/wishlist">Wishlist</a> <a href="/{{ delimit $section "" }}/wishlist">Wishlist</a>
<h1 class="page-title">{{ .Title | safeHTML }} <h1 class="page-title">{{ .Title | safeHTML }}
@ -28,8 +31,10 @@
<main class="site-content__body"> <main class="site-content__body">
{{ if .File }} {{ if .File }}
{{ .Scratch.Set "page" ( index ( split .File.Dir "/" ) 1 ) }} {{ .Scratch.Set "page" ( index ( split .File.Dir "/" ) 1 ) }}
{{ if ( in "log wishlist" ( .Scratch.Get "page" ) ) }} {{ if ( in "current log wishlist" ( .Scratch.Get "page" ) ) }}
{{ if ( eq ( .Scratch.Get "page" ) "log" ) }} {{ if ( eq ( .Scratch.Get "page" ) "current" ) }}
{{ .Scratch.Set "listMode" "current" }}
{{ else if ( eq ( .Scratch.Get "page" ) "log" ) }}
{{ .Scratch.Set "listMode" "log" }} {{ .Scratch.Set "listMode" "log" }}
{{ else if ( eq ( .Scratch.Get "page" ) "wishlist" ) }} {{ else if ( eq ( .Scratch.Get "page" ) "wishlist" ) }}
{{ .Scratch.Set "listMode" "wishlist" }} {{ .Scratch.Set "listMode" "wishlist" }}

11
layouts/index.html Normal file
View file

@ -0,0 +1,11 @@
{{ define "main-class" }}--homepage{{ end }}
{{ define "header" }} <!-- null --> {{ end }}
{{ define "main-body" }}
<h1 class="page-title">
Ben's Catalogue
</h1>
{{ range ( where .Pages "Type" "in" site.Params.mainSections ).ByTitle }}<a href="{{ .RelPermalink }}"><h2>{{ .Title }}</h2></a>{{ end }}
{{ end }}

View file

@ -1,7 +1,10 @@
{{ if ( eq ( .Scratch.Get "listMode" ) "log" ) }} {{ if ( eq ( .Scratch.Get "listMode" ) "current" ) }}
{{ .Scratch.Set "filterCol" "Date Read" }} {{ .Scratch.Set "filterCol" "Started At" }}
{{ .Scratch.Set "filterDir" "asc" }}
{{ else if ( eq ( .Scratch.Get "listMode" ) "log" ) }}
{{ .Scratch.Set "filterCol" "Finished At" }}
{{ .Scratch.Set "filterDir" "desc" }} {{ .Scratch.Set "filterDir" "desc" }}
{{ else }} {{ else if ( eq ( .Scratch.Get "listMode" ) "wishlist" ) }}
{{ .Scratch.Set "filterCol" "Title" }} {{ .Scratch.Set "filterCol" "Title" }}
{{ .Scratch.Set "filterDir" "asc" }} {{ .Scratch.Set "filterDir" "asc" }}
{{ end }} {{ end }}
@ -23,8 +26,8 @@
<td>{{ .Author }}</td> <td>{{ .Author }}</td>
<td>{{ index . "Year Published" }}</td> <td>{{ index . "Year Published" }}</td>
<td> <td>
{{- if ( index . "Date Read" ) -}} {{- if ( index . "Finished At" ) -}}
{{- index . "Date Read" -}} {{- index . "Finshed At" -}}
{{- else -}} {{- else -}}
n/a n/a
{{- end -}} {{- end -}}

View file

@ -1,7 +1,10 @@
{{ if ( eq ( .Scratch.Get "listMode" ) "log" ) }} {{ if ( eq ( .Scratch.Get "listMode" ) "current" ) }}
{{ .Scratch.Set "filterCol" "name" }} {{ .Scratch.Set "filterCol" "name" }}
{{ .Scratch.Set "filterDir" "asc" }} {{ .Scratch.Set "filterDir" "asc" }}
{{ else }} {{ else if ( eq ( .Scratch.Get "listMode" ) "log" ) }}
{{ .Scratch.Set "filterCol" "name" }}
{{ .Scratch.Set "filterDir" "asc" }}
{{ else if ( eq ( .Scratch.Get "listMode" ) "wishlist" ) }}
{{ .Scratch.Set "filterCol" "name" }} {{ .Scratch.Set "filterCol" "name" }}
{{ .Scratch.Set "filterDir" "asc" }} {{ .Scratch.Set "filterDir" "asc" }}
{{ end }} {{ end }}

View file

@ -2,13 +2,13 @@
<table> <table>
<thead> <thead>
<tr> <tr>
{{ if ( and ( in site.Params.mainSections .Section ) ( in "log wishlist" ( .Scratch.Get "page" ) ) ) }} {{ if ( and ( in site.Params.mainSections .Section ) ( in "current log wishlist" ( .Scratch.Get "page" ) ) ) }}
{{ partial ( printf "%s/%s" .Section "table-header" ) . }} {{ partial ( printf "%s/%s" .Section "table-header" ) . }}
{{ end }} {{ end }}
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{{ if ( and ( in site.Params.mainSections .Section ) ( in "log wishlist" ( .Scratch.Get "page" ) ) ) }} {{ if ( and ( in site.Params.mainSections .Section ) ( in "current log wishlist" ( .Scratch.Get "page" ) ) ) }}
{{ partial ( printf "%s/%s" .Section "table-body" ) . }} {{ partial ( printf "%s/%s" .Section "table-body" ) . }}
{{ end }} {{ end }}
</tbody> </tbody>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Categories on My New Hugo Site</title>
<link>http://example.org/categories/</link>
<description>Recent content in Categories on My New Hugo Site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language><atom:link href="http://example.org/categories/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>My New Hugo Site</title>
<link>http://example.org/</link>
<description>Recent content on My New Hugo Site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language><atom:link href="http://example.org/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

View file

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://example.org/categories/</loc>
</url><url>
<loc>http://example.org/</loc>
</url><url>
<loc>http://example.org/tags/</loc>
</url>
</urlset>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Tags on My New Hugo Site</title>
<link>http://example.org/tags/</link>
<description>Recent content in Tags on My New Hugo Site</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language><atom:link href="http://example.org/tags/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>