From 4d9197b3cc443fe9d74553b79716797cdc42a995 Mon Sep 17 00:00:00 2001 From: kaltokri Date: Fri, 20 Oct 2023 16:13:30 +0200 Subject: [PATCH] First version of the new GitHub pages --- .github/workflows/gh-pages.yml | 69 ++++++++++++++++++++++++++++ docs/.gitignore | 11 +++++ docs/Dockerfile | 12 +++++ docs/Gemfile | 7 +++ docs/LICENSE | 21 +++++++++ docs/_config.yml | 34 ++++++++++++++ docs/_sass/color_schemes/moose.scss | 5 ++ docs/docker-compose.yml | 13 ++++++ docs/favicon.ico | Bin 0 -> 32988 bytes docs/index.md | 68 +++++++++++++++++++++++++++ docs/just-the-docs.gemspec | 26 +++++++++++ docs/repositories.md | 43 +++++++++++++++++ 12 files changed, 309 insertions(+) create mode 100644 .github/workflows/gh-pages.yml create mode 100644 docs/.gitignore create mode 100644 docs/Dockerfile create mode 100644 docs/Gemfile create mode 100644 docs/LICENSE create mode 100644 docs/_config.yml create mode 100644 docs/_sass/color_schemes/moose.scss create mode 100644 docs/docker-compose.yml create mode 100644 docs/favicon.ico create mode 100644 docs/index.md create mode 100644 docs/just-the-docs.gemspec create mode 100644 docs/repositories.md 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 0000000000000000000000000000000000000000..9d06e6489c2c339737f4499730bd09d02021f98e GIT binary patch literal 32988 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 literal 0 HcmV?d00001 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 +--- + +[![Moose-Includes](https://github.com/FlightControl-Master/MOOSE/actions/workflows/build-includes.yml/badge.svg?branch=master)](https://github.com/FlightControl-Master/MOOSE/actions/workflows/build-includes.yml)   +[![Moose-Docs](https://github.com/FlightControl-Master/MOOSE/actions/workflows/build-docs.yml/badge.svg?branch=master)](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. + +![Graphic](https://raw.githubusercontent.com/FlightControl-Master/MOOSE_DOCS/master/Configuration/Master.png) + +## [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.