a free digital library
Find a file
2025-01-25 19:44:09 -06:00
data Update catalogue.html 2025-01-25 19:44:09 -06:00
.dockerignore implement config file 2023-06-15 14:11:42 -05:00
.editorconfig hyperlinks page is done 2022-12-29 17:45:29 -06:00
.gitignore implement config file 2023-06-15 14:11:42 -05:00
config.go update modules and tidy up code 2025-01-22 15:50:12 -06:00
dev.sh implement config file 2023-06-15 14:11:42 -05:00
docker-compose.yml chores 2025-01-25 10:49:26 -06:00
Dockerfile dependency updates 2025-01-25 11:01:03 -06:00
example.config.yml chores 2025-01-25 10:49:26 -06:00
go.mod dependency updates 2025-01-25 11:01:03 -06:00
go.sum dependency updates 2025-01-25 11:01:03 -06:00
main.go chores 2025-01-25 10:49:26 -06:00
README.md refactor catalogue: 2023-06-16 13:58:57 -05:00
template.go allow catalogue sorting by tag or type 2025-01-24 13:27:17 -06:00
TODO.md update appearance 2025-01-25 17:28:55 -06:00
util.go allow catalogue sorting by tag or type 2025-01-24 13:27:17 -06:00

site sections

zines and other literature

route: /catalogue

  • free offline copies of zines, books, web articles, and pretty much anything else that a browser can handle
  • displayed in a familiar format
  • encourages supporting the authors by prominently displaying source links
  • tags feature is being planned!

data/lib/catalogue.yml example:

- title: The Content Piece's Title
  author: Author Name
  description: >
    You can use a pipe | or a greater-than symbol > to write YAML strings across multiple lines.
    See https://yaml-multiline.info for details.    
  type: zine | book | article | ...or whatever you want
  tags:
    - foo
    - bar
  image: "/static/lit/file.jpg"
  image_class: banner | portrait
  href: "/static/lit/file.pdf"  # the primary link that the image/title anchor points to
  links:  # extra links off to the side
    epub: "/static/lit/file.epub"
    source: https://zine.website/

data/lib/hyperlinks.yml example:

- name: Section title
  description: This is a group of links under a related banner.
  links:
    - url: https://website.org/page.htm
    - url: https://example.com
      name: Super duper cool website

- name: Group two
  description: This is another group of links!
  links:
    - ...

configuration

copy example.config.yml to config.yml in the same location as the xanadu executable and make changes as needed.

design

  • tiny web, maximizing browser compatibility by being smol
  • mobile and desktop equally important
  • ascii art wrapped in <pre/> tags with alt-text for accessibility

name meaning

a reference to: