A statically-generated Hugo site to host my math course notes in university, inspired by Obsidian.md.
These notes are meant to be a distilled version of the math I've learnt where ideas, formulations, and important results are broken down into their atomic components of definitions, propositions, and theorems for clarity, precision, and accessibility.
Work in progress!
- Note Types and Templates; the basic templates and outgoing links for each type of note.
- Scripts; snippets, plugins, and my bash scripts.
Each note is currently one of four types:
-
Definition/Example, either of an
object
or of anotion
, which links to:- Types: Objects/notions of type
object
/notion
with additional restrictions. - Examples: Specific examples or counterexamples of
object
/notion
(but not of any of itstypes
). - Constructions: Objects/notions derived from
object
/notion
. - Generalizations: Abstractions of
object
/notion
. - Properties: Statements regarding
object
or necessary conditions ofnotion
. - Sufficiencies: Proofs that other objects are of type
object
or sufficient conditions ofnotion
- Equivalences: Equivalent definitions for
object
or biconditionals between notions andnotion
. - Justifications: Proofs of well-definition of
object
/notion
.
- Types: Objects/notions of type
-
Proposition/Theorem (differentiated by 'importance'), including both
statement
andproof
regardingobject
/notion
, which links to:- Proved by: Statements in which
proof
depends crucially on. - References: Notes in which the proofs of
statement
(or corollaries thereof) are delegated to. - Justifications: Proofs of implicit assumptions of
object
/notion
instatement
. - Specializations: Reformulations/proofs of instances of
statement
. - Generalizations: Statements and proofs of abstractions of
statement
.
- Proved by: Statements in which
These templates are automatically inserted whenever a note is created. After the links, the main content is written with remarks where appropriate.
I wrote some bash scripts to (try) maintain the consistency of my notes; main.sh acts as a hub for me to run them.
- Global search and replace, including the ability of excluding additional patterns, is handled by searchReplace.sh.
- Basic stats of the site (and updating them below) is handled by stats.sh.
- Displaying all links that have yet to be created and all notes that have those links, are handled by ghostLinks.sh.
Some stats: 70 notes, 293 links (ratio: 4.185), 8 images (updated every commit).