]> Sergey Matveev's repositories - sgblog.git/blobdiff - README.texi
More compact Base64 ETag
[sgblog.git] / README.texi
index d4c563d0cde0f293ab4759a2124eff599c08271a..20e3726ea2fa47b2014a304e269829300e3a8699 100644 (file)
@@ -3,7 +3,7 @@
 @settitle SGBlog
 
 @copying
-Copyright @copyright{} 2020-2022 @email{stargrave@@stargrave.org, Sergey Matveev}
+Copyright @copyright{} 2020-2024 @email{stargrave@@stargrave.org, Sergey Matveev}
 @end copying
 
 @node Top
@@ -30,6 +30,7 @@ Its main competitive features:
     interface for working as
     @url{https://en.wikipedia.org/wiki/Gopher_(protocol), Gopher} server
 @item Topics (tags/categories) support
+@item Images linking support
 @item Supports on the fly generation of
     @url{https://en.wikipedia.org/wiki/Atom_(feed), Atom} feeds
     for posts, comments and per-post comments
@@ -47,8 +48,8 @@ But SGBlog also is able to:
 @item Convert SHA1-like hashes to blog links itself
 @item Include relative @code{<link rel>} links for ease of navigation in
     some browsers
-@item @url{https://en.wikipedia.org/wiki/Gzip, gzip} compress both HTML
-    pages and Atom feeds
+@item @url{https://facebook.github.io/zstd/, Zstandard}
+    compress both HTML pages and Atom feeds
 @item Respect @url{https://en.wikipedia.org/wiki/HTTP_ETag, ETag}
     caching for both of them above
 @end itemize
@@ -115,6 +116,19 @@ To reset incorrectly added topic:
 $ git update-ref refs/notes/topics refs/notes/topics^
 @end example
 
+@node Images
+@unnumbered Images
+
+You can link any number of image files with your post. You need to put
+them in a directory (@code{ImgPath} configuration file's option) which
+path is equal to your post's hash, with two subdirectory levels. For
+example directory for post @code{3e12180dd2b6fb3b44c77c365d355d5a3796a43f}
+will be @code{ImgPath/3e/12/180dd2b6fb3b44c77c365d355d5a3796a43f}.
+Filenames are lexically sorted. Filename without an extension will be
+image's alternative text. Currently only @file{.jxl} and @file{.webp}
+are recognized. @code{ImgDomain} configuration file's option will be
+used to construct URL to @code{//ImgDomain/3e/12/180dd2b6fb3b44c77c365d355d5a3796a43f}.
+
 @node Installation
 @unnumbered Installation
 
@@ -258,6 +272,10 @@ optional fields:
   TopicsNotesRef: refs/notes/topics
   # Optional file for topics state caching
   TopicsCachePath: /path/to/sgblog-topics-cache.gob
+
+  # If set, then images are searched in XX/YY/ZZZ...ZZZ directory
+  ImgPath: /path/to/directory/with/images
+  ImgDomain: img.blog.example.com
 @}
 @end example