A reStructuredText parser for JavaScript.
demo.
> npm install -g restructured
> echo 'Hello, world' | restructured | jq
{
"type": "document",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "Hello, world\n"
}
]
}
]
}
Consider the following script.
import restructured from 'restructured';
const parsed = restructured.parse(`
=====
Title
=====
Subtitle
--------
This is a paragraph.
- This is item 1
- This is item 2
`);
console.log(JSON.stringify(parsed));
The above script outputs the following JSON.
{
"type": "document",
"children": [
{
"type": "section",
"depth": 1,
"children": [
{
"type": "title",
"children": [
{
"type": "text",
"value": "Title"
}
]
},
{
"type": "section",
"depth": 2,
"children": [
{
"type": "title",
"children": [
{
"type": "text",
"value": "Subtitle"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "This is a paragraph.\n"
}
]
},
{
"type": "bullet_list",
"bullet": "-",
"children": [
{
"type": "list_item",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "This is item 1\n"
}
]
}
]
},
{
"type": "list_item",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "This is item 2\n"
}
]
}
]
}
]
}
]
}
]
}
]
}
- Document Structure
- Document
- Sections
- Transitions
- Body Elements
- Paragraphs
- Bullet Lists
- Enumerated Lists
- Definition Lists
- Field Lists
- Bibliographic Fields
- RCS Keywords
- Option Lists
- Literal Blocks
- Indented Literal Blocks
- Quoted Literal Blocks
- Line Blocks
- Block Quotes
- Doctest Blocks
- Tables
- Grid Tables
- Simple Tables
- List tables
- CSV tables
- Explicit Markup Blocks
- Footnotes
- Auto-Numbered Footnotes
- Auto-Symbol Footnotes
- Mixed Manual and Auto-Numbered Footnotes
- Citations
- Hyperlink Targets
- Anonymous Hyperlinks
- Directives
- Substitution Definitions
- Comments
- Footnotes
- Implicit Hyperlink Targets
- Inline Markup
- Emphasis
- Strong Emphasis
- Interpreted Text
- Inline Literals
- Hyperlink References
- Embedded URIs and Aliases
- Inline Internal Targets
- Footnote References
- Citation References
- Substitution References
- Standalone Hyperlinks
MIT