3 releases

0.1.2 Nov 11, 2024
0.1.1 Oct 29, 2024
0.1.0 Oct 28, 2024

#2 in #can-t

Download history 266/week @ 2024-10-28 30/week @ 2024-11-04 136/week @ 2024-11-11 7/week @ 2024-11-18

135 downloads per month

AGPL-3.0-or-later

67KB
1.5K SLoC

blog/reblog

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.

installation and usage

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.

project planning

...all occurs on my website. currently, as i'm the only developer, it's a read-only page.

Dependencies

~12–20MB
~325K SLoC

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy