50 lines
1.6 KiB
Markdown
50 lines
1.6 KiB
Markdown
|
|
# Tavernworks
|
||
|
|
|
||
|
|
Tavernworks is a modular blog system written in Rust. It is designed to parse,
|
||
|
|
compile, and serve structured blog content using a cohesive set of themed
|
||
|
|
libraries. The system is centered around the `tavern` content engine and is
|
||
|
|
supported by a publisher CLI and a rendering frontend.
|
||
|
|
|
||
|
|
## Overview
|
||
|
|
|
||
|
|
TavernWorks consists of the following components:
|
||
|
|
|
||
|
|
### tavern
|
||
|
|
|
||
|
|
The core library that defines the data model, parses content, and provides the
|
||
|
|
API to read and write blog data. It is responsible for turning a repository of
|
||
|
|
Markdown files and metadata into an in-memory structure or database.
|
||
|
|
|
||
|
|
### loreweaver
|
||
|
|
|
||
|
|
A command-line tool that uses `tavern` to compile a blog repository into a
|
||
|
|
SQLite database. It reads a `Tavern.toml` metadata file and outputs a portable
|
||
|
|
database that can be served or inspected.
|
||
|
|
|
||
|
|
### bard
|
||
|
|
|
||
|
|
A Dioxus-based frontend library that renders blog content from the database.
|
||
|
|
It provides components to create a full blog UI using data produced by
|
||
|
|
`loreweaver`.
|
||
|
|
|
||
|
|
### blog_test
|
||
|
|
|
||
|
|
A test project that verifies the full system from content to rendering. It is
|
||
|
|
used to validate that blog repositories are parsed, compiled, and rendered
|
||
|
|
correctly across all components.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Copyright & License
|
||
|
|
|
||
|
|
Copyright 2025 CyberMages LLC
|
||
|
|
|
||
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
|
you may not use this library except in compliance with the License.
|
||
|
|
You may obtain a copy of the License at
|
||
|
|
|
||
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
|
|
||
|
|
Unless required by applicable law or agreed to in writing, software
|
||
|
|
distributed under the License is distributed on an "AS IS" BASIS
|