{"id":25937148,"url":"https://github.com/3w36zj6/typdeck","last_synced_at":"2026-02-13T21:37:33.776Z","repository":{"id":279864657,"uuid":"922077668","full_name":"3w36zj6/typdeck","owner":"3w36zj6","description":"🚀 Static site generator for slides with Typst","archived":false,"fork":false,"pushed_at":"2025-03-03T21:34:01.000Z","size":170,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-31T06:42:14.585Z","etag":null,"topics":["cli","presentation","slide","ssg","typst"],"latest_commit_sha":null,"homepage":"https://3w36zj6.github.io/typdeck/","language":"TypeScript","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/3w36zj6.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,"zenodo":null}},"created_at":"2025-01-25T08:57:19.000Z","updated_at":"2025-02-28T00:17:27.000Z","dependencies_parsed_at":"2025-02-28T06:30:47.525Z","dependency_job_id":"58850b3a-3462-4e4e-a405-c3e8f5d0fa28","html_url":"https://github.com/3w36zj6/typdeck","commit_stats":null,"previous_names":["3w36zj6/typdeck"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/3w36zj6/typdeck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3w36zj6%2Ftypdeck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3w36zj6%2Ftypdeck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3w36zj6%2Ftypdeck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3w36zj6%2Ftypdeck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3w36zj6","download_url":"https://codeload.github.com/3w36zj6/typdeck/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3w36zj6%2Ftypdeck/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29418678,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cli","presentation","slide","ssg","typst"],"created_at":"2025-03-04T02:58:34.137Z","updated_at":"2026-02-13T21:37:33.756Z","avatar_url":"https://github.com/3w36zj6.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# typdeck\n\n[![NPM Version](https://img.shields.io/npm/v/typdeck)](https://www.npmjs.com/package/typdeck?activeTab=versions)\n[![NPM Downloads](https://img.shields.io/npm/d18m/typdeck)](https://www.npmjs.com/package/typdeck)\n[![NPM License](https://img.shields.io/npm/l/typdeck)](https://github.com/3w36zj6/typdeck/blob/HEAD/LICENSE)\n[![CI](https://github.com/3w36zj6/typdeck/actions/workflows/ci.yaml/badge.svg?branch=main\u0026event=push)](https://github.com/3w36zj6/typdeck/actions/workflows/ci.yaml)\n\nStatic site generator for slides with Typst\n\n## Features\n\n[Typst]: https://typst.app/\n[Polylux]: https://typst.app/universe/package/polylux/\n[Slydst]: https://typst.app/universe/package/slydst/\n[Touying]: https://typst.app/universe/package/touying/\n\n- 📝 **Typst based** - create beautiful slides using [Typst], with full access to its powerful typesetting capabilities and growing ecosystem of packages\n- 🔓 **Theme independent** - works with any Typst theme, not just [Polylux], [Slydst], [Touying], etc.\n- ⚡️ **Hot reload** - automatically reloads the browser when you save a Typst file\n- 📢 **Presenter mode** - access speaker notes and presentation controls in a dedicated presenter view\n\n## Getting Started\n\n### Installation\n\nFirst, make sure you have [Typst] installed on your system. Then install typdeck using your preferred package manager:\n\n```sh\n# npm\nnpm install -D typdeck\n\n# Yarn\nyarn add -D typdeck\n\n# pnpm\npnpm add -D typdeck\n\n# Bun\nbun add -d typdeck\n```\n\n### Usage\n\nCreate a Typst file for your slides (e.g. `main.typ`) and use typdeck to build and preview them:\n\n#### Development Mode\n\nRun a development server with hot-reload to see changes in real-time:\n\n```sh\ntypdeck dev main.typ\n```\n\nThis will start a local development server and automatically refresh the browser whenever you make changes to your Typst file.\n\n#### Building for Production\n\nBuild your slides for production deployment:\n\n```sh\ntypdeck build main.typ\n```\n\nThis command compiles your Typst slides and generates static assets in the output directory.\n\n#### Preview Production Build\n\nPreview the production build locally:\n\n```sh\ntypdeck preview\n```\n\nThis runs a local server to preview the production build before deployment.\n\n### Configuration\n\nTypdeck uses a configuration file to customize the build process. The following file formats are supported:\n\n- `typdeck.json`\n- `typdeck.json5`\n- `typdeck.jsonc`\n- `typdeck.toml`\n- `typdeck.yaml`\n- `typdeck.yml`\n\nPlace the configuration file in the root directory of your Typst project (recommended), and typdeck will automatically detect and use it. Typdeck searches for configuration files in the current working directory where you run the command.\n\nHere's an example configuration in JSON format:\n\n```json\n{\n  \"$schema\": \"https://3w36zj6.github.io/typdeck/schema/0.1.0/schema.json\",\n  \"slides\": {\n    \"1\": {\n      \"speakerNotes\": \"Introduction slide. Start with a greeting.\"\n    },\n    \"3\": {\n      \"speakerNotes\": \"This slide explains the key concepts.\"\n    },\n    \"5\": {\n      \"speakerNotes\": \"Remember to demo the application here.\"\n    }\n  }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3w36zj6%2Ftypdeck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3w36zj6%2Ftypdeck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3w36zj6%2Ftypdeck/lists"}