Repository navigation
0.1.2
Fixes
rawHtmlnow applies only undersafeMode: true. WithsafeMode: 'strict'or an explicitSafeModeinstance it is ignored, so an app-widerawHtml: 'allow'can no longer let raw HTML through thecommentpreset or strict mode.carve render,carve convert --outputandcarve format --writewrite through a temp file and rename it over the target, so a failed write leaves the original intact. The command needs write access to the target's directory, and refuses a file owned by another user rather than taking it over.- Configured extensions now run for text, Markdown and ANSI output, not only HTML.
CarveBehaviorregenerates its text and TOC fields when one of them was set directly, as it already did for the HTML field.- A layout placeholder value containing
{{content}}no longer creates a second body slot inCarveView. - Validation option
strictused to be passed to the engine as strict parsing, undocumented. It now fails validation on any parse warning and names up to three of them.
Improvements
rawHtml(strip,escape,allow) sets raw HTML handling undersafeMode: true.allowpasses raw HTML verbatim and is for trusted authors only; the default stays the engine's.cache.versionenters the cache key and allows caching with extension instances, closures andrenderers. A closure is keyed by where it is defined and the values it captures; one whose captures cannot be serialized is not cached.includeResolvertakes a custom include resolver forrenderFile(); implementingIncludeCacheKeyProviderlets it take part in the file cache.CarveRenderer::lintFile()lints a file with its includes through the configured resolver;carve lintuses it.carve render --format html|text|markdown|ansi, backed by the newCarveRenderer::toAnsi()andrenderFileAs().carve format --align-tables, andformat()takes$alignTables.CarveHelper::file(),lint()andformat().- Diagram presets
d2,graphviz,wavedrom,abc,vega_liteandchartare available by name. - File render reports expose
dependencies()andsuppressedWarnings().
CarveRendererInterface gains toAnsi(), renderFileAs() and lintFile(), and format() gains an optional $alignTables. Custom renderers implementing the interface need these additions.
Full Changelog: 0.1.1...0.1.2