diff --git a/.gitignore b/.gitignore index a31c3148a..9528746e4 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,5 @@ public/views/build public/uploads/* !public/uploads/.gitkeep + +site/ diff --git a/docs/dev/documentation.md b/docs/dev/documentation.md new file mode 100644 index 000000000..aa3c52535 --- /dev/null +++ b/docs/dev/documentation.md @@ -0,0 +1,27 @@ +# Documentation + +Our documentation is build with [mkdocs](https://www.mkdocs.org). + +## Writing + +All documentation files are found in the `docs` directory of the [hedgedoc/hedgedoc repo](https://github.com/hedgedoc/hedgedoc). These files are just normal markdown files with nothing special about them. + +The config file for mkdocs lies in the root of the repo in a file called `mkdocs.yml`. With that file the theme and menu - amoung others - can be configured. +**Please note:** Any new files need to be linked to by other files or put in the navigation or the files will be very hard to find on the documentation website. + +## Building + +To build the documentation locally you need to perform the following steps: + +1. make sure you have python3 installed +2. install all the dependencies possibly with a [venv](https://docs.python.org/3/library/venv.html): +`pip install -r mkdocs.requirements.txt` +3. start the mkdocs dev server `mkdocs serve` or let it build the documentation `mkdocs build` + +## Deployment + +The documentation is deployed with [Messor Structor](https://github.com/traefik/structor). + +The necessary Dockerfile and version menu template and also the github action to build the whole documentation can be found in the [docs.hedgedoc.org repo](https://github.com/hedgedoc/docs.hedgedoc.org). This repo is also used to deploy the actuall website to github.io. + +Messor Structor builds and deploys the documentation by finding all branches that follow the pattern `v*` and build each one seperatly via `mkdocs` by first installing `mkdocs.requirements.txt` and then building. Afterwards the menu go template is used to include a version switcher in the theme and make all the different versions available. \ No newline at end of file diff --git a/docs/dev/getting-started.md b/docs/dev/getting-started.md index b0623926d..b77871175 100644 --- a/docs/dev/getting-started.md +++ b/docs/dev/getting-started.md @@ -1,4 +1,4 @@ -# Developer Notes +# Getting started ## Preparing for running the code diff --git a/docs/images/favicon.png b/docs/images/favicon.png new file mode 120000 index 000000000..2b0c8015a --- /dev/null +++ b/docs/images/favicon.png @@ -0,0 +1 @@ +../../public/icons/favicon-32x32.png \ No newline at end of file diff --git a/docs/images/logo.png b/docs/images/logo.png new file mode 120000 index 000000000..22e855a96 --- /dev/null +++ b/docs/images/logo.png @@ -0,0 +1 @@ +../../public/icons/android-chrome-512x512.png \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 000000000..fb6f2cb8d --- /dev/null +++ b/docs/index.md @@ -0,0 +1,19 @@ +# Welcome to the HedgeDoc Documentation + +![HedgeDoc Logo](images/hedgedoc_logo_horizontal.png) + +HedgeDoc lets you create real-time collaborative markdown notes. You can test-drive +it by visiting our [HedgeDoc demo server][hedgedoc-demo]. + +It is inspired by Hackpad, Etherpad and similar collaborative editors. This +project originated with the team at [HackMD](https://hackmd.io) and now forked +into its own organisation. [A longer writeup can be read in the history doc](history.md) or [you can have a look at an explanitory graph over at our website][hedgedoc-history]. + +If you have any questions that aren't answered here, feel free to ask us on [Matrix][matrix.org-url], stop by our [community forums][hedgedoc-community] or have a look at our [FAQ][hedgedoc-faq]. + + +[hedgedoc-demo]: https://demo.hedgedoc.org +[hedgedoc-history]: https://hedgedoc.org/history +[hedgedoc-faq]: https://hedgedoc.org/faq +[matrix.org-url]: https://chat.hedgedoc.org +[hedgedoc-community]: https://community.hedgedoc.org \ No newline at end of file diff --git a/mkdocs.requirements.txt b/mkdocs.requirements.txt new file mode 100644 index 000000000..57d08e48d --- /dev/null +++ b/mkdocs.requirements.txt @@ -0,0 +1,3 @@ +mkdocs==1.1.2 +mkdocs-material==6.2.3 +pymdown-extensions==8.1 diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 000000000..562f87ff2 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,57 @@ +site_name: HedgeDoc +site_url: https://docs.hedgedoc.org +repo_url: https://github.com/hedgedoc/hedgedoc +site_description: 'HedgeDoc Documentation' +site_author: 'HedgeDoc Developers' +nav: + - Home: index.md + - Installation: + - 'Manual Installation': setup/manual-setup.md + - 'Reverse Proxy': setup/reverse-proxy.md + - Docker: setup/docker.md + - Cloudron: setup/cloudron.md + - Heroku: setup/heroku.md + - LinuxServer: setup/docker-linuxserver.md + - Yunohost: setup/yunohost.md + - Guides: + - Authentication: + - LDAP: guides/auth/ldap-ad.md + - OAuth: guides/auth/oauth.md + - SAML : guides/auth/saml.md + - SAML Keycloak : guides/auth/saml-keycloak.md + - SAML Onelogin : guides/auth/saml-onelogin.md + - GitHub: guides/auth/github.md + - GitLab: guides/auth/gitlab-self-hosted.md + - Keycloak: guides/auth/keycloak.md + - NextCloud: guides/auth/nextcloud.md + - Twitter: guides/auth/twitter.md + - Migrate from Etherpad: guides/migrate-etherpad.md + - Breaking Changes: guides/migrations-and-breaking-changes.md + - Media Backend: + - Minion: guides/minio-image-upload.md + - S3: guides/s3-image-upload.md + - Setting Terms: guides/providing-terms.md + - Configuration: configuration.md + - Developer: + - 'Getting Started': dev/getting-started.md + - API: dev/api.md + - 'Operational Transformation': dev/ot.md + - Webpack: dev/webpack.md + - 'Documentation': dev/documentation.md + - FAQ: https://hedgedoc.org/faq +markdown_extensions: + - toc: + permalink: true +theme: + name: 'material' + language: en + favicon: images/favicon.png + logo: images/logo.png + palette: + scheme: preference + primary: 'red' + accent: 'red' + features: + - navigation.tabs + - navigation.sections + - toc.integrate