mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-29 07:07:20 -05:00
feat: write the site for Starlight behind a flag
generate_site.py --engine starlight writes the pages, navigation and data files of an Astro Starlight project in website/. Links resolve to site addresses, every heading keeps its MkDocs id, and pages split by size are measured in the MkDocs Markdown so both builds cut the same files. The 839 pages and their 45,613 ids match the MkDocs build.
This commit is contained in:
1 parent
d2974660eb
commit
342d0f7271
26 files changed
+7817
-60
No files matched your search
@@ -13,6 +13,7 @@ from __future__ import annotations
|
||||
|
||||
import html
|
||||
import re
|
||||
from contextlib import contextmanager
|
||||
|
||||
ENGINES = ("mkdocs", "starlight")
|
||||
_engine = "mkdocs"
|
||||
@@ -39,6 +40,19 @@ def engine() -> str:
|
||||
return _engine
|
||||
|
||||
|
||||
@contextmanager
|
||||
def using(name: str):
|
||||
"""Write in another engine's syntax for a while. A page split by size
|
||||
is measured in the MkDocs Markdown its budgets were tuned on, so both
|
||||
engines cut the same pages at the same files."""
|
||||
previous = _engine
|
||||
set_engine(name)
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
set_engine(previous)
|
||||
|
||||
|
||||
def starlight() -> bool:
|
||||
return _engine == "starlight"
|
||||
|
||||
|
||||
Reference in new issue
Block a user