1 unstable release
0.1.0 | May 18, 2024 |
---|
#49 in #post
380KB
582 lines
π§ Work In Progress π§
Agadir (β΄°β΄³β΄°β΄·β΅β΅)
Blogging over the terminal
π Installation
π₯ Binary release
You can download the pre-built binaries from the release page release page
π¦ crates.io
You can install agadir
from crates.io
cargo install agadir
βοΈ Build from source
Run the following command:
git clone https://github.com/pythops/agadir
cd agadir
cargo build --release
This will produce an executable file at target/release/agadir
that you can copy to a directory in your $PATH
.
π Naviguation
j
or Down
: Scroll down.
k
or Up
: Scroll up.
G
: Go to the end.
gg
: Go to the top.
Enter
: Show the content of the post.
Esc
: Go to the table of content.
π° Post format
the posts should have the following format:
---
title: Your post title here
created_at: DD/MM/YYYY
modified_at: DD/MM/YYYY
---
Your post content goes here in Markdown format.
βοΈ Configuration
The main directory is $HOME/.agadir
, and it can be overriden with AGADIR
env variable.
Its structure is as follows:
.agadir/
βββ key
βββ posts/
βββ assets/
β βββ fig.png
βββ post_1.md
βββ post_2.md
key
: This is the server signing key. It is generated once at the startup and used everytime the server restarts.posts
: This is where the posts should be located.assets
: This directory serves as a place to store images/figures for the posts.
π Deploy
The default listening port is 2222
and can be customized with --port
or -p
cli option.
πTodo
- Adjust the terminal size based on the client.
- Display images.
- Load posts from remote git repositories.
πΈ Demo
ssh blog.pythops.com
βοΈ License
GPLv3
Dependencies
~35β51MB
~772K SLoC