https://github.com/0xh4ty/0xh4ty.github.io
This repository hosts my personal website powered by Xeniria, a Rust-based static site generator. It converts Markdown files into static HTML pages and is deployed using GitHub Pages.
https://github.com/0xh4ty/0xh4ty.github.io
programming security-researcher web3
Last synced: 2 months ago
JSON representation
This repository hosts my personal website powered by Xeniria, a Rust-based static site generator. It converts Markdown files into static HTML pages and is deployed using GitHub Pages.
- Host: GitHub
- URL: https://github.com/0xh4ty/0xh4ty.github.io
- Owner: 0xh4ty
- License: mit
- Created: 2025-02-11T06:36:55.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-02-27T19:57:44.000Z (3 months ago)
- Last Synced: 2025-02-28T04:03:22.179Z (3 months ago)
- Topics: programming, security-researcher, web3
- Language: Rust
- Homepage: https://0xh4ty.github.io
- Size: 134 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Xeniria
Xeniria is a lightweight and fast static site generator built in Rust. It allows you to create and deploy static websites easily using Markdown.
## Features
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---
## Installation
### 1. Install Rust
Ensure you have Rust installed on your system:
```sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```2. Clone the Repository
To set up your own Xeniria-based site, clone the repository and name it using your GitHub Pages format: `.github.io`. For example, if your GitHub username is `johndoe`, the repository should be named `johndoe.github.io`.
```sh
git clone [email protected]:0xh4ty/xeniria.git
cd
```### 3. Create a New GitHub Repository
Go to GitHub and create a new repository named `.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`).
### 4. Set Up Remote Repositories
```sh
git remote remove origin
git remote add origin [email protected]:/.git
```### 5. Add Xeniria as Upstream
```sh
git remote add upstream [email protected]:0xh4ty/xeniria.git
```### 6. Build and Install Xeniria
```sh
cargo install --path .
```---
## Usage
### 1. Build the Site
```sh
xeniria build
```This converts all Markdown files into HTML inside the `docs/` directory.
### 2. Run Local Development Server
```sh
xeniria serve
```Your site will be available at `http://localhost:8464`.
### 3. Writing Blog Posts
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"
---
```### 4. Editing About and License Pages
Use the same filenames (`about.md` and `license.md`) inside the `content/` directory and modify them as needed.
---
## Deploying to GitHub Pages
For a live example, check out [my website](https://0xh4ty.github.io/) which is built using Xeniria.
### 1. Configure GitHub Pages
- Go to your repository → **Settings → Pages**.
- Set the deployment branch to `main` and folder to `/docs`.### 2. Push Your Site to GitHub
```sh
git add .
git commit -m "Deploy site"
git push origin main
```Your website will be live at:
```
https://.github.io/
```---
## Configuration
Modify `config.toml` to customize your site:
```toml
# 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")
```---
## Keeping Up with Updates
To stay up to date with the latest changes in Xeniria, fetch and merge updates from the upstream repository:
```sh
git fetch upstream
git merge upstream/main
```## Development
To contribute or modify Xeniria:
```sh
git clone [email protected]:0xh4ty/xeniria.git
cd xeniria
cargo build
cargo run -- build
cargo run -- serve
```---
## License
Xeniria is open-source under the MIT License.