{"size": 1466, "ext": "scrbl", "max_stars_repo_path": "scribblings/beeswax.scrbl", "max_stars_repo_name": "otherjoel/beeswax", "max_stars_repo_stars_event_min_datetime": "2021-03-26T19:47:26.000Z", "max_stars_repo_stars_event_max_datetime": "2021-09-23T15:20:06.000Z", "max_issues_repo_path": "scribblings/beeswax.scrbl", "max_issues_repo_name": "otherjoel/beeswax", "max_issues_repo_issues_event_min_datetime": "2021-02-15T02:42:07.000Z", "max_issues_repo_issues_event_max_datetime": "2021-09-23T15:19:52.000Z", "max_forks_repo_path": "scribblings/beeswax.scrbl", "max_forks_repo_name": "otherjoel/beeswax", "max_forks_repo_forks_event_min_datetime": "2021-06-18T06:42:51.000Z", "max_forks_repo_forks_event_max_datetime": "2021-06-18T06:42:51.000Z"}
{"max_stars_count": 8, "max_issues_count": 12, "max_forks_count": 1, "avg_line_length": 37.5897435897, "max_line_length": 102, "alphanum_fraction": 0.7660300136}
#lang scribble/manual

@require["sandbox.rkt"]

@title[#:style '(toc)]{Beeswax: a Pollen-friendly template language}
@author[(author+email "Joel Dueck" "joel@jdueck.net")]

@defmodule[beeswax]

Beeswax is a simple templating language. A Beeswax template wraps its contents in a function that
can be imported by other modules and applied to data to get a rendered document. Having a
@hash-lang[] for your templates has a few small benefits: it lights up all the little conveniences
of your IDE, if you use one (DrRacket, racket-mode, etc.); it’s a little easier to reason about and
reuse in other contexts; and it can make renders faster (because the template can be compiled).

Beeswax was designed to be easy to use within @seclink["top" #:doc '(lib
"pollen/scribblings/pollen.scrbl")]{Pollen} projects, but can be of use in other Racket projects as
well.

@bold{Warning: Beeswax isn’t done yet, and will probably change.} I will announce any breaking
changes in the
@hyperlink["https://github.com/otherjoel/beeswax/discussions/categories/announcements"]{Announcements}
section of the project’s discussion forum.

@bold{Installation:} To install Beeswax from the command line:

@terminal{
@:>{raco pkg install beeswax}}

Or using DrRacket: click the @onscreen{File} menu → @onscreen{Install Package …}.


@local-table-of-contents[]

@include-section["tutorial.scrbl"]
@include-section["reference.scrbl"]
@include-section["raco.scrbl"]
@include-section["ack.scrbl"]
