summaryrefslogtreecommitdiffstats
path: root/README.md
blob: d89b500d9db8f920983d1e9c05c33b3ebb9dda13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# blogc

A blog compiler.


## Quickstart

Clone the [Git repository](https://github.com/blogc/blogc) or grab the [latest release's source tarball](https://github.com/blogc/blogc/releases) and extract it.


### Dependencies

Building `blogc` requires:

- [CMake](https://cmake.org/)
- [Ninja](https://ninja-build.org/) (optional, but recommended)
- [ronn-ng](https://github.com/apjanke/ronn-ng) (if configured with `BUILD_MANPAGES=ON`)
- [cmocka](https://cmocka.org/) (if configured with `BUILD_TESTING=ON`)
- bash, diff and tee (if configured with `BUILD_TESTING=ON`)
- git, make and tar (if configured with `BUILD_TESTING=ON` and `BUILD_BLOGC_GIT_RECEIVER=ON`)

Running the `blogc-git-receiver` tool requires:

- git, make and tar


### Building and installing

Inside the source directory, run the following commands:

    $ mkdir build
    $ cmake \
          -B build \
          -S . \
          -G Ninja \
          [-DBUILD_BLOGC_GIT_RECEIVER=ON] \
          [-DBUILD_BLOGC_MAKE=ON] \
          [-DBUILD_BLOGC_RUNSERVER=ON] \
          [-DBUILD_MANPAGES=ON] \
          [-DBUILD_TESTING=ON]
    $ cmake \
          --build build \
          --config Release
    # cmake \
          --build build \
          --config Release \
          --target install

To create your first blog, please clone our example repository and adapt it to your needs:

    $ git clone https://github.com/blogc/blogc-example my-blog
    $ cd my-blog
    $ rm -rf .git
    $ git init
    $ git commit -am 'initial commit'

At this point you'll have an empty blog, that can be customized to suit your needs. You'll want to look at the `content/post/` directory and edit your first post. Each new post, template or asset must be added to the `Makefile`. Please read it carefully.

If some unexpected error happened, please [file an issue](https://github.com/blogc/blogc/issues/new).

-- Rafael G. Martins <rafael@rafaelmartins.eng.br>