Myriad-Dreamin / shiroa

shiroa is a simple tool for creating modern online books in pure typst.
https://myriad-dreamin.github.io/shiroa/
Apache License 2.0
246 stars 16 forks source link

Deploy a github page #83

Open TeoEchavarria opened 1 month ago

TeoEchavarria commented 1 month ago

Is there any documentation available on how to display my notes online?

I currently use GitHub Pages, and the URL suffix /notes is available. I've already included them in the book-meta repository, but I believe more steps are needed.

Could someone provide a detailed, step-by-step guide on how to publish my notes on the web using GitHub Pages?

Myriad-Dreamin commented 1 month ago

You can stole the existing script: https://github.com/typst-doc-cn/tutorial/blob/main/.github/workflows/gh_pages.yml

  1. Allow deploying by action in your "Settings > Pages > Build and deployment" and select "Source" as "GitHub Actions".
  2. edit gh_pages.yml and commit it to your repository.

It will be great if somebody can check the above instructions and contribute it to documentation.

TeoEchavarria commented 1 month ago
name: {{repo-name}}::gh_pages
on:
  push:
    branches:
      - main
  workflow_dispatch:

permissions:
  pages: write
  id-token: write
  contents: read

# 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:
  build-gh-pages:
    runs-on: ubuntu-latest
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - run: git submodule update --init --recursive
      - name: Download font assets
        # use fonts in stable releases
        run: |
          mkdir -p assets/fonts/
          curl -L https://github.com/Myriad-Dreamin/shiroa/releases/download/v0.1.2/font-assets.tar.gz | tar -xvz -C assets/fonts
      - name: Download & install shiroa
        run: |
          curl -L https://github.com/Myriad-Dreamin/shiroa/releases/download/v0.2.0-nightly1/shiroa-x86_64-unknown-linux-gnu.tar.gz | tar -xvz
          chmod +x shiroa-x86_64-unknown-linux-gnu/bin/shiroa
          sudo cp shiroa-x86_64-unknown-linux-gnu/bin/shiroa /usr/bin/shiroa
      - name: Build Book
        run: |
          shiroa build --font-path ./assets/typst-fonts/ --font-path ./assets/fonts/ --path-to-root /{{repo-name}}/ -w . src 
      - name: Setup Pages
        uses: actions/configure-pages@v3
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v1
        with:
          # Upload `/github-pages` sub directory
          path: './dist'
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v2

In the end I ended up with something like this, but I feel like I needed a lot of files and documents from the "tutorial" repository to make it work.

And what I still have doubts is with the fact that. In my github pages it works, but when running shiroa serve it has problems with imports.