Typst static site template based on Zola, typst.ts, and apollo. See a live preview here.
- Install
yarn
and executeyarn install
. - Install
zola
following its document. - Install
typst-ts-cli
following its document. - Configure your site in
config.toml
. Full configuration options can be found in the apollo documentation.
-
appollo-typst
support both single files and workspaces:-
If a subdirectory of typ contains
main.typ
, it will be treated as a workspace, withmain.typ
serving as the entry point. -
Otherwise, each .typ file within the subdirectory will be compiled independently.
-
-
Create a
.md
file in thecontent
directory and write the metadata of the post in the front matter. Then, add theextra.typst
field to the front matter, specifying the name (relative path totyp/
) of the typst file or the typst workspace. The content of the markdown file will be ignored; instead, the content from the typst file will be utilized. For an example, refer tocontent/posts/test.md
. -
If the typst output has its own title, you can set
extra.hide_title = true
to prevent zola from generating a redundant title.
# If you updated the frontend
yarn build:fe
# If you updated the typst
yarn build:typ
# Final zola build
zola build
yarn serve
To deploy your site to GitHub Pages, you can use the provided GitHub Action in branch action-v1
:
Example .github/workflows/deployl.yaml
name: Deploy
on: workflow_dispatch
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: deploy
uses: dark-flames/apollo-typst@action-v1
with:
access-token: ${{ secrets.ACCESS_TOKEN }}
deploy-branch: static
# deploy-repo: ${{ another/repo }}
If you want to use custom page, remember to put CNAME
file in the static/
.