linkrobins/markdown-widget

Markdown widget for fof/forum-widgets-core

Maintainers

Package info

github.com/linkrobins/markdown-widget

Homepage

Language:JavaScript

Type:flarum-extension

pkg:composer/linkrobins/markdown-widget

Transparency log

Statistics

Installs: 166

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.2.0 2026-07-23 22:54 UTC

This package is auto-updated.

Last update: 2026-08-11 00:23:18 UTC


README

A simple Markdown widget for Flarum 2.0, built as a widget for fof/forum-widgets-core. Same skeleton as linkrobins/html-widget, with a Markdown renderer in front of the body.

What it does

Adds one configurable Markdown widget to the FoF Forum Widgets placement editor. Admin sets:

  • Title — optional, shown above the body
  • Icon — FontAwesome class (e.g. fab fa-markdown)
  • Markdown body — standard GitHub-flavored Markdown, rendered to HTML on the client

Drag and place it from the FoF Forum Widgets admin page like any other widget.

Settings

Configured in Admin → Extensions → Link Robins Markdown Widget, then placed from the FoF Forum Widgets page.

Setting Required What it does
Title no Shown above the body. Leave blank for a widget with no header.
Icon class no A FontAwesome class rendered beside the title, e.g. fab fa-markdown. Leave blank for no icon.
Markdown body yes GitHub-flavored Markdown. Inline HTML is allowed but sanitised.
Background color no The widget's background. Leave blank to follow your theme, which is what keeps it looking native in both light and dark mode.

How a change reaches readers

The body is not baked into the forum's boot payload. It is fetched from its own endpoint on demand, and only a short hash of the current settings rides along in the payload.

That hash is what makes an edit show up: changing any setting changes the hash, which changes the fetch URL, so a normal page reload picks up the new content. Readers do not need a hard refresh, and unchanged content still caches normally rather than being re-fetched on every page view.

What it does NOT do

  • One widget per forum, not a list of them. For several blocks of content, place several different widgets.
  • No per-tag or per-page targeting — placement is whatever FoF Forum Widgets gives it.
  • If you would rather write raw HTML, use linkrobins/html-widget instead.

Requirements

The Markdown renderer (marked) and the HTML sanitiser (DOMPurify) are bundled into the extension — nothing is fetched from a CDN at runtime.

Installation

composer require linkrobins/markdown-widget
php flarum cache:clear

In Flarum admin → Extensions, find Link Robins Markdown under the Forum Widgets category and enable it. Configure title/icon/body, then go to FoF Forum Widgets settings and place it where you want it.

Markdown features

Supports the full Markdown syntax that marked.js handles, including:

  • Headings (# H1, ## H2, ...)
  • Bold (**bold**) and italic (*italic*)
  • Lists (ordered and unordered)
  • Links and images
  • Code spans and fenced code blocks
  • Blockquotes
  • Tables (GFM)
  • Horizontal rules
  • Inline HTML (sanitised before display)

The widget styles headings, lists, code, blockquotes, and tables to fit cleanly in any placement.

Security note

The rendered HTML is passed through DOMPurify before display, so <script> tags, event-handler attributes, and other unsafe markup in the Markdown body are stripped. The body is still admin-only — treat it like any other admin-controlled content.

License

MIT