Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/OliverBrotchie/ob
A Blog & RSS system written in Rust based on Luke Smith's LB.
https://github.com/OliverBrotchie/ob
blog rss static-site-generator
Last synced: 3 days ago
JSON representation
A Blog & RSS system written in Rust based on Luke Smith's LB.
- Host: GitHub
- URL: https://github.com/OliverBrotchie/ob
- Owner: OliverBrotchie
- License: gpl-3.0
- Created: 2021-08-26T15:27:53.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-06-16T13:49:17.000Z (over 2 years ago)
- Last Synced: 2024-10-21T01:37:09.298Z (24 days ago)
- Topics: blog, rss, static-site-generator
- Language: Rust
- Homepage: https://unazoomer.net/ob
- Size: 955 KB
- Stars: 24
- Watchers: 2
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ob
Oliver's Blog Script - A Blog and RSS system written in Rust.
## Features
- Converts blog entries written in Markdown into HTML. ✍🏻
- Keeps a rolling blog page. 🔎
- Keeps an RSS feed which includes blog posts in full. 📰
- Creates entries in the rolling blog page that are easily modifiable with CSS. ⚡️
- One command to delete, edit or regenerate entries from the RSS feed, rolling blog and standalone entry pages simultaneously. 🚀
- Works on MacOS, Linux and Windows. 🖥
- Less than 450 lines of code. 🏝
- Blazingly fast. 🔥## Installation
Install Rust:
```shell
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```Install OB:
```shell
cargo install ob
```## Setup
You will need to create four files:
- A Rolling Blog File where the blog entries will be listed.
```html
Your Blog
Blog Updates
```
- A Template to be filled out with the content of a blog post.
```html
```
- An RSS feed.
```xml
Blog Title
Description
en-us
https://your_blog.com/rss.xml
```
- A configuration file containing the paths to your blog index, template and rss files.
It should also include the address of where the blog entries will be hosted, the maximum number
of posts on the rss feed and whether to include images or not.
```json
{
"blog": "index.html",
"template": "template.html",
"rss": "rss.xml",
"items": 4,
"blog_address": "https://your_blog.com/blog/",
"images": true
}
```
## Markers
For the system to work, add the following comment line to the Rolling Blog File, Template and RSS feed (as above).
```html
```
When you publish a blog post, it will be added directly below that line in the proper format.
## Usage
```
USAGE:
ob
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
delete Deletes an entry
edit Edit a published entry
help Prints this message or the help of the given subcommand(s)
new Create a new draft
publish Publish a daft
regen Regenerates all blog entries
```
The first time `ob` is used it will create a folder at: `/blog`.
When you create a new draft it will be located at: `/blog/drafts`.
When you publish a new draft it will be located at: `/blog/example.html`.
**Example usage:**
```shell
ob new
```
### You can see an example on [my blog](https://oliverbrotchie.github.io/) or [OB's website](https://oliverbrotchie.github.io/ob/) located in the `/docs` folder.