git.strcat.st

/strcat/sgit.git/ - summarytreelogarchive

description

static git -> html generator

clone
git clone https://git.strcat.st/strcat/sgit.git

README

# sgit

`sgit` builds static html pages from git repos.

## building

make dat shit
MARKDOWN= is set to 0, pass flag to make if you want markdown
formatting for readmes
run dat shit `./sgit repos out`

if `repos` is a repo (`.git/` exists), it generates one site in `out`.

if `repos` does not have a .git/ directory or bare repo it will scan direct child directories and generates one 
site per repo, plus a top level index

## output layout
- `out/index.html`          lists repos 
- `out/repo1/index.html`    summary/readme page
- `out/repo1/files.html`    file tree
- `out/repo1/history.html`  commit history
- `out/repo1/commits/<sha1>.html`
- `out/repo1/file/<filename>.html`

## metadata

it reads meta data from .git/owner or .git/cloneurl or just repo/<owner/cloneurl> if bare

- `owner`     defaults to `unknown` if missing
- `cloneurl`  shown when present; e.g.:
should probably make it so you can specify multiple clone urls neatly..
```
printf '%s\n' "https://git.larp.moe/dd/sgit.git > \
/path/to/repo/.git/cloneurl
```          

## styling
all pages link to the relative path of your our dir for style.css
make a style.css in the root of the out directory.
- `out/style.css`

## caching

each repo output directory stores `.sgit-cache` with the last generated `head`.
if `head` has not changed, that repo is skipped.

## See Also

- [stagit](https://codemadness.org/git/stagit/)