diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
index 5626a165..545f59ef 100644
--- a/.github/workflows/pages.yml
+++ b/.github/workflows/pages.yml
@@ -30,7 +30,7 @@ jobs:
build:
runs-on: ubuntu-latest
env:
- HUGO_VERSION: 0.99.0
+ HUGO_VERSION: 0.129.0
steps:
- name: Install Hugo CLI
run: |
diff --git a/config.toml b/config.toml
index 20471aeb..b8073ed9 100644
--- a/config.toml
+++ b/config.toml
@@ -1,9 +1,21 @@
baseURL = 'http://guidebook.hdyar.com/'
languageCode = 'en-us'
title = 'The Guidebook'
-theme = 'book'
+theme = 'guidebook'
BookComments = false
publishDir = 'docs'
+disableKinds = ['taxonomy', 'term']
+
+[outputFormats.Moved]
+MediaType = "application/json"
+BaseName = "moved"
+IsHTML = false
+IsPlainText = true
+notAlternative = true
+
+[outputs]
+home = ["HTML", "RSS", "JSON", "moved"]
+
[markup]
[markup.highlight]
anchorLineNos = false
@@ -20,3 +32,4 @@ publishDir = 'docs'
[markup.goldmark.renderer]
unsafe= true
+
diff --git a/content/3D/_index.md b/content/3D/_index.md
new file mode 100644
index 00000000..a149da38
--- /dev/null
+++ b/content/3D/_index.md
@@ -0,0 +1,5 @@
+---
+weight: 3
+title: 3D Graphics
+---
+Concepts, principles, and tools for working with 3D data and computers.
diff --git a/content/3D/blender-toolbox/_index.md b/content/3D/blender-toolbox/_index.md
new file mode 100644
index 00000000..59f3dc91
--- /dev/null
+++ b/content/3D/blender-toolbox/_index.md
@@ -0,0 +1,4 @@
+---
+title: Blender Toolbox
+weight: 20
+---
diff --git a/content/docs/blender/toolbox/add-ons.md b/content/3D/blender-toolbox/add-ons.md
similarity index 94%
rename from content/docs/blender/toolbox/add-ons.md
rename to content/3D/blender-toolbox/add-ons.md
index 267d3d92..79d89fb3 100644
--- a/content/docs/blender/toolbox/add-ons.md
+++ b/content/3D/blender-toolbox/add-ons.md
@@ -1,6 +1,7 @@
---
title: Useful Add-Ons
weight: 10
+oldlink: https://guidebook.hdyar.com/docs/blender/toolbox/add-ons/
---
# Useful Add-Ons.
Blender ships with a lot of features that it keeps hidden, which can easily be activated by going into to File>Preferences>Add-Ons menu. Third party developers can create their own add-ons, and there is a marketplace of individuals writing such software.
diff --git a/content/docs/blender/toolbox/blender-tutorials.md b/content/3D/blender-toolbox/blender-tutorials.md
similarity index 96%
rename from content/docs/blender/toolbox/blender-tutorials.md
rename to content/3D/blender-toolbox/blender-tutorials.md
index 4934dd28..77437dd5 100644
--- a/content/docs/blender/toolbox/blender-tutorials.md
+++ b/content/3D/blender-toolbox/blender-tutorials.md
@@ -1,8 +1,7 @@
---
title: Blender Tutorials
-
+oldlink: https://guidebook.hdyar.com/docs/blender/toolbox/blender-tutorials/
draft: False
-
---
# Tutorials
diff --git a/content/docs/blender/toolbox/helpful-shortcuts.md b/content/3D/blender-toolbox/helpful-shortcuts.md
similarity index 97%
rename from content/docs/blender/toolbox/helpful-shortcuts.md
rename to content/3D/blender-toolbox/helpful-shortcuts.md
index 5779d4e7..a507c3bc 100644
--- a/content/docs/blender/toolbox/helpful-shortcuts.md
+++ b/content/3D/blender-toolbox/helpful-shortcuts.md
@@ -1,6 +1,6 @@
---
-
title: Helpful Blender Shortcuts
+oldlink: https://guidebook.hdyar.com/docs/blender/toolbox/helpful-shortcuts/
---
# Helpful Blender Shortcuts
diff --git a/content/docs/blender/toolbox/preferences.md b/content/3D/blender-toolbox/preferences.md
similarity index 97%
rename from content/docs/blender/toolbox/preferences.md
rename to content/3D/blender-toolbox/preferences.md
index 3a2c4868..b50967ac 100644
--- a/content/docs/blender/toolbox/preferences.md
+++ b/content/3D/blender-toolbox/preferences.md
@@ -1,5 +1,6 @@
---
title: Preferences Setup
+oldlink: https://guidebook.hdyar.com/docs/blender/toolbox/preferences/
---
Here are the settings that I prefer to change for Blender. Open the preferences by going to **Edit > Preferences**.
diff --git a/content/docs/blender/toolbox/quick-tips.md b/content/3D/blender-toolbox/quick-tips.md
similarity index 91%
rename from content/docs/blender/toolbox/quick-tips.md
rename to content/3D/blender-toolbox/quick-tips.md
index 618196db..08ddee4b 100644
--- a/content/docs/blender/toolbox/quick-tips.md
+++ b/content/3D/blender-toolbox/quick-tips.md
@@ -1,5 +1,6 @@
---
-title: Quick Tips
+title: Blender Quick Tips
+oldlink: https://guidebook.hdyar.com/docs/blender/toolbox/quick-tips/
---
# Quick Tips.
diff --git a/content/3D/concepts/3d-models.md b/content/3D/concepts/3d-models.md
new file mode 100644
index 00000000..370db19a
--- /dev/null
+++ b/content/3D/concepts/3d-models.md
@@ -0,0 +1,6 @@
+---
+title: Elements of a 3D Model & How Mesh Data works
+oldlink: https://guidebook.hdyar.com/docs/blender/3d-models/
+---
+# Elements of a 3D Model & How Mesh Data works
+{{< youtube -HygudufNfU >}}
diff --git a/content/3D/concepts/_index.md b/content/3D/concepts/_index.md
new file mode 100644
index 00000000..41d90174
--- /dev/null
+++ b/content/3D/concepts/_index.md
@@ -0,0 +1,4 @@
+---
+title: How 3D Works
+---
+How 3D data work in digital media systems.
\ No newline at end of file
diff --git a/content/3D/concepts/face-orientation.md b/content/3D/concepts/face-orientation.md
new file mode 100644
index 00000000..dd4fcb1c
--- /dev/null
+++ b/content/3D/concepts/face-orientation.md
@@ -0,0 +1,5 @@
+---
+title: Face Orientation and Back-Face Culling
+---
+# Face Orientation and Back-Face Culling
+{{< youtube GcUrysHVgIc >}}
diff --git a/content/docs/digital-media-fundamentals/perspective-distortion-and-projections.md b/content/3D/concepts/perspective-distortion-and-projections.md
similarity index 98%
rename from content/docs/digital-media-fundamentals/perspective-distortion-and-projections.md
rename to content/3D/concepts/perspective-distortion-and-projections.md
index 83a07021..516e5769 100644
--- a/content/docs/digital-media-fundamentals/perspective-distortion-and-projections.md
+++ b/content/3D/concepts/perspective-distortion-and-projections.md
@@ -1,6 +1,7 @@
---
title: Perspective Distortion and Projections
draft: false
+oldlink: https://guidebook.hdyar.com/docs/digital-media-fundamentals/perspective-distortion-and-projections/
---
# Notes on Perspective Distortion and Projections
diff --git a/content/3D/concepts/what-is-a-3D-model.md b/content/3D/concepts/what-is-a-3D-model.md
new file mode 100644
index 00000000..10b70975
--- /dev/null
+++ b/content/3D/concepts/what-is-a-3D-model.md
@@ -0,0 +1,7 @@
+---
+title: How 3D Models Work
+---
+# What is a 3D Model Anyway?
+What... is a 3D model? This has some overlap with the above video.
+{{< youtube I3ndKKrazoA >}}
+
diff --git a/content/3D/learning-blender/_index.md b/content/3D/learning-blender/_index.md
new file mode 100644
index 00000000..d74c466d
--- /dev/null
+++ b/content/3D/learning-blender/_index.md
@@ -0,0 +1,3 @@
+---
+title: Using Blender
+---
\ No newline at end of file
diff --git a/content/docs/blender/cycles-renders.md b/content/3D/learning-blender/cycles-renders.md
similarity index 100%
rename from content/docs/blender/cycles-renders.md
rename to content/3D/learning-blender/cycles-renders.md
diff --git a/content/docs/blender/helpful-blender-tutorials.md b/content/3D/learning-blender/helpful-blender-tutorials.md
similarity index 95%
rename from content/docs/blender/helpful-blender-tutorials.md
rename to content/3D/learning-blender/helpful-blender-tutorials.md
index e27602f6..1a29d6ae 100644
--- a/content/docs/blender/helpful-blender-tutorials.md
+++ b/content/3D/learning-blender/helpful-blender-tutorials.md
@@ -18,7 +18,7 @@ title: Blender YouTube Creators
- [Erindale](https://www.youtube.com/c/Erindale)
- Geometry Nodes
- - Bob Ross of geometry nodes
+ - Bob Ross of Geometry Nodes
- Beginner Friendly —> Advanced
diff --git a/content/3D/learning-blender/install-blender/blender.png b/content/3D/learning-blender/install-blender/blender.png
new file mode 100644
index 00000000..26cfb302
Binary files /dev/null and b/content/3D/learning-blender/install-blender/blender.png differ
diff --git a/content/docs/blender/install-blender.md b/content/3D/learning-blender/install-blender/index.md
similarity index 89%
rename from content/docs/blender/install-blender.md
rename to content/3D/learning-blender/install-blender/index.md
index a9160ecd..730eb4ab 100644
--- a/content/docs/blender/install-blender.md
+++ b/content/3D/learning-blender/install-blender/index.md
@@ -1,13 +1,18 @@
---
title: Installing Blender
weight: 1
+oldlink: https://guidebook.hdyar.com/docs/blender/install-blender/
---
+[![Blender Logo](blender.png)](http://blender.org)
+
# Installing Blender
You can always download and install the latest stable release of Blender at [blender.org](https://www.blender.org/).
+This is the recommended way to install Blender.
+
## Blender Launcher
-Only if you want to use brand new or experimental features (at the time of writing, new Geometry Nodes), you may want to explore different development branches of Blender. Dealing with multiple versions of Blender on one machine can be annoying. The best way to do this is with a piece of open source software called [Blender Launcher](https://github.com/DotBow/Blender-Launcher).
+Only if you want to use brand new or experimental features (at the time of writing, new Geometry Nodes), you may want to explore different development branches of Blender. Dealing with multiple versions of Blender on one machine can be annoying. The best way to do this is with a piece of open source software called [Blender Launcher](https://github.com/Victor-IX/Blender-Launcher-V2).
Blender Launcher will download and manage different blender versions, and let you easily change shortcuts/file associations for them.
diff --git a/content/docs/blender/learn-blender.md b/content/3D/learning-blender/learn-blender.md
similarity index 95%
rename from content/docs/blender/learn-blender.md
rename to content/3D/learning-blender/learn-blender.md
index 236b157a..4068b3f5 100644
--- a/content/docs/blender/learn-blender.md
+++ b/content/3D/learning-blender/learn-blender.md
@@ -1,6 +1,7 @@
---
title: Learn Blender
weight: 2
+oldlink: https://guidebook.hdyar.com/docs/blender/learn-blender/
---
@@ -11,10 +12,10 @@ Students in IMM103, the The First Steps
-First, of course, [Install Blender]({{< ref "docs/blender/install-blender.md">}}).
+First, of course, [Install Blender]({{< ref "3D/learning-blender/install-blender.md">}}).
Next, keep your eye on the version of blender mentioned in tutorials/guides. Blender made a significant change to its user interface in version 2.8. Versions 2.7 and older are out of date, but versions 2.8 and newer should be fine.
@@ -30,7 +31,7 @@ Installing blender isn't really the first step. The first step is understanding
- [Blender Manual: Structure](https://docs.blender.org/manual/en/latest/modeling/meshes/structure.html)
-- This [Guidebook page]({{< ref "3d-models.md" >}}) on what 3D models are.
+- This [Guidebook page]({{< ref "/3D/concepts/3d-models.md" >}}) on what 3D models are.
### The Interface
The next step is understanding the interface. This makes following tutorials and guides easier. We want to be comfortable in the software, and to not be forced to go exact-step by exact-step through a sequence of memorized processes.
@@ -48,7 +49,7 @@ When you're following along with a tutorial, you want to follow the higher-level
#### The Viewport
- [Viewport Navigation Video](https://www.youtube.com/watch?v=ILqOWe3zAbk)
-- Learn about the difference between [Orthographic and Perspective]({{< ref "/docs/digital-media-fundamentals/perspective-distortion-and-projections.md">}}) projections.
+- Learn about the difference between [Orthographic and Perspective]({{< ref "/3D/concepts/perspective-distortion-and-projections.md">}}) projections.
- [Blender Manual: Perspective/Orthographic](https://docs.blender.org/manual/en/latest/editors/3dview/navigate/projections.html)
- [Blender Manual: Navigating Viewport](https://docs.blender.org/manual/en/latest/editors/3dview/navigate/navigation.html)
- [Blender Manual: Fly/Walk Navigation](https://docs.blender.org/manual/en/latest/editors/3dview/navigate/walk_fly.html)
diff --git a/content/3D/textures/_index.md b/content/3D/textures/_index.md
new file mode 100644
index 00000000..8d9a4b4f
--- /dev/null
+++ b/content/3D/textures/_index.md
@@ -0,0 +1,3 @@
+---
+title: Textures and Materials
+---
diff --git a/content/docs/blender/toolbox/bake-textures-in-blender-to-unity.md b/content/3D/textures/bake-textures-in-blender-to-unity.md
similarity index 96%
rename from content/docs/blender/toolbox/bake-textures-in-blender-to-unity.md
rename to content/3D/textures/bake-textures-in-blender-to-unity.md
index 8fc7c984..866c96a0 100644
--- a/content/docs/blender/toolbox/bake-textures-in-blender-to-unity.md
+++ b/content/3D/textures/bake-textures-in-blender-to-unity.md
@@ -1,8 +1,6 @@
---
-title: How to Bake Procedural Materials into PBR Maps
-
-draft: false
-
+title: How to Bake Procedural Materials (Blender to Unity)
+oldlink: https://guidebook.hdyar.com/docs/blender/toolbox/bake-textures-in-blender-to-unity/
---
## How to Bake Procedural Materials into PBR Maps
diff --git a/content/3D/textures/textures-into-unity.md b/content/3D/textures/textures-into-unity.md
new file mode 100644
index 00000000..206a19e4
--- /dev/null
+++ b/content/3D/textures/textures-into-unity.md
@@ -0,0 +1,8 @@
+---
+Title: Bringing Textures into Unity
+oldlink: https://guidebook.hdyar.com/docs/unity/unity-fundamentals/textures-into-unity/
+---
+
+# Bringing Textures into Unity
+
+{{< youtube 0ms_v9TVWgI>}}
diff --git a/content/Python/_index.md b/content/Python/_index.md
new file mode 100644
index 00000000..9faa2e62
--- /dev/null
+++ b/content/Python/_index.md
@@ -0,0 +1,5 @@
+---
+title: "Python"
+weight: 5
+---
+Learning programming with one of the most popular and most accessible programming languages
diff --git a/content/Python/python-fundamentals/_index.md b/content/Python/python-fundamentals/_index.md
new file mode 100644
index 00000000..8a2cab7e
--- /dev/null
+++ b/content/Python/python-fundamentals/_index.md
@@ -0,0 +1,7 @@
+---
+weight: 1
+bookFlatSection: false
+bookCollapseSection: true
+title: "Python Fundamentals"
+---
+Python is a popular general purpose programming language with large community of creators and educators.
diff --git a/content/Python/python-fundamentals/introducting-functions.md b/content/Python/python-fundamentals/introducting-functions.md
new file mode 100644
index 00000000..949d1aff
--- /dev/null
+++ b/content/Python/python-fundamentals/introducting-functions.md
@@ -0,0 +1,9 @@
+---
+title: Introducing Functions
+draft: false
+weight: 1
+oldlink: https://guidebook.hdyar.com/docs/creative-coding-python/python-fundamentals/introducting-functions/
+---
+# Functions in Python
+
+{{< youtube s_z2N4Xi614 >}}
diff --git a/content/Python/python-fundamentals/loops.md b/content/Python/python-fundamentals/loops.md
new file mode 100644
index 00000000..f26820d0
--- /dev/null
+++ b/content/Python/python-fundamentals/loops.md
@@ -0,0 +1,20 @@
+---
+title: Loops
+draft: false
+weight: 4
+oldlink: https://guidebook.hdyar.com/docs/creative-coding-python/python-fundamentals/loops/
+---
+
+## Basic Loops in Processing
+{{< youtube MyKxPgr0Qb0 >}}
+
+## Loop Examples
+{{< pyscript >}}
+for i in range(10):
+ print(i)
+{{< /pyscript >}}
+
+{{< pyscript >}}
+for i in range(0,100,10):
+ print(i)
+{{< /pyscript >}}
diff --git a/content/Python/python-fundamentals/modules.md b/content/Python/python-fundamentals/modules.md
new file mode 100644
index 00000000..b6932871
--- /dev/null
+++ b/content/Python/python-fundamentals/modules.md
@@ -0,0 +1,9 @@
+---
+title: Modules
+draft: false
+weight: 5
+oldlink: https://guidebook.hdyar.com/docs/creative-coding-python/python-fundamentals/modules/
+---
+
+## Introducing Modules in Python
+{{< youtube tr8JlkE2brk >}}
diff --git a/content/docs/creative-coding-python/python-fundamentals/tuples.md b/content/Python/python-fundamentals/tuples.md
similarity index 53%
rename from content/docs/creative-coding-python/python-fundamentals/tuples.md
rename to content/Python/python-fundamentals/tuples.md
index 53f3da82..33c2d9cf 100644
--- a/content/docs/creative-coding-python/python-fundamentals/tuples.md
+++ b/content/Python/python-fundamentals/tuples.md
@@ -2,6 +2,7 @@
title: Tuples
draft: false
weight: 5
+oldlink: https://guidebook.hdyar.com/docs/creative-coding-python/python-fundamentals/tuples/
---
## Introducing Tuples in Python
diff --git a/content/Python/python-fundamentals/using-files-in-idle.md b/content/Python/python-fundamentals/using-files-in-idle.md
new file mode 100644
index 00000000..38f809e1
--- /dev/null
+++ b/content/Python/python-fundamentals/using-files-in-idle.md
@@ -0,0 +1,7 @@
+---
+title: Files & The Python IDLE
+draft: false
+weight: 0
+oldlink: https://guidebook.hdyar.com/docs/creative-coding-python/python-fundamentals/using-files-in-idle/
+---
+{{< youtube t9MoE6Jzg7E >}}
diff --git a/content/_index.md b/content/_index.md
index a681814a..6858f88e 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -1,33 +1,4 @@
---
title: The Guidebook
-type: docs
-bookToC: false
+layout: home
---
-
-# The Guidebook
-
-# About
-
-{{< columns >}}
-
-## Welcome
-
-This site is an open repository for guides, videos, and general technical references related to crafting immersive digital experiences. It covers Unity Development, C# Programming, and more. This site is focused on technical how-to.
-<--->
-
-## Audience
-
-Much of the content for this site was written to be used supplementary to in-class material. There are often more complex ways to accomplish a task that has various benefits over a more accessible approach. I choose what I feel is appropriate for my beginner-to-intermediate audience. The tone and language of the website may reflect that much of it was written for an audience of specific students with a beginner skill level. I hope that it is still helpful to a general audience.
-
-{{< /columns >}}
-
----
-
-
-## Contributing To This Site
-
-- The content for this site is written in [Markdown](https://www.markdownguide.org/).
-- This site was generated from the markdown content using [Hugo](https://gohugo.io/).
-- The generation process uses the theme [Hugo Book](https://themes.gohugo.io/themes/hugo-book/) by Alex Shpak.
-- The site is hosted on [GitHub Pages](https://pages.github.com/).
-- The github repository is [here](https://github.com/hunterdyar/IMMGuidebook). You can fork this repository and make changes, then submit a pull request.
diff --git a/content/about.md b/content/about.md
new file mode 100644
index 00000000..411514f0
--- /dev/null
+++ b/content/about.md
@@ -0,0 +1,27 @@
+---
+title: About
+---
+# About The Guidebook
+
+## Welcome
+
+This site is an open repository for guides, videos, and general technical references related to crafting immersive digital experiences. It covers Unity Development, C# Programming, and more. This site is focused on technical how-to.
+
+The Guidebook is written and managed by Professor [Hunter Dyar](https://hdyar.com) and student workers in the Immersive Media department.
+
+## Audience
+
+Much of the content for this site was written to be used supplementary to in-class material. There are often more complex ways to accomplish a task that has various benefits over a more accessible approach. I choose what I feel is appropriate for my beginner-to-intermediate audience. The tone and language of the website may reflect that much of it was written for an audience of specific students with a beginner skill level. I hope that it is still helpful to a general audience.
+
+---
+
+
+## Contributing To This Site
+
+The best way to give feedback or a suggestion is with an [issue](https://github.com/hunterdyar/IMMGuidebook/issues) on [GitHub](https://github.com/hunterdyar/IMMGuidebook/).
+
+- The content for this site is written in [Markdown](https://www.markdownguide.org/).
+- This site was generated from the markdown content using [Hugo](https://gohugo.io/).
+- Layout uses the [tachyons](https://tachyons.io) css framework.
+- The site is hosted on [GitHub Pages](https://pages.github.com/).
+- The GitHub repository is [here](https://github.com/hunterdyar/IMMGuidebook). You can fork this repository and make changes, then submit a pull request.
diff --git a/content/code-architecture/_index.md b/content/code-architecture/_index.md
new file mode 100644
index 00000000..cd9d8b49
--- /dev/null
+++ b/content/code-architecture/_index.md
@@ -0,0 +1,7 @@
+---
+weight: 4
+title: Building Code Systems
+---
+
+Working with Unity and C# to build more complex and more complete systems, and be able to iterate effectively.
+> "*There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.*" - [C.A.R. Hoare](https://dl.acm.org/doi/10.1145/358549.358561).
diff --git a/content/docs/programming/fundamentals/_index.md b/content/code-architecture/architecture/_index.md
similarity index 52%
rename from content/docs/programming/fundamentals/_index.md
rename to content/code-architecture/architecture/_index.md
index 1cb63b5c..d6f42574 100644
--- a/content/docs/programming/fundamentals/_index.md
+++ b/content/code-architecture/architecture/_index.md
@@ -1,7 +1,5 @@
---
+title: Architecture
bookCollapseSection: true
-weight: 10
+weight: 70
---
-
-
-
diff --git a/content/docs/programming/architecture/accessing-data.md b/content/code-architecture/architecture/accessing-data.md
similarity index 88%
rename from content/docs/programming/architecture/accessing-data.md
rename to content/code-architecture/architecture/accessing-data.md
index 1d426a97..7b118da5 100644
--- a/content/docs/programming/architecture/accessing-data.md
+++ b/content/code-architecture/architecture/accessing-data.md
@@ -1,14 +1,15 @@
---
-title: Accessing Data (from elsewhere)
+title: Accessing Data Across Scripts and Objects
+oldlink: https://guidebook.hdyar.com/docs/programming/architecture/accessing-data/
---
# How to Access Data From Another Script in Unity
To access data that an object has, we need a reference to the appropriate instance of the object. The real challenge is, for the most part, getting the appropriate reference ("resolving" a "dependency"), and not actually accessing the data.
-Also see: [Data-oriented design]({{< ref "docs/programming/architecture/data-oriented-design-scriptable-objects.md" >}}).
+Also see: [Data-oriented design]({{< ref "./data-oriented-design-scriptable-objects.md" >}}).
-Also see: [Event Systems]({{< ref "docs/programming/architecture/event-systems.md" >}}).
+Also see: [Event Systems]({{< ref "event-systems.md" >}}).
## Public and Serialized Fields
@@ -74,12 +75,12 @@ public class ScoreManager : MonoBehaviour
{{< /highlight >}}
## Event Systems
-Another clever way to resolve dependencies is to change how we think about them. Instead of being dependent on _objects_, we could be dependent on _the event we care about_. See [Event Systems]({{< ref "docs/programming/architecture/event-systems.md" >}}) for more about this pattern.
+Another clever way to resolve dependencies is to change how we think about them. Instead of being dependent on _objects_, we could be dependent on _the event we care about_. See [Event Systems]({{< ref "event-systems.md" >}}) for more about this pattern.
Often our dependency problems are caused by "[race conditions](https://en.wikipedia.org/wiki/Race_condition)" when we are loading scenes, especially when working with multiple scenes. One unexpected benefit of event systems can move a some of our trouble outside of the race, to when the data actually starts getting used.
## ScriptableObjects
-We can take the data we care about and move it outside of the entire scene loading game loop, and make it always exist in memory, and as an easily editable object in our file system that represents _data_. Sounds magical? We do this with a [data-oriented design]({{< ref "docs/programming/architecture/data-oriented-design-scriptable-objects.md" >}}) approach. See that page for more.
+We can take the data we care about and move it outside of the entire scene loading game loop, and make it always exist in memory, and as an easily editable object in our file system that represents _data_. Sounds magical? We do this with a [data-oriented design]({{< ref "data-oriented-design-scriptable-objects.md" >}}) approach. See that page for more.
{{< highlight csharp >}}
public class FloatData : ScriptableObject
@@ -107,9 +108,9 @@ Instead of one object being dependent on another, both objects are dependent on
## Static Properties
Making the data we care about static takes it outside of the need for a dependency on a specific instance. This can be great, but it tends to become a pain in the butt once projects get more complex. It leads to taking shortcuts that are difficult to refactor, as well as not having the flexibility such that the refactoring is likely necessary.
-Instead of having static data, one could have static instances... and now we are using a [singleton pattern]({{< ref "docs/programming/architecture/singleton-pattern.md" >}}).
+Instead of having static data, one could have static instances... and now we are using a [singleton pattern]({{< ref "singleton-pattern.md" >}}).
-See more about [static]({{< ref "docs/programming/advanced/static-objects-and-unity.md" >}}) members.
+See more about [static]({{< ref "/csharp/advanced/static-objects-and-unity.md" >}}) members.
{{< highlight csharp >}}
public class Player : MonoBehaviour
diff --git a/content/docs/programming/architecture/data-oriented-design-scriptable-objects.md b/content/code-architecture/architecture/data-oriented-design-scriptable-objects.md
similarity index 86%
rename from content/docs/programming/architecture/data-oriented-design-scriptable-objects.md
rename to content/code-architecture/architecture/data-oriented-design-scriptable-objects.md
index c83b3ef0..3b83750c 100644
--- a/content/docs/programming/architecture/data-oriented-design-scriptable-objects.md
+++ b/content/code-architecture/architecture/data-oriented-design-scriptable-objects.md
@@ -1,5 +1,6 @@
---
title: Data-Oriented Design with Scriptable Objects
+oldlink: https://guidebook.hdyar.com/docs/programming/architecture/data-oriented-design-scriptable-objects/
---
# Data-oriented Design
@@ -9,4 +10,4 @@ I think one of the best introductions to pragmatic data-oriented design is the 2
---
-After you have watched the above video, I recommend checking out the asset [ScriptableObject-Architecture](https://assetstore.unity.com/packages/tools/utilities/scriptableobject-architecture-131520) on the asset store. It's an implementation of the ideas of the above talk, but really nicely done. It's [open source too](https://github.com/DanielEverland/ScriptableObject-Architecture).
\ No newline at end of file
+After you have watched the above video, I recommend checking out the asset [ScriptableObject-Architecture](https://assetstore.unity.com/packages/tools/utilities/scriptableobject-architecture-131520) on the asset store. It's an implementation of the ideas of the above talk, but really nicely done. It's [open source too](https://github.com/DanielEverland/ScriptableObject-Architecture).
diff --git a/content/docs/programming/architecture/event-systems.md b/content/code-architecture/architecture/event-systems.md
similarity index 61%
rename from content/docs/programming/architecture/event-systems.md
rename to content/code-architecture/architecture/event-systems.md
index af784dbd..cb7b0b07 100644
--- a/content/docs/programming/architecture/event-systems.md
+++ b/content/code-architecture/architecture/event-systems.md
@@ -1,5 +1,6 @@
---
title: Event Systems
+oldlink: https://guidebook.hdyar.com/docs/programming/architecture/event-systems/
---
# Event Systems
{{< youtube CdguzXPdneA >}}
@@ -7,4 +8,4 @@ title: Event Systems
## A 'Real Life' Example
{{< youtube VeHr3MK7lCc>}}
-The code for this example is part of [this](https://github.com/hunterdyar/UnitySimpleSokabon) project.
\ No newline at end of file
+The code for this example is part of [this](https://github.com/hunterdyar/UnitySimpleSokabon) project.
diff --git a/content/docs/programming/architecture/follow-along-project.md b/content/code-architecture/architecture/follow-along-project.md
similarity index 98%
rename from content/docs/programming/architecture/follow-along-project.md
rename to content/code-architecture/architecture/follow-along-project.md
index c6c1f9dd..38eb8c8b 100644
--- a/content/docs/programming/architecture/follow-along-project.md
+++ b/content/code-architecture/architecture/follow-along-project.md
@@ -1,5 +1,6 @@
---
title: Follow-Along Project
+oldlink: https://guidebook.hdyar.com/docs/programming/architecture/follow-along-project/
---
The following project is for students to follow along with and create a project with me, one that focuses on actually making an entire thing that has multiple levels and a game state.
@@ -82,4 +83,4 @@ I think of this video really as more for reference than following along.
The project is done, but (as mentioned in previous videos) it's in need of some refactoring using some more advanced topics. We improve the interactable system with inheritance, we improve the state system with events, we improve the flippant use of FindGameObjectOfType with more usable implementation of the singleton pattern, in this case a static instance variable. Also abstract classes I guess.
## The Finished Project
-The entire finished project is available on github: [https://github.com/hunterdyar/WellSlammerEscape](https://github.com/hunterdyar/WellSlammerEscape)
\ No newline at end of file
+The entire finished project is available on github: [https://github.com/hunterdyar/WellSlammerEscape](https://github.com/hunterdyar/WellSlammerEscape)
diff --git a/content/code-architecture/architecture/namespaces.md b/content/code-architecture/architecture/namespaces.md
new file mode 100644
index 00000000..c0e8648f
--- /dev/null
+++ b/content/code-architecture/architecture/namespaces.md
@@ -0,0 +1,7 @@
+---
+title: Namespaces
+oldlink: https://guidebook.hdyar.com/docs/programming/architecture/namespaces/
+---
+# Namespaces
+
+{{< youtube LtQs5FzdQ2k >}}
diff --git a/content/code-architecture/architecture/refactoring-a-basic-script-example.md b/content/code-architecture/architecture/refactoring-a-basic-script-example.md
new file mode 100644
index 00000000..4a029b29
--- /dev/null
+++ b/content/code-architecture/architecture/refactoring-a-basic-script-example.md
@@ -0,0 +1,7 @@
+---
+Title: Refactoring a Basic Script Example
+oldlink: https://guidebook.hdyar.com/docs/programming/architecture/refactoring-a-basic-script-example/
+---
+# Refactoring a Basic Script
+
+{{< youtube 9YsQM7jboDs >}}
diff --git a/content/code-architecture/architecture/the-architecture-lecture.md b/content/code-architecture/architecture/the-architecture-lecture.md
new file mode 100644
index 00000000..0ac6cfd1
--- /dev/null
+++ b/content/code-architecture/architecture/the-architecture-lecture.md
@@ -0,0 +1,8 @@
+---
+title: The Architecture Lecture
+weight: 1
+oldlink: https://guidebook.hdyar.com/docs/programming/architecture/the-architecture-lecture/
+---
+The Architecture Lecture
+
+{{< youtube fMMIK3YE1A8 >}}
diff --git a/content/code-architecture/patterns/_index.md b/content/code-architecture/patterns/_index.md
new file mode 100644
index 00000000..45ec3517
--- /dev/null
+++ b/content/code-architecture/patterns/_index.md
@@ -0,0 +1,5 @@
+---
+title: Code Patterns
+---
+
+Code Patterns are generalized common solutions to common problems in programming.
\ No newline at end of file
diff --git a/content/code-architecture/patterns/command-pattern.md b/content/code-architecture/patterns/command-pattern.md
new file mode 100644
index 00000000..96324bb1
--- /dev/null
+++ b/content/code-architecture/patterns/command-pattern.md
@@ -0,0 +1,14 @@
+---
+title: Command Pattern
+oldlink: https://guidebook.hdyar.com/docs/programming/architecture/patterns/command-pattern/
+---
+# The Command Pattern
+If the question is "How do I add an **undo** feature?", then the command pattern is your answer.
+
+## Implementing a Command Pattern in Unity
+{{< youtube CFfXXXmLs14>}}
+
+The code can be found here: [https://github.com/hunterdyar/UnitySimpleSokabon](https://github.com/hunterdyar/UnitySimpleSokabon).
+
+### Command Pattern video by Infallible Code
+{{< youtube f7X9gdUmhMY>}}
diff --git a/content/docs/programming/architecture/simple-state-machine.md b/content/code-architecture/patterns/simple-state-machine.md
similarity index 83%
rename from content/docs/programming/architecture/simple-state-machine.md
rename to content/code-architecture/patterns/simple-state-machine.md
index f5cc0395..80f47701 100644
--- a/content/docs/programming/architecture/simple-state-machine.md
+++ b/content/code-architecture/patterns/simple-state-machine.md
@@ -1,7 +1,6 @@
---
title: A Simple State Machine
-type: docs
-bookToc: false
+oldlink: https://guidebook.hdyar.com/docs/programming/architecture/simple-state-machine/
---
# Creating a simple state machine in Unity
diff --git a/content/code-architecture/patterns/singleton-pattern.md b/content/code-architecture/patterns/singleton-pattern.md
new file mode 100644
index 00000000..7aa4ea31
--- /dev/null
+++ b/content/code-architecture/patterns/singleton-pattern.md
@@ -0,0 +1,15 @@
+---
+title: The Singleton Pattern
+oldlink: https://guidebook.hdyar.com/docs/programming/architecture/singleton-pattern/
+---
+
+# Singletons
+
+## Prerequisites
+
+Understanding [Static Objects]({{< ref "/csharp/advanced/static-objects-and-unity.md" >}}) and having a solid grasp of [object oriented principles]({{< ref "/csharp/advanced/object-oriented-programming.md" >}}) is a prerequisite for being able to effectively use the Singleton pattern.
+
+In my opinion, singleton patters are great for single-scene games, but cause trouble once we start having to load, unload, or manage multiple scenes. I much prefer other approaches over singletons, like scriptableObjects.
+
+## Overview Video
+{{< youtube mpM0C6quQjs >}}
diff --git a/content/code-architecture/patterns/strategies-for-dependencies.md b/content/code-architecture/patterns/strategies-for-dependencies.md
new file mode 100644
index 00000000..bda3b9a7
--- /dev/null
+++ b/content/code-architecture/patterns/strategies-for-dependencies.md
@@ -0,0 +1,6 @@
+---
+title: Strategies For Managing Dependencies
+---
+
+## Strategies For Managing Dependencies
+{{< youtube b96WRBvSb6A>}}
diff --git a/content/creative-coding/_index.md b/content/creative-coding/_index.md
new file mode 100644
index 00000000..c984affc
--- /dev/null
+++ b/content/creative-coding/_index.md
@@ -0,0 +1,4 @@
+---
+title: Creative Coding
+---
+Making art with technology.
diff --git a/content/creative-coding/creative-coding-fundamentals/_index.md b/content/creative-coding/creative-coding-fundamentals/_index.md
new file mode 100644
index 00000000..25142cde
--- /dev/null
+++ b/content/creative-coding/creative-coding-fundamentals/_index.md
@@ -0,0 +1,3 @@
+---
+title: Getting Started with Creative Coding
+---
\ No newline at end of file
diff --git a/content/docs/creative-coding-python/fun-software-for-creative-coding.md b/content/creative-coding/creative-coding-fundamentals/fun-software-for-creative-coding.md
similarity index 92%
rename from content/docs/creative-coding-python/fun-software-for-creative-coding.md
rename to content/creative-coding/creative-coding-fundamentals/fun-software-for-creative-coding.md
index b219c0e2..4c674f5e 100644
--- a/content/docs/creative-coding-python/fun-software-for-creative-coding.md
+++ b/content/creative-coding/creative-coding-fundamentals/fun-software-for-creative-coding.md
@@ -8,7 +8,7 @@ draft: true
Mainly known for its free open-source modeling and sculpting features, Blender also has a scripting feature that can be found on the top tabs. This workflow allows for you to create meshes, lines, references objects and modifiers, and much more.
## Tutorials
-There is a tutorial made by Erindale that utilizes excel spreadsheets to make a model out of houses sold in the UK in a an abstract version of digital visualization. You learn thing like how to use the scripting functions in blender, how to navigate/find what you need, and much more.
+There is a tutorial made by Erindale that utilizes Excel spreadsheets to make a model out of houses sold in the UK in a an abstract version of digital visualization. You learn thing like how to use the scripting functions in blender, how to navigate/find what you need, and much more.
- [Geo Nodes and Python](https://www.youtube.com/watch?v=xWwoWi_vPTg&t=4s) - Erindale
You can use the code developed in this tutorial as the backbone to other pieces of code you make that take into account data sets.
\ No newline at end of file
diff --git a/content/docs/creative-coding-python/resources.md b/content/creative-coding/creative-coding-fundamentals/resources.md
similarity index 100%
rename from content/docs/creative-coding-python/resources.md
rename to content/creative-coding/creative-coding-fundamentals/resources.md
diff --git a/content/docs/creative-coding-python/_index.md b/content/creative-coding/creative-coding-fundamentals/what-is-creative-coding.md
similarity index 85%
rename from content/docs/creative-coding-python/_index.md
rename to content/creative-coding/creative-coding-fundamentals/what-is-creative-coding.md
index 59a2564c..190ccdb0 100644
--- a/content/docs/creative-coding-python/_index.md
+++ b/content/creative-coding/creative-coding-fundamentals/what-is-creative-coding.md
@@ -1,9 +1,7 @@
---
-weight: 5
-bookFlatSection: false
-bookCollapseSection: true
-title: "Creative Coding & Python"
+title: What is Creative Coding?
---
+
# Creative coding
Express with code.
@@ -17,4 +15,4 @@ For students, creative coding is far more accessible than a traditional engineer
All in all, Creative coding is an excellent introduction to programming and graphics, and complementary to learning real-time 3D engines.
-You can do creative coding with all sorts of tools, although a few stand out. See [Libraries and Software]({{< ref "/docs/creative-coding-python/libraries-and-software.md">}}).
+You can do creative coding with all sorts of tools, although a few stand out. See [Libraries and Software]({{< ref "libraries-and-software.md">}}).
diff --git a/content/creative-coding/creative-coding-tools/_index.md b/content/creative-coding/creative-coding-tools/_index.md
new file mode 100644
index 00000000..99b829a9
--- /dev/null
+++ b/content/creative-coding/creative-coding-tools/_index.md
@@ -0,0 +1,3 @@
+---
+title: Tools for Creative Coding
+---
diff --git a/content/docs/creative-coding-python/libraries-and-software.md b/content/creative-coding/creative-coding-tools/libraries-and-software.md
similarity index 67%
rename from content/docs/creative-coding-python/libraries-and-software.md
rename to content/creative-coding/creative-coding-tools/libraries-and-software.md
index e65ae463..4ebd1f9c 100644
--- a/content/docs/creative-coding-python/libraries-and-software.md
+++ b/content/creative-coding/creative-coding-tools/libraries-and-software.md
@@ -23,20 +23,3 @@ As much as possible, I have linked not to the home or 'getting started' pages to
- [Klak](https://github.com/keijiro/Klak) (Unity/C#)
- [nannou](https://guide.nannou.cc/why_nannou.html) (Rust)
-# Shader Editors
-- [KodeLife](https://hexler.net/kodelife) Real-time GPU shader editor
-- [Shadertoy](https://www.shadertoy.com/) - Web Community & Tool
-- [GSNComposer](https://www.gsn-lib.org/) - Visual Web Tool for Shaders
-- [SHADERed](https://github.com/dfranx/SHADERed) - Shader Writing Software
-
-
-Visual shader plugins exist inside of engines like Unity ([Amplify](https://assetstore.unity.com/packages/tools/visual-scripting/amplify-shader-editor-68570), [Shader Weaver](https://www.shaderweaver.com/), and [Shader Graph](https://docs.unity3d.com/Packages/com.unity.shadergraph@11.0/manual/Getting-Started.html)) and Unreal Engine ([Material Editor](https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/Materials/Editor/)
-
-# Software
-
-## Visual Tools/Languages
-- [Blender Geometry Nodes](https://docs.blender.org/manual/en/latest/modeling/geometry_nodes/introduction.html)
-- [Unity Visual Effect Graph](https://unity.com/visual-effect-graph)
-- [MaxMSP](https://cycling74.com/products/max/) (paid)
-- [PureData](https://en.wikipedia.org/wiki/Pure_Data)
-- [vvvv](https://vvvv.org/)
diff --git a/content/docs/creative-coding-python/getting-started.md b/content/creative-coding/creative-coding-tools/p5.md
similarity index 81%
rename from content/docs/creative-coding-python/getting-started.md
rename to content/creative-coding/creative-coding-tools/p5.md
index 663f381d..8691e224 100644
--- a/content/docs/creative-coding-python/getting-started.md
+++ b/content/creative-coding/creative-coding-tools/p5.md
@@ -3,10 +3,11 @@ title: Getting Started With p5.js
draft: true
---
-TODO: CHANGE TO .py instead of p5.js
+# Getting Started with P5.js
+p5.js is a processing fork that lets you use javascript. It's primary advantage is being able to run in web browsers, and the online editor.
-## Download Application
-For this walk through I will be using Processing which can be found on [Processing](https://processing.org/). All you need to do is download the application and extrfile:///D:/Repos/korbinportfolifile:///D:/Repos/korbinportfolio/content/prose.mdo/content/prose.mdact it into a separate folder. Once you finish downloading the application, you can start learning how to do processing through the extensive amount of tutorial videos available to you which can be found on [Processing Tutorials](https://processing.org/tutorials).
+## The Editor
+For this walk through I will be using Processing which can be found on [Processing](https://processing.org/). All you need to do is download the application and extract it into a separate folder. Once you finish downloading the application, you can start learning how to do processing through the extensive amount of tutorial videos available to you which can be found on [Processing Tutorials](https://processing.org/tutorials).
## Tutorials
- A good tutorial to start learning processing with is the Coding Train, [Coding Train](https://thecodingtrain.com/guides/getting-started#start-learning-and-coding).
diff --git a/content/creative-coding/creative-coding-tools/p5py.md b/content/creative-coding/creative-coding-tools/p5py.md
new file mode 100644
index 00000000..dabe45b8
--- /dev/null
+++ b/content/creative-coding/creative-coding-tools/p5py.md
@@ -0,0 +1,6 @@
+---
+title: p5.py - Processing with Python
+draft: true
+---
+
+- The [documentation](https://p5.readthedocs.io/en/latest/)
\ No newline at end of file
diff --git a/content/creative-coding/creative-coding-tools/visual-creative-coding-tools.md b/content/creative-coding/creative-coding-tools/visual-creative-coding-tools.md
new file mode 100644
index 00000000..f3673f15
--- /dev/null
+++ b/content/creative-coding/creative-coding-tools/visual-creative-coding-tools.md
@@ -0,0 +1,32 @@
+---
+title: Visual Creative Coding Tools
+---
+
+Often, the procedure involved with creating visuals can be modeled like a flow chart. Many visual editors use a flow-chart paradigm to give users a visual and script-less way to create procedural output.
+
+In particular, shaders - programs that define colors and light reflections in a 3D rendering engine - are well suited to being turned from a visual flow-chart into performant code.
+
+Outside of shaders and visual coding, dedicated tools like TouchDesigner allow for an incredible degree of flexibility and complexity when creating visual effects.
+
+TouchDesigner is a professional tool used to run visuals for things like events, sports stadiums, art galleries, and more. See the work page of [SudoMagic](https://www.sudomagic.com/work/#highlights) for a wide array of ways this tool can be used.
+
+## Visual Tools/Languages
+- [TouchDesigner](https://derivative.ca/)
+- [PureData](https://en.wikipedia.org/wiki/Pure_Data)
+- [vvvv](https://vvvv.org/)
+- [Blender Geometry Nodes](https://docs.blender.org/manual/en/latest/modeling/geometry_nodes/introduction.html)
+- [Unity Visual Effect Graph](https://unity.com/visual-effect-graph)
+- [MaxMSP](https://cycling74.com/products/max/) (paid)
+
+
+## Shader Editors
+- [KodeLife](https://hexler.net/kodelife) Real-time GPU shader editor
+- [Shadertoy](https://www.shadertoy.com/) - Web Community & Tool
+- [GSNComposer](https://www.gsn-lib.org/) - Visual Web Tool for Shaders
+- [SHADERed](https://github.com/dfranx/SHADERed) - Shader Writing Software
+
+Visual shader editors also exist inside of 3D engines.
+
+Unity has [Amplify](https://assetstore.unity.com/packages/tools/visual-scripting/amplify-shader-editor-68570), [Shader Weaver](https://www.shaderweaver.com/), and it's officially supported [Shader Graph](https://docs.unity3d.com/Packages/com.unity.shadergraph@11.0/manual/Getting-Started.html).
+Unreal Engine has [Material Editor](https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/Materials/Editor/), Godot has [Visual Shaders](https://docs.godotengine.org/en/stable/tutorials/shaders/visual_shaders.html), and Snapchat's Lens Studio has a [Material Editor](https://docs.snap.com/lens-studio/learning-lens-studio/graphics/materials/material-editor/material-editor-templates/material-editor#guide).
+
diff --git a/content/csharp/_index.md b/content/csharp/_index.md
new file mode 100644
index 00000000..68560ab5
--- /dev/null
+++ b/content/csharp/_index.md
@@ -0,0 +1,5 @@
+---
+title: C# Programming
+weight: 3
+---
+
diff --git a/content/csharp/advanced/_index.md b/content/csharp/advanced/_index.md
new file mode 100644
index 00000000..fd53e1fc
--- /dev/null
+++ b/content/csharp/advanced/_index.md
@@ -0,0 +1,4 @@
+---
+title: Advanced
+weight: 2
+---
diff --git a/content/docs/programming/advanced/coroutines.md b/content/csharp/advanced/coroutines.md
similarity index 93%
rename from content/docs/programming/advanced/coroutines.md
rename to content/csharp/advanced/coroutines.md
index b99bcf0f..c704e6a4 100644
--- a/content/docs/programming/advanced/coroutines.md
+++ b/content/csharp/advanced/coroutines.md
@@ -1,5 +1,6 @@
---
title: Coroutines
+oldlink: https://guidebook.hdyar.com/docs/programming/advanced/coroutines/
---
## Coroutines Overview Video
{{< youtube 8fIF5F3AvJo >}}
diff --git a/content/docs/programming/advanced/event-action-syntax.md b/content/csharp/advanced/event-action-syntax.md
similarity index 97%
rename from content/docs/programming/advanced/event-action-syntax.md
rename to content/csharp/advanced/event-action-syntax.md
index b6d241d9..32ce69bf 100644
--- a/content/docs/programming/advanced/event-action-syntax.md
+++ b/content/csharp/advanced/event-action-syntax.md
@@ -1,5 +1,6 @@
---
-title: C# Actions
+title: C# Actions & Event Syntax
+oldlink: https://guidebook.hdyar.com/docs/programming/advanced/event-action-syntax/
---
# Event Syntax
@@ -97,7 +98,7 @@ public class Listener : MonoBehaviour
## Static Events
-One of the most useful uses of Actions is to clean up dependencies and reference-spaghett--nightmares in Unity scenes. This often means making our actions static. [Static Objects and Unity]({{< ref "docs/programming/advanced/static-objects-and-unity.md">}}).
+One of the most useful uses of Actions is to clean up dependencies and reference-spaghett--nightmares in Unity scenes. This often means making our actions static. [Static Objects and Unity]({{< ref "/csharp/advanced/static-objects-and-unity.md">}}).
```c#
public class GameManager : MonoBehaviour
diff --git a/content/docs/programming/advanced/interfaces.md b/content/csharp/advanced/interfaces.md
similarity index 80%
rename from content/docs/programming/advanced/interfaces.md
rename to content/csharp/advanced/interfaces.md
index db4c6bab..ea47d235 100644
--- a/content/docs/programming/advanced/interfaces.md
+++ b/content/csharp/advanced/interfaces.md
@@ -1,5 +1,6 @@
---
title: Interfaces
+oldlink: https://guidebook.hdyar.com/docs/programming/advanced/interfaces/
---
# Interfaces
diff --git a/content/docs/programming/advanced/object-oriented-programming.md b/content/csharp/advanced/object-oriented-programming.md
similarity index 86%
rename from content/docs/programming/advanced/object-oriented-programming.md
rename to content/csharp/advanced/object-oriented-programming.md
index c04e5da8..b82631a4 100644
--- a/content/docs/programming/advanced/object-oriented-programming.md
+++ b/content/csharp/advanced/object-oriented-programming.md
@@ -1,5 +1,6 @@
---
title: Object Oriented Programming
+oldlink: https://guidebook.hdyar.com/docs/programming/advanced/object-oriented-programming/
---
# Object Oriented Programming
@@ -29,7 +30,7 @@ All of the scripts we have been writing in Unity, so far, have been inheriting t
{{< youtube bHvjTkvd_vY >}}
## Prerequisite Concepts Review
-First, be sure you have a strong grasp of [Classes and Components]({{< ref "docs/programming/fundamentals/classes-and-components.md">}}).
+First, be sure you have a strong grasp of [Classes and Components]({{< ref "/csharp/fundamentals/classes-and-components.md">}}).
### Data Structures
A data structure is an organization of data. When we have a collection of information that is related, we can put it in a structure that allows easy access, use, comparison, and manipulation of that data. The [List of Data Structures](https://en.wikipedia.org/wiki/List_of_data_structures) on Wikipedia is overwhelming but interesting. For a more fundamental introduction, check out this [Crash Course](https://www.youtube.com/watch?v=DuDz6B4cqVc) video.
@@ -39,7 +40,7 @@ Hierarchy. Hierarchical relationships is a way of organizing things that places
We will call the higher level things parents, the lower level things children, and things at the same level siblings. In programming, we also use the terms "base" to refer to an objects parent, and "extending" to the process of creating a child.
-Also see this page on [Hierarchail Data structures]({{< ref "/docs/programming/fundamentals/hierarchial-data-structures.md">}}).
+Also see this page on [Hierarchail Data structures]({{< ref "/csharp/fundamentals/hierarchial-data-structures.md">}}).
### Taxonomy
Taxonomy is not a programming concept, but knowing about taxonomies will be helpful. Taxonomy is a system of classification, and most taxonomies you have likely heard of are structured as hierarchies. In other words, Taxonomies are practical examples of hierarchies. Creating taxonomies - somebody has to decide how to organize the library (thanks Dewey). It is interesting (one might say 'productive procrastination' to browse through lists of example taxonomy on [wikipedia](https://en.wikipedia.org/wiki/Taxonomy).)
@@ -57,7 +58,7 @@ A member is all of the things that make an object what it is. An objects variabl
> _Classes and structs have members that represent their data and behavior. A class's members include all the members declared in the class, along with all members (except constructors and finalizers) declared in all classes in its inheritance hierarchy._
## Component Systems
-Component-based architecture is discussed in the [Architecture Lecture]({{< ref "/docs/programming/architecture/the-architecture-lecture.md" >}}), and you can review the pattern on its own in the excellent [Game Programming Patterns Book](https://gameprogrammingpatterns.com/component.html) (free, online).
+Component-based architecture is discussed in the [Architecture Lecture]({{< ref "/code-architecture/architecture/the-architecture-lecture.md" >}}), and you can review the pattern on its own in the excellent [Game Programming Patterns Book](https://gameprogrammingpatterns.com/component.html) (free, online).
## The Lesson
@@ -68,7 +69,7 @@ Component-based architecture is discussed in the [Architecture Lecture]({{< ref
{{< youtube Evkj2w0P5IM >}}
## Syntax
-See the [Object Oriented Syntax]({{}}) page.
+See the [Object Oriented Syntax]({{}}) page.
## Resources & Next Steps
The next step will be to implement these concepts yourself in a project! In the meantime...
@@ -77,7 +78,7 @@ The next step will be to implement these concepts yourself in a project! In the
Reinforce your vocabulary by reviewing other object-oriented programming introductions, like [this video](https://www.youtube.com/watch?v=pTB0EiLXUC8) and [this video](https://www.youtube.com/watch?v=YcbcfkLzgvs), which explain the same things, but are short and use different languages.
### Further Concepts
-The next concepts we will be covering are [static objects]({{< ref "/docs/programming/advanced/static-objects-and-unity.md" >}}) and [abstract](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/abstract) classes, as well as learning a lot of the ins-and-outs of actually writing and using polymorphic ([new vocab word](https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/object-oriented/polymorphism)) code.
+The next concepts we will be covering are [static objects]({{< ref "/csharp/advanced/static-objects-and-unity.md" >}}) and [abstract](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/abstract) classes, as well as learning a lot of the ins-and-outs of actually writing and using polymorphic ([new vocab word](https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/object-oriented/polymorphism)) code.
### Reviewing Docs
A number of pages on the official MSDN C# Docs will be useful to read over. As we improve our vocabulary, these vocab-heavy pages will become more and more accessible, and will become a highly useful and pleasantly concise resource.
diff --git a/content/docs/programming/advanced/object-oriented-syntax.md b/content/csharp/advanced/object-oriented-syntax.md
similarity index 97%
rename from content/docs/programming/advanced/object-oriented-syntax.md
rename to content/csharp/advanced/object-oriented-syntax.md
index 50004bc6..ba99a430 100644
--- a/content/docs/programming/advanced/object-oriented-syntax.md
+++ b/content/csharp/advanced/object-oriented-syntax.md
@@ -1,5 +1,6 @@
---
-title: Object Oriented Syntax
+title: Object Oriented Syntax Reference
+oldlink: https://guidebook.hdyar.com/docs/programming/advanced/object-oriented-syntax/
---
# Object-Oriented Syntax
diff --git a/content/csharp/advanced/static-objects-and-unity.md b/content/csharp/advanced/static-objects-and-unity.md
new file mode 100644
index 00000000..050285ff
--- /dev/null
+++ b/content/csharp/advanced/static-objects-and-unity.md
@@ -0,0 +1,7 @@
+---
+title: Static Objects in C# and Unity
+oldlink: https://guidebook.hdyar.com/docs/programming/advanced/static-objects-and-unity/
+---
+# Static Objects
+
+{{< youtube j3CZ6Qah6nA >}}
diff --git a/content/docs/unity/unity-fundamentals/_index.md b/content/csharp/fundamentals/_index.md
similarity index 59%
rename from content/docs/unity/unity-fundamentals/_index.md
rename to content/csharp/fundamentals/_index.md
index 52d50ff1..b833ee74 100644
--- a/content/docs/unity/unity-fundamentals/_index.md
+++ b/content/csharp/fundamentals/_index.md
@@ -1,5 +1,4 @@
---
-title: Fundamentals
weight: 1
-bookCollapseSection: true
+title: Fundamentals
---
diff --git a/content/docs/programming/fundamentals/a-few-metaphors.md b/content/csharp/fundamentals/a-few-metaphors.md
similarity index 98%
rename from content/docs/programming/fundamentals/a-few-metaphors.md
rename to content/csharp/fundamentals/a-few-metaphors.md
index ce1c7253..52426513 100644
--- a/content/docs/programming/fundamentals/a-few-metaphors.md
+++ b/content/csharp/fundamentals/a-few-metaphors.md
@@ -1,5 +1,6 @@
---
title: A Few Metaphors
+oldlink: https://guidebook.hdyar.com/docs/programming/fundamentals/a-few-metaphors/
---
# A Few Metaphors
I generally do not like teaching with metaphors. They can provide quick high-level insight, but I find they can get in the way when we wish to expand on the high-level concept in lower-level ways. It's like learning a mental trick to do multiplication - you might be presented with a problem that you _know_ the answer to, having memorized it, but instead of simply having it, you find yourself walking through the steps of your "trick" in your head. The shortcut has become an impedance.
@@ -51,4 +52,4 @@ Programming is not like driving. Programming is like designing and building out
A single traffic light can be setup and thought through. Let traffic flow along this path, then along that path, and signal appropriately. The challenge in programming isn't often creating an elegant traffic light, but designing a series of them to work well together. Hundreds of traffic lights in a complex network, and if even just one is misbehaving, the result can cascades out of control and quickly become chaos.
## Writing
-[Writing Software is Like ... Writing](https://www.artima.com/weblogs/viewpost.jsp?thread=255898) blog post by Bruce Eckel, 2009.
\ No newline at end of file
+[Writing Software is Like ... Writing](https://www.artima.com/weblogs/viewpost.jsp?thread=255898) blog post by Bruce Eckel, 2009.
diff --git a/content/csharp/fundamentals/arrays.md b/content/csharp/fundamentals/arrays.md
new file mode 100644
index 00000000..5b5ae8ce
--- /dev/null
+++ b/content/csharp/fundamentals/arrays.md
@@ -0,0 +1,10 @@
+---
+title: Arrays
+type: docs
+weight: 4
+oldlink: https://guidebook.hdyar.com/docs/programming/fundamentals/arrays/
+---
+
+# Arrays
+
+{{< youtube ZdLPGOrQcp8 >}}
diff --git a/content/docs/programming/fundamentals/basic-syntax.md b/content/csharp/fundamentals/basic-syntax.md
similarity index 98%
rename from content/docs/programming/fundamentals/basic-syntax.md
rename to content/csharp/fundamentals/basic-syntax.md
index 7c21182c..f9330323 100644
--- a/content/docs/programming/fundamentals/basic-syntax.md
+++ b/content/csharp/fundamentals/basic-syntax.md
@@ -2,7 +2,7 @@
title: Syntax of Variables and Functions
type: docs
weight: 1
-
+oldlink: https://guidebook.hdyar.com/docs/programming/fundamentals/basic-syntax/
---
# Basic Syntax: Variables and Functions
@@ -172,4 +172,4 @@ private void SayHelloToUs(string a, string b, string c)
{
Debug.Log("Hello "+a+", "+b+", and "+c+".");
}
-{{< / highlight >}}
\ No newline at end of file
+{{< / highlight >}}
diff --git a/content/docs/programming/fundamentals/classes-and-components.md b/content/csharp/fundamentals/classes-and-components.md
similarity index 91%
rename from content/docs/programming/fundamentals/classes-and-components.md
rename to content/csharp/fundamentals/classes-and-components.md
index b39e6c47..975b5cd3 100644
--- a/content/docs/programming/fundamentals/classes-and-components.md
+++ b/content/csharp/fundamentals/classes-and-components.md
@@ -1,6 +1,7 @@
---
title: Classes and Components
weight: 5
+oldlink: https://guidebook.hdyar.com/docs/programming/fundamentals/classes-and-components/
---
# Classes and Components
Classes are the fundamental building blocks of programming. A class allows us to create instances of the class, called objects, which we ... do everything with.
diff --git a/content/docs/programming/fundamentals/collapsing-code.md b/content/csharp/fundamentals/collapsing-code.md
similarity index 50%
rename from content/docs/programming/fundamentals/collapsing-code.md
rename to content/csharp/fundamentals/collapsing-code.md
index a193c047..11db3967 100644
--- a/content/docs/programming/fundamentals/collapsing-code.md
+++ b/content/csharp/fundamentals/collapsing-code.md
@@ -1,7 +1,8 @@
---
title: Collapsing Code Exercise
+oldlink: https://guidebook.hdyar.com/docs/programming/fundamentals/collapsing-code/
---
# Collapsing Code
A basic exercise to help you think about code execution.
-{{< youtube T2h36wqAeA4 >}}
\ No newline at end of file
+{{< youtube T2h36wqAeA4 >}}
diff --git a/content/docs/programming/fundamentals/Conditionals.md b/content/csharp/fundamentals/conditionals.md
similarity index 98%
rename from content/docs/programming/fundamentals/Conditionals.md
rename to content/csharp/fundamentals/conditionals.md
index 779d479e..e3bb9d12 100644
--- a/content/docs/programming/fundamentals/Conditionals.md
+++ b/content/csharp/fundamentals/conditionals.md
@@ -2,7 +2,7 @@
title: Conditionals
type: docs
weight: 2
-
+oldlink: https://guidebook.hdyar.com/docs/programming/fundamentals/conditionals/
---
# Conditionals
diff --git a/content/docs/programming/fundamentals/enums.md b/content/csharp/fundamentals/enums.md
similarity index 100%
rename from content/docs/programming/fundamentals/enums.md
rename to content/csharp/fundamentals/enums.md
diff --git a/content/docs/programming/fundamentals/hierarchial-data-structures.md b/content/csharp/fundamentals/hierarchial-data-structures.md
similarity index 92%
rename from content/docs/programming/fundamentals/hierarchial-data-structures.md
rename to content/csharp/fundamentals/hierarchial-data-structures.md
index f15f3fed..418789a3 100644
--- a/content/docs/programming/fundamentals/hierarchial-data-structures.md
+++ b/content/csharp/fundamentals/hierarchial-data-structures.md
@@ -1,18 +1,19 @@
---
-title: Hierarchial Data Structures
+title: Hierarchical Data Structures
+oldlink: https://guidebook.hdyar.com/docs/programming/fundamentals/hierarchial-data-structures/
---
-# Hierarchial Data Structures
+# Hierarchical Data Structures
### Introduction
-Hierarchial data refers to a structure of data. Data - whatever it may be - is linked to other data in parent/child relationships. Understanding Hierarchial data structures is important to operating computers, and learning programming in general.
+Hierarchical data refers to a structure of data. Data - whatever it may be - is linked to other data in parent/child relationships. Understanding Hierarchial data structures is important to operating computers, and learning programming in general.
The good news is: It's fairly simple! The grammar for describing this is as complex as the concept itself. That's one of the *problems* with programming - it's complicated and challenging to talk about some programming concepts (like describing a data structure) with language. A lot of learning programming is going to start with learning jargon and vocabulary. By the time you have that sorted out, you're probably 90% the way there with understanding the concept. In other words, the concept isn't usually, fundamentally, the hard part - it's learning how we communicate and parse it.
---
-### Understanding Hierarchial Data Structures
+### Understanding Hierarchical Data Structures
-Before we start programming or working with Unity, it is nice to have a broad understanding of hierarchial data structures.
+Before we start programming or working with Unity, it is nice to have a broad understanding of Hierarchical data structures.
The idea is simple. Things can be made up of other things.
@@ -70,7 +71,7 @@ And we can move all the way from language to programming "dot-access" syntax:
I can refer to the information at any point on the hierarchy. (model or material or color or r). What I am referring to will include the collection of all of the data pieces contained within it. Many computer languages use dots as the grammar that says "the right side of this dot is a property of the thing on the left side of this dot".
-It's data all the way down! That's hierarchial data structures!
+It's data all the way down! That's Hierarchical data structures!
### It can't actually just contain other things all the way down, eventually it has to be something.
diff --git a/content/docs/programming/fundamentals/rider-tricks.md b/content/csharp/fundamentals/rider-tricks.md
similarity index 99%
rename from content/docs/programming/fundamentals/rider-tricks.md
rename to content/csharp/fundamentals/rider-tricks.md
index 2ff7cd1a..e915c473 100644
--- a/content/docs/programming/fundamentals/rider-tricks.md
+++ b/content/csharp/fundamentals/rider-tricks.md
@@ -1,7 +1,8 @@
---
title: Jetbrains Rider Features & Plugins
type: docs
-weight: 10
+weight: 10
+oldlink: https://guidebook.hdyar.com/docs/programming/fundamentals/rider-tricks/
---
# My Favorite Rider Plugins, Settings, and Features for Unity Development
diff --git a/content/docs/programming/fundamentals/self-documenting-code.md b/content/csharp/fundamentals/self-documenting-code.md
similarity index 100%
rename from content/docs/programming/fundamentals/self-documenting-code.md
rename to content/csharp/fundamentals/self-documenting-code.md
diff --git a/content/docs/programming/fundamentals/Syntax-of-Code-Flow.md b/content/csharp/fundamentals/syntax-of-code-flow.md
similarity index 98%
rename from content/docs/programming/fundamentals/Syntax-of-Code-Flow.md
rename to content/csharp/fundamentals/syntax-of-code-flow.md
index cc654db9..bfc4ec00 100644
--- a/content/docs/programming/fundamentals/Syntax-of-Code-Flow.md
+++ b/content/csharp/fundamentals/syntax-of-code-flow.md
@@ -2,7 +2,7 @@
title: Syntax of Code Flow
type: docs
weight: 2
-
+oldlink: https://guidebook.hdyar.com/docs/programming/fundamentals/syntax-of-code-flow/
---
# Code Flow
@@ -165,4 +165,4 @@ i++; is shorthand for writing i = i + 1; It's just a little bit tidier.
"++" as an operator will add 1 to the variable to it's left.
Similarly, i-- will subtract one from a number.
-{{< /hint >}}
\ No newline at end of file
+{{< /hint >}}
diff --git a/content/docs/programming/fundamentals/types-of-error-messages.md b/content/csharp/fundamentals/types-of-error-messages.md
similarity index 98%
rename from content/docs/programming/fundamentals/types-of-error-messages.md
rename to content/csharp/fundamentals/types-of-error-messages.md
index 2e02a1d4..941c805a 100644
--- a/content/docs/programming/fundamentals/types-of-error-messages.md
+++ b/content/csharp/fundamentals/types-of-error-messages.md
@@ -1,5 +1,6 @@
---
title: Types of Error Messages
+oldlink: https://guidebook.hdyar.com/docs/programming/fundamentals/types-of-error-messages/
---
# Types of Error Messages
Not all error messages are created equally, and understanding the differences is important to being able to hunt down and squash the bugs that are causing the messages.
@@ -76,4 +77,4 @@ These are just tools of the IDE. They're useful! But they aren't always accurate
Don't let your IDE get in your way. When you're in the middle of fixing lots of errors, it can be helpful to jump over to Unity, let it attempt to compile, and give you new error messages. Compiler error messages are consistent and usually very helpful.
## Video Review
-{{< youtube xISgtKeLWQU >}}
\ No newline at end of file
+{{< youtube xISgtKeLWQU >}}
diff --git a/content/docs/digital-media-fundamentals/_index.md b/content/digital-media-fundamentals/_index.md
similarity index 100%
rename from content/docs/digital-media-fundamentals/_index.md
rename to content/digital-media-fundamentals/_index.md
diff --git a/content/digital-media-fundamentals/audio/_index.md b/content/digital-media-fundamentals/audio/_index.md
new file mode 100644
index 00000000..d2084db1
--- /dev/null
+++ b/content/digital-media-fundamentals/audio/_index.md
@@ -0,0 +1,5 @@
+---
+title: Audio
+weight: 6
+---
+Working with audio.
diff --git a/content/docs/digital-media-fundamentals/audio/recording_a_voice_over.md b/content/digital-media-fundamentals/audio/recording_a_voice_over.md
similarity index 97%
rename from content/docs/digital-media-fundamentals/audio/recording_a_voice_over.md
rename to content/digital-media-fundamentals/audio/recording_a_voice_over.md
index 375c4624..56ab36f5 100644
--- a/content/docs/digital-media-fundamentals/audio/recording_a_voice_over.md
+++ b/content/digital-media-fundamentals/audio/recording_a_voice_over.md
@@ -1,5 +1,6 @@
---
title: Recording A Voice-Over in Audacity
+oldlink: https://guidebook.hdyar.com/docs/digital-media-fundamentals/audio/recording_a_voice_over/
---
## Notes on Saving
@@ -55,4 +56,4 @@ A longer fade can also help make noise less jarring when i t suddenly appears. N
## Step 10 – Review
Use headphones and give the audio file a good listen. Good? Very good? You sure? Sleep on it.
## Step 11 – Export
-Export as a .WAV. 16-bit is fine. Unity will make the file size smaller (file-size compression) for us, so we can give it large, “lossless” files. You can ignore the metadata pop-up.
\ No newline at end of file
+Export as a .WAV. 16-bit is fine. Unity will make the file size smaller (file-size compression) for us, so we can give it large, “lossless” files. You can ignore the metadata pop-up.
diff --git a/content/digital-media-fundamentals/fundamentals/_index.md b/content/digital-media-fundamentals/fundamentals/_index.md
new file mode 100644
index 00000000..b361668e
--- /dev/null
+++ b/content/digital-media-fundamentals/fundamentals/_index.md
@@ -0,0 +1,4 @@
+---
+title: Fundamentals
+weight: 1
+---
diff --git a/content/docs/digital-media-fundamentals/binary.md b/content/digital-media-fundamentals/fundamentals/binary.md
similarity index 86%
rename from content/docs/digital-media-fundamentals/binary.md
rename to content/digital-media-fundamentals/fundamentals/binary.md
index 7a2f83bb..8088e56f 100644
--- a/content/docs/digital-media-fundamentals/binary.md
+++ b/content/digital-media-fundamentals/fundamentals/binary.md
@@ -1,5 +1,6 @@
---
title: Binary
+oldlink: https://guidebook.hdyar.com/docs/digital-media-fundamentals/binary/
---
# Binary
'binary' Refers either to [binary numbers](https://en.wikipedia.org/wiki/Binary_number) or [binary code](https://en.wikipedia.org/wiki/Binary_code), both of which are base 2 representations of information. We can do math with binary numbers, and store data (including numbers) with binary code, also called binary encoding.
@@ -24,4 +25,4 @@ The youtube channel 'Computerphile' has a number of good videos on the topic:
### Also See
-The [Binary Cheatsheet](https://timseverien.github.io/binary-cheatsheet/), a concise overview which also discusses operators.
\ No newline at end of file
+The [Binary Cheatsheet](https://timseverien.github.io/binary-cheatsheet/), a concise overview which also discusses operators.
diff --git a/content/docs/digital-media-fundamentals/handful-of-computer-tips.md b/content/digital-media-fundamentals/fundamentals/handful-of-computer-tips.md
similarity index 95%
rename from content/docs/digital-media-fundamentals/handful-of-computer-tips.md
rename to content/digital-media-fundamentals/fundamentals/handful-of-computer-tips.md
index f33926a1..0cb996d0 100644
--- a/content/docs/digital-media-fundamentals/handful-of-computer-tips.md
+++ b/content/digital-media-fundamentals/fundamentals/handful-of-computer-tips.md
@@ -1,7 +1,7 @@
---
title: A Handful of Computer Tips
-draft: true
---
+
# A Handful of Computer Tips
These tips are generally about the Windows operating-system, or common conventions that many pieces of software use.
@@ -22,7 +22,7 @@ These tips are generally about the Windows operating-system, or common conventio
- Lets practice navigating explorer or finder window from a keyboard (open: win+e. mac: alt-tab to finder is the selected software, then cmd+n)
- Lets take a look at properties and details of the file menu.
- Win+P to open external connected display options on windows
-- View your file system visually, using software like WinDirStat, TreeSize, GrandPerspective, DaisyDisk, or others. *I have been using WinDirStat for 15 years and won't switch now.*
+- View your file system visually, using software like WinDirStat, TreeSize, GrandPerspective, DaisyDisk, or others. *I have been using WinDirStat for 15 years and won't switch now, even though WizTree is way faster.*
- Ctrl+Shift+V or Cmd+Shift+V will paste text without all the formatting, usually.
- Ctrl+L (Cmd+l) will select and highlight an address bar or search bar in most software (like web browsers and file explorers)
- Windows users, check out the software 'Everything' by Voidtools
diff --git a/content/digital-media-fundamentals/fundamentals/notes-on-file-management.md b/content/digital-media-fundamentals/fundamentals/notes-on-file-management.md
new file mode 100644
index 00000000..112ed780
--- /dev/null
+++ b/content/digital-media-fundamentals/fundamentals/notes-on-file-management.md
@@ -0,0 +1,6 @@
+---
+title: Notes on File Management
+oldlink: https://guidebook.hdyar.com/docs/digital-media-fundamentals/notes-on-file-management/
+---
+# Notes on File Management
+{{< youtube wwBV_IfR_00 >}}
diff --git a/content/digital-media-fundamentals/fundamentals/package-manager.md b/content/digital-media-fundamentals/fundamentals/package-manager.md
new file mode 100644
index 00000000..e439fc0a
--- /dev/null
+++ b/content/digital-media-fundamentals/fundamentals/package-manager.md
@@ -0,0 +1,63 @@
+---
+title: Using a Package Manager
+---
+# What are Package Managers?
+
+Package Managers are tools that handle installing software for you.
+
+A package manager sits on your computer and can download, install, and update software for you.
+## Repositories
+In order for package managers to work, they need to know about the software. This is their primary advantage. Instead of software being just... out on various websites, somewhere, somebody controls a centralized and public database.
+
+These databases are usually public and community managed. While Apple's App Store can be thought of as a package manager for iPhones, the database of what software is in their repository of tools is heavily controlled and moderated by Apple.
+
+Software repositories also have systems for moderation and control, usually in a decentralized and community-run way. The repository for [Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/), a package manager for Windows, allows [community submissions](https://learn.microsoft.com/en-us/windows/package-manager/package/repository).
+
+## Trusting The Tools
+The submissions have an automated verification to see that the software adheres to various [product and content policies](https://learn.microsoft.com/en-us/windows/package-manager/package/windows-package-manager-policies).
+One of these steps is that the installer is run through malware and other threat detection tools. If something malicious does manage to slip through the automatic checks, the public nature and community overview of the packages means that it can get resolved very quickly.
+
+All in all, it is usually a more pleasant, safer, and less spammy way to install software than to download it from various websites.
+
+> The backup software "SyncBackFree" is great. It's [website and download page](https://www.2brightsparks.com/download-syncbackfree.html) is not. It's much easier to type "winget install 2BrightSparks.SyncBackFree" into a terminal than it is to deal with that website, and it's *not* full of malicious advertisements or fake download buttons.
+
+Accidentally downloading viruses is a serious problem. Package Managers handle this threat in a much more rigorous way than, say, [hoping that google results are trustworthy](https://www.reddit.com/r/blender/comments/vvrxko/warning_fake_blender_website_paying_for_priority/).
+
+## Ease of Updating
+By far the best reason to use a package manager is that it makes it **way** easier to update software than otherwise. Every single software individually checking for updates and asking to be updated? gross! Running one command? Easy!
+
+# Package Managers
+> While multiple package managers will be listed per operating system, it is advisable to use just one. I.E.: If something says to "install via scoop", check to see if winget has it first.
+
+## Windows
+
+### Winget
+[Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/) is an official and well-supported package manager by Microsoft, and it is recommended. It is already installed on most modern Windows machines.
+
+If you prefer, there is even a [GUI](https://www.marticliment.com/unigetui/) for it.
+
+### Others
+Besides WinGet, you may see [Chocolatey](https://chocolatey.org/) and [scoop](https://scoop.sh/) are popular..
+
+## Mac
+
+### Homebrew
+[Homebrew](https://brew.sh/) calls itself "The Missing Package Manager for macOS (or Linux)", and it's overwhelming popularity among Mac developers earns the title.
+
+### Others
+The only serious competitor to Homebrew is [MacPorts](https://www.macports.org/), which has been around since 2002!
+
+## Linux
+Many different linux distributions come with their own package manager. Arch (pacman), Ubuntu (apt or apt-get), Fedora (DNF or Yum), OpenSUSE (Zypper), Gentoo (portage), all have their own systems. They are not always mutually incompatible, depending on the roots of the distribution or software.
+
+Thankfully, this means that while "Package Managers on Linux" is complex, "Package Managers for Your Linux Machine" is simple. You can generally just use the ones that come with the system.
+
+## What about Package Managers for Programming Languages?
+If you are using python, go, rust, javascript/node, or other popular programming languages, you might be able to install software (that was written in this language) via that communities' package manager.
+
+Generally, these tools are for _internal_ use. Using another software packages as a building block for writing your own in the same language. [NuGet](https://learn.microsoft.com/en-us/nuget/what-is-nuget) for C#/.NET is great, but you don't use it to install software, you use it to create software.
+
+There are exceptions. Python ([PIP](https://packaging.python.org/en/latest/guides/tool-recommendations/#installing-packages)), Rust ([Cargo](https://doc.rust-lang.org/cargo/getting-started/first-steps.html)), and Javascript's NodeJS ([NPM](https://www.npmjs.com/)) will let you install software that you might just run on your computer.
+
+> There are technical reasons for this involving how and when programming languages get compiled/run, and how the respective runtimes work.
+
diff --git a/content/docs/digital-media-fundamentals/plaintext-data-formats.md b/content/digital-media-fundamentals/fundamentals/plaintext-data-formats.md
similarity index 89%
rename from content/docs/digital-media-fundamentals/plaintext-data-formats.md
rename to content/digital-media-fundamentals/fundamentals/plaintext-data-formats.md
index 337d7e0a..6c0d82a0 100644
--- a/content/docs/digital-media-fundamentals/plaintext-data-formats.md
+++ b/content/digital-media-fundamentals/fundamentals/plaintext-data-formats.md
@@ -8,7 +8,7 @@ Files are usually something that software interfaces with, not humans. We use so
Generally, we are creating data structures, and using them for _whatever_. We coudln't open up the direct data that a JPEG file gives us, it looks like gibberish, a computer parses that gibberish into an image.
-Imagine the pain of trying to edit a Powerpoint file on a computer that does not have Powerpoint installed. Developers hate that pain, and love to create a clean separation between software tools and data.
+Imagine the pain of trying to edit a PowerPoint file on a computer that does not have PowerPoint installed. Developers hate that pain, and love to create a clean separation between software tools and data.
We can create a file in JSON by writing it by hand, and use it in a unity project. We could transfer the same program to a different computer, in a different operating system, and use it on a different project without having unity installed.
diff --git a/content/digital-media-fundamentals/images/_index.md b/content/digital-media-fundamentals/images/_index.md
new file mode 100644
index 00000000..a00759b2
--- /dev/null
+++ b/content/digital-media-fundamentals/images/_index.md
@@ -0,0 +1,5 @@
+---
+title: Images
+weight: 5
+---
+Working with 2D image data is foundational to most other digital media workflows, such as 3D and video
\ No newline at end of file
diff --git a/content/docs/digital-media-fundamentals/aspect-ratios.md b/content/digital-media-fundamentals/images/aspect-ratios.md
similarity index 96%
rename from content/docs/digital-media-fundamentals/aspect-ratios.md
rename to content/digital-media-fundamentals/images/aspect-ratios.md
index 89909ab8..74724bb3 100644
--- a/content/docs/digital-media-fundamentals/aspect-ratios.md
+++ b/content/digital-media-fundamentals/images/aspect-ratios.md
@@ -1,5 +1,6 @@
---
title: Aspect Ratios
+oldlink: https://guidebook.hdyar.com/docs/digital-media-fundamentals/aspect-ratios/
---
# Aspect Ratios
@@ -42,4 +43,4 @@ The options are Fill, Stretch, Tile, Center, and Span. Digital digital media app
**Stretch** will stretch the image to fit the display.
**Tile** will repeat the image again. Also called '**repeat**'. You also might only **repeat horizontally** or **repeat vertically**, common approaches when working with UV maps and 3D software.
**Center** will letterbox the image.
-**Span** is used for multiple monitors, filling the image across all connected displays.
\ No newline at end of file
+**Span** is used for multiple monitors, filling the image across all connected displays.
diff --git a/content/docs/digital-media-fundamentals/color-theory.md b/content/digital-media-fundamentals/images/color-theory.md
similarity index 98%
rename from content/docs/digital-media-fundamentals/color-theory.md
rename to content/digital-media-fundamentals/images/color-theory.md
index 2209f5d0..2664fc11 100644
--- a/content/docs/digital-media-fundamentals/color-theory.md
+++ b/content/digital-media-fundamentals/images/color-theory.md
@@ -1,11 +1,10 @@
---
title: Color Theory
+oldlink: https://guidebook.hdyar.com/docs/digital-media-fundamentals/color-theory/****
---
-
# Color Theory
-
## History
*Color theory has been around since the Greeks, through the Renaissance, and is evolving today as we kick off the digital age.*
@@ -29,7 +28,6 @@ Da Vinci was also a renaissance man best known for his art, like the Mona Lisa.
He brought the theory of having three primary colors but connected them to the elements as before. White represented light, and black being darkness. He used these theories to create balanced compositions.
-
![Da Vinci Last supper](/images/digital-media/color-theory/CT-LDV.jpg)
![Da Vinci Color Wheel](/images/digital-media/color-theory/CT-LDV2.jpg)
@@ -142,4 +140,4 @@ It's also important to note that colors can invoke and emphasize different meani
These are not steadfast rules and are subjective, but it is important to keep in mind that colors have the power to influence mood.
-![What different colors invoke](/images/digital-media/color-theory/CT-ColorEnvokes.png)
\ No newline at end of file
+![What different colors invoke](/images/digital-media/color-theory/CT-ColorEnvokes.png)
diff --git a/content/digital-media-fundamentals/media-tools/_index.md b/content/digital-media-fundamentals/media-tools/_index.md
new file mode 100644
index 00000000..836d7406
--- /dev/null
+++ b/content/digital-media-fundamentals/media-tools/_index.md
@@ -0,0 +1,4 @@
+---
+title: Media Tools
+weight: 2
+---
diff --git a/content/docs/digital-media-fundamentals/capture-tools.md b/content/digital-media-fundamentals/media-tools/capture-tools.md
similarity index 98%
rename from content/docs/digital-media-fundamentals/capture-tools.md
rename to content/digital-media-fundamentals/media-tools/capture-tools.md
index d5fc9dc1..8c01d65b 100644
--- a/content/docs/digital-media-fundamentals/capture-tools.md
+++ b/content/digital-media-fundamentals/media-tools/capture-tools.md
@@ -1,5 +1,6 @@
---
Title: Capture Tools
+oldlink: https://guidebook.hdyar.com/docs/digital-media-fundamentals/capture-tools/
---
# Capture & Documentation Tools
diff --git a/content/docs/digital-media-fundamentals/markdown-guide.md b/content/digital-media-fundamentals/media-tools/markdown-guide.md
similarity index 97%
rename from content/docs/digital-media-fundamentals/markdown-guide.md
rename to content/digital-media-fundamentals/media-tools/markdown-guide.md
index f30f9fb0..b901a57b 100644
--- a/content/docs/digital-media-fundamentals/markdown-guide.md
+++ b/content/digital-media-fundamentals/media-tools/markdown-guide.md
@@ -1,5 +1,6 @@
---
title: Markdown
+oldlink: https://guidebook.hdyar.com/docs/digital-media-fundamentals/markdown-guide/
---
# What is Markdown?
diff --git a/content/digital-media-fundamentals/working-in-media/_index.md b/content/digital-media-fundamentals/working-in-media/_index.md
new file mode 100644
index 00000000..cf27638b
--- /dev/null
+++ b/content/digital-media-fundamentals/working-in-media/_index.md
@@ -0,0 +1,4 @@
+---
+title: Working In Media
+weight: 3
+---
diff --git a/content/docs/digital-media-fundamentals/confusion-and-complexity.md b/content/digital-media-fundamentals/working-in-media/confusion-and-complexity.md
similarity index 98%
rename from content/docs/digital-media-fundamentals/confusion-and-complexity.md
rename to content/digital-media-fundamentals/working-in-media/confusion-and-complexity.md
index d82d0e16..e9afc3af 100644
--- a/content/docs/digital-media-fundamentals/confusion-and-complexity.md
+++ b/content/digital-media-fundamentals/working-in-media/confusion-and-complexity.md
@@ -1,5 +1,6 @@
---
title: Confusion vs. Complexity
+oldlink: https://guidebook.hdyar.com/docs/digital-media-fundamentals/confusion-and-complexity/
---
# Confusion vs. Complexity.
diff --git a/content/docs/digital-media-fundamentals/creative-vs-execution.md b/content/digital-media-fundamentals/working-in-media/creative-vs-execution.md
similarity index 99%
rename from content/docs/digital-media-fundamentals/creative-vs-execution.md
rename to content/digital-media-fundamentals/working-in-media/creative-vs-execution.md
index b5eeb2d7..94fdd1e0 100644
--- a/content/docs/digital-media-fundamentals/creative-vs-execution.md
+++ b/content/digital-media-fundamentals/working-in-media/creative-vs-execution.md
@@ -1,5 +1,6 @@
---
title: Creativity vs. Execution
+oldlink: https://guidebook.hdyar.com/docs/digital-media-fundamentals/creative-vs-execution/
---
# Creative Level Work vs. Execution Level Work
Let us identify different ways working, which might also call "styles of problem solving", "types of work", or "methods of creative engagement".
diff --git a/content/docs/digital-media-fundamentals/only-software-tutorial.md b/content/digital-media-fundamentals/working-in-media/only-software-tutorial.md
similarity index 100%
rename from content/docs/digital-media-fundamentals/only-software-tutorial.md
rename to content/digital-media-fundamentals/working-in-media/only-software-tutorial.md
diff --git a/content/docs/digital-media-fundamentals/order-of-development.md b/content/digital-media-fundamentals/working-in-media/order-of-development.md
similarity index 98%
rename from content/docs/digital-media-fundamentals/order-of-development.md
rename to content/digital-media-fundamentals/working-in-media/order-of-development.md
index df1ed96b..0d7fc6fc 100644
--- a/content/docs/digital-media-fundamentals/order-of-development.md
+++ b/content/digital-media-fundamentals/working-in-media/order-of-development.md
@@ -1,5 +1,6 @@
---
title: Order Of Development
+oldlink: https://guidebook.hdyar.com/docs/digital-media-fundamentals/order-of-development/
---
# Order Of Development
diff --git a/content/docs/blender/3d-models.md b/content/docs/blender/3d-models.md
deleted file mode 100644
index 5cc1f9af..00000000
--- a/content/docs/blender/3d-models.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: How 3D Models Work
----
-# How 3D Models Work
-
-## Elements of a 3D Model & How Mesh Data works
-{{< youtube -HygudufNfU >}}
-
-## What is a 3D Model Anyway?
-What... is a 3D model? This has some overlap with the above video.
-{{< youtube I3ndKKrazoA >}}
-
-## Face Orientaion and Back-Face Culling
-{{< youtube GcUrysHVgIc >}}
diff --git a/content/docs/blender/_index.md b/content/docs/blender/_index.md
deleted file mode 100644
index f18d0eea..00000000
--- a/content/docs/blender/_index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-weight: 3
-bookFlatSection: false
-bookCollapseSection: true
-title: "Blender"
----
diff --git a/content/docs/blender/helpful-blender-tutorials.md.backup b/content/docs/blender/helpful-blender-tutorials.md.backup
deleted file mode 100644
index e27602f6..00000000
--- a/content/docs/blender/helpful-blender-tutorials.md.backup
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: Blender YouTube Creators
----
-
-# Youtube Channels
-
-
-- [Polyfjord](https://www.youtube.com/c/Polyfjord)
- - Animation Tutorials
- - Step by step
- - Shaders
-
-
-- [Ducky 3D](https://www.youtube.com/channel/UCuNhGhbemBkdflZ1FGJ0lUQ)
- - Animation Tutorials
- - Step by step
-
-
-- [Erindale](https://www.youtube.com/c/Erindale)
- - Geometry Nodes
- - Bob Ross of geometry nodes
- - Beginner Friendly —> Advanced
-
-
-- [Grant Abbitt](https://www.youtube.com/c/GrantAbbitt)
- - Tutorials
- - Textures
- - Beginner Friendly —> Advanced
-
-
-- [CG Geek](https://www.youtube.com/c/CGGeek)
- - Random Blender/animation videos
-
-
-- [Josh Gambrell](https://www.youtube.com/c/JoshGambrell)
- - Blender Hacks and Tutorials
- - Intermediate
-
diff --git a/content/docs/blender/toolbox/_index.md b/content/docs/blender/toolbox/_index.md
deleted file mode 100644
index f6114143..00000000
--- a/content/docs/blender/toolbox/_index.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Toolbox
-weight: 20
----
diff --git a/content/docs/blender/toolbox/bake-textures-in-blender-to-unity.md.backup b/content/docs/blender/toolbox/bake-textures-in-blender-to-unity.md.backup
deleted file mode 100644
index c77704db..00000000
--- a/content/docs/blender/toolbox/bake-textures-in-blender-to-unity.md.backup
+++ /dev/null
@@ -1,72 +0,0 @@
----
-title: How to Bake Procedural Materials into PBR Maps
-
-draft: true
-
----
-
-## How to Bake Procedural Materials into PBR Maps
-
-### Setup
-
-1. Apply your material to a square plane; adjust settings to your liking.
-![Material Display](/images/blender/toolbox/material-display.png)
-2. UV Unwrap your plane. (**Important!**)
-3. Add an Image Texture to the Shading Node Workspace for each texture type you want to bake (diffuse, AO, normal, etc.)
-
-### Diffuse Map Example (Base Color)
-
-1. Use cycles (can only bake materials in cycles), set **Bake Type** to **Diffuse**
-![Bake Type to Defuse](/images/blender/toolbox/bake-type-diffuse.png)
-2. Disable **Direct** and **Indirect** contributions under **Influence**
-![Disable Direct and Indirect Contributions](/images/blender/toolbox/disable-direct-indirect-contr.png)
-3. Set **Margin --> Size** to zero pixels
-![Margin Size](/images/blender/toolbox/margin-size.png)
-4. While selecting your **Diffuse Image Texture** node, click the **Bake** button.
-![Diffuse Image Texture Node](/images/blender/toolbox/diffuse-image-texture-node.png)
-5. Save your Diffuse Image Texture wherever you want.
-![Diffuse Image Texture Display](/images/blender/toolbox/diffuse-image-texture-display.png)
-
-- Other textures can be baked in the same way by just changing the Bake Type.
-![Bake Type Drop Down](/images/blender/toolbox/bake-type-dropdown.png) ![Normal Map Texture](normal-map-texture.png)
-
-### Baking Metallic Maps
-Metallic Maps are a bit harder to bake in Blender (3.3.0 as of writing this) because there is no Metallic option. You must bake it to a placeholder Bake Type and simply rename the file.
-
-A good way to do this is to take advantage of the Node-Wrangler Addon’s Node Preview feature. With the addon enabled, you can CTRL + SHIFT + CLICK on any node to preview its data. Behind the scenes, it’s setting the value coming off the node as an emission value. Here’s how we can exploit this:
-
-1. Preview the final node in your tree of metallic value nodes.
-![Final Node Preview](/images/blender/toolbox/final-node-preview.png)
-Alternatively, if your material has a flat metallic value, you can preview a value node set to the metallic value.
-![Flat Metallic Value](/images/blender/toolbox/flat-metallic-value.png)
-2. Set the **Bake Type** to **Emit**.
-![Emit Bake Type](/images/blender/toolbox/emit-bake-type.png)
-3. Bake as usual. (Remember to have your desired image texture node selected!)
-
-## Importing into Unity
-![Import to Unity](/images/blender/toolbox/import-to-unity.png)
-
-### How to Set up Textures in Unity Materials
-
-1. Unity and Blender have slightly different names for each map.
-
-| Blender | Unity | Definition |
-|--------------|-----------|------------|
-| Diffuse | Albedo | RGB Base Color of Material|
-| Glossy | Metallic***| BW/A How much Material looks like metal (kinda)|
-|Roughness | Smoothness***| BW/A How light scatters across a surface|
-|Normal | Normal| RGB values that determine how light bounces per pixel|
-|Height | Height | BW how much each pixel displaces the mesh|
-|Ambient Occlusion| Occlusion| BW contains lighting data for soft/ambient shadows|
-2. You can simply import your baked textures and drag and drop them into the corresponding texture slots. Some texture maps, like Normal maps, require their type to be set to the correct value.
-![Normal Map in Task Bar](/images/blender/toolbox/normal-inspector.png)
-
-- **Important Note:** Unity combines the Metallic and Roughness maps from Blender into one map. The alpha channel of the Metallic Map determines *Smoothness*. Generally, it is okay to use Blender’s Roughness for Unity’s Metallic Map but **INVERT THE VALUES OF BLENDER’S BAKED ROUGHNESS MAP** or the Metallic/Smoothness will be inverted.
-
-### Combined Roughness and Metallic
-
-This compositing setup can be used to prepare a Roughness + Metallic Map for Unity:
-![Composting Node Setup](/images/blender/toolbox/compositing-node-setup.png)
-
-After compositing, set your render size to the preferred texture size and complete your render.
-![Setting Texture Size](/images/blender/toolbox/setting-texture-size.png)
diff --git a/content/docs/blender/toolbox/blender-tutorials.md.backup b/content/docs/blender/toolbox/blender-tutorials.md.backup
deleted file mode 100644
index 4934dd28..00000000
--- a/content/docs/blender/toolbox/blender-tutorials.md.backup
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title: Blender Tutorials
-
-draft: False
-
----
-
-# Tutorials
-
-## The Donut Tutorial by Blender Guru
-
-- [Donut Tutorial](https://www.youtube.com/watch?v=nIoXOplUvAw)
-- A faster pace, long series, where you learn the bare minimum of a lot of tools (easy to forget if it's your first tutorial). Overall, a good way to get a very broad and light understanding of the program.
-- Can do at any level.
-
-## How to Make a Hibiscus Flower in Blender by Octopus Effects
-
- - [How to Make a Hibiscus Flower](https://www.youtube.com/watch?v=wRcL0CPljMA&list=PLnxBZAbcOs1XqpFdjkapZktH0wUgafsNx&index=8)
- - Goes over UV editing through uv mapping a flower petal onto a petal object made in Blender. A fun/short tutorial.
- - Beginner friendly.
-
- ## Twisting Crystal by Polyfjord
-
- - [Twisting Crystals in Blender](https://www.youtube.com/watch?v=uRAfhJQFjRo&list=PLnxBZAbcOs1XqpFdjkapZktH0wUgafsNx&index=23)
- - Another fun and short tutorial where you also learn about curves and animation.
- - Beginner friendly.
-
- ## The Right Way to Cut Holes in Surfaces by Josh Gambrell
-
- - [The RIGHT Way to Cut Holes in Surfaces in Blender](https://www.youtube.com/watch?v=Ci1jBOm_5NY&t=586s)
- - Cutting holes in objects without ruining the topology.
-
-## Weight Painting in Blender (5-Minutes) by Royal Skies
-- [Weight Painting in 5 Minutes](https://www.youtube.com/watch?v=4fICQmBEt4Y&list=PLnxBZAbcOs1XqpFdjkapZktH0wUgafsNx&index=76&t=70s)
-- Beginner friendly
-- Short
-
-## Introduction to the Compositor by Grant Abbitt
-- [Make Your Renders Pop - Introduction to The Framework](https://www.youtube.com/watch?v=jhTPI6QJQNg&list=PLnxBZAbcOs1XqpFdjkapZktH0wUgafsNx&index=73&t=2s)
-- Beginner
-- Learn about the compositor
-- Not helpful for a 3D model to unity workflow but good to know for renders
-
-## Voxel and Quad Remeshing
-- [Blender Secrets - Voxel and Quad Remesh in Sculpt Mode](https://www.youtube.com/watch?v=UIJRSyJ7cSg&list=PLnxBZAbcOs1XqpFdjkapZktH0wUgafsNx&index=66)
-- Modeling
-- Intermediate
-- Topology
-
-
-
-
diff --git a/content/docs/creative-coding-python/fun-software-for-creative-coding.md.backup b/content/docs/creative-coding-python/fun-software-for-creative-coding.md.backup
deleted file mode 100644
index d616fd6a..00000000
--- a/content/docs/creative-coding-python/fun-software-for-creative-coding.md.backup
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: Other Applications
-draft: false
----
-# Software
-
-## Blender
-Mainly known for its free open-source modeling and sculpting features, Blender also has a scripting feature that can be found on the top tabs. This workflow allows for you to create meshes, lines, references objects and modifiers, and much more.
-
-## Tutorials
-There is a tutorial made by Erindale that utilizes excel spreadsheets to make a model out of houses sold in the UK in a an abstract version of digital visualization. You learn thing like how to use the scripting functions in blender, how to navigate/find what you need, and much more.
-- [Geo Nodes and Python](https://www.youtube.com/watch?v=xWwoWi_vPTg&t=4s) - Erindale
-
-You can use the code developed in this tutorial as the backbone to other pieces of code you make that take into account data sets.
\ No newline at end of file
diff --git a/content/docs/creative-coding-python/python-fundamentals/_index.md b/content/docs/creative-coding-python/python-fundamentals/_index.md
deleted file mode 100644
index 8bc67844..00000000
--- a/content/docs/creative-coding-python/python-fundamentals/_index.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-weight: 1
-bookFlatSection: false
-bookCollapseSection: true
-title: "Python Fundamentals"
----
-# Python Fundamentals
-
-Much of the guidebook content in this section was created while teaching an Introduction to Programming course.
-These videos are largely small topics-supplementing content, and not designed to stand alone.
-
-## Other Resources
-### Books
-
-The textbook for the class, [Practical Programming](https://pragprog.com/titles/gwpy3/practical-programming-third-edition/) is a great resource. ([alibris](https://www.alibris.com/Practical-Programming-An-Introduction-to-Computer-Science-Using-Python-3-6-Paul-Gries/book/39047737)).
-
-Also great is the [Python Pocket Reference](https://learning.oreilly.com/library/view/python-pocket-reference/9780596802042/), which can get you to accurate reference faster than the time it takes to filter through bad google results.
-
-### Videos
-- [The Coding Train](https://www.youtube.com/@TheCodingTrain) has been consistently producing high quality educational content, and has great processing and python series.
\ No newline at end of file
diff --git a/content/docs/creative-coding-python/python-fundamentals/introducting-functions.md b/content/docs/creative-coding-python/python-fundamentals/introducting-functions.md
deleted file mode 100644
index 835c005a..00000000
--- a/content/docs/creative-coding-python/python-fundamentals/introducting-functions.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Introducing Functions
-draft: false
-weight: 1
----
-
-{{< youtube s_z2N4Xi614 >}}
\ No newline at end of file
diff --git a/content/docs/creative-coding-python/python-fundamentals/loops.md b/content/docs/creative-coding-python/python-fundamentals/loops.md
deleted file mode 100644
index 9c12de44..00000000
--- a/content/docs/creative-coding-python/python-fundamentals/loops.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Loops
-draft: false
-weight: 4
----
-
-## Basic Loops in Processing
-{{< youtube MyKxPgr0Qb0 >}}
-
diff --git a/content/docs/creative-coding-python/python-fundamentals/modules.md b/content/docs/creative-coding-python/python-fundamentals/modules.md
deleted file mode 100644
index 935ad715..00000000
--- a/content/docs/creative-coding-python/python-fundamentals/modules.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Modules
-draft: false
-weight: 5
----
-
-## Introducing Modules in Python
-{{< youtube tr8JlkE2brk >}}
\ No newline at end of file
diff --git a/content/docs/creative-coding-python/python-fundamentals/using-files-in-idle.md b/content/docs/creative-coding-python/python-fundamentals/using-files-in-idle.md
deleted file mode 100644
index 0a5a6e3e..00000000
--- a/content/docs/creative-coding-python/python-fundamentals/using-files-in-idle.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Files & The Python IDLE
-draft: false
-weight: 0
----
-{{< youtube t9MoE6Jzg7E >}}
diff --git a/content/docs/digital-media-fundamentals/audio/_index.md b/content/docs/digital-media-fundamentals/audio/_index.md
deleted file mode 100644
index 8beb66af..00000000
--- a/content/docs/digital-media-fundamentals/audio/_index.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Audio
-weight: 500
-bookCollapseSection: true
----
-
-
diff --git a/content/docs/digital-media-fundamentals/audio/recording_a_voice_over.md.backup b/content/docs/digital-media-fundamentals/audio/recording_a_voice_over.md.backup
deleted file mode 100644
index f1f8ae38..00000000
--- a/content/docs/digital-media-fundamentals/audio/recording_a_voice_over.md.backup
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: Recording A Voice-Over in Audacity
----
-
-## Notes on Saving
-If you need to save the project as you are working on it, you can just save the audio file as an audio file, but I recommend going “File, Save Project” which will also save any multiple tracks, undo history (I think), recently used effect settings, and more. This project file is sort of like a .psd vs. an image file; in photoshop.
-
-## Step 1 – The Room
-Close the door. Draw the curtains. Go into your closet where the clothes muffle reflections maybe, Turn off the TV. Wait until less traffic noises happen. Wait for the plane to fly past. Etc.
-
-## Step 2 – Your Voice
-Read from a script. Trust me, you want to read from a script. It will keep you from going “uh” or “um” subconsciously, and frees you up to think more about your performance and less about the words you are saying while recording.
-Have a glass of water to sip on to clear your throat with. When recording stand 3-5 inches away from the microphone. If you are in the lab, keep the pop-filter (fabric circle) between your mouth and the microphone. Take even, deep breaths. Don’t rush through everything in one breath. We can delete silent parts from the audio, you don’t need to restart completely. Do a few takes and compare, see which one you like better.
-
-## Step 3 – Record
-The Blue Yeti microphone is not a stereo microphone (but it does have stereo output), so set it up as a mono one in the toolbar. For voice-over, even with a stereo microphone, it can just be mono.
-
-![Hardware properties bar](/images/digital-media/audio/record.png)
-
-Don’t forget to record a few seconds of clean silence at the beginning and end of your recording.
-## Step 4 – Normalize
-Select all (ctrl+a), then go to effects>Normalize. Defaults are fine. This makes everything loud.
-## Step 5 – Initial Edit
-Trim the silences from your audio. Get rid of small click noises or lip smacks. If you can’t cleanly delete or de-amplify these parts, just re-record. (re-record now before you really get editing).
-## Step 6 – Noise Reduction
-Now that you know this audio is a good final take, we can edit it more without fear of doing unnecessary work. Select the silence from your recording, which isn’t actually silent, but background noise, microphone noise, room tone, and other static. With that selected, go to Effects>Noise Reduction, and click “Get Noise Profile".
-
-Now Select all, then go to Effects>Noise Reduction. First try the defaults, then try to be a bit more aggressive with the noise reduction. If the silence is now perfectly silent, you have probably gone too far, because you are reducing more than you need too. This will affect your voice, not just the noise, so you want to make sure the voice still sounds good. Reduce as much as you can, but don’t let it make your voice sound hollow. Trust your ears: undo, redo, preview, etc.
-
-![Noise Reduction Window](/images/digital-media/audio/noiseRed.png)
-## Step 7 - Compression
-Listen to the recording while watching the meter. Pay attention to what level sounds pretty good, and what levels are when the recording gets a bit too loud. For me, after normalization, this is usually around -12db.
-
-![The Meter](/images/digital-media/audio/meter.png)
-
-Select all and go to Effects>Compressor…
-
-![Compression Window](/images/digital-media/audio/compressor.png)
-
-Set the threshold to be just before your decent-sounding part, so it’s barely affecting that. The defaults for the other settings should basically be fine.
-You can un-check the make-up gain if you want a better before/after sense of what it is doing, as you trial-and-error into something that sounds good.
-Compression is so important for human voice.
-
-## Step 8 – Equalization
-Select all and go Effects>Equalization, (Effects>Filter EQ in 2.3.3 and newer) and then look at some of the preset curves. Bass Cut, Treble Cut, Walkie-talkie.
-We want to cut out the extremes of our bass and the extremes of our high-frequency signals, without affecting the recording proper. This is basically another form of noise reduction, we are getting rid of frequencies outside the range of human voice.
-
-So draw, or select “Graphic” and use the sliders, some drops in the curve at the extremes edges, then select preview to make sure you aren’t doing any damage to the recording. It’s easy to do this “too far”, and if we do it right, the voice shouldn’t sound different. So… go easy. You don’t need to drop frequeneces to NOTHING, just dim them down.
-
-![The Equalization Window](/images/digital-media/audio/eq.png)
-*(This is probably too aggressive as an example, especially In the highs)*
-## Step 9 – Fade in/out
-Select the very edges of our clip – this can even be fractions of fractions of a second – and fade them in/out appropriately. This will prevent a click noise when the audio starts and stops, which is important for us.
-A longer fade can also help make noise less jarring when it suddenly appears. Noise fading in while someone starts talking can go almost entirely unnoticed.
-## Step 10 – Review
-Use headphones and give the audio file a good listen. Good? Very good? You sure? Sleep on it.
-## Step 11 – Export
-Export as a .WAV. 16-bit is fine. Unity will make the file size smaller (file-size compression) for us, so we can give it large, “lossless” files. You can ignore the metadata pop-up.
\ No newline at end of file
diff --git a/content/docs/digital-media-fundamentals/color-theory.md.backup b/content/docs/digital-media-fundamentals/color-theory.md.backup
deleted file mode 100644
index 2e64ce0e..00000000
--- a/content/docs/digital-media-fundamentals/color-theory.md.backup
+++ /dev/null
@@ -1,143 +0,0 @@
----
-title: Color Theory
----
-
-
-# Color Theory
-
-
-## History
-*Color theory has been around since the Greeks, through the Renaissance, and is evolving today as we kick off the digital age.*
-
-
-### Leon Battista Alberti (1404-1472)
-Alberti was a Renaissance man but now is remembered mainly for his art and architecture.
-
-**His thoughts on color theory?**
-
-“Through the mixing of colours infinite other colours are born, but there are only four true colours – as there are four elements. – Red is the colour of fire, blue of the air, green of the water, and of the earth grey and ash.”
-He did not consider white and black to be actual colors, just modifiers for other colors.
-
-![Leon Battisa Alberti Architecture](images\digital-media\color-theory\CT-LBA.jpg)
-
-
-### Leonardo Da Vinci (1452-1519)
-Da Vinci was also a renaissance man best known for his art, like the Mona Lisa. But he also was a scientist and inventor far ahead of his time.
-
-
-**His thoughts on color theory?**
-
-He brought the theory of having three primary colors but connected them to the elements as before. White represented light, and black being darkness. He used these theories to create balanced compositions.
-
-
-![Da Vinci Last supper](images\digital-media\color-theory\CT-LDV.jpg)
-![Da Vinci Color Wheel](images\digital-media\color-theory\CT-LDV2.jpg)
-
-
-## Color Wheel
-*The color wheel is a common way to view colors, and for composition purposes, makes the most sense. When you want to make a color palette, how can we pick the best scheme? But also, you’ve heard of RGB and CMYK, so where does that fit into the spectrum of color?*
-
-
-This is the most basic idea of a color wheel. The primary colors mix with one another to create the secondary colors. While there are other versions of how colors “mix” this way predates digital color concepts.
-
-![Color Wheel](images\digital-media\color-theory\color-theory\CT-ColorWheelLabeled.jpg)
-
-
-Concepts like the ones shown in this picture can help us to create a color palette. Do we want a simple or complex design? Is this supposed to be something that stands out, or will it be easy on the eyes?
-
-![Color Relationships](images\digital-media\color-theory\CT-ColorRelationships.jpg)
-
-
-### What about RGB? CMYK?
-These are modern terms.
-
-### RGB
-- Additive, screens
-- Originated with photography, 1860
-- Then with CRT (Cathode-ray tube) displays, 1938
-
-[RGB Explained YouTube Video](https://www.youtube.com/watch?v=lL0pxSslCzo)
-
-### CMYK
-- Subtractive, printing
-- Started as four-color wet process inks by The Eagle Printing Ink Company, 1906
-
-
-[CMYK Explained YouTube Video](https://www.youtube.com/watch?v=ygUchcpRNyk)
-
-## Variations of Hues
-*The term “warm blue” or a “cool red” sounds like an oxymoron, but it’s not. The terminology can be confusing, but once you see the application, things become a lot clearer.*
-
-A hue means something different from tints, tones, and shades.
-
-![Hues vs other colors](images\digital-media\color-theory\CT-HueTintsEtcWheel.jpg)
-
-### What is a hue?
-The pure color that we start with. Hues are the primary and secondary colors and anything in between. A hue plus a hue is still a hue.
-![Wheel of hues](images/digital-media/color-theory/CT-Hue.jpg)
-
-![Tints, shades and tones](images/digital-media/color-theory/CT-TintsTones.jpg)
-
-### Tint
-- White + Hue = Tint
-- Tint + Black = Tone
-
-### Shade
-- Black + Hue = Shade
-- Shade + White = Tone
-### Tone
-- Gray + hue = Tone
-
-### What about black and white?
-- That question elicits an entire tangent presentation however,
- - Black is technically the absence of light
- - White is pure light
-
-- “Some consider white to be a color, because white light comprises all hues on the visible light spectrum. And many do consider black to be a color, because you combine other pigments to create it on paper. But in a technical sense, black and white are not colors, they’re shades. They augment colors.”
-
-### Warm vs Cool
-This model is (likely) what we think of when we think of warm vs cool colors.
-
-However, it’s not as simple.
-
-![Warm vs Cool color wheel](images/digital-media/color-theory/CT-WarmCoolWheel.jpg)
-
-
-We can think of colors being warm or cool based on their associations, the feelings they invoke, what they mean to us based on what we know.
-
-However, any color can be warm or cool, i.e., a cool orange, a warm green, a cool purple, etc.
-![Warm Picture](images/digital-media/color-theory/CT-warmPic.jpg)
-![Cool Picture](images/digital-media/color-theory/CT-CoolPic.jpg)
-
-With this logic, a primary color, or a perfectly proportioned secondary color is inherently neutral.
-
-With the addition of its neighboring color, the color changes from neutral.
-![Gradient Wheel of Hues](images/digital-media/color-theory/CT-WheelGradient.jpg)
-
-![Warm vs cool red](images/digital-media/color-theory/CT-WCRed.png)
-![Warm vs cool green](images/digital-media/color-theory/CT-WCGreen.png)
-![Warm vs cool blue](images/digital-media/color-theory/CT-WCBlue.png)
-
-
-## Application
-
-### Minimalism
-Brands are becoming more minimalist, sleek, black and white. Simplifying everything from logos to architecture has been the trend. Color becomes even more important when edges are cleaner, lines are simpler, and more things are grayscale.
-
-![Minimalist Brands](images/digital-media/color-theory/CT-Minimalism.jpg)
-
-![Pepsi Logo](images/digital-media/color-theory/CT-PepsiLogo.jpg)
-![Tesla Car](images/digital-media/color-theory/CT-Tesla.jpg)
-![Building](images/digital-media/color-theory/CT-House.jpg)
-
-
-At the same time, with every push, there is a pull. Maximalism uses colors and patterns to convey a sense of playfulness.
-![Maximalist Interior Design](images/digital-media/color-theory/CT-MaxInt.png)
-![Maximalist Fashion](images/digital-media/color-theory/CT-MaxFash.png)
-
-
-It's also important to note that colors can invoke and emphasize different meanings. This doesn't mean that a luxury brand's logo has to be all gold, or a children's toy doesn't need to be yellow for them to feel happy. It's best to keep in mind more as a suggestion or inspiration. For example, you may not want to paint a nursing home or preschool red, but pastels, greens or yellow would be better.
-
-These are not steadfast rules and are subjective, but it is important to keep in mind that colors have the power to influence mood.
-
-![What different colors invoke](images/digital-media/color-theory/CT-ColorEnvokes.png)
\ No newline at end of file
diff --git a/content/docs/digital-media-fundamentals/notes-on-file-management.md b/content/docs/digital-media-fundamentals/notes-on-file-management.md
deleted file mode 100644
index 3aa454c2..00000000
--- a/content/docs/digital-media-fundamentals/notes-on-file-management.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Notes on File Management
-
----
-# Notes on File Management
-{{< youtube wwBV_IfR_00 >}}
\ No newline at end of file
diff --git a/content/docs/programming/_index.md b/content/docs/programming/_index.md
deleted file mode 100644
index 98771c26..00000000
--- a/content/docs/programming/_index.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-weight: 3
-bookFlatSection: false
-bookCollapseSection: true
-title: "Programming in Unity"
----
-
-# C# Programming In Unity
-
-See the sidebar for topics.
-
-
-
-External Resources:
-
-- [Unity Scripting API](https://docs.unity3d.com/ScriptReference/)
-- [Microsoft Video Series: C# 101](https://docs.microsoft.com/en-us/shows/CSharp-101/)
-- [Jason Weimann Youtube Channel](https://www.youtube.com/channel/UCX_b3NNQN5bzExm-22-NVVg)
-- [Compiler Explorer](https://csharp.godbolt.org/)
diff --git a/content/docs/programming/advanced/_index.md b/content/docs/programming/advanced/_index.md
deleted file mode 100644
index db9303db..00000000
--- a/content/docs/programming/advanced/_index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Advanced
-weight: 20
-bookCollapseSection: true
----
-This section goes beyond the fundamentals of C#. It is labeled "advanced" but that is in the context of a single university course learning path and objectives. These are, in the broader scope of programming, still relatively fundamental concepts.
\ No newline at end of file
diff --git a/content/docs/programming/advanced/static-objects-and-unity.md b/content/docs/programming/advanced/static-objects-and-unity.md
deleted file mode 100644
index cd65fec0..00000000
--- a/content/docs/programming/advanced/static-objects-and-unity.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Static Objects in C# and Unity
----
-# Static Objects
-
-{{< youtube j3CZ6Qah6nA >}}
\ No newline at end of file
diff --git a/content/docs/programming/architecture/_index.md b/content/docs/programming/architecture/_index.md
deleted file mode 100644
index 766496f5..00000000
--- a/content/docs/programming/architecture/_index.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-bookCollapseSection: true
-weight: 70
----
-
-# Architecture
-Architecture is the big picture stuff.
-
-> "There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare. ([source](https://dl.acm.org/doi/10.1145/358549.358561))
diff --git a/content/docs/programming/architecture/namespaces.md b/content/docs/programming/architecture/namespaces.md
deleted file mode 100644
index bb71da8e..00000000
--- a/content/docs/programming/architecture/namespaces.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Namespaces
----
-# Namespaces
-
-{{< youtube LtQs5FzdQ2k >}}
diff --git a/content/docs/programming/architecture/patterns/_index.md b/content/docs/programming/architecture/patterns/_index.md
deleted file mode 100644
index b869a30d..00000000
--- a/content/docs/programming/architecture/patterns/_index.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-bookCollapseSection: true
-weight: 01
----
-
-# Patterns
-Code Patterns are common solutions to common problems in programming. Programmers tend to talk about them in extremes, but they're just strategies. Keep in mind that you will always be making various concessions and affordances for your project, and you can't shouldn't simply apply patterns because you like them.
\ No newline at end of file
diff --git a/content/docs/programming/architecture/patterns/command-pattern.md b/content/docs/programming/architecture/patterns/command-pattern.md
deleted file mode 100644
index 12557a2e..00000000
--- a/content/docs/programming/architecture/patterns/command-pattern.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: Command Pattern
----
-
-## Implementing a Command Pattern in Unity
-{{< youtube CFfXXXmLs14>}}
-
-The code can be found here: [https://github.com/hunterdyar/UnitySimpleSokabon](https://github.com/hunterdyar/UnitySimpleSokabon).
-
-### Command Pattern video by Infallible Code
-{{< youtube f7X9gdUmhMY>}}
\ No newline at end of file
diff --git a/content/docs/programming/architecture/refactoring-a-basic-script-example.md b/content/docs/programming/architecture/refactoring-a-basic-script-example.md
deleted file mode 100644
index 88c70cc9..00000000
--- a/content/docs/programming/architecture/refactoring-a-basic-script-example.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-Title: Refactoring a Basic Script Example
----
-# Refactoring a Basic Script
-
-{{< youtube 9YsQM7jboDs >}}
\ No newline at end of file
diff --git a/content/docs/programming/architecture/singleton-pattern.md b/content/docs/programming/architecture/singleton-pattern.md
deleted file mode 100644
index 66ee1b38..00000000
--- a/content/docs/programming/architecture/singleton-pattern.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: Singletons
----
-
-# Singletons
-
-## Prerequisites
-
-Understanding [Static Objects]({{< ref "docs/programming/advanced/static-objects-and-unity.md" >}}) and having a solid grasp of [object oriented principles]({{< ref "docs/programming/advanced/object-oriented-programming.md" >}}) is a prerequisite for being able to effectively use the Singleton pattern.
-
-In my opinion, singleton patters are great for single-scene games, but cause trouble once we start having to load, unload, or manage multiple scenes. I much prefer other approaches over singletons, like scriptableObjects.
-
-## Overview Video
-{{< youtube mpM0C6quQjs >}}
\ No newline at end of file
diff --git a/content/docs/programming/architecture/the-architecture-lecture.md b/content/docs/programming/architecture/the-architecture-lecture.md
deleted file mode 100644
index c902be28..00000000
--- a/content/docs/programming/architecture/the-architecture-lecture.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: The Architecture Lecture
-weight: 1
----
-The Architecture Lecture
-
-{{< youtube fMMIK3YE1A8 >}}
\ No newline at end of file
diff --git a/content/docs/programming/fundamentals/arrays.md b/content/docs/programming/fundamentals/arrays.md
deleted file mode 100644
index 3dfef9de..00000000
--- a/content/docs/programming/fundamentals/arrays.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Arrays
-type: docs
-weight: 4
----
-
-# Arrays
-
-{{< youtube ZdLPGOrQcp8 >}}
\ No newline at end of file
diff --git a/content/docs/programming/unity-and-programming/_index.md b/content/docs/programming/unity-and-programming/_index.md
deleted file mode 100644
index 3aff24eb..00000000
--- a/content/docs/programming/unity-and-programming/_index.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: Unity Specific Programming
-weight: 70
-bookCollapseSection: true
----
-
-# Unity
-
-This section is for programming-heavy topics that are more specific to the Unity game engine, like tricks or extending the editor.
-
-For general Unity Development, see the [Unity]({{< ref "docs/unity" >}}) section.
-
-For some useful development patterns in Unity, check out the [Unity Development->Toolbox]({{< ref "docs/unity/toolbox" >}}) section.
-
-There is a lot of overlap, and I am trying my best to keep the programming-first concepts (that cover Unity) in the programming category, and the unity-first concepts with programming in the Unity category. It's not ideal, but I hope it works well enough.
\ No newline at end of file
diff --git a/content/docs/programming/unity-and-programming/tips-and-tricks/_index.md b/content/docs/programming/unity-and-programming/tips-and-tricks/_index.md
deleted file mode 100644
index f809e2c9..00000000
--- a/content/docs/programming/unity-and-programming/tips-and-tricks/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Tips & Tricks
-weight: 1
-bookCollapseSection: true
----
\ No newline at end of file
diff --git a/content/docs/programming/unity-and-programming/tips-and-tricks/serialization-and-attributes.md b/content/docs/programming/unity-and-programming/tips-and-tricks/serialization-and-attributes.md
deleted file mode 100644
index 17655c66..00000000
--- a/content/docs/programming/unity-and-programming/tips-and-tricks/serialization-and-attributes.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Serialization and Attributes
-weight: 20
----
-
-# Serialization and Attributes
-{{< youtube JilGhlxY_G0 >}}
\ No newline at end of file
diff --git a/content/docs/programming/unity-and-programming/tips-and-tricks/string-formatting.md b/content/docs/programming/unity-and-programming/tips-and-tricks/string-formatting.md
deleted file mode 100644
index 0971bd6a..00000000
--- a/content/docs/programming/unity-and-programming/tips-and-tricks/string-formatting.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: String Formatting
----
-# String Formatting and Debug.Log: Unity Nice-to-knows
-
-{{< youtube pvuZAr2dDtA >}}
\ No newline at end of file
diff --git a/content/docs/programming/unity/_index.md b/content/docs/programming/unity/_index.md
deleted file mode 100644
index 938405ce..00000000
--- a/content/docs/programming/unity/_index.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Code & Unity
-weight: 70
-bookCollapseSection: true
----
-
-# Unity
-
-This section is for programming-related or adjacent topics that are more specific to the Unity game engine. For general Unity, see the [Unity]({{< ref "docs/unity" >}}) section.
\ No newline at end of file
diff --git a/content/docs/programming/unity/tips-and-tricks/_index.md b/content/docs/programming/unity/tips-and-tricks/_index.md
deleted file mode 100644
index f809e2c9..00000000
--- a/content/docs/programming/unity/tips-and-tricks/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Tips & Tricks
-weight: 1
-bookCollapseSection: true
----
\ No newline at end of file
diff --git a/content/docs/programming/unity/tips-and-tricks/serialization-and-attributes.md b/content/docs/programming/unity/tips-and-tricks/serialization-and-attributes.md
deleted file mode 100644
index 17655c66..00000000
--- a/content/docs/programming/unity/tips-and-tricks/serialization-and-attributes.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Serialization and Attributes
-weight: 20
----
-
-# Serialization and Attributes
-{{< youtube JilGhlxY_G0 >}}
\ No newline at end of file
diff --git a/content/docs/programming/unity/tips-and-tricks/string-formatting.md b/content/docs/programming/unity/tips-and-tricks/string-formatting.md
deleted file mode 100644
index 0971bd6a..00000000
--- a/content/docs/programming/unity/tips-and-tricks/string-formatting.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: String Formatting
----
-# String Formatting and Debug.Log: Unity Nice-to-knows
-
-{{< youtube pvuZAr2dDtA >}}
\ No newline at end of file
diff --git a/content/docs/unity/_index.md b/content/docs/unity/_index.md
deleted file mode 100644
index 3e98fd02..00000000
--- a/content/docs/unity/_index.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-weight: 2
-bookFlatSection: false
-bookCollapseSection: true
-title: "Unity Development"
----
-
-# Unity Development.
-
-This section covers non-programming related Unity content.
-
-## Resources
-- [Cyanilux's Resource Repository](https://www.cyanilux.com/resources/) - Collection of largely shader related Unity resources.
-- [Jason Weimann](https://www.youtube.com/c/Unity3dCollege) - Youtube channel with programming focus
-- [Tough Nut To Crack](https://www.youtube.com/channel/UCTR740iIPwfu7Pz_BoCEJ-g) - Unity Youtube Channel, solving interesting challenges and devlogs.
-- [Catlike Coding](https://catlikecoding.com/unity/tutorials/) - Excellent Unity tutorials
-- [Mix and Jam](https://www.youtube.com/channel/UCLyVUwlB_Hahir_VsKkGPIA) - Recreates game mechanics in Unity, explaining the process.
-- [Infallible Code](https://www.youtube.com/@InfallibleCode) - Does a good job getting into mode advanced topics.
-- [Jason Storey](https://www.youtube.com/@JasonStorey) - Covers architecture and 'big picture' concepts in Unity/C#.
\ No newline at end of file
diff --git a/content/docs/unity/setup/_index.md b/content/docs/unity/setup/_index.md
deleted file mode 100644
index a54b6625..00000000
--- a/content/docs/unity/setup/_index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Setup
-weight: 400
-bookCollapseSection: true
-draft: false
----
diff --git a/content/docs/unity/ultimate-xr-ui/_index.md b/content/docs/unity/ultimate-xr-ui/_index.md
deleted file mode 100644
index 8363274b..00000000
--- a/content/docs/unity/ultimate-xr-ui/_index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: UltimateXR
-weight: 1
-bookCollapseSection: true
-draft: false
----
diff --git a/content/docs/unity/ultimate-xr-ui/_index.md.backup b/content/docs/unity/ultimate-xr-ui/_index.md.backup
deleted file mode 100644
index 942e5c9c..00000000
--- a/content/docs/unity/ultimate-xr-ui/_index.md.backup
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: UltimateXR
-weight: 1
-bookCollapseSection: true
-draft: true
----
diff --git a/content/docs/unity/ultimate-xr-ui/ui-setup.md.backup b/content/docs/unity/ultimate-xr-ui/ui-setup.md.backup
deleted file mode 100644
index 9cb0801a..00000000
--- a/content/docs/unity/ultimate-xr-ui/ui-setup.md.backup
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: UltimateXR UI Options
-draft: false
----
-{{< hint info >}}
-*This is a general overview of the UXR related UI menu, input, and setup. For more in-depth information about the components or questions go the [UXR Website UI Interaction Page](https://www.ultimatexr.io/guides/ui-interaction) for reference.*
-{{< /hint >}}
-
-There are two options available when interacting with UI options in UXR. That is the **UXRFingerTip** and **UXRLaserPointer**.
-
-## Set-up
-Setting up your UI with UXR is fairly simple. The first thing you need to do is add a Unity Event system to your scene by going to *GameObject --> UI --> EventSystem*.
-
-![Adding Event System](/images/unity/ultimate-xr/adding-event-system.png)
-
-Once you have your event system added to the scene, add the UXR Pointer Input Module component. The good thing about this component, is that when you hit play mode, any canvas that works in World Mode will automatically have the UXR Canvas components added to it.
-
-![World Mode Canvas](/images/unity/ultimate-xr/world-mode.png)
-![Component Canvas Adding](/images/unity/ultimate-xr/component-canvas.png)
-
-Otherwise, you will manually add the UXRCanvas component.
-
-{{< hint info >}}
-**Make sure that in the event system, you select whether or not you want fingertip or laser pointer interaction.**
-{{< /hint >}}
-
-![Component Canvas Adding](/images/unity/ultimate-xr/ui-interact-option.png)
-
-# Avatar Setup
-
-## UXR Avatar
-The UXR Avatar automatically comes with both laser's and fingerstip UI manipulation. By default **fingertips are enabled and lasers are disabled.** To enable the lasers just turn them on in the hierarchy.
-
-![Laser Location](/images/unity/ultimate-xr/laser-location.png)
-
-## Custom Avatar
-### Fingertip Setup
-In order to enable the fingertip interaction, you need to add the component **UXRFingertip** to the index finger of each hand (standard placement). You can also use a game object (empty game object) that is attached to the finger tip.
-
-### Laser Setup
-The UI lasers can be enabled by using the **UXRLaserPointer** component. This is usually attached to an object hanging from the hand in the avatar (such as an empty object, item, etc).
-
-## UXR Control Input
-The **UXRControlInput** component allows you add additional functionality when interacting with objects such as buttons, sliders, and more. Some things this includes is:
-- Audio playback when manipulating elements (sliders, clicks, etc)
-- Haptic feedback on click, release, and press
-
-This option allows for easy haptic feedback configurations when it comes to interacting with UI.
-
-![UXR Control Input Menu](/images/unity/ultimate-xr/uxr-control-input.png)
-
-{{< hint info >}}
-*For more in-depth information about the components or questions go the [UXR Website UI Interaction Page](https://www.ultimatexr.io/guides/ui-interaction) for reference.*
-{{< /hint >}}
\ No newline at end of file
diff --git a/content/docs/unity/unity-102/_index.md b/content/docs/unity/unity-102/_index.md
deleted file mode 100644
index 185e2492..00000000
--- a/content/docs/unity/unity-102/_index.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Systems & Techniques
-weight: 500
-bookCollapseSection: true
----
-# Systems & Techniques
-What comes after 'fundamentals'? Depends on the kinds of things you want to make... but *many* projects will use the systems and features of Unity in this section.
diff --git a/content/docs/unity/unity-102/scene-switching.md b/content/docs/unity/unity-102/scene-switching.md
deleted file mode 100644
index 0a14af50..00000000
--- a/content/docs/unity/unity-102/scene-switching.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: Scene Switching
----
-
-# Scene Switching and a Basic Level Manager
-{{< youtube wmIoeW-LcT4 >}}
-
-## The Level Manager Code
-The code for just the level manager is [here]({{< ref "/docs/unity/toolbox/basic-level-manager.md" >}}), and the entire project is available on Github [here](https://github.com/hunterdyar/UnitySimpleSokabon).
-
diff --git a/content/docs/unity/unity-fundamentals/assets.md.backup b/content/docs/unity/unity-fundamentals/assets.md.backup
deleted file mode 100644
index d0570c53..00000000
--- a/content/docs/unity/unity-fundamentals/assets.md.backup
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: Assets
-type: docs
----
-# What are Assets?
-An asset is an actual file on your computer. We store Assets in the “Assets” folder inside of our unity project folder. Assets are any item in Unity that we may want to use.
-
-When we select an asset in the project window, the Inspector will show us it’s import properties. These are often very important, they tell Unity how to handle the file. For example: fixing scale issues with 3D models.
-
-It's easier to explain assets if we consider their uses.
-
-## Common Asset Types
-
-#### Image Files
-
-Images, like BMP or Jpeg’s, and even Photoshop documents directly (I haven’t utilized this new feature and still export all my sprites as PNG’s with transparency).
-
-#### 3D Models
-
-Unity supports FBX files for your 3D models. It also supports saving your native file format into the asset folder (ie: .max, .blend, .mb, .ma), and Unity turns them into .fbx’s when it runs and builds the game. This is useful if you are going back and forth a lot, but it’s still generally wise to export as FBX, especially if you are sharing/collaborating with others. Keep things from getting too messy.
-
-See the unity manual for information on [importing models](https://docs.unity3d.com/Manual/ImportingModelFiles.html), [Model File Formats.](https://docs.unity3d.com/Manual/3D-formats.html) Getting textures and animations to import with a model correctly (or to associate these things with models that have already been imported) can be tricky, and I won’t get into the details of this here.
-
-#### Audio Files
-
-Unity supports a wide variety of audio, and will (by default) compress it to when it builds the game. Unity supports mp3, .ogg, .wac, .aif audio files, and
-.mod, .it, .s3m, and .xm tracker modules files.
-
-If you don’t know what tracker modules are, don’t worry. Think midi, they are sequence data and short audio samples to build out tracks. This helps create long songs without large file sizes.
-
-#### Scripts
-
-As we work in Unity, we will create lots of Scripts. These are C# or JavaScript files. You can make the files from within unity.
-
-{{< hint info >}}
-
-If you click the **Add Component **in the Inspector and create a **New Script **from here, it will put that script in the base assets folder. Before we open it up in our text editor, we should remember to move it to a Scripts folder, or wherever we want to move it. Unity will keep track of objects that we move around (from within Unity’s project window), but our IDE/text editors may not.
-{{< /hint >}}
-
-## File Structure
-
-Unity technically doesn’t care where in your project you store your assets. Technically you can have them all just sitting in your assets folder. Don’t do this. Create folders that categorize your asset. Generally based on type. Almost all of my projects have the following folders: “Scripts”, “Materials”, “Models”, “Images”, “Scenes”. Your’s probably should soon.
-
-This organization isn’t just to keep things pretty. Unity projects can get complicated quickly, and finding assets is going to be important.
-
-You should adopt a standard naming convention for your files, as well. But i won’t yell at you about that. At the very least, keep things descriptive.
\ No newline at end of file
diff --git a/content/docs/unity/unity-fundamentals/builds.md.backup b/content/docs/unity/unity-fundamentals/builds.md.backup
deleted file mode 100644
index c9b136a0..00000000
--- a/content/docs/unity/unity-fundamentals/builds.md.backup
+++ /dev/null
@@ -1,120 +0,0 @@
----
-title: Creating Builds
----
-
-
-
-# Unity Builds
-
-## Scene Information
-
-Unity supports a number of 'Build Targets', or platforms that it can create executable files for. Desktop software for **Windows**, Mac, **and** **Linux** - of course, but also mobile platforms like **Android** and **iOS**, **WebGL** targets for playing games in the web browser on sites like itch.io, and game consoles like the **Xbox** or the **Playstation** .
-
-![Empty Build Settings Window](/images/unity/builds/emptyBuildSettings.png)
-
-{{< hint warning>}}
-
-I will use the terms 'Build Target' and 'Platform' interchangeably on this page.
-
-{{< /hint >}}
-
-The empty rectangle at the top is a list of all of the scenes that will be included in the build. If your scene isn't in this list, Unity will exclude it, and you can't load it. Unity will also do it's best to only include necessary assets in your project, and it uses the scene list to figure out what it does and doesn't need.
-
-Here is a full build scenes list for an actual game:
-
-![Build Settings Window with many scenes added](/images/unity/builds/fullBuildSettings.png)
-
-On the right, you can see the 'build index' of each scene, and reorder the scenes. The scene at the top of the list - build index 0 - will be the first scene to be loaded when the project launches. After that, it's up to you to switch scenes and do what you need to do to play the game.
-
-{{< hint info >}}
-
-Unity can load multiple scenes at a time. In the above example, the game first loads the "init" scene, which is a small scene that is in charge of loading all of the other scenes. This game has no main menu, the Init scene simply additively loads the UIHUD scene and the first scene of the game. At the end of each level, it unloads the level and loads the next one.
-
-This empty "init" manager scene is a common design pattern in Unity development.
-
-{{< /hint >}}
-
-## Switching Platforms
-
-Unity needs to know what platform it is targeting while working internally. While you can build to multiple platforms, and switch at any time, the currently selected build target will determine how Unity imports assets. For example, Windows builds, Unity internally converts audio files to a .wav format, while on Android it uses .ogg.
-
-When you switch targets, Unity will need to reimport every single asset in your project. **For large projects, this can take a long time.** It's generally always best to have the appropriate build target selected, and switch to it early on in development.
-
-You can always test your app in play mode no matter what your build target is.
-
-You switch from the Build Settings menu, simply select the appropriate target and click 'Switch Platform'
-
-## Adding Build Targets
-
-By default, Unity only supports building an executable file for the same operating system it is installed on. This is because they take up a lot of file space, and are often not needed. In order to build for other operating systems (building for windows from a mac computer, or vise-versa), we need to add more build targets.
-
-We add a build target from the Unity Hub. Close any open Unity projects, and go to the Installs section of the Hub. Click the three dots next to the appropriate unity version, and select 'add modules'.
-
-![Animated gif demonstrating the above steps](/images/unity/builds/unityHubBuildSupport.gif)
-
-You can see what build targets are installed via icons in the Hub.
-
-{{< hint warning >}}
-
-If you don't know better, **choose the "Mono" versions** instead of "IL2CPP". For the curious, you can read more about IL2CPP from the [Unity documentation](https://docs.unity3d.com/Manual/IL2CPP.html).
-
-{{< /hint >}}
-
-{{< details title="Android Information" open=false >}}
-
-For Android, you want to be sure to include the checkboxes for SDK, NDK, and JDK tools. These are necessary for android to work, and Unity can download and install them automatically.
-
-![Android Build Support with Checked boxes for Android SDK & NDK Tools, and OpenJDK](/images/unity/builds/androidBuildSupport.png)
-
- If you have done android development with other IDEs (like Android Studio or Unreal Engine), you already have the SDK, NDK, and JDK downloaded on your computer somewhere. If this is the case, you can uncheck these sub-check boxes, and not bother downloading it again, but leave 'Android Build Support' Checked.
-
-You can set the locations of these tools manually in Unity (not the Unity Hub). Go to Preferences... > External Tools.
-
-{{< hint warning >}}
-
-Android takes a really long time to build on it's first android build. They cache a lot of the system information, so after the first one, builds go much faster. I tend to do a first android build before going and getting coffee, just to get it out of the way.
-
-{{< /hint >}}
-
-{{< /details >}}
-
-{{< details title="Windows Executable Information" open=false >}}
-
-When you make a build for windows, Unity will prompt you to select a folder. It's standard practice to create a 'Builds' folder in your project, and then a folder for each build in this folder.
-
-Name the folder something appropriate (its smart to number or date your builds, so you never mess up and grab an out-of-date version).
-
-![The files Unity creates for Windows](/images/unity/builds/windowsBuildFiles.png)
-
-Unity creates the .exe file, a standalone file. This means we don't have to install the app. All of the information it needs to run is here. It also means you **can't just send someone the .exe file.** We need to have all of the files - the **gameName_data** folder, the **MonoBleedingEdge** folder, and **UnityPlayer.dll**.
-
-If any of these files or folders are missing, the game will throw an error.
-
-Further, the .exe filename and the \_Data folder name **need to match.** If you rename one, you have to rename the other too. The executable file looks at its own name and searches for that+ "\_Data" for a folder full of important game data.
-
-When sending this file to someone, or uploading to a site like itch.io, its best to put all the files in a compressed (zip) folder.
-
-{{< /details>}}
-
-{{< details title="macOS Executable Information" open=false >}}
-
-On the build settings menu, there is an"Architecture" drop-down. Choose between Intel, Apple silicon, or 'both'. If you don't know better, select both. This creates a much larger file size than just selecting one or the other, so if you do know the architecture is running (apple silicon includes apple "M1" devices), you should select it. You can also make multiple builds. If you are hosting your game online for someone to download, you can let them choose the appropriate version for them.
-
-Mac creates a *.app* file. This single file is everything the game needs to run, no extra folders to worry about including.
-
-For someone to run the game, and you aren't worrying about [code signing or notarization](https://docs.unity3d.com/2021.2/Documentation/Manual/macos-building.html), they may need to "Allow apps downloaded from anywhere" in their security and privacy settings. Read more about apple's security practices from [apple support](https://support.apple.com/en-us/HT202491).
-
-{{< /details>}}
-
-{{< details title="webGL Information" open=false >}}
-When choosing WebGL, there are differences in performance between Unity versions, as Unity improves it's webGL build process over time.
-
-WebGL Builds give you an index.html file, plus some other files, that you can directly open in a web browser. The catch is that you need a web server to run, so opening the file on your computer or sending them to a friend won't run the game. The two options are to spin up a local webserver (Unity does this when you hit 'build & run' from Unity), or to upload the game to a hosting service that can provide a webserver. [Itch.io](https://itch.io/), [simmer.io](https://simmer.io/), and Unity's own [Unity Play](https://play.unity.com/) are three decent options. They have their own gotchas and catches.
-
-Sometimes, you get an error like "unable to decompress" or "unable to load" or it's just black, or just loads forever. This is usually caused by the web server not supporting the compression method you use.
-
-You may need to check **Decompression Fallback** (Project Settings > Player > Publishing Settings) depending on the service you upload the files to or the version of Unity you are using. I have also, in some cases, found success by switching from gzip to brotli compression. The details of this is well out of scope of this guide, but keep these player settings at the top of your mind as you trial-and-error troubleshoot.
-
-![The Unity Publishing Settings menu in Player Settings ](/images/unity/builds/webGLSettings.png)
-
-{{< /details>}}
\ No newline at end of file
diff --git a/content/docs/unity/unity-fundamentals/prefabs.md b/content/docs/unity/unity-fundamentals/prefabs.md
deleted file mode 100644
index cf992ac7..00000000
--- a/content/docs/unity/unity-fundamentals/prefabs.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Prefabs
----
-
-# Prefabs
-{{< youtube qKv9OI7azp8 >}}
\ No newline at end of file
diff --git a/content/docs/unity/unity-fundamentals/project-basics.md b/content/docs/unity/unity-fundamentals/project-basics.md
deleted file mode 100644
index 1dcaf93f..00000000
--- a/content/docs/unity/unity-fundamentals/project-basics.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Unity Project Basics
-weight: 1
----
-# Unity Project Basics
-{{< youtube Omask191WxE >}}
\ No newline at end of file
diff --git a/content/docs/unity/unity-fundamentals/textures-into-unity.md b/content/docs/unity/unity-fundamentals/textures-into-unity.md
deleted file mode 100644
index 58a82edf..00000000
--- a/content/docs/unity/unity-fundamentals/textures-into-unity.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-Title: Bringing In Textures
----
-
-# Bringing Textures into Unity
-
-{{< youtube 0ms_v9TVWgI>}}
diff --git a/content/docs/unity/unity-interface/layouts.md b/content/docs/unity/unity-interface/layouts.md
deleted file mode 100644
index d7dc3392..00000000
--- a/content/docs/unity/unity-interface/layouts.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Adjusting Layouts
----
-# Adjusting Layouts and Customizing Unity
-{{< youtube Bl6uisr5_bQ >}}
\ No newline at end of file
diff --git a/content/docs/unity/user-interface/_index.md b/content/docs/unity/user-interface/_index.md
deleted file mode 100644
index 1dbdfab6..00000000
--- a/content/docs/unity/user-interface/_index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: The UI System
-weight: 2
-bookCollapseSection: true
----
-This section is creating UI in Unity, the other UI section is the user interface of Unity.
diff --git a/content/docs/unity/virtual-reality/_index.md b/content/docs/unity/virtual-reality/_index.md
deleted file mode 100644
index c6047648..00000000
--- a/content/docs/unity/virtual-reality/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Virtual Reality
-bookCollapseSection: true
-weight: 30
----
\ No newline at end of file
diff --git a/content/docs/unity/virtual-reality/from-zero-to-oculus-quest.md b/content/docs/unity/virtual-reality/from-zero-to-oculus-quest.md
deleted file mode 100644
index e69de29b..00000000
diff --git a/content/menu/index.md b/content/menu/index.md
deleted file mode 100644
index c3ac5d79..00000000
--- a/content/menu/index.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-headless: true
----
-
-- [**Programming**]({{< relref "/docs/programming" >}})
-- [Fundamentals]({{< relref "/docs/programming/fundamentals" >}})
-- [Architecture]({{< relref "/docs/programming/architecture" >}})
-
-
-- **Shortcodes**
-- [Buttons]({{< relref "/docs/shortcodes/buttons" >}})
-- [Columns]({{< relref "/docs/shortcodes/columns" >}})
-- [Expand]({{< relref "/docs/shortcodes/expand" >}})
-- [Hints]({{< relref "/docs/shortcodes/hints" >}})
-- [Katex]({{< relref "/docs/shortcodes/katex" >}})
-- [Mermaid]({{< relref "/docs/shortcodes/mermaid" >}})
-- [Tabs]({{< relref "/docs/shortcodes/tabs" >}})
-
\ No newline at end of file
diff --git a/content/search.md b/content/search.md
new file mode 100644
index 00000000..bef62c06
--- /dev/null
+++ b/content/search.md
@@ -0,0 +1,51 @@
+---
+title: "Search Results"
+sitemap:
+ priority : 0.1
+layout: "search"
+---
+
+
+This file exists solely to respond to /search URL with the related `search` layout template.
+
+No content shown here is rendered, all content is based in the template layouts/page/search.html
+
+Setting a very low sitemap priority will tell search engines this is not important content.
+
+This implementation uses Fusejs, jquery and mark.js
+
+
+## Initial setup
+
+Search depends on additional output content type of JSON in config.toml
+```
+[outputs]
+home = ["HTML", "JSON"]
+```
+
+## Searching additional fileds
+
+To search additional fields defined in front matter, you must add it in 2 places.
+
+### Edit layouts/_default/index.JSON
+This exposes the values in /index.json
+i.e. add `category`
+```
+...
+"contents":{{ .Content | plainify | jsonify }}
+{{ if .Params.tags }},
+"tags":{{ .Params.tags | jsonify }}{{end}},
+"categories" : {{ .Params.categories | jsonify }},
+...
+```
+
+### Edit fuse.js options to Search
+`static/js/search.js`
+```
+keys: [
+"title",
+"contents",
+"tags",
+"categories"
+]
+```
\ No newline at end of file
diff --git a/content/unity-starting/_index.md b/content/unity-starting/_index.md
new file mode 100644
index 00000000..1848db44
--- /dev/null
+++ b/content/unity-starting/_index.md
@@ -0,0 +1,4 @@
+---
+title: Getting Started with the Unity Game Engine
+weight: 2
+---
diff --git a/content/unity-starting/setup/_index.md b/content/unity-starting/setup/_index.md
new file mode 100644
index 00000000..a85ef44f
--- /dev/null
+++ b/content/unity-starting/setup/_index.md
@@ -0,0 +1,4 @@
+---
+title: Setup
+weight: 2
+---
diff --git a/content/docs/unity/setup/installing-unity.md b/content/unity-starting/setup/installing-unity.md
similarity index 99%
rename from content/docs/unity/setup/installing-unity.md
rename to content/unity-starting/setup/installing-unity.md
index f386a2ea..0b9a4aec 100644
--- a/content/docs/unity/setup/installing-unity.md
+++ b/content/unity-starting/setup/installing-unity.md
@@ -1,6 +1,7 @@
---
title: Installing Unity and an IDE
weight: 1
+oldlink: https://guidebook.hdyar.com/docs/unity/setup/installing-unity/
---
# Installing Unity - A Thorough Guide
diff --git a/content/docs/unity/setup/packages-assets-modules.md b/content/unity-starting/setup/packages-assets-modules.md
similarity index 52%
rename from content/docs/unity/setup/packages-assets-modules.md
rename to content/unity-starting/setup/packages-assets-modules.md
index b8b1faa7..471e4e5a 100644
--- a/content/docs/unity/setup/packages-assets-modules.md
+++ b/content/unity-starting/setup/packages-assets-modules.md
@@ -1,7 +1,8 @@
---
title: Packages, Assets, and Modules
weight: 2
+oldlink: https://guidebook.hdyar.com/docs/unity/setup/packages-assets-modules/
---
# Unity Package Manager, Importing Assets, and Adding Modules
-{{< youtube cyL9HwRs8Sk >}}
\ No newline at end of file
+{{< youtube cyL9HwRs8Sk >}}
diff --git a/content/docs/unity/setup/setting-up-git-and-unity.md b/content/unity-starting/setup/setting-up-git-and-unity.md
similarity index 99%
rename from content/docs/unity/setup/setting-up-git-and-unity.md
rename to content/unity-starting/setup/setting-up-git-and-unity.md
index abe54184..ec284f9c 100644
--- a/content/docs/unity/setup/setting-up-git-and-unity.md
+++ b/content/unity-starting/setup/setting-up-git-and-unity.md
@@ -2,6 +2,7 @@
title: Setting up Git & Unity with GitHub Desktop
draft: false
weight: 12
+oldlink: https://guidebook.hdyar.com/docs/unity/setup/setting-up-git-and-unity/
---
# Setting up Git & Unity with GitHub Desktop
## Keep In Mind Before Getting Started
@@ -145,4 +146,4 @@ The Project should now appear in the list of projects in Unity Hub. If it has an
You are now set up with the Unity project!
-You can clone any public github repo (including mine), and make any changes you want (they are just files on *your* computer). You won't be able to "push" those files to the "remote" repository without permission, which was the step of adding collaborators on github.com.
\ No newline at end of file
+You can clone any public github repo (including mine), and make any changes you want (they are just files on *your* computer). You won't be able to "push" those files to the "remote" repository without permission, which was the step of adding collaborators on github.com.
diff --git a/content/docs/unity/setup/setting-up-git-with-any-gui.md b/content/unity-starting/setup/setting-up-git-with-any-gui.md
similarity index 96%
rename from content/docs/unity/setup/setting-up-git-with-any-gui.md
rename to content/unity-starting/setup/setting-up-git-with-any-gui.md
index 9b2e259b..bf8c82d2 100644
--- a/content/docs/unity/setup/setting-up-git-with-any-gui.md
+++ b/content/unity-starting/setup/setting-up-git-with-any-gui.md
@@ -1,6 +1,7 @@
---
-title: Git & Unity Quick Setup
+title: "Configuring Git with a Unity Project: Setup Checklist and Walkthrough"
weight: 10
+oldlink: https://guidebook.hdyar.com/docs/unity/setup/setting-up-git-with-any-gui/
---
# Setting up Git & Unity
diff --git a/content/docs/unity/setup/unity-recorder.md b/content/unity-starting/setup/unity-recorder.md
similarity index 97%
rename from content/docs/unity/setup/unity-recorder.md
rename to content/unity-starting/setup/unity-recorder.md
index e07ab89d..dfd30796 100644
--- a/content/docs/unity/setup/unity-recorder.md
+++ b/content/unity-starting/setup/unity-recorder.md
@@ -1,10 +1,12 @@
---
title: Using Unity Recorder for Video Capture
weight: 10
+oldlink: https://guidebook.hdyar.com/docs/unity/setup/unity-recorder/
---
+
# Video Capture with Unity *Recorder*
-Unity Recorder is a unity-built feature for exporting videos from the game view in Unity. It's a great utility for assembling video documentation, and serves as an alternative to other [capture tools]({{< ref "docs/digital-media-fundamentals/capture-tools.md" >}}).
+Unity Recorder is a unity-built feature for exporting videos from the game view in Unity. It's a great utility for assembling video documentation, and serves as an alternative to other [capture tools]({{< ref "/digital-media-fundamentals/media-tools/capture-tools.md" >}}).
## Installing Unity Recorder
diff --git a/content/unity-starting/unity-fundamentals/_index.md b/content/unity-starting/unity-fundamentals/_index.md
new file mode 100644
index 00000000..7e934a88
--- /dev/null
+++ b/content/unity-starting/unity-fundamentals/_index.md
@@ -0,0 +1,6 @@
+---
+title: Fundamentals
+weight: 1
+bookCollapseSection: true
+---
+New to Unity? Start with the Intro Lectures and then focus on the fundamentals.
diff --git a/content/docs/unity/unity-fundamentals/assets.md b/content/unity-starting/unity-fundamentals/assets.md
similarity index 97%
rename from content/docs/unity/unity-fundamentals/assets.md
rename to content/unity-starting/unity-fundamentals/assets.md
index d0570c53..b952b20c 100644
--- a/content/docs/unity/unity-fundamentals/assets.md
+++ b/content/unity-starting/unity-fundamentals/assets.md
@@ -1,6 +1,7 @@
---
title: Assets
type: docs
+oldlink: guidebook.hdyar.com/docs/unity/unity-fundamentals/assets/
---
# What are Assets?
An asset is an actual file on your computer. We store Assets in the “Assets” folder inside of our unity project folder. Assets are any item in Unity that we may want to use.
@@ -43,4 +44,4 @@ Unity technically doesn’t care where in your project you store your assets
This organization isn’t just to keep things pretty. Unity projects can get complicated quickly, and finding assets is going to be important.
-You should adopt a standard naming convention for your files, as well. But i won’t yell at you about that. At the very least, keep things descriptive.
\ No newline at end of file
+You should adopt a standard naming convention for your files, as well. But i won’t yell at you about that. At the very least, keep things descriptive.
diff --git a/content/docs/unity/unity-fundamentals/builds.md b/content/unity-starting/unity-fundamentals/builds.md
similarity index 98%
rename from content/docs/unity/unity-fundamentals/builds.md
rename to content/unity-starting/unity-fundamentals/builds.md
index a43fb775..e1f2a801 100644
--- a/content/docs/unity/unity-fundamentals/builds.md
+++ b/content/unity-starting/unity-fundamentals/builds.md
@@ -1,5 +1,6 @@
---
title: Creating Builds
+oldlink: https://guidebook.hdyar.com/docs/unity/unity-fundamentals/builds/
---
@@ -117,4 +118,4 @@ You may need to check **Decompression Fallback** (Project Settings > Player > Pu
![The Unity Publishing Settings menu in Player Settings ](/images/unity/builds/webGLSettings.png)
-{{< /details>}}
\ No newline at end of file
+{{< /details>}}
diff --git a/content/docs/unity/unity-fundamentals/components.md b/content/unity-starting/unity-fundamentals/components.md
similarity index 98%
rename from content/docs/unity/unity-fundamentals/components.md
rename to content/unity-starting/unity-fundamentals/components.md
index 22c80bbe..d77e31b5 100644
--- a/content/docs/unity/unity-fundamentals/components.md
+++ b/content/unity-starting/unity-fundamentals/components.md
@@ -1,6 +1,7 @@
---
title: Components
type: docs
+oldlink: https://guidebook.hdyar.com/docs/unity/unity-fundamentals/components/
---
# What are Components?
Components are where the real functionality of GameObjects gets implemented.
@@ -81,4 +82,4 @@ You don’t need to worry about the **mesh filter**. It takes a mesh asset (the
The **Mesh Renderer** makes the mesh visible to the cameras. Look at it’s properties: Cast Shadows (on/off), Recieve Shadows, Materials, light probes, and other graphics jargon. All of it affects how the mesh is seen by the camera, in the scene. Useful!
-The third component is a **Box Collider**. This makes the cube *solid*. Without a collider, the box would just be visible, but unity’s physics system would not be able to calculate if something is colliding with it or not.
\ No newline at end of file
+The third component is a **Box Collider**. This makes the cube *solid*. Without a collider, the box would just be visible, but unity’s physics system would not be able to calculate if something is colliding with it or not.
diff --git a/content/docs/unity/unity-fundamentals/parent-child-relationships.md b/content/unity-starting/unity-fundamentals/parent-child-relationships.md
similarity index 96%
rename from content/docs/unity/unity-fundamentals/parent-child-relationships.md
rename to content/unity-starting/unity-fundamentals/parent-child-relationships.md
index e9602195..8bf8a89d 100644
--- a/content/docs/unity/unity-fundamentals/parent-child-relationships.md
+++ b/content/unity-starting/unity-fundamentals/parent-child-relationships.md
@@ -1,8 +1,9 @@
---
title: Parent-Child Relationships
+oldlink: https://guidebook.hdyar.com/docs/unity/unity-fundamentals/parent-child-relationships/
---
# Parent-Child relationships
-One core concept to understand is that of 'parenting'. Parent/Child relationships are edited in the [hierarchy window]({{< ref "docs/unity/unity-interface/hierarchy.md" >}}).
+One core concept to understand is that of 'parenting'. Parent/Child relationships are edited in the [hierarchy window]({{< ref "../unity-interface/hierarchy.md" >}}).
If we remember that scenes are cartesian coordinate systems, we can define any point as a point on the number line. It can be thought of as the distance away from the scene origin on each axis. We will use the words **scene** and **world** interchangeably when talking about parenting. Scene is a unity-specific term and world is generic term, in this context.
@@ -55,3 +56,4 @@ foreach (Transform child in transform)
Debug.Log(child.gameObject.name+" is "+child.localPosition.magnitude + " units away from parent position.");
}
{{< /highlight>}}
+
diff --git a/content/unity-starting/unity-fundamentals/prefabs.md b/content/unity-starting/unity-fundamentals/prefabs.md
new file mode 100644
index 00000000..303f10ea
--- /dev/null
+++ b/content/unity-starting/unity-fundamentals/prefabs.md
@@ -0,0 +1,7 @@
+---
+title: Prefabs
+oldlink: https://guidebook.hdyar.com/docs/unity/unity-fundamentals/prefabs/
+---
+
+# Prefabs
+{{< youtube qKv9OI7azp8 >}}
diff --git a/content/unity-starting/unity-fundamentals/project-basics.md b/content/unity-starting/unity-fundamentals/project-basics.md
new file mode 100644
index 00000000..3ca7f18d
--- /dev/null
+++ b/content/unity-starting/unity-fundamentals/project-basics.md
@@ -0,0 +1,7 @@
+---
+title: Unity Project Basics
+weight: 1
+oldlink: https://guidebook.hdyar.com/docs/unity/unity-fundamentals/project-basics/
+---
+# Unity Project Basics
+{{< youtube Omask191WxE >}}
diff --git a/content/docs/unity/unity-fundamentals/the-intro-lectures.md b/content/unity-starting/unity-fundamentals/the-intro-lectures.md
similarity index 93%
rename from content/docs/unity/unity-fundamentals/the-intro-lectures.md
rename to content/unity-starting/unity-fundamentals/the-intro-lectures.md
index 430ab28e..857c5087 100644
--- a/content/docs/unity/unity-fundamentals/the-intro-lectures.md
+++ b/content/unity-starting/unity-fundamentals/the-intro-lectures.md
@@ -1,6 +1,7 @@
---
title: The Intro Lectures
weight: 1
+oldlink: docs/unity/unity-fundamentals/the-intro-lectures
---
# The Intro Lectures
@@ -26,7 +27,7 @@ The next step is to step away from long videos, and just poke around in Unity. H
Practice creating and moving GameObjects, manipulating the scene view, and creating assets (materials). Enter play mode and try rolling the ball through the level, then go back and change things. Try changing the balls mass, angular drag, or other physics settings.
## Parent-Child Relationships
-Next, read [this page]({{< ref "docs/unity/unity-fundamentals/parent-child-relationships.md" >}}) on Parent/Child relationships in Unity.
+Next, read [this page]({{< ref "parent-child-relationships.md" >}}) on Parent/Child relationships in Unity.
Before continuing, I also recommend reading overviews of some of the Unity windows the Unity Interface section.
@@ -40,7 +41,7 @@ Programming and Game Design can be thought of as being two discreet roles. When
Now we have created a nice, compartmentalized little script that we can use in many places that adds a simple behavior to whatever our GameObjects we want. A lot of Unity development is doing this. We create systems that exist without us having to go in and edit it. For example: Physics. You don't have to extend Unity classes to use the physics system. You just use the components, and use public functions (like "AddForce"). We should aim to create our systems with the same independent philosophy.
## Prefabs
-Next, head over to [this page]({{< ref "docs/unity/unity-fundamentals/prefabs.md" >}}) on Prefabs and watch the video there.
+Next, head over to [this page]({{< ref "prefabs.md" >}}) on Prefabs and watch the video there.
## Part 4
Part 4: GameObject properties, Instantiating Objects, The Unity Event System, Collision Events, Basic Loops, and some other miscellaneous things.
diff --git a/content/docs/unity/unity-interface/_index.md b/content/unity-starting/unity-interface/_index.md
similarity index 87%
rename from content/docs/unity/unity-interface/_index.md
rename to content/unity-starting/unity-interface/_index.md
index 770f2e12..29b6ef58 100644
--- a/content/docs/unity/unity-interface/_index.md
+++ b/content/unity-starting/unity-interface/_index.md
@@ -1,6 +1,6 @@
---
title: Unity Editor Interface
-weight: 1
+weight: 3
bookCollapseSection: true
---
diff --git a/content/docs/unity/unity-interface/game-view.md b/content/unity-starting/unity-interface/game-view.md
similarity index 93%
rename from content/docs/unity/unity-interface/game-view.md
rename to content/unity-starting/unity-interface/game-view.md
index f4544092..1db8480a 100644
--- a/content/docs/unity/unity-interface/game-view.md
+++ b/content/unity-starting/unity-interface/game-view.md
@@ -1,5 +1,6 @@
---
title: The Game View
+oldlink: https://guidebook.hdyar.com/docs/unity/unity-interface/game-view/
---
# The Game View
The game view is where we run our games. See the unity manual on the [Game View](https://docs.unity3d.com/Manual/GameView.html).
@@ -17,4 +18,4 @@ Players playing the game are also making changes to properties (like the positio
Every beginner will start adjusting settings and forget that Unity is “in play mode” (running the game), and then they will lose their changes. It happens to all of us. One way to help prevent this is with a play mode overlay tint.
## Unity Official video on the Game View
-{{< youtube w7RLUM9TBXY>}}
\ No newline at end of file
+{{< youtube w7RLUM9TBXY>}}
diff --git a/content/docs/unity/unity-interface/hierarchy.md b/content/unity-starting/unity-interface/hierarchy.md
similarity index 84%
rename from content/docs/unity/unity-interface/hierarchy.md
rename to content/unity-starting/unity-interface/hierarchy.md
index d821e444..b9d0ae82 100644
--- a/content/docs/unity/unity-interface/hierarchy.md
+++ b/content/unity-starting/unity-interface/hierarchy.md
@@ -1,5 +1,6 @@
---
title: The Hierarchy Window
+oldlink: https://guidebook.hdyar.com/docs/unity/unity-interface/hierarchy/
---
# The Hierarchy
The hierarchy window shows us a list of all of our GameObjects in a scene. It's a one-dimensional view of the scene, represented as a list.
@@ -9,4 +10,4 @@ It also is where we can group GameObjects together by dragging and dropping them
See the official [manual](https://docs.unity3d.com/Manual/Hierarchy.html) on the hierarchy window.
-{{< youtube 9rR3AS74UH0 >}}
\ No newline at end of file
+{{< youtube 9rR3AS74UH0 >}}
diff --git a/content/unity-starting/unity-interface/layouts.md b/content/unity-starting/unity-interface/layouts.md
new file mode 100644
index 00000000..f25ddbae
--- /dev/null
+++ b/content/unity-starting/unity-interface/layouts.md
@@ -0,0 +1,6 @@
+---
+title: Adjusting Layouts
+oldlink: https://guidebook.hdyar.com/docs/unity/unity-interface/layouts/
+---
+# Adjusting Layouts and Customizing Unity
+{{< youtube Bl6uisr5_bQ >}}
diff --git a/content/docs/unity/unity-interface/scene-view.md b/content/unity-starting/unity-interface/scene-view.md
similarity index 94%
rename from content/docs/unity/unity-interface/scene-view.md
rename to content/unity-starting/unity-interface/scene-view.md
index 73750f2c..e0c14181 100644
--- a/content/docs/unity/unity-interface/scene-view.md
+++ b/content/unity-starting/unity-interface/scene-view.md
@@ -1,5 +1,6 @@
---
title: The Scene View
+oldlink: https://guidebook.hdyar.com/docs/unity/unity-interface/scene-view/
---
# The Scene View
The Scene View, or Scene Window, is where we will spend the majority of our time in Unity. It allows us to see our scene, and edit and select objects.
@@ -15,7 +16,7 @@ Read the page in the [Unity Manual](https://docs.unity3d.com/Manual/SceneViewNav
## Common Scene View Trouble
There are a few features in the scene view that can really mess you up if you are not aware of them.
-#### The 2D Mode Toggle
+### The 2D Mode Toggle
![Scene View 2D Toggle](/images/unity/scene-view/sceneView2DToggle.PNG)
The 2D mode toggle will switch your scene view to 2D mode, the camera will become orthographic and you won't be able to rotate the camera.
@@ -34,4 +35,4 @@ To the top right of the gizmo is a small lock icon that can be easy to accidentl
The gizmo that lets you rotate the scene will be grayed out.
## Unity Official video on the Scene View
-{{< youtube nG0fXdXylMI >}}
\ No newline at end of file
+{{< youtube nG0fXdXylMI >}}
diff --git a/content/docs/unity/3d-models/3d-model-filetypes.md b/content/unity/3d-models/3d-model-filetypes.md
similarity index 100%
rename from content/docs/unity/3d-models/3d-model-filetypes.md
rename to content/unity/3d-models/3d-model-filetypes.md
diff --git a/content/docs/unity/3d-models/_index.md b/content/unity/3d-models/_index.md
similarity index 69%
rename from content/docs/unity/3d-models/_index.md
rename to content/unity/3d-models/_index.md
index c5101d4a..0fdc1d6d 100644
--- a/content/docs/unity/3d-models/_index.md
+++ b/content/unity/3d-models/_index.md
@@ -3,4 +3,4 @@ title: 3D Models & Environments
bookCollapseSection: true
weight: 20
---
-# Working with 3D Models in Unity
+Working with 3D Models in Unity
diff --git a/content/docs/unity/3d-models/from-sketchfab-to-unity.md b/content/unity/3d-models/from-sketchfab-to-unity.md
similarity index 63%
rename from content/docs/unity/3d-models/from-sketchfab-to-unity.md
rename to content/unity/3d-models/from-sketchfab-to-unity.md
index 037a6dfd..9a070578 100644
--- a/content/docs/unity/3d-models/from-sketchfab-to-unity.md
+++ b/content/unity/3d-models/from-sketchfab-to-unity.md
@@ -1,8 +1,9 @@
---
title: From Sketchfab To Unity
+oldlink: https://guidebook.hdyar.com/docs/unity/3d-models/from-sketchfab-to-unity/
---
# From Sketchfab To Unity
This video was recorded as review for the in-class lecture on the Exquisite museum project, posted here for future reference.
-{{< youtube 0Se-wqjLNlg >}}
\ No newline at end of file
+{{< youtube 0Se-wqjLNlg >}}
diff --git a/content/docs/unity/3d-models/lighting-in-unity.md b/content/unity/3d-models/lighting-in-unity.md
similarity index 98%
rename from content/docs/unity/3d-models/lighting-in-unity.md
rename to content/unity/3d-models/lighting-in-unity.md
index 447d8083..0abd5c7a 100644
--- a/content/docs/unity/3d-models/lighting-in-unity.md
+++ b/content/unity/3d-models/lighting-in-unity.md
@@ -1,5 +1,6 @@
---
title: A Quick Overview of Lighting in Unity
+oldlink: https://guidebook.hdyar.com/docs/unity/3d-models/lighting-in-unity/
---
# An Overview of Lighting In Unity
## Realtime vs. Baked
diff --git a/content/docs/unity/3d-models/lighting.md b/content/unity/3d-models/lighting.md
similarity index 95%
rename from content/docs/unity/3d-models/lighting.md
rename to content/unity/3d-models/lighting.md
index fce21089..830e8b48 100644
--- a/content/docs/unity/3d-models/lighting.md
+++ b/content/unity/3d-models/lighting.md
@@ -1,5 +1,6 @@
---
Title: Lighting Fundamentals
+oldlink: https://guidebook.hdyar.com/docs/unity/3d-models/lighting/
---
# Lighting Basics
diff --git a/content/docs/unity/3d-models/rig-with-mixamo.md b/content/unity/3d-models/rig-with-mixamo.md
similarity index 84%
rename from content/docs/unity/3d-models/rig-with-mixamo.md
rename to content/unity/3d-models/rig-with-mixamo.md
index 5ad5e96c..33e9827b 100644
--- a/content/docs/unity/3d-models/rig-with-mixamo.md
+++ b/content/unity/3d-models/rig-with-mixamo.md
@@ -1,5 +1,6 @@
---
title: Setting up a Rig with Mixamo
+oldlink: https://guidebook.hdyar.com/docs/unity/3d-models/rig-with-mixamo/
---
# Setting up a Rig with Mixamo
diff --git a/content/unity/_index.md b/content/unity/_index.md
new file mode 100644
index 00000000..8db74792
--- /dev/null
+++ b/content/unity/_index.md
@@ -0,0 +1,7 @@
+---
+weight: 2
+bookFlatSection: false
+bookCollapseSection: true
+title: "Unity Development"
+---
+Unity Systems and how to implement mechanics.
diff --git a/content/docs/unity/toolbox/_index.md b/content/unity/toolbox/_index.md
similarity index 100%
rename from content/docs/unity/toolbox/_index.md
rename to content/unity/toolbox/_index.md
diff --git a/content/docs/unity/toolbox/basic-level-manager.md b/content/unity/toolbox/basic-level-manager.md
similarity index 81%
rename from content/docs/unity/toolbox/basic-level-manager.md
rename to content/unity/toolbox/basic-level-manager.md
index 5eb5ce9d..b363a71a 100644
--- a/content/docs/unity/toolbox/basic-level-manager.md
+++ b/content/unity/toolbox/basic-level-manager.md
@@ -1,8 +1,9 @@
---
title: A Basic Level Manager
+oldlink: https://guidebook.hdyar.com/docs/unity/toolbox/basic-level-manager/
---
# A Basic Level Manager
-For an explanation of this code, see [this video]({{< ref "/docs/unity/unity-102/scene-switching.md" >}}) on scene switching, where the code is written and explained.
+For an explanation of this code, see [this video]({{< ref "scene-switching.md" >}}) on scene switching, where the code is written and explained.
## LevelManager.cs
{{< highlight csharp >}}
@@ -50,4 +51,4 @@ public class LevelManager : MonoBehaviour
}
}
-{{< /highlight >}}
\ No newline at end of file
+{{< /highlight >}}
diff --git a/content/docs/unity/toolbox/clicking-on-objects-in-3D.md b/content/unity/toolbox/clicking-on-objects-in-3D.md
similarity index 98%
rename from content/docs/unity/toolbox/clicking-on-objects-in-3D.md
rename to content/unity/toolbox/clicking-on-objects-in-3D.md
index 9a70f591..b04b45f0 100644
--- a/content/docs/unity/toolbox/clicking-on-objects-in-3D.md
+++ b/content/unity/toolbox/clicking-on-objects-in-3D.md
@@ -1,5 +1,6 @@
---
title: Clicking On Objects in 3D
+oldlink: https://guidebook.hdyar.com/docs/unity/toolbox/clicking-on-objects-in-3d/
---
# Clicking On Objects in 3D
@@ -114,4 +115,4 @@ public class ClickingThings : MonoBehaviour
{{< hint info >}}
The only other change is for the raycast distance, I replaced "100" with "Mathf.Infinity". You probably want to limit the distance of your raycasts to something appropriate as a small optimization.
-{{< /hint >}}
\ No newline at end of file
+{{< /hint >}}
diff --git a/content/docs/unity/toolbox/instantiating.md b/content/unity/toolbox/instantiating.md
similarity index 97%
rename from content/docs/unity/toolbox/instantiating.md
rename to content/unity/toolbox/instantiating.md
index e6f34468..1bbe4b74 100644
--- a/content/docs/unity/toolbox/instantiating.md
+++ b/content/unity/toolbox/instantiating.md
@@ -1,5 +1,6 @@
---
title: Instantiating GameObjects
+oldlink: https://guidebook.hdyar.com/docs/unity/toolbox/instantiating/
---
# Instantiating Objects
@@ -116,7 +117,7 @@ I am rotating the bullet with the assumption that it's default rotation is visua
![Screenshot of the Weapon Handler script](/images/unity/toolbox/playerWeaponHandler.png)
-*This script uses [Attributes]({{< ref "/docs/programming/unity-and-programming/tips-and-tricks/serialization-and-attributes.md">}}) to pretty up the inspector.*
+*This script uses [Attributes]({{< ref "../unity-and-programming/serialization-and-attributes.md">}}) to pretty up the inspector.*
{{< highlight csharp "linenos=true">}}
public class PlayerWeaponHandler : MonoBehaviour
diff --git a/content/unity/toolbox/scene-switching.md b/content/unity/toolbox/scene-switching.md
new file mode 100644
index 00000000..5cfd51bc
--- /dev/null
+++ b/content/unity/toolbox/scene-switching.md
@@ -0,0 +1,11 @@
+---
+title: Scene Switching
+oldlink: https://guidebook.hdyar.com/docs/unity/unity-102/scene-switching/
+---
+
+# Scene Switching and a Basic Level Manager
+{{< youtube wmIoeW-LcT4 >}}
+
+## The Level Manager Code
+The code for just the level manager is [here]({{< ref "/unity/toolbox/basic-level-manager.md" >}}), and the entire project is available on Github [here](https://github.com/hunterdyar/UnitySimpleSokabon).
+
diff --git a/content/docs/unity/toolbox/simple-LERP-with-coroutines.md b/content/unity/toolbox/simple-LERP-with-coroutines.md
similarity index 96%
rename from content/docs/unity/toolbox/simple-LERP-with-coroutines.md
rename to content/unity/toolbox/simple-LERP-with-coroutines.md
index 0606f7fc..84b07980 100644
--- a/content/docs/unity/toolbox/simple-LERP-with-coroutines.md
+++ b/content/unity/toolbox/simple-LERP-with-coroutines.md
@@ -1,5 +1,6 @@
---
title: Simple LERP with Coroutines
+oldlink: https://guidebook.hdyar.com/docs/unity/toolbox/simple-lerp-with-coroutines/
---
# Simple Linear Interpolation with Coroutines
@@ -86,4 +87,4 @@ IEnumerator LerpPos(Vector3 start, Vector3 end, float speed)
transform.position = end;
MoveFinished();
}
-{{< /highlight >}}
\ No newline at end of file
+{{< /highlight >}}
diff --git a/content/docs/unity/toolbox/terrain-tools.md b/content/unity/toolbox/terrain-tools.md
similarity index 100%
rename from content/docs/unity/toolbox/terrain-tools.md
rename to content/unity/toolbox/terrain-tools.md
diff --git a/content/unity/unity-and-programming/_index.md b/content/unity/unity-and-programming/_index.md
new file mode 100644
index 00000000..68c7916b
--- /dev/null
+++ b/content/unity/unity-and-programming/_index.md
@@ -0,0 +1,5 @@
+---
+title: Unity Code Features
+weight: 70
+---
+
diff --git a/content/docs/programming/unity-and-programming/collision-events.md b/content/unity/unity-and-programming/collision-events.md
similarity index 94%
rename from content/docs/programming/unity-and-programming/collision-events.md
rename to content/unity/unity-and-programming/collision-events.md
index 62ade356..a41422cd 100644
--- a/content/docs/programming/unity-and-programming/collision-events.md
+++ b/content/unity/unity-and-programming/collision-events.md
@@ -1,5 +1,6 @@
---
title: Collision Events
+oldlink: https://guidebook.hdyar.com/docs/programming/unity-and-programming/collision-events/
---
# Unity Collision Events
@@ -39,4 +40,4 @@ Lets say we move around and dodge asteroids. We can have:
- an OnCollisionEnter function on a Player script that checks if we got hit by an asteroid and lose health, flash a color, and play a hurt sound.
- an OnCollisionEnter function on the asteroid script that destroys itself when it hits various thing, and plays a sound.
-That's taking three separate pieces of logic: asteroid handling, player-wall handling, and player-asteroid handling, and moving them to locations that are appropriate. It's certainly possible to do all of this in one code, but we discover quickly - as we add different enemy types, for example - that it gets really unwieldy and is prone to bugs. Keeping things compartmentalized makes our life easier.
\ No newline at end of file
+That's taking three separate pieces of logic: asteroid handling, player-wall handling, and player-asteroid handling, and moving them to locations that are appropriate. It's certainly possible to do all of this in one code, but we discover quickly - as we add different enemy types, for example - that it gets really unwieldy and is prone to bugs. Keeping things compartmentalized makes our life easier.
diff --git a/content/docs/programming/unity-and-programming/input-system.md b/content/unity/unity-and-programming/input-system.md
similarity index 99%
rename from content/docs/programming/unity-and-programming/input-system.md
rename to content/unity/unity-and-programming/input-system.md
index fc8b5b00..43dd3a76 100644
--- a/content/docs/programming/unity-and-programming/input-system.md
+++ b/content/unity/unity-and-programming/input-system.md
@@ -1,5 +1,6 @@
---
title: Input System
+oldlink: https://guidebook.hdyar.com/docs/programming/unity-and-programming/input-system/
---
Unity has multiple Input Systems, which is confusing for beginners. Built into Unity by default is access to the "old" input system, which this page will detail. The "old" system is simpler and easier to use for beginners. Unity also has a "new" input system that you can switch to, which is far more advanced and capable, but requires a bit of setup before you can use, and utilizes more advanced c# features.
diff --git a/content/unity/unity-and-programming/serialization-and-attributes.md b/content/unity/unity-and-programming/serialization-and-attributes.md
new file mode 100644
index 00000000..5d0f8a11
--- /dev/null
+++ b/content/unity/unity-and-programming/serialization-and-attributes.md
@@ -0,0 +1,8 @@
+---
+title: Serialization and Attributes
+weight: 20
+oldlink: https://guidebook.hdyar.com/docs/programming/unity/tips-and-tricks/serialization-and-attributes/
+---
+
+# Serialization and Attributes
+{{< youtube JilGhlxY_G0 >}}
diff --git a/content/unity/unity-and-programming/string-formatting.md b/content/unity/unity-and-programming/string-formatting.md
new file mode 100644
index 00000000..c6d14538
--- /dev/null
+++ b/content/unity/unity-and-programming/string-formatting.md
@@ -0,0 +1,7 @@
+---
+title: String Formatting
+oldlink: https://guidebook.hdyar.com/docs/programming/unity/tips-and-tricks/string-formatting/
+---
+# String Formatting and Debug.Log: Unity Nice-to-knows
+
+{{< youtube pvuZAr2dDtA >}}
diff --git a/content/docs/programming/unity-and-programming/timers.md b/content/unity/unity-and-programming/timers.md
similarity index 98%
rename from content/docs/programming/unity-and-programming/timers.md
rename to content/unity/unity-and-programming/timers.md
index 0222e525..d2402159 100644
--- a/content/docs/programming/unity-and-programming/timers.md
+++ b/content/unity/unity-and-programming/timers.md
@@ -1,8 +1,8 @@
---
title: Timers
+oldlink: https://guidebook.hdyar.com/docs/programming/unity-and-programming/timers/
---
# Considerations and Strategies for Timers
-
First, we will discuss the thought process for deciding how to implement timers. If you just want the example code, scroll down.
## Considerations for Timers
@@ -145,7 +145,7 @@ A coroutine is a way to have functions run outside of the regular Unity Game Loo
> Coroutines will get stopped if the GameObject that started them is destroyed or disabled, but they *won't* get stopped if the MonoBehaviour that started them is only disabled. This can be a cause of bugs when using coroutines. GameObjects are disabled with the gameObject.SetActive(false); function, while MonoBehaviours use the .enabled = false; variable.
-Coroutines have a unique syntax, so they can feel confusing and unfamiliar. See [the page on coroutines]({{< ref "../advanced/coroutines.md" >}}) for a deeper dive and videos on the topic.
+Coroutines have a unique syntax, so they can feel confusing and unfamiliar. See [the page on coroutines]({{< ref "/csharp/advanced/coroutines.md" >}}) for a deeper dive and videos on the topic.
Here is the simplest setup, a function that starts a coroutine using the StartCoroutine function provided by Unity.
The "yield return new WaitForSeconds" is the secret sauce. The yield command returns to the game loop an object that tells it when to resume execution of the coroutine. We can take an educated guess at what "WaitForSeconds" waits for, but the other yield commands are not as obvious.
diff --git a/content/docs/programming/unity-and-programming/vectors.md b/content/unity/unity-and-programming/vectors.md
similarity index 98%
rename from content/docs/programming/unity-and-programming/vectors.md
rename to content/unity/unity-and-programming/vectors.md
index 318a8e60..e167fa72 100644
--- a/content/docs/programming/unity-and-programming/vectors.md
+++ b/content/unity/unity-and-programming/vectors.md
@@ -1,5 +1,6 @@
---
title: Vectors
+oldlink: https://guidebook.hdyar.com/docs/programming/unity-and-programming/vectors/
---
# Vectors
@@ -150,4 +151,4 @@ This video is in Python, not C#, but helpfully gets into the math of unit vector
{{< youtube ttz05d8DSOs >}}
This video is useful introduction to understanding how vectors get applied to 2D motion in the context of physics.
-{{< youtube w3BhzYI6zXU >}}
\ No newline at end of file
+{{< youtube w3BhzYI6zXU >}}
diff --git a/content/unity/user-interface/_index.md b/content/unity/user-interface/_index.md
new file mode 100644
index 00000000..dce97ffb
--- /dev/null
+++ b/content/unity/user-interface/_index.md
@@ -0,0 +1,5 @@
+---
+title: Unity UI Systems
+weight: 2
+---
+Flat, screen-space UI in Unity.
diff --git a/content/docs/unity/user-interface/ugui-basics.md b/content/unity/user-interface/ugui-basics.md
similarity index 67%
rename from content/docs/unity/user-interface/ugui-basics.md
rename to content/unity/user-interface/ugui-basics.md
index 706338e6..1cfcdb76 100644
--- a/content/docs/unity/user-interface/ugui-basics.md
+++ b/content/unity/user-interface/ugui-basics.md
@@ -1,5 +1,6 @@
---
title: UI System Basics
+oldlink: https://guidebook.hdyar.com/docs/unity/user-interface/ugui-basics/
---
# Unity UI Basics Overview
@@ -7,4 +8,4 @@ title: UI System Basics
## Resources
- [Comparison Page](https://docs.unity3d.com/Manual/UI-system-compare.html)
-- [Unity UGUI Manual](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/UIBasicLayout.html)
\ No newline at end of file
+- [Unity UGUI Manual](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/UIBasicLayout.html)
diff --git a/content/xr-dev/_index.md b/content/xr-dev/_index.md
new file mode 100644
index 00000000..e6e0e477
--- /dev/null
+++ b/content/xr-dev/_index.md
@@ -0,0 +1,3 @@
+---
+title: XR Development
+---
diff --git a/content/xr-dev/virtual-reality/_index.md b/content/xr-dev/virtual-reality/_index.md
new file mode 100644
index 00000000..ebc5784c
--- /dev/null
+++ b/content/xr-dev/virtual-reality/_index.md
@@ -0,0 +1,4 @@
+---
+title: Virtual Reality Project Setup
+weight: 30
+---
diff --git a/content/docs/unity/virtual-reality/how-to-set-up-hand-tracking-in-quest.md b/content/xr-dev/virtual-reality/how-to-set-up-hand-tracking-in-quest.md
similarity index 76%
rename from content/docs/unity/virtual-reality/how-to-set-up-hand-tracking-in-quest.md
rename to content/xr-dev/virtual-reality/how-to-set-up-hand-tracking-in-quest.md
index c71f2cea..308342c1 100644
--- a/content/docs/unity/virtual-reality/how-to-set-up-hand-tracking-in-quest.md
+++ b/content/xr-dev/virtual-reality/how-to-set-up-hand-tracking-in-quest.md
@@ -1,5 +1,6 @@
---
title: Hand Tracking in Quest 3
+oldlink: https://guidebook.hdyar.com/docs/unity/virtual-reality/how-to-set-up-hand-tracking-in-quest/
---
# How to Set Up Hand Tracking in Quest 3 Using Unity and the "Meta XR All in One SDK"
@@ -8,7 +9,7 @@ title: Hand Tracking in Quest 3
This can be done in a new or existing Unity project. The render pipeline (URP or Standard) does not matter.
2. Make sure you're running a modern version of Unity (2021-2024).
-3. [Install]({{< ref "../setup/packages-assets-modules.md" >}}) the [Meta XR All in One SDK](https://assetstore.unity.com/packages/tools/integration/meta-xr-all-in-one-sdk-269657) from the Unity Asset Store.
+3. [Install]({{< ref "/unity-starting/setup/packages-assets-modules.md" >}}) the [Meta XR All in One SDK](https://assetstore.unity.com/packages/tools/integration/meta-xr-all-in-one-sdk-269657) from the Unity Asset Store.
[![meta SDK Screenshot](/images/unity/hand-tracking/MetaSDKAll.png)](https://assetstore.unity.com/packages/tools/integration/meta-xr-all-in-one-sdk-269657)
@@ -16,7 +17,7 @@ This can be done in a new or existing Unity project. The render pipeline (URP or
## Configure XR Plugin Management:
-1. Install the [XR Plugin Management](https://docs.unity3d.com/Packages/com.unity.xr.management@4.4/manual/index.html) package. (For package installation instructions, see '[Packages, Assets, Modules]({{< ref "../setup/packages-assets-modules.md" >}})')
+1. Install the [XR Plugin Management](https://docs.unity3d.com/Packages/com.unity.xr.management@4.4/manual/index.html) package. (For package installation instructions, see '[Packages, Assets, Modules]({{< ref "/unity-starting/setup/packages-assets-modules.md" >}})')
2. Go to `Edit -> Project Settings`.
3. Select XR Plugin Management.
4. Enable Android Build Support.
@@ -25,7 +26,7 @@ This can be done in a new or existing Unity project. The render pipeline (URP or
4. Click on the Oculus tab under XR Plugin Management.
5. Enable the Oculus integration for the target device you're building to.
-6. Change to Android in the Built Settings, if you have not already done so.
+6. Change to Android in the Build Settings, if you have not already done so.
## Access Oculus Tools:
@@ -45,4 +46,4 @@ This can be done in a new or existing Unity project. The render pipeline (URP or
1. Open Meta Developer Hub on your computer.
2. Connect and configure your Quest headset within the Developer Hub.
-3. Configure [Build Settings]({{< ref "../unity-fundamentals/builds.md">}}) in Unity, ensuring you're on Android Build Mode.
+3. Configure [Build Settings]({{< ref "unity-starting/unity-fundamentals/builds.md">}}) in Unity, ensuring you're on Android Build Mode.
diff --git a/content/docs/unity/virtual-reality/how-to-use-ultimate-xr.md b/content/xr-dev/virtual-reality/how-to-use-ultimate-xr.md
similarity index 95%
rename from content/docs/unity/virtual-reality/how-to-use-ultimate-xr.md
rename to content/xr-dev/virtual-reality/how-to-use-ultimate-xr.md
index 09c0bfd9..0fc63852 100644
--- a/content/docs/unity/virtual-reality/how-to-use-ultimate-xr.md
+++ b/content/xr-dev/virtual-reality/how-to-use-ultimate-xr.md
@@ -1,6 +1,7 @@
---
title: How To Use Ultimate XR
draft: false
+oldlink: https://guidebook.hdyar.com/docs/unity/virtual-reality/how-to-use-ultimate-xr/
---
## How to Use Ultimate XR
diff --git a/content/docs/unity/ultimate-xr-ui/ui-setup.md b/content/xr-dev/virtual-reality/uxr-ui-setup.md
similarity index 97%
rename from content/docs/unity/ultimate-xr-ui/ui-setup.md
rename to content/xr-dev/virtual-reality/uxr-ui-setup.md
index b063e62c..f4d35cd0 100644
--- a/content/docs/unity/ultimate-xr-ui/ui-setup.md
+++ b/content/xr-dev/virtual-reality/uxr-ui-setup.md
@@ -1,6 +1,7 @@
---
title: UltimateXR UI Options
draft: false
+oldlink: https://guidebook.hdyar.com/docs/unity/ultimate-xr-ui/ui-setup/
---
{{< hint info >}}
*This is a general overview of the UXR related UI menu, input, and setup. For more in-depth information about the components or questions go the [UXR Website UI Interaction Page](https://www.ultimatexr.io/guides/ui-interaction) for reference.*
@@ -51,4 +52,4 @@ This option allows for easy haptic feedback configurations when it comes to inte
{{< hint info >}}
*For more in-depth information about the components or questions go the [UXR Website UI Interaction Page](https://www.ultimatexr.io/guides/ui-interaction) for reference.*
-{{< /hint >}}
\ No newline at end of file
+{{< /hint >}}
diff --git a/content/docs/unity/virtual-reality/zero-to-quest-ultimate-xr.md b/content/xr-dev/virtual-reality/zero-to-quest-ultimate-xr.md
similarity index 96%
rename from content/docs/unity/virtual-reality/zero-to-quest-ultimate-xr.md
rename to content/xr-dev/virtual-reality/zero-to-quest-ultimate-xr.md
index 596e4c59..146aef8a 100644
--- a/content/docs/unity/virtual-reality/zero-to-quest-ultimate-xr.md
+++ b/content/xr-dev/virtual-reality/zero-to-quest-ultimate-xr.md
@@ -1,5 +1,7 @@
---
title: Zero to Quest - Ultimate XR
+weight: 2
+oldlink: https://guidebook.hdyar.com/docs/unity/virtual-reality/zero-to-quest-ultimate-xr/
---
## Installing Ultimate XR into Your Unity Project
diff --git a/content/docs/unity/virtual-reality/zero-to-xr.md b/content/xr-dev/virtual-reality/zero-to-xr.md
similarity index 98%
rename from content/docs/unity/virtual-reality/zero-to-xr.md
rename to content/xr-dev/virtual-reality/zero-to-xr.md
index bc2f47d1..f2a6d6c4 100644
--- a/content/docs/unity/virtual-reality/zero-to-xr.md
+++ b/content/xr-dev/virtual-reality/zero-to-xr.md
@@ -1,5 +1,7 @@
---
title: Zero to Quest - Interaction Toolkit
+weight: 1
+oldlink: https://guidebook.hdyar.com/docs/unity/virtual-reality/zero-to-xr/
---
## Unity Guide to Implementing XR Interaction Toolkit for Oculus Quest VR
diff --git a/themes/book/.github/workflows/main.yml b/themes/book/.github/workflows/main.yml
deleted file mode 100644
index 67f73e18..00000000
--- a/themes/book/.github/workflows/main.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-name: Build with Hugo
-
-on: [push, pull_request]
-
-jobs:
- build:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- hugo-version:
- - 'latest'
- - '0.68.0'
- steps:
- - uses: actions/checkout@v2
-
- - name: Setup Hugo
- uses: peaceiris/actions-hugo@v2
- with:
- hugo-version: ${{ matrix.hugo-version }}
- extended: true
-
- - name: Run Hugo
- working-directory: exampleSite
- run: hugo --themesDir ../..
diff --git a/themes/book/.gitignore b/themes/book/.gitignore
deleted file mode 100644
index e52eb529..00000000
--- a/themes/book/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-public/
-exampleSite/public/
-.DS_Store
diff --git a/themes/book/LICENSE b/themes/book/LICENSE
deleted file mode 100644
index e7a669ab..00000000
--- a/themes/book/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2018 Alex Shpak
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 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.
diff --git a/themes/book/README.md b/themes/book/README.md
deleted file mode 100644
index c58dea6b..00000000
--- a/themes/book/README.md
+++ /dev/null
@@ -1,354 +0,0 @@
-# Hugo Book Theme
-
-[![Hugo](https://img.shields.io/badge/hugo-0.68-blue.svg)](https://gohugo.io)
-[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
-![Build with Hugo](https://github.com/alex-shpak/hugo-book/workflows/Build%20with%20Hugo/badge.svg)
-
-### [Hugo](https://gohugo.io) documentation theme as simple as plain book
-
-![Screenshot](https://github.com/alex-shpak/hugo-book/blob/master/images/screenshot.png)
-
-- [Features](#features)
-- [Requirements](#requirements)
-- [Installation](#installation)
-- [Menu](#menu)
-- [Blog](#blog)
-- [Configuration](#configuration)
-- [Shortcodes](#shortcodes)
-- [Versioning](#versioning)
-- [Contributing](#contributing)
-
-## Features
-
-- Clean simple design
-- Light and Mobile-Friendly
-- Multi-language support
-- Customisable
-- Zero initial configuration
-- Handy shortcodes
-- Comments support
-- Simple blog and taxonomy
-- Primary features work without JavaScript
-- Dark Mode
-
-## Requirements
-
-- Hugo 0.68 or higher
-- Hugo extended version, read more [here](https://gohugo.io/news/0.48-relnotes/)
-
-## Installation
-
-### Install as git submodule
-Navigate to your hugo project root and run:
-
-```
-git submodule add https://github.com/alex-shpak/hugo-book themes/book
-```
-
-Then run hugo (or set `theme = "book"`/`theme: book` in configuration file)
-
-```
-hugo server --minify --theme book
-```
-
-### Install as hugo module
-
-You can also add this theme as a Hugo module instead of a git submodule.
-
-Start with initializing hugo modules, if not done yet:
-```
-hugo mod init github.com/repo/path
-```
-
-Navigate to your hugo project root and add [module] section to your `config.toml`:
-
-```toml
-[module]
-[[module.imports]]
-path = 'github.com/alex-shpak/hugo-book'
-```
-
-Then, to load/update the theme module and run hugo:
-
-```sh
-hugo mod get -u
-hugo server --minify
-```
-
-### Creating site from scratch
-
-Below is an example on how to create a new site from scratch:
-
-```sh
-hugo new site mydocs; cd mydocs
-git init
-git submodule add https://github.com/alex-shpak/hugo-book themes/book
-cp -R themes/book/exampleSite/content .
-```
-
-```sh
-hugo server --minify --theme book
-```
-
-## Menu
-
-### File tree menu (default)
-
-By default, the theme will render pages from the `content/docs` section as a menu in a tree structure.
-You can set `title` and `weight` in the front matter of pages to adjust the order and titles in the menu.
-
-### Leaf bundle menu (Deprecated)
-
-You can also use leaf bundle and the content of its `index.md` file as menu.
-Given you have the following file structure:
-
-```
-├── content
-│ ├── docs
-│ │ ├── page-one.md
-│ │ └── page-two.md
-│ └── posts
-│ ├── post-one.md
-│ └── post-two.md
-```
-
-Create a file `content/menu/index.md` with the content:
-
-```md
-+++
-headless = true
-+++
-
-- [Book Example]({{< relref "/docs/" >}})
- - [Page One]({{< relref "/docs/page-one" >}})
- - [Page Two]({{< relref "/docs/page-two" >}})
-- [Blog]({{< relref "/posts" >}})
-```
-
-And Enable it by setting `BookMenuBundle: /menu` in Site configuration.
-
-- [Example menu](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/content/menu/index.md)
-- [Example config file](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/config.yaml)
-- [Leaf bundles](https://gohugo.io/content-management/page-bundles/)
-
-## Blog
-
-A simple blog is supported in the section `posts`.
-A blog is not the primary usecase of this theme, so it has only minimal features.
-
-## Configuration
-
-### Site Configuration
-
-There are a few configuration options that you can add to your `config.toml` file.
-You can also see the `yaml` example [here](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/config.yaml).
-
-```toml
-# (Optional) Set Google Analytics if you use it to track your website.
-# Always put it on the top of the configuration file, otherwise it won't work
-googleAnalytics = "UA-XXXXXXXXX-X"
-
-# (Optional) If you provide a Disqus shortname, comments will be enabled on
-# all pages.
-disqusShortname = "my-site"
-
-# (Optional) Set this to true if you use capital letters in file names
-disablePathToLower = true
-
-# (Optional) Set this to true to enable 'Last Modified by' date and git author
-# information on 'doc' type pages.
-enableGitInfo = true
-
-# (Optional) Theme is intended for documentation use, therefore it doesn't render taxonomy.
-# You can remove related files with config below
-disableKinds = ['taxonomy', 'taxonomyTerm']
-
-[params]
- # (Optional, default light) Sets color theme: light, dark or auto.
- # Theme 'auto' switches between dark and light modes based on browser/os preferences
- BookTheme = 'light'
-
- # (Optional, default true) Controls table of contents visibility on right side of pages.
- # Start and end levels can be controlled with markup.tableOfContents setting.
- # You can also specify this parameter per page in front matter.
- BookToC = true
-
- # (Optional, default none) Set the path to a logo for the book. If the logo is
- # /static/logo.png then the path would be 'logo.png'
- BookLogo = 'logo.png'
-
- # (Optional, default none) Set leaf bundle to render as side menu
- # When not specified file structure and weights will be used
- BookMenuBundle = '/menu'
-
- # (Optional, default docs) Specify section of content to render as menu
- # You can also set value to "*" to render all sections to menu
- BookSection = 'docs'
-
- # Set source repository location.
- # Used for 'Last Modified' and 'Edit this page' links.
- BookRepo = 'https://github.com/alex-shpak/hugo-book'
-
- # Specifies commit portion of the link to the page's last modified commit hash for 'doc' page
- # type.
- # Required if 'BookRepo' param is set.
- # Value used to construct a URL consisting of BookRepo/BookCommitPath/
- # Github uses 'commit', Bitbucket uses 'commits'
- BookCommitPath = 'commit'
-
- # Enable 'Edit this page' links for 'doc' page type.
- # Disabled by default. Uncomment to enable. Requires 'BookRepo' param.
- # Path must point to the site directory.
- BookEditPath = 'edit/master/exampleSite'
-
- # (Optional, default January 2, 2006) Configure the date format used on the pages
- # - In git information
- # - In blog posts
- BookDateFormat = 'Jan 2, 2006'
-
- # (Optional, default true) Enables search function with flexsearch,
- # Index is built on fly, therefore it might slowdown your website.
- # Configuration for indexing can be adjusted in i18n folder per language.
- BookSearch = true
-
- # (Optional, default true) Enables comments template on pages
- # By default partials/docs/comments.html includes Disqus template
- # See https://gohugo.io/content-management/comments/#configure-disqus
- # Can be overwritten by same param in page frontmatter
- BookComments = true
-
- # /!\ This is an experimental feature, might be removed or changed at any time
- # (Optional, experimental, default false) Enables portable links and link checks in markdown pages.
- # Portable links meant to work with text editors and let you write markdown without {{< relref >}} shortcode
- # Theme will print warning if page referenced in markdown does not exists.
- BookPortableLinks = true
-
- # /!\ This is an experimental feature, might be removed or changed at any time
- # (Optional, experimental, default false) Enables service worker that caches visited pages and resources for offline use.
- BookServiceWorker = true
-```
-
-### Multi-Language Support
-
-Theme supports Hugo's [multilingual mode](https://gohugo.io/content-management/multilingual/), just follow configuration guide there. You can also tweak search indexing configuration per language in `i18n` folder.
-
-### Page Configuration
-
-You can specify additional params in the front matter of individual pages:
-
-```toml
-# Set type to 'docs' if you want to render page outside of configured section or if you render section other than 'docs'
-type = 'docs'
-
-# Set page weight to re-arrange items in file-tree menu (if BookMenuBundle not set)
-weight = 10
-
-# (Optional) Set to 'true' to mark page as flat section in file-tree menu (if BookMenuBundle not set)
-bookFlatSection = false
-
-# (Optional) Set to hide nested sections or pages at that level. Works only with file-tree menu mode
-bookCollapseSection = true
-
-# (Optional) Set true to hide page or section from side menu (if BookMenuBundle not set)
-bookHidden = false
-
-# (Optional) Set 'false' to hide ToC from page
-bookToC = true
-
-# (Optional) If you have enabled BookComments for the site, you can disable it for specific pages.
-bookComments = true
-
-# (Optional) Set to 'false' to exclude page from search index.
-bookSearchExclude = true
-```
-
-### Partials
-
-There are layout partials available for you to easily override components of the theme in `layouts/partials/`.
-
-In addition to this, there are several empty partials you can override to easily add/inject code.
-
-| Empty Partial | Placement |
-| -------------------------------------------------- | ------------------------------------------- |
-| `layouts/partials/docs/inject/head.html` | Before closing `` tag |
-| `layouts/partials/docs/inject/body.html` | Before closing `` tag |
-| `layouts/partials/docs/inject/footer.html` | After page footer content |
-| `layouts/partials/docs/inject/menu-before.html` | At the beginning of `