aboutsummaryrefslogtreecommitdiff
path: root/docs_src
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2021-08-04 16:18:44 +0200
committerHampusM <hampus@hampusmat.com>2021-08-04 16:18:44 +0200
commit9f7c9103ae6ca7c3127b44a966300a8ea62b3454 (patch)
tree895768db7b82ba41937d47d362216817840842a4 /docs_src
parenteaf6ac44e7d38ff6cc71ca72bdaceed59b86c550 (diff)
Renamed the documentation folder to docs_src
Diffstat (limited to 'docs_src')
-rw-r--r--docs_src/API/introduction.md3
-rw-r--r--docs_src/API/v1/repos.md165
-rw-r--r--docs_src/API/v1/v1.md22
-rw-r--r--docs_src/hacking.md20
-rw-r--r--docs_src/installation.md43
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