MindAttic.Ideas.Library

The first-party library of .idea components for MindAttic.Ideas — one home for every Theme and Widget that ships with the CMS, instead of one git repo per piece.

MindAttic.Ideas.Library running
Not photographed yet — this page is waiting on a capture.

MindAttic.Ideas.Library

The first-party library of .idea components for MindAttic.Ideas — one home for every Theme and Widget that ships with the CMS, instead of one git repo per piece.

This repo is separate from the CMS host. The CMS (MindAttic.Ideas) is standalone and never references anything here — it only installs the packed .idea files as optional content. The only thing these projects compile against is the frozen MindAttic.Ideas.Abstractions SDK in the sibling CMS repo.

The one rule: the asset bundle is the single source of truth

Each component owns its assets (js/css/html) in its own assets/ folder — copied here once, never staged from another repo. That single bundle serves all three consumers:

Consumer Takes the bundle as…
Raw .html pages links assets/*.css / assets/*.js directly (see each component's assets/demo.html)
Standalone Blazor apps (IdiotProof, …) references the component RCL, or links the same assets/
The MindAttic.Ideas CMS uploads the packed .idea (assets bundled into wwwroot/)

Three packagings of one thing — not three projects. No duplication, no cross-repo coupling.

Layout

Themes/      Cyberspace, Light, Dark, Spring, Summer, Autumn, Winter
Widgets/     MindAttic-specific: OutfitFont, AtticFont, SacredGeometry, Tooltip, BackHomeM,
             TableOfContents, Cyberspace (effects), LegionPersonas, Frontpage, HelloWorld, Textbox
             Baseline set (MAIL-A3): NavMenu, Breadcrumbs, Hero, Card, Accordion, Tabs, Gallery,
             Carousel, Callout, CodeBlock, VideoEmbed, ContactForm, SocialLinks, BackToTop, Footer
dist/        packed *.idea — the CMS seeds these as optional installable content
             (no Pages/ — pages are CMS DB records, MAIL-LAW-8; the parked _wip sources were
              deleted as no longer applicable, MAIL-A4)

Each component is its own small project (so each .idea is independently versioned and uploadable). Common build settings + the Abstractions reference live once in Directory.Build.props.

Build & pack a component

dotnet build -c Release Themes/Cyberspace
dotnet run --project ../MindAttic.Ideas/src/MindAttic.Ideas.Sdk -- pack `
  --assembly Themes/Cyberspace/bin/Release/net10.0/MindAttic.Ideas.Theme.Cyberspace.dll `
  --out ./dist `
  --refs ../MindAttic.Ideas/src/MindAttic.Ideas.Abstractions/bin/Debug/net10.0
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.