Xeniria is a lightweight and fast static site generator built in Rust. It allows you to create and deploy static websites easily using Markdown.
Xeniria comes with a default blog template to help users get started quickly.
- Converts Markdown (
.md
) files into static HTML pages - Supports a simple config file (
config.toml
) - Fast and efficient with Rust performance
- Built-in local development server
- Easy deployment to GitHub Pages
Ensure you have Rust installed on your system:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Clone the Repository
To set up your own Xeniria-based site, clone the repository and name it using your GitHub Pages format: <your-username>.github.io
. For example, if your GitHub username is johndoe
, the repository should be named johndoe.github.io
.
git clone [email protected]:0xh4ty/xeniria.git <your-rep-name>
cd <your-repo-name>
Go to GitHub and create a new repository named <your-username>.github.io
. For example, if your GitHub username is johndoe
, create a repository called johndoe.github.io
. Ensure it is empty (do not add a README or .gitignore
).
git remote remove origin
git remote add origin [email protected]:<your-username>/<your-repo-name>.git
git remote add upstream [email protected]:0xh4ty/xeniria.git
cargo install --path .
xeniria build
This converts all Markdown files into HTML inside the docs/
directory.
xeniria serve
Your site will be available at http://localhost:8464
.
To write a blog post, create a .md
file inside the content/
directory. Each post should include front matter at the top:
---
title: "The Art of Writing"
date: "2025-02-08"
author: "John Doe"
---
Use the same filenames (about.md
and license.md
) inside the content/
directory and modify them as needed.
For a live example, check out my website which is built using Xeniria.
- Go to your repository → Settings → Pages.
- Set the deployment branch to
main
and folder to/docs
.
git add .
git commit -m "Deploy site"
git push origin main
Your website will be live at:
https://<your-username>.github.io/
Modify config.toml
to customize your site:
# Site Configuration
[site]
title = "Xeniria" # Change this to your website's title
description = "A minimal Static Site Generator built with Rust." # Short description of yourself
author = "Xeniria" # Enter your name
profile_picture = "assets/img/xeniria.png" # Place your image in the "assets/img/" directory and update the reference here, or provide the URL of your Twitter profile picture
# Navigation Links
[links]
github = "#Your_Github_Link" # Replace with your GitHub profile link (e.g., "https://github.com/yourusername")
twitter = "#Your_Twitter_Link" # Replace with your Twitter profile link (e.g., "https://twitter.com/yourusername")
To stay up to date with the latest changes in Xeniria, fetch and merge updates from the upstream repository:
git fetch upstream
git merge upstream/main
To contribute or modify Xeniria:
git clone [email protected]:0xh4ty/xeniria.git
cd xeniria
cargo build
cargo run -- build
cargo run -- serve
Xeniria is open-source under the MIT License.