[#3] Split the tavern project into a workspace.

**tavern** - The blogging system library.
**loremaster** - Creates the database from a blogging repository.
**bard** - Dioxus components to display the blog.
This commit is contained in:
2025-08-29 20:43:36 -04:00
parent 7b5c69cc50
commit 3c6e82dfaf
40 changed files with 2766 additions and 33 deletions

40
tavern/src/adventurer.rs Normal file
View File

@ -0,0 +1,40 @@
use serde::{Deserialize, Serialize};
///
#[derive(Deserialize, Serialize)]
pub struct Legend
{
/// A link to the adventurer's profile (e.g., personal website, GitHub,
/// etc.).
pub profile: String,
/// A URL or path to an image representing the adventurer (e.g., avatar or
/// portrait).
pub image: String,
/// A short descriptive text or tagline about the adventurer.
pub blurb: String
}
/// Represents an author or contributor of a tale.
///
/// An `Adventurer` contains identifying and descriptive information
/// such as their name, handle, profile URL, image, and a short blurb.
#[derive(Deserialize, Serialize)]
pub struct Adventurer
{
/// The full name of the adventurer.
pub name: String,
/// A unique handle or username for the adventurer (e.g., used in URLs or
/// mentions).
pub handle: String,
///
#[serde(flatten)]
pub legend: Legend
}
impl Adventurer {}