{"id":13626703,"url":"https://github.com/kivikakk/koino","last_synced_at":"2025-09-29T02:30:36.637Z","repository":{"id":43701140,"uuid":"286946078","full_name":"kivikakk/koino","owner":"kivikakk","description":"CommonMark + GFM compatible Markdown parser and renderer","archived":false,"fork":false,"pushed_at":"2024-07-01T23:10:59.000Z","size":228,"stargazers_count":132,"open_issues_count":7,"forks_count":13,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-01-13T05:03:25.877Z","etag":null,"topics":["commonmark","markdown","zig"],"latest_commit_sha":null,"homepage":"https://hrzn.ee/kivikakk/koino","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/kivikakk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["kivikakk"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-08-12T07:24:47.000Z","updated_at":"2025-01-06T01:32:29.000Z","dependencies_parsed_at":"2024-10-26T21:14:07.747Z","dependency_job_id":"e3fc4a80-f778-4abf-a1e5-b32ef5b941e3","html_url":"https://github.com/kivikakk/koino","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivikakk%2Fkoino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivikakk%2Fkoino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivikakk%2Fkoino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kivikakk%2Fkoino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kivikakk","download_url":"https://codeload.github.com/kivikakk/koino/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234579696,"owners_count":18855638,"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":["commonmark","markdown","zig"],"created_at":"2024-08-01T21:02:27.110Z","updated_at":"2025-09-29T02:30:36.632Z","avatar_url":"https://github.com/kivikakk.png","language":"Zig","funding_links":["https://github.com/sponsors/kivikakk"],"categories":["Zig","Applications","Parser","Language Essentials"],"sub_categories":["File Format Processing"],"readme":"# koino\n\n![Spec Status: 671/671](https://img.shields.io/badge/specs-671%2F671-brightgreen.svg)\n\nZig port of [Comrak](https://github.com/kivikakk/comrak).  Maintains 100% spec-compatibility with [GitHub Flavored Markdown](https://github.github.com/gfm/).\n\n\n## Getting started\n\n### Using koino as a library\n\n* Add koino via the zig package manager:\n  ```console\n  $ zig fetch --save git+https://nossa.ee/~talya/koino\n  ```\n \n* Add the following to your `build.zig`'s `build` function:\n  ```zig\n  const koino_pkg = b.dependency(\"koino\", .{ .optimize = optimize, .target = target });\n  exe.root_module.addImport(\"koino\", koino_pkg.module(\"koino\"));\n  ```\n\n* Have a look at the bottom of [`parser.zig`](src/parser.zig) to see some test usage.\n\n\n### Using it as a CLI executable\n\n* Clone this repository:\n  ```console\n  $ git clone https://nossa.ee/~talya/koino\n  ```\n* Build\n  ```console\n  $ zig build\n  ```\n* Use `./zig-out/bin/koino`\n\n\n### Development\n\nThere's a `flake.nix` for building or getting a devShell if you're so-inclined.\n\n* Clone this repository (with submodules for the `cmark-gfm` dependency):\n  ```console\n  $ git clone --recurse-submodules https://nossa.ee/~talya/koino\n  $ cd koino\n  ```\n\n* Build and run the spec suite.\n\n  ```console\n  $ zig build test\n  $ make spec\n  ```\n\n\n## Usage\n\nCommand line:\n\n```console\n$ koino --help\nUsage: koino [-hu] [-e \u003cstr\u003e...] [--header-anchors] [--smart] \u003cstr\u003e\n\nOptions:\n    -h, --help\n            Display this help and exit\n\n    -u, --unsafe\n            Render raw HTML and dangerous URLs\n\n    -e, --extension \u003cstr\u003e...\n            Enable an extension (table,strikethrough,autolink,tagfilter)\n\n        --header-anchors\n            Generate anchors for headers\n\n        --smart\n            Use smart punctuation\n\n    \u003cstr\u003e\n```\n\nLibrary:\n\nDocumentation is TODO — see [LoLa](https://github.com/MasterQ32/LoLa/blob/d02b0e6774fedbe07276d8af51e1a305cc58fb34/src/tools/render-md-page.zig#L157) for an example of use. Note also the [`build.zig`](https://github.com/MasterQ32/LoLa/blob/d02b0e6774fedbe07276d8af51e1a305cc58fb34/build.zig#L41-L50) declaration.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkivikakk%2Fkoino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkivikakk%2Fkoino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkivikakk%2Fkoino/lists"}