basalt-ng documentation
Docs» Posts

Posts

Posts in basalt-ng can represent a simple blog post or another kind of entity with it's own metadata and archive page using Custom Post Types. Even pages, are actually posts internally.

Posts are located in the “posts” directory within the root of your basalt site. All files inside the posts directory and any subdirectories therein that end with the “.md” extension will be considered as posts.

Post file structure

Posts are essentially markdown files, with a bit of extra data at the top.

At the start of the file there should be a set of parameters (all supported parameters are listed in the table), followed by an empty line, and then markdown as the page content.

Post file example

TITLE=Hellorld!
DATE=2025-01-31
TAGS=demo,demo2

# Hello hello! *markdown here!*

Post parameters

NameDescription
TITLEMandatory. Sets the title, and determines the slug (unless overridden)
DATEDate of publication. Mandatory for posts.
TAGSTags for the post. Used for grouping posts of similar subject together. Represented as comma separated list.
SLUGCustom slug for the post/page. Overrides automatic slug generation if defined.
HIDEHides the post/page from being displayed. Pages with this set will not show up in the navigation, and posts will be hidden from archive generation.
METAArbitrary JSON object. Accessible to the theme during page/post individual generation and during archive generation. Useful in conjunction with Custom Post Types
Previous Next

basalt-ng documentation

Table of Contents

Table of Contents

  • Posts
    • Post file structure
    • Post file example
    • Post parameters

GENERAL

  • Home/About basalt-ng
  • Download
  • Release Notes

Documentation

  • Configuration
    • Automatic Build Uploading
    • Custom Menu
    • Netlify
    • Secrets
    • Site Configuration
  • Theme Development
    • Custom Post Types
    • Theme template variables
    • Themes
  • Usage
    • Getting Started
    • Pages
    • Posts