Datasheet bugfixes (#128)

* Fix white page when funding was not specified

This was caused by creating a page before first checking whether there was any content for that page beforehand, so it would result in a rogue white page with no content.

* Fix missing analog pin tables

* Tweak pandoc settings

Switching from `gfm` to `markdown` should enable more formatting options. The extensions have been configured to be similar to `gfm` but provide some additional things, like `line_blocks` and `lists_without_preceding_blankline`s.
This commit is contained in:
htfab
2025-10-30 17:25:35 +01:00
committed by GitHub
2 changed files with 36 additions and 13 deletions
+21 -1
View File
@@ -118,12 +118,28 @@ class DocsHelper:
"""
Run pandoc to convert a given file to typst
"""
# enable/disable certain extensions
# see all with `pandoc --list-extensions=markdown`
# documentation at https://pandoc.org/MANUAL.html
# in general, these extensions should offer some additional formatting options whilst still
# remaining similar to github flavoured markdown
pandoc_extensions = [
"-auto_identifiers",
"+autolink_bare_uris",
"-citations",
"-definition_lists",
"+emoji",
"-example_lists",
"-fancy_lists",
"+lists_without_preceding_blankline",
"-fenced_divs",
]
pandoc_command = [
"pandoc",
path,
"--shift-heading-level-by=-1",
"-f",
"gfm-gfm_auto_identifiers",
f"markdown{''.join(pandoc_extensions)}",
"-t",
"typst-citations",
"--wrap=preserve",
@@ -305,6 +321,10 @@ class DocsHelper:
content["is_wokwi"] = True
content["project_wokwi_id"] = info["wokwi_id"]
if info["is_analog"]:
content["is_analog"] = True
content["analog_pins"] = DocsHelper.format_analog_pins(info["analog_pins"])
return content
@staticmethod
+6 -3
View File
@@ -494,20 +494,23 @@
})
// add funding/sponsor page
page(context {
context {
// check if funding has been provided, otherwise we risk adding an empty page instead
if _funding_content.final() != [] {
page({
let funding_content = _funding_content.final()
let alt_title = _funding_alt_title.final()
if funding_content != [] {
if alt_title != none {
heading(level: 1, alt_title)
} else {
heading(level: 1, "Funding")
}
}
funding_content
})
}
}
page(include "../chapters/team.typ")
page(include "../chapters/using-this-datasheet.typ")