Просмотр исходного кода

Merge remote-tracking branch 'origin/master' into feature/add_ecs_docs

# Conflicts:
#	en/manual/engine/entity-component-model/index.md
Raphael Schmitz 2 лет назад
Родитель
Сommit
56e85f39e2
100 измененных файлов с 1434 добавлено и 3126 удалено
  1. 13 11
      .gitattributes
  2. 94 0
      .github/workflows/stride-docs-release-azure.yml
  3. 58 0
      .github/workflows/stride-docs-release-fast-track-azure.yml
  4. 94 0
      .github/workflows/stride-docs-staging-azure.yml
  5. 58 0
      .github/workflows/stride-docs-staging-fast-track-azure.yml
  6. 26 0
      .github/workflows/stride-docs-wiki.yml
  7. 366 11
      .gitignore
  8. 514 0
      BuildDocs.ps1
  9. 0 81
      ContributorLicenseAgreement.md
  10. 0 91
      GETTINGSTARTED.md
  11. 0 1728
      GUIDELINES.jp.md
  12. 0 828
      GUIDELINES.md
  13. 3 3
      LICENSE
  14. 0 12
      LICENSE.md
  15. 0 48
      NewLanguageWorkflow.md
  16. 45 0
      OldDocsFix.ps1
  17. 6 0
      Program.cs
  18. 37 0
      Properties/launchSettings.json
  19. 53 9
      README.md
  20. 9 0
      Stride.Docs.csproj
  21. 6 0
      Stride.Docs.csproj.user
  22. 34 0
      Stride.Docs.sln
  23. 8 0
      appsettings.Development.json
  24. 9 0
      appsettings.json
  25. 1 0
      build-all.bat
  26. 0 1
      build.bat
  27. 0 3
      build/WAWSDeploy.exe
  28. 0 32
      build/deploy.ps1
  29. 0 1
      build/stride-doc.PublishSettings
  30. 0 58
      build/web.config
  31. 0 2
      build_manual_only.bat
  32. 0 3
      deps/docfx/AutoMapper.dll
  33. 0 3
      deps/docfx/CommandLine.dll
  34. 0 3
      deps/docfx/DotLiquid.dll
  35. 0 3
      deps/docfx/Dotnet.ProjInfo.Helpers.dll
  36. 0 3
      deps/docfx/Dotnet.ProjInfo.dll
  37. 0 3
      deps/docfx/FSharp.Compiler.Service.MSBuild.v12.dll
  38. 0 3
      deps/docfx/FSharp.Compiler.Service.dll
  39. 0 3
      deps/docfx/FSharp.Core.dll
  40. 0 3
      deps/docfx/HtmlAgilityPack.dll
  41. 0 3
      deps/docfx/Humanizer.dll
  42. 0 3
      deps/docfx/Jint.dll
  43. 0 3
      deps/docfx/Markdig.dll
  44. 0 3
      deps/docfx/Microsoft.Bcl.AsyncInterfaces.dll
  45. 0 3
      deps/docfx/Microsoft.Build.Locator.dll
  46. 0 3
      deps/docfx/Microsoft.CodeAnalysis.AnalyzerUtilities.dll
  47. 0 3
      deps/docfx/Microsoft.CodeAnalysis.CSharp.Features.dll
  48. 0 3
      deps/docfx/Microsoft.CodeAnalysis.CSharp.Workspaces.dll
  49. 0 3
      deps/docfx/Microsoft.CodeAnalysis.CSharp.dll
  50. 0 3
      deps/docfx/Microsoft.CodeAnalysis.Features.dll
  51. 0 3
      deps/docfx/Microsoft.CodeAnalysis.VisualBasic.Features.dll
  52. 0 3
      deps/docfx/Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll
  53. 0 3
      deps/docfx/Microsoft.CodeAnalysis.VisualBasic.dll
  54. 0 3
      deps/docfx/Microsoft.CodeAnalysis.Workspaces.MSBuild.dll
  55. 0 3
      deps/docfx/Microsoft.CodeAnalysis.Workspaces.dll
  56. 0 3
      deps/docfx/Microsoft.CodeAnalysis.dll
  57. 0 3
      deps/docfx/Microsoft.DiaSymReader.dll
  58. 0 3
      deps/docfx/Microsoft.DocAsCode.Build.Common.dll
  59. 0 3
      deps/docfx/Microsoft.DocAsCode.Build.ConceptualDocuments.dll
  60. 0 3
      deps/docfx/Microsoft.DocAsCode.Build.Engine.dll
  61. 0 3
      deps/docfx/Microsoft.DocAsCode.Build.ManagedReference.dll
  62. 0 3
      deps/docfx/Microsoft.DocAsCode.Build.OverwriteDocuments.dll
  63. 0 3
      deps/docfx/Microsoft.DocAsCode.Build.ResourceFiles.dll
  64. 0 3
      deps/docfx/Microsoft.DocAsCode.Build.RestApi.dll
  65. 0 3
      deps/docfx/Microsoft.DocAsCode.Build.SchemaDriven.dll
  66. 0 3
      deps/docfx/Microsoft.DocAsCode.Build.TableOfContents.dll
  67. 0 3
      deps/docfx/Microsoft.DocAsCode.Build.UniversalReference.dll
  68. 0 3
      deps/docfx/Microsoft.DocAsCode.Common.dll
  69. 0 3
      deps/docfx/Microsoft.DocAsCode.DataContracts.Common.dll
  70. 0 3
      deps/docfx/Microsoft.DocAsCode.DataContracts.ManagedReference.dll
  71. 0 3
      deps/docfx/Microsoft.DocAsCode.DataContracts.RestApi.dll
  72. 0 3
      deps/docfx/Microsoft.DocAsCode.DataContracts.UniversalReference.dll
  73. 0 3
      deps/docfx/Microsoft.DocAsCode.Dfm.dll
  74. 0 3
      deps/docfx/Microsoft.DocAsCode.Glob.dll
  75. 0 3
      deps/docfx/Microsoft.DocAsCode.HtmlToPdf.dll
  76. 0 3
      deps/docfx/Microsoft.DocAsCode.MarkdigEngine.Extensions.dll
  77. 0 3
      deps/docfx/Microsoft.DocAsCode.MarkdigEngine.Validators.dll
  78. 0 3
      deps/docfx/Microsoft.DocAsCode.MarkdigEngine.dll
  79. 0 3
      deps/docfx/Microsoft.DocAsCode.MarkdownLite.dll
  80. 0 3
      deps/docfx/Microsoft.DocAsCode.Metadata.ManagedReference.Common.dll
  81. 0 3
      deps/docfx/Microsoft.DocAsCode.Metadata.ManagedReference.FSharp.dll
  82. 0 3
      deps/docfx/Microsoft.DocAsCode.Metadata.ManagedReference.Roslyn.dll
  83. 0 3
      deps/docfx/Microsoft.DocAsCode.Metadata.ManagedReference.dll
  84. 0 3
      deps/docfx/Microsoft.DocAsCode.Plugins.dll
  85. 0 3
      deps/docfx/Microsoft.DocAsCode.YamlSerialization.dll
  86. 0 3
      deps/docfx/Microsoft.Owin.Diagnostics.dll
  87. 0 3
      deps/docfx/Microsoft.Owin.FileSystems.dll
  88. 0 3
      deps/docfx/Microsoft.Owin.Host.HttpListener.dll
  89. 0 3
      deps/docfx/Microsoft.Owin.Hosting.dll
  90. 0 3
      deps/docfx/Microsoft.Owin.StaticFiles.dll
  91. 0 3
      deps/docfx/Microsoft.Owin.dll
  92. 0 3
      deps/docfx/Microsoft.VisualStudio.RemoteControl.dll
  93. 0 3
      deps/docfx/Microsoft.VisualStudio.Utilities.Internal.dll
  94. 0 3
      deps/docfx/Newtonsoft.Json.Schema.dll
  95. 0 3
      deps/docfx/Newtonsoft.Json.dll
  96. 0 3
      deps/docfx/NuGet.Common.dll
  97. 0 3
      deps/docfx/NuGet.Configuration.dll
  98. 0 3
      deps/docfx/NuGet.DependencyResolver.Core.dll
  99. 0 3
      deps/docfx/NuGet.Frameworks.dll
  100. 0 3
      deps/docfx/NuGet.LibraryModel.dll

+ 13 - 11
.gitattributes

@@ -1,19 +1,21 @@
-*.dll filter=lfs diff=lfs merge=lfs -text
+# Auto detect text files and perform LF normalization
+* text=auto
+*.mp4 filter=lfs diff=lfs merge=lfs -text
 *.psd filter=lfs diff=lfs merge=lfs -text
 *.zip filter=lfs diff=lfs merge=lfs -text
-*.gif filter=lfs diff=lfs merge=lfs -text
-*.png filter=lfs diff=lfs merge=lfs -text
-*.jpg filter=lfs diff=lfs merge=lfs -text
 *.pdn filter=lfs diff=lfs merge=lfs -text
-*.mp4 filter=lfs diff=lfs merge=lfs -text
-*.7z filter=lfs diff=lfs merge=lfs -text
-*.exe filter=lfs diff=lfs merge=lfs -text
+*.jpg filter=lfs diff=lfs merge=lfs -text
+*.png filter=lfs diff=lfs merge=lfs -text
+*.gif filter=lfs diff=lfs merge=lfs -text
 *.stg filter=lfs diff=lfs merge=lfs -text
-*.pdf filter=lfs diff=lfs merge=lfs -text
-*.doc filter=lfs diff=lfs merge=lfs -text
-*.docx filter=lfs diff=lfs merge=lfs -text
+*.exe filter=lfs diff=lfs merge=lfs -text
+*.7z filter=lfs diff=lfs merge=lfs -text
+*.dll filter=lfs diff=lfs merge=lfs -text
 *.ppt filter=lfs diff=lfs merge=lfs -text
 *.pptx filter=lfs diff=lfs merge=lfs -text
 *.xls filter=lfs diff=lfs merge=lfs -text
-*.xlsx filter=lfs diff=lfs merge=lfs -text
+*.xslx filter=lfs diff=lfs merge=lfs -text
+*.doc filter=lfs diff=lfs merge=lfs -text
+*.docx filter=lfs diff=lfs merge=lfs -text
+*.webp filter=lfs diff=lfs merge=lfs -text
 *.vsdx filter=lfs diff=lfs merge=lfs -text

+ 94 - 0
.github/workflows/stride-docs-release-azure.yml

