[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7734":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":15,"starSnapshotCount":15,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},7734,"asciidoctor","asciidoctor\u002Fasciidoctor",":gem: A fast, open source text processor and publishing toolchain, written in Ruby, for converting AsciiDoc content to HTML 5, DocBook 5, and other formats.","https:\u002F\u002Fasciidoctor.org",null,"Ruby",5191,837,114,604,0,1,7,29,5,39.77,"Other",false,"main",true,[26,5,27,28,29,30,31,32],"asciidoc","converter","docbook","html","manpage","ruby","rubygem","2026-06-12 02:01:43","= Asciidoctor\nDan Allen \u003Chttps:\u002F\u002Fgithub.com\u002Fmojavelinux[@mojavelinux]>; Sarah White \u003Chttps:\u002F\u002Fgithub.com\u002Fgraphitefriction[@graphitefriction]>\n\u002F\u002F settings:\n:idprefix:\n:idseparator: -\n:source-language: ruby\nifndef::env-github[:icons: font]\nifdef::env-github[]\n:status:\n:caution-caption: :fire:\n:important-caption: :exclamation:\n:note-caption: :paperclip:\n:tip-caption: :bulb:\n:warning-caption: :warning:\nendif::[]\n\u002F\u002F Variables:\n:release-version: 2.0.22\n\u002F\u002F URLs:\n:url-org: https:\u002F\u002Fgithub.com\u002Fasciidoctor\n:url-repo: {url-org}\u002Fasciidoctor\n:url-asciidoctorj: {url-org}\u002Fasciidoctorj\n:url-asciidoctorjs: {url-org}\u002Fasciidoctor.js\n:url-gradle-plugin: {url-org}\u002Fasciidoctor-gradle-plugin\n:url-maven-plugin: {url-org}\u002Fasciidoctor-maven-plugin\n:url-asciidoclet: {url-org}\u002Fasciidoclet\n:url-project: https:\u002F\u002Fasciidoctor.org\nifdef::env-site[:url-project: link:]\n:url-docs: https:\u002F\u002Fdocs.asciidoctor.org\n:url-news: {url-project}\u002Fnews\n:url-manpage: {url-project}\u002Fman\u002Fasciidoctor\n:url-issues: {url-repo}\u002Fissues\n:url-contributors: {url-repo}\u002Fgraphs\u002Fcontributors\n:url-rel-file-base: link:\n:url-rel-tree-base: link:\nifdef::env-site,env-yard[]\n:url-rel-file-base: {url-repo}\u002Fblob\u002FHEAD\u002F\n:url-rel-tree-base: {url-repo}\u002Ftree\u002FHEAD\u002F\nendif::[]\n:url-changelog: {url-rel-file-base}CHANGELOG.adoc\n:url-contribute: {url-rel-file-base}CONTRIBUTING.adoc\n:url-license: {url-rel-file-base}LICENSE\n:url-tests: {url-rel-tree-base}test\n:url-discuss: https:\u002F\u002Fdiscuss.asciidoctor.org\n:url-chat: https:\u002F\u002Fchat.asciidoctor.org\n:url-rubygem: https:\u002F\u002Frubygems.org\u002Fgems\u002Fasciidoctor\n:url-what-is-asciidoc: {url-docs}\u002Fasciidoctor\u002Flatest\u002F#relationship-to-asciidoc\n:url-install-docker: https:\u002F\u002Fgithub.com\u002Fasciidoctor\u002Fdocker-asciidoctor\n:url-opal: https:\u002F\u002Fopalrb.com\n:url-tilt: https:\u002F\u002Fgithub.com\u002Frtomayko\u002Ftilt\n:url-ruby: https:\u002F\u002Fwww.ruby-lang.org\n\u002F\u002F images:\n:image-url-screenshot: https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fasciidoctor\u002Fasciidoctor\u002Fscreenshot.png\n\n{url-project}[Asciidoctor] is a fast, open source, Ruby-based text processor for parsing AsciiDoc(R) into a document model and converting it to output formats such as HTML 5, DocBook 5, manual pages, PDF, EPUB 3, and other formats.\n\nAsciidoctor also has an ecosystem of extensions, converters, build plugins, and tools to help you author and publish content written in {url-what-is-asciidoc}[AsciiDoc].\nYou can find the documentation for these projects at {url-docs}.\n\nIn addition to running on Ruby, Asciidoctor can be executed on a JVM using {url-asciidoctorj}[AsciidoctorJ] or in any JavaScript environment using {url-asciidoctorjs}[Asciidoctor.js].\n\nifndef::env-site,env-yard[]\nThis document is also available in the following languages: +\n{url-rel-file-base}README-zh_CN.adoc[简体中文]\n|\n{url-rel-file-base}README-de.adoc[Deutsch]\n|\n{url-rel-file-base}README-fr.adoc[Français]\n|\n{url-rel-file-base}README-jp.adoc[日本語]\nendif::[]\n\n.Key documentation\n[.compact]\n* {url-docs}\u002Fasciidoctor\u002Flatest\u002F[Asciidoctor Documentation]\n* {url-docs}\u002Fasciidoc\u002Flatest\u002F[AsciiDoc Language Documentation]\n* {url-docs}\u002Fasciidoc\u002Flatest\u002Fsyntax-quick-reference\u002F[AsciiDoc Syntax Quick Reference]\n\nifdef::status[]\nimage:https:\u002F\u002Fimg.shields.io\u002Fgem\u002Fv\u002Fasciidoctor.svg[Latest Release, link={url-rubygem}]\nimage:https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Frubydoc.info-{release-version}-blue.svg[library (API) docs,link=https:\u002F\u002Fwww.rubydoc.info\u002Fgems\u002Fasciidoctor\u002F{release-version}]\nimage:https:\u002F\u002Fgithub.com\u002Fasciidoctor\u002Fasciidoctor\u002Fworkflows\u002FCI\u002Fbadge.svg[Build Status (GitHub Actions),link={url-repo}\u002Factions]\nimage:https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fzulip-join_chat-brightgreen.svg[Project Chat (Zulip),link={url-chat}]\nendif::[]\n\n== Sponsors\n\nWe want to recognize our {url-project}\u002Fsupporters[sponsors] for their commitment to improving the state of technical documentation by supporting this project.\nThank you sponsors!\nWithout your generous support, Asciidoctor would not be possible.\n\nYou can support this project by becoming a sponsor through https:\u002F\u002Fopencollective.com\u002Fasciidoctor[OpenCollective].\n\n== AsciiDoc Processing and Built-in Converters\n\nAsciiDoc is the language. +\nAsciidoctor is the processor.\n\nAsciidoctor reads the AsciiDoc source, as shown in the panel on the left in the image below, and converts it to publishable formats, such as HTML 5, as shown rendered in the panel on the right.\n\nimage::{image-url-screenshot}[Preview of AsciiDoc source and corresponding rendered HTML]\n\nAsciidoctor provides built-in {url-docs}\u002Fasciidoctor\u002Flatest\u002Fconverters\u002F[converters] for three output formats by default: {url-docs}\u002Fasciidoctor\u002Flatest\u002Fhtml-backend\u002F[HTML 5], {url-docs}\u002Fasciidoctor\u002Flatest\u002Fdocbook-backend\u002F[DocBook 5], and {url-docs}\u002Fasciidoctor\u002Flatest\u002Fmanpage-backend\u002F[man page] (short for manual page).\nAdditional converters, such as PDF and EPUB 3, are provided by separate gems.\nAsciidoctor also provides an out-of-the-box HTML experience complete with a {url-docs}\u002Fasciidoctor\u002Flatest\u002Fhtml-backend\u002Fdefault-stylesheet\u002F[default stylesheet] and built-in integrations like Font Awesome (for icons), highlight.js, Rouge, and Pygments (for source highlighting), and MathJax (for STEM processing).\n\n== Asciidoctor Ecosystem\n\nAlthough Asciidoctor is written in Ruby, it does not mean you need Ruby to use it.\nAsciidoctor can be executed on a JVM using {url-docs}\u002Fasciidoctorj\u002Flatest\u002F[AsciidoctorJ] or in any JavaScript environment (including the browser) using {url-docs}\u002Fasciidoctor.js\u002Flatest\u002F[Asciidoctor.js].\n\nInstalling an Asciidoctor processor is just the beginning of your publishing experience.\nAsciidoctor gives you access to a ecosystem of extensions and tools, ranging from add-on converters, to extended syntax, to build plugins, to integrated writing and preview environments:\n\n* {url-docs}\u002Fdiagram-extension\u002Flatest\u002F[Asciidoctor Diagram]\n* {url-docs}\u002Fmaven-tools\u002Flatest\u002F[Maven plugin and site module]\n* {url-gradle-plugin}[Gradle plugin]\n* {url-docs}\u002Fasciidoclet\u002Flatest\u002F[Asciidoclet]\n* {url-docs}\u002Freveal.js-converter\u002Flatest\u002F[reveal.js converter]\n* {url-docs}\u002Fepub3-converter\u002Flatest\u002F[EPUB 3 converter]\n* https:\u002F\u002Fintellij-asciidoc-plugin.ahus1.de\u002Fdocs[IntelliJ plugin]\n* {url-docs}\u002Fasciidoctor\u002Flatest\u002Ftooling\u002F#web-browser-add-ons-preview-only[web browser extensions]\n* {url-org}[and more]\n\nAsciidoctor is the successor to AsciiDoc.py.\nIf you're using AsciiDoc.py, see {url-docs}\u002Fasciidoctor\u002Flatest\u002Fmigrate\u002Fasciidoc-py\u002F[Migrate from AsciiDoc.py] to learn how to upgrade to Asciidoctor.\n\n== Requirements\n\nAsciidoctor works on Linux, macOS and Windows and requires one of the following implementations of {url-ruby}[Ruby]:\n\n* CRuby (aka MRI) 2.7 - 3.4\n* JRuby 9.4.0 - 10.0.2\n* TruffleRuby (GraalVM)\n\n[CAUTION]\n====\nIf you're using a non-English Windows environment, you may bump into an `Encoding::UndefinedConversionError` when invoking Asciidoctor.\nTo solve this issue, we recommend overriding the default external and internal character encodings to `utf-8`.\nYou can do so by setting the `RUBYOPT` environment variable as follows:\n\n RUBYOPT=\"-E utf-8:utf-8\"\n\nOnce you make this change, all your Unicode headaches should be behind you.\n\nIf you're using an IDE like Eclipse, make sure you set the encoding to UTF-8 there as well.\nAsciidoctor is optimized to work with UTF-8 as the default encoding.\n====\n\n== Installation\n\nAsciidoctor is packaged and distributed to RubyGems.org as a RubyGem (aka gem) named {url-rubygem}[asciidoctor^].\nThe asciidoctor gem can be installed on all major operating systems using Ruby packaging tools (gem or bundle).\nAsciidoctor is also distributed as a Docker image, as a package for numerous Linux distributions, and as a package for macOS (via Homebrew and MacPorts).\n\n=== Linux package managers\n\nThe version of Asciidoctor installed by the package manager may not match the latest release of Asciidoctor.\nConsult the package repository for your distribution to find out which version is packaged per distribution release.\n\n* https:\u002F\u002Fpkgs.alpinelinux.org\u002Fpackages?name=asciidoctor[Alpine Linux (asciidoctor)]\n* https:\u002F\u002Fwww.archlinux.org\u002Fpackages\u002F?name=asciidoctor[Arch Linux (asciidoctor)]\n* https:\u002F\u002Fpackages.debian.org\u002Fsid\u002Fasciidoctor[Debian (asciidoctor)]\n* https:\u002F\u002Fapps.fedoraproject.org\u002Fpackages\u002Frubygem-asciidoctor[Fedora (asciidoctor)]\n* https:\u002F\u002Fsoftware.opensuse.org\u002Fpackage\u002Frubygem-asciidoctor[OpenSUSE (rubygem-asciidoctor)]\n* https:\u002F\u002Fpackages.ubuntu.com\u002Fsearch?keywords=asciidoctor[Ubuntu (asciidoctor)]\n\nIf you want to use a version of Asciidoctor that's newer than what is installed by the package manager, see the \u003C\u003Cgem-install,gem installation instructions>>.\n\n==== apk (Alpine Linux)\n\nTo install the gem on Alpine Linux, open a terminal and type:\n\n $ sudo apk add asciidoctor\n\n==== pacman (Arch Linux)\n\nTo install the gem on Arch-based distributions, open a terminal and type:\n\n $ sudo pacman -S asciidoctor\n\n==== APT\n\nOn Debian and Debian-based distributions such as Ubuntu, use APT to install Asciidoctor.\nTo install the package, open a terminal and type:\n\n $ sudo apt-get install -y asciidoctor\n\n==== DNF\n\nOn RPM-based Linux distributions, such as Fedora, CentOS, and RHEL, use the DNF package manager to install Asciidoctor.\nTo install the package, open a terminal and type:\n\n $ sudo dnf install -y asciidoctor\n\n=== macOS\n\n==== Homebrew\n\nYou can use https:\u002F\u002Fbrew.sh[Homebrew], the macOS package manager, to install Asciidoctor.\nIf you don't have Homebrew on your computer, complete the https:\u002F\u002Fbrew.sh[installation instructions] first.\n\nOnce Homebrew is installed, you're ready to install the `asciidoctor` gem.\nOpen a terminal and type:\n\n $ brew install asciidoctor\n\nHomebrew installs the `asciidoctor` gem into an exclusive prefix that's independent of system gems.\n\n==== MacPorts\n\nYou can also use https:\u002F\u002Fwww.macports.org[MacPorts], another package manager for macOS, to install Asciidoctor.\nIf you don't have MacPorts on your computer, complete the https:\u002F\u002Fwww.macports.org\u002Finstall.php[installation instructions] first.\n\nOnce MacPorts is installed, you're ready to install the `asciidoctor` gem via the https:\u002F\u002Fports.macports.org\u002Fport\u002Fasciidoctor\u002F[Asciidoctor port].\nOpen a terminal and type:\n\n $ sudo port install asciidoctor\n\n=== Windows\n\nTo use Asciidoctor with Windows, you have two options.\n\n==== Chocolatey\n\nWhen you already use https:\u002F\u002Fchocolatey.org[chocolatey] on your machine, you can use:\n\n choco install ruby\n\nThen follow \u003C\u003Cgem-install,gem installation instructions>>.\n\n==== Rubyinstaller\n\nOr you use the https:\u002F\u002Frubyinstaller.org\u002Fdownloads\u002F[Rubyinstaller], download the package for your Windows Version and after the installation go ahead with \u003C\u003Cgem-install,gem installation instructions>>.\n\n[#gem-install]\n=== gem install\n\nBefore installing Asciidoctor using `gem install`, you should set up https:\u002F\u002Frvm.io[RVM] (or similar) to install Ruby in your home directory (i.e., user space).\nThen, you can safely use the `gem` command to install or update the Asciidoctor gem, or any other gem for that matter.\nWhen using RVM, gems are installed in a location isolated from the system.\n(You should never use the gem command to install system-wide gems).\n\nOnce you've installed Ruby using RVM, and you have activated it using `rvm use 3.0`, open a terminal and type:\n\n $ gem install asciidoctor\n\nIf you want to install a pre-release version (e.g., a release candidate), use:\n\n $ gem install asciidoctor --pre\n\n=== Docker\n\nSee {url-install-docker}[Installing Asciidoctor using Docker].\n\n=== Bundler\n\n. Create a Gemfile in the root folder of your project (or the current directory)\n. Add the `asciidoctor` gem to your Gemfile as follows:\n+\n[subs=attributes+]\n----\nsource 'https:\u002F\u002Frubygems.org'\ngem 'asciidoctor'\n# or specify the version explicitly\n# gem 'asciidoctor', '{release-version}'\n----\n\n. Save the Gemfile\n. Open a terminal and install the gem using:\n\n $ bundle\n\nTo upgrade the gem, specify the new version in the Gemfile and run `bundle` again.\nUsing `bundle update` (without specifying a gem) is *not* recommended as it will also update other gems, which may not be the desired result.\n\n== Upgrade\n\nIf you installed Asciidoctor using a package manager, your operating system is probably configured to automatically update packages, in which case you don't need to update the gem manually.\n\n=== apk (Alpine Linux)\n\nTo upgrade the gem, use:\n\n $ sudo apk add -u asciidoctor\n\n=== APT\n\nTo upgrade the gem, use:\n\n $ sudo apt-get upgrade -y asciidoctor\n\n=== DNF\n\nTo upgrade the gem, use:\n\n $ sudo dnf update -y asciidoctor\n\n=== Homebrew (macOS)\n\nTo upgrade the gem, use:\n\n $ brew update\n $ brew upgrade asciidoctor\n\n=== MacPorts (macOS)\n\nTo upgrade the gem, use:\n\n $ sudo port selfupdate\n $ sudo port upgrade asciidoctor\n\n=== gem install\n\nIf you previously installed Asciidoctor using the `gem` command, you'll need to manually upgrade Asciidoctor when a new version is released.\nYou can upgrade the gem by typing:\n\n $ gem install asciidoctor\n\nWhen you install a new version of the gem using `gem install`, you end up with multiple versions installed.\nUse the following command to remove the old versions:\n\n $ gem cleanup asciidoctor\n\n== Usage\n\nIf the Asciidoctor gem installed successfully, the `asciidoctor` command line interface (CLI) will be available on your PATH.\nTo verify it's available, run the following in your terminal:\n\n $ asciidoctor --version\n\nYou should see information about the Asciidoctor version and your Ruby environment printed in the terminal.\n\n[.output,subs=attributes+]\n....\nAsciidoctor {release-version} [https:\u002F\u002Fasciidoctor.org]\nRuntime Environment (ruby 3.0.1p64 [x86_64-linux]) (lc:UTF-8 fs:UTF-8 in:UTF-8 ex:UTF-8)\n....\n\n=== Command line interface (CLI)\n\nThe `asciidoctor` command allows you to invoke Asciidoctor from the command line (i.e., a terminal).\n\nThe following command converts the file README.adoc to HTML and saves the result to the file README.html in the same directory.\nThe name of the generated HTML file is derived from the source file by changing its file extension to `.html`.\n\n $ asciidoctor README.adoc\n\nYou can control the Asciidoctor processor by adding various flags and switches, which you can learn about using:\n\n $ asciidoctor --help\n\nFor instance, to write the file to a different directory, use:\n\n $ asciidoctor -D output README.adoc\n\nThe `asciidoctor` {url-manpage}[man page] provides a complete reference of the command line interface.\n\nRefer to the following resources to learn more about how to use the `asciidoctor` command.\n\n* {url-docs}\u002Fasciidoctor\u002Flatest\u002Fcli\u002F[Process AsciiDoc using the CLI]\n* {url-docs}\u002Fasciidoctor\u002Flatest\u002Fcli\u002Foptions\u002F[CLI options]\n\n=== Ruby API\n\nAsciidoctor also provides an API.\nThe API is intended for integration with other Ruby software, such as Rails, GitHub, and GitLab, as well as other languages, such as Java (via AsciidoctorJ) and JavaScript (via Asciidoctor.js).\n\nTo use Asciidoctor in your application, you first need to require the gem:\n\n----\nrequire 'asciidoctor'\n----\n\nYou can then convert an AsciiDoc source file to an HTML file using:\n\n----\nAsciidoctor.convert_file 'README.adoc', to_file: true, safe: :safe\n----\n\nWARNING: When using Asciidoctor via the API, the default safe mode is `:secure`.\nIn secure mode, several core features are disabled, including the `include` directive.\nIf you want to enable these features, you'll need to explicitly set the safe mode to `:server` (recommended) or `:safe`.\n\nYou can also convert an AsciiDoc string to embeddable HTML (for inserting in an HTML page) using:\n\n----\ncontent = '_Zen_ in the art of writing https:\u002F\u002Fasciidoctor.org[AsciiDoc].'\nAsciidoctor.convert content, safe: :safe\n----\n\nIf you want the full HTML document, enable the `header_footer` option as follows:\n\n----\ncontent = '_Zen_ in the art of writing https:\u002F\u002Fasciidoctor.org[AsciiDoc].'\nhtml = Asciidoctor.convert content, header_footer: true, safe: :safe\n----\n\nIf you need access to the parsed document, you can split the conversion into discrete steps:\n\n----\ncontent = '_Zen_ in the art of writing https:\u002F\u002Fasciidoctor.org[AsciiDoc].'\ndocument = Asciidoctor.load content, header_footer: true, safe: :safe\nputs document.doctitle\nhtml = document.convert\n----\n\nKeep in mind that if you don't like the output Asciidoctor produces, _you can change it!_\nAsciidoctor supports custom converters that can handle converting from the parsed document to the generated output.\n\nOne easy way to customize the output piecemeal is by using the template converter.\nThe template converter allows you to supply a {url-tilt}[Tilt]-supported template file to handle converting any node in the document.\n\nHowever you go about it, you _can_ have 100% control over the output.\nFor more information about how to use the API or to customize the output, see:\n\n* {url-docs}\u002Fasciidoctor\u002Flatest\u002Fapi\u002F[Process AsciiDoc using the API]\n* {url-docs}\u002Fasciidoctor\u002Flatest\u002Fapi\u002Foptions\u002F[API options]\n* {url-docs}\u002Fasciidoctor\u002Flatest\u002Fsafe-modes\u002F[Safe modes]\n\n== Contributing\n\nNew contributors are always welcome!\nIf you discover errors or omissions in the source code, documentation, or website content, please don't hesitate to submit an issue or open a pull request with a fix.\n\nHere are some ways *you* can contribute:\n\n* by using prerelease (alpha, beta or preview) versions\n* by reporting bugs\n* by suggesting new features\n* by writing or editing documentation\n* by writing code with tests -- _No patch is too small._\n** fix typos\n** add comments\n** clean up inconsistent whitespace\n** write tests!\n* by refactoring code\n* by fixing {url-issues}[issues]\n* by reviewing patches\n\nThe {url-contribute}[Contributing] guide provides information on how to create, style, and submit issues, feature requests, code, and documentation to Asciidoctor.\n\n== Getting Help\n\nAsciidoctor is developed to help you easily write and publish your content.\nBut we can't do it without your input.\nIf you need assistance or want to provide feedback, please follow the links to the resources listed on the https:\u002F\u002Fdocs.asciidoctor.org\u002Fabout\u002Fsupport\u002F[Get Help] page in the docs.\nHere's a quick summary:\n\nProject chat (Zulip):: {url-chat}\nDiscussion list (archived):: {url-discuss}\nSocial media (Twitter):: Follow https:\u002F\u002Ftwitter.com\u002Fasciidoctor[@asciidoctor] or search the https:\u002F\u002Ftwitter.com\u002Fsearch?f=tweets&q=%23asciidoctor[#asciidoctor] hashtag\n\nifdef::env-github[]\nFurther information and documentation about Asciidoctor can be found on the project's website.\n\n{url-project}[Home] | {url-news}[News] | {url-docs}[Docs]\nendif::[]\n\nThe Asciidoctor organization on GitHub hosts the project's source code, issue tracker, and sub-projects.\n\nSource repository (git):: {url-repo}\nIssue tracker:: {url-issues}\nAsciidoctor organization on GitHub:: {url-org}\n\n== Code of Conduct\n\nThe core Asciidoctor project is governed by the https:\u002F\u002Fgithub.com\u002Fasciidoctor\u002F.github\u002Fblob\u002FHEAD\u002FCODE-OF-CONDUCT.md[Code of Conduct] for the Asciidoctor community of projects.\nBy participating, you're agreeing to honor this code.\nLet's work together to make this a welcoming, professional, inclusive, and safe environment for everyone.\n\n== Versioning and Release Policy\n\nThis project adheres to semantic versioning (*major.minor.patch*).\nTypically, patch releases are only made for the current minor release.\nHowever, exceptions are made on a case-by-case basis to address security vulnerabilities and other high-priority issues.\n\n== Copyright and License\n\nCopyright (C) 2012-present Dan Allen, Sarah White, Ryan Waldron, and the individual contributors to Asciidoctor.\nUse of this software is granted under the terms of the MIT License.\n\nSee the {url-license}[LICENSE] for the full license text.\n\n== Authors\n\n*Asciidoctor* is led by https:\u002F\u002Fgithub.com\u002Fmojavelinux[Dan Allen] and https:\u002F\u002Fgithub.com\u002Fgraphitefriction[Sarah White] and has received contributions from {url-contributors}[many individuals] in Asciidoctor's awesome community.\nThe project was initiated in 2012 by https:\u002F\u002Fgithub.com\u002Ferebor[Ryan Waldron] based on a prototype written by https:\u002F\u002Fgithub.com\u002Fnickh[Nick Hengeveld] for the Git website.\n\n*AsciiDoc.py* was started and maintained by Stuart Rackham from https:\u002F\u002Fgithub.com\u002Fasciidoc-py\u002Fasciidoc-py2\u002Fblob\u002FHEAD\u002FCHANGELOG.txt[2002 to 2013] and has received contributions from many individuals in the https:\u002F\u002Fgithub.com\u002Fasciidoc-py\u002Fasciidoc-py2\u002Fgraphs\u002Fcontributors[AsciiDoc.py community].\n\n== Trademarks\n\nAsciiDoc(R) and AsciiDoc Language(TM) are trademarks of the Eclipse Foundation, Inc.\n\nifndef::env-site[]\n== Changelog\n\nifeval::[{safe-mode-level} \u003C 20]\ninclude::CHANGELOG.adoc[tag=compact,leveloffset=+1]\nendif::[]\n\nRefer to the {url-changelog}[CHANGELOG] for a complete list of changes in older releases.\nendif::[]\n","Asciidoctor 是一个快速、开源的文本处理器，使用 Ruby 编写，可以将 AsciiDoc 内容转换为 HTML 5、DocBook 5 等多种格式。其核心功能包括高效解析 AsciiDoc 文档并生成高质量的输出文件，支持多种输出格式如 PDF、EPUB 3 和手册页等。Asciidoctor 还拥有丰富的扩展、转换器、构建插件和工具生态系统，便于用户编写和发布 AsciiDoc 格式的内容。此外，Asciidoctor 不仅可以在 Ruby 环境下运行，还可以通过 AsciidoctorJ 在 JVM 上执行，或者通过 Asciidoctor.js 在任何 JavaScript 环境中使用。该工具适用于需要将技术文档、书籍或其他内容从 AsciiDoc 格式转换为目标格式的各种场景。",2,"2026-06-11 03:14:05","top_language"]