diff --git a/articles/toc.yml b/articles/toc.yml
index 092d1598..638f8ce4 100644
--- a/articles/toc.yml
+++ b/articles/toc.yml
@@ -1,151 +1,164 @@
 items:
-- name: Introduction
-  href: index.md
-- name: Roadmap
-  href: /roadmap/
-- name: What's New
-  href: whats_new.md
-- name: Getting Started - build your first 2D game
-  href: tutorials/building_2d_games/  
-- name: Getting to know MonoGame
-  href: getting_to_know/
-  items:
-    - name: What is
-      href: getting_to_know/whatis/
-      items:
-        - name: Audio
-          href: getting_to_know/whatis/audio/
-        - name: Content Pipeline
-          href: getting_to_know/whatis/content_pipeline/
-        - name: Graphics
-          href: getting_to_know/whatis/graphics/
-        - name: Input
-          href: getting_to_know/whatis/input/
-        - name: The Game Loop
-          href: getting_to_know/whatis/game_loop/
-        - name: Vector / Matrix / Quaternions
-          href: getting_to_know/whatis/vector_matrix_quat/
-        - name: MonoGame Class Library
-          href: getting_to_know/whatis/monogame_class_library/
-    - name: How to
-      href: getting_to_know/howto/
-      items:
-        - name: Audio
-          href: getting_to_know/howto/audio/
-        - name: Content Pipeline
-          href: getting_to_know/howto/content_pipeline/
-        - name: Graphics
-          href: getting_to_know/howto/graphics/
-        - name: Input
-          href: getting_to_know/howto/input/
-- name: Advanced Topics
-  href: getting_started/index.md
-  items:
-  - name: Packaging
-    href: getting_started/packaging_games.md
-  - name: Preparing for consoles
-    href: getting_started/preparing_for_consoles.md
-  - name: Using Development Nuget Packages
-    href: getting_started/using_development_nuget_packages.md
-  - name: Tools
+  - name: Introduction
+    href: index.md
+  - name: Roadmap
+    href: /roadmap/
+  - name: What's New
+    href: whats_new.md
+  - name: Getting Started - build your first 2D game
+    href: tutorials/building_2d_games/
     items:
-    - name: Introduction
-      href: getting_started/tools/
-    - name: MGCB
-      href: getting_started/tools/mgcb.md
-    - name: MGCB Editor
-      href: getting_started/tools/mgcb_editor.md
-    - name: MGFXC
-      href: getting_started/tools/mgfxc.md
-  - name: Content Pipeline
+      - name: Setting up MacOS
+        href: /articles/getting_started/1_setting_up_your_os_for_development_macos.html
+      - name: Setting up Ubuntu
+        href: /articles/getting_started/1_setting_up_your_os_for_development_ubuntu.html
+      - name: Setting up Windows
+        href: /articles/getting_started/1_setting_up_your_os_for_development_windows.html
+      - name: Using Visual Studio
+        href: /articles/getting_started/2_choosing_your_ide_visual_studio.html
+      - name: Using Rider
+        href: /articles/getting_started/2_choosing_your_ide_rider.html
+      - name: Using Visual Studio Code
+        href: /articles/getting_started/2_choosing_your_ide_vscode.html
+  - name: Getting to know MonoGame
+    href: getting_to_know/
     items:
