Skip to main content

A digital garden CMS built with Flask

Project description

Trellis

A Flask-based digital garden and hierarchical content management system.

Overview

Trellis is a flexible CMS for building digital gardens with hierarchical content organization. It supports both traditional flat markdown files and nested .page directories, allowing you to organize complex projects with multiple pages while keeping related assets together.

Features

  • 📁 Hierarchical Content Structure - Organize content in nested .page directories with unlimited depth
  • 📝 Markdown-Based - Write content in markdown with YAML frontmatter
  • 🔍 Full-Text Search - Powered by Whoosh with error-tolerant query parsing
  • 🔗 Include System - Reference other files using {{include: filename}} syntax
  • 🖼️ Page-Specific Assets - Store images and files alongside your content
  • 🔐 User Authentication - Role-based access control (admin/editor)
  • ✏️ Built-in Editor - Web-based interface for editing content
  • 🌿 Git Integration - Automatic commits for content changes
  • 🎨 Digital Gardens - Content organized into themed "gardens"
  • 🔄 Backwards Compatible - Works with both flat .md files and .page directories

Quick Start

See QUICKSTART.md for detailed instructions on creating a new site.

TL;DR:

# Install Trellis
git clone https://github.com/almargolis/trellis.git
pip install -e ./trellis

# Set up your site (see QUICKSTART.md for details)
trellis-init-db
trellis-search --rebuild  # Initialize search index
python run.py

Content Structure

Traditional Flat Files

content/
  garden-name/
    article.md
    another-article.md

Hierarchical Pages

content/
  projects/
    my-project.page/
      page.md              # Main content
      screenshot.png       # Page asset
      code.py              # Include file
      setup.page/          # Nested sub-page
        page.md

URL mapping:

  • content/projects/article.md/garden/projects/article
  • content/projects/project.page/page.md/garden/projects/project
  • content/projects/project.page/setup.page/page.md/garden/projects/project/setup

Documentation

Project Name

Trellis - A trellis is a garden structure that supports growth, perfectly representing this system's hierarchical framework for organizing and growing your digital content.

Technology Stack

  • Flask - Web framework
  • SQLAlchemy - Database ORM
  • Markdown - Content format with Python-Markdown extensions
  • Whoosh - Full-text search engine
  • GitPython - Git integration
  • Flask-Login - Authentication

License

MIT License - see LICENSE for details.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trellis_cms-0.2.2.dev0.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trellis_cms-0.2.2.dev0-py3-none-any.whl (44.1 kB view details)

Uploaded Python 3

File details

Details for the file trellis_cms-0.2.2.dev0.tar.gz.

File metadata

  • Download URL: trellis_cms-0.2.2.dev0.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for trellis_cms-0.2.2.dev0.tar.gz
Algorithm Hash digest
SHA256 45f1f982048e49b0fb3f5e77c56804cb14b91b559fb4e309747f3e4aa9f1ae45
MD5 1905757cbc2aea888433469063692ac7
BLAKE2b-256 3ab54914394156b664ed8bf0881f6cbb2e818b19501fa49ec157c0fdbe713b03

See more details on using hashes here.

File details

Details for the file trellis_cms-0.2.2.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for trellis_cms-0.2.2.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 031f41dfa80e4f507a98f10132260ffe9d9f9165bfcbd3ac7218b6e4eef57346
MD5 fefd49443060c8240b0fa11d203057f1
BLAKE2b-256 7577f68c0f555bf97786c6cbc2951d3b1baffb84bfa0f583a54ecf18f5ea5e5a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page