lhtml-site 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lhtml_site-1.0.0/CHANGELOG.md +104 -0
- lhtml_site-1.0.0/LICENSE.md +21 -0
- lhtml_site-1.0.0/MANIFEST.in +7 -0
- lhtml_site-1.0.0/PKG-INFO +384 -0
- lhtml_site-1.0.0/README.md +343 -0
- lhtml_site-1.0.0/pyproject.toml +75 -0
- lhtml_site-1.0.0/setup.cfg +4 -0
- lhtml_site-1.0.0/src/lhtml_site/__init__.py +0 -0
- lhtml_site-1.0.0/src/lhtml_site/browser.py +59 -0
- lhtml_site-1.0.0/src/lhtml_site/build_output.py +80 -0
- lhtml_site-1.0.0/src/lhtml_site/configuration.py +354 -0
- lhtml_site-1.0.0/src/lhtml_site/configure_example.yaml +113 -0
- lhtml_site-1.0.0/src/lhtml_site/credits.py +198 -0
- lhtml_site-1.0.0/src/lhtml_site/deck.py +423 -0
- lhtml_site-1.0.0/src/lhtml_site/dependencies.py +358 -0
- lhtml_site-1.0.0/src/lhtml_site/design.py +292 -0
- lhtml_site-1.0.0/src/lhtml_site/design_checks.py +125 -0
- lhtml_site-1.0.0/src/lhtml_site/development.py +210 -0
- lhtml_site-1.0.0/src/lhtml_site/docs/agents.md +250 -0
- lhtml_site-1.0.0/src/lhtml_site/docs/development.md +98 -0
- lhtml_site-1.0.0/src/lhtml_site/docs/reference.md +1076 -0
- lhtml_site-1.0.0/src/lhtml_site/doctor.py +191 -0
- lhtml_site-1.0.0/src/lhtml_site/extensions.py +151 -0
- lhtml_site-1.0.0/src/lhtml_site/feedback.js +151 -0
- lhtml_site-1.0.0/src/lhtml_site/feedback.py +145 -0
- lhtml_site-1.0.0/src/lhtml_site/figures.py +117 -0
- lhtml_site-1.0.0/src/lhtml_site/filesystem.py +182 -0
- lhtml_site-1.0.0/src/lhtml_site/front_matter.py +36 -0
- lhtml_site-1.0.0/src/lhtml_site/generate.py +1012 -0
- lhtml_site-1.0.0/src/lhtml_site/generator_tool.py +159 -0
- lhtml_site-1.0.0/src/lhtml_site/headings.py +221 -0
- lhtml_site-1.0.0/src/lhtml_site/index_page.py +39 -0
- lhtml_site-1.0.0/src/lhtml_site/layout/__init__.py +12 -0
- lhtml_site-1.0.0/src/lhtml_site/layout/analysis.py +785 -0
- lhtml_site-1.0.0/src/lhtml_site/layout/build.py +318 -0
- lhtml_site-1.0.0/src/lhtml_site/layout/findings.py +251 -0
- lhtml_site-1.0.0/src/lhtml_site/layout/geometry.py +28 -0
- lhtml_site-1.0.0/src/lhtml_site/layout/measure.py +367 -0
- lhtml_site-1.0.0/src/lhtml_site/layout/page.js +1087 -0
- lhtml_site-1.0.0/src/lhtml_site/layout/report.py +354 -0
- lhtml_site-1.0.0/src/lhtml_site/layout_options.py +110 -0
- lhtml_site-1.0.0/src/lhtml_site/lint.py +322 -0
- lhtml_site-1.0.0/src/lhtml_site/logger.py +70 -0
- lhtml_site-1.0.0/src/lhtml_site/markdown_page.py +110 -0
- lhtml_site-1.0.0/src/lhtml_site/menu.py +64 -0
- lhtml_site-1.0.0/src/lhtml_site/pages.py +276 -0
- lhtml_site-1.0.0/src/lhtml_site/pdf_export.py +227 -0
- lhtml_site-1.0.0/src/lhtml_site/plugins/code_include.py +197 -0
- lhtml_site-1.0.0/src/lhtml_site/plugins/pre_include.py +20 -0
- lhtml_site-1.0.0/src/lhtml_site/project.py +136 -0
- lhtml_site-1.0.0/src/lhtml_site/report_lock.py +80 -0
- lhtml_site-1.0.0/src/lhtml_site/source_map.py +369 -0
- lhtml_site-1.0.0/src/lhtml_site/source_scan.py +202 -0
- lhtml_site-1.0.0/src/lhtml_site/starters/site/01_welcome/assets/diagram.svg +7 -0
- lhtml_site-1.0.0/src/lhtml_site/starters/site/01_welcome/index.html.j2 +18 -0
- lhtml_site-1.0.0/src/lhtml_site/starters/site/02_writing/index.html.j2 +20 -0
- lhtml_site-1.0.0/src/lhtml_site/starters/slides/01_title/index.html.j2 +10 -0
- lhtml_site-1.0.0/src/lhtml_site/starters/slides/02_text/index.html.j2 +14 -0
- lhtml_site-1.0.0/src/lhtml_site/starters/slides/03_two_columns/index.html.j2 +18 -0
- lhtml_site-1.0.0/src/lhtml_site/starters/slides/04_image/assets/diagram.svg +7 -0
- lhtml_site-1.0.0/src/lhtml_site/starters/slides/04_image/index.html.j2 +14 -0
- lhtml_site-1.0.0/src/lhtml_site/structure.py +84 -0
- lhtml_site-1.0.0/src/lhtml_site/theme.py +112 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/css/classes.css +27 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/css/code.css +71 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/css/font.css +227 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/css/icons.css +27 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/css/main.css +141 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/css/pdf_export.css +6 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/design.yaml +335 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/LICENSE.md +93 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/README.md +18 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Black.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-BlackIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-BoldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-ExtraLight.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-ExtraLightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-It.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Light.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-LightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Medium.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-MediumIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Semibold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-SemiboldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/LICENSE.md +93 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/README.md +18 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Black.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-BlackIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Bold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-BoldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-ExtraLight.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-ExtraLightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-It.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Light.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-LightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Regular.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Semibold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-SemiboldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/icons/left_disabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/icons/left_enabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/icons/left_hover.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/icons/menu.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/icons/menu_hover.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/icons/right_disabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/icons/right_enabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/icons/right_hover.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/js/menu.js +63 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/js/navigation.js +84 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/js/presentation_resize_page.js +40 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/js/readiness.js +20 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/contrib/auto-render.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/contrib/copy-tex.min.css +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/contrib/copy-tex.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/contrib/mathtex-script-type.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/contrib/mhchem.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/contrib/render-a11y-string.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-Italic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Math-Italic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Script-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/katex.min.css +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/libs/katex/katex.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/template/base.html +80 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides/theme.yaml +11 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/css/classes.css +27 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/css/code.css +71 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/css/font.css +227 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/css/icons.css +27 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/css/main.css +141 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/css/pdf_export.css +6 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/design.yaml +3 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/LICENSE.md +93 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/README.md +18 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Black.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-BlackIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-BoldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-ExtraLight.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-ExtraLightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-It.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Light.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-LightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Medium.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-MediumIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Semibold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-SemiboldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/LICENSE.md +93 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/README.md +18 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Black.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-BlackIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Bold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-BoldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-ExtraLight.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-ExtraLightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-It.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Light.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-LightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Regular.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Semibold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-SemiboldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/icons/left_disabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/icons/left_enabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/icons/left_hover.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/icons/menu.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/icons/menu_hover.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/icons/right_disabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/icons/right_enabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/icons/right_hover.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/js/menu.js +62 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/js/navigation.js +84 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/js/presentation_resize_page.js +40 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/contrib/auto-render.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/contrib/copy-tex.min.css +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/contrib/copy-tex.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/contrib/mathtex-script-type.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/contrib/mhchem.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/contrib/render-a11y-string.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-Italic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Math-Italic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Script-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/katex.min.css +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/libs/katex/katex.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/template/base.html +76 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/slides-pdf/theme.yaml +13 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/css/classes.css +50 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/css/code.css +71 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/css/font.css +227 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/css/icons.css +27 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/css/main.css +390 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/LICENSE.md +93 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/README.md +18 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Black.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-BlackIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-BoldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-ExtraLight.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-ExtraLightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-It.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Light.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-LightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Medium.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-MediumIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-Semibold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_code_pro/WOFF2/TTF/SourceCodePro-SemiboldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/LICENSE.md +93 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/README.md +18 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Black.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-BlackIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Bold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-BoldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-ExtraLight.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-ExtraLightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-It.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Light.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-LightIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Regular.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-Semibold.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/fonts/source_serif_pro/WOFF2/TTF/SourceSerifPro-SemiboldIt.ttf.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/icons/down_enabled.svg +44 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/icons/left_disabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/icons/left_enabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/icons/left_hover.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/icons/menu.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/icons/menu_hover.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/icons/right_disabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/icons/right_enabled.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/icons/right_hover.svg +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/icons/up_enabled.svg +44 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/js/menu.js +270 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/js/title_id.js +51 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/contrib/auto-render.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/contrib/copy-tex.min.css +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/contrib/copy-tex.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/contrib/mathtex-script-type.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/contrib/mhchem.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/contrib/render-a11y-string.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-Italic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Math-Italic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Script-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/katex.min.css +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/libs/katex/katex.min.js +1 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/template/base.html +74 -0
- lhtml_site-1.0.0/src/lhtml_site/themes/webpage-frame/theme.yaml +11 -0
- lhtml_site-1.0.0/src/lhtml_site/tracking.py +34 -0
- lhtml_site-1.0.0/src/lhtml_site/video_cache.py +124 -0
- lhtml_site-1.0.0/src/lhtml_site/video_convert/__init__.py +0 -0
- lhtml_site-1.0.0/src/lhtml_site/video_convert/video_convert.py +151 -0
- lhtml_site-1.0.0/src/lhtml_site/wrap.py +91 -0
- lhtml_site-1.0.0/src/lhtml_site.egg-info/PKG-INFO +384 -0
- lhtml_site-1.0.0/src/lhtml_site.egg-info/SOURCES.txt +459 -0
- lhtml_site-1.0.0/src/lhtml_site.egg-info/dependency_links.txt +1 -0
- lhtml_site-1.0.0/src/lhtml_site.egg-info/entry_points.txt +2 -0
- lhtml_site-1.0.0/src/lhtml_site.egg-info/requires.txt +11 -0
- lhtml_site-1.0.0/src/lhtml_site.egg-info/top_level.txt +1 -0
- lhtml_site-1.0.0/tests/test_assets.py +150 -0
- lhtml_site-1.0.0/tests/test_build_safety.py +502 -0
- lhtml_site-1.0.0/tests/test_configuration.py +392 -0
- lhtml_site-1.0.0/tests/test_deck.py +485 -0
- lhtml_site-1.0.0/tests/test_dependencies.py +135 -0
- lhtml_site-1.0.0/tests/test_design.py +155 -0
- lhtml_site-1.0.0/tests/test_design_checks.py +68 -0
- lhtml_site-1.0.0/tests/test_development.py +86 -0
- lhtml_site-1.0.0/tests/test_doctor.py +73 -0
- lhtml_site-1.0.0/tests/test_extensions.py +133 -0
- lhtml_site-1.0.0/tests/test_feedback.py +138 -0
- lhtml_site-1.0.0/tests/test_filesystem.py +51 -0
- lhtml_site-1.0.0/tests/test_front_matter.py +134 -0
- lhtml_site-1.0.0/tests/test_headings.py +105 -0
- lhtml_site-1.0.0/tests/test_layout_integration.py +354 -0
- lhtml_site-1.0.0/tests/test_layout_report.py +600 -0
- lhtml_site-1.0.0/tests/test_layout_reuse.py +122 -0
- lhtml_site-1.0.0/tests/test_layouts.py +303 -0
- lhtml_site-1.0.0/tests/test_markdown.py +148 -0
- lhtml_site-1.0.0/tests/test_menu.py +117 -0
- lhtml_site-1.0.0/tests/test_only.py +165 -0
- lhtml_site-1.0.0/tests/test_packaging.py +92 -0
- lhtml_site-1.0.0/tests/test_pdf_export.py +295 -0
- lhtml_site-1.0.0/tests/test_plugin_order.py +70 -0
- lhtml_site-1.0.0/tests/test_project.py +336 -0
- lhtml_site-1.0.0/tests/test_projects.py +163 -0
- lhtml_site-1.0.0/tests/test_regressions.py +296 -0
- lhtml_site-1.0.0/tests/test_report_lock.py +40 -0
- lhtml_site-1.0.0/tests/test_source_map.py +216 -0
- lhtml_site-1.0.0/tests/test_source_scan.py +45 -0
- lhtml_site-1.0.0/tests/test_theme.py +77 -0
- lhtml_site-1.0.0/tests/test_tracking.py +15 -0
- lhtml_site-1.0.0/tests/test_video_cache.py +125 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to lhtml-site (`lhtml-site` on PyPI) are documented here.
|
|
4
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
5
|
+
|
|
6
|
+
## [1.0.0] - 2026-10-19
|
|
7
|
+
|
|
8
|
+
The first release on PyPI. The generator was named `static_website_lhtml`,
|
|
9
|
+
and projects used it as a copy or a submodule; it is now a package with a
|
|
10
|
+
command, `lhtml-site`, built on LHTML 3 (`lhtml-markup` on PyPI).
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- `pipx install lhtml-site` (or `pip install lhtml-site` in a virtual
|
|
14
|
+
environment) installs the command `lhtml-site`; `lhtml-site --version`
|
|
15
|
+
says its version and the LHTML it runs.
|
|
16
|
+
- `lhtml-site init [DIR] [--theme slides|slides-pdf|webpage-frame]` creates
|
|
17
|
+
a project: a `configure.yaml` and pages to start from in `src/` (four
|
|
18
|
+
slides, or two web pages). Over a directory that already has its pages in
|
|
19
|
+
`src/`, it writes only `configure.yaml`.
|
|
20
|
+
- `lhtml-site doctor` says, for each optional feature (PDF export, layout
|
|
21
|
+
report, videos, SASS, figures, code snippets, tidy), what it finds and the
|
|
22
|
+
command that installs what is missing for the way lhtml-site is
|
|
23
|
+
installed (`pipx inject` after pipx).
|
|
24
|
+
- `lhtml-site --serve --watch` builds, serves the site on localhost and
|
|
25
|
+
rebuilds it on save.
|
|
26
|
+
- A page says what it is in its front matter (the YAML at its top), and may
|
|
27
|
+
be written in Markdown (`index.md.j2`) as well as in LHTML
|
|
28
|
+
(`index.html.j2`).
|
|
29
|
+
- Projects of several decks, each built to several targets (the slides in
|
|
30
|
+
the browser, a PDF), the layout report (`--layout`), the lint of the
|
|
31
|
+
values written by hand (`--lint`).
|
|
32
|
+
- The PDF export runs Chromium through Playwright for Python, with the extra
|
|
33
|
+
`lhtml-site[pdf]` (playwright, pypdf) and
|
|
34
|
+
`python -m playwright install --only-shell chromium`: no Node.js, poppler
|
|
35
|
+
nor ImageMagick. One browser for the deck, a few slides at a time, each
|
|
36
|
+
printed once ready (fonts, math, images, a frame of each video) instead of
|
|
37
|
+
after a fixed 4 s; the images are screenshots at 3840 px, the merge is
|
|
38
|
+
pypdf. The outputs keep their names and layout. `lhtml-site doctor`
|
|
39
|
+
reports it.
|
|
40
|
+
- A progress bar while the PDF is made, on a terminal only (a log gets
|
|
41
|
+
nothing). Without Playwright, the build says what to install, the command
|
|
42
|
+
for the way lhtml-site is installed.
|
|
43
|
+
- The layout report (`--layout`, `--render`) runs in the same Chromium,
|
|
44
|
+
through Playwright for Python (`lhtml_site/layout/measure.py`; what runs
|
|
45
|
+
inside the page is `lhtml_site/layout/page.js`). Its reports are those of
|
|
46
|
+
the Node version: same blocks, problems and usual values of the deck
|
|
47
|
+
measured in the same browser. The pages of an existing report are measured
|
|
48
|
+
again once (the measuring code changed). On a deck of 35 slides, the
|
|
49
|
+
report takes 7.9 s instead of 9.5 s.
|
|
50
|
+
- A slide is printed once the promises a page or a demo (in an iframe too)
|
|
51
|
+
registered with `window.__lhtmlReady` are settled, as the layout report
|
|
52
|
+
already waited for them; the whole preparation of a slide is bounded (60
|
|
53
|
+
s), so a promise that never settles fails the slide instead of blocking
|
|
54
|
+
the export. After pipx, the commands to install are the same in the
|
|
55
|
+
README, in `lhtml-site doctor` and in the errors:
|
|
56
|
+
`pipx inject lhtml-site pypdf`, `pipx inject --include-apps lhtml-site
|
|
57
|
+
playwright`, then `playwright install --only-shell chromium`.
|
|
58
|
+
|
|
59
|
+
### Changed
|
|
60
|
+
- Requires LHTML 3 (`lhtml-markup>=3.0`), which reads no file: the
|
|
61
|
+
generator reads the sources, and `include::` is written with Jinja
|
|
62
|
+
(`{% include %}`). Coming from LHTML 2: the
|
|
63
|
+
[migration of LHTML](https://github.com/drohmer/lhtml/blob/main/docs/migration.md).
|
|
64
|
+
- The README leads to a first talk in a few commands, opened from the disk
|
|
65
|
+
(`lhtml-site`, then `.site/index.html`; `--watch` to rebuild on save, and
|
|
66
|
+
`init` says the same); the reference moves to
|
|
67
|
+
[docs/reference.md](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md),
|
|
68
|
+
with the details of the PDF export.
|
|
69
|
+
- The package holds the themes, plugins and starters but not the demo
|
|
70
|
+
course, and the themes ship their fonts as WOFF2 only: the wheel is about
|
|
71
|
+
8 MB.
|
|
72
|
+
- The id of a heading is the one of the generator copied into projects
|
|
73
|
+
since April 2026 (` -,.:()` become `_`, then `__` becomes `_`), so links
|
|
74
|
+
into the sites it built keep working; a site built by an older copy
|
|
75
|
+
changes the id of its headings with these characters (`Part - One`:
|
|
76
|
+
`part___one` before, `part__one` now). A repeated heading gets distinct
|
|
77
|
+
ids (`_id2`, `_id3`...) and characters unsafe in a URL are removed.
|
|
78
|
+
- The "Page content" column of the theme webpage-frame is read in the page
|
|
79
|
+
(its level-2 headings with an id), not fetched from a JSON file: it is
|
|
80
|
+
shown when the site is opened from disk (`file://`), where it was empty,
|
|
81
|
+
and lists the headings as the page shows them (`== One **bold**` is
|
|
82
|
+
"One bold", it was "One \*\*bold\*\*").
|
|
83
|
+
- A heading whose text comes from Jinja gets its id from its text as
|
|
84
|
+
rendered, unique in its page: each occurrence of a page reused with
|
|
85
|
+
`params` has the id of its own title (`interpolation_de_key_l1`; it was
|
|
86
|
+
`_parties[current__1]_id2_l1`, the same source for all of them), and
|
|
87
|
+
each heading of a `{% for %}` loop has its own. The ids of the headings
|
|
88
|
+
written as text do not change: links into published sites keep working.
|
|
89
|
+
|
|
90
|
+
### Removed
|
|
91
|
+
- Node.js is no longer used: the Node PDF export of `static_website_lhtml`
|
|
92
|
+
(puppeteer, poppler, ImageMagick, `LHTML_PDF_ENGINE`), the Node scripts of
|
|
93
|
+
the layout report, `package.json`. `lhtml-site doctor` no longer looks for
|
|
94
|
+
Node, puppeteer or a Chrome of its own.
|
|
95
|
+
- The site no longer holds `<page>.title_id.json`, `title_id.json` nor
|
|
96
|
+
`structure/title_id.json` (144 files, 592 KB on a deck of 78 slides).
|
|
97
|
+
The record of the headings that `--only` needs is build state, in
|
|
98
|
+
`.verification/headings.json`; the `structure/title_id.json` of a site
|
|
99
|
+
built by an older copy is read once in its place.
|
|
100
|
+
|
|
101
|
+
### Fixed
|
|
102
|
+
- The slides no longer write their menu in the console of the browser.
|
|
103
|
+
|
|
104
|
+
[1.0.0]: https://github.com/drohmer/lhtml-site/releases/tag/v1.0.0
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 Damien Rohmer <damien.rohmer@polytechnique.edu>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# The sdist: the package as pyproject.toml lists it, its tests and the changelog.
|
|
2
|
+
# Never the demo course (its videos stay in a checkout), nor what a build or a
|
|
3
|
+
# test run leaves behind - even when a stale *.egg-info/SOURCES.txt lists it.
|
|
4
|
+
include CHANGELOG.md
|
|
5
|
+
prune src/lhtml_site/example
|
|
6
|
+
global-exclude *.py[cod] .DS_Store
|
|
7
|
+
prune **/__pycache__
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: lhtml-site
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Static website and slide generator built on LHTML and Jinja2
|
|
5
|
+
Author: Damien Rohmer
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Repository, https://github.com/drohmer/lhtml-site
|
|
8
|
+
Project-URL: Documentation, https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md
|
|
9
|
+
Project-URL: Changelog, https://github.com/drohmer/lhtml-site/blob/main/CHANGELOG.md
|
|
10
|
+
Project-URL: Issues, https://github.com/drohmer/lhtml-site/issues
|
|
11
|
+
Project-URL: LHTML, https://github.com/drohmer/lhtml
|
|
12
|
+
Keywords: static site generator,slides,presentation,lhtml,jinja2,teaching
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Education
|
|
16
|
+
Classifier: Intended Audience :: Science/Research
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
24
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
|
|
25
|
+
Classifier: Topic :: Multimedia :: Graphics :: Presentation
|
|
26
|
+
Classifier: Topic :: Text Processing :: Markup :: HTML
|
|
27
|
+
Requires-Python: >=3.11
|
|
28
|
+
Description-Content-Type: text/markdown
|
|
29
|
+
License-File: LICENSE.md
|
|
30
|
+
Requires-Dist: lhtml-markup>=3.0
|
|
31
|
+
Requires-Dist: Jinja2
|
|
32
|
+
Requires-Dist: markdown-it-py
|
|
33
|
+
Requires-Dist: jinja-markdown
|
|
34
|
+
Requires-Dist: pytidylib
|
|
35
|
+
Requires-Dist: pyyaml
|
|
36
|
+
Requires-Dist: rich
|
|
37
|
+
Provides-Extra: pdf
|
|
38
|
+
Requires-Dist: playwright>=1.49; extra == "pdf"
|
|
39
|
+
Requires-Dist: pypdf>=4; extra == "pdf"
|
|
40
|
+
Dynamic: license-file
|
|
41
|
+
|
|
42
|
+
# lhtml-site
|
|
43
|
+
|
|
44
|
+
Write your talks and course websites as short text files: lhtml-site turns
|
|
45
|
+
them into slides shown in the browser, a PDF of the slides, or a website
|
|
46
|
+
with a menu. It is made for teachers and researchers; no web development is
|
|
47
|
+
needed.
|
|
48
|
+
|
|
49
|
+
A slide is a text file in [LHTML](https://github.com/drohmer/lhtml), a light
|
|
50
|
+
markup over HTML:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
{% set layout = 'side' %}
|
|
54
|
+
|
|
55
|
+
= A slide with an image
|
|
56
|
+
|
|
57
|
+
The layout side puts the text on the left, and the figures of the media block
|
|
58
|
+
on the right, fitted to the column.
|
|
59
|
+
|
|
60
|
+
* Put the image next to the slide, in assets/
|
|
61
|
+
* Name it in the media block below
|
|
62
|
+
|
|
63
|
+
media::
|
|
64
|
+
img::assets/diagram.svg
|
|
65
|
+
credit:: An image of the slide (assets/diagram.svg) ::
|
|
66
|
+
::
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
and lhtml-site shows it as:
|
|
70
|
+
|
|
71
|
+

|
|
72
|
+
|
|
73
|
+
Pages can also use Jinja2 templates and be written in Markdown. The output
|
|
74
|
+
is a static site: open it from the disk, or copy it to any web host.
|
|
75
|
+
|
|
76
|
+
## Getting started: your first slides
|
|
77
|
+
|
|
78
|
+
**What you need**: Python 3.11 or newer ([python.org](https://www.python.org/downloads/)),
|
|
79
|
+
and [pipx](https://pipx.pypa.io/stable/installation/), which installs
|
|
80
|
+
commands written in Python: `brew install pipx` on macOS, `sudo apt install
|
|
81
|
+
pipx` on Debian or Ubuntu, `py -m pip install --user pipx` on Windows; then
|
|
82
|
+
`pipx ensurepath`, and open a new terminal. (Without pipx, see
|
|
83
|
+
[Installation](#installation).)
|
|
84
|
+
|
|
85
|
+
**1. Install lhtml-site and create a talk.** In a terminal:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
pipx install lhtml-site
|
|
89
|
+
lhtml-site init my-talk --theme slides
|
|
90
|
+
cd my-talk
|
|
91
|
+
lhtml-site
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
`init` creates a directory `my-talk/` with a configuration and four slides
|
|
95
|
+
to start from; `lhtml-site` builds them:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
my-talk/
|
|
99
|
+
configure.yaml the configuration
|
|
100
|
+
src/
|
|
101
|
+
01_title/index.html.j2 a title slide
|
|
102
|
+
02_text/index.html.j2 a slide of text: lists, math, a link
|
|
103
|
+
03_two_columns/index.html.j2 two columns
|
|
104
|
+
04_image/index.html.j2 text, and an image on the right
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**2. Show it.** `lhtml-site` has built the slides into `.site/`: open
|
|
108
|
+
`.site/index.html` in your browser, no server needed (in the terminal,
|
|
109
|
+
`open .site/index.html` on macOS, `start .site\index.html` on Windows,
|
|
110
|
+
`xdg-open .site/index.html` on Linux). Go from slide to slide with the
|
|
111
|
+
arrow keys, or with the arrows at the bottom right; the icon next to them
|
|
112
|
+
opens the list of the slides.
|
|
113
|
+
|
|
114
|
+
After a change, run `lhtml-site` again and refresh the browser. To rebuild
|
|
115
|
+
without retyping it, run `lhtml-site --watch` instead: it rebuilds the
|
|
116
|
+
slides each time you save a file. **Keep that terminal open while you
|
|
117
|
+
work**, refresh the browser to see the change, and press Ctrl+C in the
|
|
118
|
+
terminal to stop. `lhtml-site --serve --watch` does the same and also shows
|
|
119
|
+
the slides at <http://127.0.0.1:8000/>, which only a few features need, such
|
|
120
|
+
as the [comments on the render](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#local-preview).
|
|
121
|
+
|
|
122
|
+
**3. Add a slide.** A slide is a directory of `src/` with a file
|
|
123
|
+
`index.html.j2` in it. Duplicate `src/02_text` (in your file explorer, or
|
|
124
|
+
`cp -r src/02_text src/05_my_slide` in the terminal, from `my-talk/`) and
|
|
125
|
+
name the copy `05_my_slide`. The slides follow the order of their
|
|
126
|
+
directories, hence the numbers: `05_my_slide` comes last; name it
|
|
127
|
+
`02b_my_slide` to put it after `02_text`.
|
|
128
|
+
|
|
129
|
+
**4. Write it.** Open `src/05_my_slide/index.html.j2` in a text editor, and
|
|
130
|
+
replace its content with:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
= My first slide
|
|
134
|
+
|
|
135
|
+
* A first idea
|
|
136
|
+
* An **important** point
|
|
137
|
+
* A conclusion
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Save, rebuild (`lhtml-site`, unless `lhtml-site --watch` is running), and
|
|
141
|
+
refresh the browser.
|
|
142
|
+
|
|
143
|
+
- A line starting with `=` is the title of the slide, and its name in the
|
|
144
|
+
list of the slides.
|
|
145
|
+
- A line starting with `*` is an item of a list; `**` at the start of a
|
|
146
|
+
line, a sub-item. The `slides` theme shows no bullet before them.
|
|
147
|
+
- `**word**` is bold, `__word__` italic.
|
|
148
|
+
|
|
149
|
+
**5. Put an image in it.** Copy your image (PNG, JPEG or SVG), say
|
|
150
|
+
`photo.png`, into `src/04_image/assets/` (the directory is already there);
|
|
151
|
+
then, in `src/04_image/index.html.j2`, replace `img::assets/diagram.svg`
|
|
152
|
+
with `img::assets/photo.png`, and the caption on the line `credit::` with
|
|
153
|
+
yours. Save and rebuild: the image is on the right of the slide, fitted to
|
|
154
|
+
its column. An image belongs to the directory of its slide, in `assets/`.
|
|
155
|
+
|
|
156
|
+
The four starter slides also show, each in a few lines: math
|
|
157
|
+
(`\(e^{i\pi} + 1 = 0\)`), a link, a space (`gap::`) and small text in
|
|
158
|
+
`02_text`, two columns (`cols::` and `col::`) in `03_two_columns`. All the
|
|
159
|
+
macros and layouts of the slides are in
|
|
160
|
+
[Design](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#design-tokens-macros-and-layouts),
|
|
161
|
+
and the markup in [LHTML](https://github.com/drohmer/lhtml).
|
|
162
|
+
|
|
163
|
+
**6. Come back to it later.** Open a terminal, go into the talk's
|
|
164
|
+
directory, and rebuild (or let it rebuild as you save):
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
cd my-talk
|
|
168
|
+
lhtml-site --watch
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**7. Share it.** Your talk is `configure.yaml` and `src/`: keep them (a
|
|
172
|
+
backup, or a git repository). The slides are built into `.site/`, which
|
|
173
|
+
`lhtml-site` rebuilds from them at any time. To show the slides on another
|
|
174
|
+
computer, copy `.site/` and open its `index.html`; to put them online, copy
|
|
175
|
+
`.site/` to any web host (GitHub Pages, the server of your university).
|
|
176
|
+
`.site/` is hidden, as any name starting with a dot: Cmd+Shift+. shows it in
|
|
177
|
+
the macOS Finder, *View > Hidden items* in the Windows explorer. Next to it,
|
|
178
|
+
`.structure/` and `.verification/` are working files of the build: leave
|
|
179
|
+
them.
|
|
180
|
+
|
|
181
|
+
To order the slides without renaming them, or to reuse a slide, list them in
|
|
182
|
+
a [deck](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#deck-order-of-the-slides).
|
|
183
|
+
|
|
184
|
+
## Your talk as a PDF
|
|
185
|
+
|
|
186
|
+
Install the PDF export once (see [PDF export](#pdf-export)): when
|
|
187
|
+
`lhtml-site doctor` says *ready* on its line *PDF export*,
|
|
188
|
+
replace the line `theme: 'slides'` of the talk's `configure.yaml` with:
|
|
189
|
+
|
|
190
|
+
```yaml
|
|
191
|
+
theme: 'slides-pdf'
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
and build, in the talk's directory:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
lhtml-site
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
It writes `slides.pdf`, and `images/` with an image of each slide, next to
|
|
201
|
+
`configure.yaml` (a few seconds for a few slides). With this theme the HTML
|
|
202
|
+
of the slides is only a step towards the PDF, and is not kept; put
|
|
203
|
+
`theme: 'slides'` back to work on the slides in the browser. To get both at
|
|
204
|
+
each build, the slides in the browser and the PDF, declare two targets:
|
|
205
|
+
[Decks and targets](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#decks-and-targets).
|
|
206
|
+
|
|
207
|
+
## Websites and themes
|
|
208
|
+
|
|
209
|
+
- A website (documentation, a course) rather than slides:
|
|
210
|
+
`lhtml-site init my-site` (the `webpage-frame` theme, two pages to start
|
|
211
|
+
from).
|
|
212
|
+
- *You already have your pages* in a directory `src/`: in the directory that
|
|
213
|
+
contains `src/`, run `lhtml-site init --theme slides`. It writes only
|
|
214
|
+
`configure.yaml` there; nothing else is created or changed.
|
|
215
|
+
|
|
216
|
+
The theme is the `--theme` of `init`, or the key `theme:` of
|
|
217
|
+
`configure.yaml`:
|
|
218
|
+
|
|
219
|
+
| Theme | For | Needs |
|
|
220
|
+
|---|---|---|
|
|
221
|
+
| `webpage-frame` (default) | Web pages: documentation, a course website, with a navigation menu | nothing more |
|
|
222
|
+
| `slides` | Slides shown in the browser, 1920x1080, one page per slide | nothing more |
|
|
223
|
+
| `slides-pdf` | The same slides, exported to a PDF, with an image of each slide | Playwright and its Chromium: see [PDF export](#pdf-export) |
|
|
224
|
+
|
|
225
|
+
Change the theme at any time by editing `theme:`; it also takes the
|
|
226
|
+
directory of a theme of your own. To publish the same slides both in the
|
|
227
|
+
browser and as a PDF, see
|
|
228
|
+
[Decks and targets](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#decks-and-targets).
|
|
229
|
+
|
|
230
|
+
## Installation
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
pipx install lhtml-site # the command lhtml-site, in an environment of its own
|
|
234
|
+
pipx upgrade lhtml-site # later, to update it
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Without pipx, in a virtual environment (Homebrew and recent system Pythons
|
|
238
|
+
refuse a `pip install` outside one). On macOS and Linux:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
python3 -m venv ~/.venvs/lhtml-site
|
|
242
|
+
source ~/.venvs/lhtml-site/bin/activate # fish: activate.fish
|
|
243
|
+
python -m pip install lhtml-site
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
On Windows, in PowerShell:
|
|
247
|
+
|
|
248
|
+
```powershell
|
|
249
|
+
py -m venv $HOME\.venvs\lhtml-site
|
|
250
|
+
& $HOME\.venvs\lhtml-site\Scripts\Activate.ps1
|
|
251
|
+
python -m pip install lhtml-site
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
The command `lhtml-site` is then there while that environment is active
|
|
255
|
+
(the `source` or `Activate.ps1` line again, in a new terminal).
|
|
256
|
+
`lhtml-site --version` prints the installed version and the version of
|
|
257
|
+
LHTML it runs. Development version:
|
|
258
|
+
`pipx install git+https://github.com/drohmer/lhtml-site`.
|
|
259
|
+
|
|
260
|
+
**Requirements**: Python 3.11 or newer, on Linux, macOS or Windows.
|
|
261
|
+
Installed with it: `lhtml-markup` (LHTML 3), `Jinja2`, `jinja-markdown`,
|
|
262
|
+
`markdown-it-py`, `pytidylib`, `pyyaml`, `rich`. That is all a site of HTML
|
|
263
|
+
pages or slides needs: no Node, no browser, no other program.
|
|
264
|
+
|
|
265
|
+
### Optional features
|
|
266
|
+
|
|
267
|
+
Each optional feature needs its own tools. `lhtml-site doctor` says, for
|
|
268
|
+
each feature, what it finds and the command that installs what is missing,
|
|
269
|
+
for the way lhtml-site is installed:
|
|
270
|
+
|
|
271
|
+
| Feature | Needs |
|
|
272
|
+
|---|---|
|
|
273
|
+
| PDF export (`slides-pdf`) | `playwright` and `pypdf` (Python, the extra `lhtml-site[pdf]`) and Playwright's Chromium: see [PDF export](#pdf-export) |
|
|
274
|
+
| Layout report (`--layout`, `--render`) | the same `playwright` and Chromium |
|
|
275
|
+
| Videos in several codecs (`cache_video_directory:`) | `ffmpeg`, and `ffpb` (Python) |
|
|
276
|
+
| SASS (`.sass` files) | `libsass` (Python) |
|
|
277
|
+
| Figures in code (`*.svg.py`, `*.svg.tex`) | the libraries their scripts import, such as `matplotlib`, `numpy` (Python); `latex` and `dvisvgm` (TeX Live) |
|
|
278
|
+
| Code of other repositories (`code_include.py`) | `git` |
|
|
279
|
+
| HTML cleaned by tidy (`use_tidy: true`) | the library `libtidy` |
|
|
280
|
+
|
|
281
|
+
**Python packages after pipx.** pipx installs lhtml-site in an environment
|
|
282
|
+
of its own: `pip install matplotlib` puts the package into another Python,
|
|
283
|
+
where lhtml-site does not find it. Inject the packages into its environment
|
|
284
|
+
instead:
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
pipx inject lhtml-site matplotlib numpy # figures in code
|
|
288
|
+
pipx inject lhtml-site libsass # SASS
|
|
289
|
+
pipx inject --include-apps lhtml-site ffpb # videos (a command: --include-apps)
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
In a virtual environment or a checkout, `pip install matplotlib numpy` (and
|
|
293
|
+
`libsass`, `ffpb`) in the Python that runs lhtml-site does the same.
|
|
294
|
+
|
|
295
|
+
### PDF export
|
|
296
|
+
|
|
297
|
+
The PDF export, and the layout report, run Chromium through Playwright for
|
|
298
|
+
Python: two Python packages and a browser, no Node.js. After
|
|
299
|
+
`pipx install lhtml-site`:
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
pipx inject lhtml-site pypdf
|
|
303
|
+
pipx inject --include-apps lhtml-site playwright
|
|
304
|
+
playwright install --only-shell chromium # Playwright's Chromium, about 200 MB, once
|
|
305
|
+
lhtml-site doctor # PDF export (...): ready
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
`--include-apps` puts the `playwright` command of lhtml-site's environment
|
|
309
|
+
on your PATH, so that the browser downloaded is the one its Playwright
|
|
310
|
+
expects. If pipx warns that another `playwright` is already on your PATH,
|
|
311
|
+
run the command that `lhtml-site doctor` gives instead. In a virtual
|
|
312
|
+
environment or a checkout: `pip install "lhtml-site[pdf]"`, then
|
|
313
|
+
`python -m playwright install --only-shell chromium`. On Linux, Playwright
|
|
314
|
+
may also ask for the system libraries of Chromium:
|
|
315
|
+
`playwright install-deps chromium`. The configuration key `chrome` names a
|
|
316
|
+
Chromium or Chrome already installed, to use instead of the download.
|
|
317
|
+
|
|
318
|
+
How the export waits for each slide is in the
|
|
319
|
+
[reference](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#pdf-export).
|
|
320
|
+
|
|
321
|
+
## From a checkout
|
|
322
|
+
|
|
323
|
+
A clone, or a submodule of a project:
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
git clone https://github.com/drohmer/lhtml-site.git
|
|
327
|
+
cd lhtml-site
|
|
328
|
+
pip install -r requirements.txt
|
|
329
|
+
python generate.py ... # the same as lhtml-site ...
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
`generate.py` at the root of the repository runs the lhtml-site of the
|
|
333
|
+
checkout (its code is in `src/lhtml_site/`), so the projects that include it
|
|
334
|
+
as a submodule call `python <submodule>/generate.py`, and keep naming its
|
|
335
|
+
files as `<submodule>/themes/slides/` or `<submodule>/plugins/pre_include.py`
|
|
336
|
+
(they are found in `src/lhtml_site/`). `pip install -e .` in a checkout
|
|
337
|
+
installs the command from it.
|
|
338
|
+
|
|
339
|
+
The checkout also holds a complete demo, a course website with its videos,
|
|
340
|
+
in `src/lhtml_site/example/` (not installed by pip: too heavy). To build it:
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
mkdir demo
|
|
344
|
+
cp -r src/lhtml_site/example demo/src
|
|
345
|
+
python generate.py init demo
|
|
346
|
+
cd demo
|
|
347
|
+
python ../generate.py --serve --watch
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
The tests, the locked dependencies and the layout of the repository are in
|
|
351
|
+
[Development](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/development.md).
|
|
352
|
+
|
|
353
|
+
## Documentation
|
|
354
|
+
|
|
355
|
+
- [Reference](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md):
|
|
356
|
+
the [command line](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#cli-options),
|
|
357
|
+
the [preview server](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#local-preview)
|
|
358
|
+
and the comments on the render,
|
|
359
|
+
the [configuration](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#configuration),
|
|
360
|
+
[decks and targets](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#decks-and-targets),
|
|
361
|
+
[Markdown pages](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#markdown-pages),
|
|
362
|
+
[template variables](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#template-variables),
|
|
363
|
+
the [order of the slides](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#deck-order-of-the-slides),
|
|
364
|
+
[themes](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#theme-what-it-declares-about-the-build),
|
|
365
|
+
the [PDF export](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#pdf-export),
|
|
366
|
+
the [design](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#design-tokens-macros-and-layouts)
|
|
367
|
+
(tokens, macros, layouts), [credits and figures in code](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#credits-origin-of-the-slides-figures-in-code),
|
|
368
|
+
[plugins](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#plugins),
|
|
369
|
+
the [layout report](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#layout-report-llm-assisted-slide-layout),
|
|
370
|
+
[error reporting](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#error-reporting),
|
|
371
|
+
and [migrating from static_website_lhtml](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/reference.md#migrating-from-the-previous-layout).
|
|
372
|
+
- [Writing slides with an AI agent](https://github.com/drohmer/lhtml-site/blob/main/src/lhtml_site/docs/agents.md):
|
|
373
|
+
the procedure an agent follows (each build copies it into `.structure/agents.md`).
|
|
374
|
+
- [LHTML](https://github.com/drohmer/lhtml): the markup of the pages.
|
|
375
|
+
|
|
376
|
+
## Help and changes
|
|
377
|
+
|
|
378
|
+
- Questions and bugs: [GitHub issues](https://github.com/drohmer/lhtml-site/issues).
|
|
379
|
+
- What changed in each version: [CHANGELOG](https://github.com/drohmer/lhtml-site/blob/main/CHANGELOG.md).
|
|
380
|
+
|
|
381
|
+
## License
|
|
382
|
+
|
|
383
|
+
MIT, see [LICENSE.md](https://github.com/drohmer/lhtml-site/blob/main/LICENSE.md).
|
|
384
|
+
By Damien Rohmer.
|