From 314f2bb2fe12e3c70e3b1e80c289057a52b81278 Mon Sep 17 00:00:00 2001 From: Alfin Johny <alfin.johny@tum.de> Date: Thu, 19 Dec 2024 13:02:49 +0100 Subject: [PATCH] Implement mkdoxy documentation for Aircraftt Design repository This commit partially addresses the issue Integrate mkdoxy in pipeline. Creates mkdoxy documentation for files inside Aircraft Design repository. This also link generated documentation to the UNICADO website. Following files are editted: 1. .gitlab-ci.yml : clone aircraft-design and libraries repo 2. scripts/copy_aircraft_design_to_docs.py ( Copy aircraft-design to docs folder of gitlabio repo. 3. overrides/main.html :Adapted to disply footer logo on all pages 4. mkdocs.yml : Changed link to documentation. Issue: #21 --- .gitlab-ci.yml | 16 +++++-------- mkdocs.yml | 25 ++++++------------- overrides/main.html | 2 +- scripts/copy_aircraft_design_to_docs.py | 32 +++++++++++++++++++++++++ 4 files changed, 46 insertions(+), 29 deletions(-) create mode 100644 scripts/copy_aircraft_design_to_docs.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4a05c73..e80a075 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,18 +28,13 @@ doxygen: before_script: - apk update && apk --no-cache add git doxygen graphviz ttf-freefont texmf-dist texmf-dist-latexextra texlive texlive-dvi script: - # libaries - - git clone --recurse-submodules https://gitlab-ci-token:${CI_JOB_TOKEN}@git.rwth-aachen.de/unicado/libraries - - cd libraries/aircraftGeometry2/doc/ && ( cat Doxyfile ; echo "OUTPUT_DIRECTORY = $CI_PROJECT_DIR/docs/documentation/" ) | doxygen - - - cd ../../engine/doc/ && ( cat Doxyfile ; echo "OUTPUT_DIRECTORY = $CI_PROJECT_DIR/docs/documentation/" ) | doxygen - - - cd $CI_PROJECT_DIR # aircraft design - git clone --recurse-submodules https://gitlab-ci-token:${CI_JOB_TOKEN}@git.rwth-aachen.de/unicado/aircraft-design - - cd aircraft-design/propulsion_design/doc/ && ( cat Doxyfile ; echo "OUTPUT_DIRECTORY = $CI_PROJECT_DIR/docs/documentation/" ) | doxygen - - - cd ../../aircraft-design/wing_design/doc/ && ( cat Doxyfile ; echo "OUTPUT_DIRECTORY = $CI_PROJECT_DIR/docs/documentation/" ) | doxygen - - - cd ../../aircraft-design/empennage_design/doc/ && ( cat Doxyfile ; echo "OUTPUT_DIRECTORY = $CI_PROJECT_DIR/docs/documentation/" ) | doxygen - - - cd ../../aircraft-design/ecological_assessment/doc/ && ( cat Doxyfile ; echo "OUTPUT_DIRECTORY = $CI_PROJECT_DIR/docs/documentation/" ) | doxygen - - + + # libaries + - git clone --recurse-submodules https://gitlab-ci-token:${CI_JOB_TOKEN}@git.rwth-aachen.de/unicado/libraries + + - cd $CI_PROJECT_DIR artifacts: paths: - $CI_PROJECT_DIR/docs/documentation @@ -76,6 +71,7 @@ pages: - python $CI_PROJECT_DIR/scripts/document_aircraft_xml.py --title EcologicalValues --level 4 $CI_PROJECT_DIR/scripts/CSR-02.xml > $CI_PROJECT_DIR/docs/aircraft-xml/ecological.md - python $CI_PROJECT_DIR/scripts/document_aircraft_xml.py --title Requirements --level 3 $CI_PROJECT_DIR/scripts/CSR-02.xml > $CI_PROJECT_DIR/docs/aircraft-xml/requirements.md - python $CI_PROJECT_DIR/scripts/document_aircraft_xml.py --title DesignSpecification --level 4 $CI_PROJECT_DIR/scripts/CSR-02.xml > $CI_PROJECT_DIR/docs/aircraft-xml/specification.md + - python scripts/copy_aircraft_design_to_docs.py - pipenv run mkdocs build --site-dir $CI_PROJECT_DIR/public needs: - doxygen diff --git a/mkdocs.yml b/mkdocs.yml index d662897..6987f45 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -65,26 +65,15 @@ plugins: - search - mkdoxy: projects: - propulsion_design: - src-dirs: ../aircraft-design/propulsion_design/ + aircraft_design: + src-dirs: docs/documentattion/aircraft_design/ full-doc: True doxy-cfg: FILE_PATTERNS: "*.cpp *.h *.md *.png *.svg" # Include .cpp, .h, .md, .png, .svg files in the documentation RECURSIVE: True EXTRACT_ALL: YES - OUTPUT_DIRECTORY: docs/propulsion_design - initial_sizing: - src-dirs: ../aircraft-design/initial_sizing/ - full-doc: true - output: docs/documentation/initial_sizing/ - doxy-cfg: - FILE_PATTERNS: "*.cpp *.h" - RECURSIVE: True - EXTRACT_ALL: YES - - glightbox # Plugin for lightbox-style image and content viewing. - # === Theme configuration === theme: name: material # Specifies the theme name (alternatives: material, mkdocs, readthedocs). @@ -146,15 +135,15 @@ nav: # Customizes the main navigation struc - documentation/initial_sizing/files.md - documentation/initial_sizing/pages.md - Propulsion Design: - - Introduction: 'documentation/propulsion_design/index.md' - - Engineering Principles: 'documentation/propulsion_design/engineering_principles.md' - - Getting Started: 'documentation/propulsion_design/getting_started.md' - - Software Architecture: 'documentation/propulsion_design/software_architecture.md' + - Introduction: 'documentation/aircraft_design/propulsion_design/doc/content/index.md' + - Engineering Principles: 'documentation/aircraft_design/propulsion_design/doc/content/engineering_principles.md' + - Getting Started: 'documentation/aircraft_design/propulsion_design/doc/content/getting_started.md' + - Software Architecture: 'documentation/aircraft_design/propulsion_design/doc/content/software_architecture.md' - Tutorial: - Main: 'documentation/propulsion_design/tutorial.md' - Engine Extension: 'documentation/propulsion_design/tutorial_engine_extension.md' - Fidelity Extension: 'documentation/propulsion_design/tutorial_fidelity_extension.md' - - Additional: 'documentation/propulsion_design/additional.md' + - Additional: 'docs/documentation/propulsion_design/doc/content/additional.md' - API Reference: - documentation/propulsion_design/classes.md - documentation/propulsion_design/namespaces.md diff --git a/overrides/main.html b/overrides/main.html index 1f2aec4..4223dec 100644 --- a/overrides/main.html +++ b/overrides/main.html @@ -8,7 +8,7 @@ <a href="/datenschutz/" class="footer-link">Datenschutzerklärung</a> </div> <div class="footer-image-container"> - <img src="assets/images/logos/bmwk.png" alt="Footer Logo" class="footer-image"> + <img src="{{ base_url }}/assets/images/logos/bmwk.png" alt="Footer Logo" class="footer-image"> </div> </div> diff --git a/scripts/copy_aircraft_design_to_docs.py b/scripts/copy_aircraft_design_to_docs.py new file mode 100644 index 0000000..129f021 --- /dev/null +++ b/scripts/copy_aircraft_design_to_docs.py @@ -0,0 +1,32 @@ +import shutil +import os + +def copy_folder(): + # Path to the source directory (aircraft-design folder or any folder) + # Replace this with the actual path to the folder you want to copy + source_dir = "aircraft-design" # Absolute or relative path + + # Path to the destination directory (within the docs folder of your Git repository) + dest_dir = "./docs/documentation/aircraft_design" # Inside your 'unicado.gitlab.io' docs folder + + # Check if the source directory exists + if os.path.exists(source_dir): + # Check if the destination folder exists, and delete it if it does + if os.path.exists(dest_dir): + try: + shutil.rmtree(dest_dir) # Delete the destination folder and its contents + print(f"Deleted existing folder: {dest_dir}") + except Exception as e: + print(f"Error deleting folder: {e}") + + # Use shutil.copytree to copy the entire folder and its contents + try: + shutil.copytree(source_dir, dest_dir) + print(f"Folder copied from {source_dir} to {dest_dir}") + except Exception as e: + print(f"Error copying folder: {e}") + else: + print(f"Source directory {source_dir} does not exist.") + +if __name__ == "__main__": + copy_folder() -- GitLab