diff --git a/themes/assets/bibliography/references.bib b/assets/bibliography/references.bib
similarity index 100%
rename from themes/assets/bibliography/references.bib
rename to assets/bibliography/references.bib
diff --git a/themes/assets/bibliography/theologie-und-philosophie.csl b/assets/bibliography/theologie-und-philosophie.csl
similarity index 100%
rename from themes/assets/bibliography/theologie-und-philosophie.csl
rename to assets/bibliography/theologie-und-philosophie.csl
diff --git a/themes/assets/css/custom.css b/assets/css/custom.css
similarity index 100%
rename from themes/assets/css/custom.css
rename to assets/css/custom.css
diff --git a/themes/assets/css/styles.css b/assets/css/styles.css
similarity index 100%
rename from themes/assets/css/styles.css
rename to assets/css/styles.css
diff --git a/themes/assets/fonts/BebasNeue-Regular.woff2 b/assets/fonts/BebasNeue-Regular.woff2
similarity index 100%
rename from themes/assets/fonts/BebasNeue-Regular.woff2
rename to assets/fonts/BebasNeue-Regular.woff2
diff --git a/themes/assets/fonts/ptsans.woff2 b/assets/fonts/ptsans.woff2
similarity index 100%
rename from themes/assets/fonts/ptsans.woff2
rename to assets/fonts/ptsans.woff2
diff --git a/themes/assets/fonts/ptsansbold.woff2 b/assets/fonts/ptsansbold.woff2
similarity index 100%
rename from themes/assets/fonts/ptsansbold.woff2
rename to assets/fonts/ptsansbold.woff2
diff --git a/themes/assets/fonts/ptsansbolditalic.woff2 b/assets/fonts/ptsansbolditalic.woff2
similarity index 100%
rename from themes/assets/fonts/ptsansbolditalic.woff2
rename to assets/fonts/ptsansbolditalic.woff2
diff --git a/themes/assets/fonts/ptsansitalic.woff2 b/assets/fonts/ptsansitalic.woff2
similarity index 100%
rename from themes/assets/fonts/ptsansitalic.woff2
rename to assets/fonts/ptsansitalic.woff2
diff --git a/themes/assets/fonts/ptserif.woff2 b/assets/fonts/ptserif.woff2
similarity index 100%
rename from themes/assets/fonts/ptserif.woff2
rename to assets/fonts/ptserif.woff2
diff --git a/themes/assets/fonts/ptserifbold.woff2 b/assets/fonts/ptserifbold.woff2
similarity index 100%
rename from themes/assets/fonts/ptserifbold.woff2
rename to assets/fonts/ptserifbold.woff2
diff --git a/themes/assets/fonts/ptserifbolditalic.woff2 b/assets/fonts/ptserifbolditalic.woff2
similarity index 100%
rename from themes/assets/fonts/ptserifbolditalic.woff2
rename to assets/fonts/ptserifbolditalic.woff2
diff --git a/themes/assets/fonts/ptserifitalic.woff2 b/assets/fonts/ptserifitalic.woff2
similarity index 100%
rename from themes/assets/fonts/ptserifitalic.woff2
rename to assets/fonts/ptserifitalic.woff2
diff --git a/themes/assets/images/favicon.svg b/assets/images/favicon.svg
similarity index 100%
rename from themes/assets/images/favicon.svg
rename to assets/images/favicon.svg
diff --git a/themes/assets/images/ki-begriffsklaerung/image1.png b/assets/images/ki-begriffsklaerung/image1.png
similarity index 100%
rename from themes/assets/images/ki-begriffsklaerung/image1.png
rename to assets/images/ki-begriffsklaerung/image1.png
diff --git a/themes/assets/images/ki-begriffsklaerung/image2.png b/assets/images/ki-begriffsklaerung/image2.png
similarity index 100%
rename from themes/assets/images/ki-begriffsklaerung/image2.png
rename to assets/images/ki-begriffsklaerung/image2.png
diff --git a/themes/assets/images/ki-begriffsklaerung/image3.png b/assets/images/ki-begriffsklaerung/image3.png
similarity index 100%
rename from themes/assets/images/ki-begriffsklaerung/image3.png
rename to assets/images/ki-begriffsklaerung/image3.png
diff --git a/themes/assets/images/ki-begriffsklaerung/image4.png b/assets/images/ki-begriffsklaerung/image4.png
similarity index 100%
rename from themes/assets/images/ki-begriffsklaerung/image4.png
rename to assets/images/ki-begriffsklaerung/image4.png
diff --git a/themes/assets/images/ki-begriffsklaerung/image5.png b/assets/images/ki-begriffsklaerung/image5.png
similarity index 100%
rename from themes/assets/images/ki-begriffsklaerung/image5.png
rename to assets/images/ki-begriffsklaerung/image5.png
diff --git a/themes/assets/images/was-ist-technik/and.png b/assets/images/was-ist-technik/and.png
similarity index 100%
rename from themes/assets/images/was-ist-technik/and.png
rename to assets/images/was-ist-technik/and.png
diff --git a/themes/assets/images/was-ist-technik/or.png b/assets/images/was-ist-technik/or.png
similarity index 100%
rename from themes/assets/images/was-ist-technik/or.png
rename to assets/images/was-ist-technik/or.png
diff --git a/themes/pages/datenschutz.tex b/pages/datenschutz.tex
similarity index 100%
rename from themes/pages/datenschutz.tex
rename to pages/datenschutz.tex
diff --git a/themes/pages/impressum.tex b/pages/impressum.tex
similarity index 100%
rename from themes/pages/impressum.tex
rename to pages/impressum.tex
diff --git a/themes/posts/2011/07/erortern-sie-warum-die-judische-kultur.tex b/posts/2011/07/erortern-sie-warum-die-judische-kultur.tex
similarity index 100%
rename from themes/posts/2011/07/erortern-sie-warum-die-judische-kultur.tex
rename to posts/2011/07/erortern-sie-warum-die-judische-kultur.tex
diff --git a/themes/posts/2011/08/beruhmte-zeitgenossen-goethes.tex b/posts/2011/08/beruhmte-zeitgenossen-goethes.tex
similarity index 100%
rename from themes/posts/2011/08/beruhmte-zeitgenossen-goethes.tex
rename to posts/2011/08/beruhmte-zeitgenossen-goethes.tex
diff --git a/themes/posts/2011/08/das-balladenjahr.tex b/posts/2011/08/das-balladenjahr.tex
similarity index 100%
rename from themes/posts/2011/08/das-balladenjahr.tex
rename to posts/2011/08/das-balladenjahr.tex
diff --git a/themes/posts/2011/08/interpretieren-sie-welche-aussage-das.tex b/posts/2011/08/interpretieren-sie-welche-aussage-das.tex
similarity index 100%
rename from themes/posts/2011/08/interpretieren-sie-welche-aussage-das.tex
rename to posts/2011/08/interpretieren-sie-welche-aussage-das.tex
diff --git a/themes/posts/2011/08/roman-die-fische-von-berlin-von.tex b/posts/2011/08/roman-die-fische-von-berlin-von.tex
similarity index 100%
rename from themes/posts/2011/08/roman-die-fische-von-berlin-von.tex
rename to posts/2011/08/roman-die-fische-von-berlin-von.tex
diff --git a/themes/posts/2011/09/das-leben-und-geld.tex b/posts/2011/09/das-leben-und-geld.tex
similarity index 100%
rename from themes/posts/2011/09/das-leben-und-geld.tex
rename to posts/2011/09/das-leben-und-geld.tex
diff --git a/themes/posts/2011/09/textzusammenfassung.tex b/posts/2011/09/textzusammenfassung.tex
similarity index 100%
rename from themes/posts/2011/09/textzusammenfassung.tex
rename to posts/2011/09/textzusammenfassung.tex
diff --git a/themes/posts/2011/10/bestraft.tex b/posts/2011/10/bestraft.tex
similarity index 100%
rename from themes/posts/2011/10/bestraft.tex
rename to posts/2011/10/bestraft.tex
diff --git a/themes/posts/2011/10/das-weise-alter.tex b/posts/2011/10/das-weise-alter.tex
similarity index 100%
rename from themes/posts/2011/10/das-weise-alter.tex
rename to posts/2011/10/das-weise-alter.tex
diff --git a/themes/posts/2011/11/18.tex b/posts/2011/11/18.tex
similarity index 100%
rename from themes/posts/2011/11/18.tex
rename to posts/2011/11/18.tex
diff --git a/themes/posts/2011/11/blog-post.tex b/posts/2011/11/blog-post.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post.tex
rename to posts/2011/11/blog-post.tex
diff --git a/themes/posts/2011/11/blog-post_14.tex b/posts/2011/11/blog-post_14.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_14.tex
rename to posts/2011/11/blog-post_14.tex
diff --git a/themes/posts/2011/11/blog-post_16.tex b/posts/2011/11/blog-post_16.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_16.tex
rename to posts/2011/11/blog-post_16.tex
diff --git a/themes/posts/2011/11/blog-post_17.tex b/posts/2011/11/blog-post_17.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_17.tex
rename to posts/2011/11/blog-post_17.tex
diff --git a/themes/posts/2011/11/blog-post_18.tex b/posts/2011/11/blog-post_18.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_18.tex
rename to posts/2011/11/blog-post_18.tex
diff --git a/themes/posts/2011/11/blog-post_19.tex b/posts/2011/11/blog-post_19.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_19.tex
rename to posts/2011/11/blog-post_19.tex
diff --git a/themes/posts/2011/11/blog-post_20.tex b/posts/2011/11/blog-post_20.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_20.tex
rename to posts/2011/11/blog-post_20.tex
diff --git a/themes/posts/2011/11/blog-post_21.tex b/posts/2011/11/blog-post_21.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_21.tex
rename to posts/2011/11/blog-post_21.tex
diff --git a/themes/posts/2011/11/blog-post_22.tex b/posts/2011/11/blog-post_22.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_22.tex
rename to posts/2011/11/blog-post_22.tex
diff --git a/themes/posts/2011/11/blog-post_23.tex b/posts/2011/11/blog-post_23.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_23.tex
rename to posts/2011/11/blog-post_23.tex
diff --git a/themes/posts/2011/11/blog-post_24.tex b/posts/2011/11/blog-post_24.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_24.tex
rename to posts/2011/11/blog-post_24.tex
diff --git a/themes/posts/2011/11/blog-post_26.tex b/posts/2011/11/blog-post_26.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_26.tex
rename to posts/2011/11/blog-post_26.tex
diff --git a/themes/posts/2011/11/blog-post_28.tex b/posts/2011/11/blog-post_28.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_28.tex
rename to posts/2011/11/blog-post_28.tex
diff --git a/themes/posts/2011/11/blog-post_29.tex b/posts/2011/11/blog-post_29.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_29.tex
rename to posts/2011/11/blog-post_29.tex
diff --git a/themes/posts/2011/11/blog-post_30.tex b/posts/2011/11/blog-post_30.tex
similarity index 100%
rename from themes/posts/2011/11/blog-post_30.tex
rename to posts/2011/11/blog-post_30.tex
diff --git a/themes/posts/2011/11/staatsreligion_27.tex b/posts/2011/11/staatsreligion_27.tex
similarity index 100%
rename from themes/posts/2011/11/staatsreligion_27.tex
rename to posts/2011/11/staatsreligion_27.tex
diff --git a/themes/posts/2011/12/blog-post.tex b/posts/2011/12/blog-post.tex
similarity index 100%
rename from themes/posts/2011/12/blog-post.tex
rename to posts/2011/12/blog-post.tex
diff --git a/themes/posts/2011/12/blog-post_03.tex b/posts/2011/12/blog-post_03.tex
similarity index 100%
rename from themes/posts/2011/12/blog-post_03.tex
rename to posts/2011/12/blog-post_03.tex
diff --git a/themes/posts/2011/12/blog-post_04.tex b/posts/2011/12/blog-post_04.tex
similarity index 100%
rename from themes/posts/2011/12/blog-post_04.tex
rename to posts/2011/12/blog-post_04.tex
diff --git a/themes/posts/2011/12/blog-post_05.tex b/posts/2011/12/blog-post_05.tex
similarity index 100%
rename from themes/posts/2011/12/blog-post_05.tex
rename to posts/2011/12/blog-post_05.tex
diff --git a/themes/posts/2011/12/blog-post_06.tex b/posts/2011/12/blog-post_06.tex
similarity index 100%
rename from themes/posts/2011/12/blog-post_06.tex
rename to posts/2011/12/blog-post_06.tex
diff --git a/themes/posts/2011/12/blog-post_07.tex b/posts/2011/12/blog-post_07.tex
similarity index 100%
rename from themes/posts/2011/12/blog-post_07.tex
rename to posts/2011/12/blog-post_07.tex
diff --git a/themes/posts/2011/12/blog-post_10.tex b/posts/2011/12/blog-post_10.tex
similarity index 100%
rename from themes/posts/2011/12/blog-post_10.tex
rename to posts/2011/12/blog-post_10.tex
diff --git a/themes/posts/2011/12/blog-post_11.tex b/posts/2011/12/blog-post_11.tex
similarity index 100%
rename from themes/posts/2011/12/blog-post_11.tex
rename to posts/2011/12/blog-post_11.tex
diff --git a/themes/posts/2011/12/das-ewig-mannliche.tex b/posts/2011/12/das-ewig-mannliche.tex
similarity index 100%
rename from themes/posts/2011/12/das-ewig-mannliche.tex
rename to posts/2011/12/das-ewig-mannliche.tex
diff --git a/themes/posts/2012/01/blog-post.tex b/posts/2012/01/blog-post.tex
similarity index 100%
rename from themes/posts/2012/01/blog-post.tex
rename to posts/2012/01/blog-post.tex
diff --git a/themes/posts/2012/01/das-gesagte-und-das-gehorte.tex b/posts/2012/01/das-gesagte-und-das-gehorte.tex
similarity index 100%
rename from themes/posts/2012/01/das-gesagte-und-das-gehorte.tex
rename to posts/2012/01/das-gesagte-und-das-gehorte.tex
diff --git a/themes/posts/2012/02/blog-post.tex b/posts/2012/02/blog-post.tex
similarity index 100%
rename from themes/posts/2012/02/blog-post.tex
rename to posts/2012/02/blog-post.tex
diff --git a/themes/posts/2012/02/lto.tex b/posts/2012/02/lto.tex
similarity index 100%
rename from themes/posts/2012/02/lto.tex
rename to posts/2012/02/lto.tex
diff --git a/themes/posts/2012/03/zur-kindererziehung.tex b/posts/2012/03/zur-kindererziehung.tex
similarity index 100%
rename from themes/posts/2012/03/zur-kindererziehung.tex
rename to posts/2012/03/zur-kindererziehung.tex
diff --git a/themes/posts/2012/05/geboren-sein-ist-keine-tugend.tex b/posts/2012/05/geboren-sein-ist-keine-tugend.tex
similarity index 100%
rename from themes/posts/2012/05/geboren-sein-ist-keine-tugend.tex
rename to posts/2012/05/geboren-sein-ist-keine-tugend.tex
diff --git a/themes/posts/2012/06/eure-perlen-sollt-ihr-nicht-vor-die.tex b/posts/2012/06/eure-perlen-sollt-ihr-nicht-vor-die.tex
similarity index 100%
rename from themes/posts/2012/06/eure-perlen-sollt-ihr-nicht-vor-die.tex
rename to posts/2012/06/eure-perlen-sollt-ihr-nicht-vor-die.tex
diff --git a/themes/posts/2012/07/abschied.tex b/posts/2012/07/abschied.tex
similarity index 100%
rename from themes/posts/2012/07/abschied.tex
rename to posts/2012/07/abschied.tex
diff --git a/themes/posts/2012/07/blog-post.tex b/posts/2012/07/blog-post.tex
similarity index 100%
rename from themes/posts/2012/07/blog-post.tex
rename to posts/2012/07/blog-post.tex
diff --git a/themes/posts/2012/08/am-scheideweg.tex b/posts/2012/08/am-scheideweg.tex
similarity index 100%
rename from themes/posts/2012/08/am-scheideweg.tex
rename to posts/2012/08/am-scheideweg.tex
diff --git a/themes/posts/2012/08/blog-post.tex b/posts/2012/08/blog-post.tex
similarity index 100%
rename from themes/posts/2012/08/blog-post.tex
rename to posts/2012/08/blog-post.tex
diff --git a/themes/posts/2012/10/blog-post.tex b/posts/2012/10/blog-post.tex
similarity index 100%
rename from themes/posts/2012/10/blog-post.tex
rename to posts/2012/10/blog-post.tex
diff --git a/themes/posts/2012/12/kleine-kommunikationstheorie.tex b/posts/2012/12/kleine-kommunikationstheorie.tex
similarity index 100%
rename from themes/posts/2012/12/kleine-kommunikationstheorie.tex
rename to posts/2012/12/kleine-kommunikationstheorie.tex
diff --git a/themes/posts/2013/04/das-dunkle-wissenschaftsalter.tex b/posts/2013/04/das-dunkle-wissenschaftsalter.tex
similarity index 100%
rename from themes/posts/2013/04/das-dunkle-wissenschaftsalter.tex
rename to posts/2013/04/das-dunkle-wissenschaftsalter.tex
diff --git a/themes/posts/2013/05/dubito-ergo-non-esse-possim.tex b/posts/2013/05/dubito-ergo-non-esse-possim.tex
similarity index 100%
rename from themes/posts/2013/05/dubito-ergo-non-esse-possim.tex
rename to posts/2013/05/dubito-ergo-non-esse-possim.tex
diff --git a/themes/posts/2013/06/ein-sklave-der-freiheit.tex b/posts/2013/06/ein-sklave-der-freiheit.tex
similarity index 100%
rename from themes/posts/2013/06/ein-sklave-der-freiheit.tex
rename to posts/2013/06/ein-sklave-der-freiheit.tex
diff --git a/themes/posts/2013/08/katja-m.tex b/posts/2013/08/katja-m.tex
similarity index 100%
rename from themes/posts/2013/08/katja-m.tex
rename to posts/2013/08/katja-m.tex
diff --git a/themes/posts/2013/11/de-fortuna.tex b/posts/2013/11/de-fortuna.tex
similarity index 100%
rename from themes/posts/2013/11/de-fortuna.tex
rename to posts/2013/11/de-fortuna.tex
diff --git a/themes/posts/2013/12/gute-nacht-mein-lieber-schatz.tex b/posts/2013/12/gute-nacht-mein-lieber-schatz.tex
similarity index 100%
rename from themes/posts/2013/12/gute-nacht-mein-lieber-schatz.tex
rename to posts/2013/12/gute-nacht-mein-lieber-schatz.tex
diff --git a/themes/posts/2013/12/liebste-hast-du-selber-nicht-gesagt-wie.tex b/posts/2013/12/liebste-hast-du-selber-nicht-gesagt-wie.tex
similarity index 100%
rename from themes/posts/2013/12/liebste-hast-du-selber-nicht-gesagt-wie.tex
rename to posts/2013/12/liebste-hast-du-selber-nicht-gesagt-wie.tex
diff --git a/themes/posts/2013/12/weihnachtslied.tex b/posts/2013/12/weihnachtslied.tex
similarity index 100%
rename from themes/posts/2013/12/weihnachtslied.tex
rename to posts/2013/12/weihnachtslied.tex
diff --git a/themes/posts/2014/03/babett-heinemann-meine-liebe-lass-uns.tex b/posts/2014/03/babett-heinemann-meine-liebe-lass-uns.tex
similarity index 100%
rename from themes/posts/2014/03/babett-heinemann-meine-liebe-lass-uns.tex
rename to posts/2014/03/babett-heinemann-meine-liebe-lass-uns.tex
diff --git a/themes/posts/2014/04/kleines-dankeschon.tex b/posts/2014/04/kleines-dankeschon.tex
similarity index 100%
rename from themes/posts/2014/04/kleines-dankeschon.tex
rename to posts/2014/04/kleines-dankeschon.tex
diff --git a/themes/posts/2014/05/blog-post.tex b/posts/2014/05/blog-post.tex
similarity index 100%
rename from themes/posts/2014/05/blog-post.tex
rename to posts/2014/05/blog-post.tex
diff --git a/themes/posts/2014/06/hoffnung.tex b/posts/2014/06/hoffnung.tex
similarity index 100%
rename from themes/posts/2014/06/hoffnung.tex
rename to posts/2014/06/hoffnung.tex
diff --git a/themes/posts/2014/08/blog-post.tex b/posts/2014/08/blog-post.tex
similarity index 100%
rename from themes/posts/2014/08/blog-post.tex
rename to posts/2014/08/blog-post.tex
diff --git a/themes/posts/2014/10/blog-post.tex b/posts/2014/10/blog-post.tex
similarity index 100%
rename from themes/posts/2014/10/blog-post.tex
rename to posts/2014/10/blog-post.tex
diff --git a/themes/posts/2014/10/gestohlenes-gluck.tex b/posts/2014/10/gestohlenes-gluck.tex
similarity index 100%
rename from themes/posts/2014/10/gestohlenes-gluck.tex
rename to posts/2014/10/gestohlenes-gluck.tex
diff --git a/themes/posts/2014/10/w-wyssozki-sie-sagt-ich-lieb-dich-nicht.tex b/posts/2014/10/w-wyssozki-sie-sagt-ich-lieb-dich-nicht.tex
similarity index 100%
rename from themes/posts/2014/10/w-wyssozki-sie-sagt-ich-lieb-dich-nicht.tex
rename to posts/2014/10/w-wyssozki-sie-sagt-ich-lieb-dich-nicht.tex
diff --git a/themes/posts/2014/11/im-andenken-f-nietzsche.tex b/posts/2014/11/im-andenken-f-nietzsche.tex
similarity index 100%
rename from themes/posts/2014/11/im-andenken-f-nietzsche.tex
rename to posts/2014/11/im-andenken-f-nietzsche.tex
diff --git a/themes/posts/2014/12/das-alte-neu-erzahlte-marchen.tex b/posts/2014/12/das-alte-neu-erzahlte-marchen.tex
similarity index 100%
rename from themes/posts/2014/12/das-alte-neu-erzahlte-marchen.tex
rename to posts/2014/12/das-alte-neu-erzahlte-marchen.tex
diff --git a/themes/posts/2015/01/zum-77-geburtstag-von-w-wyssozki.tex b/posts/2015/01/zum-77-geburtstag-von-w-wyssozki.tex
similarity index 100%
rename from themes/posts/2015/01/zum-77-geburtstag-von-w-wyssozki.tex
rename to posts/2015/01/zum-77-geburtstag-von-w-wyssozki.tex
diff --git a/themes/posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich.tex b/posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich.tex
similarity index 100%
rename from themes/posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich.tex
rename to posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich.tex
diff --git a/themes/posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich_23.tex b/posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich_23.tex
similarity index 100%
rename from themes/posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich_23.tex
rename to posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich_23.tex
diff --git a/themes/posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich_30.tex b/posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich_30.tex
similarity index 100%
rename from themes/posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich_30.tex
rename to posts/2015/04/zur-bedeutung-der-kunst-bei-friedrich_30.tex
diff --git a/themes/posts/2015/05/zur-bedeutung-der-kunst-bei-friedrich.tex b/posts/2015/05/zur-bedeutung-der-kunst-bei-friedrich.tex
similarity index 100%
rename from themes/posts/2015/05/zur-bedeutung-der-kunst-bei-friedrich.tex
rename to posts/2015/05/zur-bedeutung-der-kunst-bei-friedrich.tex
diff --git a/themes/posts/2015/11/niemals-hat-die-mutter-ruhe.tex b/posts/2015/11/niemals-hat-die-mutter-ruhe.tex
similarity index 100%
rename from themes/posts/2015/11/niemals-hat-die-mutter-ruhe.tex
rename to posts/2015/11/niemals-hat-die-mutter-ruhe.tex
diff --git a/themes/posts/2016/03/blog-post_4.tex b/posts/2016/03/blog-post_4.tex
similarity index 100%
rename from themes/posts/2016/03/blog-post_4.tex
rename to posts/2016/03/blog-post_4.tex
diff --git a/themes/posts/2016/04/blog-post.tex b/posts/2016/04/blog-post.tex
similarity index 100%
rename from themes/posts/2016/04/blog-post.tex
rename to posts/2016/04/blog-post.tex
diff --git a/themes/posts/2016/08/die-nacht-in-ihrem-stillen-schweigen.tex b/posts/2016/08/die-nacht-in-ihrem-stillen-schweigen.tex
similarity index 100%
rename from themes/posts/2016/08/die-nacht-in-ihrem-stillen-schweigen.tex
rename to posts/2016/08/die-nacht-in-ihrem-stillen-schweigen.tex
diff --git a/themes/posts/2016/09/wenn-ich-zu-einem-volksfest-gehe.tex b/posts/2016/09/wenn-ich-zu-einem-volksfest-gehe.tex
similarity index 100%
rename from themes/posts/2016/09/wenn-ich-zu-einem-volksfest-gehe.tex
rename to posts/2016/09/wenn-ich-zu-einem-volksfest-gehe.tex
diff --git a/themes/posts/2016/11/herbst.tex b/posts/2016/11/herbst.tex
similarity index 100%
rename from themes/posts/2016/11/herbst.tex
rename to posts/2016/11/herbst.tex
diff --git a/themes/posts/2016/11/ich-sah-kurz-einen-auf-der-strae.tex b/posts/2016/11/ich-sah-kurz-einen-auf-der-strae.tex
similarity index 100%
rename from themes/posts/2016/11/ich-sah-kurz-einen-auf-der-strae.tex
rename to posts/2016/11/ich-sah-kurz-einen-auf-der-strae.tex
diff --git a/themes/posts/2017/02/blog-post.tex b/posts/2017/02/blog-post.tex
similarity index 100%
rename from themes/posts/2017/02/blog-post.tex
rename to posts/2017/02/blog-post.tex
diff --git a/themes/posts/2017/03/gegenstaendliche-erkenntnis-bei-frank.tex b/posts/2017/03/gegenstaendliche-erkenntnis-bei-frank.tex
similarity index 100%
rename from themes/posts/2017/03/gegenstaendliche-erkenntnis-bei-frank.tex
rename to posts/2017/03/gegenstaendliche-erkenntnis-bei-frank.tex
diff --git a/themes/posts/2017/04/herausforderungen-der-technikphilosophie.tex b/posts/2017/04/herausforderungen-der-technikphilosophie.tex
similarity index 100%
rename from themes/posts/2017/04/herausforderungen-der-technikphilosophie.tex
rename to posts/2017/04/herausforderungen-der-technikphilosophie.tex
diff --git a/themes/posts/2017/05/die-narren-sollen-weiter-lastern.tex b/posts/2017/05/die-narren-sollen-weiter-lastern.tex
similarity index 100%
rename from themes/posts/2017/05/die-narren-sollen-weiter-lastern.tex
rename to posts/2017/05/die-narren-sollen-weiter-lastern.tex
diff --git a/themes/posts/2017/05/technikkonzept-von-ernst-kapp.tex b/posts/2017/05/technikkonzept-von-ernst-kapp.tex
similarity index 100%
rename from themes/posts/2017/05/technikkonzept-von-ernst-kapp.tex
rename to posts/2017/05/technikkonzept-von-ernst-kapp.tex
diff --git a/themes/posts/2017/07/du-bist-von-anderen-umringt.tex b/posts/2017/07/du-bist-von-anderen-umringt.tex
similarity index 100%
rename from themes/posts/2017/07/du-bist-von-anderen-umringt.tex
rename to posts/2017/07/du-bist-von-anderen-umringt.tex
diff --git a/themes/posts/2017/07/ehe-fur-alle.tex b/posts/2017/07/ehe-fur-alle.tex
similarity index 100%
rename from themes/posts/2017/07/ehe-fur-alle.tex
rename to posts/2017/07/ehe-fur-alle.tex
diff --git a/themes/posts/2017/09/was-ist-technik.tex b/posts/2017/09/was-ist-technik.tex
similarity index 100%
rename from themes/posts/2017/09/was-ist-technik.tex
rename to posts/2017/09/was-ist-technik.tex
diff --git a/themes/posts/2017/12/ki-begriffsklaerung.tex b/posts/2017/12/ki-begriffsklaerung.tex
similarity index 100%
rename from themes/posts/2017/12/ki-begriffsklaerung.tex
rename to posts/2017/12/ki-begriffsklaerung.tex
diff --git a/themes/posts/2019/08/das-licht-erlischt.tex b/posts/2019/08/das-licht-erlischt.tex
similarity index 100%
rename from themes/posts/2019/08/das-licht-erlischt.tex
rename to posts/2019/08/das-licht-erlischt.tex
diff --git a/themes/posts/2020/03/kleines-madchen.tex b/posts/2020/03/kleines-madchen.tex
similarity index 100%
rename from themes/posts/2020/03/kleines-madchen.tex
rename to posts/2020/03/kleines-madchen.tex
diff --git a/themes/posts/2020/05/medizin.tex b/posts/2020/05/medizin.tex
similarity index 100%
rename from themes/posts/2020/05/medizin.tex
rename to posts/2020/05/medizin.tex
diff --git a/themes/posts/2020/08/blog-post.tex b/posts/2020/08/blog-post.tex
similarity index 100%
rename from themes/posts/2020/08/blog-post.tex
rename to posts/2020/08/blog-post.tex
diff --git a/themes/posts/2021/01/schuld.tex b/posts/2021/01/schuld.tex
similarity index 100%
rename from themes/posts/2021/01/schuld.tex
rename to posts/2021/01/schuld.tex
diff --git a/themes/posts/2021/08/stalin-lenin-1923.tex b/posts/2021/08/stalin-lenin-1923.tex
similarity index 100%
rename from themes/posts/2021/08/stalin-lenin-1923.tex
rename to posts/2021/08/stalin-lenin-1923.tex
diff --git a/themes/posts/2021/10/bist-du-einer-unter-netten.tex b/posts/2021/10/bist-du-einer-unter-netten.tex
similarity index 100%
rename from themes/posts/2021/10/bist-du-einer-unter-netten.tex
rename to posts/2021/10/bist-du-einer-unter-netten.tex
diff --git a/themes/posts/2023/05/oh-gott-im-himmel.tex b/posts/2023/05/oh-gott-im-himmel.tex
similarity index 100%
rename from themes/posts/2023/05/oh-gott-im-himmel.tex
rename to posts/2023/05/oh-gott-im-himmel.tex
diff --git a/themes/posts/2023/12/tishina.tex b/posts/2023/12/tishina.tex
similarity index 100%
rename from themes/posts/2023/12/tishina.tex
rename to posts/2023/12/tishina.tex
diff --git a/themes/posts/2024/09/anna.tex b/posts/2024/09/anna.tex
similarity index 100%
rename from themes/posts/2024/09/anna.tex
rename to posts/2024/09/anna.tex
diff --git a/themes/posts/2025/07/Kindheit.tex b/posts/2025/07/Kindheit.tex
similarity index 100%
rename from themes/posts/2025/07/Kindheit.tex
rename to posts/2025/07/Kindheit.tex
diff --git a/src/Main.hs b/src/Main.hs
index fac40ac..861b9ce 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -56,7 +56,8 @@ import Hakyll.Web.Template.Context
)
import Hakyll.Web.Template.List (recentFirst, sortRecentFirst)
import System.FilePath
- ( addTrailingPathSeparator
+ ( (>)
+ , addTrailingPathSeparator
, joinPath
, replaceExtension
, splitDirectories
@@ -66,16 +67,18 @@ import System.Process (rawSystem)
import qualified Network.Wai.Application.Static as Static
import Text.Pandoc.Options (HTMLMathMethod(..), WriterOptions(..))
---
--
-- Default configuration.
--
+-- deployment.txt is expected to contain the remote deployment path
+-- as its only content.
+--
configuration :: Configuration
configuration = Configuration
{ destinationDirectory = "./var/web"
, storeDirectory = "./var/cache"
, tmpDirectory = "./var/cache/tmp"
- , providerDirectory = "./themes"
+ , providerDirectory = "."
, watchIgnore = const False
, ignoreFile = const False
, deployCommand = "rsync"
@@ -101,6 +104,12 @@ configuration = Configuration
--
-- Helpers.
--
+loadAndApplyLayout :: String -> Context String -> Item String -> Compiler (Item String)
+loadAndApplyLayout layout context item =
+ let layoutPath = fromFilePath $ "templates/_layouts" > layout
+ in loadAndApplyTemplate layoutPath context item
+ >>= loadAndApplyTemplate "templates/default.html" context
+
createIndex :: Tags -> Rules ()
createIndex tags = do
paginate <- buildPaginateWith grouper "posts/**" makeId
@@ -117,8 +126,7 @@ createIndex tags = do
<> paginateContext paginate pageNumber
<> flevumContext tags
makeItem ""
- >>= loadAndApplyTemplate "templates/blog.html" context
- >>= loadAndApplyTemplate "templates/default.html" context
+ >>= loadAndApplyLayout "blog.html" context
>>= cleanIndexUrls
makeId 1 = "index.html"
makeId pageNumber = fromFilePath $ shows pageNumber ".html"
@@ -231,8 +239,7 @@ createTagPage tags tagName tagPattern = do
<> flevumContext tags
makeItem ""
- >>= loadAndApplyTemplate "templates/tag.html" context
- >>= loadAndApplyTemplate "templates/default.html" context
+ >>= loadAndApplyLayout "tag.html" context
tagBase = fromFilePath . (("tags/" ++ tagName) ++)
makeId 1 = tagBase "/index.html"
makeId pageNumber = tagBase ('/' : shows pageNumber ".html")
@@ -252,8 +259,7 @@ rules = do
match "pages/*.tex" $ do
route withoutRootRoute
compile $ bibtexCompiler
- >>= loadAndApplyTemplate "templates/page.html" contextWithTags
- >>= loadAndApplyTemplate "templates/default.html" contextWithTags
+ >>= loadAndApplyLayout "page.html" contextWithTags
>>= cleanIndexUrls
-- Categories.
@@ -264,16 +270,14 @@ rules = do
route withoutRootRoute
compile $ bibtexCompiler
>>= saveSnapshot "content"
- >>= loadAndApplyTemplate "templates/post.html" (postCtx tags)
- >>= loadAndApplyTemplate "templates/default.html" (postCtx tags)
+ >>= loadAndApplyLayout "post.html" (postCtx tags)
>>= cleanIndexUrls
match "assets/bibliography/*.bib" $ compile biblioCompiler
match "assets/bibliography/*.csl" $ compile cslCompiler
-- Templates.
- match (fromGlob "templates/*") $ compile templateBodyCompiler
- match "_includes/**" $ compile templateBodyCompiler
+ match (fromGlob "templates/**") $ compile templateBodyCompiler
-- Copy files.
copyMatchedFiles "assets/fonts/*"
diff --git a/themes/_includes/components/pagination.html b/templates/_includes/components/pagination.html
similarity index 100%
rename from themes/_includes/components/pagination.html
rename to templates/_includes/components/pagination.html
diff --git a/themes/_includes/components/post.html b/templates/_includes/components/post.html
similarity index 100%
rename from themes/_includes/components/post.html
rename to templates/_includes/components/post.html
diff --git a/themes/_includes/layout/footer.html b/templates/_includes/layout/footer.html
similarity index 100%
rename from themes/_includes/layout/footer.html
rename to templates/_includes/layout/footer.html
diff --git a/themes/_includes/layout/header.html b/templates/_includes/layout/header.html
similarity index 100%
rename from themes/_includes/layout/header.html
rename to templates/_includes/layout/header.html
diff --git a/themes/_includes/layout/navigation.html b/templates/_includes/layout/navigation.html
similarity index 100%
rename from themes/_includes/layout/navigation.html
rename to templates/_includes/layout/navigation.html
diff --git a/themes/_includes/meta.html b/templates/_includes/meta.html
similarity index 100%
rename from themes/_includes/meta.html
rename to templates/_includes/meta.html
diff --git a/themes/_includes/partials/burgerMenu.html b/templates/_includes/partials/burgerMenu.html
similarity index 100%
rename from themes/_includes/partials/burgerMenu.html
rename to templates/_includes/partials/burgerMenu.html
diff --git a/themes/_includes/partials/headerSeparator.html b/templates/_includes/partials/headerSeparator.html
similarity index 100%
rename from themes/_includes/partials/headerSeparator.html
rename to templates/_includes/partials/headerSeparator.html
diff --git a/templates/_layouts/blog.html b/templates/_layouts/blog.html
new file mode 100644
index 0000000..3b0ab27
--- /dev/null
+++ b/templates/_layouts/blog.html
@@ -0,0 +1,7 @@
+