This repository contains the full latin text of Spinoza's Ethics as well as various translations in a format that makes it easy to programatically process them.
The repository also contains the sources to generate https://ethica.repetitions.de.
ethica
The data directory contains all data and metadata needed to reconstruct the
full text of the ethics.
data/meta.json contains a json representation of the structure of the ethics.
Each json object represents one node (axioms, propositions, proofs, etc.). Each
node has fields:
- id: unique identifier of the node.
- children: array of ids of child-nodes.
- ref: array of ids of nodes referenced by this node.
- number: Number of node. Only present if the node appears in the text with a number attached (e.g. Axiom 1).
- type: Type of the node, according to the latin versin.
Each subdirectory of data contains one version of the text. Each version of the text is split into one file per node, named by the id of the node. The files are Markdown formatted. Each version directory also must contain exactly one json file containing meta data specific to that text version. The json object in that file must at least contain the
typesfield maping each type of node to a name to be used for that type of node in the text version and thenamefield, specifying the name of the text version presentde to the user.
e.g. data/de_stern/types.json looks like this:
{
"name": "German (Stern)",
"language": "de",
"translator": "Jakob Stern",
"types": {
"ethica": "Ethik",
"pars": "Teil",
"definitiones": "Definitionen",
"definitio": "Definition",
"explicatio": "Erläuterung",
"axiomata": "Axiome",
"axioma": "Axiom",
"propositio": "Lehrsatz",
"demonstratio": "Beweis",
"corollarium": "Zusatz",
"aliter": "Anderer Beweis",
"scholium": "Anmerkung",
"appendix": "Anhang",
"praefatio": "Vorwort",
"lemma": "Hilfssatz",
"postulatum": "Postulat",
"postulata": "Postulate",
"affectuum definitiones": "Definitionen der Affekte",
"affectuum generalis definitio": "Allgemeine Definition der Affekte",
"caput": "§"
}
}
ethica.repetitions.de
Building the page source for ethica.repetitions.de requires a common lisp
implementation as well as a functional quicklisp setup. The code to generate the
site is located in the lisp directory. The html directory contains templates
used by the lisp program.