No description
Find a file
pho4cexa f6cd8f38a5 get relative nav links working
this could use some extra thinking and cleanup, got some copy-pasted
code in both populat-html-template and display-source-html. but it's
working in my clone of fa!
2022-12-08 20:09:14 -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 get relative nav links working 2022-12-08 20:09:14 -05:00
Makefile don't fail build if build directory exists 2022-12-07 21:10:28 -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