alinea
TypeScript icon, indicating that this package has built-in type declarations

0.3.2 • Public • Published

npm install size Open in StackBlitz

Alinea CMS logo

Current status: expect alpha software and out of date docs.

Alinea is a modern content management system.

  • Content is stored in flat files and committed to your repository
  • Content is easily queryable through an in-memory SQLite database
  • Content is fully typed

Get started

Install alinea in your project directory

npm install alinea

Initialize alinea's config file

npx alinea init

Open the dashboard to have a look around

npx alinea serve

Start configuring types and fields →

Examples

Configure

Configure alinea in alinea.config.tsx

const BlogPost = alinea.type('Blog post', {
  title: alinea.text('Blog entry title'),
  body: alinea.richText('Body text')
})

Type options and fields →

Query

Retrieve content fully-typed and filter, order, limit and join as needed.
Select only the fields you need.

import {initPages} from '@alinea/content/pages'
const pages = initPages()
console.log(
  await pages
    .whereType('BlogPost')
    .where(post => post.author.is('Me'))
    .select(post => ({title: post.title}))
)

See the full api →

Content is available during static site generation and when server side querying.
Content is bundled with your code and can be queried with zero network overhead.

How alinea bundles content →

Deploy anywhere

Alinea supports custom backends that can be hosted as a simple Node.js process or on serverless runtimes.

Setup your backend →

Keywords

none

Install

npm i alinea

DownloadsWeekly Downloads

57

Version

0.3.2

License

MIT

Unpacked Size

8.05 kB

Total Files

10

Last publish

Collaborators

  • benmerckx