View on GitHub

CynthiaWebsiteEngine

Generating websites from simple configuration files, ever-extensible.

Publication Configuration

Found in a Cynthia setup under ./cynthiaFiles/published.jsonc.

This file stores a list of publications on your website.

It is structured as a list of objects:

[
  {
    // ...Content...
  },
  {
    // ...Content...
  },
]

These objects are split up in types, each type with their own specialties and traits. The types are:

Defining a publication

First, you need to define the type of publication you want to create. From there on, you can start filling in the publication’s metadata.

Page

[
  {
    "page": {
      "id": "page-id",
      "title": "My page title!",
      "description": "This page contains a heading!",
      "content": {
        "inline": {
          "as": "markdown",
          "value": "# This is a heading!\n\nAnd that was about it...",
        },
      },
      "dates": {
        "published": 1721685763,
        "altered": 1721685763,
        // Oh, these are the same!
        // That means this page was never edited
        // since it's publication on 07/22/2024 @ 10:02pm UTC
      },
    },
  },
  // ... Other publications ...
]

Within a page object, you can define the following properties:

Post

A post publication is essentially a page publication with extra exposure.

[
  {
    "post": {
      "id": "post-id",
      "title": "My first post!",
      "short": "In this post I will tell you about me and my blog!",
      "content": {
        "local": {
          "as": "html",
          "value": "posts/first-post.html",
        },
      },
      "dates": {
        "altered": 1699658204,
        "published": 1689023804,
        // Been edited a few times...
      },
    },
  },
  // ... Other publications ...
]

Within a page object, you can define the following properties:

Redirect

to-do

PostList

to-do

Draft1

to-do

  1. Exists for Cynthia-Dash only. See features for more information.  2