slatex / sTeX-React

GNU Affero General Public License v3.0
2 stars 2 forks source link

Develop sMarkDown, make a mock course, and add it to ALeA #281

Open kohlhase opened 2 months ago

kohlhase commented 2 months ago

Like #280, but for Markdown, we also need to develop semantic Markdown and have an extended sMarkDown2SHTML compiler. In contrast to #280 we need the build system to generate the SHTML from the sources.

Language Specification

Here is a first specification of the sMD syntax, based on sTeX examples. We want to have two levels: sMDlite (revy restricted, e.g. for ALeA blog entries that want to use ALeA concepts - e.g. from the system documentation).

sMDlite

gives three (plus maybe one) basic features that allow to reference information

sMD

adds the following functionality to cover much of sTeX (a fragment that covers most non-math content).

sTeX features beyond sMD

The following features are intentionally left out of sMD to make parsing and interpretation easier. In particular, we want to get around

kohlhase commented 1 month ago

I am sitting in Bonn with Nicolas Thierry and we are discussing syntax. He has already worked on Markdown annotations for his Jupyter-based courses (he will add links). His/Our systax from last year is based on myst (https://mystmd.org/). We should take a good look at that. They seem to have extensive tooling already.

nthiery commented 1 month ago

Here is a (start of) blog post from after my visit last year; I followed the notations given there to annotate my course notes this year with various environments (definition, ...) and definiendum and (some) symrefs.

The course notes rendered in html (presumably shtml in fact; but I need to double check on that) are here:

At this stage, I haven't annotated tasks with didactic metadata, by lack of a immediate benefit and schema. The natural way in MyST would be to use YAML frontends. But really the important thing is to fix a schema; and then it will be easy to swap the syntax between json/yaml or something else.