https://github.com/pythops/agadir
blogging over the terminal
https://github.com/pythops/agadir
Last synced: 6 months ago
JSON representation
blogging over the terminal
- Host: GitHub
- URL: https://github.com/pythops/agadir
- Owner: pythops
- License: gpl-3.0
- Created: 2024-05-18T08:58:16.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-24T12:38:08.000Z (about 1 year ago)
- Last Synced: 2024-12-25T19:48:06.997Z (6 months ago)
- Language: Rust
- Size: 360 KB
- Stars: 10
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
π§ Work In Progress π§
![]()
Agadir (β΄°β΄³β΄°β΄·β΅β΅)
Blogging over the terminal
## π Installation
### π₯ Binary release
You can download the pre-built binaries from the release page [release page](https://github.com/pythops/agadir/releases)
### π¦ crates.io
You can install `agadir` from [crates.io](https://crates.io/crates/agadir)
```shell
cargo install agadir
```### βοΈ Build from source
Run the following command:
```shell
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