Punctuation provides a convenient representation of Markdown which disambiguates between inline- and block-level content, with converters to Honeycomb HTML and Escapade ANSI-rendered text.
- parse Markdown content
- use different types for inline- and block-level content
- static typechecking of Markdown using interpolated strings
- support for substitutions of different types as formatted Markdown
- simple Scala AST representing Markdown
- convert inline- or block-level Markdown to HTML (using Honeycomb)
- convert Markdown to styled ANSI terminal text (using Escapade)
TBC
The following Niveau libraries are dependencies of Punctuation:
No other Niveau libraries are dependents of Punctuation.
Punctuation is classified as fledgling. Propensive defines the following five stability levels for open-source projects:
- embryonic: for experimental or demonstrative purposes only, without any guarantees of longevity
- fledgling: of proven utility, seeking contributions, but liable to significant redesigns
- maturescent: major design decisions broady settled, seeking probatory adoption and refinement
- dependable: production-ready, subject to controlled ongoing maintenance and enhancement; tagged as version
1.0
or later - adamantine: proven, reliable and production-ready, with no further breaking changes ever anticipated
Punctuation is designed to be small. Its entire source code currently consists of 543 lines of code.
Punctuation’s source is available on GitHub, and may be built with Fury by
cloning the layer propensive/punctuation
.
fury layer clone -i propensive/punctuation
or imported into an existing layer with,
fury layer import -i propensive/punctuation
Contributors to Punctuation are welcome and encouraged. New contributors may like to look for issues marked .
We suggest that all contributors read the Contributing Guide to make the process of contributing to Punctuation easier.
Please do not contact project maintainers privately with questions. While it can be tempting to respond to such questions, private answers cannot be shared with a wider audience, and it can result in duplication of effort.
Punctuation was designed and developed by Jon Pretty, and commercial support and training is available from Propensive OÜ.
To punctuate is "to mark with points" (or more specifically, symbolic characters) and also, "to stress or single out as important", which describes Markdown in both the literal sense that punctuation characters are added to text, and in the figurative sense that this punctuates a document with stress and other styled emphasis.
Punctuation is copyright © 2020-21 Jon Pretty & Propensive OÜ, and is made available under the Apache 2.0 License.