[gopher] stagit-gopher release

Christoph Lohmann 20h at r-36.net
Wed Aug 16 18:27:49 UTC 2017


Greetings comrades.

Due to the still pending changes, here's some announcement I repost:


>>>>>>>>>>>BEGIN

From: Hiltjo Posthuma <hiltjo at codemadness.org>

Hello fellow gophers,

This is the first release of stagit-gopher. stagit-gopher is based off the
HTML stagit and is a static git page generator for gopher.

stagit-gopher generates pages in the geomyidae gopher server file format
(.gph file). Geomyidae is available at: gopher://gopher.r-36.net/1/scm/geomyidae

Some sites using stagit-gopher are:
- gopher://bitreich.org/1/scm
- gopher://git.codemadness.org

Download:
- gopher://bitreich.org/9/scm/stagit-gopher/tag/stagit-gopher-0.6.tgz
  SHA512 checksum:
  7abed0cbef5baad508ab93d01b5d3a789c1cce53b482f1e076cfe2a5dc093f05c714f80a58102a3f47423ca999067111b4e828202c11850b0805066b9291709e

or

- http://dl.2f30.org/releases/stagit-gopher-0.6.tar.gz
  SHA256 checksum:
  966b721d2f76e426a686f41d8d9c7b7f4d2eab4b07c6ec3a4b6e78d03f425f21

NOTE: the checksums are different, because bitreich is created from git by tag.
      the tarball on 2f30 is created using make dist.


Features
--------

- Log of all commits from HEAD.
- Log and diffstat per commit.
- Show file tree with line numbers.
- Show references: local branches and tags.
- Detect README and LICENSE file from HEAD and link it as a page.
- Detect submodules (.gitmodules file) from HEAD and link it as a page.
- Atom feed log (atom.xml).
- Make index page for multiple repositories with stagit-gopher-index.
- After generating the pages (relatively slow) serving the files is very fast,
  simple and requires little resources (because the content is static), only
  a geomyidae Gopher server is required.
- Update repository information on git push (see example post-receive hook:
  example_post-receive.sh.


Cons
----

- Not suitable for large repositories (2000+ commits), because diffstats are
  an expensive operation.
- Not suitable for repositories with many branches, a quite linear history is
  assumed (from HEAD).
- Relatively slow to run the first time (about 3 seconds for sbase,
  1500+ commits), incremental updates are faster.
- Does not support some dynamic features like:
  - snapshot tarballs (a script is available however).
  - file tree per commit.
  - history log of branches diverged from HEAD.
  - stats (git shortlog -s).

  this is by design, just use git locally.


Usage
-----

Make files per repository:

	$ mkdir -p gphdir && cd gphdir
	$ stagit-gopher path-to-repo

Make index file for repositories:

	$ stagit-gopher-index repodir1 repodir2 repodir3 > index.gph


Install
-------

$ make
# make install


Dependencies
------------

- geomyidae (for .gph file serving).
- libgit2 (v0.22+).
- libc (tested with OpenBSD, FreeBSD, Linux: glibc and musl).
- C compiler (C99).
- make


Documentation
-------------

See man pages: stagit-gopher(1) and stagit-gopher-index(1).

>>>>>>>>>>>END

As you can see, nearly all links are now gopher:// :D


Sincerely,

Christoph Lohmann





More information about the Gopher-Project mailing list