blog.robur.coop/README.md

46 lines
1.7 KiB
Markdown

### How to add an article?
The Git repository contains 2 branches:
- the main branch which has the blog engine
- the `gh-pages` (as GitHub) which contains the generated website
The user can have an overview of the website via:
```shell-session
$ git clone git@git.robur.coop:robur/blog.robur.coop
$ cd blog.robur.coop/
$ opam pin add -yn .
$ opam install --deps-only blogger
$ dune exec bin/watch.exe --
```
A little server run on `http://localhost:8000`.
The user can add an article into the `articles/` directory. The format is easy.
A simple header which starts with `---` and finish with `---`. Inside, you have
a YAML description of the article where some fields are required:
- `date`
- `title`
- `description`
- `tags`
You can specify an `author` (with its `name`, `email` and `link`) or not. By
default, we use `team@robur.coop`. If everything looks good, you can generate
via the `blogger.exe` tool the generated website via:
```shell-session
$ dune exec bin/push.exe -- push \
-r git@git.robur.coop:robur/blog.robur.coop.git#gh-pages \
--host https://blog.robur.coop
[--name "The Robur team"] \
[--email team@robur.coop]
```
An SSH communication will starts. If you already registered your private key
with `ssh-agent` and your `.ssh/config` is configured to take this one if you
communicate with with `git@git.robur.coop`, everything will be smooth! Et voilà!
At the end, an HTTP request will be send to `https://blog.robur.coop` (via
Forgejo) to update the unikernel with the last version of the blog.
You can also use the `update.sh` script to update the blog with the builder user
on the server machine.
**NOTE**: don't forget `#gh-pages`! Also, you probably should do a `git pull`.