diff --git a/layouts/_default/list.html b/layouts/_default/list.html
index 37f1363651856795cddf93fb446e3f37d03ddd77..09bd28cde4584075d0de7db005d359e4a0d69b10 100644
--- a/layouts/_default/list.html
+++ b/layouts/_default/list.html
@@ -58,19 +58,7 @@
 </div>
 
 </div>
-<div class='col-md-4'>
-  <nav class='menu tags'>
-    <span class="menu-heading">Categories</span>
-    <a class='menu-item selected' data-slug='all' href='#'>All posts</a>
-    {{range $name, $taxonomy := .Site.Taxonomies.tags}} {{ $cnt := .Count }}
-  	  {{ with $.Site.GetPage (printf "/tags/%s" $name) }}
-  		  <a href="{{ .RelPermalink }}" class='menu-item tag' data-slug='{{$name}}' title="All pages with tag <i>{{$name}}</i>">{{$name}} ({{$cnt}})</a>
-  	  {{end}}
-  	{{end}}
-  </nav>
-  <br>
-  {{ partial "microblog.html" . }}
-</div>
+{{ partial "side_menu_list.html" . }}
 </div>
 
 {{ partial "bottom_list.html" . }}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index a9af3d6adc922a528b75a44d9841b9bb31ab25f6..5006d29216a1c2906b78bed953e04ff14f6d8a38 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -50,18 +50,6 @@
       </section>
     </article>
   </div>
-  <div class='col-md-4'>
-    <nav class='menu tags'>
-      <span class="menu-heading">Recent Posts</span>
-      {{ $hereLink := .Permalink }}
-      {{ range .Site.Pages }}
-         {{ range .Pages }}
-            <a href='{{ .RelPermalink }}' class='menu-item tag{{ if (eq .Permalink $hereLink) }} selected{{ end }}' data-slug='{{ .Title}}' title="{{ .Title}}">{{ .Title}}</a>
-         {{ end }}
-      {{ end }}
-    </nav>
-    <br>
-    {{ partial "microblog.html" . }}
-  </div>
+  {{ partial "side_menu_single.html" . }}
 </div>
 {{ partial "bottom_single.html" . }}
diff --git a/layouts/entry/single.html b/layouts/entry/single.html
index 984e37a88a68c67ef60d83ce0721dc2bd0ab4e0e..2cca777570220ac6f9a907b9b81ddd9ec7d51a00 100644
--- a/layouts/entry/single.html
+++ b/layouts/entry/single.html
@@ -51,19 +51,6 @@
       </section>
     </article>
   </div>
-  <div class='col-md-4'>
-    <nav class='menu tags'>
-      <span class="menu-heading">Recent Resource Posts</span>
-      <a class='menu-item' data-slug='all' href='/resource'>All posts</a>
-      {{ $hereLink := .Permalink }}
-      {{ range (where .Site.Pages "Section" "resource") }}
-         {{ range .Pages }}
-            <a href='{{ .RelPermalink }}' class='menu-item tag{{ if (eq .Permalink $hereLink) }} selected{{ end }}' data-slug='{{ .Title}}' title="{{ .Title}}">{{ .Title}}</a>
-         {{ end }}
-      {{ end }}
-    </nav>
-    <br>
-    {{ partial "microblog.html" . }}
-  </div>
+  {{ partial "side_menu_single.html" . }}
 </div>
 {{ partial "bottom_single.html" . }}
diff --git a/layouts/news/list.html b/layouts/news/list.html
index 9f1d2a4e9d4a480e4b2a08968c4479681bdddc6d..7c3766d19b21db406c95528683b4c4fd73c820fd 100644
--- a/layouts/news/list.html
+++ b/layouts/news/list.html
@@ -58,34 +58,7 @@
 </div>
 
 </div>
