Typst static site template based on Zola, typst.ts, and apollo. See a live preview here.
- Install
yarnand executeyarn install. - Install
zolafollowing its document. - Install
typst-ts-clifollowing its document. - Configure your site in
config.toml. Full configuration options can be found in the apollo documentation.
-
appollo-typstsupport both single files and workspaces:-
If a subdirectory of typ contains
main.typ, it will be treated as a workspace, withmain.typserving as the entry point. -
Otherwise, each .typ file within the subdirectory will be compiled independently.
-
-
Create a
.mdfile in thecontentdirectory and write the metadata of the post in the front matter. Then, add theextra.typstfield 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 = trueto 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 buildyarn serveTo 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/.