Skip to content

Added Presentation View Tutorial #225

Added Presentation View Tutorial

Added Presentation View Tutorial #225

Workflow file for this run

# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages
on:
# Production deploy: pushes to main only (includes merges from dev → main)
push:
branches: ["main"]
paths-ignore:
- '**/*.md' # .md files anywhere in the repo
- '**/LICENSE' # LICENSE files anywhere in the repo
- '**/.gitignore' # .gitignore files anywhere in the repo
- '**/*.cursorrules' # .cursorrules files anywhere in the repo
# Manual redeploy from Actions tab (main branch only; see job `if`)
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
deploy:
# citrana.soothsayer.life ← main only (never dev, never open PRs)
if: github.ref == 'refs/heads/main'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '22'
- name: Install minification tools
run: |
npm install -g clean-css-cli terser
- name: Minify CSS
run: |
cleancss -o assets/css/styles.min.css assets/css/styles.css
- name: Minify local JavaScript files
run: |
terser assets/js/citrana-annotation-fonts.js -o assets/js/citrana-annotation-fonts.min.js --compress --mangle
terser assets/js/citrana-app.js -o assets/js/citrana-app.min.js --compress --mangle
terser assets/js/citrana-arrow.js -o assets/js/citrana-arrow.min.js --compress --mangle
terser assets/js/citrana-canvas-hints.js -o assets/js/citrana-canvas-hints.min.js --compress --mangle
terser assets/js/citrana-chart-coordinator.js -o assets/js/citrana-chart-coordinator.min.js --compress --mangle
terser assets/js/citrana-chart-templates-north.js -o assets/js/citrana-chart-templates-north.min.js --compress --mangle
terser assets/js/citrana-chart-templates-south.js -o assets/js/citrana-chart-templates-south.min.js --compress --mangle
terser assets/js/citrana-colorpicker.js -o assets/js/citrana-colorpicker.min.js --compress --mangle
terser assets/js/citrana-context-menu.js -o assets/js/citrana-context-menu.min.js --compress --mangle
terser assets/js/citrana-debug.js -o assets/js/citrana-debug.min.js --compress --mangle
terser assets/js/citrana-device.js -o assets/js/citrana-device.min.js --compress --mangle
terser assets/js/citrana-drawing-tools.js -o assets/js/citrana-drawing-tools.min.js --compress --mangle
terser assets/js/citrana-edit-ui.js -o assets/js/citrana-edit-ui.min.js --compress --mangle
terser assets/js/citrana-history.js -o assets/js/citrana-history.min.js --compress --mangle
terser assets/js/citrana-items-menu.js -o assets/js/citrana-items-menu.min.js --compress --mangle
terser assets/js/citrana-laser.js -o assets/js/citrana-laser.min.js --compress --mangle
terser assets/js/citrana-planet-system.js -o assets/js/citrana-planet-system.min.js --compress --mangle
terser assets/js/citrana-rashis.js -o assets/js/citrana-rashis.min.js --compress --mangle
terser assets/js/citrana-selection.js -o assets/js/citrana-selection.min.js --compress --mangle
terser assets/js/citrana-session.js -o assets/js/citrana-session.min.js --compress --mangle
terser assets/js/citrana-zoom.js -o assets/js/citrana-zoom.min.js --compress --mangle
- name: Update HTML to use minified local files only
run: |
# Update CSS reference
sed -i 's|href="assets/css/styles.css"|href="assets/css/styles.min.css"|g' index.html
# Update only local JS files (not CDN or Vendor files)
sed -i 's|src="assets/js/citrana-annotation-fonts.js"|src="assets/js/citrana-annotation-fonts.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-app.js"|src="assets/js/citrana-app.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-arrow.js"|src="assets/js/citrana-arrow.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-canvas-hints.js"|src="assets/js/citrana-canvas-hints.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-chart-coordinator.js"|src="assets/js/citrana-chart-coordinator.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-chart-templates-north.js"|src="assets/js/citrana-chart-templates-north.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-chart-templates-south.js"|src="assets/js/citrana-chart-templates-south.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-colorpicker.js"|src="assets/js/citrana-colorpicker.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-context-menu.js"|src="assets/js/citrana-context-menu.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-debug.js"|src="assets/js/citrana-debug.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-device.js"|src="assets/js/citrana-device.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-drawing-tools.js"|src="assets/js/citrana-drawing-tools.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-edit-ui.js"|src="assets/js/citrana-edit-ui.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-history.js"|src="assets/js/citrana-history.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-items-menu.js"|src="assets/js/citrana-items-menu.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-laser.js"|src="assets/js/citrana-laser.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-planet-system.js"|src="assets/js/citrana-planet-system.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-rashis.js"|src="assets/js/citrana-rashis.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-selection.js"|src="assets/js/citrana-selection.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-session.js"|src="assets/js/citrana-session.min.js"|g' index.html
sed -i 's|src="assets/js/citrana-zoom.js"|src="assets/js/citrana-zoom.min.js"|g' index.html
- name: Setup Pages
uses: actions/configure-pages@v6
- name: Upload artifact
uses: actions/upload-pages-artifact@v5
with:
# Upload entire repository
path: '.'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5