Podlite
a block-based markup language with typed blocks
Last verified:
What is Podlite?
Podlite is a universal block-based markup language designed to be flexible across many kinds of content and publishing workflows. The website positions it as a way to create documentation, blogs, educational materials, and other structured documents with clear block boundaries and typed elements.
The 2.0 release emphasizes that well-formed v1.0 documents should keep rendering unchanged, while parser updates are needed only for a small number of breaking syntax details. That makes Podlite feel conservative for authors and more precise for tool builders.
Its feature set centers on explicit document structure. The release highlights section boundaries, attribute configuration for upcoming blocks, content masking, data tables from CSV or TSV, richer MIME handling, fenced-code attributes, link-specific options, and better error recovery for tables.
Podlite is aimed at both writers and developers. Authors can use it for readable structured content, while implementers can build parsers, editors, publishing tools, and other integrations around the specification and its reference ecosystem.
Podlite pricing
Pricing model: Freemium
The website does not list paid plans or a tiered pricing model for the core Podlite specification. It describes the web editor at pod6.in as available for trying features live, and the desktop editor as freely available in stores. It also lists source code repositories and describes the project as open and specification-based, but it does not show subscription pricing, usage limits, or enterprise plans on the pages reviewed.
Podlite pros
- Well-formed v1.0 documents render unchanged in v2.0
- Typed section boundaries with =boundary
- Pre-configure the next block with =set
- Multiline values supported in =set
- Inline masking with G<> and :masked
- Whole-block masking support
- CSV or TSV rendering with =data-table
- Multiple data-table source forms
- Column projection via :columns
- Display-name overrides via :rename{}
- Extended MIME type parameters
- Header-present and header-absent CSV handling
- Markdown fenced code attributes
- Per-link configuration for L<>
- Explicit table error recovery warnings
- Good fit for docs, blogs, and educational content
- Specification-driven and implementation-friendly
- Web editor available for testing directives live
Podlite cons
- Not all v1.0 syntax remains unchanged for parsers
- Legacy string attribute formats were removed
- =include parsing moved from block handling to directive handling
- Some features matter more to tooling than to authors
- Data-table support depends on CSV or TSV structure
- Masked content can hide information by default
- Still requires understanding block-oriented syntax
- Specification and ecosystem are still evolving
Frequently asked questions about Podlite
What is Podlite?
Podlite is a universal block-based markup language meant for structured writing and publishing. The website describes it as suitable for documentation, blogging, educational materials, and similar content where clear document structure matters.
What changed in Podlite 2.0?
Podlite 2.0 adds eight new features, including =boundary, =set, content masking, =data-table, extended MIME type syntax, fenced-code block attributes, per-link configuration, and better table error recovery. The release also notes two parsing changes: legacy attribute string formats were removed, and =include is now treated as a directive.
Will my old documents still work?
For most users, yes. The release says that a well-formed v1.0 document renders unchanged under v2.0, so document authors usually do not need to rewrite content. The breaking changes are mainly important for parser implementations and tool authors.
What is =boundary used for?
=boundary is a typed section divider. It renders like a horizontal rule while also exposing document structure to tools, which makes it useful when a document needs both visual separation and machine-readable meaning.
How does =set work?
=set lets you pre-configure attributes for the next block. It supports multiline values, inline markup, and lexical scope, so you can pass rich settings forward without scattering them through the document.
What does =data-table do?
=data-table turns CSV or TSV data into a rendered table. It can take data from inline body content, an external source, or a referenced data block, and it also supports column selection and display-name overrides.
What is the masked content feature?
Masked content uses G<> with the :masked attribute to hide text by default until a render condition reveals it. The website describes it as usable either as an inline mark or as a whole-block attribute.
How are code blocks handled in v2.0?
Podlite 2.0 extends fenced code blocks so the string after the language tag is parsed as Podlite attributes. That makes code fences more expressive and lets authors attach structured options directly to the block.
Does Podlite handle table mistakes better now?
Yes. The release says =table now includes explicit warnings for malformed rows, such as cell-count mismatches and mixed separators, and it falls back more gracefully instead of silently producing corrupted output.
Where can I try Podlite features?
The website points to the web editor at pod6.in for trying the new directives live. It also mentions the desktop editor and the specification page, which together form the main places to explore the language and its behavior.