Overhaul vitepress site

master
Daniel Lovell 2024-10-02 01:36:42 -07:00
parent 494cb8591f
commit 4a79b77b41
12 changed files with 2336 additions and 17608 deletions

View File

@ -33,11 +33,9 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
working-directory: './docs'
- name: Build documentation - name: Build documentation
run: npm run docs:build run: npm run docs:build
working-directory: './docs'
- name: Deploy Documentation - name: Deploy Documentation
uses: peaceiris/actions-gh-pages@v4 uses: peaceiris/actions-gh-pages@v4

4
.gitignore vendored
View File

@ -80,4 +80,6 @@ crashlytics-build.properties
.vsconfig .vsconfig
# Telemetry Logs # Telemetry Logs
Telemetry/Logs/ Telemetry/Logs/
node_modules/

2
docs/.gitignore vendored
View File

@ -1,3 +1,5 @@
node_modules/ node_modules/
package-lock.json package-lock.json
.vuepress/dist/ .vuepress/dist/
.vitepress/cache/
.vitepress/dist/

View File

@ -0,0 +1,33 @@
import { defineConfig } from 'vitepress'
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: "micromissiles-unity",
description: "Swarm-on-swarm simulator using micromissiles for point defense",
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: 'Home', link: '/' },
{ text: 'Documentation', link: '/Keybinds_and_Controls' }
],
sidebar: [
{
text: 'Documentation',
items: [
{ text: 'Keybinds and Controls', link: '/Keybinds_and_Controls' },
{ text: 'Simulation Configuration Guide', link: '/Simulation_Config_Guide' },
{ text: 'Simulation Logging', link: '/Simulation_Logging' },
{ text: 'Coverage Reports', link: '/coverage/editmode/Report/' }
]
}
],
socialLinks: [
{ icon: 'github', link: 'https://github.com/PisterLab/micromissiles-unity' }
],
search: {
provider: 'local'
}
}
})

View File

@ -1,29 +0,0 @@
module.exports = async () => {
const {viteBundler} = await import('@vuepress/bundler-vite')
return {
title: 'Micromissiles Unity Project',
description: 'Documentation for the Micromissiles Unity project',
base: '/micromissiles-unity/', themeConfig: {
navbar:
[
{text: 'Home', link: '/'}, {
text: 'Keybinds and Controls',
link: '/Keybinds_and_Controls/'
},
{
text: 'Simulation Configuration Guide',
link: '/Simulation_Config_Guide/'
},
{text: 'Simulation Logging', link: '/Simulation_Logging/'},
{
text: 'Coverage Reports',
link: '/coverage/editmode/Report/'
}, // Link to coverage reports
],
sidebar: 'auto',
},
bundler: viteBundler(),
patterns: ['INDEX.md', '**/*.md', '**/*.vue'],
}
}

View File

@ -1,39 +1,41 @@
--- ---
home: true # https://vitepress.dev/reference/default-theme-home-page
heroImage: /images/logo.png layout: home
heroText: Micromissiles Unity Project
tagline: Documentation for the Micromissiles Unity project hero:
actionText: Get Started → name: "micromissiles-unity"
actionLink: /Keybinds_and_Controls.html
features: tagline: "Swarm-on-swarm simulator using micromissiles for point defense"
- title: Swarm-on-swarm simulations actions:
details: This project models swarm-on-swarm point defense scenarioswith multiple missile and drone models. - theme: brand
- title: Customizable Scenarios text: Documentation
details: Create and modify various engagement scenarios. link: /Keybinds_and_Controls
- title: Detailed Analysis #- theme: alt
details: Comprehensive logging and data analysis tools. # text: Simulation Configuration Guide
# link: /Simulation_Config_Guide
--- ---
# Micromissiles Unity Project # Quick Start
![Sim Salvo Animation](/images/sim_salvo_animation.gif)
## Quick Start
We generate pre-built standalone binaries for Windows and Mac users from the `release` branch. These binaries are intended for non-development users who just want to run the application and modify a few configurations along the way. We generate pre-built standalone binaries for Windows and Mac users from the `release` branch. These binaries are intended for non-development users who just want to run the application and modify a few configurations along the way.
You can find the latest release [here](https://github.com/PisterLab/micromissiles-unity/releases/latest). You can find the latest release [here](https://github.com/PisterLab/micromissiles-unity/releases/latest).
### Windows ## Windows
1. Download the zip file for Windows: `micromissiles-<version>-windows_x86_64.zip`. 1. Download the zip file for Windows: `micromissiles-<version>-windows_x86_64.zip`.
2. Unzip the zip file. The zip file should contain a single directory called `micromissiles-<version>-windows_x86_64`. 2. Unzip the zip file. The zip file should contain a single directory called `micromissiles-<version>-windows_x86_64`.
3. In the `micromissiles-<version>-windows_x86_64` directory, run `micromissiles-<version>-StandaloneWindows64.exe`. 3. In the `micromissiles-<version>-windows_x86_64` directory, run `micromissiles-<version>-StandaloneWindows64.exe`.
### Mac ## Mac
1. Download the tarball file for Darwin: `micromissiles-<version>-darwin.tar.gz`. 1. Download the tarball file for Darwin: `micromissiles-<version>-darwin.tar.gz`.
2. Untar the tarball. The tarball should contain a single directory called `micromissiles-<version>-darwin`. 2. Untar the tarball. The tarball should contain a single directory called `micromissiles-<version>-darwin`.
3. In the `micromissiles-<version>-darwin` directory, run the app file. 3. In the `micromissiles-<version>-darwin` directory, run the app file.
For more detailed information, please refer to our [documentation pages](/Keybinds_and_Controls.html).
# Next Steps
- Familiarize yourself with the [**Keybinds and Controls**](Keybinds_and_Controls.md) to navigate and interact with the simulation.
- Learn how to configure the simulation settings by reading the [**Simulation Configuration Guide**](Simulation_Config_Guide.md).

85
docs/Markdown_Examples.md Normal file
View File

@ -0,0 +1,85 @@
# Markdown Extension Examples
This page demonstrates some of the built-in markdown extensions provided by VitePress.
## Syntax Highlighting
VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting:
**Input**
````md
```js{4}
export default {
data () {
return {
msg: 'Highlighted!'
}
}
}
```
````
**Output**
```js{4}
export default {
data () {
return {
msg: 'Highlighted!'
}
}
}
```
## Custom Containers
**Input**
```md
::: info
This is an info box.
:::
::: tip
This is a tip.
:::
::: warning
This is a warning.
:::
::: danger
This is a dangerous warning.
:::
::: details
This is a details block.
:::
```
**Output**
::: info
This is an info box.
:::
::: tip
This is a tip.
:::
::: warning
This is a warning.
:::
::: danger
This is a dangerous warning.
:::
::: details
This is a details block.
:::
## More
Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown).

View File

