diff --git a/.gitignore b/.gitignore index cf6af24..820f9d9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,30 @@ node_modules -lua_modules data/*.avif data/*.pdf data/*.toml -data/*.aux -data/*/*-aux -data/*.log -data/*-aux.json -data/decasify.js .fonts static public + +# SILE +lua_modules *.rockslock + +# PagedJS +data/decasify.js + +# LaTeX +data/*.aux +data/*/*-aux +data/*.log + +# Glu +data/*-aux.json all-system-fonts.css + +# Speedata +data/*-aux.xml +data/*-protocol.xml +data/*.finished +data/*.status +data/*.vars diff --git a/Makefile b/Makefile index 9b6f1de..b593315 100644 --- a/Makefile +++ b/Makefile @@ -27,6 +27,7 @@ QUARKDOWN ?= quarkdown SATYSFI ?= satysfi SED ?= sed SILE ?= sile +SPEEDATA ?= sp TERA ?= tera TOMLQ ?= tomlq TYPST ?= typst @@ -45,6 +46,7 @@ PAGEDJS_ARGS = -i $< -o $@ QUARKDOWN_ARGS = c --pdf --out $(@D) $< SATYSFI_ARGS = $< -o $@ SILE_ARGS = -o $@ $< +SPEEDATA_ARGS = --dummy --layout $< --jobname $*-speedata TYPST_ARGS = compile $< $@ WEASYPRINT_ARGS = $< $@ XELATEX_ARGS = -interaction=batchmode -halt-on-error @@ -169,6 +171,9 @@ data/title-case-pagedjs.pdf: data/decasify.js %-sile.pdf %-sile.toml: %/sile.xml | installrocks $(call make_manifest,$(SILE) $(TYPESETTER_ARGS) $(SILE_ARGS)) +%-speedata.pdf %-speedata.toml: %/speedata.xml + $(call make_manifest,$(SPEEDATA) $(TYPESETTER_ARGS) $(SPEEDATA_ARGS)) + %-typst.pdf %-typst.toml: %/typst.typ $(call make_manifest,$(TYPST) $(TYPESETTER_ARGS) $(TYPST_ARGS)) diff --git a/content/hello-world.md b/content/hello-world.md index 07869c4..63ceecb 100644 --- a/content/hello-world.md +++ b/content/hello-world.md @@ -2,7 +2,7 @@ title = "Hello World!" description = "Your most basic greeting." weight = 1 -extra.typesetters = [ "sile", "typst", "lualatex", "groff", "satysfi", "pagedjs", "weasyprint", "glu", "quarkdown" ] +extra.typesetters = [ "sile", "typst", "lualatex", "groff", "satysfi", "pagedjs", "weasyprint", "glu", "quarkdown", "speedata" ] +++ Just the simplest way to get a phrase onto a numbered page. diff --git a/data/hello-world/speedata.xml b/data/hello-world/speedata.xml new file mode 100644 index 0000000..700d1ef --- /dev/null +++ b/data/hello-world/speedata.xml @@ -0,0 +1,30 @@ + + + + + + + + + +
+ + + +
+
+
+
+ + + + + + Hello World + + + + +
diff --git a/flake.lock b/flake.lock index dee0d08..61a4dc1 100644 --- a/flake.lock +++ b/flake.lock @@ -52,6 +52,24 @@ "type": "github" } }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -153,9 +171,31 @@ "gitignore": "gitignore", "glu": "glu", "nixpkgs": "nixpkgs", + "speedata-publisher": "speedata-publisher", "teracli": "teracli" } }, + "speedata-publisher": { + "inputs": { + "flake-utils": "flake-utils_3", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1787918458, + "narHash": "sha256-BMmjjq6gqtt1LccJDubT2jCqWVR0sTE0bA98TaSBHcY=", + "owner": "speedata", + "repo": "publisher", + "rev": "19ead00e64069ed5fc62712f9cd184e51928058c", + "type": "github" + }, + "original": { + "owner": "speedata", + "repo": "publisher", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -186,6 +226,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "teracli": { "inputs": { "naersk": "naersk", diff --git a/flake.nix b/flake.nix index 9191c01..5357236 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,10 @@ url = "github:boxesandglue/glu"; inputs.nixpkgs.follows = "nixpkgs"; }; + speedata-publisher = { + url = "github:speedata/publisher"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -45,6 +49,7 @@ }; inherit (gitignore.lib) gitignoreSource; glu = inputs.glu.packages.${system}.default; + speedata-publisher = inputs.speedata-publisher.packages.${system}.default; polytype = rec { }; @@ -78,6 +83,7 @@ rustc satysfi sile + speedata-publisher stix-two teracli.defaultPackage.${system} texliveFull diff --git a/src/codemirror.js b/src/codemirror.js index 64bff60..b3f6927 100644 --- a/src/codemirror.js +++ b/src/codemirror.js @@ -32,6 +32,7 @@ const languageMap = { // Aliases to near-matches pagedjs: html, sile: latex, + speedata: xml, weasyprint: html, xelatex: latex, }; diff --git a/templates/page.html b/templates/page.html index 276d198..b730212 100644 --- a/templates/page.html +++ b/templates/page.html @@ -23,7 +23,7 @@

{{ typesetter }}

Input document

- {% set source = load_data(path=manifest.src) | safe %} + {% set source = load_data(path=manifest.src, format="plain") %} {% set ext = manifest.src | split(pat=".") | last %}
{{ source }}