-    - name: Introduction
-      href: getting_started/content_pipeline/index.md
-    - name: Why use the Content Pipeline
-      href: getting_started/content_pipeline/why_content_pipeline.md
-    - name: Using MGCB Editor
-      href: getting_started/content_pipeline/using_mgcb_editor.md
-    - name: Custom Effects
-      href: getting_started/content_pipeline/custom_effects.md
-    - name: TrueType fonts
-      href: getting_started/content_pipeline/adding_ttf_fonts.md
-    - name: Localization
-      href: getting_started/content_pipeline/localization.md
-- name: Migration
-  items:
-    - name: Migrating from XNA
-      href: migration/migrate_xna.md
-    - name: Migrating from 3.7
-      href: migration/migrate_37.md
-    - name: Migrating from 3.8.0
-      href: migration/migrate_38.md
-    - name: Updating Versions
-      href: migration/updating_versions.md
-- name: Samples and Demos
-  href: samples.md
-- name: Tutorials
-  href: tutorials/
-  items:
-    - name: Building 2D Games
-      href: tutorials/building_2d_games/
-      items:
-        - name: "01: What Is MonoGame?"
-          href: tutorials/building_2d_games/01_what_is_monogame/
-        - name: "02: Getting Started"
-          href: tutorials/building_2d_games/02_getting_started/
-        - name: "03: The Game1 File"
-          href: tutorials/building_2d_games/03_the_game1_file/
-        - name: "04: Creating a Class Library"
-          href: tutorials/building_2d_games/04_creating_a_class_library/
-        - name: "05: Content Pipeline"
-          href: tutorials/building_2d_games/05_content_pipeline/
-        - name: "06: Working with Textures"
-          href: tutorials/building_2d_games/06_working_with_textures/
-        - name: "07: Optimizing Texture Rendering"
-          href: tutorials/building_2d_games/07_optimizing_texture_rendering/
-        - name: "08: The Sprite Class"
-          href: tutorials/building_2d_games/08_the_sprite_class/
-        - name: "09: The AnimatedSprite Class"
-          href: tutorials/building_2d_games/09_the_animatedsprite_class/
-        - name: "10: Handling Input"
-          href: tutorials/building_2d_games/10_handling_input/
-        - name: "11: Input Management"
-          href: tutorials/building_2d_games/11_input_management/
-        - name: "12: Collision Detection"
-          href: tutorials/building_2d_games/12_collision_detection/
-        - name: "13: Working With Tilemaps"
-          href: tutorials/building_2d_games/13_working_with_tilemaps/
-        - name: "14: Sound Effects and Music"
-          href: tutorials/building_2d_games/14_soundeffects_and_music/
-        - name: "15: Audio Controller"
-          href: tutorials/building_2d_games/15_audio_controller/
-        - name: "16: Working with SpriteFonts"
-          href: tutorials/building_2d_games/16_working_with_spritefonts/
-        - name: "17: Scenes"
-          href: tutorials/building_2d_games/17_scenes/
-        - name: "18: Texture Sampling"
-          href: tutorials/building_2d_games/18_texture_sampling/
-        - name: "19: User Interface Fundamentals"
-          href: tutorials/building_2d_games/19_user_interface_fundamentals/
-        - name: "20: Implementing UI with Gum"
-          href: tutorials/building_2d_games/20_implementing_ui_with_gum/
-        - name: "21: Customizing Gum UI"
-          href: tutorials/building_2d_games/21_customizing_gum_ui/
-        - name: "22: Snake Game Mechanics"
-          href: tutorials/building_2d_games/22_snake_game_mechanics/
-        - name: "23: Completing the Game"
-          href: tutorials/building_2d_games/23_completing_the_game/
-        - name: "24: Shaders"
-          href: tutorials/building_2d_games/24_shaders/
-        - name: "25: Packaging Your Game for Distribution"
-          href: tutorials/building_2d_games/25_packaging_game/
-        - name: "26: Publishing Your Game to itch.io"
-          href: tutorials/building_2d_games/26_publish_to_itch/          
-        - name: "27: Conclusion and Next Steps"
-          href: tutorials/building_2d_games/27_conclusion/
-- name: Console Access
-  href: console_access.md
-- name: Help and Support
-  href: help_and_support.md
-- name: Contributing to documentation
-  href: contributing.md
+      - name: What is
+        href: getting_to_know/whatis/
+        items:
+          - name: Audio
+            href: getting_to_know/whatis/audio/
+          - name: Content Pipeline
+            href: getting_to_know/whatis/content_pipeline/
+          - name: Graphics
+            href: getting_to_know/whatis/graphics/
+          - name: Input
+            href: getting_to_know/whatis/input/
+          - name: The Game Loop
+            href: getting_to_know/whatis/game_loop/
+          - name: Vector / Matrix / Quaternions
+            href: getting_to_know/whatis/vector_matrix_quat/
+          - name: MonoGame Class Library
+            href: getting_to_know/whatis/monogame_class_library/
+      - name: How to
+        href: getting_to_know/howto/
+        items:
+          - name: Audio
+            href: getting_to_know/howto/audio/
+          - name: Content Pipeline
+            href: getting_to_know/howto/content_pipeline/
+          - name: Graphics
+            href: getting_to_know/howto/graphics/
+          - name: Input
+            href: getting_to_know/howto/input/
+  - name: Advanced Topics
+    href: getting_started/index.md
+    items:
+      - name: Packaging
+        href: getting_started/packaging_games.md
+      - name: Preparing for consoles
+        href: getting_started/preparing_for_consoles.md
+      - name: Using Development Nuget Packages
+        href: getting_started/using_development_nuget_packages.md
+      - name: Tools
+        items:
+          - name: Introduction
+            href: getting_started/tools/
+          - name: MGCB
+            href: getting_started/tools/mgcb.md
+          - name: MGCB Editor
+            href: getting_started/tools/mgcb_editor.md
+          - name: MGFXC
+            href: getting_started/tools/mgfxc.md
+      - name: Content Pipeline
+        items:
+          - name: Introduction
+            href: getting_started/content_pipeline/index.md
+          - name: Why use the Content Pipeline
+            href: getting_started/content_pipeline/why_content_pipeline.md
+          - name: Using MGCB Editor
+            href: getting_started/content_pipeline/using_mgcb_editor.md
+          - name: Custom Effects
+            href: getting_started/content_pipeline/custom_effects.md
+          - name: TrueType fonts
+            href: getting_started/content_pipeline/adding_ttf_fonts.md
+          - name: Localization
+            href: getting_started/content_pipeline/localization.md
+  - name: Migration
+    items:
+      - name: Migrating from XNA
+        href: migration/migrate_xna.md
+      - name: Migrating from 3.7
+        href: migration/migrate_37.md
+      - name: Migrating from 3.8.0
+        href: migration/migrate_38.md
+      - name: Updating Versions
+        href: migration/updating_versions.md
+  - name: Samples and Demos
+    href: samples.md
+  - name: Tutorials
+    href: tutorials/
+    items:
+      - name: Building 2D Games
+        href: tutorials/building_2d_games/
+        items:
+          - name: "01: What Is MonoGame?"
+            href: tutorials/building_2d_games/01_what_is_monogame/
+          - name: "02: Getting Started"
+            href: tutorials/building_2d_games/02_getting_started/
+          - name: "03: The Game1 File"
+            href: tutorials/building_2d_games/03_the_game1_file/
+          - name: "04: Creating a Class Library"
+            href: tutorials/building_2d_games/04_creating_a_class_library/
+          - name: "05: Content Pipeline"
+            href: tutorials/building_2d_games/05_content_pipeline/
+          - name: "06: Working with Textures"
+            href: tutorials/building_2d_games/06_working_with_textures/
+          - name: "07: Optimizing Texture Rendering"
+            href: tutorials/building_2d_games/07_optimizing_texture_rendering/
+          - name: "08: The Sprite Class"
+            href: tutorials/building_2d_games/08_the_sprite_class/
+          - name: "09: The AnimatedSprite Class"
+            href: tutorials/building_2d_games/09_the_animatedsprite_class/
+          - name: "10: Handling Input"
+            href: tutorials/building_2d_games/10_handling_input/
+          - name: "11: Input Management"
+            href: tutorials/building_2d_games/11_input_management/
+          - name: "12: Collision Detection"
+            href: tutorials/building_2d_games/12_collision_detection/
+          - name: "13: Working With Tilemaps"
+            href: tutorials/building_2d_games/13_working_with_tilemaps/
+          - name: "14: Sound Effects and Music"
+            href: tutorials/building_2d_games/14_soundeffects_and_music/
+          - name: "15: Audio Controller"
+            href: tutorials/building_2d_games/15_audio_controller/
+          - name: "16: Working with SpriteFonts"
+            href: tutorials/building_2d_games/16_working_with_spritefonts/
+          - name: "17: Scenes"
+            href: tutorials/building_2d_games/17_scenes/
+          - name: "18: Texture Sampling"
+            href: tutorials/building_2d_games/18_texture_sampling/
+          - name: "19: User Interface Fundamentals"
+            href: tutorials/building_2d_games/19_user_interface_fundamentals/
+          - name: "20: Implementing UI with Gum"
+            href: tutorials/building_2d_games/20_implementing_ui_with_gum/
+          - name: "21: Customizing Gum UI"
+            href: tutorials/building_2d_games/21_customizing_gum_ui/
+          - name: "22: Snake Game Mechanics"
+            href: tutorials/building_2d_games/22_snake_game_mechanics/
+          - name: "23: Completing the Game"
+            href: tutorials/building_2d_games/23_completing_the_game/
+          - name: "24: Shaders"
+            href: tutorials/building_2d_games/24_shaders/
+          - name: "25: Packaging Your Game for Distribution"
+            href: tutorials/building_2d_games/25_packaging_game/
+          - name: "26: Publishing Your Game to itch.io"
+            href: tutorials/building_2d_games/26_publish_to_itch/
+          - name: "27: Conclusion and Next Steps"
+            href: tutorials/building_2d_games/27_conclusion/
+  - name: Console Access
+    href: console_access.md
+  - name: Help and Support
+    href: help_and_support.md
+  - name: Contributing to documentation
+    href: contributing.md