@ -9,13 +9,13 @@ The main configuration files you will work with are located in the `Assets/Strea
- **Simulation Configurations**: - **Simulation Configurations**:
- **`1_salvo_1_hydra_7_drones.json`**: A simple, barebones example of a simulation configuration featuring a single salvo in a 7-on-7 scenario. - **`1_salvo_1_hydra_7_drones.json`**: A simple, barebones example of a simulation configuration featuring a single salvo in a 7-on-7 scenario.
- **`3_salvo_10_hydra_200_drones.json`**: A more complex example with three salvos, illustrating a 210-on-200 scenario. This demonstrates how to set up multiple salvos within the simulation. - **`3_salvo_10_hydra_200_drones.json`**: A more complex example with three salvos, illustrating a 210-on-200 scenario. This demonstrates how to set up multiple salvos within the simulation.
- **C# Script**: [`SimulationConfig.cs`](Assets/Scripts/Config/SimulationConfig.cs) - **C# Script**: [`SimulationConfig.cs`](https://github.com/PisterLab/micromissiles-unity/blob/master/Assets/Scripts/Config/StaticConfig.cs)
- **Model Configurations** (found in `Assets/StreamingAssets/Configs/Models/`): - **Model Configurations** (found in `Assets/StreamingAssets/Configs/Models/`):
- **`micromissile.json`** - **`micromissile.json`**
- **`hydra70.json`** - **`hydra70.json`**
- **`drone.json`** - **`drone.json`**
- **C# Script**: [`StaticConfig.cs`](Assets/Scripts/Config/StaticConfig.cs) - **C# Script**: [`StaticConfig.cs`](https://github.com/PisterLab/micromissiles-unity/blob/master/Assets/Scripts/Config/StaticConfig.cs)
### File Locations ### File Locations
@ -37,7 +37,7 @@ The simulation configurations are defined in JSON files that specify the initial
This is a basic configuration featuring a single salvo with one interceptor type (`HYDRA_70`) and seven threat drones. This is a basic configuration featuring a single salvo with one interceptor type (`HYDRA_70`) and seven threat drones.
```json:Assets/StreamingAssets/Configs/1_salvo_1_hydra_7_drones.json ```json
{ {
"timeScale": 1, "timeScale": 1,
"interceptor_swarm_configs": [ "interceptor_swarm_configs": [
@ -89,7 +89,7 @@ This is a basic configuration featuring a single salvo with one interceptor type
This configuration demonstrates a more complex scenario with three salvos, each launching ten `HYDRA_70` missiles at different times against 200 threat drones. This results in a total of 210 missiles (including submunitions) engaging 200 targets. This configuration demonstrates a more complex scenario with three salvos, each launching ten `HYDRA_70` missiles at different times against 200 threat drones. This results in a total of 210 missiles (including submunitions) engaging 200 targets.
```json:Assets/StreamingAssets/Configs/3_salvo_10_hydra_200_drones.json ```json
{ {
"timeScale": 1, "timeScale": 1,
"interceptor_swarm_configs": [ "interceptor_swarm_configs": [
@ -265,7 +265,7 @@ To define a new inte or threat model:
This script defines the data structures used to interpret the JSON simulation configuration files. This script defines the data structures used to interpret the JSON simulation configuration files.
[Assets/Scripts/Config/SimulationConfig.cs](../../Assets/Scripts/Config/SimulationConfig.cs) [Assets/Scripts/Config/SimulationConfig.cs](https://github.com/PisterLab/micromissiles-unity/blob/master/Assets/Scripts/Config/SimulationConfig.cs)
**Classes**: **Classes**:
@ -281,10 +281,10 @@ This script defines the data structures used to interpret the JSON simulation co
This script defines the classes corresponding to the model configuration JSON structure. This script defines the classes corresponding to the model configuration JSON structure.
[Assets/Scripts/Config/StaticConfig.cs](../../Assets/Scripts/Config/StaticConfig.cs) [Assets/Scripts/Config/StaticConfig.cs](https://github.com/PisterLab/micromissiles-unity/blob/master/Assets/Scripts/Config/StaticConfig.cs)
For example: For example:
```csharp:Assets/Scripts/Config/StaticConfig.cs ```csharp
[Serializable] [Serializable]
public class StaticConfig { public class StaticConfig {
[Serializable] [Serializable]
@ -335,8 +335,8 @@ While the simulation is running, you can load a new Simulation Configuration JSO
For further assistance, refer to the comments and documentation within the code files: For further assistance, refer to the comments and documentation within the code files:
- [`SimManager.cs`](Assets/Scripts/SimManager.cs): Manages simulation state and agent creation. - [`SimManager.cs`](https://github.com/PisterLab/micromissiles-unity/blob/master/Assets/Scripts/SimManager.cs): Manages simulation state and agent creation.
- [`InputManager.cs`](Assets/Scripts/Managers/InputManager.cs): Handles user input and interactions. - [`InputManager.cs`](https://github.com/PisterLab/micromissiles-unity/blob/master/Assets/Scripts/Managers/InputManager.cs): Handles user input and interactions.
--- ---

17534
docs/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +0,0 @@
{
"scripts": {
"docs:dev": "vuepress dev .",
"docs:build": "vuepress build ."
},
"dependencies": {
"vuepress": "^1.9.10"
},
"devDependencies": {
"@vuepress/bundler-vite": "^2.0.0-rc.16"
}
}

2170
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

11
package.json Normal file
View File

@ -0,0 +1,11 @@
{
"scripts": {
"docs:dev": "vitepress dev docs",
"docs:build": "vitepress build docs",
"docs:preview": "vitepress preview docs"
},
"dependencies": {
"vue": "^3.x.x",
"vitepress": "^1.3.4"
}
}