diff --git a/docs/named_data_theme/static/named_data_style.css_t b/docs/named_data_theme/static/named_data_style.css_t
new file mode 100644
index 0000000..0d00020
--- /dev/null
+++ b/docs/named_data_theme/static/named_data_style.css_t
@@ -0,0 +1,805 @@
+@import url("base.css");
+
+@import url("foundation.css");
+
+table {
+      border: 0;
+}
+
+pre {
+    padding: 10px;
+    background-color: #fafafa;
+    color: #222;
+    line-height: 1.0em;
+    border: 2px solid #C6C9CB;
+    font-size: 0.9em;
+    /* margin: 1.5em 0 1.5em 0; */
+    margin: 0;
+    border-right-style: none;
+    border-left-style: none;
+}
+
+/* General */
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+a:link {
+    text-decoration: none;
+}
+a:visited {
+    text-decoration: none;
+}
+a:active,
+a:hover {
+    text-decoration: none;
+}
+
+h1,h2,h3,h4,h5,h6 {
+    color: #000;
+    margin-bottom: 18px;
+}
+
+h1 { font-weight: normal; font-size: 24px; }
+h2 { font-weight: normal; font-size: 18px; }
+h3 { font-weight: bold;   font-size: 18px; }
+h4 { font-weight: normal; font-size: 18px; }
+
+hr {
+    background-color: #c6c6c6;
+    border:0;
+    height: 1px;
+    margin-bottom: 18px;
+    clear:both;
+}
+
+div.hr {
+  height: 1px;
+  background: #c6c6c6;
+}
+
+div.hr2 {
+  height: 1px;
+  background: #c6c6c6;
+}
+
+div.hr hr, div.hr2 hr {
+  display: none;
+}
+
+p {
+    padding: 0 0 0.5em;
+    line-height:1.6em;
+}
+ul {
+    list-style: square;
+    margin: 0 0 18px 0;
+}
+ol {
+    list-style: decimal;
+    margin: 0 0 18px 1.5em;
+}
+ol ol {
+    list-style:upper-alpha;
+}
+ol ol ol {
+    list-style:lower-roman;
+}
+ol ol ol ol {
+    list-style:lower-alpha;
+}
+ul ul,
+ol ol,
+ul ol,
+ol ul {
+    margin-bottom:0;
+}
+dl {
+    margin:0 0 24px 0;
+}
+dt {
+    font-weight: bold;
+}
+dd {
+    margin-bottom: 18px;
+}
+strong {
+    font-weight: bold;
+    color: #000;
+}
+cite,
+em,
+i {
+    font-style: italic;
+    border: none;
+}
+big {
+    font-size: 131.25%;
+}
+ins {
+    background: #FFFFCC;
+    border: none;
+    color: #333;
+}
+del {
+    text-decoration: line-through;
+    color: #555;
+}
+blockquote {
+    font-style: italic;
+    padding: 0 3em;
+}
+blockquote cite,
+blockquote em,
+blockquote i {
+    font-style: normal;
+}
+pre {
+    background: #f7f7f7;
+    color: #222;
+    padding: 1.5em;
+}
+abbr,
+acronym {
+    border-bottom: 1px solid #666;
+    cursor: help;
+}
+ins {
+    text-decoration: none;
+}
+sup,
+sub {
+    height: 0;
+    line-height: 1;
+    vertical-align: baseline;
+    position: relative;
+    font-size: 10px;
+}
+sup {
+    bottom: 1ex;
+}
+sub {
+    top: .5ex;
+}
+
+p,
+ul,
+ol,
+dd,
+hr {
+    margin-bottom:10px;
+}
+ul ul,
+ol ol,
+ul ol,
+ol ul {
+    margin-bottom:0;
+}
+pre,
+kbd,
+tt,
+var {
+}
+code {
+    font-size: 13px;
+}
+strong,
+b,
+dt,
+th {
+    color: #000;
+}
+
+
+/* main_container */
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+#wrapper {
+    padding: 0px 0px;
+    margin-top: 20px;
+}
+
+/* header*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+#search-header{
+    margin-top:15px;
+    padding-bottom:13px;
+}
+
+#search-header #search{
+    background: #222;
+
+}
+
+#search-header #search #s{
+    background: #222;
+    font-size:12px;
+    color: #aaa;
+}
+
+#header_container{
+    padding-bottom: 25px;
+    padding-top: 0px;
+    background: #fff;
+}
+
+#header {
+
+}
+
+#header2 {
+
+}
+
+#content_container{
+    padding-top: 15px;
+}
+
+#left-col {
+    padding: 10px 20px;
+    padding-left: 0px;
+    background: #fff;
+
+}
+
+
+/*footer*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+
+#footer {
+    padding: 5px 20px;
+    background: #ddd;
+}
+
+#footer-container{
+    padding: 5px 20px;
+    background: #303030;
+    border-top: 8px solid #000;
+    font-size:11px;
+}
+
+#footer-info {
+    color:#ccc;
+    text-align:left;
+    background: #1b1b1b;
+    padding: 20px 0;
+}
+
+
+#footer-info a{
+    text-decoration:none;
+    color: #fff;
+}
+
+#footer-info a:hover{
+    color: #ebebeb;
+}
+
+#copyright{float: left;}
+
+.scroll-top {
+    text-align:right;
+}
+
+#footer-widget{
+    padding: 8px 0px 8px 0px;
+    color:#6f6f6f;
+}
+
+#footer-widget #search {
+    width:120px;
+    height:28px;
+    background: #222;
+    margin-left: 0px;
+    position: relative;
+    border: 1px solid #666;
+}
+
+#footer-widget #search #s {
+    width:110px;
+    height:23px;
+    border:0px;
+    margin-left:7px;
+    margin-right:10px;
+    margin-top:3px;
+    color:#fff;
+    display: inline;
+    background: #222;
+    float: left;
+}
+
+#footer-widget #calendar_wrap {
+    padding: 8px 0px;
+}
+
+#footer-widget #wp-calendar td{
+    padding:2px;
+}
+
+
+#footer-widget .textwidget {
+    padding: 5px 0px;
+    line-height: 23px;
+}
+
+
+#footer-widget .widget_tag_cloud a{
+    text-decoration: none;
+    margin: 5px;
+    line-height: 24px;
+    margin-left: 0px;
+    color: #6f6f6f;
+}
+
+#footer-widget .widget_tag_cloud a:hover{
+    color: #fff;
+}
+
+#footer-widget .widget-container ul li a    {
+    color:#fd7800;
+}
+
+#footer-widget .widget-container ul li a:hover    {
+    color: #ccc;
+}
+
+#footer-widget .widget-container h3 {
+    color: #a5a5a5;
+    text-transform: uppercase;
+    margin-bottom: 0px;
+    padding-top: 10px;
+    padding-left: 0px;
+    font-size: 25px;
+    padding-bottom: 8px;
+    font-weight: bold;
+}
+
+#footer-widget .widget-container ul li {
+    padding: 5px 0px;
+    background: none;
+    }
+
+#footer-widget ul {
+    margin-left: 0px;
+    }
+
+#footer-bar1 {
+    padding-right: 40px;
+}
+#footer-bar2 {
+    padding-right: 40px;
+}
+#footer-bar3 {
+}
+#footer-bar4 {
+}
+
+span#follow-box{
+    position: absolute;
+    right: 100px;
+}
+
+span#follow-box img{
+    margin: 0 2px;
+}
+
+/*logo*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+#logo {
+    margin: 0px 0px 0px 0px;
+}
+
+#logo2 {
+    margin: 0px 0px 0px 0px;
+}
+
+#logo img{
+    border: none;
+}
+
+#logo2{
+    text-decoration: none;
+    font-size: 42px;
+    letter-spacing: -1pt;
+    font-weight: bold;
+    font-family:arial, "Times New Roman", Times, serif;
+    text-align: left;
+    line-height: 57px;
+    padding-left: 0px;
+}
+
+#logo2 a, #slogan{
+    color: #fd7800;
+}
+
+#slogan{
+    text-align: left;
+    padding-left: 0px;
+}
+
+/*search*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+#search {
+    width:180px;
+    height:28px;
+    border: 1px solid #ccc;
+    margin-left: 10px;
+    position: relative;
+}
+
+#sidebar #search {
+    margin-top: 20px;
+}
+
+#search #searchsubmit {
+    background:url(images/go-btn.png) no-repeat top right;
+    width:28px;
+    height:28px;
+    border:0px;
+    position:absolute;
+    right: -35px;
+}
+
+#search #s {
+    width:170px;
+    height:23px;
+    border:0px;
+    margin-left:7px;
+    margin-right:10px;
+    margin-top:3px;
+    color:#000;
+    display: inline;
+    float: left;
+}
+
+/*menu bar*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+#menu_container{
+    padding-top: 0px;
+}
+
+
+/*responsive menu*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+/* default style */
+.selectnav { display: none; }
+
+/* small screen */
+@media screen and (max-width: 600px) {
+  .js #nav { display: none; }
+   .js #nav2 { display: none; }
+  .js .selectnav { display: block; }
+}
+
+
+/*welcome*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+#welcome_container h1{
+    margin-top: 0px;
+}
+
+/*homepage boxes*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+#box_container{
+    padding-top: 35px;
+    padding-bottom: 15px;
+}
+
+.box-head {
+    float: left;
+    padding-bottom: 20px;
+}
+
+.box-head img{
+
+}
+
+.title-head{
+    padding-top:2px;
+}
+
+.title-box{
+    color: #333;
+    line-height: 15px;
+    text-transform: uppercase;
+}
+
+.title-box h1 {
+    font-size: 18px;
+    margin-bottom: 3px;
+}
+
+.box-content {
+    float: left;
+    padding-top: 10px;
+    line-height: 20px;
+}
+
+
+/* POST */
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+
+.post {
+    overflow: hidden;
+
+}
+
+.post-shadow{
+    background: url("images/post_shadow.png") no-repeat bottom;
+    height: 9px;
+    margin-bottom: 25px;
+}
+
+.post ol{
+    margin-left: 20px;
+}
+
+.post ul {
+    margin-left: 15px;
+}
+.post-entry ul { margin: 0 0 10px 10px; }
+.post-entry ul li {
+    display: block;
+    margin: 5px 0;
+    padding: 0 0 0 20px;
+    /*background: url(images/bullet.png) no-repeat 0 7px;*/
+}
+
+.post-entry ol {
+    list-style: decimal;
+    margin: 0 0 18px 1.6em;
+}
+.post-entry ol li {
+    list-style: decimal;
+ }
+
+.post-entry {
+    padding-bottom: 10px;
+    padding-top: 10px;
+    overflow: hidden;
+
+}
+
+.post-head {
+    margin-bottom: 5px;
+    padding-top: 15px;
+}
+
+.post-head h1 a, .post-head h1 {
+    text-decoration:none;
+    color:#000;
+    margin: 0px;
+    font-size: 27px;
+}
+
+.post-head h1 a:hover {
+    color:#777;
+}
+
+
+.post-head-notfound h1, .post-head-404 h1, .post-head-archive h1, .post-head-search h1 {
+    margin-bottom: 10px;
+    font-weight:normal;
+    text-decoration:none;
+    color:#000;
+    font-size: 27px;
+}
+
+.post-thumb img {
+    border: 0px solid #ebebeb;
+}
+
+.post-entry img{
+    margin-bottom: 10px;
+    height:auto;
+      max-width:100% !important;
+}
+
+.meta-data{
+    line-height: 16px;
+    padding: 6px 3px;
+    margin-bottom: 3px;
+    font-size: 11px;
+    border-bottom: 1px solid #e9e9e9;
+}
+
+.meta-data a{
+    color: #fd7800;
+}
+
+.meta-data a:hover{
+    color: #777;
+}
+
+.read-more {
+color: #000;
+    background: #fff;
+      padding: 4px 8px;
+      border-radius: 3px;
+      display: inline-block;
+      font-size: 11px;
+      font-weight: bold;
+      text-decoration: none;
+      text-transform: capitalize;
+      cursor: pointer;
+      margin-top: 20px;
+}
+
+.read-more:hover{
+    background: #fff;
+    color: #666;
+}
+
+.clear {
+    clear:both;
+}
+
+.sticky {
+
+}
+
+/* content */
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+#content_container table {
+    border: 1px solid #e7e7e7;
+    margin: 0 -1px 24px 0;
+    text-align: left;
+    width: 100%;
+
+}
+#content_container tr th,
+#content_container thead th {
+    color: #888;
+    font-size: 12px;
+    font-weight: bold;
+    line-height: 18px;
+    padding: 9px 10px;
+}
+#content_container tr td {
+
+    padding: 6px 10px;
+}
+#content_container tr.odd td {
+    background: #f2f7fc;
+}
+
+/* sidebar*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+#sidebar {
+    padding:0px 20px 20px 0px;
+}
+
+#sidebar ul  {
+    list-style: none;
+}
+
+#sidebar { word-wrap: break-word;}
+
+
+/*--navigation--*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+.navigation {
+    float: left;
+    width: 100%;
+    margin: 20px 0;
+}
+
+
+.navigation .alignleft a {
+    float: left;
+}
+
+.navigation .alignright a {
+    float: right;
+}
+
+#nav-single {
+    overflow:hidden;
+    margin-top:20px;
+    margin-bottom:10px;
+}
+.nav-previous {
+    float: left;
+    width: 50%;
+}
+.nav-next {
+    float: right;
+    text-align: right;
+    width: 50%;
+}
+
+/*--slider--*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+#slider_container {
+    background: #fff;
+}
+
+.flex-caption{
+background: #232323;
+color: #fff;
+padding: 7px;
+}
+
+.flexslider p{
+    margin: 0px;
+}
+
+/*--sub head and breadcrumbs--*/
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+#subhead_container{
+    padding: 7px 0px;
+}
+
+#subhead h1{
+    color: #000;
+    padding-top: 10px;
+    padding-left: 0px;
+    font-size: 30px;
+}
+
+#breadcrumbs {
+    padding-left: 25px;
+    margin-bottom: 15px;
+    color: #9e9e9e;
+    margin:0 auto;
+    width: 964px;
+    font-size: 10px;
+}
+
+#breadcrumbs a{
+    text-decoration: none;
+    color: #9e9e9e;
+}
+
+/*Alignments */
+/*////////////////////////////////////////////////////////////////////////////////////////////*/
+
+.alignleft,
+img.alignleft {
+    display: inline;
+    float: left;
+    margin-right: 22px;
+    margin-top: 9px;
+}
+
+.alignright,
+img.alignright {
+    display: inline;
+    float: right;
+    margin-left: 22px;
+    margin-top: 8px;
+}
+.aligncenter,
+img.aligncenter {
+    clear: both;
+    display: block;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+.alignleft,
+.alignright,
+.aligncenter,
+img.alignleft,
+img.alignright,
+img.aligncenter
+{
+    margin-bottom: 10px;
+}
+
+
+a img.aligncenter {
+    display:block;
+    margin-left:auto;
+    margin-right:auto;
+}
