Repos / hi.imnhan.com / a1c3978192
commit a1c3978192189829921f1e3547b0f0be96a7bb02
Author: Bùi Thành Nhân <hi@imnhan.com>
Date:   Thu Aug 27 19:30:45 2020 +0700

    move theme from submodule into the same repo

diff --git a/content/extra/google3f40dbd543a603fa.html b/content/extra/google3f40dbd543a603fa.html
deleted file mode 100644
index e94bd72..0000000
--- a/content/extra/google3f40dbd543a603fa.html
+++ /dev/null
@@ -1 +0,0 @@
-google-site-verification: google3f40dbd543a603fa.html
\ No newline at end of file
diff --git a/motherfucking-pelican-theme b/motherfucking-pelican-theme
deleted file mode 160000
index 587cef4..0000000
--- a/motherfucking-pelican-theme
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 587cef4348e2839ed2e6729f6747edf1a9716a30
diff --git a/nhanb-theme/CREDITS.mkd b/nhanb-theme/CREDITS.mkd
new file mode 100644
index 0000000..a04cd87
--- /dev/null
+++ b/nhanb-theme/CREDITS.mkd
@@ -0,0 +1,197 @@
+This theme uses code / assets from the following projects:
+
+# Zenburn Pygments theme
+
+https://github.com/richleland/pygments-css (public domain)
+
+```
+This is free and unencumbered software released into the public domain.
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+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 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.
+For more information, please refer to <http://unlicense.org>
+```
+
+# Source Serif Pro font family
+
+https://adobe-fonts.github.io/source-serif-pro
+
+```
+Copyright 2014 - 2017 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+```
+
+# Heuristica font family
+
+https://www.fontsquirrel.com/fonts/heuristica
+
+```
+SIL Open Font License v1.10
+
+This license can also be found at this permalink: https://www.fontsquirrel.com/license/heuristica
+
+Copyright 1989, 1991 Adobe Systems Incorporated. All rights reserved.
+Utopia is either a registered trademark or trademark of Adobe Systems
+Incorporated in the United States and/or other countries. Used under
+license.
+
+Copyright 2006 Han The Thanh, Vntopia font family, http://vntex.sf.net
+
+Copyright (c) 2008-2012, Andrey V. Panov (panov@canopus.iacp.dvo.ru),
+with Reserved Font Name Heuristica.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+—————————————————————————————-
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+—————————————————————————————-
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+“Font Software” refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
+
+“Reserved Font Name” refers to any names specified as such after the copyright statement(s).
+
+“Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).
+
+“Modified Version” refers to any derivative made by adding to, deleting, or substituting—in part or in whole—any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
+
+“Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
+Notes from Fontsquirrel about the heritage of this font:
+
+http://www.ctan.org/tex-archive/fonts/heuristica/
+```
diff --git a/nhanb-theme/README.mkd b/nhanb-theme/README.mkd
new file mode 100644
index 0000000..46c7d77
--- /dev/null
+++ b/nhanb-theme/README.mkd
@@ -0,0 +1,37 @@
+My minimal [Pelican](1) theme. Inspired by [motherfuckingwebsite](2) and
+[bettermotherfuckingwebsite](3).
+
+[1]: http://blog.getpelican.com/
+[2]: http://motherfuckingwebsite.com/
+[3]: http://bettermotherfuckingwebsite.com/
+
+# License
+
+This theme is released under the MIT license:
+
+```
+The MIT License (MIT)
+
+Copyright (c) 2015 Bùi Thành Nhân
+
+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.
+```
+
+This theme also uses good chunk of third-party open source code, whose licenses can be found in
+CREDITS.mkd
diff --git a/nhanb-theme/static/css/article.css b/nhanb-theme/static/css/article.css
new file mode 100644
index 0000000..d33910f
--- /dev/null
+++ b/nhanb-theme/static/css/article.css
@@ -0,0 +1,3 @@
+.article-title {
+    margin-bottom: 0px;
+}
diff --git a/nhanb-theme/static/css/index.css b/nhanb-theme/static/css/index.css
new file mode 100644
index 0000000..036303f
--- /dev/null
+++ b/nhanb-theme/static/css/index.css
@@ -0,0 +1,23 @@
+.article-title {
+    margin-bottom: 0px;
+    margin-top: 42px;
+}
+
+a.article {
+    color: black;
+    display: block;
+    margin-left: -15px;
+    margin-right: -15px;
+    padding-left: 15px;
+    padding-right: 15px;
+}
+
+a.article:active {
+    color: white;
+    background-color: black;
+}
+
+ul.article-list {
+    list-style-type: none;
+    padding: 0px 0px;
+}
diff --git a/nhanb-theme/static/css/main.css b/nhanb-theme/static/css/main.css
new file mode 100644
index 0000000..5d5342b
--- /dev/null
+++ b/nhanb-theme/static/css/main.css
@@ -0,0 +1,233 @@
+/* ====================================
+ * Basic stuff
+ * ==================================== */
+
+body {
+  background-color: beige;
+  color: black;
+  font-family: "Source Serif Pro", serif;
+  font-size: 20px;
+  text-rendering: optimizeLegibility;
+  margin: 0 0;
+  padding: 0 0;
+  border: none;
+}
+
+#main {
+  max-width: 750px;
+  margin: 0px auto 0px auto;
+  padding: 20px;
+}
+
+hr {
+  border: 1px solid #777;
+}
+
+a {
+  color: #ce0000;
+  text-decoration: none;
+  padding-top: 4px;
+  padding-bottom: 2px;
+}
+
+a:hover {
+  background-color: #fffbe8;
+}
+
+a:active {
+  background-color: #ce0000;
+  color: white;
+}
+
+p {
+  line-height: 1.5;
+  margin-top: 1em;
+}
+
+li p {
+  margin: 0;
+}
+
+li {
+  margin-bottom: 8px;
+}
+
+video {
+  width: 100%;
+}
+
+blockquote {
+  margin: 1em 0 1em 2em;
+  background-color: #fafaed;
+  padding: 0.2em 0.2em 0.2em 0.5em;
+  border-left: 4px solid grey;
+  font-size: 0.9em;
+}
+
+blockquote p {
+  margin: 0;
+}
+
+h1,
+h2,
+h3,
+h4 {
+  line-height: 1.2;
+}
+
+h1 + p,
+h2 + p,
+h3 + p,
+h4 + p {
+  margin-top: -10px;
+}
+
+h1 {
+  font-size: 35px;
+}
+
+h2 {
+  font-size: 34px;
+  margin-top: 1rem;
+}
+
+h3 {
+  font-size: 30px;
+  font-style: italic;
+  font-weight: 600;
+}
+
+article img {
+  max-width: 100%;
+}
+
+pre {
+  padding: 15px 15px;
+  width: calc(100% - 30px); /* Cancels out the left/right paddings */
+  font-size: 16px;
+  overflow-x: auto;
+}
+
+code {
+  background-color: #ffedcd;
+  border-radius: 3px;
+  font-size: 0.8em;
+  padding: 3px 5px 1px 5px;
+}
+
+.pagination {
+  margin-top: 40px;
+}
+
+.next {
+  float: right;
+}
+
+.prev {
+  float: left;
+}
+
+#content {
+  margin-top: 1.5rem;
+  clear: both;
+}
+
+time {
+  color: black;
+  font-size: 0.9em;
+}
+
+/* ====================================
+ * Navbar
+ * ==================================== */
+
+nav {
+  font-weight: 600;
+  font-size: 28px;
+}
+
+.navbar {
+  padding: 0px 0px;
+  margin: 5px -15px 12px 0px;
+  /* -15 to cancel out navbar>li's right margin */
+}
+
+.navbar > li {
+  display: inline;
+  list-style-type: none;
+  margin: 0px 15px 0px 0px;
+}
+
+#left-navbar {
+  float: left;
+}
+
+#right-navbar {
+  float: right;
+}
+
+#hr-nav {
+  clear: both;
+}
+
+/* ====================================
+ * Header
+ * ==================================== */
+
+#site-name {
+  margin-top: 5px;
+  margin-bottom: 0px;
+  font-size: 40px;
+  font-weight: 700;
+}
+
+#site-subtitle {
+  margin-top: 0px;
+  font-size: 20px;
+  font-weight: 400;
+}
+/* ====================================
+ * Footer
+ * ==================================== */
+
+footer {
+  font-size: 18px;
+}
+
+#hr-comment,
+#hr-footer {
+  margin-top: 40px;
+}
+
+/* ====================================
+ * Phone / small tablet sizes
+ * ==================================== */
+@media (max-width: 767px) {
+  nav {
+    font-size: 24px;
+  }
+
+  body {
+    font-size: 18px;
+  }
+
+  h1 {
+    font-size: 30px;
+  }
+
+  h2 {
+    font-size: 26px;
+  }
+
+  h3 {
+    font-size: 20px;
+    font-weight: 700;
+  }
+}
+
+@media (min-width: 480px) {
+  #main {
+    padding-left: 40px;
+    padding-right: 40px;
+  }
+}
diff --git a/nhanb-theme/static/css/zenburn.css b/nhanb-theme/static/css/zenburn.css
new file mode 100644
index 0000000..68e573d
--- /dev/null
+++ b/nhanb-theme/static/css/zenburn.css
@@ -0,0 +1,73 @@
+/**
+ * Straight up copied from https://github.com/richleland/pygments-css
+ */
+.highlight code, .highlight pre{color:#fdce93;background-color:#3f3f3f}
+.highlight .hll{background-color:#222}
+.highlight .c{color:#7f9f7f}
+.highlight .err{color:#e37170;background-color:#3d3535}
+.highlight .g{color:#7f9f7f}
+.highlight .k{color:#f0dfaf}
+.highlight .l{color:#ccc}
+.highlight .n{color:#dcdccc}
+.highlight .o{color:#f0efd0}
+.highlight .x{color:#ccc}
+.highlight .p{color:#41706f}
+.highlight .cm{color:#7f9f7f}
+.highlight .cp{color:#7f9f7f}
+.highlight .c1{color:#7f9f7f}
+.highlight .cs{color:#cd0000;font-weight:bold}
+.highlight .gd{color:#cd0000}
+.highlight .ge{color:#ccc;font-style:italic}
+.highlight .gr{color:red}
+.highlight .gh{color:#dcdccc;font-weight:bold}
+.highlight .gi{color:#00cd00}
+.highlight .go{color:gray}
+.highlight .gp{color:#dcdccc;font-weight:bold}
+.highlight .gs{color:#ccc;font-weight:bold}
+.highlight .gu{color:purple;font-weight:bold}
+.highlight .gt{color:#0040D0}
+.highlight .kc{color:#dca3a3}
+.highlight .kd{color:#ffff86}
+.highlight .kn{color:#dfaf8f;font-weight:bold}
+.highlight .kp{color:#cdcf99}
+.highlight .kr{color:#cdcd00}
+.highlight .kt{color:#00cd00}
+.highlight .ld{color:#cc9393}
+.highlight .m{color:#8cd0d3}
+.highlight .s{color:#cc9393}
+.highlight .na{color:#9ac39f}
+.highlight .nb{color:#efef8f}
+.highlight .nc{color:#efef8f}
+.highlight .no{color:#ccc}
+.highlight .nd{color:#ccc}
+.highlight .ni{color:#c28182}
+.highlight .ne{color:#c3bf9f;font-weight:bold}
+.highlight .nf{color:#efef8f}
+.highlight .nl{color:#ccc}
+.highlight .nn{color:#8fbede}
+.highlight .nx{color:#ccc}
+.highlight .py{color:#ccc}
+.highlight .nt{color:#9ac39f}
+.highlight .nv{color:#dcdccc}
+.highlight .ow{color:#f0efd0}
+.highlight .w{color:#ccc}
+.highlight .mf{color:#8cd0d3}
+.highlight .mh{color:#8cd0d3}
+.highlight .mi{color:#8cd0d3}
+.highlight .mo{color:#8cd0d3}
+.highlight .sb{color:#cc9393}
+.highlight .sc{color:#cc9393}
+.highlight .sd{color:#cc9393}
+.highlight .s2{color:#cc9393}
+.highlight .se{color:#cc9393}
+.highlight .sh{color:#cc9393}
+.highlight .si{color:#cc9393}
+.highlight .sx{color:#cc9393}
+.highlight .sr{color:#cc9393}
+.highlight .s1{color:#cc9393}
+.highlight .ss{color:#cc9393}
+.highlight .bp{color:#efef8f}
+.highlight .vc{color:#efef8f}
+.highlight .vg{color:#dcdccc}
+.highlight .vi{color:#ffffc7}
+.highlight .il{color:#8cd0d3}
diff --git a/nhanb-theme/static/fonts/Heuristica-BoldItalic.ttf b/nhanb-theme/static/fonts/Heuristica-BoldItalic.ttf
new file mode 100644
index 0000000..39d3536
Binary files /dev/null and b/nhanb-theme/static/fonts/Heuristica-BoldItalic.ttf differ
diff --git a/nhanb-theme/static/fonts/Heuristica-Italic.ttf b/nhanb-theme/static/fonts/Heuristica-Italic.ttf
new file mode 100644
index 0000000..4c6306f
Binary files /dev/null and b/nhanb-theme/static/fonts/Heuristica-Italic.ttf differ
diff --git a/nhanb-theme/static/fonts/SourceSerifPro-Bold.otf.woff b/nhanb-theme/static/fonts/SourceSerifPro-Bold.otf.woff
new file mode 100644
index 0000000..c5902c0
Binary files /dev/null and b/nhanb-theme/static/fonts/SourceSerifPro-Bold.otf.woff differ
diff --git a/nhanb-theme/static/fonts/SourceSerifPro-Bold.otf.woff2 b/nhanb-theme/static/fonts/SourceSerifPro-Bold.otf.woff2
new file mode 100644
index 0000000..7b7682c
Binary files /dev/null and b/nhanb-theme/static/fonts/SourceSerifPro-Bold.otf.woff2 differ
diff --git a/nhanb-theme/static/fonts/SourceSerifPro-Bold.ttf b/nhanb-theme/static/fonts/SourceSerifPro-Bold.ttf
new file mode 100644
index 0000000..a5cec46
Binary files /dev/null and b/nhanb-theme/static/fonts/SourceSerifPro-Bold.ttf differ
diff --git a/nhanb-theme/static/fonts/SourceSerifPro-Regular.otf.woff b/nhanb-theme/static/fonts/SourceSerifPro-Regular.otf.woff
new file mode 100644
index 0000000..0bb7e8f
Binary files /dev/null and b/nhanb-theme/static/fonts/SourceSerifPro-Regular.otf.woff differ
diff --git a/nhanb-theme/static/fonts/SourceSerifPro-Regular.otf.woff2 b/nhanb-theme/static/fonts/SourceSerifPro-Regular.otf.woff2
new file mode 100644
index 0000000..513e4c8
Binary files /dev/null and b/nhanb-theme/static/fonts/SourceSerifPro-Regular.otf.woff2 differ
diff --git a/nhanb-theme/static/fonts/SourceSerifPro-Regular.ttf b/nhanb-theme/static/fonts/SourceSerifPro-Regular.ttf
new file mode 100644
index 0000000..2d3cff3
Binary files /dev/null and b/nhanb-theme/static/fonts/SourceSerifPro-Regular.ttf differ
diff --git a/nhanb-theme/static/fonts/SourceSerifPro-Semibold.otf.woff b/nhanb-theme/static/fonts/SourceSerifPro-Semibold.otf.woff
new file mode 100644
index 0000000..d4e322b
Binary files /dev/null and b/nhanb-theme/static/fonts/SourceSerifPro-Semibold.otf.woff differ
diff --git a/nhanb-theme/static/fonts/SourceSerifPro-Semibold.otf.woff2 b/nhanb-theme/static/fonts/SourceSerifPro-Semibold.otf.woff2
new file mode 100644
index 0000000..b6e4740
Binary files /dev/null and b/nhanb-theme/static/fonts/SourceSerifPro-Semibold.otf.woff2 differ
diff --git a/nhanb-theme/static/fonts/SourceSerifPro-Semibold.ttf b/nhanb-theme/static/fonts/SourceSerifPro-Semibold.ttf
new file mode 100644
index 0000000..7e6fc6f
Binary files /dev/null and b/nhanb-theme/static/fonts/SourceSerifPro-Semibold.ttf differ
diff --git a/nhanb-theme/static/fonts/fonts.css b/nhanb-theme/static/fonts/fonts.css
new file mode 100644
index 0000000..e3f01aa
--- /dev/null
+++ b/nhanb-theme/static/fonts/fonts.css
@@ -0,0 +1,50 @@
+@font-face {
+  font-family: 'Source Serif Pro';
+  src: url('SourceSerifPro-Regular.otf.woff2') format('woff2'),
+       url('SourceSerifPro-Regular.otf.woff') format('woff'),
+       url('SourceSerifPro-Regular.ttf') format('truetype');
+  font-style: normal;
+  font-weight: 400;
+}
+
+@font-face {
+  font-family: 'Source Serif Pro';
+  src: url('SourceSerifPro-Semibold.otf.woff2') format('woff2'),
+       url('SourceSerifPro-Semibold.otf.woff') format('woff'),
+       url('SourceSerifPro-Semibold.ttf') format('truetype');
+  font-style: normal;
+  font-weight: 600;
+}
+
+@font-face {
+  font-family: 'Source Serif Pro';
+  src: url('SourceSerifPro-Bold.otf.woff2') format('woff2'),
+       url('SourceSerifPro-Bold.otf.woff') format('woff'),
+       url('SourceSerifPro-Bold.ttf') format('truetype');
+  font-style: normal;
+  font-weight: 700;
+}
+
+/* Workaround until italics land in Source Serif Pro:
+ * https://github.com/adobe-fonts/source-serif-pro/issues/2
+ */
+@font-face {
+  font-family: 'Source Serif Pro';
+  src: url('Heuristica-Italic.ttf') format('truetype');
+  font-style: italic;
+  font-weight: 400;
+}
+
+@font-face {
+  font-family: 'Source Serif Pro';
+  src: url('Heuristica-BoldItalic.ttf') format('truetype');
+  font-style: italic;
+  font-weight: 700;
+}
+
+@font-face {
+  font-family: 'Source Serif Pro';
+  src: url('Heuristica-BoldItalic.ttf') format('truetype');
+  font-style: italic;
+  font-weight: 600;
+}
diff --git a/nhanb-theme/templates/_includes/footer.html b/nhanb-theme/templates/_includes/footer.html
new file mode 100644
index 0000000..40bcae3
--- /dev/null
+++ b/nhanb-theme/templates/_includes/footer.html
@@ -0,0 +1,4 @@
+&copy; 2013–{{ CURRENT_YEAR }}
+{{ AUTHOR }}
+<br>
+{{ FOOTER_TEXT }}
diff --git a/nhanb-theme/templates/_includes/google_analytics.html b/nhanb-theme/templates/_includes/google_analytics.html
new file mode 100644
index 0000000..0fd7f45
--- /dev/null
+++ b/nhanb-theme/templates/_includes/google_analytics.html
@@ -0,0 +1,13 @@
+{% if GOOGLE_ANALYTICS %}
+<!-- Google Analytics -->
+<script>
+  (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', '{{ GOOGLE_ANALYTICS }}', 'auto');
+  ga('send', 'pageview');
+</script>
+<!-- End Google Analytics -->
+{% endif %}
diff --git a/nhanb-theme/templates/_includes/header.html b/nhanb-theme/templates/_includes/header.html
new file mode 100644
index 0000000..d36e6ce
--- /dev/null
+++ b/nhanb-theme/templates/_includes/header.html
@@ -0,0 +1,2 @@
+<h1 id="site-name"><a href="/">{{ SITENAME }}</a></h1>
+<h2 id="site-subtitle">{{ SITESUBTITLE}}</h2>
diff --git a/nhanb-theme/templates/_includes/navbar.html b/nhanb-theme/templates/_includes/navbar.html
new file mode 100644
index 0000000..0eb08d1
--- /dev/null
+++ b/nhanb-theme/templates/_includes/navbar.html
@@ -0,0 +1,16 @@
+<ul class="navbar" id="left-navbar">
+    {% for title, link in MENUITEMS %}
+        <li><a href="{{ link }}">{{ title }}</a></li>
+    {% endfor %}
+
+    {% for page in pages if not page.hidden %}
+        <li><a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a></li>
+    {% endfor %}
+</ul>
+
+<ul class="navbar" id="right-navbar">
+    <li>
+        <a href="{{SITE_URL}}/feeds/atom.xml">Feed</a>
+    </li>
+
+</ul>
diff --git a/nhanb-theme/templates/article.html b/nhanb-theme/templates/article.html
new file mode 100644
index 0000000..521f942
--- /dev/null
+++ b/nhanb-theme/templates/article.html
@@ -0,0 +1,70 @@
+{% extends 'base.html' %}
+
+{% block title %}{{ article.title|striptags }} | {{ SITENAME }} {% endblock %}
+
+{% block header_extras %}
+
+  <link rel="stylesheet" href="/theme/css/article.css">
+  <meta property="og:title" content="{{ article.title|striptags }}" />
+  <meta property="og:description" content="{{ article.content|striptags|truncate(255) }}" />
+
+  {% if article.thumb %}
+    <meta property="og:image" content="{{ SITEURL }}/{{ article.thumb }}" />
+  {% elif MOTHERFUCKING_DEFAULT_THUMB %}
+    <meta property="og:image" content="{{ SITEURL }}/{{ MOTHERFUCKING_DEFAULT_THUMB }}" />
+  {% endif %}
+
+  {% endblock %}
+
+{% block content %}
+
+<div class="article-content">
+    <article>
+        <h1 class="article-title">
+            {{ article.title|striptags }}
+        </h1>
+
+        <time datetime="{{ article.date }}">
+          {{ article.date|strftime('%B %d, %Y') }}
+        </time>
+
+        {{ article.content }}
+    </article>
+</div>
+
+{% if DISQUS_SITENAME %}
+
+<hr id="hr-comment">
+
+<h2>Comments</h2>
+
+<div id="disqus_thread">
+    <button id="showCommentBtn">Show comments via Disqus</button>
+    <noscript><br>(enable JavaScript first though)</noscript>
+</div>
+
+<script type="text/javascript">
+    /* * * CONFIGURATION VARIABLES * * */
+    // These need to be defined in the outermost scope, apparently.
+    var disqus_shortname = '{{ DISQUS_SITENAME }}';
+    var disqus_identifier = '/{{ article.url }}';
+    var disqus_url = '{{ SITEURL }}/{{ article.url }}';
+    var disqus_title = '{{ article.title|striptags }}';
+
+    document.querySelector('#showCommentBtn').addEventListener('click', function (event) {
+        // Immediate visual feedback is always good:
+        event.target.disabled = true;
+        event.target.innerHTML = 'Loading comments...';
+
+        /* * * DON'T EDIT BELOW THIS LINE * * */
+        (function() {
+            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
+            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+        })();
+    });
+</script>
+
+{% endif %}
+
+{% endblock %}
diff --git a/nhanb-theme/templates/base.html b/nhanb-theme/templates/base.html
new file mode 100644
index 0000000..e1d2630
--- /dev/null
+++ b/nhanb-theme/templates/base.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>{% block title %}{{ SITENAME }} - {{ SITESUBTITLE }}{% endblock %}</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <link rel="stylesheet" href="/theme/fonts/fonts.css">
+    <link rel="stylesheet" href="/theme/css/zenburn.css">
+    <link rel="stylesheet" href="/theme/css/main.css">
+    {% block header_extras %}{% endblock %}
+
+    {% include '_includes/google_analytics.html' %}
+</head>
+
+<!--
+{{ MOTHERFUCKING_GREETINGS }}
+-->
+
+<body>
+
+    <div id="main">
+
+        <header role="banner">{% include '_includes/header.html' %}</header>
+        <hr>
+        <nav role="navigation">{% include '_includes/navbar.html' %}</nav>
+        <hr id="hr-nav">
+
+        <div id="content">
+            {% block content %}{% endblock %}
+        </div>
+
+        <hr id="hr-footer">
+        <footer>{% include '_includes/footer.html' %}</footer>
+    </div>
+
+</body>
+</html>
diff --git a/nhanb-theme/templates/index.html b/nhanb-theme/templates/index.html
new file mode 100644
index 0000000..ef792dd
--- /dev/null
+++ b/nhanb-theme/templates/index.html
@@ -0,0 +1,33 @@
+{% extends 'base.html' %}
+
+{% block header_extras %}
+  <link rel="stylesheet" href="/theme/css/index.css">
+  <meta property="og:title" content="{{ SITENAME }}" />
+  <meta property="og:description" content="{{ SITESUBTITLE }}" />
+  {% if MOTHERFUCKING_DEFAULT_THUMB %}
+  <meta property="og:image" content="{{ SITEURL }}/{{ MOTHERFUCKING_DEFAULT_THUMB }}" />
+  {% endif %}
+{% endblock %}
+
+{% block content %}
+
+<div class="blog-index">
+    {% if articles %}
+    <ul class="article-list">
+        {% for article in articles_page.object_list %}
+        <li>
+            <h1 class="article-title">
+                <a class="article" href="{{ SITEURL }}/{{ article.url }}">
+                    {{ article.title|striptags }}
+                </a>
+            </h1>
+            <time datetime="{{ article.date }}">
+              {{ article.date|strftime('%B %d, %Y') }}
+            </time>
+        </li>
+        {% endfor %}
+    </ul>
+    {% endif %}
+</div>
+
+{% endblock %}
diff --git a/nhanb-theme/templates/page.html b/nhanb-theme/templates/page.html
new file mode 100644
index 0000000..eaf4cd8
--- /dev/null
+++ b/nhanb-theme/templates/page.html
@@ -0,0 +1,20 @@
+{% extends 'base.html' %}
+{% block title %}{{ page.title }} | {{ SITENAME }} {% endblock %}
+
+{% block header_extras %}
+  <meta property="og:title" content="{{ page.title|striptags }}" />
+  <meta property="og:description" content="{{ page.content|striptags|truncate(255) }}" />
+  {% if page.thumb %}
+    <meta property="og:image" content="{{ SITEURL }}/{{ page.thumb }}" />
+  {% elif MOTHERFUCKING_DEFAULT_THUMB %}
+    <meta property="og:image" content="{{ SITEURL }}/{{ MOTHERFUCKING_DEFAULT_THUMB }}" />
+  {% endif %}
+{% endblock %}
+
+{% block content %}
+<div>
+  <article role="article">
+    {{ page.content }}
+  </article>
+</div>
+{% endblock %}
diff --git a/pelicanconf.py b/pelicanconf.py
index 2a548b6..4d8569e 100644
--- a/pelicanconf.py
+++ b/pelicanconf.py
@@ -6,7 +6,7 @@
 SITESUBTITLE = "and this is my humble corner on the interwebs."
 SITEURL = ""
 
-THEME = "./motherfucking-pelican-theme"
+THEME = "./nhanb-theme"
 
 TIMEZONE = "Asia/Ho_Chi_Minh"
 
@@ -25,7 +25,6 @@
     "extra/favicon.ico": {"path": "favicon.ico"},
     "extra/favicon.png": {"path": "favicon.png"},
     "extra/404.html": {"path": "404.html"},
-    "extra/google3f40dbd543a603fa.html": {"path": "google3f40dbd543a603fa.html"},
 }
 
 ARTICLE_PATHS = ["posts"]