diff --git a/themes/bootstrap-blog/layout/_partial/archive-post.ejs b/themes/bootstrap-blog/layout/_partial/archive-post.ejs
new file mode 100644
index 0000000..e74aed2
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/archive-post.ejs
@@ -0,0 +1,6 @@
+<article class="archive-article archive-type-<%= post.layout %>">
+  <header class="archive-article-header">
+    <%- partial('post/title', {class_name: 'archive-article-title'}) %>
+    <%- partial('post/date', {class_name: 'archive-article-date', date_format: 'MMMM Do'}) %>
+  </header>
+</article>
diff --git a/themes/bootstrap-blog/layout/_partial/archive.ejs b/themes/bootstrap-blog/layout/_partial/archive.ejs
new file mode 100644
index 0000000..cdda897
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/archive.ejs
@@ -0,0 +1,33 @@
+<% if (pagination == 2){ %>
+  <% page.posts.each(function(post){ %>
+    <%- partial('article', {post: post, index: true}) %>
+  <% }) %>
+<% } else { %>
+  <% var last; %>
+  <% page.posts.each(function(post, i){ %>
+    <% var year = post.date.year(); %>
+    <% if (last != year){ %>
+      <% if (last != null){ %>
+        </div></section>
+      <% } %>
+      <% last = year; %>
+      <section class="archives-wrap">
+        <div class="archive-year-wrap">
+          <a href="<%- url_for(config.archive_dir + '/' + year) %>" class="archive-year"><%= year %></a>
+        </div>
+        <div class="archives">
+    <% } %>
+    <%- partial('archive-post', {post: post, even: i % 2 == 0}) %>
+  <% }) %>
+  <% if (page.posts.length){ %>
+    </div></section>
+  <% } %>
+<% } %>
+<% if (page.total > 1){ %>
+  <div id="page-nav">
+    <%- bs_paginator({
+      prev_text: '<i class="fa fa-chevron-left"></i> Prev',
+      next_text: 'Next <i class="fa fa-chevron-right"></i>'
+    }) %>
+  </div>
+<% } %>
diff --git a/themes/bootstrap-blog/layout/_partial/article.ejs b/themes/bootstrap-blog/layout/_partial/article.ejs
new file mode 100644
index 0000000..ccc57d7
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/article.ejs
@@ -0,0 +1,54 @@
+<article id="<%= post.layout %>-<%= post.slug %>" class="article article-type-<%= post.layout %>" itemscope itemprop="blogPost">
+
+  <header class="article-header">
+    <%- partial('post/title', {class_name: 'article-title'}) %>
+  </header>
+
+  <div class="article-meta">
+    <%- partial('post/date', {class_name: 'article-date', date_format: null}) %>
+    <% if (post.author){ %><div class="article-author"><%= post.author %></div><% } %>
+    <%- partial('post/category') %>
+  </div>
+  <div class="article-inner">
+
+    <div class="article-entry" itemprop="articleBody">
+      <% if (post.excerpt && index){ %>
+        <%- post.excerpt %>
+        <% if (theme.excerpt_link){ %>
+          <p class="article-more-link">
+            <a class="btn btn-primary" href="<%- url_for(post.path) %>#more"><%= theme.excerpt_link %></a>
+          </p>
+        <% } %>
+      <% } else { %>
+        <%- post.content %>
+      <% } %>
+    </div>
+
+    <% if (!(post.excerpt && index)){ %>
+      <%- partial('post/gallery') %>
+    <% } %>
+
+    <footer class="article-footer">
+      <a data-url="<%- post.permalink %>" data-id="<%= post._id %>" class="article-share-link">
+        <i class="fa fa-share"></i> Share
+      </a>
+      <% if (post.comments && config.disqus_shortname){ %>
+        <a href="<%- post.permalink %>#disqus_thread" class="article-comment-link">
+          <i class="fa fa-comment"></i> Comments
+        </a>
+      <% } %>
+      <%- partial('post/tag') %>
+    </footer>
+  </div>
+  <% if (!index){ %>
+    <%- partial('post/nav') %>
+  <% } %>
+</article>
+
+<% if (!index && post.comments && config.disqus_shortname){ %>
+<section id="comments">
+  <div id="disqus_thread">
+    <noscript>Please enable JavaScript to view the <a href="//disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+  </div>
+</section>
+<% } %>
diff --git a/themes/bootstrap-blog/layout/_partial/footer.ejs b/themes/bootstrap-blog/layout/_partial/footer.ejs
new file mode 100644
index 0000000..05a90df
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/footer.ejs
@@ -0,0 +1,8 @@
+<footer class="blog-footer">
+  <div class="container">
+    <div id="footer-info" class="inner">
+      &copy; <%= date(new Date(), 'YYYY') %> <%= config.author || config.title %><br>
+      Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
+    </div>
+  </div>
+</footer>
diff --git a/themes/bootstrap-blog/layout/_partial/google-analytics.ejs b/themes/bootstrap-blog/layout/_partial/google-analytics.ejs
new file mode 100644
index 0000000..84e75f0
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/google-analytics.ejs
@@ -0,0 +1,14 @@
+<% if (theme.google_analytics){ %>
+<!-- Google Analytics -->
+<script type="text/javascript">
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ga('create', '<%= theme.google_analytics %>', 'auto');
+ga('send', 'pageview');
+
+</script>
+<!-- End Google Analytics -->
+<% } %>
diff --git a/themes/bootstrap-blog/layout/_partial/head.ejs b/themes/bootstrap-blog/layout/_partial/head.ejs
new file mode 100644
index 0000000..45c6d8c
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/head.ejs
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <%
+  var title = page.title;
+
+  if (is_archive()){
+    title = 'Archives';
+
+    if (is_month()){
+      title += ': ' + page.year + '/' + page.month;
+    } else if (is_year()){
+      title += ': ' + page.year;
+    }
+  } else if (is_category()){
+    title = 'Category: ' + page.category;
+  } else if (is_tag()){
+    title = 'Tag: ' + page.tag;
+  }
+  %>
+  <title><% if (title){ %><%= title %> | <% } %><%= config.title %></title>
+  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+  <%- open_graph({twitter_id: theme.twitter_id, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %>
+  <% if (theme.rss){ %>
+    <link rel="alternate" href="<%- theme.rss %>" title="<%= config.title %>" type="application/atom+xml">
+  <% } %>
+  <% if (theme.favicon){ %>
+    <link rel="icon" href="<%- theme.favicon %>">
+  <% } %>
+  <% if (config.highlight.enable){ %>
+    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
+  <% } %>
+
+  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
+
+  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" integrity="sha384-XdYbMnZ/QjLh6iI4ogqCTaIjrFk87ip+ekIjefZch0Y+PvJ8CDYtEs1ipDmPorQ+" crossorigin="anonymous">
+
+  <%- css('css/styles') %>
+  <%- partial('google-analytics') %>
+</head>
diff --git a/themes/bootstrap-blog/layout/_partial/header.ejs b/themes/bootstrap-blog/layout/_partial/header.ejs
new file mode 100644
index 0000000..7d44c5b
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/header.ejs
@@ -0,0 +1,6 @@
+<div class="blog-header">
+  <h1 class="blog-title"><%= config.title %></h1>
+  <% if (theme.subtitle){ %>
+    <p class="lead blog-description"><%= theme.subtitle %></p>
+  <% } %>
+</div>
diff --git a/themes/bootstrap-blog/layout/_partial/inline-scripts.ejs b/themes/bootstrap-blog/layout/_partial/inline-scripts.ejs
new file mode 100644
index 0000000..0465772
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/inline-scripts.ejs
@@ -0,0 +1,26 @@
+<% if (config.disqus_shortname){ %>
+<script>
+  var disqus_shortname = '<%= config.disqus_shortname %>';
+  <% if (page.permalink){ %>
+  var disqus_url = '<%= page.permalink %>';
+  <% } %>
+  (function(){
+    var dsq = document.createElement('script');
+    dsq.type = 'text/javascript';
+    dsq.async = true;
+    dsq.src = '//' + disqus_shortname + '.disqus.com/<% if (page.comments) { %>embed.js<% } else { %>count.js<% } %>';
+    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+  })();
+</script>
+<% } %>
+
+<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" integrity="sha384-8gBf6Y4YYq7Jx97PIqmTwLPin4hxIzQw5aDmUg/DDhul9fFpbbLcLh3nTIIDJKhx" crossorigin="anonymous"></script>
+
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
+
+<% if (theme.fancybox){ %>
+  <%- css('fancybox/jquery.fancybox') %>
+  <%- js('fancybox/jquery.fancybox.pack') %>
+<% } %>
+
+<%- js('js/script') %>
diff --git a/themes/bootstrap-blog/layout/_partial/masthead.ejs b/themes/bootstrap-blog/layout/_partial/masthead.ejs
new file mode 100644
index 0000000..fb0f73c
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/masthead.ejs
@@ -0,0 +1,34 @@
+<nav class="navbar navbar-inverse">
+  <div class="container">
+    <!-- Brand and toggle get grouped for better mobile display -->
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#main-menu-navbar" aria-expanded="false">
+        <span class="sr-only">Toggle navigation</span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+      <% if (theme.navbar_brand){ %>
+        <a class="navbar-brand" href="<%- config.root %>"><%- theme.navbar_brand %></a>
+      <% } %>
+    </div>
+
+    <!-- Collect the nav links, forms, and other content for toggling -->
+    <div class="collapse navbar-collapse" id="main-menu-navbar">
+      <ul class="nav navbar-nav">
+        <% for (var i in theme.menu){ %>
+          <li><a class="<%= is_current(theme.menu[i]) ? 'active' : '' %>"
+                 href="<%- url_for(theme.menu[i]) %>"><%= i %></a></li>
+        <% } %>
+      </ul>
+
+      <!--
+      <ul class="nav navbar-nav navbar-right">
+        <% if (theme.rss){ %>
+          <li><a href="<%- theme.rss %>" title="RSS Feed"><i class="fa fa-rss"></i></a></li>
+        <% } %>
+      </ul>
+      -->
+    </div><!-- /.navbar-collapse -->
+  </div><!-- /.container-fluid -->
+</nav>
diff --git a/themes/bootstrap-blog/layout/_partial/post/category.ejs b/themes/bootstrap-blog/layout/_partial/post/category.ejs
new file mode 100644
index 0000000..be3fba3
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/post/category.ejs
@@ -0,0 +1,10 @@
+<% if (post.categories && post.categories.length){ %>
+  <div class="article-category">
+    <%- list_categories(post.categories, {
+      show_count: false,
+      class: 'article-category',
+      style: 'none',
+      separator: ' / '
+    }) %>
+  </div>
+<% } %>
diff --git a/themes/bootstrap-blog/layout/_partial/post/date.ejs b/themes/bootstrap-blog/layout/_partial/post/date.ejs
new file mode 100644
index 0000000..0751a1e
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/post/date.ejs
@@ -0,0 +1,3 @@
+<div class="article-datetime">
+  <a href="<%- url_for(post.path) %>" class="<%= class_name %>"><time datetime="<%= date_xml(post.date) %>" itemprop="datePublished"><%= date(post.date, date_format) %></time></a>
+</div>
diff --git a/themes/bootstrap-blog/layout/_partial/post/gallery.ejs b/themes/bootstrap-blog/layout/_partial/post/gallery.ejs
new file mode 100644
index 0000000..fa6e150
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/post/gallery.ejs
@@ -0,0 +1,11 @@
+<% if (post.photos && post.photos.length){ %>
+<div class="row article-gallery">
+  <% post.photos.forEach(function(photo, i){ %>
+    <div class="col-xs-6 col-md-4">
+      <a class="thumbnail image-link" href="<%- url_for(photo) %>" rel="gallery_<%= post._id %>">
+        <img src="<%- url_for(photo) %>" itemprop="image">
+      </a>
+    </div>
+  <% }) %>
+</div>
+<% } %>
diff --git a/themes/bootstrap-blog/layout/_partial/post/nav.ejs b/themes/bootstrap-blog/layout/_partial/post/nav.ejs
new file mode 100644
index 0000000..27c6aa0
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/post/nav.ejs
@@ -0,0 +1,20 @@
+<% if (post.prev || post.next){ %>
+<ul id="article-nav" class="nav nav-pills nav-justified">
+  <% if (post.next){ %>
+  <li role="presentation">
+    <a href="<%- url_for(post.next.path) %>" id="article-nav-older" class="article-nav-link-wrap">
+      <i class="fa fa-chevron-left pull-left"></i>
+      <span class="article-nav-link-title"><%= post.next.title || '(no title)' %></span>
+    </a>
+  </li>
+  <% } %>
+  <% if (post.prev){ %>
+  <li role="presentation">
+    <a href="<%- url_for(post.prev.path) %>" id="article-nav-newer" class="article-nav-link-wrap">
+      <span class="article-nav-link-title"><%= post.prev.title || '(no title)' %></span>
+      <i class="fa fa-chevron-right pull-right"></i>
+    </a>
+  </li>
+  <% } %>
+</ul>
+<% } %>
diff --git a/themes/bootstrap-blog/layout/_partial/post/tag.ejs b/themes/bootstrap-blog/layout/_partial/post/tag.ejs
new file mode 100644
index 0000000..35ded20
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/post/tag.ejs
@@ -0,0 +1,6 @@
+<% if (post.tags && post.tags.length){ %>
+  <%- list_tags(post.tags, {
+    show_count: false,
+    class: 'article-tag'
+  }) %>
+<% } %>
diff --git a/themes/bootstrap-blog/layout/_partial/post/title.ejs b/themes/bootstrap-blog/layout/_partial/post/title.ejs
new file mode 100644
index 0000000..f5ea7e9
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/post/title.ejs
@@ -0,0 +1,16 @@
+<% if (post.link){ %>
+  <h1 itemprop="name">
+    <a class="<%= class_name %>" href="<%- url_for(post.link) %>"
+       target="_blank" itemprop="url"><%= post.title || '(no title)' %></a>
+  </h1>
+<% } else { %>
+  <% if (index){ %>
+    <h1 itemprop="name">
+      <a class="<%= class_name %>" href="<%- url_for(post.path) %>"><%= post.title || '(no title)' %></a>
+    </h1>
+  <% } else { %>
+    <h1 class="<%= class_name %>" itemprop="name">
+      <%= post.title || '(no title)' %>
+    </h1>
+  <% } %>
+<% } %>
diff --git a/themes/bootstrap-blog/layout/_partial/sidebar.ejs b/themes/bootstrap-blog/layout/_partial/sidebar.ejs
new file mode 100644
index 0000000..2ad43f4
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_partial/sidebar.ejs
@@ -0,0 +1,3 @@
+<% theme.widgets.forEach(function(widget){ %>
+  <%- partial('_widget/' + widget) %>
+<% }) %>
diff --git a/themes/bootstrap-blog/layout/_widget/about.ejs b/themes/bootstrap-blog/layout/_widget/about.ejs
new file mode 100644
index 0000000..161e640
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_widget/about.ejs
@@ -0,0 +1,4 @@
+<div class="sidebar-module sidebar-module-inset">
+  <h4>About</h4>
+  <%- theme.about_widget_content %>
+</div>
diff --git a/themes/bootstrap-blog/layout/_widget/archive.ejs b/themes/bootstrap-blog/layout/_widget/archive.ejs
new file mode 100644
index 0000000..e7158da
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_widget/archive.ejs
@@ -0,0 +1,6 @@
+<% if (site.posts.length){ %>
+  <div class="sidebar-module">
+    <h4>Archives</h4>
+    <%- list_archives({show_count: theme.show_count, type: theme.archive_type, class: 'sidebar-module'}) %>
+  </div>
+<% } %>
diff --git a/themes/bootstrap-blog/layout/_widget/category.ejs b/themes/bootstrap-blog/layout/_widget/category.ejs
new file mode 100644
index 0000000..77f76cd
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_widget/category.ejs
@@ -0,0 +1,6 @@
+<% if (site.categories.length){ %>
+  <div class="sidebar-module">
+    <h4>Categories</h4>
+    <%- list_categories({show_count: theme.show_count, class: 'sidebar-module'}) %>
+  </div>
+<% } %>
diff --git a/themes/bootstrap-blog/layout/_widget/recent_posts.ejs b/themes/bootstrap-blog/layout/_widget/recent_posts.ejs
new file mode 100644
index 0000000..c86e098
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_widget/recent_posts.ejs
@@ -0,0 +1,12 @@
+<% if (site.posts.length){ %>
+  <div class="sidebar-module">
+    <h4>Recents</h4>
+    <ul class="sidebar-module-list">
+      <% site.posts.sort('date', -1).limit(5).each(function(post){ %>
+        <li>
+          <a href="<%- url_for(post.path) %>"><%= post.title || '(no title)' %></a>
+        </li>
+      <% }) %>
+    </ul>
+  </div>
+<% } %>
\ No newline at end of file
diff --git a/themes/bootstrap-blog/layout/_widget/tag.ejs b/themes/bootstrap-blog/layout/_widget/tag.ejs
new file mode 100644
index 0000000..22b9e61
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_widget/tag.ejs
@@ -0,0 +1,6 @@
+<% if (site.tags.length){ %>
+  <div class="sidebar-module">
+    <h4>Tags</h4>
+    <%- list_tags({show_count: theme.show_count, class: 'sidebar-module'}) %>
+  </div>
+<% } %>
diff --git a/themes/bootstrap-blog/layout/_widget/tagcloud.ejs b/themes/bootstrap-blog/layout/_widget/tagcloud.ejs
new file mode 100644
index 0000000..15e07ec
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_widget/tagcloud.ejs
@@ -0,0 +1,8 @@
+<% if (site.tags.length){ %>
+  <div class="sidebar-module">
+    <h4>Tag Cloud</h4>
+    <p class="tagcloud">
+      <%- tagcloud() %>
+    </p>
+  </div>
+<% } %>
\ No newline at end of file
diff --git a/themes/bootstrap-blog/layout/_widget/toc.ejs b/themes/bootstrap-blog/layout/_widget/toc.ejs
new file mode 100644
index 0000000..d1d8a61
--- /dev/null
+++ b/themes/bootstrap-blog/layout/_widget/toc.ejs
@@ -0,0 +1,5 @@
+<%if (is_post()) { %>
+<div>
+<%- toc(page.content) %>
+</div>
+<% } %>
diff --git a/themes/bootstrap-blog/layout/archive.ejs b/themes/bootstrap-blog/layout/archive.ejs
new file mode 100644
index 0000000..dff5934
--- /dev/null
+++ b/themes/bootstrap-blog/layout/archive.ejs
@@ -0,0 +1 @@
+<%- partial('_partial/archive', {pagination: config.archive, index: true}) %>
diff --git a/themes/bootstrap-blog/layout/category.ejs b/themes/bootstrap-blog/layout/category.ejs
new file mode 100644
index 0000000..c5552ff
--- /dev/null
+++ b/themes/bootstrap-blog/layout/category.ejs
@@ -0,0 +1 @@
+<%- partial('_partial/archive', {pagination: config.category, index: true}) %>
diff --git a/themes/bootstrap-blog/layout/index.ejs b/themes/bootstrap-blog/layout/index.ejs
new file mode 100644
index 0000000..18d3216
--- /dev/null
+++ b/themes/bootstrap-blog/layout/index.ejs
@@ -0,0 +1 @@
+<%- partial('_partial/archive', {pagination: 2, index: true}) %>
diff --git a/themes/bootstrap-blog/layout/layout.ejs b/themes/bootstrap-blog/layout/layout.ejs
new file mode 100644
index 0000000..d8ef954
--- /dev/null
+++ b/themes/bootstrap-blog/layout/layout.ejs
@@ -0,0 +1,18 @@
+<%- partial('_partial/head') %>
+<body>
+  <%- partial('_partial/masthead') %>
+  <div class="container">
+    <%- partial('_partial/header', null, {cache: !config.relative_link}) %>
+    <div class="row">
+        <div class="col-sm-8 blog-main">
+          <%- body %>
+        </div>
+        <div class="col-sm-3 col-sm-offset-1 blog-sidebar">
+          <%- partial('_partial/sidebar', null, {cache: !config.relative_link}) %>
+        </div>
+    </div>
+  </div>
+  <%- partial('_partial/footer', null, {cache: !config.relative_link}) %>
+  <%- partial('_partial/inline-scripts') %>
+</body>
+</html>
diff --git a/themes/bootstrap-blog/layout/page.ejs b/themes/bootstrap-blog/layout/page.ejs
new file mode 100644
index 0000000..3020e1c
--- /dev/null
+++ b/themes/bootstrap-blog/layout/page.ejs
@@ -0,0 +1 @@
+<%- partial('_partial/article', {post: page, index: false}) %>
diff --git a/themes/bootstrap-blog/layout/post.ejs b/themes/bootstrap-blog/layout/post.ejs
new file mode 100644
index 0000000..3020e1c
--- /dev/null
+++ b/themes/bootstrap-blog/layout/post.ejs
@@ -0,0 +1 @@
+<%- partial('_partial/article', {post: page, index: false}) %>
diff --git a/themes/bootstrap-blog/layout/tag.ejs b/themes/bootstrap-blog/layout/tag.ejs
new file mode 100644
index 0000000..cc45ab8
--- /dev/null
+++ b/themes/bootstrap-blog/layout/tag.ejs
@@ -0,0 +1 @@
+<%- partial('_partial/archive', {pagination: config.tag, index: true}) %>
