{"id":16682505,"url":"https://github.com/shulhan/asciidoctor-go","last_synced_at":"2025-03-21T18:32:50.488Z","repository":{"id":57551042,"uuid":"306369531","full_name":"shuLhan/asciidoctor-go","owner":"shuLhan","description":"[mirror] Native Go module for parsing and converting asciidoc markup language.","archived":false,"fork":false,"pushed_at":"2024-09-07T10:22:30.000Z","size":610,"stargazers_count":14,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-13T14:13:58.749Z","etag":null,"topics":["asciidoc","asciidoctor","go"],"latest_commit_sha":null,"homepage":"https://sr.ht/~shulhan/asciidoctor-go/","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shuLhan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"COPYING","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":"2020-10-22T14:49:03.000Z","updated_at":"2024-09-18T07:55:45.000Z","dependencies_parsed_at":"2023-10-15T05:34:32.544Z","dependency_job_id":"943c0d93-8653-490e-b85a-800f0ad12e02","html_url":"https://github.com/shuLhan/asciidoctor-go","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuLhan%2Fasciidoctor-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuLhan%2Fasciidoctor-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuLhan%2Fasciidoctor-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuLhan%2Fasciidoctor-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shuLhan","download_url":"https://codeload.github.com/shuLhan/asciidoctor-go/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221817606,"owners_count":16885574,"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":["asciidoc","asciidoctor","go"],"created_at":"2024-10-12T14:07:44.006Z","updated_at":"2025-03-21T18:32:50.439Z","avatar_url":"https://github.com/shuLhan.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# asciidoctor-go\n\nAuthor: [Shulhan](mailto:ms@kilabit.info)\n\nThe asciidoctor-go is the Go module to parse the\n[AsciiDoc markup](https://asciidoctor.org/docs/what-is-asciidoc)\nand convert it into HTML5.\n\nFor the front-end tooling that use this library to build static website\nsee\n[ciigo](https://sr.ht/~shulhan/ciigo).\n\n##  Documentation\n\n[Go documentation](https://pkg.go.dev/git.sr.ht/~shulhan/asciidoctor-go).\n\n### Specifications\n\nDuring reverse engineering the AsciiDoc markup, we write the syntax, rules,\nand format in\n[SPECS](SPECS.html).\n\n### Features\n\nList of available formatting that are supported on current implementation.\nEach supported feature is linked to official\n[AsciiDoc Language Documentation](https://docs.asciidoctor.org/asciidoc/latest)\nThe numbered one is based on the old documentation.\n\n* [Document header](https://docs.asciidoctor.org/asciidoc/latest/document/header/)\n  * [Document title](https://docs.asciidoctor.org/asciidoc/latest/document/header/document/title/).\n    This including meta `doctitle`, `showtitle!` and subtitle.\n  * [Author information](https://docs.asciidoctor.org/asciidoc/latest/document/author-information/)\n  * [Revision information](https://docs.asciidoctor.org/asciidoc/latest/document/revision-information/)\n  * [Metadata](https://docs.asciidoctor.org/asciidoc/latest/document/metadata/)\n* [Preamble](https://docs.asciidoctor.org/asciidoc/latest/blocks/preamble-and-lead/)\n* Sections\n  * Titles as HTML headings\n  * Auto-generated IDs\n  * Custom IDs\n  * Multiple Anchors\n  * Links\n  * Anchors\n  * Numbering\n  * Discrete headings\n* Blocks\n  * Title\n  * Metadata\n  * Delimited blocks\n* Paragraph\n  * Alignment\n  * Line breaks (\" +\\n\")\n  * Lead style\n* Text formatting\n  * Bold and italic\n  * Quotation Marks and Apostrophes\n  * Subscript and Superscript\n  * Monospace\n* List\n  * Unordered Lists (See Notes below)\n    * Nested\n    * Complex List Content\n    * Custom Markers\n  * Ordered Lists\n    * Nested\n    * Numbering Styles\n  * Checklist\n* Description List\n  * Question and Answer Style List\n* Tables\n  * Columns\n  * Column formatting\n  * Cell formatting\n  * Header row\n  * Footer row\n  * Table width\n  * Table borders\n  * Striping\n  * Orientation\n  * ~~Nested tables~~\n  * Table caption\n  * Escaping the Cell Separator\n* Horizontal Rules\n  * Markdown-style horizontal rules\n* Page Break\n* URLs\n  * Link to Relative Files\n* Cross References\n  * Automatic Anchors\n  * Defining an Anchor\n  * Internal Cross References\n  * Customizing the Cross Reference Text\n* [Footnotes](https://docs.asciidoctor.org/asciidoc/latest/macros/footnote/)\n* Include Directive\n  * Anatomy\n  * Processing\n  * File resolution\n* Images\n* Video\n  * YouTube and Vimeo videos\n  * Supported Attributes\n* Audio\n* Admonition\n* Sidebar\n* Example\n* Prose Excerpts, Quotes and Verses\n  * Quote\n  * Verse\n* Comments\n* Text Substitutions\n  * Special Characters\n  * Quotes\n  * Attributes (reference)\n  * Replacements\n  * Preventing Substitutions\n* Listing Blocks\n* Passthroughs\n  * Passthrough Blocks\n* Open Blocks\n* Predefined Attributes for Character Replacements\n\nSupported document attribute references,\n\n* `author(_x)`\n* `authorinitials(_x)`\n* `doctitle`\n* `email(_x)`\n* `firstname(_x)`\n* `idprefix`\n* `idseparator`\n* `lastname(_x)`\n* `last-update-label`\n* [`leveloffset`](https://docs.asciidoctor.org/asciidoc/latest/directives/include-with-leveloffset/).\nOnly on document attributes, not on include directive.\n* `middlename(_x)`\n* `nofooter`\n* `noheader`\n* `revdate`\n* `revnumber`\n* `revremark`\n* `sectids`\n* `sectnumlevels`\n* `sectnums`\n* `showtitle`\n* `table-caption`\n* `title-separator`\n* `version-label`\n\n\nAdditional document attribute provides by this library,\n\n* `author_names` - list of author full names separated by comma.\n\n###  Notes\n\n#### Unsupported markup\n\nThe following markup will not supported because its functionality is duplicate\nor inconsistent with others markup, or not secure,\n\n* Header\n  * Subtitle partitioning.\n    Rationale: duplicate with 14.1.2 the \"Main: sub\" format\n\n* Tables\n  * Nested tables.\n    Rationale: nested table is not a good way to present information.\n    Never should it be.\n  * Using different cell separator\n\n* Include Directive\n  * Select Portions of a Document to Include.\n    Rationale: the parser would need to know the language to be included and\n    parse the whole source code to check for comments and tags.\n  * Include Content from a URI.\n    Rationale: security and unreliable network connections.\n  * Caching URI Content\n\n\n####  Unordered list item with hyphen\n\nThe unordered list item with hyphen ('-') cause too much confusion and\ninconsistency.\n\nCase one, given the following markup,\n\n```\n- Item 1\n+\n\"A line\nof quote\"\n-- Author\n```\n\nIs the \"Author\" the sub item in list or we are parsing author of quote\nparagraph?\n\nCase two, the writer want to write em dash (`\u0026#8212;` in HTML Unicode) but\nsomehow the editor wrap it and start in new line.\n\nAs a reminder, the official documentation only recommend using hyphen for\nsimple list item\n\n\u003e You should reserve the hyphen for lists that only have a single level\n\u003e because the hyphen marker (-) doesn’t work for nested lists.\n\u003e -- \u003chttps://docs.asciidoctor.org/asciidoc/latest/lists/unordered/#basic-unordered-list\u003e\n\n###  TODO\n\nList of features which may be implemented,\n\n* Sections\n  * Section styles\n* Paragraph\n  * Line breaks\n    * Per block \"[%hardbreaks]\"\n    * All document \":hardbreaks:\"\n* Text formatting\n  * Custom Styling With Attributes\n* Tables\n  * Delimiter-Separated Values\n* Cross References\n  * Inter-document Cross References\n* Include Directive\n  * AsciiDoc vs non-AsciiDoc files\n  * Normalize Block Indentation\n  * Include a File Multiple Times in the Same Document\n  * Using an Include in a List Item\n* Text Substitutions\n  * Macros\n  * Incremental Substitutions\n* Passthroughs\n  * Passthrough Macros\n\n\n####  Bugs\n\nUnknown.\nIf you found one, please report it\n[here](https://todo.sr.ht/~shulhan/asciidoctor-go).\n\n\n####  Enhancements\n\nCreate tree that link Include directive.\nOnce the included files changes, the parent should be re-converted too.\n\n```\nInclude Node\nparent -\u003e Parent Node.\n```\n\n###  Miscellaneous\n\n[Changelog](CHANGELOG.html).\n\nThe following files compare the HTML generated by asciidoctor and this\nlibrary:\n\n* [HTML file generated using asciidoctor](testdata/test.exp.html)\n* [HTML file using this library](testdata/test.got.html)\n\n\n## Development\n\n[Repository](https://git.sr.ht/~shulhan/asciidoctor-go)::\nLink to the source code.\n\n[Mailing list](https://lists.sr.ht/~shulhan/asciidoctor-go)::\nLink to discussion or where to send the patches.\n\n[Issues](https://todo.sr.ht/~shulhan/asciidoctor-go)::\nLink to open an issue or request for new feature.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshulhan%2Fasciidoctor-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshulhan%2Fasciidoctor-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshulhan%2Fasciidoctor-go/lists"}