Crates.io | breb |
lib.rs | breb |
version | |
source | src |
created_at | 2024-10-28 05:37:38.4562 |
updated_at | 2024-11-11 00:57:52.826667 |
description | the blog/reblog library and command-line tool |
homepage | https://genderphas.ing/projects/blog-reblog |
repository | https://genderphas.ing/projects/blog-reblog |
max_upload_size | |
id | 1425263 |
Cargo.toml error: | TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
blog/reblog aims to provide a platform for folks with strong interests to write at length about them. do you like getting in-depth with things and talking about them? are you a huge nerd about something you want to write about? then it's for you, whatever your interests are.
that's the "blog" in blog/reblog, but it's not just that. you can't write in a vacuum. everyone who writes has to read; books, blogs, anything. the reblogging is sharing and responding to each other's words, providing not just more to think and write about, but the inspiration to do it.
so in sum: blog/reblog gives you a place to write, and lots of reasons to do it.
right now, installation is a bit complex, as is usage. it's still in pre-alpha -- it'll probably stay frustrating for a little while.
because it's just a library for now, you need a working rust development environment, because you'll be writing some code. create a new rust binary with the right dependency:
# create a directory to hold your blog
cargo new --bin my-blog
cd my-blog
# add the blog-reblog dependency
cargo add breb
then you can "configure" it by writing a main.rs
that looks like:
use breb::quick::*;
fn main() {
boilerplate(blog);
}
fn blog(in_dir: std::path::PathBuf) -> FinishedBuilder {
Blog::builder()
.base_dir(in_dir)
.base_url("https://genderphas.ing/")
.name("genderphasing")
.author(Author::new("nic; genderphasing").email("nic@genderphas.ing"))
.serve(AsIs::new("/s/", "s/"))
.serve(Posts::new("/posts", "posts/")
.nav("about", "/about")
.nav("archive", "/archive")
.nav("atom", "/feed.xml"))
.serve(Pages::new("/", "pages/")
.nav("about", "/about")
.nav("archive", "/archive")
.nav("atom", "/feed.xml"))
.serve(Feed::atom("/feed.xml"))
}
for now, for details about what your options are, check the api reference. eventually, expect to see docs here.
once you've configured it like that, you can run it easily:
cargo run
this being a normal rust binary, you can add as much other functionality as you want: custom web-based or native guis, robust command-line arguments, etc.
...all occurs on my website. currently, as i'm the only developer, it's a read-only page.