{"id":42643739,"url":"https://github.com/paaloeye/zstd-live","last_synced_at":"2026-01-29T06:36:39.648Z","repository":{"id":308994173,"uuid":"1034785164","full_name":"paaloeye/zstd-live","owner":"paaloeye","description":"Zig-native tool for generating live documentation from Zig standard library","archived":false,"fork":false,"pushed_at":"2025-12-12T21:08:30.000Z","size":150,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-14T11:50:08.113Z","etag":null,"topics":["documentation","generator","zig"],"latest_commit_sha":null,"homepage":"https://zstd-live.pages.dev","language":"Zig","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/paaloeye.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-08-09T01:38:22.000Z","updated_at":"2025-08-12T12:37:03.000Z","dependencies_parsed_at":"2025-08-09T06:15:51.249Z","dependency_job_id":null,"html_url":"https://github.com/paaloeye/zstd-live","commit_stats":null,"previous_names":["paaloeye/zstd-live"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/paaloeye/zstd-live","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paaloeye%2Fzstd-live","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paaloeye%2Fzstd-live/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paaloeye%2Fzstd-live/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paaloeye%2Fzstd-live/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paaloeye","download_url":"https://codeload.github.com/paaloeye/zstd-live/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paaloeye%2Fzstd-live/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28867104,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T05:56:06.453Z","status":"ssl_error","status_checked_at":"2026-01-29T05:55:57.668Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["documentation","generator","zig"],"created_at":"2026-01-29T06:36:39.052Z","updated_at":"2026-01-29T06:36:39.643Z","avatar_url":"https://github.com/paaloeye.png","language":"Zig","funding_links":[],"categories":[],"sub_categories":[],"readme":"# zstd-live\n\n\u003e A modern Zig-native tool for generating live documentation from Zig standard library\n\n[![CI](https://github.com/paaloeye/zstd-live/workflows/CI/badge.svg)](https://github.com/paaloeye/zstd-live/actions)\n[![Ship](https://github.com/paaloeye/zstd-live/workflows/Ship/badge.svg)](https://github.com/paaloeye/zstd-live/actions)\n[![Deploy](https://github.com/paaloeye/zstd-live/workflows/Deploy%20to%20Cloudflare%20Pages/badge.svg)](https://github.com/paaloeye/zstd-live/actions)\n[![Release](https://img.shields.io/github/v/release/paaloeye/zstd-live?include_prereleases)](https://github.com/paaloeye/zstd-live/releases)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENCE)\n\n**Live Documentation**: [zstd-live.pages.dev](https://zstd-live.pages.dev)\n\n## Overview\n\n`zstd-live` generates beautiful, live documentation from Zig standard library source code.\nIt features a two-column layout inspired by docco.coffee, with documentation and public identifiers on the\nleft and syntax-highlighted source code on the right.\n\n### Key Features\n\n- **Multi-version support**: Generate docs for multiple Zig versions (0.15.0-master, 0.14.1, 0.13.0, 0.12.0, 0.11.0)\n- **Native Zig implementation**: Fast and reliable, built with Zig 0.14.1\n- **Cross-platform binaries**: Pre-built binaries for 7 platforms (macOS, Linux, Windows on multiple architectures)\n- **Modern deployment**: Automatically deployed to Cloudflare Pages\n- **Interactive navigation**: Convert `@import()` statements to clickable links\n- **Progressive enhancement**: JavaScript-powered search and navigation\n- **Mobile-friendly**: Responsive design for all devices\n- **Automated releases**: Professional release workflow with checksums and comprehensive documentation\n\n### What's New in v2.0.0\n\n- 🚀 **Enhanced Release Pipeline**: Automated cross-platform builds with GitHub Actions\n- 📦 **Professional Packaging**: Release archives include documentation and proper directory structure\n- 🔐 **Security**: SHA256 checksums for all release assets\n- 📋 **Rich Release Notes**: Automated changelog generation with installation guides\n- 🏗️ **Native Build System**: Pure Zig implementation with no external dependencies\n- ⚡ **Performance**: Optimised cross-compilation for all supported platforms\n\n## Quick Start\n\n### Installation\n\n#### From Release (Recommended)\n\nDownload the latest release for your platform from [GitHub Releases](https://github.com/paaloeye/zstd-live/releases):\n\n**Supported Platforms:**\n- macOS (Intel): `zstd-live-macos-x86_64.tar.gz`\n- macOS (Apple Silicon): `zstd-live-macos-aarch64.tar.gz`\n- Linux (Intel): `zstd-live-linux-x86_64.tar.gz`\n- Linux (ARM64): `zstd-live-linux-aarch64.tar.gz`\n- Linux (RISC-V): `zstd-live-linux-riscv64.tar.gz`\n- Windows (Intel): `zstd-live-windows-x86_64.exe.zip`\n- Windows (ARM64): `zstd-live-windows-aarch64.exe.zip`\n\n```bash\n# Linux x86_64\ncurl -L https://github.com/paaloeye/zstd-live/releases/latest/download/zstd-live-linux-x86_64.tar.gz | tar xz\nsudo mv zstd-live-linux-x86_64/zstd-live-linux-x86_64 /usr/local/bin/zstd-live\n\n# macOS Apple Silicon\ncurl -L https://github.com/paaloeye/zstd-live/releases/latest/download/zstd-live-macos-aarch64.tar.gz | tar xz\nsudo mv zstd-live-macos-aarch64/zstd-live-macos-aarch64 /usr/local/bin/zstd-live\n\n# macOS Intel\ncurl -L https://github.com/paaloeye/zstd-live/releases/latest/download/zstd-live-macos-x86_64.tar.gz | tar xz\nsudo mv zstd-live-macos-x86_64/zstd-live-macos-x86_64 /usr/local/bin/zstd-live\n\n# Windows PowerShell\nInvoke-WebRequest -Uri \"https://github.com/paaloeye/zstd-live/releases/latest/download/zstd-live-windows-x86_64.exe.zip\" -OutFile \"zstd-live.zip\"\nExpand-Archive -Path \"zstd-live.zip\" -DestinationPath \".\"\n# Add to PATH: $env:PATH += \";$(Get-Location)\\zstd-live-windows-x86_64.exe\"\n\n# Verify installation\nzstd-live version\n```\n\n#### Build from Source\n\n```bash\ngit clone https://github.com/paaloeye/zstd-live.git\ncd zstd-live\npre-commit install  # Install code quality hooks (optional, for contributors)\nmake build\nmake install\n```\n\n### Basic Usage\n\n```bash\n# Generate docs for all supported Zig versions\nzstd-live generate --all-versions --output ./docs\n\n# Generate docs for specific version\nzstd-live generate --version 0.14.1 --output ./docs\n\n# Serve docs locally for development\nzstd-live serve --port 8080\n\n# Update Zig stdlib sources\nzstd-live update\n```\n\n## Development\n\n### Requirements\n\n- Zig 0.13.0 or later\n- Make (optional, but recommended)\n- Pre-commit (for contributors): `pip install pre-commit`\n\n### Build Commands\n\n```bash\n# Build the application\nmake build\n\n# Build release binaries for all supported platforms\nmake release\n\n# Create release archives for all platforms\nmake release-archive\n\n# Run tests\nmake test\n\n# Format code\nmake format\n\n# Generate documentation\nmake generate\n\n# Serve locally\nmake serve\n\n# Full development setup\nmake dev\n\n# Complete release validation\nmake release-check\n```\n\n### Project Structure\n\n```\nsrc/\n├── main.zig             # CLI entry point\n├── generator.zig        # Documentation generator\n├── parser.zig           # Zig source parser\n├── template.zig         # HTML template system\n├── version_manager.zig  # Multi-version support\n├── file_utils.zig       # File operations\n└── config.zig           # Configuration\n\n.github/workflows/        # CI/CD pipelines\n├── ci.yml               # Test and build\n├── ship.yml             # Release automation\n└── deploy.yml           # Cloudflare deployment\n\nassets/                  # Static assets\n├── styles.css           # Enhanced styling\n├── index.html           # Landing page template\n└── zig-stdlib-book.svg  # Project logo\n```\n\n## Configuration\n\n### Supported Zig Versions\n\nThe tool currently supports these Zig versions (configurable in `src/config.zig`):\n\n- `0.15.0-master` (latest development)\n- `0.14.1` (latest stable)\n- `0.13.0`\n- `0.12.0`\n- `0.11.0`\n\n### Output Structure\n\nGenerated documentation is organised as:\n\n```\ndist/\n├── index.html         # Version selector landing page\n├── assets/            # Shared CSS, JS, images\n├── 0.14.1/            # Version-specific docs\n│   ├── std.zig.html\n│   ├── array_list.zig.html\n│   └── ...\n└── 0.15.0-master/     # Latest development docs\n    ├── std.zig.html\n    └── ...\n```\n\n## Deployment\n\n### Cloudflare Pages\n\nThe project is configured for automatic deployment to Cloudflare Pages:\n\n1. **Automatic Deployment**: Pushes to `main` branch trigger deployment\n2. **Daily Updates**: Scheduled rebuilds to catch new Zig changes\n3. **Default Domain**: Served at `zstd-live.pages.dev`\n4. **Performance**: Optimised caching and compression\n\n### Manual Deployment\n\n```bash\n# Generate all documentation\nmake generate\n```\n\n## Contributing\n\nWe welcome contributions! Please see our contributing guidelines:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feat/amazing-feature`)\n3. Make your changes and add tests\n4. Ensure code is formatted (`make format`)\n5. Run tests (`make test`)\n6. Commit your changes (`git commit -m 'feat: add amazing feature'`)\n7. Push to the branch (`git push origin feat/amazing-feature`)\n8. Open a Pull Request\n\n### Development Workflow\n\n- Use conventional commits for all commit messages\n- Ensure all tests pass before submitting PR\n- Update documentation for new features\n- Follow Zig formatting standards\n\n### Release Process\n\nReleases are automated via the Ship workflow:\n\n```bash\n# Create pre-release\ngit tag v2.1.0-beta.1\ngit push origin v2.1.0-beta.1\n\n# Create stable release\ngit tag v2.1.0\ngit push origin v2.1.0\n```\n\nThe workflow automatically:\n- Builds cross-platform binaries for all 7 supported platforms\n- Creates release archives with documentation\n- Generates checksums and rich release notes\n- Publishes to GitHub Releases with installation guides\n\n## Architecture\n\n### Multi-Version Support\n\nThe tool manages multiple Zig versions by:\n\n1. **Version Detection**: Automatically detects available Zig installations\n2. **Source Caching**: Downloads and caches stdlib sources for each version\n3. **Parallel Generation**: Efficiently processes multiple versions\n4. **Smart Updates**: Only updates changed versions\n\n### Parsing Strategy\n\n- Uses Zig tokenization instead of regex\n- Handles complex language constructs accurately\n- Provides better error reporting\n- Supports future Zig language evolution\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENCE](./LICENCE) file for details.\n\n## Acknowledgements\n\n- Original [docco.coffee](https://web.archive.org/web/20120428101624/http://jashkenas.github.com/docco/) for the two-column layout inspiration\n- The Zig community for the amazing programming language and standard library\n- [ratfactor](https://ratfactor.com/) for the original zstd-browse implementation\n\n---\n\n*🤖 This README was generated with [Claude Code](https://claude.ai/code)*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaaloeye%2Fzstd-live","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaaloeye%2Fzstd-live","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaaloeye%2Fzstd-live/lists"}