Diego Cabello

<<<Back to Coding

Sculblog

Date: 31 Mar 2025

Words: 991

Draft: 1 > · Most recent

Design

Sculblog is written in Python and built on top of pre-existing technologies - Debian, Apache, HTML, CSS, PHP, SQLite, browsers. These technologies are established, reliable, and easily customizable, perfect for building a lightweight blogging framework on top of.

Versioning

Sculblog 0.1.6 is for an Apache server running on Debian. Future versions will support Nginx

Installation

Features

Root Directory Structure

Compared to alternatives like Hugo, this configuration is much simpler and doesn't require learning a whole new scripting language.

Optimized Content Serving

  1. Update once, update everywhere
    • including post previews and tags in multiple places such as the subdirectory index page and the website home page
  2. More robust content organization and retrieval
    • Tagging and filtering systems expand to multiple categories with no redundancy
    • Utilization of HTTP query parameters for filtering eliminates the need for tag-specific directories
  3. More efficient content serving, dynamically rendered content
    • Database-driven rendering for on-demand content assembly
    • Efficient queries enable complex pagination and retrieval logic
    • Eliminates full static-site rebuilds, optimizing update speed

Default Website Structure

Post Organization

Post are sorted:

Component Defenitions

This notation is provided in Extended Backus-Naur Form.1

Schema

Sculblog posts have a required schema so that Sculblog posts can be cross-hosted between different websites. All these fields are TEXT in SQLite.

Required Schema

Reccomended Schema

In the spirit of extensability, anything else goes.

Commands

Process

The process command in sculblog is used to convert markdown content into HTML and preview HTML.

Usage: sculblog process <post_name>


  1. As defined in ISO/IEC 14977 

<<<Back to Coding

Made with Sculblog