diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml
new file mode 100644
index 000000000..b4faa62c8
--- /dev/null
+++ b/.github/workflows/gh-pages.yml
@@ -0,0 +1,69 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+# Sample workflow for building and deploying a Jekyll site to GitHub Pages
+name: Deploy Jekyll site to Pages
+
+on:
+ push:
+ branches: ["master"]
+ paths:
+ - 'docs/**'
+ - '.github/workflows/pages.yml'
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Setup Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: '3.1' # Not needed with a .ruby-version file
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
+ cache-version: 0 # Increment this number if you need to re-download cached gems
+ working-directory: docs/
+ - name: Setup Pages
+ id: pages
+ uses: actions/configure-pages@v3
+ - name: Build with Jekyll
+ # Outputs to the './_site' directory by default
+ run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
+ env:
+ JEKYLL_ENV: production
+ working-directory: docs/
+ - name: Upload artifact
+ # Automatically uploads an artifact from the './_site' directory by default
+ uses: actions/upload-pages-artifact@v1
+ with:
+ path: docs/_site/
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v1
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 000000000..44a974e25
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,11 @@
+# Copied from https://github.com/github/gitignore/blob/main/Jekyll.gitignore
+# Ignore metadata generated by Jekyll
+_site/
+.sass-cache/
+.jekyll-cache/
+.jekyll-metadata
+
+# Ignore folders generated by Bundler
+.bundle/
+vendor/
+Gemfile.lock
diff --git a/docs/Dockerfile b/docs/Dockerfile
new file mode 100644
index 000000000..a499513b2
--- /dev/null
+++ b/docs/Dockerfile
@@ -0,0 +1,12 @@
+FROM ruby:2.7
+
+ENV LC_ALL C.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US.UTF-8
+
+WORKDIR /usr/src/app
+
+COPY Gemfile just-the-docs.gemspec ./
+RUN gem install bundler && bundle install
+
+EXPOSE 4000
diff --git a/docs/Gemfile b/docs/Gemfile
new file mode 100644
index 000000000..c6d33204b
--- /dev/null
+++ b/docs/Gemfile
@@ -0,0 +1,7 @@
+source "https://rubygems.org"
+gem "github-pages", group: :jekyll_plugins
+gem "jekyll"
+gem "json"
+gem "just-the-docs"
+
+gem "webrick", group: :development
diff --git a/docs/LICENSE b/docs/LICENSE
new file mode 100644
index 000000000..7d510d02f
--- /dev/null
+++ b/docs/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 just-the-docs
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/docs/_config.yml b/docs/_config.yml
new file mode 100644
index 000000000..c557105bd
--- /dev/null
+++ b/docs/_config.yml
@@ -0,0 +1,34 @@
+repository: FlightControl-Master/MOOSE
+title: MOOSE
+description: MOOSE is a Mission Object Oriented Scripting Environment for mission designers in DCS World
+theme: just-the-docs
+color_scheme: moose
+
+gh_edit_link: false
+gh_edit_link_text: "Edit this page on GitHub"
+gh_edit_repository: https://github.com/FlightControl-Master/MOOSE
+gh_edit_branch: master
+gh_edit_source: docs
+gh_edit_view_mode: edit
+
+callouts_level: quiet # or loud
+callouts:
+ highlight:
+ color: grey-dk
+ important:
+ title: Important
+ color: red
+ new:
+ title: New
+ color: grey-lt
+ note:
+ title: Note
+ color: green
+ warning:
+ title: Warning
+ color: yellow
+callouts_opacity: 0.4
+
+aux_links:
+ GitHub: https://github.com/FlightControl-Master/MOOSE
+ Discord: https://discord.gg/aQtjcR94Qf
diff --git a/docs/_sass/color_schemes/moose.scss b/docs/_sass/color_schemes/moose.scss
new file mode 100644
index 000000000..12e58bad8
--- /dev/null
+++ b/docs/_sass/color_schemes/moose.scss
@@ -0,0 +1,5 @@
+@import "./color_schemes/dark";
+
+$green-300: #0d441b;
+$red-300: #440d0d;
+$grey-dk-300: #adadad;
diff --git a/docs/docker-compose.yml b/docs/docker-compose.yml
new file mode 100644
index 000000000..6901f39a7
--- /dev/null
+++ b/docs/docker-compose.yml
@@ -0,0 +1,13 @@
+version: "3.5"
+
+services:
+ jekyll:
+ build:
+ context: ./
+ ports:
+ - 4000:4000
+ volumes:
+ - .:/usr/src/app
+ stdin_open: true
+ tty: true
+ command: bundle exec jekyll serve -H 0.0.0.0 -t --force_polling
diff --git a/docs/favicon.ico b/docs/favicon.ico
new file mode 100644
index 000000000..9d06e6489
Binary files /dev/null and b/docs/favicon.ico differ
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 000000000..bd3525f15
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,68 @@
+---
+title: Overview
+nav_order: 1
+layout: home
+---
+
+[](https://github.com/FlightControl-Master/MOOSE/actions/workflows/build-includes.yml)
+[](https://github.com/FlightControl-Master/MOOSE/actions/workflows/build-docs.yml)
+
+# MOOSE framework
+
+MOOSE is a **M**ission **O**bject **O**riented **S**cripting **E**nvironment for mission designers in [DCS World].
+It allows to quickly setup complex missions using pre-scripted scenarios using the available classes within the MOOSE Framework.
+MOOSE is written in [Lua] which is a small and fast programming language, which is embedded in [DCS World].
+
+## Goal of MOOSE
+
+The goal of MOOSE is to allow mission designers to enhance their scripting with mission orchestration objects,
+which can be instantiated from defined classes within the framework. This will allow to write mission scripts with
+minimal code embedded. Of course, the richness of the framework will determine the richness of the misson scenarios.
+The MOOSE is a service that is produced while being consumed. It will evolve further as more classes are developed
+for the framework and as more users are using it.
+MOOSE is not a one-man show, it is a collaborative effort and meant to evolve within a growing community around the framework.
+Within the community, key users will start supporting, documenting, explaining and even creating new classes for the framework.
+It is the ambition to grow this framework as a de-facto standard for mission designers to use.
+
+## Two branches - Choose wisely
+
+In [DCS World] there is a `Stable` version and an `OpenBeta`. New features are released to the `OpenBeta` first and applied to `Stable` later.
+People who choose to use `OpenBeta` can use the newest featuest and module, but accept the risk of bugs and unstable updates.
+In MOOSE there is a `master` branch, which is comparable to the `Stable` version.
+And there is the `development` branch, which is more like the `OpenBeta`.
+New modules (called classes in [Lua], like [OPS.Auftrag]) will only available in the `development` branch.
+
+Releases are the most stable approach to use MOOSE.
+From time to time the current state of the `master` branch is used to create release.
+A release gets a spefific version number and will not be changed later on.
+
+## Documentation
+
+Documentation on the MOOSE class hierarchy will be automatically generated from [LuaDoc] comments inside of the source code of MOOOSE.
+You can find the results on these websites:
+
+- Stable `master` branch:
+- `develop` branch:
+
+## YouTube Tutorials
+
+There are different tutorial playlists available on YouTube:
+
+- AnyTimeBaby (Pene) has kindly created a [tutorial series for MOOSE](https://youtube.com/playlist?list=PLLkY2GByvtC2ME0Q9wrKRDE6qnXJYV3iT)
+ with various videos that you can watch.
+- FlightControl (initiator of the project) has created a lot of [videos](https://www.youtube.com/@flightcontrol5350/featured) on how to use MOOSE.
+ They are a little bit outdated, but they still contain a lot of valuable information.
+
+## MOOSE on Discord
+
+MOOSE has a living community of users, beta testers and contributors.
+The gathering point is a service provided by [Discord].
+If you want to join this community, just click the link below and you'll be on board in no time.
+
+- [Moose for DCS Discord server](https://discord.gg/aQtjcR94Qf)
+
+[DCS World]: https://www.digitalcombatsimulator.com/de/
+[Lua]: https://www.lua.org/
+[LuaDoc]: https://keplerproject.github.io/luadoc/
+[Ops.Auftrag]: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.Auftrag.html
+[Discord]: https://discord.com/
diff --git a/docs/just-the-docs.gemspec b/docs/just-the-docs.gemspec
new file mode 100644
index 000000000..851ac0aba
--- /dev/null
+++ b/docs/just-the-docs.gemspec
@@ -0,0 +1,26 @@
+# coding: utf-8
+
+Gem::Specification.new do |spec|
+ spec.name = "just-the-docs"
+ spec.version = "0.4.1"
+ spec.authors = ["Patrick Marsceill", "Matthew Wang"]
+ spec.email = ["patrick.marsceill@gmail.com", "matt@matthewwang.me"]
+
+ spec.summary = %q{A modern, highly customizable, and responsive Jekyll theme for documentation with built-in search.}
+ spec.homepage = "https://github.com/just-the-docs/just-the-docs"
+ spec.license = "MIT"
+ spec.metadata = {
+ "bug_tracker_uri" => "https://github.com/just-the-docs/just-the-docs/issues",
+ "changelog_uri" => "https://github.com/just-the-docs/just-the-docs/blob/main/CHANGELOG.md",
+ "documentation_uri" => "https://just-the-docs.github.io/just-the-docs/",
+ "source_code_uri" => "https://github.com/just-the-docs/just-the-docs",
+ }
+
+ spec.files = `git ls-files -z ':!:*.jpg' ':!:*.png'`.split("\x0").select { |f| f.match(%r{^(assets|bin|_layouts|_includes|lib|Rakefile|_sass|LICENSE|README|CHANGELOG|favicon)}i) }
+ spec.executables << 'just-the-docs'
+
+ spec.add_development_dependency "bundler", ">= 2.3.5"
+ spec.add_runtime_dependency "jekyll", ">= 3.8.5"
+ spec.add_runtime_dependency "jekyll-seo-tag", ">= 2.0"
+ spec.add_runtime_dependency "rake", ">= 12.3.1"
+end
diff --git a/docs/repositories.md b/docs/repositories.md
new file mode 100644
index 000000000..f7e89b744
--- /dev/null
+++ b/docs/repositories.md
@@ -0,0 +1,43 @@
+---
+title: Repositories
+nav_order: 2
+---
+
+# MOOSE Repositories
+
+The underlying picture documents the different repositories in the MOOSE framework.
+The white ones are edited and are the source of the framework.
+The red ones contain generated artefacts. See further the explanation for each repository.
+
+
+
+## [MOOSE](https://github.com/FlightControl-Master/MOOSE) - For development and static documentation
+
+This repository contains the source lua code of the MOOSE framework.
+Also the source files for this documentation are included in this repository.
+
+## [MOOSE_INCLUDE](https://github.com/FlightControl-Master/MOOSE_INCLUDE) - For users (provides generated files)
+
+This repository contains the `Moose.lua` and `Moose\_.lua` file to be included within your missions.
+Note that the `Moose\_.lua` is technically the same as `Moose.lua`, but without any commentary or unnecessary whitespace in it.
+You only need to load **one** of those files at the beginning of your mission.
+
+## [MOOSE_DOCS](https://github.com/FlightControl-Master/MOOSE_DOCS) - Only to generate documentation website
+
+This repository contains the generated documentation and pictures and other references.
+The generated documentation is reflected in html and is published at:
+- Stable `master` branch:
+- `develop` branch:
+
+## [MOOSE_MISSIONS](https://github.com/FlightControl-Master/MOOSE_MISSIONS) - For users (provides demo missions)
+
+This repository contains all the demonstration missions in packed format (*.miz),
+and can be used without any further setup in DCS WORLD.
+
+## [MOOSE_MISSIONS_DYNAMIC](https://github.com/FlightControl-Master/MOOSE_MISSIONS_DYNAMIC) - Outdated
+
+This repository will be removed in future.
+
+## [MOOSE_MISSIONS_UNPACKED](https://github.com/FlightControl-Master/MOOSE_MISSIONS_UNPACKED) - Outdated
+
+This repository will be removed in future.