@@ -0,0 +1,94 @@
+# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
+# More GitHub Actions for Azure: https://github.com/Azure/actions
+
+name: Build Stride Docs for Azure Web App Release 🚀
+
+on:
+  push:
+    branches:
+      - release
+    paths-ignore:
+      - 'README.md'
+      - 'Stride.Docs.sln'
+      - 'BuildDocs.ps1'
+      - 'wiki/**'
+      - .gitignore
+      - '.github/**'
+  workflow_dispatch:
+
+jobs:
+  build:
+    # Run this job only if the repository is 'stride3d/stride-docs'
+    if: github.repository == 'stride3d/stride-docs'
+    runs-on: windows-2022
+
+    steps:
+    # Setup .NET SDK
+    - name: Dotnet Setup
+      uses: actions/setup-dotnet@v3
+      with:
+        dotnet-version: 6.x
+
+    # Checkout the Stride Docs repository from the branch that triggered the workflow
+    - name: Checkout Stride Docs
+      uses: actions/checkout@v3
+      with:
+        path: stride-docs
+        lfs: true
+
+    # Checkout the Stride repository from the default branch
+    - name: Checkout Stride (note the LFS)
+      uses: actions/checkout@v3
+      with:
+        repository: stride3d/stride
+        token: ${{ secrets.GITHUB_TOKEN }}
+        path: stride
+        lfs: true
+
+    - name: Install DocFX
+      # This installs the latest version of DocFX and may introduce breaking changes
+      # run: dotnet tool update -g docfx
+      # This installs a specific, tested version of DocFX.
+      run: dotnet tool update -g docfx --version 2.71.0
+
+    - name: Build documentation
+      run: ./build-all.bat
+      working-directory: stride-docs
+
+    - name: Compress artifact
+      run: 7z a -r DocFX-app.zip ./stride-docs/_site/*
+
+    - name: Upload artifact for deployment job
+      uses: actions/upload-artifact@v3
+      with:
+        name: DocFX-app
+        path: DocFX-app.zip
+
+  deploy:
+    if: github.repository == 'stride3d/stride-docs'
+    runs-on: windows-2022
+    needs: build
+    environment:
+      name: 'Production'
+      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
+
+    steps:
+      - name: Download artifact from build job
+        uses: actions/download-artifact@v3
+        with:
+          name: DocFX-app
+
+      # - name: List current directory
+      #   run: ls
+
+      - name: Decompress artifact
+        run: 7z x DocFX-app.zip "-o./stride-docs/_site"
+
+      - name: Deploy to Azure Web App
+        id: deploy-to-webapp
+        uses: azure/webapps-deploy@v2
+        with:
+          app-name: 'stride-doc'
+          slot-name: 'Production'
+          publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_4803638D673FA67D0C8650F34C4FA9D1 }}
+          package: ./stride-docs/_site

+ 58 - 0
.github/workflows/stride-docs-release-fast-track-azure.yml

@@ -0,0 +1,58 @@
+# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
+# More GitHub Actions for Azure: https://github.com/Azure/actions
+
+# The Fast Track skips creating artifacts and compressing them
+name: Build Stride Docs (Fast Track) for Azure Web App Release 🚀
+
+on:
+  workflow_dispatch:
+
+jobs:
+  build-deploy:
+    # Run this job only if the repository is 'stride3d/stride-docs'
+    if: github.repository == 'stride3d/stride-docs'
+    runs-on: windows-2022
+    environment:
+      name: 'Production'
+
+    steps:
+    # Setup .NET SDK
+    - name: Dotnet Setup
+      uses: actions/setup-dotnet@v3
+      with:
+        dotnet-version: 6.x
+
+    # Checkout the Stride Docs repository from the branch that triggered the workflow
+    - name: Checkout Stride Docs
+      uses: actions/checkout@v3
+      with:
+        path: stride-docs
+        lfs: true
+
+    # Checkout the Stride repository from the default branch
+    - name: Checkout Stride (note the LFS)
+      uses: actions/checkout@v3
+      with:
+        repository: stride3d/stride
+        token: ${{ secrets.GITHUB_TOKEN }}
+        path: stride
+        lfs: true
+
+    - name: Install DocFX
+      # This installs the latest version of DocFX and may introduce breaking changes
+      # run: dotnet tool update -g docfx
+      # This installs a specific, tested version of DocFX.
+      run: dotnet tool update -g docfx --version 2.71.0
+
+    - name: Build documentation
+      run: ./build-all.bat
+      working-directory: stride-docs
+
+    - name: Deploy to Azure Web App
+      id: deploy-to-webapp
+      uses: azure/webapps-deploy@v2
+      with:
+          app-name: 'stride-doc'
+          slot-name: 'Production'
+          publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_4803638D673FA67D0C8650F34C4FA9D1 }}
+          package: ./stride-docs/_site

+ 94 - 0
.github/workflows/stride-docs-staging-azure.yml

@@ -0,0 +1,94 @@
+# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
+# More GitHub Actions for Azure: https://github.com/Azure/actions
+
+name: Build Stride Docs for Azure Web App Staging
+
+on:
+  push:
+    branches:
+      - staging
+    paths-ignore:
+      - 'README.md'
+      - 'Stride.Docs.sln'
+      - 'BuildDocs.ps1'
+      - 'wiki/**'
+      - .gitignore
+      - '.github/**'
+  workflow_dispatch:
+
+jobs:
+  build:
+    # Run this job only if the repository is 'stride3d/stride-docs'
+    if: github.repository == 'stride3d/stride-docs'
+    runs-on: windows-2022
+
+    steps:
+    # Setup .NET SDK
+    - name: Dotnet Setup
+      uses: actions/setup-dotnet@v3
+      with:
+        dotnet-version: 6.x
+
+    # Checkout the Stride Docs repository from the branch that triggered the workflow
+    - name: Checkout Stride Docs
+      uses: actions/checkout@v3
+      with:
+        path: stride-docs
+        lfs: true
+
+    # Checkout the Stride repository from the default branch
+    - name: Checkout Stride (note the LFS)
+      uses: actions/checkout@v3
+      with:
+        repository: stride3d/stride
+        token: ${{ secrets.GITHUB_TOKEN }}
+        path: stride
+        lfs: true
+
+    - name: Install DocFX
+      # This installs the latest version of DocFX and may introduce breaking changes.
+      # run: dotnet tool update -g docfx
+      # This installs a specific, tested version of DocFX.
+      run: dotnet tool update -g docfx --version 2.71.0
+
+    - name: Build documentation
+      run: ./build-all.bat
+      working-directory: stride-docs
+
+    - name: Compress artifact
+      run: 7z a -r DocFX-app.zip ./stride-docs/_site/*
+
+    - name: Upload artifact for deployment job
+      uses: actions/upload-artifact@v3
+      with:
+        name: DocFX-app
+        path: DocFX-app.zip
+
+  deploy:
+    if: github.repository == 'stride3d/stride-docs'
+    runs-on: windows-2022
+    needs: build
+    environment:
+      name: 'Production'
+      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
+
+    steps:
+      - name: Download artifact from build job
+        uses: actions/download-artifact@v3
+        with:
+          name: DocFX-app
+
+      # - name: List current directory
+      #   run: ls
+
+      - name: Decompress artifact
+        run: 7z x DocFX-app.zip "-o./stride-docs/_site"
+
+      - name: Deploy to Azure Web App
+        id: deploy-to-webapp
+        uses: azure/webapps-deploy@v2
+        with:
+          app-name: 'stride-doc'
+          slot-name: 'staging'
+          publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_32FCD402B970463A9143B24C9B225749 }}
+          package: ./stride-docs/_site

+ 58 - 0
.github/workflows/stride-docs-staging-fast-track-azure.yml

@@ -0,0 +1,58 @@
+# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
+# More GitHub Actions for Azure: https://github.com/Azure/actions
+
+# The Fast Track skips creating artifacts and compressing them
+name: Build Stride Docs (Fast Track) for Azure Web App Staging
+
+on:
+  workflow_dispatch:
+
+jobs:
+  build-deploy:
+    # Run this job only if the repository is 'stride3d/stride-docs'
+    if: github.repository == 'stride3d/stride-docs'
+    runs-on: windows-2022
+    environment:
+      name: 'Production'
+
+    steps:
+    # Setup .NET SDK
+    - name: Dotnet Setup
+      uses: actions/setup-dotnet@v3
+      with:
+        dotnet-version: 6.x
+
+    # Checkout the Stride Docs repository from the branch that triggered the workflow
+    - name: Checkout Stride Docs
+      uses: actions/checkout@v3
+      with:
+        path: stride-docs
+        lfs: true
+
+    # Checkout the Stride repository from the default branch
+    - name: Checkout Stride (note the LFS)
+      uses: actions/checkout@v3
+      with:
+        repository: stride3d/stride
+        token: ${{ secrets.GITHUB_TOKEN }}
+        path: stride
+        lfs: true
+
+    - name: Install DocFX
+      # This installs the latest version of DocFX and may introduce breaking changes
+      # run: dotnet tool update -g docfx
+      # This installs a specific, tested version of DocFX.
+      run: dotnet tool update -g docfx --version 2.71.0
+
+    - name: Build documentation
+      run: ./build-all.bat
+      working-directory: stride-docs
+
+    - name: Deploy to Azure Web App
+      id: deploy-to-webapp
+      uses: azure/webapps-deploy@v2
+      with:
+          app-name: 'stride-doc'
+          slot-name: 'staging'
+          publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_32FCD402B970463A9143B24C9B225749 }}
+          package: ./stride-docs/_site

+ 26 - 0
.github/workflows/stride-docs-wiki.yml

@@ -0,0 +1,26 @@
+name: Publish to GitHub Wiki
+on:
+  push:
+    branches:
+      - master
+    paths:
+      - wiki/**
+  workflow_dispatch:
+
+jobs:
+  build:
+    # Run this job only if the repository is 'stride3d/stride-docs'
+    if: github.repository == 'stride3d/stride-docs'
+    runs-on: ubuntu-latest
+
+    steps:
+     - uses: actions/checkout@v3
+     - name: Upload Wiki pages
+       uses: docker://decathlon/wiki-page-creator-action:2.0.1
+       env:
+         GH_PAT: ${{ secrets.GH_PAT }}
+         ACTION_MAIL: [email protected]
+         ACTION_NAME: VaclavElias
+         OWNER: ${{ github.repository_owner }}
+         REPO_NAME: ${{ github.event.repository.name }}
+         MD_FOLDER: wiki

+ 366 - 11
.gitignore

@@ -1,11 +1,366 @@
-/_site/
-/build/_siteroot/
-/externals/
-/obj
-en/api/*.yml
-en/api/.manifest
-en/obj/
-jp_tmp/*
-build.log
-.vscode/**
-.vs/**
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
+
+# User-specific files
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Mono auto generated files
+mono_crash.*
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+[Ww][Ii][Nn]32/
+[Aa][Rr][Mm]/
+[Aa][Rr][Mm]64/
+bld/
+[Bb]in/
+[Oo]bj/
+[Oo]ut/
+[Ll]og/
+[Ll]ogs/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUnit
+*.VisualState.xml
+TestResult.xml
+nunit-*.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# ASP.NET Scaffolding
+ScaffoldingReadMe.txt
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_h.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*_wpftmp.csproj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Coverlet is a free, cross platform Code Coverage Tool
+coverage*.json
+coverage*.xml
+coverage*.info
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# NuGet Symbol Packages
+*.snupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+*.appxbundle
+*.appxupload
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!?*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+*- [Bb]ackup.rdl
+*- [Bb]ackup ([0-9]).rdl
+*- [Bb]ackup ([0-9][0-9]).rdl
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# CodeRush personal settings
+.cr/personal
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+# BeatPulse healthcheck temp database
+healthchecksdb
+
+# Backup folder for Package Reference Convert tool in Visual Studio 2017
+MigrationBackup/
+
+# Ionide (cross platform F# VS Code tools) working folder
+.ionide/
+
+# Fody - auto-generated XML schema
+FodyWeavers.xsd
+
+_site
+jp_tmp/*

+ 514 - 0
BuildDocs.ps1

@@ -0,0 +1,514 @@
+<#
+.SYNOPSIS
+    This script builds documentation (manuals, tutorials, release notes) in selected language(s) from the languages.json file and optionally includes API documentation.
+.DESCRIPTION
+    The script allows the user to build documentation in English or any other available language specified in the languages.json file. It provides options to build documentation in all available languages, run a local website for the documentation, or cancel the operation. If the user chooses to build the documentation, the script also prompts whether API documentation should be included.
+.NOTES
+    The documentation files are expected to be in Markdown format (.md). The script uses the DocFX tool to build the documentation and optionally includes API documentation. The script generates the API documentation from C# source files using DocFX metadata and can run a local website using the DocFX serve command. This script can also be run from GitHub Actions.
+.LINK
+    https://github.com/stride3d/stride-docs
+.LINK
+    https://github.com/stride3d/stride-docs/blob/master/en/languages.json
+.LINK
+    https://dotnet.github.io/docfx/index.html
+.PARAMETER BuildAll
+    Switch parameter. If provided, the script will build documentation in all available languages and include API documentation.
+.PARAMETER Version
+    The Version to build the Docs, the default is the latest version
+.EXAMPLE
+    .\BuildDocs.ps1 -BuildAll
+    In this example, the script will build the documentation in all available languages and include API documentation. Use this in GitHub Actions.
+.EXAMPLE
+    .\BuildDocs.ps1
+    In this example, the script will prompt the user to select an operation and an optional language. If the user chooses to build the documentation, the script will also ask if they want to include API documentation.
+#>
+
+param (
+    [switch]$BuildAll,
+    [ArgumentCompleter({
+        [OutputType([System.Management.Automation.CompletionResult])]
+        param([string] $CommandName,[string] $ParameterName,[string] $WordToComplete,[System.Management.Automation.Language.CommandAst] $CommandAst,[System.Collections.IDictionary] $FakeBoundParameters)
+        return (Get-Content $PSScriptRoot\versions.json -Encoding UTF8 | ConvertFrom-Json).versions
+    })]
+    $Version = $((Get-Content $PSScriptRoot\versions.json -Encoding UTF8 | ConvertFrom-Json).versions | Sort-Object -Descending | Select-Object -First 1)
+)
+
+$Settings = [PSCustomObject]@{
+    Version = $Version
+    SiteDirectory = "_site/$Version"
+    LocalTestHostUrl = "http://localhost:8080/$Version/en/index.html"
+    LanguageJsonPath = "en\languages.json"
+    LogPath = ".\build.log"
+    TempDirectory = "_tmp"
+    WebDirectory = "_site"
+    IndexFileName = "index.md"
+    ManualFolderName = "manual"
+    DocsUrl = "https://doc.stride3d.net"
+}
+
+# To Do fix, GitHub references, fix sitemap links to latest/en/
+
+function Read-LanguageConfigurations {
+    return Get-Content $Settings.LanguageJsonPath -Encoding UTF8 | ConvertFrom-Json
+}
+
+function Get-UserInput {
+    Write-Host ""
+    Write-Host -ForegroundColor Cyan "Please select an option:"
+    Write-Host ""
+    Write-Host -ForegroundColor Yellow "  [en] Build English documentation"
+    foreach ($lang in $languages) {
+        if ($lang.Enabled -and -not $lang.IsPrimary) {
+            Write-Host -ForegroundColor Yellow "  [$($lang.Code)] Build $($lang.Name) documentation"
+        }
+    }
+    Write-Host -ForegroundColor Yellow "  [all] Build documentation in all available languages"
+    Write-Host -ForegroundColor Yellow "  [r] Run local website"
+    Write-Host -ForegroundColor Yellow "  [c] Cancel"
+    Write-Host ""
+    $validOptions = @('all', 'r', 'c') + $($languages | Select-Object -ExpandProperty Code)
+
+    while($true)
+    {
+        $userChoice = Read-Host -Prompt "Your choice"
+        if($validOptions -contains $userChoice)
+        {
+            return $userChoice.ToLower()
+        }
+    }
+    Write-Error "No valid Choice was given."
+}
+
+function Ask-IncludeAPI {
+    Write-Host ""
+    Write-Host -ForegroundColor Cyan "Do you want to include API?"
+    Write-Host ""
+    Write-Host -ForegroundColor Yellow "  [Y] Yes"
+    Write-Host -ForegroundColor Yellow "  [N] No"
+    Write-Host ""
+
+    return (Read-Host -Prompt "Your choice (Y/N)").ToLower() -eq "y"
+}
+
+function Ask-UseExistingAPI {
+    Write-Host ""
+    Write-Host -ForegroundColor Cyan "Do you want to use already generated API metadata?"
+    Write-Host ""
+    Write-Host -ForegroundColor Yellow "  [Y] Yes"
+    Write-Host -ForegroundColor Yellow "  [N] No"
+    Write-Host ""
+
+    return (Read-Host -Prompt "Your choice (Y/N)").ToLower() -eq "y"
+}
+
+function Copy-ExtraItems {
+
+    Write-Host -ForegroundColor Yellow "Copying versions.json into $($Settings.WebDirectory)/"
+    Write-Host ""
+    Copy-Item versions.json "$($Settings.WebDirectory)/"
+
+    Write-Host -ForegroundColor Yellow "Copying web.config into $($Settings.WebDirectory)/"
+    Write-Host ""
+    Copy-Item web.config "$($Settings.WebDirectory)/"
+
+    Write-Host -ForegroundColor Yellow "Updating web.config"
+    Write-Host ""
+
+    $webConfig = "$($Settings.WebDirectory)/web.config"
+
+    $content = Get-Content $webConfig -Encoding UTF8
+
+    $content = $content -replace "%deployment_version%", $Settings.Version
+
+    $content | Set-Content -Encoding UTF8 $webConfig
+
+    Write-Host -ForegroundColor Green "Updating web.config completed."
+    Write-Host ""
+
+    # This is needed for Stride Launcher, which loads Release Notes
+    Write-Host -ForegroundColor Yellow "Copying ReleaseNotes.md into $($Settings.SiteDirectory)/en/ReleaseNotes/"
+    Write-Host ""
+    Copy-Item en/ReleaseNotes/ReleaseNotes.md "$($Settings.SiteDirectory)/en/ReleaseNotes/"
+
+    Write-Host -ForegroundColor Yellow "Copying robots.txt into $($Settings.WebDirectory)/"
+    Write-Host ""
+    Copy-Item robots.txt "$($Settings.WebDirectory)/"
+}
+
+function Start-LocalWebsite {
+    Write-Host -ForegroundColor Green "Running local website..."
+    Write-Host -ForegroundColor Green "Navigate manually to non English website, if you didn't build English documentation."
+    Stop-Transcript
+    New-Item -ItemType Directory -Verbose -Force -Path $Settings.WebDirectory | Out-Null
+    Set-Location $Settings.WebDirectory
+    Start-Process -FilePath $Settings.LocalTestHostUrl
+    docfx serve
+    Set-Location ..
+}
+
+function Generate-APIDoc {
+    Write-Host -ForegroundColor Green "Generating API documentation..."
+
+    Write-Host ""
+
+    # Build metadata from C# source, docfx runs dotnet restore
+    docfx metadata en/docfx.json | Write-Host
+
+    return $LastExitCode
+}
+
+function Remove-APIDoc {
+    Write-Host ""
+    Write-Host -ForegroundColor Green "Erasing API documentation..."
+    $APIDocPath = "en/api/.manifest"
+    if (Test-Path $APIDocPath) {
+        Remove-Item en/api/*yml -recurse -Verbose
+        Remove-Item $APIDocPath -Verbose
+    } else{
+        Write-Warning "Could not delete APIDoc. The Path $APIDocPath does not exist or is not valid."
+    }
+}
+
+function Build-EnglishDoc {
+
+    $outputDirectory = "$($Settings.SiteDirectory)/en"
+
+    Write-Host -ForegroundColor Yellow "Start building English documentation. Output: $($outputDirectory)"
+
+    Write-Host ""
+
+    # Output to both build.log and console
+    docfx build en/docfx.json -o $outputDirectory | Write-Host
+
+    return $LastExitCode
+}
+
+function Build-NonEnglishDoc {
+    param (
+        $SelectedLanguage
+    )
+
+    if ($SelectedLanguage -and $SelectedLanguage.Code -ne 'en') {
+
+        Write-Host "-------------------------------------------------------------------------------"
+        Write-Host ""
+        Write-Host -ForegroundColor Yellow "Start building $($SelectedLanguage.Name) documentation."
+        Write-Host ""
+
+        $langFolder = "$($SelectedLanguage.Code)$($Settings.TempDirectory)"
+
+        if (Test-Path $langFolder) {
+            Remove-Item $langFolder/* -recurse -Verbose
+        }
+        else {
+            $discard = New-Item -Path $langFolder -ItemType Directory -Verbose
+        }
+
+        # Copy all files from en folder to the selected language folder, this way we can keep en files that are not translated
+        Copy-Item en/* -Recurse $langFolder -Force
+
+        # Get all translated files from the selected language folder
+        $files = Get-ChildItem "$langFolder/$($Settings.ManualFolderName)/*.md" -Recurse -Force
+
+        Write-Host "Start write files:"
+
+        # Mark files as not translated if they are not in the toc.md file
+        foreach ($file in $files)
+        {
+            if($file.ToString().Contains("toc.md")) {
+                continue;
+            }
+
+            $data = Get-Content $file -Encoding UTF8
+            for ($i = 0; $i -lt $data.Length; $i++)
+            {
+                $line = $data[$i];
+                if ($line.length -le 0)
+                {
+                    Write-Host $file
+
+                    $data[$i]="> [!WARNING]`r`n> " + $SelectedLanguage.NotTranslatedMessage + "`r`n"
+
+                    $data | Out-File -Encoding UTF8 $file
+
+                    break
+                }
+            }
+        }
+
+        Write-Host "End write files"
+        $indexFile = $Settings.IndexFileName
+
+        # overwrite en manual page with translated manual page
+        if (Test-Path ($SelectedLanguage.Code + "/" + $indexFile)) {
+            Copy-Item ($SelectedLanguage.Code + "/" + $indexFile) $langFolder -Force
+        }
+        else {
+            Write-Warning "$($SelectedLanguage.Code)/"+ $indexFile +" not found. English version will be used."
+        }
+
+        # overwrite en manual pages with translated manual pages
+        if (Test-Path ($SelectedLanguage.Code + "/" + $Settings.ManualFolderName)) {
+            Copy-Item ($SelectedLanguage.Code + "/" + $Settings.ManualFolderName) -Recurse -Destination $langFolder -Force
+        }
+        else {
+            Write-Warning "$($SelectedLanguage.Code)/$($Settings.ManualFolderName) not found."
+        }
+
+        # we copy the docfx.json file from en folder to the selected language folder, so we can keep the same settings and maitain just one docfx.json file
+        Copy-Item en/docfx.json $langFolder -Force
+
+        $SiteDir = $Settings.SiteDirectory
+
+        # we replace the en folder with the selected language folder in the docfx.json file
+        (Get-Content $langFolder/docfx.json) -replace "$SiteDir/en","$SiteDir/$($SelectedLanguage.Code)" | Set-Content -Encoding UTF8 $langFolder/docfx.json
+
+        $outputDirectory = "$($Settings.SiteDirectory)/$($SelectedLanguage.Code)"
+
+        docfx build $langFolder/docfx.json -o $outputDirectory | Write-Host
+
+        if (!$BuildAll) {
+            Remove-Item $langFolder -Recurse -Verbose
+        }
+
+        PostProcessing-DocFxDocUrl -SelectedLanguage $SelectedLanguage
+
+        Write-Host -ForegroundColor Green "$($SelectedLanguage.Name) documentation built."
+
+        return $LastExitCode
+    }
+}
+
+function Build-AllLanguagesDocs {
+    param (
+        [array]$Languages
+    )
+
+    foreach ($lang in $Languages) {
+        if ($lang.Enabled -and -not $lang.IsPrimary) {
+
+            Build-NonEnglishDoc -SelectedLanguage $lang
+
+            if ($exitCode -ne 0)
+            {
+                Write-Error "Failed to build $($SelectedLanguage.Name) documentation. ExitCode: $exitCode"
+                Stop-Transcript
+                return $exitCode
+            }
+        }
+    }
+}
+
+function PostProcessing-DocFxDocUrl {
+<#
+.SYNOPSIS
+    DocFX generates GitHub link based on the temp _tmp folder, which we need to fix to correct GitHub links. This function performs the needed adjustments.
+.DESCRIPTION
+    This function takes a selected language as input and iterates through the relevant HTML and markdown files. It corrects the meta tag "docfx:docurl" and anchor tags to reflect the correct GitHub URL by replacing the temporary folder path.
+.PARAMETER SelectedLanguage
+    The Language to find the relevant HTML and markdown Files
+.NOTES
+    1. This function assumes that the folder structure and naming conventions meet the specified conditions.
+    2. Progress is displayed interactively, and is suppressed in non-interactive sessions such as CI/CD pipelines.
+#>
+    param (
+        $SelectedLanguage
+    )
+
+    $translatedFiles = Get-ChildItem "$($SelectedLanguage.Code)/*.md" -Recurse -Force
+
+    # Get a list of all HTML files in the _site/<language> directory
+    $htmlFiles = Get-ChildItem "$($Settings.SiteDirectory)/$($SelectedLanguage.Code)/*.html" -Recurse
+
+    # Get the relative paths of the translated files
+    $relativeTranslatedFilesPaths = $translatedFiles | ForEach-Object { $_.FullName.Replace((Resolve-Path $SelectedLanguage.Code).Path + '\', '') }
+
+    Write-Host -ForegroundColor Yellow "Post-processing docfx:docurl in $($htmlFiles.Count) files..."
+
+    for ($i = 0; $i -lt $htmlFiles.Count; $i++) {
+        $htmlFile = $htmlFiles[$i]
+        # Get the relative path of the HTML file
+        $relativeHtmlPath = $htmlFile.FullName.Replace((Resolve-Path "$($Settings.SiteDirectory)/$($SelectedLanguage.Code)").Path + '\', '').Replace('.html', '.md')
+
+        # Read the content of the HTML file
+        $content = Get-Content $htmlFile -Encoding UTF8
+
+        # Define a regex pattern to match the meta tag with name="docfx:docurl"
+        $pattern = '(<meta name="docfx:docurl" content=".*?)(/' + $SelectedLanguage.Code + $Settings.TempDirectory+ '/)(.*?">)'
+
+        # Define a regex pattern to match the href attribute in the <a> tags
+        $pattern2 = '(<a href=".*?)(/' + $SelectedLanguage.Code + $Settings.TempDirectory + '/)(.*?">)'
+
+        # Check if the HTML file is from the $translatedFiles collection, if so, we will update the path to the
+        # existing file in GitHub
+        if ($relativeTranslatedFilesPaths -contains $relativeHtmlPath) {
+            # Replace /<language>_tmp/ with /<language>/ in the content
+            $content = $content -replace $pattern, "`${1}/$($SelectedLanguage.Code)/`${3}"
+            $content = $content -replace $pattern2, "`${1}/$($SelectedLanguage.Code)/`${3}"
+        } else {
+            # Replace /<language>_tmp/ with /en/ in the content
+            $content = $content -replace $pattern, '${1}/en/${3}'
+            $content = $content -replace $pattern2, '${1}/en/${3}'
+        }
+
+        # Write the updated content back to the HTML file
+        $content | Set-Content -Encoding UTF8 $htmlFile
+
+        # Check if the script is running in an interactive session before writing progress
+        # We don't want to write progress when running in a non-interactive session, such as in a build pipeline
+        if ($host.UI.RawUI) {
+            Write-Progress -Activity "Processing files" -Status "$i of $($htmlFiles.Count) processed" -PercentComplete (($i / $htmlFiles.Count) * 100)
+        }
+    }
+
+    Write-Host ""
+    Write-Host -ForegroundColor Green "Post-processing completed."
+    Write-Host ""
+}
+
+# we need to update all urls to /latest/en
+function PostProcessing-FixingSitemap {
+    Write-Host -ForegroundColor Yellow "Post-processing sitemap.xml, adding latest/en to url"
+    Write-Host ""
+
+    $sitemapFile = "$($Settings.SiteDirectory)/en/sitemap.xml"
+
+    # Read the content of the sitemap.xml file with UTF8 encoding
+    $content = Get-Content $sitemapFile -Encoding UTF8
+
+    # Replace DocsUrl with DocsUrl + latest/en
+    $content = $content -replace $Settings.DocsUrl, "$($Settings.DocsUrl)/latest/en"
+
+    # Write the updated content back to the sitemap.xml file with UTF8 encoding
+    $content | Set-Content -Encoding UTF8 $sitemapFile
+
+    Write-Host -ForegroundColor Green "Post-processing sitemap.xml completed."
+    Write-Host ""
+}
+
+function PostProcessing-Fixing404AbsolutePath {
+    Write-Host -ForegroundColor Yellow "Post-processing 404.html, adding version/en to url"
+    Write-Host ""
+
+    $file404 = "$($Settings.SiteDirectory)/en/404.html"
+
+    $content = Get-Content $file404 -Encoding UTF8
+
+    $keysToReplace = @("favicon.ico", "public/docfx.min.css", "public/main.css", "toc.html", "media/stride-logo-red.svg")
+
+    foreach ($key in $keysToReplace) {
+        $replacement = "/$($Settings.Version)/en/$key"
+        $content = $content -replace $key, $replacement
+    }
+
+    $content = $content -replace "./public/main.js", "/$($Settings.Version)/en/public/main.js"
+    $content = $content -replace "./public/docfx.min.js", "/$($Settings.Version)/en/public/docfx.min.js"
+    $content = $content -replace '<a class="navbar-brand" href="index.html">', '<a class="navbar-brand" href="/">'
+
+    $content | Set-Content -Encoding UTF8 $file404
+
+    Write-Host -ForegroundColor Green "Post-processing 404.html completed."
+    Write-Host ""
+}
+
+# Main script execution starts here
+
+$languages = Read-LanguageConfigurations
+
+Start-Transcript -Path $Settings.LogPath
+
+[bool]$isAllLanguages = $false
+
+if ($BuildAll)
+{
+    $isAllLanguages = $true
+    $API = $true
+    $ReuseAPI = $false
+}
+else {
+    $userInput = Get-UserInput
+
+    [bool]$isEnLanguage = $userInput -ieq "en"
+    [bool]$shouldRunLocalWebsite = $userInput -ieq "r"
+    [bool]$isCanceled = $userInput -ieq "c"
+    $isAllLanguages = $userInput -ieq "all"
+
+    # Check if user input matches any non-English language build
+    $selectedLanguage = $languages | Where-Object { $_.Code -eq $userInput -and $_.Enabled -and -not $_.IsPrimary }
+
+    if ($selectedLanguage)
+    {
+        [bool]$shouldBuildSelectedLanguage = $true
+    }
+
+    # Ask if the user wants to include API
+    if ($isEnLanguage -or $isAllLanguages -or $shouldBuildSelectedLanguage)
+    {
+        $API = Ask-IncludeAPI
+
+        if ($API) {
+            $ReuseAPI = Ask-UseExistingAPI
+        }
+
+    } elseif ($isCanceled) {
+        Write-Host -ForegroundColor Red "Operation canceled by user."
+        Stop-Transcript
+        Read-Host -Prompt "Press ENTER key to exit..."
+        return
+    } elseif ($shouldRunLocalWebsite) {
+        Start-LocalWebsite
+        return
+    }
+}
+
+# Generate API doc
+if ($ReuseAPI)
+{
+    Write-Host -ForegroundColor Green "Generating API documentation from existing mete data..."
+} elseif ($API) {
+    $exitCode = Generate-APIDoc
+    if($exitCode -ne 0)
+    {
+        Write-Error "Failed to generate API metadata. ExitCode: $exitCode"
+        Stop-Transcript
+        Read-Host -Prompt "Press any ENTER to exit..."
+        return $exitCode
+    }
+} else {
+    Remove-APIDoc
+}
+
+Write-Host -ForegroundColor Green "Generating documentation..."
+Write-Host ""
+Write-Warning "Note that when building docs without API, you will get UidNotFound warnings and invalid references warnings"
+Write-Host ""
+
+if ($isEnLanguage -or $isAllLanguages)
+{
+   $exitCode = Build-EnglishDoc
+
+   if ($exitCode -ne 0)
+   {
+       Write-Error "Failed to build English documentation. ExitCode: $exitCode"
+       Stop-Transcript
+       Read-Host -Prompt "Press any ENTER to exit..."
+       return $exitCode
+   }
+
+   PostProcessing-FixingSitemap
+
+   PostProcessing-Fixing404AbsolutePath
+
+   Copy-ExtraItems
+}
+
+# Build non-English language if selected or build all languages if selected
+if ($isAllLanguages) {
+    Build-AllLanguagesDocs -Languages $languages
+} elseif ($selectedLanguage) {
+    Build-NonEnglishDoc -SelectedLanguage $selectedLanguage
+}
+
+Stop-Transcript
+
+Read-Host -Prompt "Press any ENTER to exit..."

+ 0 - 81
ContributorLicenseAgreement.md

@@ -1,81 +0,0 @@
-# Stride Individual Contributor License Agreement
-
-Thank you for your interest in contributing to Stride ("We" or "Us").
-
-This contributor agreement ("Agreement") documents the rights granted by contributors to Us. To make this document effective, please sign it and send it to Us by electronic submission, following the instructions at https://licensing.stride3d.net. This is a legally binding document, so please read it carefully before agreeing to it. The Agreement may cover more than one software project managed by Us.
-
-## 1. Definitions
-
-"You" means the individual who Submits a Contribution to Us.
-
-"Contribution" means any work of authorship that is Submitted by You to Us in which You own or assert ownership of the Copyright. If You do not own the Copyright in the entire work of authorship, please follow the instructions in https://github.com/stride3d/stride.
-
-"Copyright" means all rights protecting works of authorship owned or controlled by You, including copyright, moral and neighboring rights, as appropriate, for the full term of their existence including any extensions by You.
-
-"Material" means the work of authorship which is made available by Us to third parties. When this Agreement covers more than one software project, the Material means the work of authorship to which the Contribution was Submitted. After You Submit the Contribution, it may be included in the Material.
-
-"Submit" means any form of electronic, verbal, or written communication sent to Us or our representatives, including but not limited to electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Us for the purpose of discussing and improving the Material, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."
-
-"Submission Date" means the date on which You Submit a Contribution to Us.
-
-"Effective Date" means the date You execute this Agreement or the date You first Submit a Contribution to Us, whichever is earlier.
-
-## 2. Grant of Rights
-
-### 2.1 Copyright License
-
-(a) You retain ownership of the Copyright in Your Contribution and have the same rights to use or license the Contribution which You would have had without entering into the Agreement.
-
-(b) To the maximum extent permitted by the relevant law, You grant to Us a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license under the Copyright covering the Contribution, with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute the Contribution as part of the Material; provided that this license is conditioned upon compliance with Section 2.3.
-
-### 2.2 Patent License
-
-For patent claims including, without limitation, method, process, and apparatus claims which You  own, control or have the right to grant, now or in the future, You grant to Us a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable patent license, with the right to sublicense these rights to multiple tiers of sublicensees, to make, have made, use, sell, offer for sale, import and otherwise transfer the Contribution and the Contribution in combination with the Material (and portions of such combination). This license is granted only to the extent that the exercise of the licensed rights infringes such patent claims; and provided that this license is conditioned upon compliance with Section 2.3.
-
-### 2.3 Outbound License
-
-Based on the grant of rights in Sections 2.1 and 2.2, if We include Your Contribution in a Material, We may license the Contribution under any license, including copyleft, permissive, commercial, or proprietary licenses.
-
-### 2.4 Moral Rights
-
-If moral rights apply to the Contribution, to the maximum extent permitted by law, You waive and agree not to assert such moral rights against Us or our successors in interest, or any of our licensees, either direct or indirect.
-
-### 2.5 Our Rights
-
-You acknowledge that We are not obligated to use Your Contribution as part of the Material and may decide to include any Contribution We consider appropriate.
-
-### 2.6 Reservation of Rights
-
-Any rights not expressly  licensed under this section are expressly reserved by You.
-
-## 3. Agreement
-
-You confirm that:
-
-(a) You have the legal authority to enter into this Agreement.
-
-(b) You  own the Copyright and patent claims covering the Contribution which are required to grant the rights under Section 2.
-
-(c) The grant of rights under Section 2 does not violate any grant of rights which You have made to third parties, including Your employer.  If You are an employee, You have had Your employer approve this Agreement or sign the Entity version of this document.  If You are less than eighteen years old, please have Your parents or guardian sign the Agreement.
-
-(d) You have followed the instructions in https://github.com/stride3d/stride, if You do not own the Copyright in the entire work of authorship Submitted.
-
-## 4. Disclaimer
-
-EXCEPT FOR THE EXPRESS WARRANTIES IN SECTION 3, THE CONTRIBUTION IS PROVIDED "AS IS". MORE PARTICULARLY, ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO US. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH WARRANTY IS LIMITED IN DURATION TO THE MINIMUM PERIOD PERMITTED BY LAW.
-
-## 5. Consequential Damage Waiver
-
-TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU  BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY DAMAGES ARISING OUT OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH THE CLAIM IS BASED.
-
-## 6. Miscellaneous
-
-6.1 This Agreement will be governed by and construed in accordance with the laws of  excluding its conflicts of law provisions. Under certain circumstances, the governing law in this section might be superseded by the United Nations Convention on Contracts for the International Sale of Goods ("UN Convention") and the parties intend to avoid the application of the UN Convention to this Agreement and, thus, exclude the application of the UN Convention in its entirety to this Agreement.
-
-6.2 This Agreement sets out the entire agreement between You and Us for Your Contributions to Us and overrides all other agreements or understandings.
-
-6.3  If You or We assign the rights or obligations received through this Agreement to a third party, as a condition of the assignment, that third party must agree in writing to abide by all the rights and obligations in the Agreement.
-
-6.4 The failure of either party to require performance by the other party of any provision of this Agreement in one situation shall not affect the right of a party to require such performance at any time in the future. A waiver of performance under a provision in one situation shall not be considered a waiver of the performance of the provision in the future or a waiver of the provision in its entirety.
-
-6.5 If any provision of this Agreement is found void and unenforceable, such provision will be replaced to the extent possible with a provision that comes closest to the meaning of the original provision and which is enforceable.  The terms and conditions set forth in this Agreement shall apply notwithstanding any failure of essential purpose of this Agreement or any limited remedy to the maximum extent possible under law.

+ 0 - 91
GETTINGSTARTED.md

@@ -1,91 +0,0 @@
-Getting Started
-===============
-This addresses the following topics:
-* [Contribution Terms](#Terms)
-* [Contribution Workflow](#Workflow)
-* [Edit and Build Locally](#Build)
-* [New Language](#NewLanguage)
-* [Pages Organization](#Organization)
-* [Doc Guidelines](#Guidelines)
-
-# <a name="Terms"> Contribution Terms 
-
-By submitting suggestions, corrections, or content to this repository you hereby agree to the following terms and conditions.
-
-Any content submitted to these forums will be reviewed to check for accuracy, usability, 
-and direction for the Stride project. Although all submissions will be considered fairly, 
-Stride makes no guarantees to accept and or use any submitted content.
-
-If submitted content is accepted for addition or usage in the documentation, the contributor 
-will be asked to agree and electronically sign the [Contributor License Agreement](ContributorLicenseAgreement.md).
-Among other things, it stipulates that the contributor keeps the ownership on its contribution but gives
-a perpetual license to Stride to re-publish, edit and remove the content at its leisure. 
-
-Note that content containing any offensive material or actions of spam submission or the like will be immediately rejected. 
-Any users who make repeat or continuous actions of the above in either submissions or 
-Git-hub forums will be banned from access to the either process.
-
-After submitting please remain patient while your content is reviewed whereas the process may take some time. 
-All submissions will be answered based on the Stride team priority. 
-
-# <a name="Workflow"> Contribution Workflow 
-
-To facilitate discussions and reviews of new content, please follow the following workflow when you contribute:
-
-1. Start by creating an issue on GitHub describing the changes or the additions you plan to make  
-2. Wait for the review and the green-light from the Stride team  
-3. Assign the issue to you to show others contributors that you are currently dealing with the issue  
-4. Create a branch containing (at least) the name of the issue  
-5. Write your article and add media files in the adequate folders  
-6. Make a pull request and wait for acceptance and integration of your changes  
-
-Remarks: 
-- For minor changes (typos, code update, etc.) you can directly create a pull request, no need to create an issue.
-- Alternatively if you don't have specific changes in mind but just want to contribute, 
-you can also start from an existing unassigned issue.
-- If you stop dealing with an issue, mark it as unassigned to let the other contributors know that this issue is available.
-
-To learn how to use GitHub and what is an issue, a branch and a pull request, 
-have a look at the [GitHub Guides](https://guides.github.com/activities/hello-world/).
-
-# <a name="Build"> Edit and Build Locally 
-
-Stride currently uses DocFX to generate its documentation.  
-All the documentation content is formatted using the MarkDown format.
-
-To locally edit, build and test the documentation:
-
-1. Checkout this repository on your PC
-   - make sure LFS (Large File Storage) is used e.g., ```git lfs clone https://github.com/stride3d/stride-docs.git```
-2. Make your changes to the adequate MarkDown files  
-3. If you added a new MarkDown file, reference it inside the _toc.md_ files to include it in the build  
-4. Double-click on the _build.bat_ batch file to build the doc  
-5. Double-click on the _run_local_website.bat_ batch file. It opens the local version of the doc in your browser  
-6. Every time you want to see your latest changes, run again build.bat and refresh your browser by pressing F5  
-
-Remarks: 
-- If you want to locally test links to the API documentation, you need to checkout the 
-[Stride Repository](https://github.com/stride3d/stride) next to the documentation 
-(or adjust the '../stride' path in the _docfx.json_ file). Note that the build time is much more consequent
-when building both Manual and API documentation (you can use _build_manual_only.bat_ script 
-to build only the manual in that case).
-- For more details about the MarkDown format, see [GitHub MarkDown Guide](https://guides.github.com/features/mastering-markdown/) or this [Tutorial](http://www.markdowntutorial.com/).
-- For more details about _DocFX_, see [DocFX Getting Started Page](https://dotnet.github.io/docfx/tutorial/docfx_getting_started.html)
-
-# <a name="NewLanguage"> New Language
-   
-If you are interested in translating the documentation to a language that is not yet supported, please read these [New Language Workflow](NewLanguageWorkflow.md) instructions.
-   
-# <a name="Organization"> Pages Organization 
-
-Articles should be organized in folders. Media and code files should be stored in folders named _media_ and _code_
-and placed next to the article using them.
-
-For more details about the files structure, read the [Guidelines](GUIDELINES.md).
-
-# <a name="Guidelines"> Doc Guidelines 
-
-In order to create an homogeneous documentation and provide the best experience to all Stride users, 
-we would like you to follow the following [Guidelines](GUIDELINES.md) when you write your articles.
-
-Thank you for you contribution!

+ 0 - 1728
GUIDELINES.jp.md

@@ -1,1728 +0,0 @@
----
-breaks: false
----
-
-# ガイドライン
-<!--
-# Guidelines
--->
-
-日々の作業において、Stride ユーザーは、あなたの書いた記事を読んで Stride Game Engine について学習することになるでしょう。
-誰にでもわかりやすく、利用しやすいページを書くことを心がけてください。
-あなたの探求をお手伝いし、ドキュメントを統一し使いやすいものにするために、以下のガイドラインに沿って執筆してくださるようお願いします。
-<!--
-Stride users will be reading your articles to learn about the engine in their every day work. 
-Your goal is to write pages that are easy to understand and accessible to all. 
-To help you in your quest and to have an unified documentation easy to use,
-we ask you to follow to the below Guidelines when writing.
--->
-
-* [執筆スタイル](#Style)
-  * [会話のトーン](#Tone)
-  * [二人称](#Person)
-  * [能動態](#ActiveVoice)
-  * [簡単な言葉](#SimpleVocabulary)
-* [ページの構成](#PagesContent)
-  * [「はじめに(Getting Started)」ページ](#GettingStarted)
-  * [チュートリアル ページ](#Tutorials)
-  * [セクション ヘッダー ページ](#SectionHeader)
-  * [参照ページ](#Reference)
-  * [HOWTOページ](#Howtos)
-  * [長い説明は避けよう](#LongExplanations)
-  * [長い文章は避けよう](#LongArticles)
-  * [画像とビデオを使おう](#UseImagesVideos)
-* [ページとファイルの構造](#FilesStructure)
-  * [ページの階層](#PagesHierarchy) 
-  * [ページの順序](#PagesOrder)
-  * [ファイルの階層](#FilesHierarchy)
-  * [ファイルの名前](#FilesName)
-* [書式](#Formatting)
-  * [テキストスタイル](#Styling)
-  * [用語の定義](#Definitions)
-    * [Stride 用語](#StrideTerms)
-    * [ビデオゲーム用語](#VideoGameTerms)
-    * [作業固有の用語](#JobTerms)
-  * [ページの参照](#References)
-  * [関連するトピック](#RelatedTopics)
-  * [API リファレンス](#APIReferences)
-  * [コードリファレンス](#CodeReference)
-  * [プレースホルダー](#Placeholders)
-  * [ラベル](#Labels)
-  * [備考](#Remarks)
-  * [プラットフォーム固有の補足](#PlatformRemarks)
-  * [通知事項](#Notices)
-  * [メディア](#Media)
-    * [ビデオ](#Videos)
-    * [画像](#Images)
-    * [ダイアグラム](#Diagrams)
-  * [表(テーブル)](#Tables)
-  * [箇条書き(リスト)](#Lists)
-  * [ヘッダー](#Headers)
-  * [大文字表記](#Capitalization)
-  
-注意:以下に述べる方向性はただのガイドラインであり、規則ではありません。
-特定の状況に適さない場合は、無視して構いません。
-<!--
-Note: The following directions are just guidelines not rules. 
-If they are not appropriate to your specific use-case, feel free to ignore them.
--->
-
-# <a name="Style"> 執筆スタイル </a>
-<!--
-# <a name="Style"> Writing Style </a>
--->
-
-## <a name="Tone"> 会話のトーン </a>
-<!--
-## <a name="Tone"> Conversation Tone </a>
--->
-
-> **適切**
->
-> ドキュメントは会話調にしたいと思っています。
-> 私たちのチュートリアルや解説を読んでいると、著者と会話をしているような感覚になることでしょう。
-> 読者として、形式張らず、くだけた、有益な体験をして、筆者が説明してくれるのを聞いているような感覚になるはずです。
->
-> **不適切**
->
-> 会話調の文体と、技術的な話題に対する学術的な扱いの文体が混在しています。
-> とても役に立つ情報ですが、それらの記事は私たちのドキュメントとは全く異なるスタイルで書かれています。
-> 学術雑誌を読むときのような、非常に異なるトーンとスタイルで書かれているのを目にします。
-> 非常に乾いた話題の、乾いた説明を読んでいるような気がします。 
-
-<!--
-> **Appropriate**
-> 
-> We want our documentation to have a conversational tone. You should feel as though you
-> are having a conversation with the author as you read any of our tutorials or explanations.
-> Your experience as a reader should be informal, conversational, and informative. You should
-> feel as though you are listening to the author explain the concepts to you.
-> 
-> **Inappropriate Style**
->
-> One might see the contrast between a conversational style and the style one finds with
-> more academic treatments of technical topics. Those resources are very useful, but the authors
-> have written those articles in a very different style than our documentation. When one reads
-> an academic journal, one finds a very different tone and a very different style of writing.
-> One feels that they are reading a dry account of a very dry topic.  
--->
-
-上段は、私たちの推奨する会話スタイルです。下段は、より学術的なスタイルです。すぐに違いがわかります。
-
-一方で、口語的になりすぎないように注意が必要です。
-"You gonna see", "We'll see", "We've" などの表現は避けるべきです。
-
-<!--
-The first paragraph above follows our recommendation conversational style. The second
-is a more academic style. You see the difference immediately. 
-
-One the other hand, you should be careful not to become too much colloquial too.
-Expressions like "You gonna see", "We'll see", "We've" are to avoid.
--->
-
-##  <a name="Person"> 二人称 </a>
-<!--
-##  <a name="Person"> Second Person </a>
--->
-
-> **適切**
->
-> あなたは、記事を読者に直接話しかけているかのように書くべきです。
-> あなたは、二人称を頻繁に使うべきです。(この2つの文章で私が使ったように)
-> 二人称は必ずしも「あなた」という言葉を使うわけではありません。読者に直接向かって書きなさい。
-> 命令文を書きなさい。読者に何を学んでほしいかを伝えなさい。
->
-> **不適切**
->
-> 著者が、三人称で書くことを選択するかもしれません。
-> その場合、彼は、読者を表す代名詞や名詞を見つけなければなりません。
-> 読者は、この三人称スタイルが好ましくなく、読んでいて楽しくないと思うかもしれません。
-
-<!--
-> **Appropriate**
-> 
-> You should write your articles as though you are speaking directly to the reader. 
-> You should use second person often (as I just have in these two sentences). 
-> 2nd person doesn't always mean using the word 'you'. Write directly to the reader. 
-> Write imperative sentences. Tell your reader what you want them to learn.
-> 
-> **Inappropriate**
-> 
-> An author could also choose to write in 3rd person. In that model, an author must find 
-> some pronoun or noun to use when referring to the reader. A reader might often find 
-> this 3rd person style less engaging and less enjoyable to read.
--->
-
-上段は、私たちの推奨するスタイルです。下段では三人称を使用しています。
-二人称で書いてください。あなたもその方が読みやすいと思ったのではないでしょうか。
-<!--
-The first paragraph follows our recommended style. The second uses 3rd person. 
-Please write in second person. You probably found that much easier to read.
--->
-
-##  <a name="ActiveVoice"> 能動態 </a>
-<!--
-##  <a name="ActiveVoice"> Active Voice </a>
--->
-
-能動態で記事を書きましょう。
-能動態とは、文の主語がその文の動作(動詞)を行うことを意味します。
-これは、主語が従わせられるように記述される受動態とは対照的です。
-次の2つの例を比べてみてください。
-<!--
-Write your articles in active voice. Active voice means that the subject of 
-the sentence performs the action (verb) of that sentence. It contrasts with passive voice, 
-where the sentence is arranged such that the subject of the sentence is acted upon. 
-Contrast these two examples:
--->
-
-> **適切**
-> 
-> コンパイラは、ソースコードを実行ファイルに変換しました。
->
-> **不適切**
-> 
-> ソースコードは、コンパイラによって実行ファイルに変換されました。
-
-<!--
-> **Appropriate**
-> 
-> The compiler transformed source code into an executable.
-
-> **Inappropriate**
-> 
-> The source code was transformed into an executable by the compiler.
--->
-
-最初の文は、能動態を使っています。2つ目の文は、受動態で書かれています。
-(この2つの文も、それぞれのスタイルの例になっていますね。)
-
-能動態の方が読みやすいのでおすすめです。受動態は読みにくくなることがあります。
-
-<!--
-The first sentence uses active voice. The second sentence was written in passive voice. 
-(Those two sentences provide another example of each style).
-
-We recommend active voice because it is more readable. Passive voice can be more difficult to read.
--->
-
-##  <a name="SimpleVocabulary"> 簡単な言葉 </a>
-<!--
-##  <a name="SimpleVocabulary"> Simple Vocabulary </a>
--->
-
-記事を書くときは、Stride のユーザーは全員が英語を母国語としているわけではないことを覚えておいてください。
-あなたの記事を読む人はさまざまであり、あなたが知っている語彙を知らない可能性もあります。
-
-一般的に、「5年生の読解力」を目処に書いてみてください。
-
-<!--
-Keep in mind that Stride users are not all native English speaker when you write your articles.
-Your audience is international and they probably don't have the vocabulary you have.
-
-As a general rule try to *target a 5th grade reading level" when you write.
--->
-
-#  <a name="PagesContent"> ページの構成 </a>
-<!--
-#  <a name="PagesContent"> Pages Content </a>
--->
-
-Stride のドキュメントは、さまざまな種類のページで構成されます。
-期待される内容とページレイアウトは、その種類に強く依存します。
-記事を書く前にまずどんな種類のページにするのかを決め、それから、次に示す、内容とレイアウトのテンプレートに従ってください。
-
-ページの種類に基づく内容とレイアウトのガイドラインに加えて、
-このセクションの最後に、内容に関する一般的な推奨事項をいくつか挙げておきます。
-
-<!--
-Stride documentation is composed of different types of pages. The expected content and layout
-of the page directly depends on the type. Before writing your article, start by identifying the 
-type of page you are targeting, then follow the below templates for content and layout.
-
-In addition to content and layout guidelines based on the type of page, we finish this section 
-with a few generic recommendations for the content.
--->
-
-##  <a name="GettingStarted"> 「はじめに(Getting Started)」ページ </a>
-<!--
-##  <a name="GettingStarted"> Getting Started Pages </a>
--->
-
-「はじめに」の記事は、Stride の新規ユーザーの最初の一歩を導くことを目的としています。
-このページでは、基本的で本質的な話題のみをカバーし、その概念を深く説明する必要はありません。
-1ページに1つのテーマだけを取り上げてください。
-<!--
-Getting Started articles aim at guiding new Stride users in their first steps. Pages should cover only basic 
-and essential topics and don't need to explain concepts in depth. Only one subject should be covered per page.
--->
-
-あらゆるタイプの読者を対象にしたページは、「はじめに」ページのルートページの直下に挿入してください。
-特定の読者をターゲットにするページは、読者を特定したページの下に挿入してください。
-Stride の新規ユーザーをフォローできるように、「はじめに」ページの順序を決めてください。
-<!--
-Pages targeting any kind of audience should be inserted directly under the Getting Started root page.
-Pages targeting a specific audience should be inserted under a page specifying the audience. Getting
-Started pages order should follow the progress of a Stride new user.
--->
-
-「はじめに」ページは、次のような内容で構成されます。
-
-1. ページタイトル(そのページで扱っているテーマ)。
-2. その内容が重要である理由と、機能やツールの目的の簡単な説明。
-3. このページで読者が具体的に何をするかを説明する短い段落。
-4. 学習内容を説明する画像または動画(可能であれば)。
-5. サブタイトルとページの内容。
-
-<!--
-A Getting Started page consists of the following content:
-
-1. The page title (the subject dealt in the page).
-2. A short introduction explaining why the topic matters and the purposes of the feature or tool.
-3. A short paragraph explaining what the reader will concretely learn to do in the page.
-4. An image or a video illustrating what the user will learn (if possible).
-5. The sub-titles and the content of the page.
--->
-
-例:
-```
-# Stride でシーンを設計する
-
-シーンはゲームに欠かせない要素です。
-シーンを使うと、ゲームの内容を複数の段階やモジュールに分割することができます。
-ここでは、Stride のエディターを使って、シーンを作る方法について学びます。
-
-[シーンイメージ](media/scene.png)
-
-## シーンに要素をドラッグ&ドロップする
-
-...
-```
-<!--
-Example:
-```
-# Design Scenes with Stride.
-
-Scenes are an essential element of your game. They allow you to divide the content of your game into levels and modules.
-In this article you will learn how to create and populate scenes from the editor in Stride.
-
-[Scene Image](media/scene.png)
-
-## Drag and drop elements in your scene
-
-...
-```
--->
-
-##  <a name="Tutorials"> チュートリアル ページ </a>
-<!--
-##  <a name="Tutorials"> Tutorial Pages </a>
--->
-
-チュートリアルの目的は、ユーザーによるゲームコンポーネントの作成に付き添うことです。
-各チュートリアルは、初期の状態(ほとんどの場合、空っぽのゲーム)から始まって、最終の状態(ミニゲームやゲームコンポーネントの完成)まで続きます。
-最終的に実現するまでの、主要なステップごとにページを作成してください。
-ページは時系列に並べて、次のページが前のページで終わったところから始まるようにします。
-チュートリアル用のフォルダを1つ作成してください。
-<!--
-The purpose of tutorials is to accompany users through the creation of a game component. Each tutorial 
-starts from a initial state (most of the time an empty game) and ends to a final state (mini game or 
-game component completed). A page should be created for each main step of the final realization.
-Pages should be ordered chronologically and next pages should start exactly were previous pages stop.
-A folder should be created for each tutorial. 
--->
-
-チュートリアルのヘッダーページは、次のような内容にで構成されます。
-
-1. ページタイトル(チュートリアルの名前)。
-2. チュートリアルで実現することと、学べることに関する説明。
-3. チュートリアルの完了に必要となる知識(あれば)。
-4. 最終イメージの画像(可能であれば)。
-5. チュートリアルのサブページへのリンクを持った目次(順序付きリスト)。
-<!--
-A tutorial header page consists of the following content:
-
-1. The page title (name of the tutorial).
-2. A description of what will be realized and what can be learned from the tutorial. 
-3. The knowledge needed to be able to complete the tutorial (if any). 
-4. One or several images of the final realization (if possible). 
-5. A table of content with the links to the tutorial sub-pages (ordered list).
--->
-
-例:
-```
-# 2Dゲームのチュートリアル
-
-このチュートリアルでは、簡単な2Dゲームをゼロから作成します。
-シーンの作成方法、要素間のコリジョン判定の方法、そしてゲームに UI を追加する方法について学びます。
-このチュートリアルは、Stride で新しいプロジェクトを作成する方法と、アセットをインポートする方法を知っていることを前提としています。
-
-[2Dゲームイメージ](media/my2dGame.png)
-
-1. [アセットをインポートする](ImportAsset.md)
-2. [レベルを作成する](CreateLevel.md)
-3. [コリジョンを追加する](AddCollisions.md)
-4. [UI を追加する](AddUI.md)
-```
-<!--
-Example
-```
-# My 2D game tutorial
-
-In this tutorial you will create a simple 2D game from scratch. You will learn how to create a scene,
-perform collisions between elements and add a UI to your game.
-This tutorial assumes that you know how to create a new project and import assets in Stride.
-
-[My 2D Game Image](media/my2dGame.png)
-
-1. [Import assets](ImportAsset.md)
-2. [Create your level](CreateLevel.md)
-3. [Add Collisions](AddCollisions.md)
-4. [Add a UI](AddUI.md)
-```
--->
-
-チュートリアルページは、次のような内容で構成されます。
-
-1. ページタイトル(ページで実現すること)
-2. 前後のページへのリンク
-3. このページで実現することと学ぶことの説明。
-4. ページで実現することを示した画像(可能であれば)。
-5. ページのサブステップとその内容。
-6. チュートリアルの次のページへのリンクを持った紹介文。
-
-<!--
-A tutorial page consists of the following content:
-
-1. The page title (realization of the page) 
-2. Links to previous and next tutorial pages
-3. A description of what will be realized in the current page and what will be learned. 
-4. One or several pictures illustrating the realization of the page (if possible).
-5. The sub-steps and the content of the page.
-6. A sentence introducing the next page of the tutorial including a link.
--->
-
-例:
-```
-# ゲームに UI を追加する
-
-前のページ [物理コリジョンを使う](UsePhysicsCollision.md) | 次のページ [ゲームを配布する](DeployYourGame.md)
-
-このページでは、ゲームに簡単なUIを追加していきます。
-Stride のデフォルトのデザインを使って UI を作成し、ゲームプレイと連動させる方法について学びます。
-
-[ゲームのUIのイメージ](media/MyGameUI.png)
-
-1. [UI コンポーネントを追加する](# Add a UI component)
-2. [UI を設定する](# Set the UI)
-3. [UI をゲームに関連付ける](# Make UI interact with your game)
-
-## UI コンポーネントを追加する
-
-...
-
-次のセクションでは、[ゲームを配布する方法](DeployYourGame.md)について学びましょう。
-
-```
-<!--
-Example
-```
-# Add UI to the game
-
-Previous [Use Physics Collisions](UsePhysicsCollision.md) | Next [Deploy your game](DeployYourGame.md)
-
-In this page you will add a simple UI to your game. You will learn how to create a UI using Stride default 
-design and make it interact with the gameplay.
-
-[My Game UI Image](media/MyGameUI.png)
-
-1. [Add a UI component](# Add a UI component)
-2. [Set the UI](# Set the UI)
-3. [Make UI interact with your game](# Make UI interact with your game)
-
-## Add a UI component 
-
-...
-
-In the next section we will see how you can [Deploy your game](DeployYourGame.md).
-
-```
--->
-
-注意:それぞれの指示は、可能な限り、指示の前後の状態を示す2つの画像で囲みましょう。
-最初の指示の前に置いた画像が初期状態で、最後に置いた画像が最終の状態に対応します。
-<!--
-Note: as much as possible each instruction should be surrounded by two images showing the state 
-before and after the instruction. Image before the first instruction should correspond to the initial
-state and last image should correspond to the final state.
--->
-
-##  <a name="SectionHeader"> セクション ヘッダー ページ </a>
-<!--
-##  <a name="SectionHeader"> Section Header Pages </a>
--->
-
-セクションヘッダーは、ドキュメントフォルダに置かれるトップページです。
-ヘッダーページの目的は、セクションの話題を紹介し、エンジンの最適な機能を公開し、セクションの概要を提供することです。
-<!--
-Section headers are the top pages of the folders of the documentation. The goal of header pages is 
-to introduce the section topic, to expose the best features of the engine and to provide an overview of the section.
--->
-
-ヘッダーページの内容は次の通りです。
-
-1. タイトルとしてのセクション名
-2. セクションの内容を説明する画像(サブフォルダの場合、この画像を省略できます)
-3. このセクションで紹介する内容を示す短い導入文。
-4. その話題における、エンジンの主な機能や最適な機能について公開する段落。
-5. このセクションを読解することで学べることついて説明する短い段落。
-6. 話題に関するすべての視点を与えるセクションの概要(目的、課題、基本概念)。
-<!--
-A header page consists of:
-
-1. The name of the section as title
-2. An image illustrating the section (for sub-folder this image can be skipped)
-3. A short introduction sentence explaining what is the section about.
-4. A paragraph exposing the main and best features of the engine on the topic.
-5. A short paragraph explaining what can be learned by reading this section. 
-6. An overview of the section giving a full insight of the topic (objectives, challenges, base concepts).
--->
-
-注意: サブフォルダのヘッダの場合、セクションのヘッダページは概要やメインテーマへのリンクだけで十分な場合があります。
-<!--
-Note: for sub-folder headers only an overview or links to main subjects can be enough for a section header page.
--->
-
-例:
-```
-# 物理演算
-
-![物理演算セクションのイメージ](media/PhysicSection.png)
-
-物理演算を使って、ゲーム内で物理シミュレーションを行うことができます。
-
-Stride は、Game Studio に完全に統合された物理演算システムを持っています。
-専用の物理エディタを使って、オブジェクトの物理形状を直接編集したり、モデルから自動的に生成したりすることができます。
-
-このセクションでは、オブジェクト間の衝突のシミュレーション、トリガー領域の追加、オブジェクトへの物理法則の適用などについて学びます。
-
-## 概要
-
-物理エンジンの目標は、ゲーム要素のアクションを生成して自動化する方法を提供し、それらが物理法則に従っているように見せることです。
-正確な物理シミュレーションは非常にコストがかかるので、物理的な振る舞いはすべて近似的に計算されます。
-
-# 物理形状
-
-![物理形状のイメージ](media/PhysicShapes.png)
-...
-
-# 物理オブジェクトの種類
-...
-```
-<!--
-Example
-```
-# Physics
-
-![Physic Section Image](media/PhysicSection.png)
-
-Physics allows you to make physics simulations in your game.
-
-Stride has a physic system fully integrated in its game studio. Its dedicated physic editor allows you to
-directly edit physic shapes of objects or to automatically generate them from the models. 
-
-In this section you will learn how to simulate collisions between objects, add trigger regions, apply 
-physic law on objects, etc.
-
-## Overview
-
-The goal of the physic engine is to provide ways to produce and automate actions on your game elements
-so that they seems to follow physic laws. Accurate physic simulations being very costly all physic behaviors
-have to be approximated. 
-
-# Physic Shapes
-
-![Physic Shapes Image](media/PhysicShapes.png)
-...
-
-# Physic Object Types
-...
-```
--->
-
-##  <a name="Reference"> 参考ページ </a>
-<!--
-##  <a name="Reference"> Reference Pages </a>
--->
-
-参考ページでは、特定のコンセプトや機能、要素について、深い説明を行います。
-<!--
-Reference pages explain in depth a specific concept, feature, or element.
--->
-
-参考ページの内容は次の通りです。
-
-1. ページタイトル(コンセプトの名前)。
-2. コンセプトの定義と説明。
-3. コンセプトの標準的な使い方と、なぜその話題が重要なのかの説明。
-4. コンセプトを示す画像(可能であれば)。
-5. コンセプトのサブトピック(機能性、使用例など)。
-<!--
-A reference page consists of:
-
-1. The page title (name of the concept)
-2. The definition and explanation of the concept.
-3. The standard usages of the concept and a explanation why the topic matters.
-4. An image illustrating the concept (if possible)
-6. The sub-topics with the content (functionalities, usages samples, etc)
--->
-
-例:
-```
-# マテリアル
-
-マテリアルとは、要素をどのようにレンダリングするかを定義するルールのセットです。
-
-モデル、パーティクル、スプライトに対してマテリアルを適用することで、要素の色、ライティング、シャドウイングを定義することができます。
-
-![マテリアルのイメージ](media/Material.png)
-
-1. オブジェクトジオメトリ
-
-...
-
-2. オブジェクトシェーディング
-...
-
-```
-<!--
-Example
-```
-# Materials
-
-A material is a set of rules defining how to render an element.
-
-You can use materials with model, particles system and sprites to define the color, lighting and shadowing
-of your element.
-
-![Material Image](media/Material.png)
-
-1. Object Geometry
-
-...
-
-2. Object Shading
-...
-
-```
--->
-
-##  <a name="Howtos"> HOWTO ページ </a>
-<!--
-##  <a name="Howtos"> HOWTO Pages </a>
--->
-
-HOWTO ページの目的は、何かを実現するための明確な手順を提供することです。
-各 HOWTO ページは、他の HOWTO ページから独立していて、読者を一つの目標に導くものでなければなりません。
-コンセプトを定義したり、説明したりすることは避けましょう。
-<!--
-The goal of the HOWTO pages is to provide a list of clear instructions to realize a specific thing. 
-Each HOWTO page should be independent from other HOWTO pages and guide the reader towards 
-a single target. It should not define nor explain any concept.
--->
-
-HOWTO ページの内容は次の通りです。
-
-1. ページタイトル(ねらいを表す動詞で終わるフレーズ) <!--訳注:原文では動詞は「始まる」だが、日本語では「終わる」とした -->
-2. 説明を理解するために必要な知識。
-3. ページの目的と、何について学ぶか
-4. 最終イメージの画像(可能であれば)
-5. 主な手順とその説明、そして副題(副題には手順番号を付けましょう)
-<!--
-A HOWTO page consists of:
-
-1. The page title (phrase starting with a verb describing the target)
-2. The knowledge needed to understand the instructions.
-3. The goal of the page and what the user will learn to doc-audience
-4. An image of the final realization (if possible)
-5. The main steps and their explanations and sub-instructions (add the step number in the sub-title)
--->
-
-例:
-```
-# UI にパーティクルを追加する
-
-前提条件:このページでは、パーティクルや UI の一般的な使い方を知っていることを前提とします。
-
-このページでは、UI にパーティクルを割り当てる方法について説明します。
-
-![UIに割り当てられたパーティクルのイメージ](media/ParticlesInUI.png)
-
-## 1. パーティクルエフェクトを作成する
-...
-
-## 2. UI を作成する
-...
-
-## 3. UI リンクコンポーネントを追加する
-...
-
-```
-<!--
-Example
-```
-# Add particles inside our UI
-
-Prerequisites: This page assumes that you know how to use particles and UI elements in general.
-
-In this page you will learn how to attach particles to an UI element.
-
-![Particles In UI Image](media/ParticlesInUI.png)
-
-## 1. Create your particle Effect.
-...
-
-## 2. Create your UI
-...
-
-## 3. Add a UI link component
-...
-
-```
--->
-
-注意:それぞれの指示は、可能な限り、指示の前後の状態を示す2つの画像で囲みましょう。
-最初の指示の前に置いた画像が初期状態で、最後に置いた画像が最終の状態に対応します。
-<!--
-Note: as much as possible each instruction should be surrounded by two images showing the state 
-before and after the instruction. Image before the first instruction should correspond to the initial
-state and last image should correspond to the final state.
--->
-
-##  <a name="LongExplanations"> 長い説明は避けよう </a>
-<!--
-##  <a name="LongExplanations"> Avoid Long Explanations </a>
--->
-
-説明が長いと、読者は消化不良になってしまいます。ほとんどの場合、読者はそれらを無視してしまうか、
-あるいは説明の本質的なポイントを押さえることができなくなります。
-<!--
-Long explanation are quite indigestible for the reader. Most of the time, he simply skips them.
-If not, he is not able to remember the essential point of the explanation. 
--->
-
-そのため、1つの段落では2つ以上のことを説明しないようにしましょう。
-説明は短くシンプルにして、可能であれば、説明文の横に、概念を示す画像や図を追加するようにしましょう。
-<!--
-To avoid this, try to never explain more than one concept in a simple paragraph.
-Try to keep your explanation short and simple and when possible add an image or a diagram 
-that corresponds to the concept next to your text.
--->
-
-このことは、「はじめに」ページ、チュートリアルページ、HOWTO ページではさらに重要です。
-これらのページでは、コンセプトを数行で説明するか、あるいは説明するかわりにコンセプト専用のページを参照するようにしてください。
-<!--
-This guideline is even more important for Getting Started, Tutorials and HOWTO pages,
-where the text should correspond more to instructions than explanations about Stride concepts.
-In those pages, you should either try to explain the concept in a simple lline or replace the
-explanation by a reference to the page dedicated to the concept.
--->
-
-##  <a name="LongArticles"> 長い文章は避けよう </a>
-<!--
-##  <a name="LongArticles"> Avoid Long Articles </a>
--->
-
-8~10 画面よりも長い記事は避けるようにしましょう。
-記事が長いと、読者は読み始めることすら難しくなり、読者の学習を妨げてしまいます。
-記事の内容がこの画面数に収まらない場合は、記事を複数の記事に分割しましょう。
-<!--
-Try to avoid writing articles longer than 8 to 10 screen heights. Long articles discourage users 
-to start reading and make the navigation harder. If the content of your article cannot fit in
-the above number of screen, split your article into several articles.
--->
-
-##  <a name="UseImagesVideos"> 画像とビデオを使おう </a>
-<!--
-##  <a name="UseImagesVideos"> Use Images & Videos </a>
--->
-
-可能な限り、説明には画像やビデオを追加しましょう。読者は大変助かります。
-
-また、理にかなっている場合は、画像ではなく小さなビデオを使うことをお勧めします。
-ビデオは重いからといって、たくさんの矢印が描かれた図を使わなければならなかった時代は終わったと考えています。
-現在ではインターネットと圧縮技術のおかげで短いビデオならドキュメントに含めることができ、わかりやすさをさらに向上することができます。
-<!--
-Also whenever it makes sense, we recommend you to use small videos instead of images. 
-We believe that the time where we had to use diagrams with lots of arrows going in all directions
-because videos were too heavy is over. Nowadays Internet connections and compression algorithms 
-are good enough to include short videos in the documentation and increase even more the ease of
-understanding.
--->
-
-### ビデオのエンコード方法
-<!--
-### How to encode videos
--->
-
-いろんなブラウザやデバイスで再生できるように、ビデオのフォーマット要件は低くしましょう。
-H.264 baseline プロファイルなどを使います(ほぼどこでも再生できます)。
-<!--
-To make sure videos play well in different browsers and on different devices, stick to a format with low requirements, such as H264 baseline profile (which works almost everywhere).
--->
-
-ビデオをこのフォーマットに変換するには、[ffmpeg](https://ffmpeg.org/download.html) を使用します。
-
-1. ffmpeg をダウンロードします。
-
-2. ff-prompt.bat を実行します。
-
-3. ff-prompt.bat のコマンドラインで、変換したいビデオがあるフォルダを指定します。
-
-4. 次のコマンドを実行します。``myvideo_original.mp4`` は変換したいビデオのファイル名に、``myvideo.mp4`` は変換後に出力されるファイル名に、それぞれ置き換えてください。
-
-```
-ffmpeg -i myvideo_original.mp4 -profile:v baseline -level 3.0 -an myvideo.mp4
-```
-<!--
-To convert a video to this format, process the file using [fmpeg](https://ffmpeg.org/download.html).
-
-1. Download the Ffmpeg package for your operating system.
-
-2. Run the ff-prompt.bat file.
-
-3. In the ff-prompt.bat command line, browse to the folder with the video you want to convert.
-
-4. Run the following command, replacing ``myvideo_original.mp4`` with the filename of the video you want to convert, and ``myvideo.mp4`` with the filename of the output file you want to create:
-
-```
-ffmpeg -i myvideo_original.mp4 -profile:v baseline -level 3.0 -an myvideo.mp4
-```
--->
-
-続けて、モバイルユーザーがビデオをダウンロードする前にプレビューできるように、静的なサムネイルを生成します。これを行うには、次のコマンドを実行します。
-
-```
-ffmpeg -i myvideo.mp4 -vframes 1 -f image2 -y myvideo.jpg
-```
-<!--
-After you do this, generate a static thumbnail so that mobile users can preview the video before downloading. To do this, run:
-
-```
-ffmpeg -i myvideo.mp4 -vframes 1 -f image2 -y myvideo.jpg
-```
--->
-
-### ビデオを埋め込む
-<!--
-### Embed videos
--->
-
-次のコードを .md ファイルに記入します。
-ディレクトリ名とファイル名は、使用したいファイルに置き換えてください。
-
-```
-<p>
-    <video autoplay loop class="responsive-video" poster="folder/myvideo.jpg">
-       <source src="folder/myvideo.mp4" type="video/mp4">
-    </video>
-</p>
-```
-<!--
-Put this syntax in the .md file, replacing the directories and filenames with the files you want to use:
-
-```
-<p>
-    <video autoplay loop class="responsive-video" poster="folder/myvideo.jpg">
-       <source src="folder/myvideo.mp4" type="video/mp4">
-    </video>
-</p>
-```
--->
-
-# <a name="FilesStructure"> ページとファイルの構造 </a>
-<!--
-# <a name="FilesStructure"> Pages & Files Structure </a>
--->
-
-ドキュメントページの階層は目次ファイル [manual/toc.md](manual/toc.md) に記載し、このリポジトリのファイル階層から独立させます。一つの記事をドキュメントの異なる場所に必要に応じていくつも追加することもできますが、分かりやすいように、ドキュメントのページとリポジトリのファイルは同じ階層を保つようにしてください。
-<!--
-The hierarchy of the documentation pages is specified in the [manual/toc.md](manual/toc.md) file
-and is independent from the file hierarchy of this repository. For example, a single article can
-be added several times at different location in the documentation if needed. Nevertheless for ease
-we ask you to try to keep the same hierarchy between the documentation pages and this
-repository files.
--->
-
-ドキュメントに新しいページを追加するには、[toc](manual/toc.md) ファイルの適切な場所に新しいエントリを追加してください。
-<!--
-To add a new page in the documentation, just add a new entry at the appropriate place in the 
-[toc](manual/toc.md) file.
--->
-
-## <a name="PagesHierarchy"> ページの階層 </a>
-<!--
-## <a name="PagesHierarchy"> Pages Hierarchy </a>
--->
-
-原則としては、ナビゲーションのしやすさを考えて、階層を深くすることは避けたいところです。
-可能な限り、深さは4段階までに収めることをお勧めします。
-
-> - はじめに
->   - 共通事項
->   - 想定する読者
->      - トピック
-> - チュートリアル
->   - 2D ゲーム
->   - 3D ゲーム
-> - エンジン
->   - トピック
->   - サブカテゴリ
->     - サブトピック
->   - HOWTO
->   - 何かをする
-
-<!--
-As a general rule, we want to avoid deep hierarchies for the ease of navigation. 
-As much as possible we recommend you not to go beyond 4 levels of depth.
-
-> Getting Started
->   - Common Topic
->   - Targeted Audience
->      - Topic
-> Tutorials
->   - My 2D game
->   - My 3D game
-> Engine
->   - Topic
->   - Sub-Category
->     - Sub-Topic
->   - HOWTO
->     - Do something
--->
-
-ページの命名規則:
-* HOWTO フォルダの中にあるページの名前は動詞で終わり、目的(「ゲームでポストエフェクトを有効にする」など)を記述するようにしてください。 <!--訳注:原文では動詞で「始まる」だが、日本語では「終わる」とした -->
-<!--
-Page naming conventions:
-* The name of the pages under the HOWTO folder should start with a verb and describe an objective ('Activate post-effects to your game', etc)
--->
-
-## <a name="PagesOrder"> ページの順序 </a>
-<!--
-## <a name="PagesOrder"> Pages Order </a>
--->
-
-ページは、アルファベット順に並べる必要はありません。
-<!--
-Documentation pages don't necessary need to be alphabetically ordered.
--->
-
-原則として、新しいページは次のように並べてください。
-
-1. 時系列に従うものはその順番に(「はじめに」/チュートリアル)。
-2. 重要なものから順番に(概要ページ→参考文献ページ→HOWTOs)。
-3. 重要度が同じであれば、アルファベット順に。
-
-<!--
-As a general rule, order your new pages as follow:
-
-1. Chronologically when there is a chronological order (Getting started / tutorial pages)
-2. Most important subjects first (Overview pages -> References pages -> HOWTOs) 
-3. When pages have the same importance, order them alphabetically.
--->
-
-## <a name="FilesHierarchy"> ファイルの階層 </a>
-<!--
-## <a name="FilesHierarchy"> Files Hierarchy </a>
--->
-
-記事ファイルは、フォルダを使って整理してください。
-可能な限りドキュメントと同じ階層にする、ということを尊重しましょう。
-セクションヘッダーに対応するファイルは、セクション名と同じ名前のフォルダの先頭に置いて、'index.md' という名前にしてください。**フォルダ名とファイル名は小文字のみで構成し、単語はダッシュで区切ってください。**
-<!--
-Article files should be organized into folders. As much as possible we will try to respect the
-same hierarchy as the documentation. Files corresponding to section header should be included at the 
-top of the folder having the same name and be named 'index.md'. Folder and file names should be
-composed of only **lower case letters, words should be separated by dashes**.
--->
-
-記事内で参照されているメディアファイル(画像やビデオ)は 'media' という名前の専用フォルダに入れて、その専用フォルダは、参照している記事と同じフォルダの中に置くようにしてください。
-<!--
-Media files (images and videos) referenced in articles should be placed in a dedicated folder
-named 'media' and put next to the referencing articles.
--->
-
-記事内で参照されているコードサンプルファイル(C#、スクリプトなど)は
-'code' という名前の専用フォルダに入れて、その専用フォルダは、参照している記事と同じフォルダの中に置くようにしてください。
-<!--
-Code sample files (C#, scripts, etc) referenced in articles should be placed in a dedicated 
-folder named 'code' and put next to the referencing articles.
--->
-
-階層の例:
-
-> - graphic
->   - index.md
->   - overview.md
->   - media
->     - overview-image1.png
->     - overview-image2.png
->     - overview-video2.mp4
->   - post-effects
->     - index.md
->     - media
->       - post-effect-image1.png
->     - code
->       - post-effect-code.cs
-<!--
-Hierarchy example:
-
-> graphic
->   - index.md
->   - overview.md
->   - media
->     - overview-image1.png
->     - overview-image2.png
->     - overview-video2.mp4
->   - post-effects
->     - index.md
->     - media
->       - post-effect-image1.png
->     - code
->       - post-effect-code.cs
--->
-
-## <a name="FilesName"> ファイルの名前 </a>
-<!--
-## <a name="FilesName"> Files Name </a>
--->
-
-ファイル名には、**小文字**と**単語を区切るためのダッシュ**だけを使用するようにしてください。
-また、ファイルには可能な限り明示的で分かりやすい名前をつけて、ページ名の末尾には動詞か名詞をつけてください(現在分詞(動詞-ing形)は避けてください)。
-<!--
-File names should consist only of **lower case letters** and **dashes to separate the words**.
-Also as much as possible, you should give explicit and human-understandable names to files and 
-start the page name by either an active verb or a noun (avoid -ing form verbs).
--->
-
-私たちの推奨事項は次の通りです。
-- セクションヘッダーファイルは、常に'index.md' という名前にします。
-- 記事ファイルは、ページのメインタイトルを使った名前にします(空白は除きます)。
-- メディアファイルは、ファイルの内容に沿ったシンプルな名前にします。
-<!--
-Our recommendations are the following:
-- Section Header files should always be named 'index.md'
-- Article files should be named using the main title of the page (without spaces)
-- Media files should have a simple name corresponding to the content of the file
--->
-
-例:
-> **適切**  
-> index.md  
-> point-light.md  
-> point-light-diagram.png  
->
-> **不適切**  
-> graphics-index.md  
-> PointLightFile1.md  
-> Img20150902.png  
-<!--
-Examples:
-> **Appropriate**  
-> index.md  
-> point-light.md  
-> point-light-diagram.png  
->
-> **Inappropriate**  
-> graphics-index.md  
-> PointLightFile1.md  
-> Img20150902.png  
--->
-
-#  <a name="Formatting"> 書式 </a>
-<!--
-#  <a name="Formatting"> Formatting </a>
--->
-
-##  <a name="Styling"> テキストスタイル </a>
-<!--
-##  <a name="Styling"> Text Styling </a>
--->
-
-ドキュメントを読みやすくするために、太字と斜体を適切に使用することが重要です。
-
-重要な単語や手順は、**太字**で表示します。
-
-UI 要素やウィンドウ名は、*斜体*で表示します。
-<!--
-In order to simplify the reading of the documentation, it is important that you properly use bold and italic styles.
-
-Put every important word or step in bold using the **Text in bold** syntax.
-
-Put every UI element or Window names in italic using the *Text in italic* syntax.
--->
-
-##  <a name="Definitions"> 用語の定義 </a>
-<!--
-##  <a name="Definitions"> Definitions </a>
--->
-
-記事を書くときに気をつけなければならないのは、ユーザーが知らない用語をきちんと定義することです。
-基本的には、次の3種類の用語を区別するようにします。
-<!--
-When you write your articles, you should be careful of properly defining all the terms that can be
-unknown by the user. We can basically distinguish the following three types of terms.
--->
-
-###  <a name="StrideTerms"> Stride 用語 </a>
-<!--
-###  <a name="StrideTerms"> Stride Terms </a>
--->
-
-アセット、ライブスクリプティング、グラフィックコンポジターなどの Stride 特有の用語は、必ず定義する必要があります。
-用語ごとに専用のページを作る必要はありません。
-簡単に説明できるのであれば、親ページの中で用語を定義しても構いません。
-エディタでの記述が終わったら、TODO タグに続けて virgile を追加してください。
-そして、記事の中で単語が最初に出てくる箇所にそれをリンクしてください。
-さらに、短い定義をページのメタデータとして追加します。
-これは後で定義のツールチップを作成するために使用されます。
-
-例:
-```
-TODO @virgile: update this
-```
-<!--
-These terms are specific to Stride and absolutely need to be defined. These are terms like Asset,
-Live Scripting, Graphic Compositor, etc. You don't necessary need to create a dedicated page for each term. 
-You can define the term in the middle of a parent page if the concept is simple to explain. 
-Add the following tagg TODO virgile when we are done in editor doc. 
-Then link it at least every first occurrence of the word in an article. 
-In addition add a shorter version of the definition as metadata in the page.
-This will be used later to create definition tooltips.
-
-Example
-
-```
-TODO @virgile: update this
-```
--->
-
-###  <a name="VideoGameTerms"> ビデオゲーム用語 </a>
-<!--
-###  <a name="VideoGameTerms"> Video Game Terms </a>
--->
-
-ビデオゲーム用語は、ゲームおよびグラフィック業界に特有の用語です。
-これらの用語は、Stride のドキュメントでは一文で簡潔に定義されていなければなりません。
-用語が Stride にとって重要なものである場合(例:フォワードレンダリングなど)は、その内容について詳しく説明します。
-重要でない場合には、外部サイト(wikipedia など)にリンクすることも可能です。
-簡潔な定義は、ドキュメントや Game Studio でツールチップを作る際に使われます。
-ページで最初に出現した箇所にのみ、リンクを貼ってください。
-<!--
-These terms are specific to the game and graphic industry. 
-They should be briefly defined in one sentence in the Stride documentation.
-If the topic is important for Stride (e.g.: Forward rendering, etc.) we will elaborate more on the matter.
-If not a link to an external site (wikipedia, etc) can also be used.
-The brief definition will be used to build tooltip in the documentation and Game Studio. 
-Only the first occurrence of the page should be linked.
--->
-
-例:
-```
-TODO @virgile
-
-Stride では、@forward-rendering か @defferd-rendering のいずれかを選択することができます。(←専用ページへのリンク)
-
-レンダリングモデルにより、[シェーダー](http://wikipedia/shaders)は完全に異なります。(←外部リンク)
-
-より複雑なシェーダーは云々(←2回目にはリンクを貼らない)
-```
-<!--
-Example
-```
-TODO @virgile
-
-In Stride you can choose between @forward-rendering and @deffered-rendering. (<-link to a dedicated pages).
-
-Depending on the rendering model the [Shaders](http://wikipedia/shaders) are completely different. 
-(<- external reference)
-
-The more complex shaders are blablabla (<- second reference no link)
-```
--->
-
-注意:想定する読者が「中級者」や「上級者」である場合には、基本的な用語の定義は不要です。
-<!--
-Note: If the expected audience for the page is 'Intermediate' or 'Advanced' basic term definitions can 
-be skipped. 
--->
-
-###  <a name="JobTerms"> 作業固有の用語 </a>
-<!--
-###  <a name="JobTerms"> Job Specific Terms </a>
--->
-
-作業固有の用語は、開発プロセスにおける役割に特有のものです。
-これらの用語を定義する必要があるのは、期待される読者が特定の仕事だけでなくより広い範囲に及んでいる場合や、Stride API で用語が使用される場合のみです。
-ほとんどの場合、外部ページへのリンクを使用してツールチップの定義を追加することで定義します。
-ページの最初の出現箇所のみ定義する必要があります。
-<!--
-These terms are specific to a role in the development process. They need to be defined only the when 
-the expected audience for the page is wider than just the specific job or when the term is used in the Stride API. Most of the time we will 
-define them by using a link to an external page and adding a tooltip definition. Only the first occurrence
-of the page has to be defined.
--->
-
-##  <a name="References"> ページの参照 </a>
-<!--
-##  <a name="References"> Page References </a>
--->
-
-読者を簡単にナビゲーションできるように、できるだけ他のドキュメントページへのクロスリファレンスを追加することをお勧めします。
-<!--
-We recommend you to add cross reference to other documentation pages as much as possible to ease
-to reader navigation. 
--->
-
-クロスリファレンスを追加する手順は、次の通りです。
-
-1. 定義しているファイルの先頭に、uid を追加します。
-2. ページにリンクしたい箇所で、@uid ショートカットを使って参照します。
-<!--
-To add a cross reference proceed as follow:
-
-1. Add a uid at the top of the destination file
-2. Everytimes you want to link the page just reference it using the @uid shortcut.
--->
-
-例:
-```
-material.md:
----
-uid: material
----
-
-# マテリアル
-...
-
-sprite.md:
-スプライトカラーに関する詳細については、@material を参照してください。
-```
-<!--
-Example
-```
-material.md:
----
-uid: material
----
-
-# Material
-...
-
-sprite.md:
-For more information about sprite color, read @material.
-```
--->
-
-注意:詳細については、DocFX のドキュメントを参照してください。
-<!--
-Note: for more information please refer to DocFX documentation.
--->
-
-## <a name="RelatedTopics"> 関連するトピック </a>
-<!--
-## <a name="RelatedTopics"> Related Topics </a>
--->
-
-読者にトピックについての知識を深めてもらい、簡単にナビゲーションできるように、
-できるだけ記事の下部に関連するトピックへのリンクを追加することをお勧めします。
-<!--
-To encourage readers to learn more about a topic and also to ease their navigation,
-we recommend you as much as possible to add links to related topics at the bottom of your articles.
--->
-
-次のように、doc-relatedtopics スタイルを使用します。
-```
-<div class="doc-relatedtopics">
-* [Page1](link-to-page1)
-* [Page2](link-to-page2)
-* [Page3](link-to-page3)
-</div>
-```
-<!--
-For this use the doc-relatedtopics style, as follow: 
-```
-<div class="doc-relatedtopics">
-* [Page1](link-to-page1)
-* [Page2](link-to-page2)
-* [Page3](link-to-page3)
-</div>
-```
--->
-
-## <a name="APIReferences"> API リファレンス</a>
-<!--
-## <a name="APIReferences"> API References </a>
--->
-
-API クラス、インターフェース、関数などについて言及する際には、API リファレンスへのリンクを追加しましょう。
-同じリンクを何度も追加するのを避けるために、関数名を動作動詞に置き換えることができます。
-<!--
-A link to the API reference should be added for EACH mention of an API class, interface, function, etc.
-To avoid to add too many times the same links, you can replace the function name by an action verb.
--->
-
-API リファレンスへのリンクは、次のように行います。
-> @'MyNamespace.MyClass.MyFunction'
-<!--
-Adding a link to a reference API can be done the following way:
-> @'MyNamespace.MyClass.MyFunction'
--->
-
-例:
-```
-サウンドを再生するには、@'Stride.Audio.SoundEffectInstance.Play' 関数を使用します。
-再生中の音を再び再生しても効果はありません。停止中の音を再生すると、初めから再生を再開します。
-```
-<!--
-Example:
-```
-Use the @'Stride.Audio.SoundEffectInstance.Play' function start playing a sound.
-Playing an ongoing sound has no effect. Playing a stopped sound restart the sound from beginning.
-```
--->
-
-## <a name="CodeReference"> コードリファレンス </a>
-<!--
-## <a name="CodeReference"> Code References </a>
--->
-
-サンプルコードを記事に含める際には、可能な限り小さくし、コメントを十分につけて、適切なフォーマットにしてください。
-記事にコードを挿入するには2つの方法があります。
-コード内容を適切な書式で記事内に直接追加する方法と、既存のコードファイルへの参照を追加する方法です。
-お勧めは直接追加する方法ですが、サンプルコードが複数の場所で何度も使用される場合には、コードファイルへの参照を使うことをお勧めします。
-メンテナンスという意味ではかなり効率的になります。
-<!--
-Code samples should be as small as possible, well commented and be properly formatted when included. 
-There are two different ways to insert some code in your article. First add the code content directly in your 
-article with the proper formatting or add a reference to an existing code file. 
-We recommend you to add the code sample directly in your article except when the code sample is used
-in several different places. In that case we recommend you to use a reference to a code file.
-It can be much more efficient in term of maintenance.
--->
-
-例:
-> **コードを記事に直接含める場合**
-> 
-> \`\`\`cs  
-> Asset.Unload(asset);  
-> \`\`\`
->
-> **外部のコードファイルを参照する場合**  
-> \[\!code-csharp\[Main\]\(index.cs?start=5&end=9\)\]  // index.cs ファイルの 5~9 行目が追加されます。
-<!--
-Example:
-> **Code directly included in the article**
-> 
-> \`\`\`cs  
-> Asset.Unload(asset);  
-> \`\`\`
->
-> **Reference to an external code file**  
-> \[\!code-csharp\[Main\]\(index.cs?start=5&end=9\)\]  // add line 5 to 9 of file index.cs
--->
-
-## <a name="Placeholders"> プレースホルダー </a>
-<!--
-## <a name="Placeholders"> Placeholders </a>
--->
-
-分かりやすいように、プレースホルダーはすべて 'My' で始まるようにしてください。
-
-例:
-> Content.Load("MyFolder/MyAsset");
-<!--
-For ease of understanding make all placeholders start by 'My'.
-
-Example:
-> Content.Load("MyFolder/MyAsset");
--->
-
-## <a name="Labels"> ラベル </a>
-<!--
-## <a name="Labels"> Labels </a>
--->
-
-ラベルとは、対象読者のレベルを表すオプション情報です。
-ラベルは、読者が素早く理解できるように、ページの上部に表示します。
-
-トップレベルのタイトルの直後に配置してください。
-<!--
-Labels are optional info displayed at the top of the page so that readers can quickly understand intended target audience.
-
-Please place them right after the top-level title.
--->
-
-ラベルにはいくつかの種類があります。
-
-* レベル(初級、中級、上級)を表す `label-doc-level`
-* 役割(アーティスト、プログラマー、デザイナー)を表す `label-doc-audience`
-* プラットフォーム(iOS, Android など)を表す `label-doc-platform`
-* その機能が導入されたバージョン(Stride 2.1 など)を表す `label-doc-version`
-<!--
-There are several kinds of labels:
-
-* Level (Beginner, Intermediate, Advanced) with `label-doc-level`
-* Audience (Artist, Programmer, Designer) with `label-doc-audience`
-* Platform (iOS, Android, etc.) with `label-doc-platform`
-* Version where the feature have been introduced (Stride 2.1, etc.)with `label-doc-version`
--->
-
-例:
-```
-# Title
-
-<span class="label label-doc-level">初級</span>
-<span class="label label-doc-audience">アーティスト</span>
-
-## 概要
-
-……略……
-```
-<!--
-Example:
-```
-# Title
-
-<span class="label label-doc-level">Beginner</span>
-<span class="label label-doc-audience">Artist</span>
-
-## Overview
-
-Lorem ipsum...
-```
--->
-
-## <a name="Remarks"> 備考 </a>
-<!--
-## <a name="Remarks"> Remarks </a>
--->
-
-理解するために必要なくても応用上非常に有用な説明がある場合には、読者が読み飛ばすことができる余分な情報であることがわかるように、備考として追加してください。
-どのような情報であるかのヒントとして、注意、警告、ヒントなどのいくつかのタイプの備考を使用します。
-<!--
-Whenever you have explanations that is not necessary for the understanding of a concept but that
-can be very useful in application, add them as remarks so that the reader knows that it is extra information
-that can be skipped depending on his objective. We provide several types of remarks such as notes, warnings and
-tips to give an addition clue to the reader on what kind of extra information he is going to find.  
--->
-
-次の構文を使って、注意、Tips、警告を追加することができます。
-
-```
-> [!NOTE]
-> 何らかの役立つ情報
-```
-<!--
-You can add note, tip and warnings using the following syntax:
-
-```
-> [!NOTE]
-> Some useful notes
-```
--->
-
-利用可能なタイプは次の通りです。
-* NOTE
-* TIP
-* WARNING
-<!--
-Available types:
-* NOTE
-* TIP
-* WARNING
--->
-
-書式は今後も改善されていきますのでご注意ください。
-<!--
-Note that current styling will be improved.
--->
-
-## <a name="PlatformRemarks"> プラットフォーム固有の補足 </a>
-<!--
-## <a name="PlatformRemarks"> Platform Specific Remarks </a>
--->
-
-特定のプラットフォームに固有の説明や備考がある場合には、次のような書式を使って読者に示してください。
-<!--
-Whenever there are explanations or remarks that are specific to a given platform, you should
-use the following formatting style to show the reader that the section can be skipped depending on 
-the targeted platform.
--->
-
-次のスタイルクラスのいずれかを追加するだけです。
-```
-<div class="doc-android">Android に固有の情報</div>
-<div class="doc-iOS">iOS に固有の情報</div>
-<div class="doc-Windows">Windows に固有の情報</div>
-<div class="doc-Linux">Linux に固有の情報</div>
-```
-<!--
-To do this, simply add one of the following style classes:
-```
-<div class="doc-android">Android specific text</div>
-<div class="doc-iOS">iOS specific text</div>
-<div class="doc-Windows">Windows specific text</div>
-<div class="doc-Linux">Linux specific text</div>
-```
--->
-
-## <a name="Notices"> 通知事項 </a>
-<!--
-## <a name="Notices"> Notices </a>
--->
-
-重要な情報が欠けていたり、古くなっていたりする場合には、
-ページの上部に通知を追加して、読者に知らせるようにしましょう。
-<!--
-Whenever your page is missing some key information or is out-of-date, you should  
-add a notice at the top of the page to inform the reader.
--->
-
-ページの上部に、次のタグのいずれかを追加するだけです。
-```
-<div class="doc-incomplete"/>  → 現在のページは不完全です。
-<div class="doc-outofdate"/> → 現在のページは古くなっています。
-```
-<!--
-To do this, simply add one of the following tag at the top of the page:
-```
-<div class="doc-incomplete"/>  -> The current page is incomplete
-<div class="doc-outofdate"/> -> The current page is out-of-date
-```
--->
-
-これを記述すると、ページタイトルに自動的に 🔧 という文字が追加され、ユーザーに警告が表示されます。
-<!--
-Doing so will automatically add the 🔧 character to the page title to warn the user.
--->
-
-## <a name="Media"> メディア </a>
-<!--
-## <a name="Media"> Media </a>
--->
-
-次の構文を使って、記事にメディアを追加することができます。
-> \!\[グラフィックコンポーザーダイアグラム\]\(media/graphics-compositor.png\)  
-<!--
-You can add media content to your articles using the following syntax:
-> \!\[Graphics Compositor Diagram\]\(media/graphics-compositor.png\)  
--->
-
-「グラフィックコンポーザーダイアグラム」は、画像ファイルが見つからなかった場合にフォールバックとして表示されるメッセージです。
-'media/graphics-compositor.png'は、ファイルの相対パスです。
-<!--
-'Graphic Compositor Diagram' is the message displayed as fall-back if the image file can't be find.
-'media/graphics-compositor.png' is the relative path to the file.
--->
-
-メディアファイルを追加する際には、メディアファイルを作成する際に使用した「ソース」ファイルを、必ず一緒に含めるようにしてください。
-これにより、エンジン側で変更があった場合でも、画像、ダイアグラム、ビデオを迅速に更新することができます。
-ソースファイルとは、Photoshop ファイル、Visio ファイル、Adobe Premiere ファイルなどを指します。
-私たちが使うメディアを作成する際には、できるだけ無料または主流のツールを使用するようにしてください。
-<!--
-For each media file added, we kindly ask you to always include the 'source' file used to create 
-your media file next to it. This will allow us to quickly update the images, diagrams and videos 
-after some changes happen on the engine side. By source files we mean photoshop files, visio files, 
-adobe premiere files, etc. When you create your media, try as much as possible to use either free
-or mainstream tools.
--->
-
-メディアの作成時には、ソースデータのサイズを変更しないようにしましょう。
-画面に合わせて縮小する必要がある場合でも、縮小されたメディアを自分で作成することは避けましょう。
-代わりに、画像は元の解像度のままにしておき、ドキュメントシステムが自動的にユーザーのために適応させるようにしてください。
-私たちがこれをお願いしているのは、ある時点でドキュメントの幅を変更したり、画像をズームインする方法を提供することになるかもしれないからです。
-唯一の例外は、重たいビデオです。ページの読み込みを高速化するために、軽くされた動画を作成していただきたいと思います。
-<!--
-Avoid to resize the source data when you create your media. Even if your media needs to be scaled down
-to fit the screen, avoid to create scaled-down media by yourself. Instead keep your image in the
-original resolution and let the documentation system automatically adapt it for the user. We are asking 
-this because at some point we may decide to change the width of our documentation or to provide 
-a way to zoom into images. The only exceptions to this are heavy videos. We would like you to create 
-a lighter version of the videos to speed up the loading of the pages.
--->
-
-### <a name="Videos"> ビデオ </a>
-<!--
-### <a name="Videos"> Videos </a>
--->
-
-できる限り、**MP4** 形式と **H.265** で暗号化された動画をご利用ください。
-
-動画の編集におすすめのソフトは、Adobe After Effect です。
-<!--
-As much as possible, we ask you to use the **MP4** format and the **H265** encryption for videos.
-
-Recommenced software to edit the videos is Adobe After Effect.
--->
-
-### <a name="Images"> 画像 </a>
-<!--
-### <a name="Images"> Images </a>
--->
-
-負荷の高い高解像度画像は **JPEG** 形式で、それ以外の画像(おそらくほとんどの画像がそうでしょう)は **PNG** 形式でお願いします。
-
-ソースファイルは、Photoshop, GIMP, Paint.NET の形式が望ましいです。
-<!--
-We ask you to use the **JPEG** format for heavy high resolution images to reduce the load time and
-and the **PNG** format all the others (probably most of the images).
-
-For the source files, we prefer the following formats: Photoshop, GIMP, Paint.net.
--->
-
-### <a name="Diagrams"> ダイアグラム </a>
-<!--
-### <a name="Diagrams"> Diagrams </a>
--->
-
-ダイアグラム(図)は、**PNG** 形式、またはベクター画像で描画してください。
-ドキュメントシステムは画像のサイズを自動的に調整しますので、サイズが調整されても図に含まれるテキストが読み取れるようにしてください。
-図が大きすぎて縮小できない場合は、読者がクリックしたときにフルサイズで表示するようにしてください。
-<!--
-Diagrams should be rendered as **PNG** or vector image. Since the documentation system automatically 
-adjust the size of the images be careful that all text that you include in diagrams are still
-readable after size readjustment. When a diagram is too big and can't be reduced, allow the reader to 
-click and open it in full size.
--->
-
-次の構文を使用して、図をクリック可能にすることができます。
-TODO virgile
-<!--
-You can make diagrams clickable using the following syntax:
-TODO virgile
--->
-
-図は、Visio などの標準的な画像編集ツールで作成してください。
-<!--
-Diagrams can be created with Visio or standard image editing tools.
--->
-
-## <a name="Tables"> 表(テーブル) </a>
-<!--
-## <a name="Tables"> Tables </a>
--->
-
-Markdown の構文に従って、ドキュメントに表(テーブル)を追加することができます。
-表は情報を見やすくすることができますが、時には適切に表示されないことがあります。
-そのため、ページを投稿する前に、スマートフォンのような小さな解像度の画面で試してみてください。
-<!--
-You can add tables to the documentation by following the markdown syntax. Tables can improve the
-way information is display but sometimes does not properly scale down. So be sure to try your page
-on small resolution screen like Smart-phones before submitting your page.
--->
-
-## <a name="Lists"> 箇条書き(リスト) </a>
-<!--
-## <a name="Lists"> Lists </a>
--->
-
-可能な限り、リストの項目には全文よりも短いフレーズを使用してください。
-そうすることで読みやすくなり、読む速度がスピードアップします。
-各項目は、大文字で始めてください。
-<!--
-When possible prefer a short phrase than a full sentence for each item of a list. This simplifies and
-speeds the reading up. Start each item with a capital letter.
--->
-
-ステップ・バイ・ステップのプロセスを示すとき、または順序が重要なときは、箇条書きリストではなく順序付きのリストを使用してください。
-<!--
-When showing a step by step process or when order matters use ordered list rather of bullet points.
--->
-
-例:
-> **適切**
-> 
-> リストの使い方:
-> - それぞれの最初の文字を大文字にする
-> - 短いフレーズで書く
-> 
-> **不適切**
-> 
-> リストの正しくない使い方:
-> - 各項目の最初の文字を大文字にする必要があります。
-> - 箇条書きを使うメリットを減らすような長文を書いてはいけません。
-<!--
-Example. 
-> **Appropriate**
-> 
-> How to use lists:
-> - Capitalize each first letter
-> - Write short phrases
-> 
-> **Inappropriate**
-> 
-> How NOT to use lists:
-> - you should capitalize the first letter of each item.
-> - you should not write long sentence that will reduce the benefit of using a bullet list.
--->
-
-## <a name="Headers"> ヘッダー </a>
-<!--
-## <a name="Headers"> Headers </a>
--->
-
-ヘッダの作成には、Markdown の '#' 記号を使用します。
-ページのトップタイトルのみ、h1 スタイルにしてください。
-他のすべてのタイトルはサブタイトルであり、h2~ に整形してください。
-<!--
-The markdown '#' mark should be used to make headers. Only top title of the page should have the h1 style.
-All other titles are sub-titles and should be formated into h2+.
--->
-
-可能な限り、ヘッダー文は短くシンプルなものにしてください。
-また、可能な限り、ヘッダーの末尾には動詞や名詞を使用してください。<!--訳注:原文では「冒頭」だが、日本語では「末尾」とした -->
-現在分詞(動詞-ing形)は避けてください。
-<!--
-As much as possible header text should be short and simple. Whenever possible use a active verb 
-or a noun to start your header. Avoid verbs in -ing form.
--->
-
-例:
-> \# トップタイトル: ヘッダーを書く方法  
-> \___  
-> \## サブタイトルを書く  
-> \### サブサブフォルダを書く  
-> \### サブサブフォルダを書く  
-> \## サブフォルダを書く  
-<!--
-Example
-> \# Top Title: How to write headers.  
-> \___  
-> \## Write a sub-Title
-> \### Write a sub-sub-folder  
-> \### Write a sub-sub-folder  
-> \## Write a sub-folder  
--->
-
-## <a name="Capitalization"> 大文字表記 </a>
-<!--
-## <a name="Capitalization"> Letter Capitalization </a>
--->
-
-タイトルが完全な文章に近い場合には、最初の単語の最初の文字だけを大文字にしてください。
-タイトルがいくつかの単語(1~5 個)で構成されている場合には、それぞれの単語の数文字を大文字にしてください。
-<!--
-When a title is close to a full sentence you should only capitalize first letter of first work.
-When a title is just composed of a few words (1 to 5) you should capitalize the few letter of each 
-word.
--->
-
-ある事実を強く主張したいとき以外は、文中の単語をすべて大文字にしてはいけません。
-一般的に使われる単語は次の通りです。  
-ONLY, DO NOT, YES, NO, MAKE SURE TO, BE CAREFUL (TO/OF)
-<!--
-You should NEVER fully capitalize a word inside a sentence except when you want to strongly insist on 
-a fact. Words commonly used for this are: ONLY, DO NOT, YES, NO, MAKE SURE TO, BE CAREFUL (TO/ OF).
--->

+ 0 - 828
GUIDELINES.md

@@ -1,828 +0,0 @@
----
-breaks: false
----
-
-# Guidelines
-
-Stride users will be reading your articles to learn about the engine in their every day work. 
-Your goal is to write pages that are easy to understand and accessible to all. 
-To help you in your quest and to have an unified documentation easy to use,
-we ask you to follow to the below Guidelines when writing.
-
-* [Writing Style](#Style)
-  * [Conversation Tone](#Tone)
-  * [Second Person](#Person)
-  * [Active Voice](#ActiveVoice)
-  * [Simple Vocabulary](#SimpleVocabulary)
-* [Pages Content](#PagesContent)
-  * [Getting Started Pages](#GettingStarted)
-  * [Tutorials Pages](#Tutorials)
-  * [Section Header Pages](#SectionHeader)
-  * [Reference Pages](#Reference)
-  * [HOWTO Pages](#Howtos)
-  * [Avoid Long Explanations](#LongExplanations)
-  * [Avoid Long Articles](#LongArticles)
-  * [Use Images & Videos](#UseImagesVideos)
-* [Pages & Files Structure](#FilesStructure)
-  * [Pages Hierarchy](#PagesHierarchy) 
-  * [Pages Order](#PagesOrder)
-  * [Files Hierarchy](#FilesHierarchy)
-  * [Files Name](#FilesName)
-* [Formatting](#Formatting)
-  * [Text Styling](#Styling)
-  * [Definitions](#Definitions)
-    * [Stride Terms](#StrideTerms)
-    * [Video Game Terms](#VideoGameTerms)
-    * [Job Specific Terms](#JobTerms)
-  * [Page References](#References)
-  * [Related Topics](#RelatedTopics)
-  * [API References](#APIReferences)
-  * [Code References](#CodeReference)
-  * [Placeholders](#Placeholders)
-  * [Labels](#Labels)
-  * [Remarks](#Remarks)
-  * [Platform Specific Remarks](#PlatformRemarks)
-  * [Notices](#Notices)
-  * [Media](#Media)
-    * [Videos](#Videos)
-    * [Images](#Images)
-    * [Diagrams](#Diagrams)
-  * [Tables](#Tables)
-  * [Lists](#Lists)
-  * [Headers](#Headers)
-  * [Letter Capitalization](#Capitalization)
-  
-Note: The following directions are just guidelines not rules. 
-If they are not appropriate to your specific use-case, feel free to ignore them.
-
-# <a name="Style"> Writing Style </a>
-
-## <a name="Tone"> Conversation Tone </a>
-
-> **Appropriate**
-> 
-> We want our documentation to have a conversational tone. You should feel as though you
-> are having a conversation with the author as you read any of our tutorials or explanations.
-> Your experience as a reader should be informal, conversational, and informative. You should
-> feel as though you are listening to the author explain the concepts to you.
-> 
-> **Inappropriate Style**
->
-> One might see the contrast between a conversational style and the style one finds with
-> more academic treatments of technical topics. Those resources are very useful, but the authors
-> have written those articles in a very different style than our documentation. When one reads
-> an academic journal, one finds a very different tone and a very different style of writing.
-> One feels that they are reading a dry account of a very dry topic.  
-
-The first paragraph above follows our recommendation conversational style. The second
-is a more academic style. You see the difference immediately. 
-
-One the other hand, you should be careful not to become too much colloquial too.
-Expressions like "You gonna see", "We'll see", "We've" are to avoid.
-
-##  <a name="Person"> Second Person </a>
-
-> **Appropriate**
-> 
-> You should write your articles as though you are speaking directly to the reader. 
-> You should use second person often (as I just have in these two sentences). 
-> 2nd person doesn't always mean using the word 'you'. Write directly to the reader. 
-> Write imperative sentences. Tell your reader what you want them to learn.
-> 
-> **Inappropriate**
-> 
-> An author could also choose to write in 3rd person. In that model, an author must find 
-> some pronoun or noun to use when referring to the reader. A reader might often find 
-> this 3rd person style less engaging and less enjoyable to read.
-
-The first paragraph follows our recommended style. The second uses 3rd person. 
-Please write in second person. You probably found that much easier to read.
-
-##  <a name="ActiveVoice"> Active Voice </a>
-
-Write your articles in active voice. Active voice means that the subject of 
-the sentence performs the action (verb) of that sentence. It contrasts with passive voice, 
-where the sentence is arranged such that the subject of the sentence is acted upon. 
-Contrast these two examples:
-
-> **Appropriate**
-> 
-> The compiler transformed source code into an executable.
-
-> **Inappropriate**
-> 
-> The source code was transformed into an executable by the compiler.
-
-The first sentence uses active voice. The second sentence was written in passive voice. 
-(Those two sentences provide another example of each style).
-
-We recommend active voice because it is more readable. Passive voice can be more difficult to read.
-
-##  <a name="SimpleVocabulary"> Simple Vocabulary </a>
-
-Keep in mind that Stride users are not all native English speaker when you write your articles.
-Your audience is international and they probably don't have the vocabulary you have.
-
-As a general rule try to *target a 5th grade reading level" when you write.
-
-#  <a name="PagesContent"> Pages Content </a>
-
-Stride documentation is composed of different types of pages. The expected content and layout
-of the page directly depends on the type. Before writing your article, start by identifying the 
-type of page you are targeting, then follow the below templates for content and layout.
-
-In addition to content and layout guidelines based on the type of page, we finish this section 
-with a few generic recommendations for the content.
-
-##  <a name="GettingStarted"> Getting Started Pages </a>
-
-Getting Started articles aim at guiding new Stride users in their first steps. Pages should cover only basic 
-and essential topics and don't need to explain concepts in depth. Only one subject should be covered per page.
-
-Pages targeting any kind of audience should be inserted directly under the Getting Started root page.
-Pages targeting a specific audience should be inserted under a page specifying the audience. Getting
-Started pages order should follow the progress of a Stride new user.
-
-A Getting Started page consists of the following content:
-
-1. The page title (the subject dealt in the page).
-2. A short introduction explaining why the topic matters and the purposes of the feature or tool.
-3. A short paragraph explaining what the reader will concretely learn to do in the page.
-4. An image or a video illustrating what the user will learn (if possible).
-5. The sub-titles and the content of the page.
-
-Example:
-```
-# Design Scenes with Stride.
-
-Scenes are an essential element of your game. They allow you to divide the content of your game into levels and modules.
-In this article you will learn how to create and populate scenes from the editor in Stride.
-
-[Scene Image](media/scene.png)
-
-## Drag and drop elements in your scene
-
-...
-```
-
-##  <a name="Tutorials"> Tutorial Pages </a>
-
-The purpose of tutorials is to accompany users through the creation of a game component. Each tutorial 
-starts from a initial state (most of the time an empty game) and ends to a final state (mini game or 
-game component completed). A page should be created for each main step of the final realization.
-Pages should be ordered chronologically and next pages should start exactly were previous pages stop.
-A folder should be created for each tutorial. 
-
-A tutorial header page consists of the following content:
-
-1. The page title (name of the tutorial).
-2. A description of what will be realized and what can be learned from the tutorial. 
-3. The knowledge needed to be able to complete the tutorial (if any). 
-4. One or several images of the final realization (if possible). 
-5. A table of content with the links to the tutorial sub-pages (ordered list).
-
-Example
-```
-# My 2D game tutorial
-
-In this tutorial you will create a simple 2D game from scratch. You will learn how to create a scene,
-perform collisions between elements and add a UI to your game.
-This tutorial assumes that you know how to create a new project and import assets in Stride.
-
-[My 2D Game Image](media/my2dGame.png)
-
-1. [Import assets](ImportAsset.md)
-2. [Create your level](CreateLevel.md)
-3. [Add Collisions](AddCollisions.md)
-4. [Add a UI](AddUI.md)
-```
-
-A tutorial page consists of the following content:
-
-1. The page title (realization of the page) 
-2. Links to previous and next tutorial pages
-3. A description of what will be realized in the current page and what will be learned. 
-4. One or several pictures illustrating the realization of the page (if possible).
-5. The sub-steps and the content of the page.
-6. A sentence introducing the next page of the tutorial including a link.
-
-Example
-```
-# Add UI to the game
-
-Previous [Use Physics Collisions](UsePhysicsCollision.md) | Next [Deploy your game](DeployYourGame.md)
-
-In this page you will add a simple UI to your game. You will learn how to create a UI using Stride default 
-design and make it interact with the gameplay.
-
-[My Game UI Image](media/MyGameUI.png)
-
-1. [Add a UI component](# Add a UI component)
-2. [Set the UI](# Set the UI)
-3. [Make UI interact with your game](# Make UI interact with your game)
-
-## Add a UI component 
-
-...
-
-In the next section we will see how you can [Deploy your game](DeployYourGame.md).
-
-```
-
-Note: as much as possible each instruction should be surrounded by two images showing the state 
-before and after the instruction. Image before the first instruction should correspond to the initial
-state and last image should correspond to the final state.
-
-##  <a name="SectionHeader"> Section Header Pages </a>
-
-Section headers are the top pages of the folders of the documentation. The goal of header pages is 
-to introduce the section topic, to expose the best features of the engine and to provide an overview of the section.
-
-A header page consists of:
-
-1. The name of the section as title
-2. An image illustrating the section (for sub-folder this image can be skipped)
-3. A short introduction sentence explaining what is the section about.
-4. A paragraph exposing the main and best features of the engine on the topic.
-5. A short paragraph explaining what can be learned by reading this section. 
-6. An overview of the section giving a full insight of the topic (objectives, challenges, base concepts).
-
-Note: for sub-folder headers only an overview or links to main subjects can be enough for a section header page.
-
-Example
-```
-# Physics
-
-![Physic Section Image](media/PhysicSection.png)
-
-Physics allows you to make physics simulations in your game.
-
-Stride has a physic system fully integrated in its game studio. Its dedicated physic editor allows you to
-directly edit physic shapes of objects or to automatically generate them from the models. 
-
-In this section you will learn how to simulate collisions between objects, add trigger regions, apply 
-physic law on objects, etc.
-
-## Overview
-
-The goal of the physic engine is to provide ways to produce and automate actions on your game elements
-so that they seems to follow physic laws. Accurate physic simulations being very costly all physic behaviors
-have to be approximated. 
-
-# Physic Shapes
-
-![Physic Shapes Image](media/PhysicShapes.png)
-...
-
-# Physic Object Types
-...
-```
-
-##  <a name="Reference"> Reference Pages </a>
-
-Reference pages explain in depth a specific concept, feature, or element.
-
-A reference page consists of:
-
-1. The page title (name of the concept)
-2. The definition and explanation of the concept.
-3. The standard usages of the concept and a explanation why the topic matters.
-4. An image illustrating the concept (if possible)
-6. The sub-topics with the content (functionalities, usages samples, etc)
-
-Example
-```
-# Materials
-
-A material is a set of rules defining how to render an element.
-
-You can use materials with model, particles system and sprites to define the color, lighting and shadowing
-of your element.
-
-![Material Image](media/Material.png)
-
-1. Object Geometry
-
-...
-
-2. Object Shading
-...
-
-```
-
-
-##  <a name="Howtos"> HOWTO Pages </a>
-
-The goal of the HOWTO pages is to provide a list of clear instructions to realize a specific thing. 
-Each HOWTO page should be independent from other HOWTO pages and guide the reader towards 
-a single target. It should not define nor explain any concept.
-
-A HOWTO page consists of:
-
-1. The page title (phrase starting with a verb describing the target)
-2. The knowledge needed to understand the instructions.
-3. The goal of the page and what the user will learn to doc-audience
-4. An image of the final realization (if possible)
-5. The main steps and their explanations and sub-instructions (add the step number in the sub-title)
-
-Example
-```
-# Add particles inside our UI
-
-Prerequisites: This page assumes that you know how to use particles and UI elements in general.
-
-In this page you will learn how to attach particles to an UI element.
-
-![Particles In UI Image](media/ParticlesInUI.png)
-
-## 1. Create your particle Effect.
-...
-
-## 2. Create your UI
-...
-
-## 3. Add a UI link component
-...
-
-```
-
-Note: as much as possible each instruction should be surrounded by two images showing the state 
-before and after the instruction. Image before the first instruction should correspond to the initial
-state and last image should correspond to the final state.
-
-##  <a name="LongExplanations"> Avoid Long Explanations </a>
-
-Long explanation are quite indigestible for the reader. Most of the time, he simply skips them.
-If not, he is not able to remember the essential point of the explanation. 
-
-To avoid this, try to never explain more than one concept in a simple paragraph.
-Try to keep your explanation short and simple and when possible add an image or a diagram 
-that corresponds to the concept next to your text.
-
-This guideline is even more important for Getting Started, Tutorials and HOWTO pages,
-where the text should correspond more to instructions than explanations about Stride concepts.
-In those pages, you should either try to explain the concept in a simple lline or replace the
-explanation by a reference to the page dedicated to the concept.
-
-##  <a name="LongArticles"> Avoid Long Articles </a>
-
-Try to avoid writing articles longer than 8 to 10 screen heights. Long articles discourage users 
-to start reading and make the navigation harder. If the content of your article cannot fit in
-the above number of screen, split your article into several articles.
-
-##  <a name="UseImagesVideos"> Use Images & Videos </a>
-
-As much as possible add images or videos to accompany your explanation. This helps the reader a lot.
-
-Also whenever it makes sense, we recommend you to use small videos instead of images. 
-We believe that the time where we had to use diagrams with lots of arrows going in all directions
-because videos were too heavy is over. Nowadays Internet connections and compression algorithms 
-are good enough to include short videos in the documentation and increase even more the ease of
-understanding.
-
-### How to encode videos
-
-To make sure videos play well in different browsers and on different devices, stick to a format with low requirements, such as H264 baseline profile (which works almost everywhere).
-
-To convert a video to this format, process the file using [fmpeg](https://ffmpeg.org/download.html).
-
-1. Download the Ffmpeg package for your operating system.
-
-2. Run the ff-prompt.bat file.
-
-3. In the ff-prompt.bat command line, browse to the folder with the video you want to convert.
-
-4. Run the following command, replacing ``myvideo_original.mp4`` with the filename of the video you want to convert, and ``myvideo.mp4`` with the filename of the output file you want to create:
-
-```
-ffmpeg -i myvideo_original.mp4 -profile:v baseline -level 3.0 -an myvideo.mp4
-```
-
-After you do this, generate a static thumbnail so that mobile users can preview the video before downloading. To do this, run:
-
-```
-ffmpeg -i myvideo.mp4 -vframes 1 -f image2 -y myvideo.jpg
-```
-
-### Embed videos
-
-Put this syntax in the .md file, replacing the directories and filenames with the files you want to use:
-
-
-```
-<p>
-    <video autoplay loop class="responsive-video" poster="folder/myvideo.jpg">
-       <source src="folder/myvideo.mp4" type="video/mp4">
-    </video>
-</p>
-```
-
-# <a name="FilesStructure"> Pages & Files Structure </a>
-
-The hierarchy of the documentation pages is specified in the [manual/toc.md](manual/toc.md) file
-and is independent from the file hierarchy of this repository. For example, a single article can
-be added several times at different location in the documentation if needed. Nevertheless for ease
-we ask you to try to keep the same hierarchy between the documentation pages and this
-repository files.
-
-To add a new page in the documentation, just add a new entry at the appropriate place in the 
-[toc](manual/toc.md) file.
-
-## <a name="PagesHierarchy"> Pages Hierarchy </a>
-
-As a general rule, we want to avoid deep hierarchies for the ease of navigation. 
-As much as possible we recommend you not to go beyond 4 levels of depth.
-
-> Getting Started
->   - Common Topic
->   - Targeted Audience
->      - Topic
-> Tutorials
->   - My 2D game
->   - My 3D game
-> Engine
->   - Topic
->   - Sub-Category
->     - Sub-Topic
->   - HOWTO
->     - Do something
-
-Page naming conventions:
-* The name of the pages under the HOWTO folder should start with a verb and describe an objective ('Activate post-effects to your game', etc)
-
-## <a name="PagesOrder"> Pages Order </a>
-
-Documentation pages don't necessary need to be alphabetically ordered.
-
-As a general rule, order your new pages as follow:
-
-1. Chronologically when there is a chronological order (Getting started / tutorial pages)
-2. Most important subjects first (Overview pages -> References pages -> HOWTOs) 
-3. When pages have the same importance, order them alphabetically.
-
-## <a name="FilesHierarchy"> Files Hierarchy </a>
-
-Article files should be organized into folders. As much as possible we will try to respect the
-same hierarchy as the documentation. Files corresponding to section header should be included at the 
-top of the folder having the same name and be named 'index.md'. Folder and file names should be
-composed of only **lower case letters, words should be separated by dashes**.
-
-Media files (images and videos) referenced in articles should be placed in a dedicated folder
-named 'media' and put next to the referencing articles.
-
-Code sample files (C#, scripts, etc) referenced in articles should be placed in a dedicated 
-folder named 'code' and put next to the referencing articles.
-
-Hierarchy example:
-
-> graphic
->   - index.md
->   - overview.md
->   - media
->     - overview-image1.png
->     - overview-image2.png
->     - overview-video2.mp4
->   - post-effects
->     - index.md
->     - media
->       - post-effect-image1.png
->     - code
->       - post-effect-code.cs
-
-## <a name="FilesName"> Files Name </a>
-
-File names should consist only of **lower case letters** and **dashes to separate the words**.
-Also as much as possible, you should give explicit and human-understandable names to files and 
-start the page name by either an active verb or a noun (avoid -ing form verbs).
-
-Our recommendations are the following:
-- Section Header files should always be named 'index.md'
-- Article files should be named using the main title of the page (without spaces)
-- Media files should have a simple name corresponding to the content of the file
-
-Examples:
-> **Appropriate**  
-> index.md  
-> point-light.md  
-> point-light-diagram.png  
->
-> **Inappropriate**  
-> graphics-index.md  
-> PointLightFile1.md  
-> Img20150902.png  
-
-#  <a name="Formatting"> Formatting </a>
-
-##  <a name="Styling"> Text Styling </a>
-
-In order to simplify the reading of the documentation, it is important that you properly use bold and italic styles.
-
-Put every important word or step in bold using the **Text in bold** syntax.
-
-Put every UI element or Window names in italic using the *Text in italic* syntax.
-
-##  <a name="Definitions"> Definitions </a>
-
-When you write your articles, you should be careful of properly defining all the terms that can be
-unknown by the user. We can basically distinguish the following three types of terms.
-
-###  <a name="StrideTerms"> Stride Terms </a>
-
-These terms are specific to Stride and absolutely need to be defined. These are terms like Asset,
-Live Scripting, Graphic Compositor, etc. You don't necessary need to create a dedicated page for each term. 
-You can define the term in the middle of a parent page if the concept is simple to explain. 
-Add the following tagg TODO virgile when we are done in editor doc. 
-Then link it at least every first occurrence of the word in an article. 
-In addition add a shorter version of the definition as metadata in the page.
-This will be used later to create definition tooltips.
-
-Example
-
-```
-TODO @virgile: update this
-```
-
-###  <a name="VideoGameTerms"> Video Game Terms </a>
-
-These terms are specific to the game and graphic industry. 
-They should be briefly defined in one sentence in the Stride documentation.
-If the topic is important for Stride (e.g.: Forward rendering, etc.) we will elaborate more on the matter.
-If not a link to an external site (wikipedia, etc) can also be used.
-The brief definition will be used to build tooltip in the documentation and Game Studio. 
-Only the first occurrence of the page should be linked.
-
-Example
-```
-TODO @virgile
-
-In Stride you can choose between @forward-rendering and @deffered-rendering. (<-link to a dedicated pages).
-
-Depending on the rendering model the [Shaders](http://wikipedia/shaders) are completely different. 
-(<- external reference)
-
-The more complex shaders are blablabla (<- second reference no link)
-```
-
-Note: If the expected audience for the page is 'Intermediate' or 'Advanced' basic term definitions can 
-be skipped. 
-
-###  <a name="JobTerms"> Job Specific Terms </a>
-
-These terms are specific to a role in the development process. They need to be defined only the when 
-the expected audience for the page is wider than just the specific job or when the term is used in the Stride API. Most of the time we will 
-define them by using a link to an external page and adding a tooltip definition. Only the first occurrence
-of the page has to be defined.
-
-##  <a name="References"> Page References </a>
-
-We recommend you to add cross reference to other documentation pages as much as possible to ease
-to reader navigation. 
-
-To add a cross reference proceed as follow:
-
-1. Add a uid at the top of the destination file
-2. Everytimes you want to link the page just reference it using the @uid shortcut.
-
-Example
-```
-material.md:
----
-uid: material
----
-
-# Material
-...
-
-sprite.md:
-For more information about sprite color, read @material.
-```
-
-Note: for more information please refer to DocFX documentation.
-
-## <a name="RelatedTopics"> Related Topics </a>
-
-To encourage readers to learn more about a topic and also to ease their navigation,
-we recommend you as much as possible to add links to related topics at the bottom of your articles.
-
-For this use the doc-relatedtopics style, as follow: 
-```
-<div class="doc-relatedtopics">
-* [Page1](link-to-page1)
-* [Page2](link-to-page2)
-* [Page3](link-to-page3)
-</div>
-```
-
-## <a name="APIReferences"> API References </a>
-
-A link to the API reference should be added for EACH mention of an API class, interface, function, etc.
-To avoid to add too many times the same links, you can replace the function name by an action verb.
-
-Adding a link to a reference API can be done the following way:
-> @'MyNamespace.MyClass.MyFunction'
-
-Example:
-```
-Use the @'Stride.Audio.SoundEffectInstance.Play' function start playing a sound.
-Playing an ongoing sound has no effect. Playing a stopped sound restart the sound from beginning.
-```
-
-## <a name="CodeReference"> Code References </a>
-
-Code samples should be as small as possible, well commented and be properly formatted when included. 
-There are two different ways to insert some code in your article. First add the code content directly in your 
-article with the proper formatting or add a reference to an existing code file. 
-We recommend you to add the code sample directly in your article except when the code sample is used
-in several different places. In that case we recommend you to use a reference to a code file.
-It can be much more efficient in term of maintenance.
-
-Example:
-> **Code directly included in the article**
-> 
-> \`\`\`cs  
-> Asset.Unload(asset);  
-> \`\`\`
->
-> **Reference to an external code file**  
-> \[\!code-csharp\[Main\]\(index.cs?start=5&end=9\)\]  // add line 5 to 9 of file index.cs
-
-
-## <a name="Placeholders"> Placeholders </a>
-
-For ease of understanding make all placeholders start by 'My'.
-
-Example:
-> Content.Load("MyFolder/MyAsset");
-
-## <a name="Labels"> Labels </a>
-
-Labels are optional info displayed at the top of the page so that readers can quickly understand intended target audience.
-
-Please place them right after the top-level title.
-
-There are several kinds of labels:
-
-* Level (Beginner, Intermediate, Advanced) with `label-doc-level`
-* Audience (Artist, Programmer, Designer) with `label-doc-audience`
-* Platform (iOS, Android, etc.) with `label-doc-platform`
-* Version where the feature have been introduced (Stride 2.1, etc.)with `label-doc-version`
-
-Example:
-```
-# Title
-
-<span class="label label-doc-level">Beginner</span>
-<span class="label label-doc-audience">Artist</span>
-
-## Overview
-
-Lorem ipsum...
-```
-
-
-## <a name="Remarks"> Remarks </a>
-
-Whenever you have explanations that is not necessary for the understanding of a concept but that
-can be very useful in application, add them as remarks so that the reader knows that it is extra information
-that can be skipped depending on his objective. We provide several types of remarks such as notes, warnings and
-tips to give an addition clue to the reader on what kind of extra information he is going to find.  
-
-You can add note, tip and warnings using the following syntax:
-
-```
-> [!NOTE]
-> Some useful notes
-```
-
-Available types:
-* NOTE
-* TIP
-* WARNING
-
-Note that current styling will be improved.
-
-## <a name="PlatformRemarks"> Platform Specific Remarks </a>
-
-Whenever there are explanations or remarks that are specific to a given platform, you should
-use the following formatting style to show the reader that the section can be skipped depending on 
-the targeted platform.
-
-To do this, simply add one of the following style classes:
-```
-<div class="doc-android">Android specific text</div>
-<div class="doc-iOS">iOS specific text</div>
-<div class="doc-Windows">Windows specific text</div>
-<div class="doc-Linux">Linux specific text</div>
-```
-
-## <a name="Notices"> Notices </a>
-
-Whenever your page is missing some key information or is out-of-date, you should  
-add a notice at the top of the page to inform the reader.
-
-To do this, simply add one of the following tag at the top of the page:
-```
-<div class="doc-incomplete"/>  -> The current page is incomplete
-<div class="doc-outofdate"/> -> The current page is out-of-date
-```
-
-Doing so will automatically add the 🔧 character to the page title to warn the user.
-
-## <a name="Media"> Media </a>
-
-You can add media content to your articles using the following syntax:
-> \!\[Graphics Compositor Diagram\]\(media/graphics-compositor.png\)  
-
-'Graphic Compositor Diagram' is the message displayed as fall-back if the image file can't be find.
-'media/graphics-compositor.png' is the relative path to the file.
-
-For each media file added, we kindly ask you to always include the 'source' file used to create 
-your media file next to it. This will allow us to quickly update the images, diagrams and videos 
-after some changes happen on the engine side. By source files we mean photoshop files, visio files, 
-adobe premiere files, etc. When you create your media, try as much as possible to use either free
-or mainstream tools.
-
-Avoid to resize the source data when you create your media. Even if your media needs to be scaled down
-to fit the screen, avoid to create scaled-down media by yourself. Instead keep your image in the
-original resolution and let the documentation system automatically adapt it for the user. We are asking 
-this because at some point we may decide to change the width of our documentation or to provide 
-a way to zoom into images. The only exceptions to this are heavy videos. We would like you to create 
-a lighter version of the videos to speed up the loading of the pages.
-
-### <a name="Videos"> Videos </a>
-
-As much as possible, we ask you to use the **MP4** format and the **H265** encryption for videos.
-
-Recommenced software to edit the videos is Adobe After Effect.
-
-### <a name="Images"> Images </a>
-
-We ask you to use the **JPEG** format for heavy high resolution images to reduce the load time and
-and the **PNG** format all the others (probably most of the images).
-
-For the source files, we prefer the following formats: Photoshop, GIMP, Paint.net.
-
-### <a name="Diagrams"> Diagrams </a>
-
-Diagrams should be rendered as **PNG** or vector image. Since the documentation system automatically 
-adjust the size of the images be careful that all text that you include in diagrams are still
-readable after size readjustment. When a diagram is too big and can't be reduced, allow the reader to 
-click and open it in full size.
-
-You can make diagrams clickable using the following syntax:
-TODO virgile
-
-Diagrams can be created with Visio or standard image editing tools.
-
-## <a name="Tables"> Tables </a>
-
-You can add tables to the documentation by following the markdown syntax. Tables can improve the
-way information is display but sometimes does not properly scale down. So be sure to try your page
-on small resolution screen like Smart-phones before submitting your page.
-
-## <a name="Lists"> Lists </a>
-
-When possible prefer a short phrase than a full sentence for each item of a list. This simplifies and
-speeds the reading up. Start each item with a capital letter.
-
-When showing a step by step process or when order matters use ordered list rather of bullet points.
-
-Example. 
-> **Appropriate**
-> 
-> How to use lists:
-> - Capitalize each first letter
-> - Write short phrases
-> 
-> **Inappropriate**
-> 
-> How NOT to use lists:
-> - you should capitalize the first letter of each item.
-> - you should not write long sentence that will reduce the benefit of using a bullet list.
-
-## <a name="Headers"> Headers </a>
-
-The markdown '#' mark should be used to make headers. Only top title of the page should have the h1 style.
-All other titles are sub-titles and should be formated into h2+.
-
-
-As much as possible header text should be short and simple. Whenever possible use a active verb 
-or a noun to start your header. Avoid verbs in -ing form.
-
-Example
-> \# Top Title: How to write headers.  
-> \___  
-> \## Write a sub-Title
-> \### Write a sub-sub-folder  
-> \### Write a sub-sub-folder  
-> \## Write a sub-folder  
-
-## <a name="Capitalization"> Letter Capitalization </a>
-
-When a title is close to a full sentence you should only capitalize first letter of first work.
-When a title is just composed of a few words (1 to 5) you should capitalize the few letter of each 
-word.
-
-You should NEVER fully capitalize a word inside a sentence except when you want to strongly insist on 
-a fact. Words commonly used for this are: ONLY, DO NOT, YES, NO, MAKE SURE TO, BE CAREFUL (TO/ OF).
-

+ 3 - 3
deps/docfx/LICENSE → LICENSE

@@ -1,6 +1,6 @@
-The MIT License (MIT)
+MIT License
 
-Copyright (c) Microsoft Corporation
+Copyright (c) 2023 Stride Contributors
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
@@ -18,4 +18,4 @@ 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.
+SOFTWARE.

+ 0 - 12
LICENSE.md

@@ -1,12 +0,0 @@
-// Copyright (c) 2014-2018 Silicon Studio Corp. (http://siliconstudio.co.jp)
-// Copyright (c) 2018 Stride contributors (https://stride3d.net)
-
-All the Stride documentation and the media it contains is licensed under the 
-Creative Commons Attribution 4.0 International License. 
-Details at http://creativecommons.org/licenses/by/4.0/legalcode.
-
-All the code contained in this documentation is licensed under the MIT License.
-Details at https://opensource.org/licenses/MIT.
-
-This license does not allow you to use any trademarks or logos of Stride.
-For any trademark inquiries, please contact us through the website contact form.

+ 0 - 48
NewLanguageWorkflow.md

@@ -1,48 +0,0 @@
-# New Language Workflow
-
-As the [Contribution Workflow](https://github.com/stride3d/stride-docs/blob/master/GETTINGSTARTED.md#Workflow) suggests, you should create an [issue](https://github.com/stride3d/stride-docs/issues) first, where you can mention your intention and where we can keep a track of conversation on this subject. You can also ping us in our [Discord Documentation](https://discord.com/channels/500285081265635328/500295611581464576) channel once the issue was created.
-
-Assuming that your request was approved, as an example, let's add a Spanish language. We will use code **es**.
-
-1. Clone the repo ```git lfs clone https://github.com/stride3d/stride-docs.git```
-   - Make sure LFS (Large File Storage) is used
-1. Create your working branch from the main branch
-   - If you make big updates, it is better to keep your updates in this new branch, so you can keep your main branch in the sync with the main repository
-1. Copy **\en\manual** folder to **\es\manual**
-1. Copy **\en\index.md** file to **\es\index.md**
-1. Translate whatever you need in the **\es** folder
-    - make sure you don't change file names
-    - make sure that all folders and pages from the **\es\manual** folder which are not translated are deleted, this is very important, because the default **\en\manual** pages will be copied automatically through the ps1 script. This way when we update the **en** version, it will also automatically update all **\es\manual** pages which are not translated. The ps1 script then overwrites all **en** pages with translated **es** pages
-1. Update **\build.bat** - add ```&& Call ./es-build.bat```
-1. Update **\build_manual_only.bat** - add ```& Call ./es-build.bat```
-1. Update **\web.config** - add ```|es```
-1. Update **\build\web.config**  - add ```|es```
-1. Update **\en\template\styles\main.js** - add ```|es```
-1. Update **\en\template\partials\navbar.tmpl.partial** - add data-language es
-1. Duplicate **\jp-build.ps1** to **\es-build.ps1**
-    - Update content jp to es
-    - Update ```'doc-no-translated'``` with ```'doc-no-translated doc-no-translated-es'```
-        - Note: We keep also the original ```doc-no-translated``` because it is used in the docs generator logic
-1. Update **\en\template\styles\main.css**
-    - Duplicate class ```.doc-no-translated::after```, and place the new one **below**, rename it to ```.doc-no-translated-es::after```
-    - Translate the text to es
-1. Duplicate **\jp-build.bat** to **\es-build.bat**
-    - Update content jp to es
-1. Duplicate **\run_local_website_jp.bat** to **\run_local_website_es.bat**
-    - Update content jp to es
-1. Test the build with **build.bat** if you also have Stride repository, or just **build_manual_only.bat**, or **es-build.bat**
-1. Run **run_local_website.bat**. It opens the local version of the doc in your browser
-1. Test that you can switch the languages in the top menu
-1. If all is working as expected, submit PR
-
-## Current Language Contributors 
-
-Please notify these contributors if any changes need to be made
-- EN language: Anyone in our Discord Documentation channel
-- RU language: @\~FallenParadise\~ in our Discord Documentation channel
-- JP language: Anyone in our Discord Documentation channel
-
-## Troubleshooting
-
-1. Program 'docfx.exe' failed to run: The specified executable is not a valid application for this OS platform
-   - Check the file size. If the repository was cloned without **LFS**, the files in **\\deps\\docfx\\** might be just a reference. Clone again with LFS.

+ 45 - 0
OldDocsFix.ps1

@@ -0,0 +1,45 @@
+# This script was used to fix the links in the old Stride documentation after the main Stride Website update so there are no dependencies
+
+# specify your directory path
+$path = 'd:\Projects\GitHub\stride-docs-live-fix-2\'
+
+$replacements = @{
+    '//stride3d.net/css/site.css' = 'css/site.css';
+    '//xenko.com/css/site.css' = 'css/site.css';
+    '//stride3d.net/scripts/site.doc.js' = 'scripts/site.doc.js';
+    '//xenko.com/scripts/site.doc.js' = 'scripts/site.doc.js';
+    '//stride3d.net/favicon.png' = 'favicon.png';
+    '//xenko.com/favicon.png' = 'favicon.png';
+    '//stride3d.net/scripts/theme.js' = 'scripts/theme.js';
+    '//xenko.com/scripts/theme.js' = 'scripts/theme.js';
+}
+
+$files = Get-ChildItem -Path $path -Filter *.html -Recurse
+$fileCount = $files.Count
+$i = 0
+
+foreach ($file in $files) {
+    # if ($i -ge 100) { break } # Exit loop after 100 items
+
+    $i++
+    $content = Get-Content $file.FullName -Encoding UTF8 -Raw
+
+   # Get content of 'docfx:rel' meta tag
+    $metaContent = ""
+    if ($content -match '<meta\s+property="docfx:rel"\s+content="([^"]*)">') {
+        if ($Matches.Count -gt 1) {
+            $metaContent = $Matches[1]
+        }
+    }
+
+    $replacements.Keys | ForEach-Object {
+        $content = $content -replace $_, ($metaContent + $replacements[$_])
+    }
+
+    Set-Content -Path $file.FullName -Value $content -Encoding UTF8
+
+    # Update progress bar
+    Write-Progress -Activity "Processing Files" -Status "$i of $fileCount processed" -PercentComplete (($i / $fileCount) * 100)
+}
+
+Write-Progress -Activity "Processing Files" -Completed

+ 6 - 0
Program.cs

@@ -0,0 +1,6 @@
+var builder = WebApplication.CreateBuilder(args);
+var app = builder.Build();
+
+app.MapGet("/", () => "Hello World!");
+
+app.Run();

+ 37 - 0
Properties/launchSettings.json

@@ -0,0 +1,37 @@
+{
+  "iisSettings": {
+    "windowsAuthentication": false,
+    "anonymousAuthentication": true,
+    "iisExpress": {
+      "applicationUrl": "http://localhost:52392",
+      "sslPort": 44307
+    }
+  },
+  "profiles": {
+    "http": {
+      "commandName": "Project",
+      "dotnetRunMessages": true,
+      "launchBrowser": true,
+      "applicationUrl": "http://localhost:5199",
+      "environmentVariables": {
+        "ASPNETCORE_ENVIRONMENT": "Development"
+      }
+    },
+    "https": {
+      "commandName": "Project",
+      "dotnetRunMessages": true,
+      "launchBrowser": true,
+      "applicationUrl": "https://localhost:7180;http://localhost:5199",
+      "environmentVariables": {
+        "ASPNETCORE_ENVIRONMENT": "Development"
+      }
+    },
+    "IIS Express": {
+      "commandName": "IISExpress",
+      "launchBrowser": true,
+      "environmentVariables": {
+        "ASPNETCORE_ENVIRONMENT": "Development"
+      }
+    }
+  }
+}

+ 53 - 9
README.md

@@ -1,16 +1,60 @@
-Stride documentation
-=======
+# Stride Docs Development
 
-Welcome to the Stride documentation repository. This repository contains all the source files for the Stride documentation (http://doc.stride3d.net/). 
+Welcome to the Stride Docs repository. This repository contains all the source files for the Stride documentation https://doc.stride3d.net/.
 
-Anyone is welcome to contribute! Before you start, please take the time to read the [guidelines](GUIDELINES.md). 
+* [Getting Started](#-getting-started)
+* [Contributing](#-contributing)
+* [Roadmap](#%EF%B8%8F-roadmap)
+* [Stride Documentation Landscape](#-stride-documentation-landscape)
+* [.NET Foundation](#-net-foundation)
+* [License](#%EF%B8%8Flicense)
 
-You can find basic information about editing the documentation in [Getting Started](GETTINGSTARTED.md).
+## 🚀 Getting Started
 
-Happy editing!
+All the information you need to get started with Stride Docs development can be found in the 📚 [Stride Docs Wiki](https://github.com/stride3d/stride-docs/wiki).
 
-# Manage multiple Stride versions
+## 🤝 Contributing
 
-Each Stride minor version (i.e. 4.0, 4.1, etc.) should have its own branch, named in the fashion `master-<version>`. The only exception is latest version, which should be `master`.
+Use [Discord](https://discord.gg/f6aerfE) for questions and general discussions. 
+Use [Issues](https://github.com/stride3d/stride-docs/issues) to report bugs and proposing features.
 
-Don't forget to change `$version` in [deploy.ps1](build/deploy.ps1) when branching before first deployment.
+We welcome code contributions through pull requests. Issues tagged as **[`help-wanted`](https://github.com/stride3d/stride-website/labels/help-wanted)** are good candidates for starting to contribute code.
+
+### Branch and Release
+
+The `master` branch is the default branch for pull requests and most other development activities. 
+
+Releases are based on a stable `master` branch. Use of [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/) is encouraged.
+
+Stride Docs website is _not_ released under a regular cadence; new updates arrive when maintainers fix issues or see enough changes that warrant a new releases.
+
+### Staging
+
+The staging website allows us to test new features and significant changes before their official release.
+
+The staging website is available at https://stride-doc-staging.azurewebsites.net/
+
+## 🗺️ Roadmap
+
+Our Wiki [Roadmap](https://github.com/stride3d/stride-docs/wiki/Roadmap) communicates upcoming changes to the Stride Docs.
+
+## 📖 Stride Documentation Landscape
+
+The Stride documentation landscape is organized across different repositories and their respective wikis to cater to both users and contributors. Here's how it's structured:
+
+1. [Stride Website](https://www.stride3d.net/) - Stride's official site showcasing its free, open-source 2D and 3D game engine, alongside blog posts
+   - [Stride Website Wiki](https://github.com/stride3d/stride-website/wiki) - This wiki serves as a comprehensive guide for those looking to contribute to or develop the Stride Website
+1. [Stride Docs](https://doc.stride3d.net/) - Here you'll find Stride's documentation, including manuals, tutorials, and API references
+   - [Stride Docs Wiki](https://github.com/stride3d/stride-docs/wiki) - This wiki is a comprehensive guide for individuals interested in contributing to or developing the Stride Docs
+1. [Stride Wiki](https://github.com/stride3d/stride/wiki) - A thorough guide for those who wish to contribute to or develop Stride game engine  
+
+## 🌐 .NET Foundation
+
+This project is supported by the [.NET Foundation](http://www.dotnetfoundation.org).
+
+This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community.
+For more information see the [.NET Foundation Code of Conduct](http://www.dotnetfoundation.org/code-of-conduct).
+
+## 🛡️License
+
+This project is licensed under the [MIT](https://github.com/stride3d/stride-docs/blob/master/LICENSE.md) License.

+ 9 - 0
Stride.Docs.csproj

@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+    <PropertyGroup>
+        <TargetFramework>net6.0</TargetFramework>
+        <Nullable>enable</Nullable>
+        <ImplicitUsings>enable</ImplicitUsings>
+    </PropertyGroup>
+
+</Project>

+ 6 - 0
Stride.Docs.csproj.user

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ActiveDebugProfile>https</ActiveDebugProfile>
+  </PropertyGroup>
+</Project>

+ 34 - 0
Stride.Docs.sln

@@ -0,0 +1,34 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.33516.290
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Stride.Docs", "Stride.Docs.csproj", "{F221508C-43CE-45A5-BC37-3050882A22A5}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{85103FBF-C9A6-4722-B36B-89A58F55C1DF}"
+	ProjectSection(SolutionItems) = preProject
+		.github\workflows\stride-docs-release-azure.yml = .github\workflows\stride-docs-release-azure.yml
+		.github\workflows\stride-docs-release-fast-track-azure.yml = .github\workflows\stride-docs-release-fast-track-azure.yml
+		.github\workflows\stride-docs-staging-azure.yml = .github\workflows\stride-docs-staging-azure.yml
+		.github\workflows\stride-docs-staging-fast-track-azure.yml = .github\workflows\stride-docs-staging-fast-track-azure.yml
+		.github\workflows\stride-docs-wiki.yml = .github\workflows\stride-docs-wiki.yml
+	EndProjectSection
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{F221508C-43CE-45A5-BC37-3050882A22A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F221508C-43CE-45A5-BC37-3050882A22A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F221508C-43CE-45A5-BC37-3050882A22A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F221508C-43CE-45A5-BC37-3050882A22A5}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {DC17C1CA-FA5A-40E7-84DA-38E04A9B8249}
+	EndGlobalSection
+EndGlobal

+ 8 - 0
appsettings.Development.json

@@ -0,0 +1,8 @@
+{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft.AspNetCore": "Warning"
+    }
+  }
+}

+ 9 - 0
appsettings.json

@@ -0,0 +1,9 @@
+{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft.AspNetCore": "Warning"
+    }
+  },
+  "AllowedHosts": "*"
+}

+ 1 - 0
build-all.bat

@@ -0,0 +1 @@
+PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "& './BuildDocs.ps1' -BuildAll"

+ 0 - 1
build.bat

@@ -1 +0,0 @@
-Call en-build.bat && Call ./jp-build.bat

+ 0 - 3
build/WAWSDeploy.exe

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bd015d9e5cac5d529ddf6073d9106cfb5e83a960e7c47542fc916751fe3cd228
-size 55296

+ 0 - 32
build/deploy.ps1

@@ -1,32 +0,0 @@
-param ($deploymentProfile, $deploymentPassword)
-
-# This is the version used in the https://doc.stride3d.net/<version> url
-# Please update this if branching for a new release!
-$version = "4.1"
-
-# Deploy doc on the target
-Write-Host Executing `'WAWSDeploy.exe ../stride_doc.zip $deploymentProfile /v /t $version /d /p XXXXXXXXXXXXX`'
-./WAWSDeploy.exe ../stride_doc.zip $deploymentProfile /v /t $version /d /p $deploymentPassword
-
-# Find host URL from deployment profile
-[xml]$deploymentProfileXml = Get-Content $deploymentProfile
-$deployUrl = $deploymentProfileXml.publishData.publishProfile[0].destinationAppUrl
-
-# Process versions.json
-Write-Host Updating list of versions
-$response = Invoke-RestMethod -Uri $deployUrl/versions.json
-$response.versions = ($response.versions + $version) | select -Unique | Sort-Object -Property @{Expression={ new-object System.Version ($_) }; Descending = $True}
-# Save file
-New-Item -Name "_siteroot" -ItemType "directory"
-$response | ConvertTo-Json | Out-File -Encoding ascii "_siteroot/versions.json"
-
-# Only update web.config if we are the latest version
-if ($response.versions[0] -eq $version)
-{
-	(Get-Content -path "web.config" -Raw) -Replace '%deployment_version%', $version | Set-Content -Encoding utf8 -Path "_siteroot\web.config"
-}
-
-# Upload versions.json and web.config
-./WAWSDeploy.exe _siteroot $deploymentProfile /v /p $deploymentPassword
-
-Remove-Item "_siteroot" -Recurse

+ 0 - 1
build/stride-doc.PublishSettings

@@ -1 +0,0 @@
-<publishData><publishProfile profileName="stride-doc - Web Deploy" publishMethod="MSDeploy" publishUrl="stride-doc.scm.azurewebsites.net:443" msdeploySite="stride-doc" userName="$stride-doc" destinationAppUrl="http://stride-doc.azurewebsites.net" SQLServerDBConnectionString="" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites"><databases /></publishProfile><publishProfile profileName="stride-doc - FTP" publishMethod="FTP" publishUrl="ftp://waws-prod-mwh-073.ftp.azurewebsites.windows.net/site/wwwroot" ftpPassiveMode="True" userName="stride-doc\$stride-doc" destinationAppUrl="http://stride-doc.azurewebsites.net" SQLServerDBConnectionString="" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites"><databases /></publishProfile><publishProfile profileName="stride-doc - Zip Deploy" publishMethod="ZipDeploy" publishUrl="stride-doc.scm.azurewebsites.net:443" userName="$stride-doc" destinationAppUrl="http://stride-doc.azurewebsites.net" SQLServerDBConnectionString="" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites"><databases /></publishProfile></publishData>

+ 0 - 58
build/web.config

@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
-  <system.webServer>
-    <httpProtocol>
-      <customHeaders>
-        <add name="Access-Control-Allow-Origin" value="*" />
-      </customHeaders>
-    </httpProtocol>
-    <security>
-      <requestFiltering allowDoubleEscaping="true" />
-    </security>
-    <staticContent>
-      <clientCache cacheControlMaxAge="1.00:00:00" cacheControlMode="UseMaxAge" />
-      <mimeMap fileExtension=".md" mimeType="text/plain" />
-      <mimeMap fileExtension=".json" mimeType="application/json" />
-    </staticContent>
-    <rewrite>
-      <rules>
-        <rule name="Redirect xenko.com to stride3d.net" stopProcessing="true">
-          <match url=".*" />
-          <conditions>
-            <add input="{HTTP_HOST}" pattern="^(.*)xenko\.com$" />
-          </conditions>
-          <action type="Redirect" url="https://{C:1}stride3d.net/{R:0}" redirectType="Permanent" />
-        </rule>
-        <rule name="Redirect root and 'latest' to 'latest/en/' ">
-          <match url="^(latest)?$" />
-          <action type="Redirect" url="latest/en/" redirectType="Found" />
-        </rule>
-        <rule name="Redirect 'latest/{1}' to 'latest/en/{1}' when language is missing from initial url">
-          <match url="^latest/(.*)" />
-          <conditions>
-            <add input="{R:1}" pattern="^(en|jp)(/|$)" negate="true" />
-          </conditions>
-          <action type="Redirect" url="latest/en/{R:1}" redirectType="Found"/>
-        </rule>
-		<!-- Rename Xenko to Stride for 4.0+ and latest -->
-        <rule name="Redirect uppercase Xenko to Stride for 4.0+">
-          <match url="(([4-9]|[1-9]\d+)\.\d*|latest)/(.*)(Xenko)(.*)" />
-          <action type="Redirect" redirectType="Permanent" url="{R:1}/{R:3}Stride{R:5}" />
-        </rule>
-        <rule name="Redirect lowercase xenko to stride for 4.0+">
-          <match url="(([4-9]|[1-9]\d+)\.\d*|latest)/(.*)(xenko)(.*)" />
-          <action type="Redirect" redirectType="Permanent" url="{R:1}/{R:3}stride{R:5}" />
-        </rule>
-        <!-- Update this rule when there is a new Xenko doc version released -->
-        <rule name="Rewrite URL for latest documentation">
-          <match url="latest(.*)" />
-          <action type="Rewrite" url="%deployment_version%/{R:1}" />
-        </rule>
-      </rules>
-    </rewrite>
-    <httpErrors errorMode="Custom">
-      <remove statusCode="404"/>   
-      <error statusCode="404" path="%deployment_version%\en\404.html" responseMode="File" />
-    </httpErrors>
-  </system.webServer>
-</configuration>

+ 0 - 2
build_manual_only.bat

@@ -1,2 +0,0 @@
[email protected] -NoProfile -ExecutionPolicy Bypass -Command "& './en-build.ps1' %*"
-Call ./jp-build.bat

+ 0 - 3
deps/docfx/AutoMapper.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:46aed735c80f850a99200d8483cf01aaf1258948a00c05902f40d1c9b756f71c
-size 263080

+ 0 - 3
deps/docfx/CommandLine.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0acf38ece6a41bfc4c097a3f73e67582718136479e58c043b55289d0e15c665e
-size 68536

+ 0 - 3
deps/docfx/DotLiquid.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:266180b2d45fec1a478762512512622cb3593f5eb288c65f068ff6a32401f383
-size 114088

+ 0 - 3
deps/docfx/Dotnet.ProjInfo.Helpers.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4fe9e857c68d66b4871affa3eed8b9b9a7a060700c8f8f4427b2aed2371a4306
-size 27064

+ 0 - 3
deps/docfx/Dotnet.ProjInfo.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:111440b01450cb1fd100878e6b31aff989a98981dd147754210915900a1d26b7
-size 167336

+ 0 - 3
deps/docfx/FSharp.Compiler.Service.MSBuild.v12.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b0d4029841f9c1d5d4999d3c3d10aba3046c09d01bab4b548a70e113d8ad7e93
-size 44456

+ 0 - 3
deps/docfx/FSharp.Compiler.Service.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ed1b43a3600a719819f19293c1f478125cbf97beef327d5891940ac40acf291e
-size 14460840

+ 0 - 3
deps/docfx/FSharp.Core.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:aea9ce10c6a4256753f94b9f247caef2e33f6ead6fc0ce6c0e147cd8bfef27a3
-size 2905912

+ 0 - 3
deps/docfx/HtmlAgilityPack.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7d66fc1d5624bbaf76db2e3582e6fda51bec5c65474ce90a26ecd9cc2387e961
-size 144824

+ 0 - 3
deps/docfx/Humanizer.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a5d7c332f0b8b610568e0e74e635b85b37fc6bb55e94d69bd291e5106557d17f
-size 222184

+ 0 - 3
deps/docfx/Jint.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2def0d556940bbcca6f5dce8189e13e6352dec1035075caccf32ec5e2c79fb51
-size 260008

+ 0 - 3
deps/docfx/Markdig.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:87b6a0dc4ebb4f583e3d5687d137f92efa61ade25596334eea39d1f702a5c9b6
-size 454056

+ 0 - 3
deps/docfx/Microsoft.Bcl.AsyncInterfaces.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:075ce79e84041137c78885b3738c1b5a03547d0ae2a79916e844196a9d0ec1db
-size 20872

+ 0 - 3
deps/docfx/Microsoft.Build.Locator.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8f223d6c9436b6f5e9dbf40e51016921400783fefadf40a1134075ee96ffa4f8
-size 30592

+ 0 - 3
deps/docfx/Microsoft.CodeAnalysis.AnalyzerUtilities.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:27300b349ae0c552ccb9bea18baf55b1fc99a517b0d4e15e557af4d3a4bff119
-size 543624

+ 0 - 3
deps/docfx/Microsoft.CodeAnalysis.CSharp.Features.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d50d772cf6c906f300187a3d4410c8afe4cec7deb8609eb0cb2df4c74ab33336
-size 1406864

+ 0 - 3
deps/docfx/Microsoft.CodeAnalysis.CSharp.Workspaces.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:87d8a7a26e65c47fd81c31ecfa0abd720a60c88d60a81698ed74030dad4a30b8
-size 864656

+ 0 - 3
deps/docfx/Microsoft.CodeAnalysis.CSharp.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:58fc067e6cfb52480ce558eed5c55b6806e602ea235acd0fd0634dd771c9b715
-size 6018960

+ 0 - 3
deps/docfx/Microsoft.CodeAnalysis.Features.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:83a0f74a419fc94bf4a78945fb1f1813f00bc436d21367fb4f5fd2a5fd3c52fd
-size 4109200

+ 0 - 3
deps/docfx/Microsoft.CodeAnalysis.VisualBasic.Features.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cf31f0bb37b6bf9a31dad7abddf3f351c3c7ba7b8737dad347614a9f18c6479f
-size 1118608

+ 0 - 3
deps/docfx/Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e3a0114bf3928eaf5441068852052b541ead23ae7cbc84c4207668b56e227e0f
-size 822672

+ 0 - 3
deps/docfx/Microsoft.CodeAnalysis.VisualBasic.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d5e68fbd201b285d582344468e9271e2008fa07e942ea4bc84f928e141aa968e
-size 5212048

+ 0 - 3
deps/docfx/Microsoft.CodeAnalysis.Workspaces.MSBuild.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:73ca5b95b45d7502329474983dadb07e42a32223ee0032bf3ccb2137921754b4
-size 113552

+ 0 - 3
deps/docfx/Microsoft.CodeAnalysis.Workspaces.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:60740cd59b54f7fa029f518ad7c574dcc3b09dcd5bd7e6c6353d05a4abbbcc28
-size 3571088

+ 0 - 3
deps/docfx/Microsoft.CodeAnalysis.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f729bf50e9d61efc0b7a497e84132605216b9673a15895b94c496af52ca2c590
-size 2816344

+ 0 - 3
deps/docfx/Microsoft.DiaSymReader.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a7e9df6f389e1bb0ca0946179a37c9f72182f08611299c77a2ecf83bc34254aa
-size 109536

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Build.Common.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0c66ed7581360dbe472002369dc6cb30b5580880ec7fa8e85aa261b02fa1f30e
-size 85880

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Build.ConceptualDocuments.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2759be05a002f6178470da656ba08f9d341386f2d6ceaffa5fbc0e57bcdda6c7
-size 41320

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Build.Engine.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1ccc5a8e863d7588daf356a87f732264e343bb3add7537538c49bff0c3a76d1f
-size 421224

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Build.ManagedReference.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a4b27d2aa5743661e25e7bb1378bc7252d6d93f8bd06f43415456230b96e2284
-size 85864

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Build.OverwriteDocuments.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:298643cf52e172546aedd1dea16b728b0c7fe080b9ba73db0a518bce1b104a78
-size 44904

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Build.ResourceFiles.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:da5c38e6ff8404fbea16bce716374582ed449f1d419abf5591a0ec9d5eccdab0
-size 28520

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Build.RestApi.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ec9900c200629cf021fbda31d695fa89a659bf1922ef51d460a3493d0d4ebb21
-size 71016

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Build.SchemaDriven.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:43bb28ffe9c77ece034d528d0e8ffca3e93215d1f7565237a2180a82ade3c2c6
-size 97128

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Build.TableOfContents.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4d08c54d48f579d76f7b86332a0dbb1aaf22feca78111b5cc53eb62529021eda
-size 61288

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Build.UniversalReference.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:642349f1742fa2a42fe0a5d0866f252a12e57d85e537c083d7260d429c3bf6bf
-size 86392

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Common.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e10d068f5da55bd36e4c95ab95a637714ded92924829dd0fa3490fa793fcef31
-size 187752

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.DataContracts.Common.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:619c83debf03ab9291467ad985c4da0f3bd2cffae97e7e14a75ded5cbeb94f0d
-size 54632

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.DataContracts.ManagedReference.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b0873f19ad8b6b7e902913e726ced01fb17f5f6d569803c564cc704de7b9d046
-size 44904

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.DataContracts.RestApi.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3f8efd7aee0689a1de171c62743e8b4be32d396c97da1c9f942d055b4f232cb0
-size 32104

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.DataContracts.UniversalReference.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c7b270d73f70d737a3b1e319364f866f44799a19d3f66776659e490567c629e5
-size 49512

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Dfm.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e8c921f706b1000c79ead438e1be30c4f5809882e1f4f250297bae08d0a52134
-size 150888

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Glob.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a4da5dd7ff9ae36361950e490d7a49222c3da8522c0fb671596426a638ef03fd
-size 41832

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.HtmlToPdf.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7343e34d117f92c0809da9c0579834bd0b4eacd2293f9539ece3c47c3d9c1d43
-size 68456

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.MarkdigEngine.Extensions.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:38a7b1ab70fd0a329b739ba8daa1e2f9afd3d686ad97b352e1bf5a8c4e77b973
-size 119144

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.MarkdigEngine.Validators.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0b3e7f237a7973d406da4fda9211ec0cc9a54b4841c7619b86039ebe8c6bf39a
-size 25960

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.MarkdigEngine.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f5dceaf7d4de355bd51a74fff0481bd99e546beb520242464b8b7d256ada5102
-size 49512

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.MarkdownLite.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:82c96dc48f36503dfedcd40945082d94e8fa4fcf6e840ee9d114d42c20eafc43
-size 197480

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Metadata.ManagedReference.Common.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b7c753ac04cd32205048299a04c014ec0c1ee97e62d316d0402b00da7c861bba
-size 93032

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Metadata.ManagedReference.FSharp.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5f660b64b7cf892ba9563e6b59c90f5921fef7e8269aef96f25c986b6aeedc26
-size 212856

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Metadata.ManagedReference.Roslyn.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4d52ce0ac5df384dbc194b5d76d668eb355997f83e806760d7921d92e73eb402
-size 169832

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Metadata.ManagedReference.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:24d97abf0116b9b99107c975a3851d239fb0be348dca1136beef683761689e20
-size 107880

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.Plugins.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e1a55fcb5ff3eaa56152950bcee9690e1e9120cecef14e5ca48329cd661d6e10
-size 87416

+ 0 - 3
deps/docfx/Microsoft.DocAsCode.YamlSerialization.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:79fa916b108fde9e5b0cd90e8b7c693a51dd0bbc559fab1ccf36c1694fee3804
-size 69992

+ 0 - 3
deps/docfx/Microsoft.Owin.Diagnostics.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fe068d90ab5a2230b822a321ba4d7046c65bb1c92c1435c3c3c439d62480ba9a
-size 159640

+ 0 - 3
deps/docfx/Microsoft.Owin.FileSystems.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c7f1b4da642a852888fed1319282f6378af3ac60f07a3a311f8067a86fa011af
-size 19864

+ 0 - 3
deps/docfx/Microsoft.Owin.Host.HttpListener.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:782ab2732461625a98df7d647a96eb56237c9b758531843039862c0100236c77
-size 85912

+ 0 - 3
deps/docfx/Microsoft.Owin.Hosting.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:706c398800b5c8a924350ec55ff8aea0bbec98f7dab9e42f20f609c27d95c7bb
-size 65944

+ 0 - 3
deps/docfx/Microsoft.Owin.StaticFiles.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:dc8477631f8830a764c959d34cfdcf7a1458549b902d59d11a3dd2294f434f1f
-size 65432

+ 0 - 3
deps/docfx/Microsoft.Owin.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ffecaa1c61331b2a0fc059ef0f511c45e77b9e9da59864b0191deb6ddbe46cd0
-size 111456

+ 0 - 3
deps/docfx/Microsoft.VisualStudio.RemoteControl.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:311de9ec96072e8cff1db4af8f2b329a6a234756f0fc47c623f18075e7d618af
-size 55568

+ 0 - 3
deps/docfx/Microsoft.VisualStudio.Utilities.Internal.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b956af3904472f010968d567c7e850e4c0144462a550ead409c3c5a9046dcc68
-size 34088

+ 0 - 3
deps/docfx/Newtonsoft.Json.Schema.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3c9e81a7f4b6e5bcf74167c3cf4fd4d5eeb8a5e2969662c885c4a3214f9456db
-size 159656

+ 0 - 3
deps/docfx/Newtonsoft.Json.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3159131c875e176182f9014349a742ac464768087c9505b681d8920cb35d5422
-size 536488

+ 0 - 3
deps/docfx/NuGet.Common.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7d85c7714ae3c92a4e726b6fdbfd996b410168545ef5fc272b530eb1a1b48af7
-size 98184

+ 0 - 3
deps/docfx/NuGet.Configuration.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d0a5d2d375d2374987b465b58c256a7109b76ccea30fa09c51df3cd8fb63a662
-size 141704

+ 0 - 3
deps/docfx/NuGet.DependencyResolver.Core.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7558244656761b1fe843a3429bd774395a581b532214beb865e0816ea8b0f200
-size 74120

+ 0 - 3
deps/docfx/NuGet.Frameworks.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:269e423f0459d2d706a9e6403373b449abc53a14afcb984c461a2ed53cb462d6
-size 103808

+ 0 - 3
deps/docfx/NuGet.LibraryModel.dll

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f5e0814ca885871b787b68f65f8507c12af9889936cfe7c5d4e0a5ede2691942
-size 44936

Некоторые файлы не были показаны из-за большого количества измененных файлов