Skip to main content

zensical-carve

Use Carve in a Zensical site, either as a block inside a Markdown page or as a complete .crv page.

pip install zensical-carve

Carve blocks in Markdown

Register a pymdownx.superfences custom fence in zensical.toml:

pymdownx.superfences.custom_fences = [
  { name = "mermaid", class = "mermaid", format = "pymdownx.superfences.fence_code_format" },
  { name = "carve", class = "carve", format = "zensical_carve.fence" },
]

The formatter uses a dot between the module and function. Zensical does not accept the module:function spelling here.

```carve
## Rendered by Carve

A *bold* and /italic/ line.
```

Complete Carve pages

Zensical does not discover .crv files as pages, so render them before the site build:

zensical-carve prepare
zensical build

After configuration changes, use the combined command so it passes --clean and avoids stale generated pages:

zensical-carve build

The converter writes a Markdown page beside each source. It returns headings and code blocks to Zensical as Markdown so the theme can build navigation, permalinks, syntax highlighting, and code controls. Other constructs remain Carve HTML to avoid a lossy whole-document Markdown conversion.

Frontmatter is copied to the generated page for Zensical to read.

Configuration

Settings may live in [tool.zensical-carve] inside zensical.toml or pyproject.toml:

[tool.zensical-carve]
extensions = ["details", "tabs", "math-block"]
emoji = "twemoji"
docs-dir = "docs"

An extension that takes options is written as an inline table, and lint = true reports lint findings while pages are prepared:

[tool.zensical-carve]
extensions = ["details", { wikilinks = { css_class = "wiki", new_window = true } }]
lint = true

Command-line flags override the file. Configuration also controls symbol maps, raw HTML, diagram prerendering, and the Kroki endpoint. The default public Kroki service receives diagram source; use a private endpoint when needed.

Lint

zensical-carve lint reports constructs that parse and render but not the way the author meant (a block attribute that attaches to nothing, a reference link with no definition) on every .crv page, and exits 1 when it finds any. With lint = true or --lint, prepare and build print the same findings as warnings, and zensical-carve build -- --strict stops before Zensical runs. Lint needs carve-lang 0.1.2 or newer.

Includes and build output

Includes are off by default. Enable them with includes = true or --includes; this requires carve-lang 0.1.4 or newer. Carve fences inside Markdown pages never expand includes. Generated pages record their source and a generated marker.

Feature support

Most Carve HTML works directly. Theme-sensitive constructs, diagrams, emoji, heading links, code blocks, and diff blocks receive specific adapters. See the feature matrix and collision measurements before enabling a large extension set.

Reference

The complete reference documents configuration, commands, includes, theme adaptation, diagrams, reference documents, and known Zensical limits.

Development

Contributor setup, tests, and maintenance commands are in the development guide. Release steps are in the release guide.

Metadata

Release files for zensical-carve 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zensical-carve 0.1.3
File Size Uploaded Provenance
zensical_carve-0.1.3.tar.gz 45.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for zensical-carve 0.1.3
File Interpreter ABI Platform
zensical_carve-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 76.9 kB

Release files / zensical_carve-0.1.3.tar.gz

Download URL zensical_carve-0.1.3.tar.gz
Size 45.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bf03a4b73ce9920425c5fab5fbcb481f394b2325787ac3f2ef904e0d6b3ac673
BLAKE2b-256 checksum
How to use checksums
75d9a0f1a75ba4e05f85dc3ebce3eaed0c20109910f61c74023e063cf89bab3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / zensical_carve-0.1.3-py3-none-any.whl

Download URL zensical_carve-0.1.3-py3-none-any.whl
Size 31.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d798e72e7d0205061983ebb029afbaa0dbfdbde2d7e6a367077fbd1a6c6f5847
BLAKE2b-256 checksum
How to use checksums
97f6f8c8bade4b8bffa43b63890d31bb4eee0842eb88aa211d453a99ad7b17f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for zensical-carve 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page