diff options
Diffstat (limited to 'docs_src')
-rw-r--r-- | docs_src/API/introduction.md | 3 | ||||
-rw-r--r-- | docs_src/API/v1/repos.md | 165 | ||||
-rw-r--r-- | docs_src/API/v1/v1.md | 22 | ||||
-rw-r--r-- | docs_src/hacking.md | 20 | ||||
-rw-r--r-- | docs_src/installation.md | 43 |
5 files changed, 253 insertions, 0 deletions
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:**<br> +Retrieves a list of available repositories. + +**Parameters:**<br> +None + +**Response:**<br> + +| 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) | + +<br> + +## /repos/:repo +**Method:** GET + +**Description:**<br> +Retrieves a repository. + +**Parameters:**<br> + +| Name | Location | Description | Required | Schema | +|------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | + +**Response:**<br> + +| Code | Description | Schema | +|---------|--------------|----------------------------------------------------| +| 200 | A repository | [Repository](/docs/interfaces/api.Repository.html) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +<br> + +## /repos/:repo/tree +**Method:** GET + +**Description:**<br> +Retrieves a repository tree. + +**Parameters:**<br> + +| Name | Location | Description | Required | Schema | +|------|----------|------------------|----------|--------| +| repo | path | The repository | true | string | +| path | query | Path in the tree | false | string | + +**Response:**<br> + +| Code | Description | Schema | +|---------|-------------|---------------------------------------| +| 200 | A tree | [Tree](/docs/modules/api.html#Tree) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +<br> + +## /repos/:repo/tags +**Method:** GET + +**Description:**<br> +Retrieves a repository tag. + +**Parameters:**<br> + +| Name | Location | Description | Required | Schema | +|------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | + +**Response:**<br> + +| Code | Description | Schema | +|---------|-------------|---------------------------------------| +| 200 | A tag | [\[Tag\]](/docs/modules/api.html#Tag) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +<br> + +## /repos/:repo/log +**Method:** GET + +**Description:**<br> +Retrieves a repository's log. + +**Parameters:**<br> + +| Name | Location | Description | Required | Schema | +|------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | + +**Response:**<br> + +| Code | Description | Schema | +|---------|--------------|----------------------------------------------------| +| 200 | A log commit | [\[Log commit\]](/docs/modules/api.html#LogCommit) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +<br> + +## /repos/:repo/log/:commit +**Method:** GET + +**Description:**<br> +Retrieves a commit from a repository. + +**Parameters:**<br> + +| Name | Location | Description | Required | Schema | +|--------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | +| commit | path | A commit SHA | true | string | + +**Response:**<br> + +| Code | Description | Schema | +|---------|-------------|--------------------------------------------| +| 200 | A commit | [Commit](/docs/interfaces/api.Commit.html) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +<br> + +## /repos/:repo/branches +**Method:** GET + +**Description:**<br> +Retrieves a repository's branches. + +**Parameters:**<br> + +| Name | Location | Description | Required | Schema | +|--------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | + +**Response:**<br> + +| Code | Description | Schema | +|---------|-------------|---------------------------------------------------------------| +| 200 | A branch | [\[Branch summary\]](/docs/interfaces/api.BranchSummary.html) | +| 400-599 | An error | [Error](/docs/modules/api.html#Error) | + +<br> + +## /repos/:repo/branches/:branch +**Method:** GET + +**Description:**<br> +Retrieves a branch from a repository. + +**Parameters:**<br> + +| Name | Location | Description | Required | Schema | +|--------|----------|----------------|----------|--------| +| repo | path | The repository | true | string | +| branch | path | A branch | true | string | + +**Response:**<br> + +| 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`. + +<br> + +## /info +**Method:** GET + +**Description:**<br> +Retrieves information about the Githermit instance. + +**Parameters:**<br> +None + +**Response:**<br> + +| 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.<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/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.<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 |