feat(datasheet): add typst datasheet flow

This is a squash of 5 commits in order to add the new datasheet flow.

fix(datasheet): ensure datasheet can use images properly

fix(datasheet): 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(datasheet): missing analog pin tables

fix(datasheet): 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:
Kristaps Jurkans
2025-12-05 13:16:59 +00:00
parent 24de353b9d
commit 6994c804d7
37 changed files with 2792 additions and 141 deletions
+26 -1
View File
@@ -1,4 +1,27 @@
from typing import TypedDict
from typing import List, Literal, TypedDict
from tech import TechName
class ArtworkEntryType(TypedDict):
"""TypedDict for artwork, used by `config.DatasheetConfig`"""
id: str
rotate: str
class DatasheetConfig(TypedDict):
"""TypedDict for the datasheet config within Tiny Tapeout's config.yaml file"""
pinout: Literal["caravel", "openframe"]
theme_override_colour: str
show_chip_viewer: bool
link_disable_colour: bool
link_override_colour: str
qrcode_follows_theme: bool
include: List[str]
disabled: List[str]
artwork: List[ArtworkEntryType]
class Config(TypedDict):
@@ -9,3 +32,5 @@ class Config(TypedDict):
project_dir: str
end_date: str
openframe: bool
pdk: TechName
datasheet_config: DatasheetConfig