diff --git a/.github/workflows/deploy-pages-static.yml b/.github/workflows/deploy-pages-static.yml new file mode 100644 index 000000000..79bcd5dca --- /dev/null +++ b/.github/workflows/deploy-pages-static.yml @@ -0,0 +1,52 @@ +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["master"] + + # 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 only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + # Publish the docs to docs/_site + - name: Dotnet Setup + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 7.x + - run: dotnet tool update -g docfx + - run: docfx documentation/docfx.json + + # Deploy the generated docs to GitHub Pages + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + # Upload static files + path: 'documentation/_site' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/documentation/.gitignore b/documentation/.gitignore new file mode 100644 index 000000000..4378419e7 --- /dev/null +++ b/documentation/.gitignore @@ -0,0 +1,9 @@ +############### +# folder # +############### +/**/DROP/ +/**/TEMP/ +/**/packages/ +/**/bin/ +/**/obj/ +_site diff --git a/documentation/docfx.json b/documentation/docfx.json new file mode 100644 index 000000000..6b48acf4d --- /dev/null +++ b/documentation/docfx.json @@ -0,0 +1,56 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "Vts/Vts.csproj" + ], + "src": "../src" + } + ], + "dest": "vts", + "includePrivateMembers": false, + "disableGitFeatures": false, + "disableDefaultFilter": false, + "noRestore": false, + "namespaceLayout": "flattened", + "memberLayout": "samePage", + "EnumSortOrder": "alphabetic", + "allowCompilationErrors": false + } + ], + "build": { + "content": [ + { + "files": [ + "vts/**.yml", + "vts/index.md" + ] + }, + { + "files": [ + "toc.yml", + "*.md" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ] + } + ], + "output": "_site", + "globalMetadataFiles": [], + "fileMetadataFiles": [], + "template": [ + "default", + "modern" + ], + "postProcessors": [], + "keepFileLink": false, + "disableGitFeatures": false + } +} \ No newline at end of file diff --git a/documentation/index.md b/documentation/index.md new file mode 100644 index 000000000..fea054b56 --- /dev/null +++ b/documentation/index.md @@ -0,0 +1,23 @@ +## Documentation +There are 4 categories of documentation, the first is for users of the GUI and provides educational resources regarding the underlying solution methods, the second is for users of the Monte Carlo Command Line (MCCL) application, the third is for Windows MATLAB users to access the VTS libraries using the VTS MATLAB Package, and the fourth is for developers wishing to access and/or modify the source code. + +### VTS GUI Documentation +* [Description of the panels in the GUI Application](https://github.com/VirtualPhotonics/Vts.Gui.Wpf/wiki/Software) +* [Video Walkthroughs of the GUI Application](https://virtualphotonics.org/video) + +### Documentation for Monte Carlo Command Line (MCCL) Application +* [Editing Monte Carlo Command Line infiles](https://github.com/VirtualPhotonics/Vts.MonteCarlo/wiki/MCCL-Editing-infiles) +* [Running MCCL](https://github.com/VirtualPhotonics/Vts.MonteCarlo/wiki/MCCL-Examples) +* [Capabilities and Implementation of Conventional Monte Carlo](https://github.com/VirtualPhotonics/Vts.MonteCarlo/wiki/MCCL-Capabilities-And-Implementation) + +### Documentation for VTS MATLAB Package +* [Getting Started with MATLAB](https://github.com/VirtualPhotonics/VTS/wiki/VTS-MATLAB) + +### Instructions for VTS Source Code Download and Use +* Getting Started ([Linux](https://github.com/VirtualPhotonics/VTS/wiki/Getting-Started-on-Linux), [Mac](https://github.com/VirtualPhotonics/VTS/wiki/Getting-Started-on-Mac), [Windows](https://github.com/VirtualPhotonics/VTS/wiki/Getting-Started-in-Windows))() +* [Coding Conventions](https://github.com/VirtualPhotonics/VTS/wiki/Coding-Conventions) +* [Compiling and running the VTS](https://github.com/VirtualPhotonics/VTS/wiki/Compile-and-run-the-VTS) +* [Build, Test and Run the VTS without Visual Studio](https://github.com/VirtualPhotonics/VTS/wiki/Without-Visual-Studio) +* [Documenting Source Code](https://github.com/VirtualPhotonics/VTS/wiki/Visual-Studio-XML-Comment-Tags) +* [Adding a New Forward Solver](https://github.com/VirtualPhotonics/VTS/wiki/Adding-a-New-Forward-Solver-to-the-VTS) +* [MSDN Style Developer Documentation (CHM File)](https://github.com/VirtualPhotonics/VTS/releases/download/Version_8.0/VtsDocumentation.chm) \ No newline at end of file diff --git a/documentation/toc.yml b/documentation/toc.yml new file mode 100644 index 000000000..81209d26f --- /dev/null +++ b/documentation/toc.yml @@ -0,0 +1,3 @@ +- name: Vts Documentation + href: vts/ + homepage: vts/index.md diff --git a/documentation/vts/.gitignore b/documentation/vts/.gitignore new file mode 100644 index 000000000..e8079a3be --- /dev/null +++ b/documentation/vts/.gitignore @@ -0,0 +1,5 @@ +############### +# temp file # +############### +*.yml +.manifest diff --git a/documentation/vts/index.md b/documentation/vts/index.md new file mode 100644 index 000000000..29b85bb32 --- /dev/null +++ b/documentation/vts/index.md @@ -0,0 +1,5 @@ +# Developer Documentation + +This documentation was generated from the XML comments within the source files. We also have a downloadable CHM file that replicates the MSDN style documentation from Microsoft. + +That file can be downloaded [here](https://github.com/VirtualPhotonics/VTS/releases/download/Version_8.0/VtsDocumentation.chm) \ No newline at end of file