aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md44
-rw-r--r--documentation/hacking.md20
-rw-r--r--documentation/installation.md43
-rw-r--r--package.json5
-rw-r--r--typedoc.json23
-rw-r--r--yarn.lock38
6 files changed, 121 insertions, 52 deletions
diff --git a/README.md b/README.md
index c0ac3f0..2784aca 100644
--- a/README.md
+++ b/README.md
@@ -30,44 +30,10 @@ Githermit requires no such thing. All the steps to get it set up are in [Usage](
- [ ] [Redesign](https://www.figma.com/file/r8P4m4SFTFkPfxkfoRrhtV/Githermit)
- [ ] Documentation
-# Usage
-**Dependencies:**
-- Git (obviously)
-- Nodejs v14.16.0
-- libpcre
-- libpcreposix
-- libkrb5
-- libk5crypto
-- libcom_err
-- libssl-dev
+# Installation
+You can find a guide on how to install Githermit in [the documentation](/documentation/installation.md)
-**Install all the Javascript dependencies**
+# Contributing
+Any contribution or support is very welcome.
-`$ 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](https://gitlab.com/HampusMat/githermit/-/merge_requests/new) 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.
+Find more info [here](/documentation/installation.md) \ No newline at end of file
diff --git a/documentation/hacking.md b/documentation/hacking.md
new file mode 100644
index 0000000..81a806c
--- /dev/null
+++ b/documentation/hacking.md
@@ -0,0 +1,20 @@
+## The project structure
+Githermit is what's called a monorepo and is thereof comprised of multiple packages. All of which resides in the 'packages' directory.
+
+### Server
+This package contains the backend. The brains of the operations.<br>
+You can find extensive information about the internals of the backend [here](/docs/modules.html)
+
+### Client
+This package contains the frontend. Written is Vue.js, this is the soul of the project.
+
+### API
+This package contains interfaces and types shared by the server and client packages.
+
+### Eslint-config-base
+This package contains a base Eslint configuration for the server and client packages. Aswell as for the test environment.
+
+## Development utilities
+You can use the following command to run a live-updating instance of Githermit.
+
+`$ yarn dev`
diff --git a/documentation/installation.md b/documentation/installation.md
new file mode 100644
index 0000000..2c68650
--- /dev/null
+++ b/documentation/installation.md
@@ -0,0 +1,43 @@
+## Requirements
+
+Githermit needs a multitude of packages to work properly.
+
+You'll need to have Git installed (obviously). You should be able to simply install this with your package manager.<br>
+For example:
+
+`# apt-get install git`
+
+Githermit also requires NodeJS. You can find a comprehensive guide on how to install it in [the NodeJS documentation](https://nodejs.dev/download/package-manager/).
+
+And then there's a couple of packages that may or may not already be installed on your system.
+- libpcre
+- libpcreposix
+- libkrb5
+- libk5crypto
+- libcom_err
+- libssl-dev
+
+## Setup
+
+You should now install the Javascript dependencies with Yarn.
+
+`$ yarn install`
+
+And finally, build the project.
+
+`$ yarn build`
+
+The final step is to create a file called `settings.yml` with the 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)
+```
+
+## Starting
+You can now run Githermit with
+`$ yarn start` \ No newline at end of file
diff --git a/package.json b/package.json
index 4d1df42..b8396a7 100644
--- a/package.json
+++ b/package.json
@@ -25,8 +25,9 @@
"fs-extra": "^10.0.0",
"jest": "^27.0.6",
"ts-jest": "^27.0.3",
- "typedoc": "^0.21.4",
- "typedoc-theme-slick-dark": "^1.0.1",
+ "typedoc": "^0.21.5",
+ "typedoc-plugin-pages": "^1.1.0",
+ "typedoc-theme-slick-dark": "^1.0.2",
"typescript": "^4.3.5"
}
}
diff --git a/typedoc.json b/typedoc.json
index 41c4349..caaab57 100644
--- a/typedoc.json
+++ b/typedoc.json
@@ -1,4 +1,5 @@
{
+ "name": "Githermit docs",
"entryPoints": [
"packages/server/src/git/index.ts",
"packages/api/src/index.d.ts"
@@ -6,6 +7,24 @@
"hideGenerator": true,
"out": "docs",
"tsconfig": "packages/server/tsconfig.json",
- "theme": "node_modules/typedoc-theme-slick-dark/bin/default",
- "highlightTheme": "dark-plus"
+ "theme": "../typedoc-theme-slick-dark/bin/default",
+ "highlightTheme": "dark-plus",
+ "pages": {
+ "reflectionNavigationTitle": "Development",
+ "groups": [
+ {
+ "title": "Guides",
+ "pages": [
+ {
+ "title": "Installation",
+ "source": "documentation/installation.md"
+ },
+ {
+ "title": "Hacking",
+ "source": "documentation/hacking.md"
+ }
+ ]
+ }
+ ]
+ }
} \ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 04644b0..6dc04ae 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3527,6 +3527,11 @@ commondir@^1.0.1:
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
+compare-versions@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
+ integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
+
component-emitter@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
@@ -7297,7 +7302,7 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
-lunr@^2.3.9:
+lunr@^2.3.8, lunr@^2.3.9:
version "2.3.9"
resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1"
integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==
@@ -10470,20 +10475,35 @@ typedarray-to-buffer@^3.1.5:
dependencies:
is-typedarray "^1.0.0"
+typedoc-default-themes@^0.10.1:
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.10.2.tgz#743380a80afe62c5ef92ca1bd4abe2ac596be4d2"
+ integrity sha512-zo09yRj+xwLFE3hyhJeVHWRSPuKEIAsFK5r2u47KL/HBKqpwdUSanoaz5L34IKiSATFrjG5ywmIu98hPVMfxZg==
+ dependencies:
+ lunr "^2.3.8"
+
typedoc-default-themes@^0.12.10:
version "0.12.10"
resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.12.10.tgz#614c4222fe642657f37693ea62cad4dafeddf843"
integrity sha512-fIS001cAYHkyQPidWXmHuhs8usjP5XVJjWB8oZGqkTowZaz3v7g3KDZeeqE82FBrmkAnIBOY3jgy7lnPnqATbA==
-typedoc-theme-slick-dark@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/typedoc-theme-slick-dark/-/typedoc-theme-slick-dark-1.0.1.tgz#0d3c8e3d51bc25f4fe008a0dc0cbe02faf487da5"
- integrity sha512-hsUcDF1NwaQVn756Jnk7+wB7UhjL9spbMCKCuFNr6n6QvdyBoqvZqPqcntzFZBlMWwQoZn9Dg3EWIyFQwtrAzQ==
+typedoc-plugin-pages@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/typedoc-plugin-pages/-/typedoc-plugin-pages-1.1.0.tgz#c51367404b87b9b2e8cc440a53ff641c42b9fd7a"
+ integrity sha512-pmCCp3G2aCeEWb829dcVe9Pl+pI5OsaqfyrkEutcAHZi6IMVfQ5G5NdrkIkFCGhJU/DY04rGrVdynWqnaO5/jg==
+ dependencies:
+ compare-versions "^3.6.0"
+ typedoc-default-themes "^0.10.1"
+
+typedoc-theme-slick-dark@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/typedoc-theme-slick-dark/-/typedoc-theme-slick-dark-1.0.2.tgz#dada20958adafb351b8859737b5c900a4383f33c"
+ integrity sha512-Vo6EYbPpOJtG/WmkThnnqrj+hBOyx3S6nU5mdLL9uVCrpIHfGRBgHyTveJBzzETGRLuyEf8potjHtlyBF1FkRw==
-typedoc@^0.21.4:
- version "0.21.4"
- resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.21.4.tgz#fced3cffdc30180db60a5dbfec9dbbb273cb5b31"
- integrity sha512-slZQhvD9U0d9KacktYAyuNMMOXJRFNHy+Gd8xY2Qrqq3eTTTv3frv3N4au/cFnab9t3T5WA0Orb6QUjMc+1bDA==
+typedoc@^0.21.5:
+ version "0.21.5"
+ resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.21.5.tgz#45643618ede5c3d75e2040b964d05fcffed7ca58"
+ integrity sha512-uRDRmYheE5Iju9Zz0X50pTASTpBorIHFt02F5Y8Dt4eBt55h3mwk1CBSY2+EfwBxY16N4Xm7f8KXhnfFZ0AmBw==
dependencies:
glob "^7.1.7"
handlebars "^4.7.7"