WP Manifestindependent plugin directory
manifest / editor / bits-wp-markdown

Bristlecone Markdown

BITS Markdown Plugin for WordPress

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/bits-freeware/bits-wp-markdown/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WordPress plugin by Bristlecone IT Services. Write in Markdown without Jetpack, with syntax aligned to iA Writer.

Plugin homepage: https://bristleconeit.com/bristlecone-markdown.

Development repository: https://github.com/Zyniker13/bits-wp-markdown.

Requirements

  • WordPress 6.4+
  • PHP 8.4+

Development

composer install
composer test

The Gutenberg block is plain wp.* JavaScript (no build step). Editor writing-surface craft notes: PRODUCT.md, DESIGN.md, docs/impeccable.md.

WordPress.org

This directory is the plugin root. readme.txt is the file WordPress.org uses. The directory contributor is bristleconeit (Bristlecone IT Services). Plugin URI is https://bristleconeit.com/bristlecone-markdown; Author URI is https://bristleconeit.com.

Do not include Jetpack in directory tags.

WordPress.org assets (icon, banner, screenshots) belong in the plugin’s SVN /assets directory after approval, not in this zip.

Plugin settings are at Bristlecone → Markdown (admin.php?page=bristlecone-markdown). Older bookmarks under Settings (options-general.php?page=bristlecone-markdown) redirect there. The Bristlecone parent menu is shared with Bristlecone Admin Styles when that plugin is active.

The public plugin page is https://bristleconeit.com/bristlecone-markdown. Copy and standards notes for that page live in docs/plugin-home.md (not shipped in the WordPress.org zip).

Storage

Document-mode posts (Classic Editor, REST API, iA Writer) store HTML in post_content and Markdown in post_content_filtered, with _bristlecone_markdown (legacy _bits_markdown is still recognized; Jetpack’s _wpcom_is_markdown and _wpcom_markdown are also honored). The Markdown block keeps source in block attributes and saves HTML as a fallback if the plugin is deactivated. Existing jetpack/markdown blocks are adopted when Jetpack Markdown is inactive and converted to bristlecone/markdown on save (optional bulk converter under Tools, off by default). The same alias path covers simple-markdown/markdown-block (content) when that plugin is inactive, plus optional custom identifiers (namespace/block-name|attribute). A gated Tools scanner can list other unregistered blocks whose names contain “markdown” for review; it does not auto-register aliases.

Footnotes

Footnote IDs are namespaced as bristlecone-markdown-fn-{postId}-… so archive pages and WordPress’s core Footnotes block are less likely to collide. New posts are converted a second time after insert so those IDs use the real post ID rather than a placeholder.

wpautop is disabled for document-mode Markdown posts because it can scramble footnote markup. Themes that restyle sup may still need a small CSS tweak. Footnote lists still appear on archives for every excerpted/full post that contains them. Inline footnotes ([^text with spaces.]) work alongside named [^1] definitions. The core Footnotes block is a separate feature; IDs do not overlap, but a post could contain both.

Content Blocks

iA Writer Content Blocks transclude files from a local library WordPress cannot access. Compile the document in iA Writer (or publish the already-expanded Markdown) rather than expecting WordPress to resolve those paths.

Release zip

Build a production zip (single root folder bristlecone-markdown, Composer --no-dev):

composer release

The zip is written to dist/bristlecone-markdown-1.0.0.zip. Upload that file at Add Your Plugin. After approval, tag updates go through WordPress.org SVN; this GitHub repository stays the development tree.