Crate asciidoc_parser

Source
Expand description

§AsciiDoc parser for Rust

CI Latest Version docs.rs Codecov CodSpeed

This is an effort to write a semantic parser for the AsciiDoc language in the Rust language.

The project is in its infancy as of March 2025 and in no way ready to use.

You’re welcome to follow along and contribute with the understanding that I may or may not drive this project a mature (1.0) release.

§Known limitations

  • Parsing UTF-16 content is not supported. (UTF-16 documents must be re-encoded to UTF-8 prior to parsing with this crate.) I have no plans to support UTF-16 content.

§Licenses

The asciidoc-parser crate is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT.

Note that some components and dependent crates may be licensed under different terms; please check the license terms for each crate and component for details.

§License for AsciiDoc language materials

IMPORTANT: This repository contains a snapshot of the AsciiDoc language description which comes with its own license terms. It is not the purpose of this repository to supplant or replace that description; these documents are here as part of tooling to ensure that this crate follows the language description as closely as possible. Please consult AsciiDoc Language @ Eclipse GitLab for the official language description.

The following applies to content in the asg and spec folders:

The AsciiDoc Language and the accompanying materials are made available under the terms of the Eclipse Public License v 2.0 (EPL-2.0). See LICENSE to find the full license text.

The following applies to content in the docs folder:

The user documentation for the AsciiDoc Language, located in the docs/ folder, is made available under the terms of a Creative Commons Attribution 4.0 International License (CC-BY-4.0).

Re-exports§

pub use document::Document;
pub use parser::Parser;

Modules§

attributes
Element attributes are a powerful means of controlling the built-in settings of individual block and inline elements in the AsciiDoc syntax. They can also be used to add supplemental information, such as citation metadata and fallback content, to certain elements.
blocks
Block elements form the main structure of an AsciiDoc document, starting with the document itself.
document
Describes the top-level document structure.
parser
The Parser struct and its related structs allow a caller to configure how AsciiDoc parsing occurs and then to initiate the parsing process.
strings
String types that facilitate parsing.

Structs§

Span
Represents a subset of the overall UTF-8 input stream.

Enums§

Content
Describes the annotated content of a Span after any relevant substitutions have been performed.

Traits§

HasSpan
Any syntactic element can describe its location within the source material using this trait.