@codesled/content
Version:
Composable content blocks for Node.js apps — flexible, pluggable, and framework-agnostic.
105 lines (71 loc) • 2.44 kB
Markdown
# @codesled/content
Composable content blocks for Node.js apps — flexible, pluggable, and framework-agnostic.
This package helps developers create, manage, and render structured content (like Notion-style blocks) using a minimal API. Perfect for CMS systems, blogs, page builders, or anything that needs dynamic content.
> 🛷 Part of the CodeSled developer toolkit — reusable modules that help you build apps faster.
## Features
- Create rich content blocks (text, images, code, video, embeds, etc.)
- Render structured HTML from your block array
- Add metadata per block (e.g. alt text for images)
- Store anywhere — DB-agnostic (Mongo, SQL, file, etc.)
- Fully portable, reusable across apps
## Installation
```bash
npm install @codesled/content
```
## Block Types Supported
- `text` – Paragraph text
- `heading` – Section headings
- `image` – External images
- `code` – Code snippets
- `quote` – Blockquotes
- `divider` – Horizontal rule
- `video` – HTML5 videos
- `embed` – Iframes (YouTube, etc.)
## Usage Example
```js
const { createBlock, renderBlocks } = require("@codesled/content");
const blocks = [
createBlock({ type: "heading", content: "Welcome to CodeSled CMS" }),
createBlock({ type: "text", content: "Create and render content blocks easily." }),
createBlock({
type: "image",
content: "https://example.com/image.png",
meta: { alt: "An example image" },
}),
];
console.log(renderBlocks(blocks));
```
## Output (HTML)
```html
<h2>Welcome to CodeSled CMS</h2>
<p>Create and render content blocks easily.</p>
<img src="https://example.com/image.png" alt="An example image" />
```
## API
### `createBlock({ type, content, meta? })`
Creates a content block object with timestamp and optional metadata.
### `renderBlocks(blocksArray)`
Renders an array of blocks as HTML.
### `BLOCK_TYPES`
Returns all supported block types.
### `validateBlock(block)`
Throws if a block is invalid (used internally).
## Use Cases
- Custom CMS systems
- Blog editors
- Docs & knowledge bases
- Static site generators
- Email builders
## License
MIT — Free to use, modify, and integrate in personal or commercial apps.
> Built by [CodeSled](https://github.com/code-sled) 🛷
> Follow us for more modules that help you build faster.