-<div class='col-md-4'>
-  <nav class='menu tags'>
-    <span class="menu-heading">News Categories</span>
-    <a class='menu-item selected' data-slug='all' href='/news'>All posts</a>
-    {{ $hereSection := .Section }}
-    {{/* Get current taxonomy (example: tags, categories). */}}
-    <!-- {{ $taxonomy := .Data.Plural }} -->
-    {{ $taxonomy := "tags" }}
-    {{/* Get sections where one or more pages has one or more terms in the current taxonomy. */}}
-    {{ $sections := slice }}
-    {{ range $term, $weightedPages := index site.Taxonomies $taxonomy }}
-      {{ range $weightedPages }}
-        {{ $sections = $sections | append .CurrentSection | uniq | sort }}
-      {{ end }}
-    {{ end }}
-    {{/* List pages by term by section. */}}
-    {{ range $section := (where $sections ".Path" $hereSection) }}
-      {{ range $term, $weightedPages := index site.Taxonomies $taxonomy }}
-        {{ $termPage := site.GetPage path.Join $taxonomy $term }}
-        {{ with where $weightedPages "Section" $section.Path }}
-          <a href="{{ $termPage.RelPermalink }}" class='menu-item tag' data-slug='{{ $termPage.LinkTitle }}' title="All pages with tag <i>{{ $termPage.LinkTitle }}</i>">{{ $termPage.LinkTitle }}</a>
-        {{ end }}
-      {{ end }}
-    {{ end }}
-  </nav>
-  <br>
-  {{ partial "microblog.html" . }}
-</div>
+{{ partial "side_menu_list.html" . }}
 </div>
 
 {{ partial "bottom_list.html" . }}
diff --git a/layouts/news/single.html b/layouts/news/single.html
index d4ec973a8cd69aa522db294233139e75ebd9a999..70ecde8b261549bf07f2f081dc0bb6ae6767948b 100644
--- a/layouts/news/single.html
+++ b/layouts/news/single.html
@@ -49,19 +49,6 @@
       </section>
     </article>
   </div>
-  <div class='col-md-4'>
-    <nav class='menu tags'>
-      <span class="menu-heading">Recent News Posts</span>
-      <a class='menu-item' data-slug='all' href='/news'>All posts</a>
-      {{ $hereLink := .Permalink }}
-      {{ range (where .Site.Pages "Section" "news") }}
-         {{ range .Pages }}
-            <a href='{{ .RelPermalink }}' class='menu-item tag{{ if (eq .Permalink $hereLink) }} selected{{ end }}' data-slug='{{ .Title}}' title="{{ .Title}}">{{ .Title}}</a>
-         {{ end }}
-      {{ end }}
-    </nav>
-    <br>
-    {{ partial "microblog.html" . }}
-  </div>
+  {{ partial "side_menu_single.html" . }}
 </div>
 {{ partial "bottom_single.html" . }}
diff --git a/layouts/partials/categories_menu.html b/layouts/partials/categories_menu.html
new file mode 100644
index 0000000000000000000000000000000000000000..4b2770d1820763966cd4d507ff880ac588bb3485
--- /dev/null
+++ b/layouts/partials/categories_menu.html
@@ -0,0 +1,24 @@
+<nav class='menu sub-nav'>
+  <span class="menu-heading">{{ .Section | humanize }} Categories</span>
+  <a class='menu-item selected' data-slug='all' href='/{{ .Section }}'>All posts</a>
+  {{ $hereSection := .Section }}
+  {{/* Get current taxonomy (example: tags, categories). */}}
+  <!-- {{ $taxonomy := .Data.Plural }} -->
+  {{ $taxonomy := "tags" }}
+  {{/* Get sections where one or more pages has one or more terms in the current taxonomy. */}}
+  {{ $sections := slice }}
+  {{ range $term, $weightedPages := index site.Taxonomies $taxonomy }}
+    {{ range $weightedPages }}
+      {{ $sections = $sections | append .CurrentSection | uniq | sort }}
+    {{ end }}
+  {{ end }}
+  {{/* List pages by term by section. */}}
+  {{ range $section := (where $sections ".Path" $hereSection) }}
+    {{ range $term, $weightedPages := index site.Taxonomies $taxonomy }}
+      {{ $termPage := site.GetPage path.Join $taxonomy $term }}
+      {{ with where $weightedPages "Section" $section.Path }}
+        <a href="{{ $termPage.RelPermalink }}" class='menu-item' data-slug='{{ $termPage.LinkTitle }}' title="All pages with tag <i>{{ $termPage.LinkTitle }}</i>">{{ $termPage.LinkTitle }}</a>
+      {{ end }}
+    {{ end }}
+  {{ end }}
+</nav>
diff --git a/layouts/partials/recent_posts_menu.html b/layouts/partials/recent_posts_menu.html
new file mode 100644
index 0000000000000000000000000000000000000000..e542d3ac83fce7bcb1f000d47272e7dea4e1163a
--- /dev/null
+++ b/layouts/partials/recent_posts_menu.html
@@ -0,0 +1,10 @@
+<nav class='menu sub-nav'>
+  <span class="menu-heading">Recent {{ .Section | humanize }} Posts</span>
+  <a class='menu-item' data-slug='all' href='/{{ .Section }}'>All posts</a>
+  {{ $hereLink := .Permalink }}
+  {{ range (where .Site.Pages "Section" .Section) }}
+     {{ range .Pages }}
+        <a href='{{ .RelPermalink }}' class='menu-item tag{{ if (eq .Permalink $hereLink) }} selected{{ end }}' data-slug='{{ .Title}}' title="{{ .Title}}">{{ .Title}}</a>
+     {{ end }}
+  {{ end }}
+</nav>
diff --git a/layouts/partials/side_menu_list.html b/layouts/partials/side_menu_list.html
new file mode 100644
index 0000000000000000000000000000000000000000..9b877a844f6b7eb3823fc57364a6370e5cf1ea62
--- /dev/null
+++ b/layouts/partials/side_menu_list.html
@@ -0,0 +1,5 @@
+<div class='col-md-4 side-menu'>
+  {{ partial "categories_menu.html" . }}
+  <br>
+  {{ partial "microblog.html" . }}
+</div>
diff --git a/layouts/partials/side_menu_single.html b/layouts/partials/side_menu_single.html
new file mode 100644
index 0000000000000000000000000000000000000000..3f5dc2e2726c657b479868e0b51b72b4aa79c6a8
--- /dev/null
+++ b/layouts/partials/side_menu_single.html
@@ -0,0 +1,5 @@
+<div class='col-md-4 side-menu'>
+  {{ partial "recent_posts_menu.html" . }}
+  <br>
+  {{ partial "microblog.html" . }}
+</div>
diff --git a/layouts/partials/side_menu_taxonomy.html b/layouts/partials/side_menu_taxonomy.html
new file mode 100644
index 0000000000000000000000000000000000000000..eca6fb4ceeec5b43a1f5f9ea36e23c657e75a106
--- /dev/null
+++ b/layouts/partials/side_menu_taxonomy.html
@@ -0,0 +1,13 @@
+<div class='col-md-4 side-menu'>
+  <nav class='menu sub-nav'>
+    <span class="menu-heading">Categories</span>
+    {{ $hereLink := .Permalink }}
+    {{range $name, $taxonomy := .Site.Taxonomies.tags}} {{ $cnt := .Count }}
+     {{ with $.Site.GetPage (printf "/tags/%s" $name) }}
+       <a href="{{ .RelPermalink }}" class='menu-item tag{{ if (eq .Permalink $hereLink) }} selected{{ end }}' data-slug='{{$name}}' title="All pages with tag <i>{{$name}}</i>">{{$name}} ({{$cnt}})</a>
+     {{end}}
+   {{end}}
+  </nav>
+  <br>
+   {{ partial "microblog.html" . }}
+</div>
diff --git a/layouts/projects/list.html b/layouts/projects/list.html
index a078dfb8446bdea13a47d2d85003bb863c66f8f6..ea653cc680174fa0aec0d64044024e8c998ce742 100644
--- a/layouts/projects/list.html
+++ b/layouts/projects/list.html
@@ -58,34 +58,7 @@
 </div>
 
 </div>
-<div class='col-md-4'>
-  <nav class='menu tags'>
-    <span class="menu-heading">Project Categories</span>
-    <a class='menu-item selected' data-slug='all' href='/projects'>All posts</a>
-    {{ $hereSection := .Section }}
-    {{/* Get current taxonomy (example: tags, categories). */}}
-    <!-- {{ $taxonomy := .Data.Plural }} -->
-    {{ $taxonomy := "tags" }}
-    {{/* Get sections where one or more pages has one or more terms in the current taxonomy. */}}
-    {{ $sections := slice }}
-    {{ range $term, $weightedPages := index site.Taxonomies $taxonomy }}
-      {{ range $weightedPages }}
-        {{ $sections = $sections | append .CurrentSection | uniq | sort }}
-      {{ end }}
-    {{ end }}
-    {{/* List pages by term by section. */}}
-    {{ range $section := (where $sections ".Path" $hereSection) }}
-      {{ range $term, $weightedPages := index site.Taxonomies $taxonomy }}
-        {{ $termPage := site.GetPage path.Join $taxonomy $term }}
-        {{ with where $weightedPages "Section" $section.Path }}
-          <a href="{{ $termPage.RelPermalink }}" class='menu-item tag' data-slug='{{ $termPage.LinkTitle }}' title="All pages with tag <i>{{ $termPage.LinkTitle }}</i>">{{ $termPage.LinkTitle }}</a>
-        {{ end }}
-      {{ end }}
-    {{ end }}
-  </nav>
-  <br>
-  {{ partial "microblog.html" . }}
-</div>
+{{ partial "side_menu_list.html" . }}
 </div>
 
 {{ partial "bottom_list.html" . }}
diff --git a/layouts/projects/single.html b/layouts/projects/single.html
index fadf51b617506c66389d4fd6074365d637b92a1e..57bc84a0bbf33132ff0097913a3061ba1fb6d550 100644
--- a/layouts/projects/single.html
+++ b/layouts/projects/single.html
@@ -49,19 +49,6 @@
       </section>
     </article>
   </div>
-  <div class='col-md-4'>
-    <nav class='menu tags'>
-      <span class="menu-heading">Recent Project Posts</span>
-      <a class='menu-item' data-slug='all' href='/projects'>All posts</a>
-      {{ $hereLink := .Permalink }}
-      {{ range (where .Site.Pages "Section" "projects") }}
-         {{ range .Pages }}
-            <a href='{{ .RelPermalink }}' class='menu-item tag{{ if (eq .Permalink $hereLink) }} selected{{ end }}' data-slug='{{ .Title}}' title="{{ .Title}}">{{ .Title}}</a>
-         {{ end }}
-      {{ end }}
-    </nav>
-    <br>
-    {{ partial "microblog.html" . }}
-  </div>
+  {{ partial "side_menu_single.html" . }}
 </div>
 {{ partial "bottom_single.html" . }}
diff --git a/layouts/resource/list.html b/layouts/resource/list.html
index b64b5d1ad1daf81e6d463466abd6f4aff4e04143..c8abc90df7b758d848e9402ffdc83abd3ba37012 100644
--- a/layouts/resource/list.html
+++ b/layouts/resource/list.html
@@ -58,34 +58,7 @@
 </div>
 
 </div>
-<div class='col-md-4'>
-  <nav class='menu tags'>
-    <span class="menu-heading">Resource Categories</span>
-    <a class='menu-item selected' data-slug='all' href='/resource'>All posts</a>
-    {{ $hereSection := .Section }}
-    {{/* Get current taxonomy (example: tags, categories). */}}
-    <!-- {{ $taxonomy := .Data.Plural }} -->
-    {{ $taxonomy := "tags" }}
-    {{/* Get sections where one or more pages has one or more terms in the current taxonomy. */}}
-    {{ $sections := slice }}
-    {{ range $term, $weightedPages := index site.Taxonomies $taxonomy }}
-      {{ range $weightedPages }}
-        {{ $sections = $sections | append .CurrentSection | uniq | sort }}
-      {{ end }}
-    {{ end }}
-    {{/* List pages by term by section. */}}
-    {{ range $section := (where $sections ".Path" $hereSection) }}
-      {{ range $term, $weightedPages := index site.Taxonomies $taxonomy }}
-        {{ $termPage := site.GetPage path.Join $taxonomy $term }}
-        {{ with where $weightedPages "Section" $section.Path }}
-          <a href="{{ $termPage.RelPermalink }}" class='menu-item tag' data-slug='{{ $termPage.LinkTitle }}' title="All pages with tag <i>{{ $termPage.LinkTitle }}</i>">{{ $termPage.LinkTitle }}</a>
-        {{ end }}
-      {{ end }}
-    {{ end }}
-  </nav>
-  <br>
-  {{ partial "microblog.html" . }}
-</div>
+{{ partial "side_menu_list.html" . }}
 </div>
 
 {{ partial "bottom_list.html" . }}
diff --git a/layouts/resource/single.html b/layouts/resource/single.html
index 63ab81c4ffe7a93daf38c30ae1ffb37bc5fb7f9e..3d92db957dfbc23461aa29e729c18843ec508612 100644
--- a/layouts/resource/single.html
+++ b/layouts/resource/single.html
@@ -50,19 +50,6 @@
       </section>
     </article>
   </div>
-  <div class='col-md-4'>
-    <nav class='menu tags'>
-      <span class="menu-heading">Recent Resource Posts</span>
-      <a class='menu-item' data-slug='all' href='/resource'>All posts</a>
-      {{ $hereLink := .Permalink }}
-      {{ range (where .Site.Pages "Section" "resource") }}
-         {{ range .Pages }}
-            <a href='{{ .RelPermalink }}' class='menu-item tag{{ if (eq .Permalink $hereLink) }} selected{{ end }}' data-slug='{{ .Title}}' title="{{ .Title}}">{{ .Title}}</a>
-         {{ end }}
-      {{ end }}
-    </nav>
-    <br>
-    {{ partial "microblog.html" . }}
-  </div>
+  {{ partial "side_menu_single.html" . }}
 </div>
 {{ partial "bottom_single.html" . }}
diff --git a/layouts/taxonomy/list.html b/layouts/taxonomy/list.html
index e0388f308660aff7166cf5e299ddaa4f0d041213..2f808e5adc892e539de7a95e8f5ffb0f2c0f6a9b 100644
--- a/layouts/taxonomy/list.html
+++ b/layouts/taxonomy/list.html
@@ -32,18 +32,7 @@
  </div>
 
  </div>
- <div class='col-md-4'>
-   <nav class='menu tags'>
-     <span class="menu-heading">Categories</span>
-     {{range $name, $taxonomy := .Site.Taxonomies.tags}} {{ $cnt := .Count }}
-   	  {{ with $.Site.GetPage (printf "/tags/%s" $name) }}
-   		  <a href="{{ .RelPermalink }}" class='menu-item tag' data-slug='{{$name}}' title="All pages with tag <i>{{$name}}</i>">{{$name}} ({{$cnt}})</a>
-   	  {{end}}
-   	{{end}}
-   </nav>
-   <br>
-   {{ partial "microblog.html" . }}
- </div>
+ {{ partial "side_menu_taxonomy.html" . }}
  </div>
 
  {{ partial "bottom_list.html" . }}
diff --git a/layouts/taxonomy/tag.html b/layouts/taxonomy/tag.html
index d27a37322e91a81691c6237be671ffa57dcdbf29..1d1dc40ba8f82619015f05a18b8519efe5ea5550 100644
--- a/layouts/taxonomy/tag.html
+++ b/layouts/taxonomy/tag.html
@@ -58,19 +58,7 @@
  </div>
 
  </div>
- <div class='col-md-4 side-menu'>
-   <nav class='menu tags'>
-     <span class="menu-heading">Categories</span>
-     {{ $hereLink := .Permalink }}
-     {{range $name, $taxonomy := .Site.Taxonomies.tags}} {{ $cnt := .Count }}
-   	  {{ with $.Site.GetPage (printf "/tags/%s" $name) }}
-   		  <a href="{{ .RelPermalink }}" class='menu-item tag{{ if (eq .Permalink $hereLink) }} selected{{ end }}' data-slug='{{$name}}' title="All pages with tag <i>{{$name}}</i>">{{$name}} ({{$cnt}})</a>
-   	  {{end}}
-   	{{end}}
-   </nav>
-   <br>
-    {{ partial "microblog.html" . }}
- </div>
+ {{ partial "side_menu_taxonomy.html" . }}
  </div>
 
  {{ partial "bottom_list.html" . }}