Skip to content

petesiudak/punctuation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Punctuation

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.

Features

  • 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)

Getting Started

TBC

Related Projects

The following Niveau libraries are dependencies of Punctuation:

Clairvoyant   Contextual   Honeycomb  

No other Niveau libraries are dependents of Punctuation.

Status

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.

Availability

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

Contributing

Contributors to Punctuation are welcome and encouraged. New contributors may like to look for issues marked label: good first issue.

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.

Author

Punctuation was designed and developed by Jon Pretty, and commercial support and training is available from Propensive OÜ.

Name

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.

License

Punctuation is copyright © 2020-21 Jon Pretty & Propensive OÜ, and is made available under the Apache 2.0 License.

About

Typesafe parsing and rendering of markdown

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Scala 100.0%