asciidoctor-wasm v0.2023.19
Asciidoctor WASM
Overview
This module provides an interface for converting Asciidoctor content to various formats using WebAssembly.
It supports conversion to html5, docbook5, and manpage backends, and allows for customization through various options.
The conversion is powered by Ruby's Asciidoctor library running in a WebAssembly (WASM) environment.
Playground
You can try out the Asciidoctor WASM in the Playground.
Installation
Ensure you have Node.js installed, then install the necessary dependencies:
npm install asciidoctor-wasmUsage
Importing the Module
You can import the necessary functions and constants from the module:
// Node
import { Asciidoctor, wasmURL } from "asciidoctor-wasm/dist/node.js";
// Browser or Deno
import { Asciidoctor, wasmURL } from "asciidoctor-wasm/dist/browser.js";Initializing the Converter
From a WebAssembly Module
To initialize the Asciidoctor converter from a WebAssembly module:
const wasmURL = import.meta.resolve('asciidoctor-wasm/dist/asciidoctor.wasm');
const module = await WebAssembly.compileStreaming(fetch(wasmURL));
const asciidoctor = await Asciidoctor.initFromModule(module);From a WebAssembly URL
To initialize the Asciidoctor converter from a WebAssembly binary located at a URL:
const wasmURL = import.meta.resolve('asciidoctor-wasm/dist/asciidoctor.wasm');
const asciidoctor = await Asciidoctor.initFromURL(wasmURL);From a WebAssembly Path
To initialize the Asciidoctor converter from a WebAssembly binary located at a path:
import {fileURLToPath} from 'node:url';
const wasmURL = import.meta.resolve('asciidoctor-wasm/dist/asciidoctor.wasm');
const wasmPath = fileURLToPath(wasmURL);
const asciidoctor = await Asciidoctor.initFromPath(wasmPath);Converting Asciidoctor Content
Once the converter is initialized, you can use it to convert Asciidoctor content:
const asciidoctorContent = "= Asciidoctor\nDoc Writer\n\nHello, Asciidoctor!";
const options: AsciidoctorOptions = {
backend: "html5",
doctype: "article",
standalone: true,
};
const convertedContent = await asciidoctor.convert(asciidoctorContent, options);
console.log(convertedContent);Versioning
This module follows the versioning of the Asciidoctor library it is based on.
0.<asciidoctor>.<asciidoctor-wasm><asciidoctor>: Asciidoctor version; e.g.,2023is based on Asciidoctor 2.0.23.<asciidoctor-wasm>: Asciidoctor WebAssembly module version.
License
WASM binary contains a copy of several OSSs as follows:
- Ruby: https://www.ruby-lang.org/en/about/license.txt
- Asciidoctor: https://github.com/asciidoctor/asciidoctor/blob/e070613f0932b18cfb64370a8f0b6a0831eee4cd/LICENSE
- ruby.wasm: https://github.com/ruby/ruby.wasm/blob/fac40c1b7ffcb65b8c25e3c7c719fd1eac885e47/LICENSE
If you notice the missing license information, please let us know.
This project is licensed under the MIT License. See the LICENSE file for details.
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago