SGBlog -- Git-based CGI/inetd blogging/phlogging engine ======================================================= DESCRIPTION SGBlog is a simple blogging engine with a Git-based storage, CGI interface for HTTP-server, inetd interface for serving as Gopher server. It can be used as a cgit replacement for readonly Git repository viewing and Atom feed generation. But it has better features: * URLs are tried to be converted to clickable links * SHA1 hashes are tried to be converted to blog links itself * Relative links are included for easy navigation * Each page has ETag and it is checked against the request for client-side caching * Pages can be gzip-compressed, depending on Accept-Encoding header * Gopher protocol support for phlog creation * Commenting support CONFIGURATION SGBlog is configured via Hjson configuration file: { GitPath: /home/git/pub/stargrave-blog.git Branch: refs/heads/english Title: "English Stargrave's blog" BaseURL: http://blog.stargrave.org URLPrefix: /english AtomId: "urn:uuid:18e2f27c-a668-4e85-822e-b902376be5e3" AtomAuthor: Sergey Matveev # URL to CSS file, optional CSS: /style.css # Email address of the webmaster, optional Webmaster: "webmaster@example.com" # URL to about page, optional AboutURL: / # Optional list of optional Git URLs for corresponding GitURLs: [ git://git.stargrave.org/stargrave-blog.git https://git.stargrave.org/git/stargrave-blog.git ] # If that ref is set, then comments will be loaded from it CommentsNotesRef: refs/notes/comments # Display link for comment writing, if email is set CommentsEmail: something@example.com } Gopher mode can use the same configuration file, but it requires much less options: { GitPath: /home/git/pub/stargrave-blog.git Branch: refs/heads/english Title: "English Stargrave's blog" AboutURL: http://blog.stargrave.org/ CommentsNotesRef: refs/notes/comments CommentsEmail: something@example.com GopherDomain: phlog.stargrave.org } COMMENTS Each comment is just a plaintext with From and Date headers. They are stored in concatenated netstring serialized format as a Git note to corresponding commit. They are added through email by feeding email message to sgblog-comment-add. LICENCE This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.