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 |
|
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 learn nowadays.
The goal of Githermit is to be an alternative to the aforementioned projects that is both easier to develop & easier to use. I would argue that Javascript, Vue.js & Sass is much easier to comprehend and understand than C, Perl & even PHP. Especially for less experienced developers.
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?
Githermit is not and will never be an alternative to services such as Gitlab and Github.
Githermit will probably never be as fast as cgit, Gitweb & Stagit. But that's okay. That's not the point.
Progress
- [x] Log & commit pages
- [x] Cloning
- [ ] Refs page
- [x] Tree page
- [x] Blob page
- [ ] Markdown support
- [ ] Tests
Usage
Dependencies: - Git (obviously) - Nodejs v14.16.0
Install all the 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.