summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJeroen Wijenbergh <jeroenwijenbergh@protonmail.com>2022-04-18 14:28:22 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-04-18 14:28:22 +0200
commitedfc46d1ecfcbf206c9fdb2e27d324cb9a52df8f (patch)
tree0daa89e423600a3c473d7e0206d72342bba87247 /docs
parent2fdfa26388f4e738d1a4f89a29fbe93dfdbce41a (diff)
Docs: Move to mdbook
Diffstat (limited to 'docs')
-rw-r--r--docs/_config.yml1
-rw-r--r--docs/book.toml6
-rw-r--r--docs/src/SUMMARY.md4
-rw-r--r--docs/src/about.md16
-rw-r--r--docs/src/installation.md (renamed from docs/index.md)27
-rw-r--r--docs/wrappers.md11
6 files changed, 35 insertions, 30 deletions
diff --git a/docs/_config.yml b/docs/_config.yml
deleted file mode 100644
index b11e127..0000000
--- a/docs/_config.yml
+++ /dev/null
@@ -1 +0,0 @@
-remote_theme: just-the-docs/just-the-docs
diff --git a/docs/book.toml b/docs/book.toml
new file mode 100644
index 0000000..6229209
--- /dev/null
+++ b/docs/book.toml
@@ -0,0 +1,6 @@
+[book]
+authors = ["Jeroen Wijenbergh"]
+language = "en"
+multilingual = false
+src = "src"
+title = "eduVPN-common documentation"
diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md
new file mode 100644
index 0000000..211d9eb
--- /dev/null
+++ b/docs/src/SUMMARY.md
@@ -0,0 +1,4 @@
+# Summary
+
+- [About](./about.md)
+- [Installation](./installation.md)
diff --git a/docs/src/about.md b/docs/src/about.md
new file mode 100644
index 0000000..ac61279
--- /dev/null
+++ b/docs/src/about.md
@@ -0,0 +1,16 @@
+# About
+This chapter contains background information for the library.
+
+## eduVPN introduction
+eduVPN-common is a library for [eduVPN](https://www.eduvpn.org/), which is a VPN by [Surf](https://www.surf.nl) for research institutions such as Universities. Each institution that uses eduVPN has its own server. To discover these servers and establish a VPN connection with them, eduVPN clients are used. eduVPN has clients for each common platform:
+- [Android](https://github.com/eduvpn/android)
+- [Linux](https://github.com/eduvpn/python-eduvpn-client)
+- [MacOS/iOS](https://github.com/eduvpn/apple)
+- [Windows](https://github.com/Amebis/eduVPN)
+
+## The problem
+However, as these clients are rather similar in functionality, apart from platform specific differences, right now there is duplicate code between them. For example, the process to discover institution's servers, the authorization process (OAuth) and Wireguard key generation.
+This goal of this library is to provide the common functionality between these clients into one codebase. The library is written in the [Go](https://go.dev/) language and has wrapper code for each of the languages that are used by the current clients.
+
+## Authors
+This library is written by [Steven Wallis de Vries](https://github.com/stevenwdv) and [Jeroen Wijenbergh](https://github.com/jwijenbergh), two Radboud University students that worked at Surf for their research internship.
diff --git a/docs/index.md b/docs/src/installation.md
index 82858ab..3a823cd 100644
--- a/docs/index.md
+++ b/docs/src/installation.md
@@ -1,17 +1,8 @@
----
-layout: default
-title: Home
-nav_order: 1
-description: "eduVPN-common documentation."
-permalink: /
----
-
-## eduVPN-common documentation
-
-This is the documentation for eduVPN-common, a shared GO library to be used as a common codebase between eduVPN clients. This library is a WIP and is not production ready.
-
-### Dependencies
-#### Linux
+# Installation and building
+This chapter contains the instructions to build and install the Go library.
+## Dependencies
+This section contains the dependencies needed to build the library on Linux and Windows
+### Linux
To build the GO shared library using Linux you need the following dependencies:
- [Go](https://go.dev/doc/install) 1.15 or later
@@ -19,7 +10,7 @@ To build the GO shared library using Linux you need the following dependencies:
- [GNU Make](https://www.gnu.org/software/make/)
- Dependencies for each wrapper you are interested in
-#### Windows
+### Windows
On Windows, you can install gcc and make (or even Go) via MinGW or Cygwin or use WSL. For MinGW:
1. [Install MinGW](https://www.msys2.org/#installation) (you don't need to install any extra packages yet) and open some
@@ -39,8 +30,8 @@ On Windows, you can install gcc and make (or even Go) via MinGW or Cygwin or use
terminal: `path/to/msys64/msys2_shell.cmd -mingw32 -defterm -no-start -use-full-path`
3. Run the make commands in the project directory
-### Building
-Build shared library for current platform:
+## Building
+To build the shared library for the current platform issue the following command in the root directory:
```shell
make
@@ -70,7 +61,7 @@ Test Go code:
make test-go
```
-### Testing
+## Testing
To test the wrappers, issue the following command in a shell (you will need compilers for all wrappers if you do this):
diff --git a/docs/wrappers.md b/docs/wrappers.md
deleted file mode 100644
index be8fcad..0000000
--- a/docs/wrappers.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## Wrappers
-
-eduVPN-common can interface with the following languages:
-
-- Android (Java)
-- C#
-- Php
-- Python
-- Swift
-
-For this, [wrapper code](https://github.com/jwijenbergh/eduvpn-common/tree/main/wrappers) has been created which can be used as a library.