fix: wrap bare LaTeX math commands in dollar signs in prose text #66
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Site to GitHub Pages | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'Krampis-SyntheticLLMs-2026.md' # primary manuscript — always triggers PDF + HTML regen | |
| - 'paper-meta.yaml' | |
| - 'references.bib' | |
| - 'ieee.csl' | |
| - 'arxiv-preamble.tex' | |
| - '_templates/**' | |
| - 'slides-reveal.js/**' | |
| - 'feature_hierarchies/**' | |
| - 'figures/**' | |
| - '.github/workflows/deploy-pages.yml' | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| cache-dependency-path: slides-reveal.js/package-lock.json | |
| - name: Install Node dependencies | |
| working-directory: slides-reveal.js | |
| timeout-minutes: 5 | |
| run: npm ci | |
| - name: Install pandoc and LaTeX | |
| timeout-minutes: 15 | |
| run: | | |
| sudo apt-get update -qq | |
| sudo apt-get install -y pandoc \ | |
| texlive-latex-extra \ | |
| texlive-fonts-recommended \ | |
| texlive-science \ | |
| lmodern \ | |
| poppler-utils | |
| - name: Generate TikZ figures as PNG | |
| run: | | |
| for n in 1 2 3; do | |
| echo "Compiling fig${n}.tex..." | |
| pdflatex -interaction=nonstopmode -output-directory=figures figures/fig${n}.tex | |
| echo "Converting fig${n}.pdf to PNG..." | |
| pdftocairo -png -r 150 -singlefile figures/fig${n}.pdf figures/fig${n} | |
| ls -lh figures/fig${n}.png | |
| done | |
| - name: Compile paper PDF | |
| run: | | |
| pandoc Krampis-SyntheticLLMs-2026.md \ | |
| --metadata-file=paper-meta.yaml \ | |
| --pdf-engine=pdflatex \ | |
| -H arxiv-preamble.tex \ | |
| --from=markdown+tex_math_dollars \ | |
| --citeproc \ | |
| --bibliography references.bib \ | |
| --csl ieee.csl \ | |
| -o Krampis-SyntheticLLMs-2026.pdf | |
| ls -lh Krampis-SyntheticLLMs-2026.pdf | |
| - name: Generate landing page HTML | |
| run: | | |
| pandoc Krampis-SyntheticLLMs-2026.md \ | |
| --template _templates/website-template.html \ | |
| --from=markdown+tex_math_dollars \ | |
| --highlight-style=espresso \ | |
| --citeproc \ | |
| --bibliography references.bib \ | |
| --csl ieee.csl \ | |
| -o index.html | |
| ls -lh index.html | |
| - name: Convert docs markdown to HTML | |
| run: | | |
| mapfile -t md_files < <(find texts-md -maxdepth 1 -name "*.md" -type f | sort) | |
| echo "Found ${#md_files[@]} markdown files" | |
| mkdir -p _site/docs | |
| for md in "${md_files[@]}"; do | |
| base=$(basename "$md" .md) | |
| [ "$base" = "universality-references" ] && continue | |
| pandoc "$md" \ | |
| --standalone \ | |
| --from=markdown+tex_math_dollars \ | |
| --metadata title="${base//-/ }" \ | |
| --highlight-style=espresso \ | |
| -H _templates/doc-style.html \ | |
| -B _templates/doc-nav.html \ | |
| -o "_site/docs/${base}.html" | |
| echo "Converted: $base" | |
| done | |
| cp _templates/docs-index-header.html _site/docs/index.html | |
| for md in "${md_files[@]}"; do | |
| base=$(basename "$md" .md) | |
| [ "$base" = "universality-references" ] && continue | |
| label="${base//-/ }" | |
| echo " <li><a href=\"${base}.html\">${label}</a></li>" \ | |
| >> _site/docs/index.html | |
| done | |
| cat _templates/docs-index-footer.html >> _site/docs/index.html | |
| echo "Docs index built" | |
| - name: Assemble site | |
| run: | | |
| mkdir -p _site/presentation/node_modules/reveal.js/dist/theme | |
| mkdir -p _site/presentation/node_modules/reveal.js/plugin/zoom | |
| mkdir -p _site/presentation/node_modules/reveal.js/plugin/notes | |
| cp "Geometric_SAE_Invariance v1.pdf" "_site/Geometric_SAE_Invariance v1.pdf" | |
| cp Krampis-SyntheticLLMs-2026.pdf _site/Krampis-SyntheticLLMs-2026.pdf | |
| cp index.html _site/index.html | |
| cp slides-reveal.js/semantic-constraints-presentation.html \ | |
| _site/presentation/index.html | |
| cp slides-reveal.js/node_modules/reveal.js/dist/reset.css \ | |
| _site/presentation/node_modules/reveal.js/dist/ | |
| cp slides-reveal.js/node_modules/reveal.js/dist/reveal.css \ | |
| _site/presentation/node_modules/reveal.js/dist/ | |
| cp slides-reveal.js/node_modules/reveal.js/dist/reveal.js \ | |
| _site/presentation/node_modules/reveal.js/dist/ | |
| cp slides-reveal.js/node_modules/reveal.js/dist/theme/league.css \ | |
| _site/presentation/node_modules/reveal.js/dist/theme/ | |
| cp slides-reveal.js/node_modules/reveal.js/plugin/zoom/zoom.js \ | |
| _site/presentation/node_modules/reveal.js/plugin/zoom/ | |
| cp slides-reveal.js/node_modules/reveal.js/plugin/notes/notes.js \ | |
| _site/presentation/node_modules/reveal.js/plugin/notes/ | |
| cp -r feature_hierarchies _site/feature_hierarchies | |
| cp -r figures _site/figures | |
| touch _site/.nojekyll | |
| echo "Site assembled. Contents:" | |
| ls _site/ | |
| - name: Commit generated files back to repository | |
| run: | | |
| git config user.name "github-actions[bot]" | |
| git config user.email "github-actions[bot]@users.noreply.github.com" | |
| git add Krampis-SyntheticLLMs-2026.pdf index.html figures/fig1.png figures/fig2.png figures/fig3.png | |
| git diff --staged --quiet || git commit -m "chore: regenerate index.html and Krampis-SyntheticLLMs-2026.pdf from manuscript" | |
| git pull --rebase origin main | |
| git push origin main | |
| - name: Configure Pages | |
| uses: actions/configure-pages@v4 | |
| - name: Upload Pages artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: _site | |
| deploy: | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |