macroblog.rs @ cc847c356b652a50c82f5d7a3683ab6a2880ed6b

fix: Fix gitlab pipeline
fix: Fix gitlab pipeline
feat: Add release job
fix: Add missing namespace
fix: Make actix follow PORT envvar

The server needs to follow `POST` envvar for heroku's sake.
feat: Add actix http server option

The project has two target bin: actix and hyper.

- Actix is a lot more capable, feature complete and can handle more
request with lower response time but has a bigger memory, size
footprint.

- Hyper is simpler less capable mure with a much smaller footprint.

So by default I'll keep using hyper.
feat: Add missing blog post

Add the missing blog post from my hugo blog. Also add a locustfile so I
can do some stress test locally.
feat: Add title and date into the post template

Now post template has title and created date by defaul.
fix: Move `musl-dev` to apk

`musl-dev` is alpine package not cargo
fix: Add missing package to build

Because I moved to `rust:alpine` it is necessary to add `musl-dev` so
the build works.
feat: Move code to blog

- Move most logic of the blog to blog.rs, making it easier to test.
- Now the file contains the creation date of the blog post to be parsed.
- Add chrono to parse datetime, so later we can order by date.
- Refactor gitlab pipeline, move `before_script` to a proper place.
feat: Add title parser

Add title parse so it yields a better post list.
fix(shasso): Fix code format

Remove whitespace.
feat: Add testing report

Add test report and make it a requiremnt for `production` stage.

Also revert all changes from picocss file. It will be refactored and
reduced after all the MVP is done.
ref: Add embded rust and router

- Use embed rust to load and resolve file from `content/post` folder, so
the whole process is a bit more dynamic.

- Add router to to resolve the path. It is the first step to try to get
the code a bit cleaner.
fix: Pick a broader address bind

Trying to fixe the following issue from Heroku:

> Error R10 (Boot timeout) -> Web process failed to bind to $PORT
> within 60 seconds of launch
fix: Change process type

Change heroku procfile process type to web so the process can receive
http requet through  `POST` envvar.
feat: Add heroku Procfile
feat: Add port env var

Now the port can be set through `PORT` enviroment variable, this is
useful for deploying on heroku.
fix: Update .gitlab-ci.yml file to install dpl
feat: Add .gitlab-ci.yml file
feat: Add embedded favicon

Add embedded base64 favicon
feat: Add early blog implementation

It is just a really crappy implementation to get it running until a
figure the pieces of the project out.