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-04 13:08:00 +00:00
parent 541f9f5b6e
commit a507fe53ae
37 changed files with 2682 additions and 135 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):
@@ -11,3 +34,5 @@ class Config(TypedDict):
top_level_macro: str
powered_netlists: bool
no_power_gating: bool
pdk: TechName
datasheet_config: DatasheetConfig