### 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`.