{"id":13736525,"url":"https://github.com/soasme/nim-markdown","last_synced_at":"2025-04-09T16:23:55.582Z","repository":{"id":46831998,"uuid":"152832882","full_name":"soasme/nim-markdown","owner":"soasme","description":"A Beautiful Markdown Parser in the Nim World.","archived":false,"fork":false,"pushed_at":"2024-05-28T20:46:50.000Z","size":921,"stargazers_count":154,"open_issues_count":15,"forks_count":11,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-23T18:47:41.315Z","etag":null,"topics":["markdown","markdown-parser","markdown-to-html","nim","nim-lang","nim-language"],"latest_commit_sha":null,"homepage":"https://www.soasme.com/nim-markdown/","language":"Nim","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/soasme.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":["soasme"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2018-10-13T03:52:44.000Z","updated_at":"2025-03-22T17:58:00.000Z","dependencies_parsed_at":"2024-01-06T11:50:54.490Z","dependency_job_id":"728276fc-2103-4abb-bd7e-a68ad6f9c54b","html_url":"https://github.com/soasme/nim-markdown","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soasme%2Fnim-markdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soasme%2Fnim-markdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soasme%2Fnim-markdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soasme%2Fnim-markdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soasme","download_url":"https://codeload.github.com/soasme/nim-markdown/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065991,"owners_count":21042012,"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":["markdown","markdown-parser","markdown-to-html","nim","nim-lang","nim-language"],"created_at":"2024-08-03T03:01:23.415Z","updated_at":"2025-04-09T16:23:55.559Z","avatar_url":"https://github.com/soasme.png","language":"Nim","funding_links":["https://github.com/sponsors/soasme"],"categories":["Text"],"sub_categories":["Markdown"],"readme":"# Nim-markdown\n\n`nim-markdown` is a Markdown Parser in the Nim world.\n\n[![Documentation](https://img.shields.io/badge/documentation-passed-brightgreen.svg?style=for-the-badge\u0026longCache=true)](https://www.soasme.com/nim-markdown/)\n[![Build Status](https://travis-ci.org/soasme/nim-markdown.svg?branch=master)](https://travis-ci.org/soasme/nim-markdown)\n\n## Install\n\nInstall via `nimble` in your project root.\n\n```bash\n$ nimble install markdown\n\n# or with current stable version\n$ nimble install markdown@\"\u003e= 0.8.0\"\n\n# or with the latest version\n$ nimble install markdown@#head\n```\n\n## Library Usage\n\nBelow is the minimal usage of using `markdown` as a library.\n\n```nim\n# 1. import pkg.\nimport markdown\n\n# 2. transform md to html.\nlet html = markdown(\"# Hello World\\nHappy writing Markdown document!\")\n\n# 3. do something :)\necho(html)\n```\n\nBelow are some useful links:\n\n* The API documentation: \u003chttps://www.soasme.com/nim-markdown/htmldocs/markdown.html\u003e\n* The dev guide: \u003chttps://enqueuezero.com/markdown-parser.html\u003e\n* The cheat sheet: \u003chttps://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet\u003e\n\n## Binary Usage\n\nThe usage of binary `markdown` is as below:\n\n```\n# Read from stdin and write to stdout.\n$ markdown \u003c README.md \u003e README.html\n```\n\n## Development\n\nBuild markdown binary:\n\n```bash\n$ nimble build\n```\n\nTest markdown modules:\n\n```bash\n$ nimble test\n```\n\nBuild document:\n\n```bash\n$ nim doc --project --git.url=https://github.com/soasme/nim-markdown --git.commit=v0.8.0 src/markdown.nim\n```\n\nThe [Markdown Parser](https://enqueuezero.com/markdown-parser.html) serves as a guidance on the implementation of `nim-markdown`, or in any generic programming language.\n\n## Roadmap\n\nPriorities:\n\n* [x] Support Commonmark.\n* [ ] Support GFM.\n* [ ] Support writing extensions.\n* [ ] Benchmark.\n\nFeatures:\n\n- [x] Thematic Break\n- [x] Heading\n- [x] Indented code block\n- [x] Fence code block\n- [x] Block Quote\n- [x] Ordered/Unordered List\n- [x] Nested lists\n- [x] Raw HTML block\n- [x] Table\n- [x] Ref Link\n- [x] Inline Link\n- [x] Auto link\n- [x] Image Link\n- [x] Emphasis\n- [x] Double Emphasis\n- [x] Strikethrough\n- [x] Link Break\n- [x] Inline Code\n- [x] Inline HTML\n- [x] Escape\n- [x] Paragraph\n- [ ] Auto link (extension)\n- [ ] Footnote\n- [ ] Want new features? Issues or pull requests are welcome. ;)\n\n## ChangeLog\n\nReleased:\n\n* v0.8.8, 29 May 2024, performance improvement: read more chars into Text. [#72](https://github.com/soasme/nim-markdown).\n* v0.8.7, 25 Feb 2023, bugfix: allow whitespace and tab after code closing fence. [#64](https://github.com/soasme/nim-markdown/issues/64).\n* v0.8.6, 9 Jul 2022, bugfix: export no internal procs.\n* v0.8.5, 19 Mar 2021, bugfix: codespan might be empty. #42.\n* v0.8.4, 19 Mar 2021, performance improvement: eliminate all `firstLine` and `restLines` calls. (#54, #55, #56).\n* v0.8.3, 13 Mar 2021, performance improvement: faster html pattern matching (#52) \u0026 eliminate all `since()` calls (#53).\n* v0.8.2, 3 Mar 2021, performance improvement: use pre-compiled regex.\n* v0.8.1, 30 Dec 2019, bugfix: fixed compatibility with `--gc:arc`.\n* v0.8.0, 8 Sep 2019, bugfix: gcsafe with nim `--threads:on`.\n* v0.7.2, 8 Sep 2019, rename internal package to markdownpkg.\n* v0.7.1, 7 Sep 2019, removed useless constants.\n* v0.7.0, 6 Sep 2019, support parsing in commonmark [v0.29](https://spec.commonmark.org/0.29/) syntax.\n* v0.5.4, 1 Aug 2019, bugfix: improved the ul \u0026 ol parsing.\n* v0.5.3, 3 Jun 2019, bugfix: Added import exceptions for strip and splitWhitespace from unicode [#20](https://github.com/soasme/nim-markdown/issues/20).\n* v0.5.2, 5 Nov 2018, bugfix: ambiguous call.\n* v0.5.1, 4 Nov 2018, inline email support; bugfix: \\u00a0 causing build error [#16](https://github.com/soasme/nim-markdown/issues/16), etc.\n* v0.5.0, 3 Nov 2018, bugfix: links in lists not working (#14), etc.\n* v0.4.0, 27 Oct 2018, support `~~~` as fence mark, etc. [#12](https://github.com/soasme/nim-markdown/pull/12).\n* v0.3.4, 24 Oct 2018, support hard line breaks (gfm 6.12).\n* v0.3.3, 23 Oct 2018, strict-typed config (#5), add cli options.\n* v0.3.2, 23 Oct 2018, support setext heading.\n* v0.3.1, 22 Oct 2018, bugfix: soft line breaks (gfm 6.13).\n* v0.3.0, 22 Oct 2018, support html table block (#3).\n* v0.2.0, 20 Oct 2018, package published [nim-lang/packages#899](https://github.com/nim-lang/packages/pull/899).\n* v0.1.2, 19 Oct 2018, add parameter `config` to proc `markdown` \u0026 support `[url](\u003ctext\u003e \"title\")`.\n* v0.1.1, 18 Oct 2018, import from `markdown` instead `markdownpkg/core`.\n* v0.1.0, 17 Oct 2018, initial release.\n\n## License\n\nNim-markdown is based on MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoasme%2Fnim-markdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoasme%2Fnim-markdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoasme%2Fnim-markdown/lists"}