Skip to content

AshGreyG/Obsino

Repository files navigation

๐Ÿ”ฎ Obsino

build status Typst Nix MIT

Obsino is a digital knowledge tree โ€” a structured personal knowledge base organized by academic discipline. Knowledge is authored in CUE files with Typst markup and compiled into PDF handbooks.

Each subject directory is a CUE module. Within each module, content is organized into:

  • concept/ โ€” fundamental concepts (e.g., alpha-helix, peptide-bond)
  • principle/ โ€” experimental principles or methods (e.g., gel-electrophoresis)
  • phenomenon/ โ€” observed phenomena (e.g., protein refolding)
  • specific/ โ€” specific case studies (e.g., structure-of-collagen)

๐Ÿ”ฎ Authoring Knowledge

Knowledge entries are CUE files conforming to the schema in schema.cue:

#KnowledgeStructure: {
  content: string
  // Main body text for a concept or principle. Usually a raw string; may include
  // other properties.
  related?: [...string]
  // Related concepts/principles within the same handbook. Rendered as #link in
  // Typst.
  external_related?: [...string]
  // Related concepts/principles in external handbooks. Cannot use #link since
  // it targets a PDF page.
  external_link?: [...string]
  // External resources such as papers or websites.
  [=~"^figure_part"]: string
  // Embed figures (e.g., `figure_part_test`) from the assets directory into
  // content.
}
  • Content: Written in Typst markup inside the content field
  • Figures: Typst figure code in figure_part_* fields (embedded via #"" raw strings)
  • Assets: SVG/PNG files in an assets/ subdirectory
  • Cross-references: Array of related concept paths in the related field

โ„๏ธ Build

Enter the development shell

nix develop

Provides cue, yq, typst, and typstyle.

Export a single concept to PDF

make single-export FILE=concept/alpha-helix.cue

Export a property from a CUE package

make package-export PACKAGE=natural-science.biology.biochemistry TARGET=alpha_helix

Generate a handbook

make handbook

Scans all subdirectories in the current module and assembles one comprehensive PDF.

Build all handbooks

nix run .#handbook

Outputs to build/.

Clean

nix run .#clean       # clean all build artifacts
make clean            # clean PDFs in current directory

Status

nix run .#status      # check the status of project

โ™ป๏ธ CI

  • A nightly GitHub Action builds all handbooks and publishes them as a pre-release.
  • A status Github Action embeds the status to README.md.

๐Ÿฉบ Status

โ”œโ”€โ”€ Human Knowledge Tree (HKT)
โ”‚
โ”œโ”€โ”€ healthcare
โ”‚    โ””โ”€โ”€ pharmacy
โ”‚        โ””โ”€โ”€ pharmaceutics
โ”‚         
โ”‚           [x] Typst Header
โ”‚           [x] CUE Module
โ”‚           [โ†’] concept: 16 | 272
โ”‚           [โ†’] desire: 1 | 11
โ”‚         
โ””โ”€โ”€ natural-science
    โ”œโ”€โ”€ biology
    โ”‚    โ”œโ”€โ”€ biochemistry
    โ”‚    โ”‚
    โ”‚    โ”‚  [x] Typst Header
    โ”‚    โ”‚  [x] CUE Module
    โ”‚    โ”‚  [โ†’] concept: 16 | 609
    โ”‚    โ”‚  [โ†’] phenomenon: 2 | 71
    โ”‚    โ”‚  [โ†’] principle: 1 | 29
    โ”‚    โ”‚  [โ†’] specific: 4 | 134
    โ”‚    โ”‚
    โ”‚    โ””โ”€โ”€ molecular-biology
    โ”‚     
    โ”‚       [x] Typst Header
    โ”‚       [x] CUE Module
    โ”‚       [โ†’] concept: 9 | 458
    โ”‚       [โ†’] principle: 5 | 180
    โ”‚     
    โ””โ”€โ”€ physics
        โ””โ”€โ”€ classical-mechanics
         
           [x] Typst Header
           [x] CUE Module
           [โ†’] concept: 4 | 76
         
[โ†’] Total Counts: 58
[โ†’] Total Lines: 1840

๐Ÿ“ License

MIT โ€” see LICENSE.

About

๐Ÿ”ฎ Obsino is a digital knowledge tree โ€” a structured personal knowledge base organized by academic discipline. Knowledge is authored in CUE files with Typst markup and compiled into PDF handbooks.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors