Added hierarchical permalinks for documentation. This avoids naming
conflicts.
diff --git a/_data/documentation.yml b/_data/documentation.yml
index d79037c..9223c6f 100644
--- a/_data/documentation.yml
+++ b/_data/documentation.yml
@@ -5,87 +5,87 @@
     items:
     - title: Introduction
       id: introduction
-      url: /introduction
+      url: /documentation/learning_gem5/introduction
 
     - title: Getting Started
-      id: pt1
+      id: part1
       subitems:
         - page: Building gem5
-          url: /building
+          url: /documentation/learning_gem5/part1/building
         - page: Creating a simple configuration script
-          url: /simple_config
+          url: /documentation/learning_gem5/part1/simple_config
         - page: Adding cache to configuration script
-          url: /cache_config
+          url: /documentation/learning_gem5/part1/cache_config
         - page: Understanding gem5 statistics and output
-          url: /gem5_stats
+          url: /documentation/learning_gem5/part1/gem5_stats
         - page: Using the default configuration scripts
-          url: /example_configs
+          url: /documentation/learning_gem5/part1/example_configs
 
     - title: Modifying/Extending
-      id: pt2
+      id: part2
       subitems:
         - page: Setting up your development environment
-          url: /environment
+          url: /documentation/learning_gem5/part2/environment
         - page: Creating a very simple SimObject
-          url: /helloobject
+          url: /documentation/learning_gem5/part2/helloobject
         - page: Debugging gem5
-          url: /debugging
+          url: /documentation/learning_gem5/part2/debugging
         - page: Event-driven programming
-          url: /events
+          url: /documentation/learning_gem5/part2/events
         - page: Adding parameters to SimObjects and more events
-          url: /parameters
+          url: /documentation/learning_gem5/part2/parameters
         - page: Creating SimObjects in the memory system
-          url: /memoryobject
+          url: /documentation/learning_gem5/part2/memoryobject
         - page: Creating a simple cache object
-          url: /simplecache
+          url: /documentation/learning_gem5/part2/simplecache
 
     - title: Modeling Cache Coherence with Ruby
-      id: pt3
+      id: part3
       subitems:
         - page: Introduction to Ruby
-          url: /MSIintro
+          url: /documentation/learning_gem5/part3/MSIintro
         - page: MSI example cache protocol
-          url: /cache-intro
+          url: /documentation/learning_gem5/part3/cache-intro
         - page: Declaring a state machine
-          url: /cache-declarations
+          url: /documentation/learning_gem5/part3/cache-declarations
         - page: In port code blocks
-          url: /cache-in-ports
+          url: /documentation/learning_gem5/part3/cache-in-ports
         - page: Action code blocks
-          url: /cache-actions
+          url: /documentation/learning_gem5/part3/cache-actions
         - page: Transition code blocks
-          url: /cache-transitions
+          url: /documentation/learning_gem5/part3/cache-transitions
         - page: MSI Directory implementation
-          url: /directory
+          url: /documentation/learning_gem5/part3/directory
         - page: Compiling a SLICC protocol
-          url: /MSIbuilding
+          url: /documentation/learning_gem5/part3/MSIbuilding
         - page: Configuring a simple Ruby system
-          url: /configuration
+          url: /documentation/learning_gem5/part3/configuration
         - page: Running the simple Ruby system
-          url: /running
+          url: /documentation/learning_gem5/part3/running
         - page: Debugging SLICC Protocols
-          url: /MSIdebugging
+          url: /documentation/learning_gem5/part3/MSIdebugging
         - page: Configuring for a standard protocol
-          url: /simple-MI_example
+          url: /documentation/learning_gem5/part3/simple-MI_example
 
   - title: gem5 101
     items:
       - title: gem5 101
-        url: /gem5_101
+        url: /documentation/gem5_101/gem5_101
 
       - title: Hello World
-        url: /hello_world
+        url: /documentation/gem5_101/hello_world
 
       - title: Adding An Instruction
-        url: /adding_an_instruction
+        url: /documentation/gem5_101/adding_an_instruction
 
       - title: CPU Models
-        url: /cpu_models
+        url: /documentation/gem5_101/cpu_models
 
       - title: Branch Prediction
-        url: /branch_prediction
+        url: /documentation/gem5_101/branch_prediction
 
       - title: Caches
-        url: /caches
+        url: /documentation/gem5_101/caches
 
       - title: Multi Core
-        url: /multi_core
+        url: /documentation/gem5_101/multi_core
diff --git a/_pages/documentation/gem5-101/adding_an_instruction.md b/_pages/documentation/gem5-101/adding_an_instruction.md
index 42e479c..98527aa 100644
--- a/_pages/documentation/gem5-101/adding_an_instruction.md
+++ b/_pages/documentation/gem5-101/adding_an_instruction.md
@@ -2,7 +2,8 @@
 layout: documentation
 title: Adding An Instruction
 doc: gem5 101
-permalink: /adding_an_instruction/
+parent: gem5_101
+permalink: /gem5_101/adding_an_instruction/
 author: Jason Lowe-Power
 date: 2018-05-12T23:00:45-04:00
 ---
diff --git a/_pages/documentation/gem5-101/branch_prediction.md b/_pages/documentation/gem5-101/branch_prediction.md
index 18e28b5..6ba588b 100644
--- a/_pages/documentation/gem5-101/branch_prediction.md
+++ b/_pages/documentation/gem5-101/branch_prediction.md
@@ -2,7 +2,8 @@
 layout: documentation
 title: Branch Prediction
 doc: gem5 101
-permalink: /branch_prediction/
+parent: gem5_101
+permalink: /gem5_101/branch_prediction/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/gem5-101/caches.md b/_pages/documentation/gem5-101/caches.md
index 306ecd5..7979bbf 100644
--- a/_pages/documentation/gem5-101/caches.md
+++ b/_pages/documentation/gem5-101/caches.md
@@ -2,7 +2,8 @@
 layout: documentation
 title: Caches
 doc: gem5 101
-permalink: /caches/
+parent: gem5_101
+permalink: /gem5_101/caches/
 author: Jason Lowe-Power
 date: 2018-05-12T23:01:31-04:00
 ---
diff --git a/_pages/documentation/gem5-101/cpu_models.md b/_pages/documentation/gem5-101/cpu_models.md
index 5335e6a..9f89ffb 100644
--- a/_pages/documentation/gem5-101/cpu_models.md
+++ b/_pages/documentation/gem5-101/cpu_models.md
@@ -2,7 +2,8 @@
 layout: documentation
 title: CPU Models
 doc: gem5 101
-permalink: /cpu_models/
+parent: gem5_101
+permalink: /gem5_101/cpu_models/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/gem5-101/gem5_101.md b/_pages/documentation/gem5-101/gem5_101.md
index b85e0df..dbb7bdb 100644
--- a/_pages/documentation/gem5-101/gem5_101.md
+++ b/_pages/documentation/gem5-101/gem5_101.md
@@ -2,7 +2,8 @@
 layout: documentation
 title: gem5 101
 doc: gem5 101
-permalink: /gem5_101/
+parent: gem5_101
+permalink: /gem5_101/gem5_101/
 authors: Swapnil Haria
 date: 2016-04-27
 ---
diff --git a/_pages/documentation/gem5-101/hello_world.md b/_pages/documentation/gem5-101/hello_world.md
index d163519..bc5548a 100644
--- a/_pages/documentation/gem5-101/hello_world.md
+++ b/_pages/documentation/gem5-101/hello_world.md
@@ -3,7 +3,8 @@
 title: Hello World
 doc: gem5 101
 id: gem5_101
-permalink: /hello_world/
+parent: gem5_101
+permalink: /gem5_101/hello_world/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/gem5-101/multi_core.md b/_pages/documentation/gem5-101/multi_core.md
index 4e576e0..bb63740 100644
--- a/_pages/documentation/gem5-101/multi_core.md
+++ b/_pages/documentation/gem5-101/multi_core.md
@@ -2,7 +2,8 @@
 layout: documentation
 title: Multi Core
 doc: gem5 101
-permalink: /multi_core/
+parent: gem5_101
+permalink: /gem5_101/multi_core/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/introduction.md b/_pages/documentation/learning_gem5/introduction.md
index 61f7e16..b8f7cc6 100644
--- a/_pages/documentation/learning_gem5/introduction.md
+++ b/_pages/documentation/learning_gem5/introduction.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Learning gem5
 doc: Learning gem5
-parent: introduction
-permalink: /introduction/
+parent: learning_gem5
+permalink: /documentation/learning_gem5/introduction/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part1/building.md b/_pages/documentation/learning_gem5/part1/building.md
index 90ab644..ca8f6f7 100644
--- a/_pages/documentation/learning_gem5/part1/building.md
+++ b/_pages/documentation/learning_gem5/part1/building.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Building gem5
 doc: Learning gem5
-parent: pt1
-permalink: /building/
+parent: part1
+permalink: /documentation/learning_gem5/part1/building/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part1/cache_config.md b/_pages/documentation/learning_gem5/part1/cache_config.md
index 4df5971..1676a45 100644
--- a/_pages/documentation/learning_gem5/part1/cache_config.md
+++ b/_pages/documentation/learning_gem5/part1/cache_config.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Adding cache to configuration script
 doc: Learning gem5
-parent: pt1
-permalink: /cache_config/
+parent: part1
+permalink: /documentation/learning_gem5/part1/cache_config/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part1/example_configs.md b/_pages/documentation/learning_gem5/part1/example_configs.md
index 9f0883f..6dd5e52 100644
--- a/_pages/documentation/learning_gem5/part1/example_configs.md
+++ b/_pages/documentation/learning_gem5/part1/example_configs.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Using the default configuration scripts
 doc: Learning gem5
-parent: pt1
-permalink: /example_configs/
+parent: part1
+permalink: /documentation/learning_gem5/part1/example_configs/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part1/gem5_stats.md b/_pages/documentation/learning_gem5/part1/gem5_stats.md
index dcec9a0..165254c 100644
--- a/_pages/documentation/learning_gem5/part1/gem5_stats.md
+++ b/_pages/documentation/learning_gem5/part1/gem5_stats.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Understanding gem5 statistics and output
 doc: Learning gem5
-parent: pt1
-permalink: /gem5_stats/
+parent: part1
+permalink: /documentation/learning_gem5/part1/gem5_stats/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part1/simple_config.md b/_pages/documentation/learning_gem5/part1/simple_config.md
index 33a3ba0..c435ae3 100644
--- a/_pages/documentation/learning_gem5/part1/simple_config.md
+++ b/_pages/documentation/learning_gem5/part1/simple_config.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Creating a simple configuration script
 doc: Learning gem5
-parent: pt1
-permalink: /simple_config/
+parent: part1
+permalink: /documentation/learning_gem5/part1/simple_config/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part2/debugging.md b/_pages/documentation/learning_gem5/part2/debugging.md
index e25b636..1b186d8 100644
--- a/_pages/documentation/learning_gem5/part2/debugging.md
+++ b/_pages/documentation/learning_gem5/part2/debugging.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Debugging gem5
 doc: Learning gem5
-parent: pt2
-permalink: /debugging/
+parent: part2
+permalink: /documentation/learning_gem5/part2/debugging/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part2/environment.md b/_pages/documentation/learning_gem5/part2/environment.md
index 7002c90..0b5ca06 100644
--- a/_pages/documentation/learning_gem5/part2/environment.md
+++ b/_pages/documentation/learning_gem5/part2/environment.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Setting up your development environment
 doc: Learning gem5
-parent: pt2
-permalink: /environment/
+parent: part2
+permalink: /documentation/learning_gem5/part2/environment/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part2/events.md b/_pages/documentation/learning_gem5/part2/events.md
index 6603808..c288d77 100644
--- a/_pages/documentation/learning_gem5/part2/events.md
+++ b/_pages/documentation/learning_gem5/part2/events.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Event-driven programming
 doc: Learning gem5
