a free digital library
Find a file
2025-03-18 14:04:49 -05:00
data improve catalog page 2025-03-18 14:04:49 -05: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 stuff 2025-03-14 13:06:37 -05:00
config.go stuff 2025-03-14 13:06:37 -05:00
dev.sh implement config file 2023-06-15 14:11:42 -05:00
docker-compose.yml Update Dockerfile and docker-compose.yml 2025-03-15 16:35:17 -05:00
Dockerfile Update Dockerfile and docker-compose.yml 2025-03-15 16:35:17 -05:00
example.config.yml stuff 2025-03-14 13:06:37 -05:00
go.mod watch catalogue/hyperlinks.yml for changes 2025-03-17 13:31:39 -05:00
go.sum watch catalogue/hyperlinks.yml for changes 2025-03-17 13:31:39 -05:00
http.go watch catalogue/hyperlinks.yml for changes 2025-03-17 13:31:39 -05:00
main.go watch catalogue/hyperlinks.yml for changes 2025-03-17 13:31:39 -05:00
README.md resolve catalog URLs 2025-03-15 11:50:21 -05:00
template.go improve catalog page 2025-03-18 14:04:49 -05:00
TODO.md improve catalog page 2025-03-18 14:04:49 -05:00
util.go improve catalog page 2025-03-18 14:04:49 -05:00

site sections

zines and other literature

route: /catalogue

  • list zines, books, articles, and pretty much anything else that a browser can handle
  • encourage supporting the authors by prominently displaying source links
  • use tags to create categorical filters

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: ContentPiece.jpg  # file paths are relative to data/lib/files/
  image_class: banner | portrait
  href: ContentPiece.pdf  # the primary link that the image/title anchor points to
  links:  # extra links off to the side
    epub: ContentPiece.epub
    source: https://zine.website/
  • links are grouped into related sections
  • each group of links is shuffled

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:
    - ...

server configuration

copy example.config.yml to config.yml next to the executable (or set $XANADU_CONFIG to its path) and make changes as needed.

design

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

name meaning

a reference to: