开源Ruby文本处理器,可将AsciiDoc文档转换为HTML 5、DocBook 5、PDF等多种格式
Asciidoctor是一款开源的Ruby文本处理器,可将AsciiDoc文档转换为HTML 5、DocBook 5、PDF等多种格式。它提供丰富的扩展生态系统,包括转换器、构建插件等工具,便于创作和发布AsciiDoc内容。除Ruby环境外,Asciidoctor还支持通过AsciidoctorJ在JVM上运行,或通过Asciidoctor.js在JavaScript环境中使用。
= Asciidoctor Dan Allen https://github.com/mojavelinux[@mojavelinux]; Sarah White https://github.com/graphitefriction[@graphitefriction] // 设置: :idprefix: :idseparator: - :source-language: ruby ifndef::env-github[:icons: font] ifdef::env-github[] :status: :caution-caption: :fire: :important-caption: :exclamation: :note-caption: :paperclip: :tip-caption: :bulb: :warning-caption: :warning: endif::[] // 变量: :release-version: 2.0.22 // URL: :url-org: https://github.com/asciidoctor :url-repo: {url-org}/asciidoctor :url-asciidoctorj: {url-org}/asciidoctorj :url-asciidoctorjs: {url-org}/asciidoctor.js :url-gradle-plugin: {url-org}/asciidoctor-gradle-plugin :url-maven-plugin: {url-org}/asciidoctor-maven-plugin :url-asciidoclet: {url-org}/asciidoclet :url-project: https://asciidoctor.org ifdef::env-site[:url-project: link:] :url-docs: https://docs.asciidoctor.org :url-news: {url-project}/news :url-manpage: {url-project}/man/asciidoctor :url-issues: {url-repo}/issues :url-contributors: {url-repo}/graphs/contributors :url-rel-file-base: link: :url-rel-tree-base: link: ifdef::env-site,env-yard[] :url-rel-file-base: {url-repo}/blob/HEAD/ :url-rel-tree-base: {url-repo}/tree/HEAD/ endif::[] :url-changelog: {url-rel-file-base}CHANGELOG.adoc :url-contribute: {url-rel-file-base}CONTRIBUTING.adoc :url-license: {url-rel-file-base}LICENSE :url-tests: {url-rel-tree-base}test :url-discuss: https://discuss.asciidoctor.org :url-chat: https://chat.asciidoctor.org :url-rubygem: https://rubygems.org/gems/asciidoctor :url-what-is-asciidoc: {url-docs}/asciidoctor/latest/#relationship-to-asciidoc :url-install-docker: https://github.com/asciidoctor/docker-asciidoctor :url-opal: https://opalrb.com :url-tilt: https://github.com/rtomayko/tilt :url-ruby: https://www.ruby-lang.org // 图片: :image-url-screenshot: https://cdn.jsdelivr.net/gh/asciidoctor/asciidoctor/screenshot.png
{url-project}[Asciidoctor]是一个快速、开源的基于Ruby的文本处理器,用于将AsciiDoc(R)解析为文档模型并将其转换为HTML 5、DocBook 5、手册页、PDF、EPUB 3等输出格式。
Asciidoctor还拥有扩展、转换器、构建插件和工具的生态系统,可帮助您创作和发布用{url-what-is-asciidoc}[AsciiDoc]编写的内容。 您可以在{url-docs}找到这些项目的文档。
除了在Ruby上运行外,Asciidoctor还可以使用{url-asciidoctorj}[AsciidoctorJ]在JVM上执行,或使用{url-asciidoctorjs}[Asciidoctor.js]在任何JavaScript环境中执行。
ifndef::env-site,env-yard[] 本文档还提供以下语言版本: + {url-rel-file-base}README-zh_CN.adoc[简体中文] | {url-rel-file-base}README-de.adoc[Deutsch] | {url-rel-file-base}README-fr.adoc[Français] | {url-rel-file-base}README-jp.adoc[日本語] endif::[]
.主要文档 [.compact]
ifdef::status[] image:https://img.shields.io/gem/v/asciidoctor.svg[最新版本, link={url-rubygem}] image:https://img.shields.io/badge/rubydoc.info-{release-version}-blue.svg[库(API)文档,link=https://www.rubydoc.info/gems/asciidoctor/{release-version}] image:https://github.com/asciidoctor/asciidoctor/workflows/CI/badge.svg[构建状态(GitHub Actions),link={url-repo}/actions] image:https://img.shields.io/badge/zulip-join_chat-brightgreen.svg[项目聊天(Zulip),link={url-chat}] endif::[]
== 赞助商
我们想要感谢我们的{url-project}/supporters[赞助商]对改善技术文档状况的承诺,感谢他们对本项目的支持。 感谢赞助商! 没有你们的慷慨支持,Asciidoctor将无法实现。
你可以通过https://opencollective.com/asciidoctor[OpenCollective]成为赞助商来支持这个项目。
== AsciiDoc处理和内置转换器
AsciiDoc是语言。+ Asciidoctor是处理器。
Asciidoctor读取AsciiDoc源文件,如下图左侧面板所示,并将其转换为可发布的格式,如右侧面板所示的HTML 5。
image::{image-url-screenshot}[AsciiDoc源文件和相应渲染的HTML预览]
Asciidoctor默认为三种输出格式提供内置的{url-docs}/asciidoctor/latest/converters/[转换器]:{url-docs}/asciidoctor/latest/html-backend/[HTML 5]、{url-docs}/asciidoctor/latest/docbook-backend/[DocBook 5]和{url-docs}/asciidoctor/latest/manpage-backend/man page。 其他转换器(如PDF和EPUB 3)由单独的gem提供。 Asciidoctor还提供了开箱即用的HTML体验,包括{url-docs}/asciidoctor/latest/html-backend/default-stylesheet/[默认样式 表]和内置集成,如Font Awesome(用于图标)、highlight.js、Rouge和Pygments(用于源代码高亮)以及MathJax(用于STEM处理)。
== Asciidoctor生态系统
虽然Asciidoctor是用Ruby编写的,但这并不意味着您需要Ruby才能使用它。 Asciidoctor可以使用{url-docs}/asciidoctorj/latest/[AsciidoctorJ]在JVM上执行,或使用{url-docs}/asciidoctor.js/latest/[Asciidoctor.js]在任何JavaScript环境(包括浏览器)中执行。
安装Asciidoctor处理器只是您发布体验的开始。 Asciidoctor为您提供了一个扩展和工具的生态系统,包括附加转换器、扩展语法、构建插件以及集成的写作和预览环境:
Asciidoctor是AsciiDoc.py的继任者。 如果您正在使用AsciiDoc.py,请参阅{url-docs}/asciidoctor/latest/migrate/asciidoc-py/[从AsciiDoc.py迁移]了解如何升级到Asciidoctor。
== 要求
Asciidoctor可在Linux、macOS和Windows上运行,并要求使用以下{url-ruby}[Ruby]实现之一:
如果您使用的是非英语Windows环境,在调用Asciidoctor时可能会遇到Encoding::UndefinedConversionError
错误。
要解决此问题,我们建议将默认的外部和内部字符编码覆盖为utf-8