{"id":26212330,"url":"https://github.com/hackinggate/typst-out","last_synced_at":"2026-01-16T20:10:36.592Z","repository":{"id":152068980,"uuid":"621420461","full_name":"HackingGate/typst-out","owner":"HackingGate","description":"This GitHub action builds Typst files in your repository using a custom Typst ref, producing configurable output files and uploading them as artifacts.","archived":false,"fork":false,"pushed_at":"2024-10-29T12:58:07.000Z","size":232,"stargazers_count":4,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-29T13:23:49.938Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HackingGate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-30T16:15:17.000Z","updated_at":"2024-10-28T15:34:05.000Z","dependencies_parsed_at":"2023-12-26T13:45:06.656Z","dependency_job_id":"eebfe54f-6270-4e35-9911-be9fc30a5dcc","html_url":"https://github.com/HackingGate/typst-out","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackingGate%2Ftypst-out","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackingGate%2Ftypst-out/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackingGate%2Ftypst-out/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackingGate%2Ftypst-out/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HackingGate","download_url":"https://codeload.github.com/HackingGate/typst-out/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243183967,"owners_count":20249892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-12T08:29:56.536Z","updated_at":"2025-12-26T00:28:22.736Z","avatar_url":"https://github.com/HackingGate.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Typst Out GitHub Action\n\nThis GitHub action compiles Typst files in your repository using a custom Typst version or ref, producing configurable output files and uploading them as artifacts.\n\n\u003e **Note**  \n\u003e This action is tested on **ubuntu**, **macos**, and **windows**.  \n\u003e **The Typst runs on CI may not have custom fonts available**, so please install any custom fonts you need **prior to compilation** to ensure your documents render correctly.\n\n[![Test Typst Out Action](https://github.com/HackingGate/typst-out/actions/workflows/test_typst_out_action.yml/badge.svg)](https://github.com/HackingGate/typst-out/actions/workflows/test_typst_out_action.yml)\n\n## Features\n\n- **Configurable Typst version or ref** for compiling your Typst files (default: `latest`).\n- Option to **set the number of days to retain** the compiled outputs as artifacts.\n- **Customizable naming convention** for the artifacts.\n- **Configurable output file extensions** (e.g., `pdf`).\n- Ability to **use a custom template file**.\n- Specify a **custom font path** if you want to install or reference fonts in your builds.\n\n## Usage\n\nTo use the Typst Out action in your GitHub repository, create or update a workflow file (e.g., `.github/workflows/typst_out.yml`) with content similar to:\n\n```yaml\non:\n  push:\n    paths:\n      - \"**.typ\"\n\njobs:\n  build_typst:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v4\n\n      - name: Compile Typst files\n        uses: HackingGate/typst-out@v3.0.0\n        with:\n          typst_version: latest\n          retention_days: 7\n          artifacts_name: typst_output\n          template_file: template.typ\n```\n\n## Inputs\n\n| Name             | Description                                                         | Required | Default        |\n| ---------------- | ------------------------------------------------------------------- | -------- | -------------- |\n| `typst_version`  | The version or ref of Typst to use for compilation                  | No       | `latest`       |\n| `retention_days` | The number of days to retain the compiled PDFs (or other artifacts) | No       | `7`            |\n| `artifacts_name` | The name of the artifacts to upload                                 | No       | `typst_output` |\n| `template_file`  | The template file to use (if applicable)                            | No       | `template.typ` |\n\n## Caching\n\nThis GitHub action employs caching to speed up workflows and reduce build times:\n\n1. **Cache Typst binary**:  \n   Caches the installed Typst binary at `~/.cargo/bin/typst` using `actions/cache@v4`. The cache key depends on the Typst version/commit (determined by the input `typst_version`). When a cache hit occurs, the installation step is skipped entirely.\n\n2. **Cache Rust dependencies**:  \n   Uses `Swatinem/rust-cache@v2` to cache Rust compilation artifacts, speeding up Typst installation from source when needed.\n\nThe action uses `cargo install --git` to install Typst directly from the official repository, ensuring you always get the exact version specified.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackinggate%2Ftypst-out","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackinggate%2Ftypst-out","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackinggate%2Ftypst-out/lists"}