Răsfoiți Sursa

feat: Various contributing docs improvements

Vaclav Elias 2 ani în urmă
părinte
comite
e0a2acd243

+ 1 - 1
en/contributors/documentation/deployment-azure.md

@@ -69,4 +69,4 @@ The previous step will have added a GitHub Action to the repository, which will
     ```
 1. Open the `stride-website-staging-azure.yml` workflow and update it with the properties from the previous step. Save your changes.
 1. This workflow may also need to be added to the production branch master if it is not already there.
-1. Execute the workflow stride-website-staging-azure.yml. Ensure you select the correct branch staging-next and click **Run workflow**. This action will deploy the website to the Azure Web App.
+1. Execute the workflow stride-website-staging-azure.yml. Ensure you select the correct branch staging-next and click **Run workflow**. This action will deploy the website to the Azure Web App.

+ 14 - 25
en/contributors/documentation/docfx.md

@@ -3,17 +3,7 @@
 
 We used to use **Jekyll** as our static site generator, but we decided to switch to Eleventy because of its flexibility and ease of use. We also wanted to use a tool that is more widely used and supported, which is why we decided to switch to Eleventy.
 
-# Table of Contents
-- [Packages and Dependencies](#packages-and-dependencies)
-- [Configuration](#configuration)
-- [Global Data](#global-data)
-- [Folder Structure](#folder-structure)
-- [Layouts](#layouts)
-- [Includes](#includes)
-- [Advanced Topics](#advanced-topics)
-  - [Creating Custom Shortcodes and Includes](#creating-custom-shortcodes-and-includes)
-  
-# Packages and Dependencies
+## Packages and Dependencies
 Eleventy is a **Node.js** application. Please follow our [installation](installation.md) guide to install Node.js and all the required dependencies.
 
 Packages we currently use:
@@ -31,7 +21,7 @@ Packages we currently use:
   - `markdown-it-table-of-contents` - Table of contents plugin for markdown-it, used mainly in blog posts as `[[TOC]]`
   - `sass` - Sass compiler for our `/css/*.scss` files
 
-# Configuration
+## Configuration
 The Eleventy configuration is located in the `.eleventy.js` file at the root of the project. This file contains all the configuration settings for the Eleventy build process. As it is a JavaScript file, you can utilize all JavaScript features and syntax within it.
 
 **What do you find in this file?**
@@ -44,7 +34,7 @@ The Eleventy configuration is located in the `.eleventy.js` file at the root of
 
 The file is well-commented and should be self-explanatory. If you need to add a new configuration, please follow the existing structure and include a comment to explain the new configuration.
 
-# Global Data
+## Global Data
 
 Global data is located in the `/_data` folder. It contains all the global data that is accessible in all the templates. Currently, we have these JSON files:
 
@@ -61,7 +51,7 @@ Our `site.json` file contains these main properties, with only some listed below
 - `authors` - Contains all the authors used in the blog posts
 - repeated data - like `csharp-version`, `dotnet-version`, `download-version` which are used in multiple places on the website and are updated with every release
 
-# Folder Structure
+## Folder Structure
 
 The folder structure is crucial for Eleventy, as it determines the output of the build process. The folder structure is organized as follows:
 
@@ -82,7 +72,7 @@ The folder structure is crucial for Eleventy, as it determines the output of the
 - `/posts/2014-2021` - Old blog posts which are merged to the same output folder as `/posts`
   - this folder is only for convenience to easily access new posts
 
-**Files**
+### Files
 
 - `/posts/posts.json` - Blog post defaults so they don't have to be repeated in the front matter
 - `*.html` - HTML content pages
@@ -93,7 +83,7 @@ The folder structure is crucial for Eleventy, as it determines the output of the
 - `.eleventyignore` - Lists files and folders not to be processed by Eleventy
 - `package.json` - Eleventy project metadata used by `npm`
 
-**Non Eleventy files:**
+### Non Eleventy files
 
 - `.nojekyll` - Special file for GitHub Pages
 - `CNAME` - Custom domain for GitHub Pages
@@ -106,11 +96,10 @@ The folder structure is crucial for Eleventy, as it determines the output of the
 - `web.config` - Configuration file for IIS deployment
 - `web.Release.config` - Configuration file for Windows ASP.NET Core deployment
 
+> [!NOTE]
+> This project includes Visual Studio solution and files so you can edit the files from the Visual Studio project.
 
-**Note:** This project includes ASP.NET Core solution and files, as they can be used seamlessly with Eleventy. Read more about this in our [Installation](installation.md#asp-net-core.md) section.
-
-
-# Layouts
+## Layouts
 
 All the layouts are located in the `/_layouts` folder. The `default` layout is the main layout page and is used by all the other layouts. 
 
@@ -119,15 +108,15 @@ All the layouts are located in the `/_layouts` folder. The `default` layout is t
 - `page` - Used by most of the pages
 - `post` - Used by blog posts
 
-# Includes
+## Includes
 
 All the includes are located in the `/_includes` folder. The includes are reusable code snippets that can be included in multiple pages.
 
 Some includes are used solely by the layouts, while others are used by the content pages.
 
-# Advanced Topics
+## Advanced Topics
 
-## Creating Custom Shortcodes and Includes
+### Creating Custom Shortcodes and Includes
 
 If you need to create a custom shortcode or include, please follow the existing structure and [include a comment](content.md#shortcodes-and-includes) to explain the new shortcode or include.
 
@@ -135,6 +124,6 @@ The shortcodes are defined in the `.eleventy.js` file, while the includes are lo
 
 You can explore the existing shortcodes and includes to get a better understanding of how they work and how to create new ones.
 
-## Performance Optimization
+### Performance Optimization
 
-ToDo: Remove this section if not needed
+ToDo: Remove this section if not needed

+ 7 - 10
en/contributors/documentation/documentation-generation-pipeline.md

@@ -1,10 +1,7 @@
-# Documentation generation pipeline
-- [Introduction](#introduction)
-- [A Simplified Overview](#a-simplified-overview)
-- [Docs Build Workflow](#docs-build-workflow)
-- [Workflow Diagram](#workflow-diagram)
+# Generation Pipeline
+
+## Introduction
 
-# Introduction
 As of now, **DocFX** does not natively support the generation of multi-language and multi-version documentation. To address this limitation, the Stride team has developed a PowerShell script. Initially, separate scripts were created for each language; however, these have since been consolidated into a single script named [`BuildDocs.ps1`](https://github.com/stride3d/stride-docs/blob/staging/BuildDocs.ps1). This unified script is capable of generating documentation in all supported languages.
 
 The script serves two main purposes:
@@ -12,7 +9,7 @@ The script serves two main purposes:
 - It features a non-interactive mode, utilized by the Continuous Integration/Continuous Deployment (CI/CD) pipeline to automatically generate documentation for all languages and the most recent version, eliminating the need for user intervention.
 - It also offers an interactive command-line UI, allowing users to select which languages they wish to generate documentation for.
 
-# A Simplified Overview
+## A Simplified Overview
 
 Here's a straightforward explanation of how the documentation generation process works.
 
@@ -25,7 +22,7 @@ DocFX is invoked multiple times, once for each language, to create the documenta
 /_site/4.1/jp
 ```
 
-## DocFX Files Processed
+### DocFX Files Processed
 
 This section outlines the file processing carried out by DocFX during the documentation generation:
 
@@ -36,7 +33,7 @@ This section outlines the file processing carried out by DocFX during the docume
 - **Warnings (API Metadata):** 200 instances of missing or incorrect references
 - **API Files:** 2821 files processed, resulting in 2133 HTML files
 
-# Docs Build Workflow
+## Docs Build Workflow
 
 In this part, we elaborate on the individual steps involved in the documentation build workflow for the Stride Docs project.
 
@@ -77,7 +74,7 @@ In this part, we elaborate on the individual steps involved in the documentation
 - **PostProcessing-DocFxDocUrl**
   - Adjusts HTML tags and GitHub links, removing any `_tmp` suffixes. Also updates GitHub links to English if the translation is unavailable.
 
-# Workflow Diagram
+## Workflow Diagram
 
 
 ``` mermaid

+ 10 - 69
en/contributors/documentation/index.md

@@ -1,4 +1,5 @@
 # Contributing to documentation
+
 This documentation serves as a comprehensive guide to help you navigate and contribute to the **Stride Docs** website.
 
 If you're looking to make minor changes, such as adding or updating a manual, tutorial or page, or fixing a typo, feel free to jump straight to the [Content Updates](content.md#content-updates) section.
@@ -14,76 +15,16 @@ Here are the technologies we use to build our website:
 - Emojis (because why not? 😎)
 - HTML, JavaScript, CSS, JSON
 - PowerShell scripts
-- GitHub Actions (CI/CD) - Don't worry, this is already set up, you don't need to worry about it.
-
-## Major Version Release Instructions
-
-Assuming the transition is from version `4.1` to `4.2`, and that the Stride source code has been updated to the corresponding .NET version, follow these steps. Note that some steps can be executed at a later stage if needed.
-
-1. Duplicate `ReleaseNotes\ReleaseNotes.md` and rename the copy to `ReleaseNotes-4.1.md`
-1. Update `ReleaseNotes.md`:
-   - Change the content title to `4.2`
-   - Replace the content with the new release notes for version `4.2`
-   - [GitHub Release](https://github.com/stride3d/stride/releases) can be used to generate a list **What's Changed**, once the new tag was added
-1. Modify `ReleaseNotes\toc.yml`
-   - `name: 4.2 release notes` with `href: ReleaseNotes.md`
-   - `name: 4.1 release notes` with `href: ReleaseNotes-4.1.md`
-1. In `en\docfx.json`
-   - `_appFooter`: Increase the version number
-   - Change `TargetFramework` to the current framework version being used. Ensure to test this step locally
-1. Edit `versions.json`
-   - Under `versions`, add the new version `4.2`
-1. For GitHub Actions deployment update `*.yml` files in the `.github\workflows\` folder
-   - `dotnet-version:` Update to the related .NET version
-
-The `BuildDocs.ps1` script will manage the deployment to the `4.2` folder while maintaining accessibility to previous versions. Note, that the deployment profile must be set to not delete existing items.
+- GitHub Actions (CI/CD)
+  - Our [GitHub Actions](https://github.com/stride3d/stride-docs/tree/master/.github/workflows) are already configured for deploying to both staging and release environments.
+  - For personal testing or demonstration purposes, you may need to set up your own GitHub Actions. This is especially useful for showcasing proposed changes to maintainers for their approval. For guidance on this, refer to our [Deployment to GitHub Pages guide](deployment-azure.md#deployment-to-github-pages).
 
-### Other locations to update
+## Dependencies
 
-1. Update [README.md](https://github.com/stride3d/stride/blob/master/README.md) in the Stride repo, Building from source - Prerequisites section, bump .NET version
+Various Stride systems rely on content fetched and processed from either the Stride website or the Stride Docs website. It's crucial to ensure that the following links remain active and accessible. Please refrain from removing or altering these links unless the dependent systems have been updated accordingly to accommodate any changes.
 
-## Table of Contents
+1. https://doc.stride3d.net/latest/en/index.json
+   - This JSON file is crucial for integrating the Stride Docs search functionality with the Stride Website. It ensures that search results are comprehensive, including relevant information from both the Stride website and Stride Docs.
 
-- [Understanding the Stride Documentation Generation Pipeline](documentation-generation-pipeline.md)
-    - [Introduction](documentation-generation-pipeline.md#introduction)
-    - [A Simplified Overview](documentation-generation-pipeline.md#a-simplified-overview)
-    - [Docs Build Workflow](documentation-generation-pipeline.md#docs-build-workflow)
-    - [Workflow Diagram](documentation-generation-pipeline.md#workflow-diagram)
-- [Installation](installation.md)
-    - [Prerequisites](installation.md#prerequisites)
-    - [Installation Steps](installation.md#installation-steps)
-    - [Running the Development Server](installation.md#running-the-development-server)
-- [Content Updates](content.md#content-updates)
-    - [Small Updates](content.md#small-updates)
-    - [Major Updates](content.md#major-updates)
-    - [Manual](content.md#manual)
-      - [Creating New Page](content.md#creating-new-manual-page)
-    - [Tutorial](content.md#tutorial)
-      - [Creating New Tutorial](content.md#creating-new-tutorial-page)
-    - [Shortcodes and Includes](content.md#shortcodes-and-includes)
-      - [Alert](content.md#alert)
-      - [Video](content.md#video)
-    - [Web Assets](content.md#web-assets)
-    - [Styling](content.md#styling)
-      - [Bootstrap Customization](content.md#bootstrap-customization)
-      - [CSS Guidelines](content.md#css-guidelines)
-    - [Submitting your Changes](content.md#submitting-your-changes)
-- [New Language](new-language.md)
-    - [Adding a New Language](new-language.md#adding-a-new-language)
-- [Roadmap](roadmap.md)
-- [DocFX](docfx.md)
-    - [Packages and Dependencies](docfx.md#packages-and-dependencies)
-    - [Configuration](docfx.md#configuration)
-    - [Global Data](docfx.md#global-data)
-    - [Folder Structure](docfx.md#folder-structure)
-    - [Layouts](docfx.md#layouts)
-    - [Includes](docfx.md#includes)
-    - [Advanced Topics](docfx.md#advanced-topics)
-        - [Creating Custom Shortcodes and Includes](docfx.md#creating-custom-shortcodes-and-includes)
-- [Deployment](deployment.md)
-    - [GitHub Pages](deployment.md#github-pages)
-    - [Azure Web Apps](deployment.md#azure-web-apps)
-- [Troubleshooting and FAQ](troubleshooting-and-faq.md)
-    - [Known Issues](troubleshooting-and-faq.md#known-issues)
-    - [Common Issues and Solutions](troubleshooting-and-faq.md#common-issues-and-solutions)
-    - [Frequently Asked Questions](troubleshooting-and-faq.md#frequently-asked-questions)
+1. https://doc.stride3d.net/latest/en/ReleaseNotes/ReleaseNotes.md
+   - The **Stride Launcher** utilizes this file when you click a release notes button.

+ 25 - 0
en/contributors/documentation/major-release-workflow.md

@@ -0,0 +1,25 @@
+# Major Release Workflow
+
+Assuming the transition is from version `4.1` to `4.2`, and that the Stride source code has been updated to the corresponding .NET version, follow these steps. Note that some steps can be executed at a later stage if needed.
+
+1. Duplicate `ReleaseNotes\ReleaseNotes.md` and rename the copy to `ReleaseNotes-4.1.md`
+1. Update `ReleaseNotes.md`:
+   - Change the content title to `4.2`
+   - Replace the content with the new release notes for version `4.2`
+   - [GitHub Release](https://github.com/stride3d/stride/releases) can be used to generate a list **What's Changed**, once the new tag was added
+1. Modify `ReleaseNotes\toc.yml`
+   - `name: 4.2 release notes` with `href: ReleaseNotes.md`
+   - `name: 4.1 release notes` with `href: ReleaseNotes-4.1.md`
+1. In `en\docfx.json`
+   - `_appFooter`: Increase the version number
+   - Change `TargetFramework` to the current framework version being used. Ensure to test this step locally
+1. Edit `versions.json`
+   - Under `versions`, add the new version `4.2`
+1. For GitHub Actions deployment update `*.yml` files in the `.github\workflows\` folder
+   - `dotnet-version:` Update to the related .NET version
+
+The `BuildDocs.ps1` script will manage the deployment to the `4.2` folder while maintaining accessibility to previous versions. Note, that the deployment profile must be set to not delete existing items.
+
+## Other locations to update
+
+1. Update [README.md](https://github.com/stride3d/stride/blob/master/README.md) in the Stride repo, Building from source - Prerequisites section, bump .NET version

+ 14 - 12
en/contributors/toc.yml

@@ -24,8 +24,8 @@ items:
     href: engine/source-debugging.md
   - name: Visual Studio plugin
     href: engine/visual-studio-plugin.md
-  - name: 🏗️ Architecture
-    expanded: false
+  - name: 🏗️ Architecture
+    expanded: true
     href: engine/architecture/index.md
     items:
     - name: Build pipeline
@@ -38,26 +38,28 @@ items:
       href: engine/architecture/dependency-graph.md
     - name: Asset introspection
       href: engine/architecture/asset-introspection.md
-- name: 🎓 Contribute to the documentation
+- name: 📖 Contribute to the documentation
   expanded: false
   href: documentation/index.md
   items:
-  - name: Documentation generation pipeline
-    href: Documentation/documentation-generation-pipeline.md
+  - name: Generation Pipeline
+    href: documentation/documentation-generation-pipeline.md
   - name: Installation
-    href: Documentation/installation.md
+    href: documentation/installation.md
   - name: Content
-    href: Documentation/content.md
+    href: documentation/content.md
 #  - name: New language
-#    href: Documentation/new-language.md
+#    href: documentation/new-language.md
   - name: Roadmap
-    href: Documentation/roadmap.md
+    href: documentation/roadmap.md
   - name: DocFX
-    href: Documentation/docfx.md
+    href: documentation/docfx.md
   - name: Deployment
-    href: Documentation/deployment-azure.md
+    href: documentation/deployment-azure.md
+  - name: Major Release Workflow
+    href: documentation/major-release-workflow.md
   - name: Troubleshooting and FAQ
-    href: Documentation/troubleshooting-and-faq.md
+    href: documentation/troubleshooting-and-faq.md
 - name: 🌐️ Contribute to the website
   expanded: false
   href: website/index.md