On this page:
Punct:   Common  Mark +   Racket
8.15

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 Writing Punct

      2.1 Using require

      2.2 Metadata block

      2.3 Markdown and Racket

    3 Document Structure

      3.1 Blocks and Flows

      3.2 Inline elements

      3.3 Custom elements

      3.4 Rendering custom elements

    4 Rendering Output

      4.1 Rendering HTML

      4.2 Rendering plain text

    5 Module Reference

      5.1 Core

      5.2 Fetch

      5.3 Parse

    6 Differences from Pollen