Alex Dunmow 1ee9c280e2 feat(toolbar): theme-mode tester + sync toolbar.templ from cms
Sync the vendored templates/bn/toolbar.templ with the cms copy (entrance
animation, position picker chips, HidePreviewToggle — and the new per-tab
theme tester button). Port themeInitScript to the override-aware
window.bnApplyTheme so jutsu-rendered pages honour the admin's transient
bn-theme-override (sessionStorage) ahead of the visitor bn-theme preference.

Regenerated *_templ.go with templ v0.3.1020 (button/engagement diffs are
generator-version churn only).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 02:20:04 +08:00
2026-06-18 16:46:53 +08:00

BlockNinja Core

Shared Go code between the BlockNinja CMS and the orchestrator: types, interfaces, and utilities both need.

Not a plugin SDK. Core is purely for sharing code between the CMS and the orchestrator. Plugins must not import block/core — in the wasm-plugin era they are standalone artifacts built against the wasm ABI. (Core previously served as the plugin SDK; that role is gone.)

Package Structure

Package Purpose
plugin/ PluginRegistration, CoreServices, RegisterFunc
blocks/ BlockMeta, BlockFunc, BlockRegistry interface, BlockContext
blocks/builtin/ Reusable block implementations (HTMLBlock)
templates/ TemplateRegistry interface
templates/bn/ Shared templ components (head, engagement, toolbar)
auth/ Claims types, context extractors
content/ Content access interface
settings/ Settings access interface
gating/ Access gating evaluation
crypto/ Encrypt/Decrypt interface
render/ Rich text rendering utilities
video/ Video embed URL parsing
ai/ AI tool registry interface and types
rbac/ Role type definition

Usage

Consumers are the CMS and the orchestrator only.

import "git.dev.alexdunmow.com/block/core/plugin"
Description
No description provided
Readme 2 MiB
Languages
Go 83.5%
templ 15.5%
Makefile 1%