]> Sergey Matveev's repositories - sgblog.git/blob - README
i items DRY
[sgblog.git] / README
1             SGBlog -- Git-based CGI/inetd blogging/phlogging engine
2             =======================================================
3
4 DESCRIPTION
5
6 SGBlog is a simple blogging engine with a Git-based storage, CGI
7 interface for HTTP-server, inetd interface for serving as Gopher server.
8 It can be used as a cgit replacement for readonly Git repository viewing
9 and Atom feed generation. But it has better features:
10
11 * URLs are tried to be converted to clickable links
12 * SHA1 hashes are tried to be converted to blog links itself
13 * Relative <link rel> links are included for easy navigation
14 * Each page has ETag and it is checked against the request for client-side
15   caching
16 * Pages can be gzip-compressed, depending on Accept-Encoding header
17 * Gopher protocol support for phlog creation
18 * Commenting support
19
20 CONFIGURATION
21
22 SGBlog is configured via Hjson configuration file:
23
24     {
25       GitPath: /home/git/pub/stargrave-blog.git
26       Branch: refs/heads/english
27       Title: "English Stargrave's blog"
28
29       BaseURL: http://blog.stargrave.org
30       URLPrefix: /english
31
32       AtomId: "urn:uuid:18e2f27c-a668-4e85-822e-b902376be5e3"
33       AtomAuthor: Sergey Matveev
34
35       # URL to CSS file, optional
36       CSS: /style.css
37       # Email address of the webmaster, optional
38       Webmaster: "webmaster@example.com"
39       # URL to about page, optional
40       AboutURL: /
41       # Optional list of optional Git URLs for corresponding <link rel="vcs-git">
42       GitURLs: [
43         git://git.stargrave.org/stargrave-blog.git
44         https://git.stargrave.org/git/stargrave-blog.git
45       ]
46
47       # If that ref is set, then comments will be loaded from it
48       CommentsNotesRef: refs/notes/comments
49       # Display link for comment writing, if email is set
50       CommentsEmail: something@example.com
51     }
52
53 Gopher mode can use the same configuration file, but it requires much
54 less options:
55
56     {
57       GitPath: /home/git/pub/stargrave-blog.git
58       Branch: refs/heads/english
59       Title: "English Stargrave's blog"
60
61       AboutURL: http://blog.stargrave.org/
62
63       CommentsNotesRef: refs/notes/comments
64       CommentsEmail: something@example.com
65
66       GopherDomain: phlog.stargrave.org
67     }
68
69 COMMENTS
70
71 Each comment is just a plaintext with From and Date headers. They are
72 stored in concatenated netstring serialized format as a Git note to
73 corresponding commit. They are added through email by feeding email
74 message to sgblog-comment-add.
75
76 LICENCE
77
78 This program is free software: you can redistribute it and/or modify
79 it under the terms of the GNU Affero General Public License as
80 published by the Free Software Foundation, version 3 of the License.
81
82 This program is distributed in the hope that it will be useful,
83 but WITHOUT ANY WARRANTY; without even the implied warranty of
84 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
85 GNU General Public License for more details.