-parent: pt2
-permalink: /events/
+parent: part2
+permalink: /documentation/learning_gem5/part2/events/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part2/helloobject.md b/_pages/documentation/learning_gem5/part2/helloobject.md
index 13a6e54..6bf6574 100644
--- a/_pages/documentation/learning_gem5/part2/helloobject.md
+++ b/_pages/documentation/learning_gem5/part2/helloobject.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Creating a very simple SimObject
 doc: Learning gem5
-parent: pt2
-permalink: /helloobject/
+parent: part2
+permalink: /documentation/learning_gem5/part2/helloobject/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part2/memoryobject.md b/_pages/documentation/learning_gem5/part2/memoryobject.md
index aa76009..84b7af5 100644
--- a/_pages/documentation/learning_gem5/part2/memoryobject.md
+++ b/_pages/documentation/learning_gem5/part2/memoryobject.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Creating SimObjects in the memory system
 doc: Learning gem5
-parent: pt2
-permalink: /memoryobject/
+parent: part2
+permalink: /documentation/learning_gem5/part2/memoryobject/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part2/parameters.md b/_pages/documentation/learning_gem5/part2/parameters.md
index 02b295f..f47b538 100644
--- a/_pages/documentation/learning_gem5/part2/parameters.md
+++ b/_pages/documentation/learning_gem5/part2/parameters.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Adding parameters to SimObjects and more events
 doc: Learning gem5
-parent: pt2
-permalink: /parameters/
+parent: part2
+permalink: /documentation/learning_gem5/part2/parameters/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part2/simplecache.md b/_pages/documentation/learning_gem5/part2/simplecache.md
index 08eff0d..d33052c 100644
--- a/_pages/documentation/learning_gem5/part2/simplecache.md
+++ b/_pages/documentation/learning_gem5/part2/simplecache.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Creating a simple cache object
 doc: Learning gem5
-parent: pt2
-permalink: /simplecache/
+parent: part2
+permalink: /documentation/learning_gem5/part2/simplecache/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part3/MSIbuilding.md b/_pages/documentation/learning_gem5/part3/MSIbuilding.md
index 0a443b0..aff2054 100644
--- a/_pages/documentation/learning_gem5/part3/MSIbuilding.md
+++ b/_pages/documentation/learning_gem5/part3/MSIbuilding.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Compiling a SLICC protocol
 doc: Learning gem5
-parent: pt3
-permalink: /MSIbuilding/
+parent: part3
+permalink: /documentation/learning_gem5/part3/MSIbuilding/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part3/MSIdebugging.md b/_pages/documentation/learning_gem5/part3/MSIdebugging.md
index 47b2354..9c093c0 100644
--- a/_pages/documentation/learning_gem5/part3/MSIdebugging.md
+++ b/_pages/documentation/learning_gem5/part3/MSIdebugging.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Debugging SLICC Protocols
 doc: Learning gem5
-parent: pt3
-permalink: /MSIdebugging/
+parent: part3
+permalink: /documentation/learning_gem5/part3/MSIdebugging/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part3/MSIintro.md b/_pages/documentation/learning_gem5/part3/MSIintro.md
index 9c73353..cd1f04b 100644
--- a/_pages/documentation/learning_gem5/part3/MSIintro.md
+++ b/_pages/documentation/learning_gem5/part3/MSIintro.md
@@ -2,7 +2,8 @@
 layout: documentation
 title: Introduction to Ruby
 doc: Learning gem5
-parent: pt3
+parent: part3
+permalink: /documentation/learning_gem5/part3/MSIintro/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part3/cache-actions.md b/_pages/documentation/learning_gem5/part3/cache-actions.md
index e89efa2..48b711b 100644
--- a/_pages/documentation/learning_gem5/part3/cache-actions.md
+++ b/_pages/documentation/learning_gem5/part3/cache-actions.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Action code blocks
 doc: Learning gem5
