An open API service indexing awesome lists of open source software.

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

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