From 9f7c9103ae6ca7c3127b44a966300a8ea62b3454 Mon Sep 17 00:00:00 2001 From: HampusM Date: Wed, 4 Aug 2021 16:18:44 +0200 Subject: Renamed the documentation folder to docs_src --- docs_src/API/introduction.md | 3 + docs_src/API/v1/repos.md | 165 +++++++++++++++++++++++++++++++++++++++++++ docs_src/API/v1/v1.md | 22 ++++++ docs_src/hacking.md | 20 ++++++ docs_src/installation.md | 43 +++++++++++ 5 files changed, 253 insertions(+) create mode 100644 docs_src/API/introduction.md create mode 100644 docs_src/API/v1/repos.md create mode 100644 docs_src/API/v1/v1.md create mode 100644 docs_src/hacking.md create mode 100644 docs_src/installation.md (limited to 'docs_src') diff --git a/docs_src/API/introduction.md b/docs_src/API/introduction.md new file mode 100644 index 0000000..343bdf6 --- /dev/null +++ b/docs_src/API/introduction.md @@ -0,0 +1,3 @@ +Every Githermit instance has a public API. + +These are all the endpoints for this API. \ No newline at end of file diff --git a/docs_src/API/v1/repos.md b/docs_src/API/v1/repos.md new file mode 100644 index 0000000..483676e --- /dev/null +++ b/docs_src/API/v1/repos.md @@ -0,0 +1,165 @@ +## /repos +**Method:** GET + +**Description:**
+Retrieves a list of available repositories. + +**Parameters:**
+None + +**Response:**
+ +| Code | Description | Schema | +|---------|------------------------|---------------------------------------------------------------------| +| 200 | A list of repositories | [\[Repository summary\]](/docs/interfaces/api.RepositorySummary.html) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +
+ +## /repos/:repo +**Method:** GET + +**Description:**
+Retrieves a repository. + +**Parameters:**
+ +| Name | Location | Description | Required | Schema | +|------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | + +**Response:**
+ +| Code | Description | Schema | +|---------|--------------|----------------------------------------------------| +| 200 | A repository | [Repository](/docs/interfaces/api.Repository.html) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +
+ +## /repos/:repo/tree +**Method:** GET + +**Description:**
+Retrieves a repository tree. + +**Parameters:**
+ +| Name | Location | Description | Required | Schema | +|------|----------|------------------|----------|--------| +| repo | path | The repository | true | string | +| path | query | Path in the tree | false | string | + +**Response:**
+ +| Code | Description | Schema | +|---------|-------------|---------------------------------------| +| 200 | A tree | [Tree](/docs/modules/api.html#Tree) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +
+ +## /repos/:repo/tags +**Method:** GET + +**Description:**
+Retrieves a repository tag. + +**Parameters:**
+ +| Name | Location | Description | Required | Schema | +|------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | + +**Response:**
+ +| Code | Description | Schema | +|---------|-------------|---------------------------------------| +| 200 | A tag | [\[Tag\]](/docs/modules/api.html#Tag) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +
+ +## /repos/:repo/log +**Method:** GET + +**Description:**
+Retrieves a repository's log. + +**Parameters:**
+ +| Name | Location | Description | Required | Schema | +|------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | + +**Response:**
+ +| Code | Description | Schema | +|---------|--------------|----------------------------------------------------| +| 200 | A log commit | [\[Log commit\]](/docs/modules/api.html#LogCommit) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +
+ +## /repos/:repo/log/:commit +**Method:** GET + +**Description:**
+Retrieves a commit from a repository. + +**Parameters:**
+ +| Name | Location | Description | Required | Schema | +|--------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | +| commit | path | A commit SHA | true | string | + +**Response:**
+ +| Code | Description | Schema | +|---------|-------------|--------------------------------------------| +| 200 | A commit | [Commit](/docs/interfaces/api.Commit.html) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +
+ +## /repos/:repo/branches +**Method:** GET + +**Description:**
+Retrieves a repository's branches. + +**Parameters:**
+ +| Name | Location | Description | Required | Schema | +|--------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | + +**Response:**
+ +| Code | Description | Schema | +|---------|-------------|---------------------------------------------------------------| +| 200 | A branch | [\[Branch summary\]](/docs/interfaces/api.BranchSummary.html) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +
+ +## /repos/:repo/branches/:branch +**Method:** GET + +**Description:**
+Retrieves a branch from a repository. + +**Parameters:**
+ +| Name | Location | Description | Required | Schema | +|--------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | +| branch | path | A branch | true | string | + +**Response:**
+ +| Code | Description | Schema | +|---------|-------------|--------------------------------------------| +| 200 | A branch | [Branch](/docs/interfaces/api.Branch.html) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | \ No newline at end of file diff --git a/docs_src/API/v1/v1.md b/docs_src/API/v1/v1.md new file mode 100644 index 0000000..327d7f2 --- /dev/null +++ b/docs_src/API/v1/v1.md @@ -0,0 +1,22 @@ +## About +The first edition of the Githermit API. + +All of following endpoints should be prefixed with `/api/v1`. + +
+ +## /info +**Method:** GET + +**Description:**
+Retrieves information about the Githermit instance. + +**Parameters:**
+None + +**Response:**
+ +| Code | Description | Schema | +|---------|----------------------|---------------------------------------| +| 200 | Instance information | [Info](/docs/modules/api.html#Info) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | \ No newline at end of file diff --git a/docs_src/hacking.md b/docs_src/hacking.md new file mode 100644 index 0000000..81a806c --- /dev/null +++ b/docs_src/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.
+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/docs_src/installation.md b/docs_src/installation.md new file mode 100644 index 0000000..2c68650 --- /dev/null +++ b/docs_src/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.
+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 -- cgit v1.2.3-18-g5258