WP Manifestindependent plugin directory
manifest / editor / lunar-blocks

Lunar Blocks

Standalone Gutenberg block collection for documentation-style content.

by Irvan Noerfazri · github.com/irvangen09/lunar-blocks · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/irvangen09/lunar-blocks/archive/refs/heads/main.zip

Readme

Lunar Blocks

A standalone collection of Gutenberg blocks for documentation-style content — built as part of the Lunar ecosystem, but designed to work on any WordPress site, with no theme or companion plugin required.

Features

  • 11 blocks + 1 rich-text format, covering the content patterns documentation sites need most: callouts, definition lists, collapsible sections, tabs, step-by-step instructions, an automatic table of contents, flexible tables, image galleries, timelines, structured infoboxes, and inline version/patch tags.
  • Standalone-first. Every block works fully without any other plugin active. Color and typography fall back gracefully to sensible, theme-neutral defaults when a theme doesn't define its own design tokens — blocks never impose a specific brand identity on a site that isn't expecting one.
  • Per-block settings. A "Lunar Blocks" admin page lets you disable individual blocks you don't need — disabled blocks are fully unregistered, so their assets are never loaded and they disappear from the inserter.
  • Accessible by default. Interactive blocks (Accordion, Tabs, Gallery's lightbox, Table's sortable headers) follow WAI-ARIA authoring patterns, with keyboard support and semantic HTML throughout.
  • Extensible Infobox. Other plugins can register a data source for Infobox fields through a documented filter, and listen for a save action to sync field values elsewhere — without Lunar Blocks needing any built-in knowledge of what that data represents.

Blocks

Block Description
Callout An inline highlighted note, in four variants (Info, Tips, Warning, Important).
Definition List Paired terms and definitions, rendered as semantic <dl>/<dt>/<dd>.
Accordion Collapsible sections that stay flat and always open on wider screens.
Tabs A set of parallel content sections switched via a tab menu, with a fully readable no-JS fallback.
Steps A numbered sequence of instructions.
Table of Contents An automatically generated, nested table of contents with jump-to-section links.
Table A data table with three layouts (standard, mobile-friendly field list, card grid), sortable and searchable.
Gallery A responsive image grid with a lightbox.
Timeline A vertical sequence of chronological points.
Infobox A structured summary panel (image, name, label/value fields) for a character, item, location, or similar subject.
Version/Patch Tag An inline badge (Added, Changed, Removed), inserted from the text-selection toolbar.

Requirements

  • WordPress 6.5 or later
  • PHP 8.0 or later

Installation

  1. Download the latest release zip, or build it yourself from source (see below).
  2. In your WordPress admin, go to Plugins → Add New → Upload Plugin and upload the zip.
  3. Activate the plugin.
  4. Optionally, visit Lunar Blocks in the admin menu to disable any blocks you don't need.

Building from Source

git clone https://github.com/irvangen09/lunar-blocks.git
cd lunar-blocks
npm install
npm run build

Other available scripts:

Command What it does
npm run start Builds in watch mode for development.
npm run lint:js Lints JavaScript source.
npm run lint:css Lints SCSS source.
npm run plugin-zip Builds and packages a distributable lunar-blocks.zip.

Extending Infobox

Infobox fields can be set to pull their available options from another plugin, instead of free text. Register a data source with the lunarBlocks.infobox.fieldSource JS filter:

import { addFilter } from '@wordpress/hooks';

addFilter( 'lunarBlocks.infobox.fieldSource', 'my-plugin/my-source', () => ( {
    taxonomy: 'my_taxonomy',
} ) );

To react to Infobox field changes (for example, to sync a value into your own plugin's data), listen for the lunar_blocks_infobox_field_saved PHP action, fired for every Infobox field whenever a post containing one is saved:

add_action( 'lunar_blocks_infobox_field_saved', function ( $post_id, $field_data, $post ) {
    // $field_data: label, value, field_source_id, field_source_label
}, 10, 3 );

Contributing

Issues and pull requests are welcome via GitHub.

License

GPL-2.0-or-later. See LICENSE.md for the full text.

Read the full README on GitHub →

Releases

TagPublished
v1.3.0 Aug 11, 2026
v1.2.0 Aug 10, 2026
v1.1.0 Aug 9, 2026
v1.0.0 Aug 7, 2026

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.