On this page:
Punct:   Common  Mark +   Racket

Punct: CommonMark + Racket

Joel Dueck <joel@jdueck.net>

 #lang punct package: punct-lib

Punct is a programming environment for publishing things, implemented in Racket. Punct’s two basic ideas are:

  1. Markdown documents (parsed by commonmark), extensible with Racket code.

  2. Multiple output formats. A Punct program/document produces a format-independent AST.

The latest version of this documentation can be found at joeldueck.com. The source and installation instructions are at the project’s GitHub repo.

I have designed Punct for my own use and creative needs. If you would like Punct to work differently or support some new feature, I encourage you to fork it and customize it yourself.

This documentation assumes you are familiar with Racket, and with X-expressions and associated terms (attributes, elements, etc).

    1 Quick start

    2 Custom elements

      2.1 Inline and Block Content

      2.2 Rendering custom elements

    3 Writing Punct

      3.1 Using require

      3.2 Metadata block

    4 Rendering

      4.1 Rendering HTML

      4.2 Rendering plain text

    5 Module Reference

      5.1 Core

      5.2 Doc

      5.3 Fetch

      5.4 Parse

    6 Differences from Pollen