No description
Find a file
pho4cexa 66f1105deb don't call (main) twice when running uncompiled
this set of patches gets repo2html working for me running as cli, both compiled
and not, for fa! there was one markdown file in fa that lowdown throws an error
about, i haven't investigated further. but i catch the error and render as
plaintext instead.

i haven't re-tested running as githook for pushing to fa and other repos yet.
2022-12-07 21:10:07 -05:00
.gitignore lightened shade of the default pink 2022-12-02 16:47:20 -05:00
git-daemon.service first commit 2022-12-02 16:41:55 -05:00
LICENSE added license :) 2022-12-04 00:51:48 -05:00
main.scm don't call (main) twice when running uncompiled 2022-12-07 21:10:07 -05:00
Makefile quick notes and updates added to readme, minor makefile changes 2022-12-07 15:18:27 -05:00
post-receive massive changes incl. support for images, markdown 2022-12-07 14:51:23 -05:00
README.md updated description and features 2022-12-07 15:54:03 -05:00

repo2html

a command-line tool that turns git repositories in html pages

features

  • static html files
  • image support (we're working on this)
  • svg support (we're working on this)
  • markdown files are rendered as html (we're working on this)
  • no background process (unless you're using this tool as a post-receive hook, then you only need git-daemon running)
  • default repository view is an html-rendered README.md file

caveats

  • binary file contents are just... shown
  • directory tree is shown as a flat list of files, so git repositories with many files and directories will look awful
  • no commit log (yet?)
  • no line numbers (yet?)

disclaimer

no one is liable if this software breaks, deletes, corrupts, or ruins anything

requirements

note: if you have chicken scheme installed, then you can install the eggs above by running make dependencies as root.

compilation

chicken scheme runs faster if it's compiled to a binary file. by default, the binary is named repo2html, and is installed in /usr/local/bin.

to compile repo2html into a binary file, follow the steps below:

  1. ensure you're in the repo2html git repository
  2. run make dependencies as root
  3. run make
  4. run make install as root

installation

TODO

using repo2html as a post-receive hook

TODO

using repo2html as a standalone command-line utility

TODO

configuration

you can configure repo2html by changing environment variables in the post-receive hook file.

for details about the environment variables, refer to the list below:

  • REPO2HTML_PREFIX: the web directory where repo2html generates static git repositories. for example, /var/www/git/.
  • REPO2HTML_CLONE_URL: the url that people will use when downloading your git repository. if you have git-daemon set up, then you can prefix the url with git://. otherwise, prefix the url with http://. for example, git://git.example.com. note: avoid slashes at the end of the url.
  • REPO2HTML_TITLE: the text that populates the <title> html tag.
  • REPO2HTML_DESCRIPTION: a string that populates the description meta information about your git repository.
  • REPO2HTML_H1: the text that populates the <h1> html tag.

how it works

TODO

todos

  • update docs according to changes in 50bbb3686d37fc00c95aedde82bc7a58de53b410. m455 updated things a bit, but he wants to touch up on way more things documentation-wise according to the changes in this commit.
  • e2e tutorial
  • if no README.md file exists in the root directory of the repository, then don't create the "about" nav link. instead, make the files page the index.html
  • add a "license" nav link if a LICENSE file exists in the root directory of the repository. if no LICENSE file exists, then don't create the "license" nav link
  • add a "contributors" nav link

hopes

  • clickable line numbers in source files
  • make repos with more files and directories less daunting (recursively generate a files list page for each directory in a repo?)
  • nav link: Releases