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.
With includes on, the linter also checks every included Carve file and names
the include site of each finding there.
Includes and build output
Includes are off by default. Enable them with includes = true or
--includes. 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.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| zensical_carve-0.1.4.tar.gz | 46.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zensical_carve-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 78.3 kB
Release files / zensical_carve-0.1.4.tar.gz
| Download URL | zensical_carve-0.1.4.tar.gz |
|---|---|
| Size | 46.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fc8d2db00307b68002347fba88c2330c2a78c236ff573171f23f5667e60f0134
|
|
BLAKE2b-256 checksum How to use checksums |
ea770756d7a71e9d4597a04f6dcdf251241139463f587f092b3d84b4741e1bc0
|
| 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.4-py3-none-any.whl
| Download URL | zensical_carve-0.1.4-py3-none-any.whl |
|---|---|
| Size | 32.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9746b639109cc95690fb072da55c6b14fea26bd256ddcd81015fd542e89fddc0
|
|
BLAKE2b-256 checksum How to use checksums |
b8845ee7bdbe0c288ca6598463c15f66914233dc775144a553bbdb67fee869ea
|
| 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.4
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.