BUCKYVERSE

Add Book to Buckyverse — Reference (v2)

Canonical layout (from grunch_of_giants)

Observed under buckyverse.org/buckyverse2/priv/books/grunch_of_giants/:

grunch_of_giants/
├── manuscript.tex
├── meta.yaml
├── config.yaml
├── content/
│   ├── bibliography/     # references.bib, english.bib
│   ├── chapters/         # *.tex (and .aux if present)
│   ├── front-matter/     # title-page.tex, foreword.tex, dedication.tex, etc.
│   └── images/           # cover.jpg, cover.pdf, etc.
├── styles/
│   └── base.sty
└── assets/
    ├── fonts/            # IBMPlex*.otf, etc.
    ├── ocr/              # *.docx, *.txt, scan PDFs
    ├── scans/            # scan PDF, tiffs/ (optional)
    └── figures/          # optional

Other books (e.g. cosmic_fishing, regular_polytopes) may also have content/back-matter/, content/glossary/, content/acronyms/; copy whatever exists under content/, styles/, and assets/.

Book slug

Source = manuscript, not build output

Buckyverse v2 stores and builds from source. Do not copy from Codexis output (e.g. output/wikijs/, output/*.pdf). Copy from the same directory you would pass to codexis build --source <dir> (e.g. manuscript/ or the book project root).

Optional files

Buckyverse2 root

Typical path: .../buckyverse.org/buckyverse2 (e.g. /Volumes/Storage/belmendo/Projects/buckyverse.org/buckyverse2). Not the same as the old deploy target buckyverse.org (site root).

PathBuilder (Elixir):

PathBuilder.join([buckyverse2_root, "priv", "books", book_slug])
PathBuilder.join([manuscript_root, "content"])

Script: add_book_to_buckyverse2.sh

Location: scripts/add_book_to_buckyverse2.sh in the Codexis repo.

Relation to Codexis deploy command

./codexis deploy --target buckyverse copies build output to a different path and does not use the v2 manuscript layout. This skill is for populating buckyverse2/priv/books with manuscript (source) content.