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
- Use lowercase with underscores (e.g.
grunch_of_giants), matching the v2 convention. - Must be URL-safe; no spaces.
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
.gitignoreundercontent/,styles/,assets/(and subdirs) may be present; copy if present in source.- Build artifacts (
.aux,.bbl, etc.) may exist in the reference; include or exclude per preference.
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.
- Args:
<manuscript_dir><book_slug>[buckyverse2_root] - Behavior: Creates
buckyverse2/priv/books/<book_slug>, copies manuscript.tex (or main.tex/book.tex), meta.yaml, config.yaml, and rsyncs content/, styles/, assets/. - Run locally: The script must be run in your terminal so it can read the manuscript path and write to the buckyverse2 path (paths may be outside the Codexis workspace).
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.