# 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