-parent: pt3
-permalink: /cache-actions/
+parent: part3
+permalink: /documentation/learning_gem5/part3/cache-actions/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part3/cache-declarations.md b/_pages/documentation/learning_gem5/part3/cache-declarations.md
index c3b5499..e32b927 100644
--- a/_pages/documentation/learning_gem5/part3/cache-declarations.md
+++ b/_pages/documentation/learning_gem5/part3/cache-declarations.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Declaring a state machine
 doc: Learning gem5
-parent: pt3
-permalink: /cache-declarations/
+parent: part3
+permalink: /documentation/learning_gem5/part3/cache-declarations/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part3/cache-in-ports.md b/_pages/documentation/learning_gem5/part3/cache-in-ports.md
index 1714839..028d33e 100644
--- a/_pages/documentation/learning_gem5/part3/cache-in-ports.md
+++ b/_pages/documentation/learning_gem5/part3/cache-in-ports.md
@@ -2,7 +2,7 @@
 layout: documentation
 title: In port code blocks
 doc: Learning gem5
-parent: pt3
+parent: part3
 permalink: /cache-in-ports/
 author: Jason Lowe-Power
 ---
diff --git a/_pages/documentation/learning_gem5/part3/cache-intro.md b/_pages/documentation/learning_gem5/part3/cache-intro.md
index de7b7bf..5734efa 100644
--- a/_pages/documentation/learning_gem5/part3/cache-intro.md
+++ b/_pages/documentation/learning_gem5/part3/cache-intro.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: MSI example cache protocol
 doc: Learning gem5
-parent: pt3
-permalink: /cache-intro/
+parent: part3
+permalink: /documentation/learning_gem5/part3/cache-intro/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part3/cache-transitions.md b/_pages/documentation/learning_gem5/part3/cache-transitions.md
index a32f72f..9c12e7a 100644
--- a/_pages/documentation/learning_gem5/part3/cache-transitions.md
+++ b/_pages/documentation/learning_gem5/part3/cache-transitions.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Transition code blocks
 doc: Learning gem5
-parent: pt3
-permalink: /cache-transitions/
+parent: part3
+permalink: /documentation/learning_gem5/part3/cache-transitions/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part3/configuration.md b/_pages/documentation/learning_gem5/part3/configuration.md
index 97fb271..1db4eda 100644
--- a/_pages/documentation/learning_gem5/part3/configuration.md
+++ b/_pages/documentation/learning_gem5/part3/configuration.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Configuring a simple Ruby system
 doc: Learning gem5
-parent: pt3
-permalink: /configuration/
+parent: part3
+permalink: /documentation/learning_gem5/part3/configuration/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part3/directory.md b/_pages/documentation/learning_gem5/part3/directory.md
index 881d55f..5a50117 100644
--- a/_pages/documentation/learning_gem5/part3/directory.md
+++ b/_pages/documentation/learning_gem5/part3/directory.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: MSI Directory implementation
 doc: Learning gem5
-parent: pt3
-permalink: /directory/
+parent: part3
+permalink: /documentation/learning_gem5/part3/directory/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part3/running.md b/_pages/documentation/learning_gem5/part3/running.md
index e01be77..7664c3f 100644
--- a/_pages/documentation/learning_gem5/part3/running.md
+++ b/_pages/documentation/learning_gem5/part3/running.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Running the simple Ruby system
 doc: Learning gem5
-parent: pt3
-permalink: /running/
+parent: part3
+permalink: /documentation/learning_gem5/part3/running/
 author: Jason Lowe-Power
 ---
 
diff --git a/_pages/documentation/learning_gem5/part3/simple-MI_example.md b/_pages/documentation/learning_gem5/part3/simple-MI_example.md
index 05e70d6..1f5ec7e 100644
--- a/_pages/documentation/learning_gem5/part3/simple-MI_example.md
+++ b/_pages/documentation/learning_gem5/part3/simple-MI_example.md
@@ -2,8 +2,8 @@
 layout: documentation
 title: Configuring for a standard protocol
 doc: Learning gem5
-parent: pt3
-permalink: /simple-MI_example/
+parent: part3
+permalink: /documentation/learning_gem5/part3/simple-MI_example/
 author: Jason Lowe-Power
 ---