Repository navigation
Releases
MdlibPure.Blazor 0.2.0
MdlibPure.Blazor 0.2.0, the Blazor wrapper of mdlib-pure.
Added
OnValueCommitonMarkdownEditor(EventCallback<string?>) andPodcastEditor(EventCallback<PodcastEpisode>): the user left the editor, with the value at that moment; a pendingValueChangedis raised first. Interactive render modes. The counterpart of the Angular wrapper'svalueCommit.
Changed
- The bundled
<mdlib-podcast-editor>dispatcheschangeonly when focus leaves the editor (moves inside it, such as text area → toolbar or a dialog, do not count), like<mdlib-editor>and native inputs. Before, it followed every typing pause.@bind-Valueis unaffected (it usesinput). - The podcast element is now shared with the Angular wrapper (
templates/podcast/element.js): same behavior in both.
Install (until it is on nuget.org)
Requires .NET 10. Download MdlibPure.Blazor.0.2.0.nupkg below into a folder, then:
dotnet nuget add source /path/to/folder --name mdlib-local
dotnet add package MdlibPure.Blazor --version 0.2.0Setup, parameters, PodcastEditor, render modes and security notes: bindings/blazor/README.md.
Notes
- Bundles mdlib-pure 0.1.1 (unchanged). Third-party code bundled in the package (KaTeX, Mermaid and their dependencies, all permissively licensed) is listed in
THIRD-PARTY-NOTICES.txtinside the package. - All people and content in the podcast sample are fictional.
- Built from b1c613b. SHA-256 of the
.nupkg:27babaed7f245a6006fb621285deb3e232fc68b97c96ba8b35128b5fdccbc1bd
ngx-mdlib-pure 0.2.0 (npm tarball)
ngx-mdlib-pure 0.2.0, the Angular wrapper of mdlib-pure, as an npm tarball. Neither it nor mdlib-pure is on the npm registry yet: install both by URL.
npm install https://github.com/MichelePolo/mdlib-pure/releases/download/mdlib-pure-v0.1.1/mdlib-pure-0.1.1.tgz \
https://github.com/MichelePolo/mdlib-pure/releases/download/angular-v0.2.0/ngx-mdlib-pure-0.2.0.tgz
npm install katex mermaid # optional: math and diagramsAdded
ngx-mdlib-pure/podcast, a secondary entry point:PodcastEditor, the rundown editor of mdlib-pure's podcast sample as<mdlib-podcast-editor>(the component's host is the element).[(value)]of a typedPodcastEpisode(source,documents,activeDocument,durationCentiseconds),podcastEpisode({ … })for defaults; aControlValueAccessorfor[formControl],formControlName,[(ngModel)].- Inputs
participants,view,delay,label,name,disabled,grammar,tagColors,tasks,documents,readOnly,compact,currentLine,runningTimer; outputsvalueCommit(focus left the editor),taskToggle,openDocument,activeDocumentChange. The same options as the Blazor wrapper'sPodcastEditor. - Defined on first use in the browser; on the server it renders empty with its attributes (SSR,
ngSkipHydration). Markup and styles in a shadow root; theme it through::part(editor).
MarkdownEditor, MarkdownViewer, provideMdlibPure() and MarkdownService are unchanged. Peer dependencies unchanged: @angular/core, @angular/common, @angular/forms ^21.0.0 || ^22.0.0, mdlib-pure ^0.1.1.
Guide: bindings/angular/README.md · on the site: https://michelepolo.github.io/mdlib-pure/docs/angular/
All people and content in the podcast sample are fictional. Built from b1c613b with npm run angular:pack. SHA-256 of ngx-mdlib-pure-0.2.0.tgz: 6619d80b048f7c8b8cdfb528477ed646bc18b74066ac893a2a3ed527b686d439
ngx-mdlib-pure 0.1.1 (npm tarball)
ngx-mdlib-pure 0.1.1, the Angular wrapper of mdlib-pure, as an npm tarball. Neither it nor mdlib-pure is on the npm registry yet: install both by URL.
npm install https://github.com/MichelePolo/mdlib-pure/releases/download/mdlib-pure-v0.1.1/mdlib-pure-0.1.1.tgz \
https://github.com/MichelePolo/mdlib-pure/releases/download/angular-v0.1.1/ngx-mdlib-pure-0.1.1.tgz
npm install katex mermaid # optional: math and diagramsChanged
- Peer dependency
mdlib-pureis now^0.1.1, so apps get the<mdlib-editor>fixes of mdlib-pure 0.1.1: avalueset as a property before the element is connected or defined is no longer lost, and missing form APIs (jsdom) no longer throw. Also its theme fixes under Tailwind's preflight. - The packaged README installs the 0.1.1 tarballs.
The components, provideMdlibPure() and MarkdownService are the same as in 0.1.0: no API change.
Peer dependencies: @angular/core, @angular/common, @angular/forms ^21.0.0 || ^22.0.0, mdlib-pure ^0.1.1.
Guide: bindings/angular/README.md · on the site: https://michelepolo.github.io/mdlib-pure/docs/angular/
Built from 9481e31 with npm run angular:pack. SHA-256 of ngx-mdlib-pure-0.1.1.tgz: 8a055c0792e731057f171d94bbbb01515bc0ba2efd1e82b57bc91a5749501506
MdlibPure.Blazor 0.1.1
MdlibPure.Blazor 0.1.1 adds <PodcastEditor>, the podcast rundown editor of the public sample, as a Blazor component.
<PodcastEditor @bind-Value="Episode" Participants="People" />: the whole episode is bound as a typed C#PodcastEpisode(rundown source, supporting documents, active document, planned duration).- Configurable participants (
@namecompletion and highlighting), supporting documents, planned durations and the planned total. - Same parser, controller, toolbar and styles as the site sample; JavaScript and CSS load automatically, no Node build in your app. Saving is up to the app (
ValueChangedor@bind-Value:after); the wrapper uses no localStorage. - Static SSR (the episode is posted as JSON), Interactive Server, WebAssembly and Auto, tested end to end in Chromium, including enhanced navigation.
- Bundles mdlib-pure 0.1.1 (element value set before connection, Tailwind preflight fix).
<Markdown>, <MarkdownEditor> and IMarkdownService are unchanged from 0.1.0.
Install (until it is on nuget.org)
Requires .NET 10. Download MdlibPure.Blazor.0.1.1.nupkg below into a folder, then:
dotnet nuget add source /path/to/folder --name mdlib-local
dotnet add package MdlibPure.Blazor --version 0.1.1// Program.cs
builder.Services.AddMdlibPure();@* _Imports.razor *@
@using MdlibPure.BlazorSetup, parameters, PodcastEditor, render modes, AST service and security notes: bindings/blazor/README.md. Podcast example guide: docs/podcast.md.
Notes
- Third-party code bundled in the package (KaTeX, Mermaid and their dependencies, all permissively licensed) is listed in
THIRD-PARTY-NOTICES.txtinside the package. - All people and content in the podcast sample are fictional.
- SHA-256 of the
.nupkg:aed8cf2efc4467ce9a901634d910cec140ee5145df938088cdb3f659d01bc8c4
mdlib-pure 0.1.1 (npm tarball)
mdlib-pure only, as the npm tarball of the GitHub release mdlib-pure-v0.1.1
(still not on the npm registry). ngx-mdlib-pure 0.1.0 works with it
unchanged; MdlibPure.Blazor 0.1.0 still bundles the 0.1.0 elements and theme.
Fixed
<mdlib-editor>: avalueset as a property before the element was
connected (React 19, Vue) was replaced by the missing attribute, so the
editor started empty; avalueset beforedefineElements()hid the
setter. Both now work (#1).<mdlib-editor>in test DOMs: noTypeErrorwhereElementInternals
has nosetFormValue()(jsdom 29) orattachInternals()is missing.theme.cssunder Tailwind's preflight: list markers, link underlines and
inline images are kept, so.mdlooks the same with or without Tailwind.theme.css: code blocks are 14px as intended (they were 11.4px: the
browser's baremonospaceshrinks em sizes); footnote references no
longer stretch their line; task-list checkboxes line up with the indent.
Install
npm install https://github.com/MichelePolo/mdlib-pure/releases/download/mdlib-pure-v0.1.1/mdlib-pure-0.1.1.tgzValidation
npm run verifyand all 652 CommonMark examples pass.- All 30 Chromium tests pass.
npm run site:buildpasses, including internal links.- The attached tarball installs offline; every public JavaScript entry point imports and all 652 CommonMark examples pass against the installed package.
SHA-256 (mdlib-pure-0.1.1.tgz): e48c62f3156a94da616f611bba52fbbe7a2089d03bced6d92291ee48e964d90a
mdlib-pure 0.1.0 (npm tarball)
The npm package of mdlib-pure 0.1.0, as a tarball. It is not on the npm registry yet (npm install mdlib-pure does not work): install it by URL.
npm install https://github.com/MichelePolo/mdlib-pure/releases/download/mdlib-pure-v0.1.0/mdlib-pure-0.1.0.tgznpm records the URL in package.json and the checksum in package-lock.json, so npm ci works on CI and for your colleagues. Imports are the same as from the registry: import { createMarkdown } from 'mdlib-pure'.
- CommonMark 0.31.2 (652/652 spec examples), GitHub Flavored Markdown as a plugin (54/54), ~11 KB gzip core, zero dependencies, linear time on any input.
- Entry points:
gfm,headings,container,math,mermaid,deflist,mark,frontmatter,adapter(React/Preact/Vue),element(the<mdlib-markdown>and<mdlib-editor>Web Components),entities;theme.css,editor.css,tailwind.css. - Docs, samples and playground: https://michelepolo.github.io/mdlib-pure/ · changes: CHANGELOG.md
Framework wrappers: Angular (npm tarball), Blazor (.nupkg).
Built from 59bcab7 with npm pack. SHA-256 of mdlib-pure-0.1.0.tgz: c41a4c0b7b1a403cad62ab51d55fe4b328583c9e92a20715a3dae59a8cb13ac7
MdlibPure.Blazor 0.1.0
First release of MdlibPure.Blazor, the Blazor wrapper of mdlib-pure: an editor with live preview and a Markdown viewer for every Blazor render mode.
<MarkdownEditor @bind-Value="text" />: toolbar, Ctrl+B/I/K, split / write / preview views, live preview rendered in the browser on every keystroke; works withEditFormand in Static SSR forms.<Markdown Value="text" />: the viewer.IMarkdownService(builder.Services.AddMdlibPure()): typed AST, table of contents, HTML.- All plugins: GFM, headings, math (KaTeX), Mermaid, containers, definition lists, mark, front matter. KaTeX and Mermaid are bundled and loaded only when a document uses them.
- Static SSR, Interactive Server, WebAssembly and Auto, tested end to end in Chromium.
Install (until it is on nuget.org)
Requires .NET 10. Download MdlibPure.Blazor.0.1.0.nupkg below into a folder, then:
dotnet nuget add source /path/to/folder --name mdlib-local
dotnet add package MdlibPure.Blazor --version 0.1.0// Program.cs
builder.Services.AddMdlibPure();@* _Imports.razor *@
@using MdlibPure.BlazorSetup, parameters, render-mode behavior, AST service, named configs, styling and security notes: bindings/blazor/README.md.
Notes
- Third-party code bundled in the package (KaTeX, Mermaid and their dependencies, all permissively licensed) is listed in
THIRD-PARTY-NOTICES.txtinside the package. - Not tested yet: standalone WebAssembly hosting, legacy
_Host.cshtml, strict Content-Security-Policy. - SHA-256 of the
.nupkg:d3f6e2705b135328db94cbf9e5c9a39a80994aedd6dc474d2ce2fad811028879
ngx-mdlib-pure 0.1.0 (npm tarball)
ngx-mdlib-pure 0.1.0, the Angular wrapper of mdlib-pure, as an npm tarball. Neither it nor mdlib-pure is on the npm registry yet: install both by URL.
npm install https://github.com/MichelePolo/mdlib-pure/releases/download/mdlib-pure-v0.1.0/mdlib-pure-0.1.0.tgz \
https://github.com/MichelePolo/mdlib-pure/releases/download/angular-v0.1.0/ngx-mdlib-pure-0.1.0.tgz
npm install katex mermaid # optional: math and diagrams- Angular 21 and 22: standalone
MarkdownEditor(<mdlib-editor [(value)]>, aControlValueAccessorforngModeland reactive forms) andMarkdownViewer(<mdlib-markdown [source]>), noCUSTOM_ELEMENTS_SCHEMA. provideMdlibPure({ loaders, configs });MarkdownServicefor the AST, the table of contents and HTML, also on the server.- SSR with hydration (
@angular/ssr), zoneless. - Peer dependencies:
@angular/core,@angular/common,@angular/forms^21.0.0 || ^22.0.0,mdlib-pure ^0.1.0.
Guide: bindings/angular/README.md · on the site: https://michelepolo.github.io/mdlib-pure/docs/angular/
Built from 59bcab7 with npm run angular:pack. SHA-256 of ngx-mdlib-pure-0.1.0.tgz: 3699b1cda9e1c7eac06dde99235595546e6025a249cf23affe21ebfdb9c4a03b