1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
|
What is Githermit?
Githermit is a Git web interface with the purpose of being a way to show off your personal projects on your own hosted git server.
Why was it created?
For the sake of modernism. Projects like cgit, Gitweb & Stagit are written in decades-old programming languages that no one in their right mind would even bother to learn nowadays.
The goal of Githermit is to be an alternative to the aforementioned projects that is easier to maintain, customize & use.
It's also because i hate the idea of the web server being seperate. I don't want to have to set up Nginx or Apache or whatever for just hosting a Git web interface. Githermit requires no such thing. All the steps to get it set up are in Usage. Nothing more, nothing less.
What is Githermit Not?
- An alternative to services such as Gitlab and Github.
- As fast as cgit, Gitweb & Stagit. But that's okay. That's not the point.
Todo
- [x] Log & commit pages
- [x] Cloning
- [ ] Refs page
- [x] Tree page
- [x] Blob page
- [x] Markdown support
- [ ] Tests
- [x] Fix the stupid bug caused by empty patches
- [ ] Branch switching
- [x] Custom favicon support
- [x] Custom website title support
- [ ] Redesign
Usage
Dependencies: - Git (obviously) - Nodejs v14.16.0 - libpcre - libpcreposix - libkrb5 - libk5crypto - libcom_err - libssl-dev
Install all the Javascript dependencies
$ yarn install
Build & bundle the frontend
$ yarn build
Create a file called settings.yml
with following content
host: (Host address)
port: (Port)
dev_port: (Port for development server)
production: (Set this to true unless you're doing changes to Githermit)
title: (Title of your Githermit instance)
about: (Short description of your Githermit instance)
base_dir: (Directory where all of your bare Git repositories are located)
You can now run it with
$ yarn start
Development
You're highly encouraged to create a merge request if you're willing to contribute.
You can run the following command to easily get started with contributing
$ yarn dev
This will run an instance of Githermit with live-updating backend & frontend.