template update and clean up

This commit is contained in:
are0h 2022-03-20 15:14:23 -07:00
parent 692926c816
commit a841063ddb
15 changed files with 172 additions and 9223 deletions

View file

@ -6,38 +6,38 @@
{% block stylesheets %}
<link rel="stylesheet" type="text/css" href="/assets/css/dash.css?=sdsdsds">
{% endblock %}
{% block mainContent %}
<div id="nav-index">
<div id="nav-index-wrapper">
<div id="nav-pages">
{% for item in menu %}
<div id="{{item.id}}" class="nav-item" data-slug="{{item.slug}}" data-uuid="{{item.uuid}}" data-path="{{item.path}}">
<svg id="item-arrows">
<use xlink:href="/assets/images/global/sprite.svg#entypo-select-arrows"/>
</svg>
<label>{{item.title}}</label>
<div id="nav-btns">
<button id="edit-item" class="nav-btn" data-id="{{item.uuid}}" title="edit page">
<svg>
<use xlink:href="/assets/images/global/sprite.svg#entypo-edit"/>
</svg>
</button>
<button id="remove-item" class="nav-btn" data-uuid="{{item.uuid}}" data-id="{{item.id}}" title="delete from menu">
<svg>
<use xlink:href="/assets/images/global/sprite.svg#entypo-cross"/>
</svg>
</button>
</div>
{% endblock %}
{% block mainContent %}
<div id="nav-index">
<div id="nav-index-wrapper">
<div id="nav-pages">
{% for item in menu %}
<div id="{{item.id}}" class="nav-item" data-slug="{{item.slug}}" data-uuid="{{item.uuid}}" data-path="{{item.path}}">
<svg id="item-arrows">
<use xlink:href="/assets/images/global/sprite.svg#entypo-select-arrows"/>
</svg>
<label>{{item.title}}</label>
<div id="nav-btns">
<button id="edit-item" class="nav-btn" data-id="{{item.uuid}}" title="edit page">
<svg>
<use xlink:href="/assets/images/global/sprite.svg#entypo-edit"/>
</svg>
</button>
<button id="remove-item" class="nav-btn" data-uuid="{{item.uuid}}" data-id="{{item.id}}" title="delete from menu">
<svg>
<use xlink:href="/assets/images/global/sprite.svg#entypo-cross"/>
</svg>
</button>
</div>
{% endfor %}
</div>
</div>
{% endfor %}
</div>
</div>
{% endblock %}
</div>
{% endblock %}
{% block javascripts %}
<script src="/assets/scripts/Start.js?=cvfggt" type="text/javascript"></script>
{% endblock %}
{% block javascripts %}
<script src="/assets/scripts/Start.js?=cvfggt" type="text/javascript"></script>
{% endblock %}

View file

@ -47,7 +47,7 @@
<div id="page-file-manager">
<div id="page-file-wrapper">
<div id="page-file-drop">
<label for="page-files-upload">DRAG AND DROP FILES OR CLICK TO SELECT</label>
<label for="page-files-upload">DRAG AND DROP FILES OR CLICK TO SELECT</label>
</div>
IMAGES AND VIDEO
<div id="page-images-list"></div>

View file

@ -23,5 +23,5 @@
{% endblock %}
{% block javascripts %}
<script src="/assets/scripts/Start.js?=ghji" type="text/javascript"></script>
<script src="/assets/scripts/Start.js?=dfdfsdf" type="text/javascript"></script>
{% endblock %}

View file

@ -299,9 +299,6 @@ button, input[type=submit] {
cursor: pointer;
border: 0;
padding: 10px 0 5px 0;
-moz-transition: all 0.3s linear;
-webkit-transition: all 0.3s linear;
-o-transition: all 0.3s linear;
transition: all 0.3s linear;
}
@ -344,8 +341,7 @@ html {
overflow: hidden;
font: 400 1.2em/1.4em Helvetica, Arial, sans-serif;
}
body {
html body {
background: #ebe5d4;
margin: 0;
padding: 0;
@ -356,96 +352,87 @@ body {
overflow-y: scroll;
overflow-x: hidden;
}
a {
html body a {
color: #151d26;
text-decoration: none;
border-bottom: 1px solid #7ED07E;
}
a:hover {
html body a:hover {
border-bottom: 1px solid #FC6399;
}
code {
html body code {
background: #32302f;
color: #7ED07E;
border-radius: 3px;
padding: 3px;
}
pre {
html body pre {
background: #32302f;
color: #7ED07E;
border-radius: 3px;
padding: 3px;
}
code {
html body code {
color: #FC6399;
background: none;
}
svg.icons {
html body svg.icons {
width: 25px;
fill: #ebe5d4;
}
header {
html body header {
background: #151d26;
height: 90%;
width: 100%;
border-top: #ebe5d4 3px solid;
}
header #media {
html body header #media {
width: 100%;
height: 90%;
position: absolute;
}
header #media .slide {
-moz-transition: all 0.7s linear;
-webkit-transition: all 0.7s linear;
-o-transition: all 0.7s linear;
html body header #media .slide {
transition: all 0.7s linear;
width: 100%;
height: 100%;
position: absolute;
}
header #media .hide {
html body header #media .hide {
opacity: 0;
}
header #media .show {
html body header #media .show {
opacity: 1;
}
header #media video {
html body header #media video {
width: 100%;
height: 100%;
object-fit: cover;
}
header nav {
html body header nav {
width: 97%;
margin: 10px auto;
z-index: 1000;
position: relative;
color: #151d26;
}
header nav .left, header nav .right {
html body header nav .left, html body header nav .right {
width: 50%;
display: inline-block;
vertical-align: top;
}
header nav .left a.logo-link {
html body header nav .left a.logo-link {
border-bottom: none;
margin: 0 0 20px 0;
display: block;
}
header nav .left a.logo-link #logo {
html body header nav .left a.logo-link #logo {
width: 50px;
border-bottom: none;
}
header nav .right {
html body header nav .right {
text-align: right;
}
header nav .right a.menu-link {
html body header nav .right a.menu-link {
background: #FC6399;
margin-bottom: 4px;
padding: 3px;
@ -454,11 +441,10 @@ header nav .right a.menu-link {
font-size: 0.8em;
border-bottom: none;
}
header nav .right a.menu-link:hover {
html body header nav .right a.menu-link:hover {
background: #FC6399;
}
.container {
html body .container {
z-index: 2;
background: #ebe5d4;
line-height: 30px;
@ -466,7 +452,7 @@ header nav .right a.menu-link:hover {
width: 100%;
color: #32302f;
}
.container article {
html body .container article {
position: relative;
width: 80%;
height: 80%;
@ -476,83 +462,92 @@ header nav .right a.menu-link:hover {
color: #32302f;
margin: 0 auto;
}
.container article .index, .container article .page {
html body .container article .index, html body .container article .page {
padding: 0 0 15px 0;
}
.container article .index img, .container article .page img {
html body .container article .index img, html body .container article .page img {
display: block;
width: 100%;
}
.container article .index h1, .container article .page h1 {
html body .container article .index h1, html body .container article .index h2, html body .container article .page h1, html body .container article .page h2 {
color: #151d26;
}
.container article .index p, .container article .page p {
html body .container article .index p, html body .container article .page p {
font: 300 1.25em/1.6em Helvetica, Arial, sans-serif;
}
.container article .index .meta, .container article .page .meta {
html body .container article .index .page_files .page_doc a, html body .container article .page .page_files .page_doc a {
background: #32302f;
border-radius: 3px;
color: #ebe5d4;
padding: 3px;
margin: 0 5px 0 0;
}
html body .container article .index .meta, html body .container article .page .meta {
font: 500 0.8em/1.3em Helvetica, Arial, sans-serif;
padding: 5px 0 0 0;
border-top: 1px solid #151d26;
background: #ebe5d4;
}
.container article .index .meta a, .container article .page .meta a {
html body .container article .index .meta a, html body .container article .page .meta a {
font-size: 0.8em;
font-weight: 400;
}
.container article .index .archive-item, .container article .page .archive-item {
html body .container article .index .archive-item, html body .container article .page .archive-item {
padding: 15px 0 20px 0;
}
.container article .index .archive-item span.year, .container article .page .archive-item span.year {
html body .container article .index .archive-item span.year, html body .container article .page .archive-item span.year {
font-size: 1.5em;
font-weight: 500;
padding: 5px;
display: block;
color: #151d26;
}
.container article .index .archive-item .archive-month, .container article .page .archive-item .archive-month {
html body .container article .index .archive-item .archive-month, html body .container article .page .archive-item .archive-month {
display: inline-block;
vertical-align: top;
width: 30%;
padding: 5px;
}
.container article .index .archive-item .archive-month span.month, .container article .page .archive-item .archive-month span.month {
html body .container article .index .archive-item .archive-month span.month, html body .container article .page .archive-item .archive-month span.month {
color: #FC6399;
font-size: 1.5em;
font-weight: 300;
padding: 5px;
display: block;
}
.container section {
html body .container section {
padding: 0 0 20px 0;
background: #151d26;
}
.container section a {
html body .container section a {
color: #ebe5d4;
}
.container section .index-lists, .container section .page-title {
html body .container section .index-lists, html body .container section .page-title {
max-width: 840px;
width: 80%;
margin: 0 auto;
padding: 20px 0 0 0;
}
.container section .index-lists span, .container section .page-title span {
html body .container section .index-lists span, html body .container section .page-title span {
font-size: 2em;
color: #FC6399;
font-weight: 400;
width: 80%;
margin: 0 auto;
padding: 20px 0 0 0;
}
.container section .index-lists .recent, .container section .index-lists .featured, .container section .page-title .recent, .container section .page-title .featured {
html body .container section .index-lists .recent, html body .container section .index-lists .featured, html body .container section .page-title .recent, html body .container section .page-title .featured {
display: inline-block;
width: 50%;
vertical-align: top;
}
.container section .index-lists label, .container section .page-title label {
html body .container section .index-lists label, html body .container section .page-title label {
background: #32302f;
color: #ebe5d4;
font-size: 1.5em;
line-height: 1.3;
}
footer {
html body footer {
background: #ebe5d4;
padding: 10px;
color: #151d26;
@ -560,49 +555,45 @@ footer {
font-weight: 600;
height: 100px;
}
footer .inner {
html body footer .inner {
margin: 20px auto;
width: 80%;
max-width: 840px;
}
footer .inner a {
html body footer .inner a {
color: #FC6399;
}
header nav {
html body header nav {
width: 98%;
}
header span {
html body header span {
font-size: 2.5em;
}
header .container article .index .archive-item .archive-month, header .container article .page .archive-item .archive-month {
html body header .container article .index .archive-item .archive-month, html body header .container article .page .archive-item .archive-month {
width: 45%;
}
header nav {
html body header nav {
width: 96%;
}
header .container article .index, header .container article .page {
html body header .container article .index, html body header .container article .page {
margin: 0;
}
header .container article .index p, header .container article .page p {
html body header .container article .index p, html body header .container article .page p {
font: 300 1em/1.6em Helvetica, Arial, sans-serif;
}
header .container section .index-lists .recent, header .container section .index-lists .featured {
html body header .container section .index-lists .recent, html body header .container section .index-lists .featured {
width: 100% !important;
}
header nav {
html body header nav {
width: 95%;
}
.container article .index, .container article .page {
html body .container article .index, html body .container article .page {
margin: 0;
}
.container article .index p, .container article .page p {
html body .container article .index p, html body .container article .page p {
font: 300 0.9em/1.7em Helvetica, Arial, sans-serif;
}
.container article .index .archive-item .archive-month, .container article .page .archive-item .archive-month {
html body .container article .index .archive-item .archive-month, html body .container article .page .archive-item .archive-month {
width: 95%;
}

View file

@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../styles/_typography.sass","../../../styles/_normalize.sass","../../../styles/_colors.sass","../../../styles/_forms.sass","../../../styles/_mixins.sass","../../../styles/_structure.sass"],"names":[],"mappings":"AAGA;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AChBJ;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAMI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;AAAA;AAAA;EAGI;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;;;AACJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;AAAA;EAEI;EACA;;;AAGJ;AAAA;EAEI;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;EAEI;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA,YCnFM;EDoFN,OCpFM;EDqFN;EACA;EACA;;;AAEJ;AAAA;EAEI;;;AAGA;EACI;EACA;;;AAER;EACI;;;AAGA;EACI;;;AAER;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;AAAA;EAEI;;;AAEJ;AAAA;AAAA;EAGI;;;AAEJ;AAAA;AAAA;AAAA;EAII;EACA;;;AAEJ;AAAA;AAAA;AAAA;EAII;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;EAEI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AEpMJ;EACI;;AACA;EACI,ODHE;;ACIN;EACI,YDHI;ECIJ,ODNE;ECOF;EACA;EACA;EACA;;;AAER;EACI;EACA;EACA;EACA;EACA;EACA;EACA,YDnBM;ECoBN,ODlBQ;;;ACoBZ;EACI;EACA;EACA,ODrBK;ECsBL;EACA,YD3BM;;;AC6BV;EACI,YD3BS;EC4BT,OD/BM;ECgCN;EACA;EACA;EACA;EACA;EACA;ECjCH;EACA;EACA;EACA;;;ADiCD;EACI;EACA;EACA;EACA;EACA;EACA,OD9CM;;;ACgDV;EACI;EACA,OD9CK;;;ACgDT;AACI;EACA;EACA,ODnDK;;;ACqDT;AACI;EACA;EACA,ODxDK;;;AC0DT;EACI;EACA,OD5DK;;;AGJT;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE,YHLO;EGMP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE,OHpBQ;EGqBR;EACA;;AAEA;EACE;;;AAEJ;EACE,YHvBO;EGwBP,OH1BW;EG2BX;EACA;;;AAEF;EACE,YH7BO;EG8BP,OHhCW;EGiCX;EACA;;;AACF;EACE,OHtCW;EGuCX;;;AAEF;EACE;EACA,MHxCO;;;AG0CT;EACE,YH/CQ;EGgDR;EACA;EACA;;AACA;EACE;EACA;EACA;;AACA;EDnDH;EACA;EACA;EACA;ECkDK;EACA;EACA;;AACF;EACE;;AACF;EACE;;AACF;EACE;EACA;EACA;;AACJ;EACE;EACA;EACA;EACA;EACA,OHzEM;;AG0EN;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AACA;EACE;EACA;;AACN;EACE;;AACA;EACE,YHxFK;EGyFL;EACA;EACA;EACA;EACA;EACA;;AACA;EACE,YHhGG;;;AGoGb;EACE;EACA,YHnGO;EGoGP;EACA;EACA;EAEA,OHvGO;;AGwGP;EACE;EACA;EACA;EACA;EAEA,YH/GK;EGgHL;EACA,OHhHK;EGiHL;;AAGA;EACE;;AACA;EACE;EACA;;AACF;EACE,OH/HE;;AGgIJ;EACE;;AAEF;EACI;EACA;EACA;EACA,YHnID;;AGoIC;EACE;EACA;;AAEN;EACE;;AACA;EACE;EACA;EACA;EACA;EACA,OHnJA;;AGoJF;EACE;EACA;EACA;EACA;;AACA;EACE,OHzJC;EG0JD;EACA;EACA;EACA;;AACV;EACE;EACA,YHjKM;;AGkKN;EACE,OH/JG;;AGgKL;EACE;EAKA;EACA;EACA;;AANA;EACE;EACA,OHvKK;EGwKL;;AAIF;EACE;EACA;EACA;;AACF;EACE,YH7KC;EG8KD,OH/KC;EGgLD;EACA;;;AAKR;EACE,YHvLO;EGwLP;EACA,OH7LQ;EG8LR;EACA;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE,OHrMO;;;AG4MX;EACI;;AACJ;EACE;;AAKM;EACE;;;AAIV;EACI;;AAGA;EACE;;AACA;EACE;;AAGF;EACE;;;AAKR;EACE;;;AAGA;EACE;;AACA;EACE;;AAEA;EACE","file":"base.css"}
{"version":3,"sourceRoot":"","sources":["../../../styles/_typography.sass","../../../styles/_normalize.sass","../../../styles/_colors.sass","../../../styles/_forms.sass","../../../styles/_structure.sass"],"names":[],"mappings":"AAGA;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AChBJ;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAMI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;AAAA;AAAA;EAGI;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;;;AACJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;AAAA;EAEI;EACA;;;AAGJ;AAAA;EAEI;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;EAEI;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA,YCnFM;EDoFN,OCpFM;EDqFN;EACA;EACA;;;AAEJ;AAAA;EAEI;;;AAGA;EACI;EACA;;;AAER;EACI;;;AAGA;EACI;;;AAER;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;AAAA;EAEI;;;AAEJ;AAAA;AAAA;EAGI;;;AAEJ;AAAA;AAAA;AAAA;EAII;EACA;;;AAEJ;AAAA;AAAA;AAAA;EAII;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;EAEI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AEpMJ;EACI;;AACA;EACI,ODHE;;ACIN;EACI,YDHI;ECIJ,ODNE;ECOF;EACA;EACA;EACA;;;AAER;EACI;EACA;EACA;EACA;EACA;EACA;EACA,YDnBM;ECoBN,ODlBQ;;;ACoBZ;EACI;EACA;EACA,ODrBK;ECsBL;EACA,YD3BM;;;AC6BV;EACI,YD3BS;EC4BT,OD/BM;ECgCN;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA,OD9CM;;;ACgDV;EACI;EACA,OD9CK;;;ACgDT;AACI;EACA;EACA,ODnDK;;;ACqDT;AACI;EACA;EACA,ODxDK;;;AC0DT;EACI;EACA,OD5DK;;;AEJT;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,YFLK;EEML;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,OFpBI;EEqBJ;EACA;;AAEA;EACE;;AAEJ;EACE,YFvBG;EEwBH,OF1BO;EE2BP;EACA;;AAEF;EACE,YF7BG;EE8BH,OFhCO;EEiCP;EACA;;AACF;EACE,OFtCO;EEuCP;;AAEF;EACE;EACA,MFxCG;;AE0CL;EACE,YF/CI;EEgDJ;EACA;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACF;EACE;;AACF;EACE;;AACF;EACE;EACA;EACA;;AACJ;EACE;EACA;EACA;EACA;EACA,OFzEE;;AE0EF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AACA;EACE;EACA;;AACN;EACE;;AACA;EACE,YFxFC;EEyFD;EACA;EACA;EACA;EACA;EACA;;AACA;EACE,YFhGD;;AEkGT;EACE;EACA,YFjGG;EEkGH;EACA;EACA;EAEA,OFrGG;;AEsGH;EACE;EACA;EACA;EACA;EAEA,YF7GC;EE8GD;EACA,OF9GC;EE+GD;;AAGA;EACE;;AACA;EACE;EACA;;AACF;EACE,OF7HF;;AE8HA;EACE;;AAIE;EACE,YF/HP;EEgIO;EACA,OFlIP;EEmIO;EACA;;AACN;EACE;EACA;EACA;EACA,YFzIH;;AE0IG;EACE;EACA;;AAEJ;EACE;;AACA;EACE;EACA;EACA;EACA;EACA,OFzJJ;;AE0JE;EACE;EACA;EACA;EACA;;AACA;EACE,OF/JH;EEgKG;EACA;EACA;EACA;;AACV;EACE;EACA,YFvKE;;AEwKF;EACE,OFrKD;;AEsKD;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA,OFjLC;EEkLD;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;;AACF;EACE,YFvLH;EEwLG,OFzLH;EE0LG;EACA;;AAER;EACE,YF9LG;EE+LH;EACA,OFpMI;EEqMJ;EACA;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE,OF5MG;;AEkNP;EACE;;AACF;EACE;;AAKM;EACE;;AAIV;EACE;;AAGE;EACE;;AACA;EACE;;AAGF;EACE;;AAIR;EACE;;AAGA;EACE;;AACA;EACE;;AAEA;EACE","file":"base.css"}

View file

@ -1,2 +0,0 @@
(()=>{class t{constructor(){this.start()}start(){console.log("Connected like F.E.")}}document.addEventListener("DOMContentLoaded",(function(){new t}),!1)})();
//# sourceMappingURL=Start.js.map

View file

@ -1 +0,0 @@
{"mappings":"4BAKIA,KAAKC,QAEPA,QACEC,QAAQC,IAAI,wBCNhBC,SAASC,iBACP,oBACA,WACa,IAAIC,KAEjB","sources":["src/themes/theme-fipamo-default/com/Base.js","src/themes/theme-fipamo-default/com/Start.js"],"sourcesContent":["export default class Base {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n this.start();\n }\n start() {\n console.log(\"Connected like F.E.\");\n }\n //--------------------------\n // methods\n //--------------------------\n\n //--------------------------\n // event handlers\n //--------------------------\n}\n","import Base from \"./Base.js\";\n\ndocument.addEventListener(\n \"DOMContentLoaded\",\n function () {\n var base = new Base();\n },\n false\n);\n"],"names":["this","start","console","log","document","addEventListener","$b8d4b81eabebe07b$export$2e2bcd8739ae039"],"version":3,"file":"Start.js.map"}

View file

@ -1,583 +1,2 @@
// modules are defined as an array
// [ module function, map of requires ]
//
// map of requires is short require name -> numeric require
//
// anything defined in a previous bundle is accessed via the
// orig method which is the require for previous bundles
(function (modules, entry, mainEntry, parcelRequireName, globalName) {
/* eslint-disable no-undef */
var globalObject =
typeof globalThis !== 'undefined'
? globalThis
: typeof self !== 'undefined'
? self
: typeof window !== 'undefined'
? window
: typeof global !== 'undefined'
? global
: {};
/* eslint-enable no-undef */
// Save the require from previous bundle to this closure if any
var previousRequire =
typeof globalObject[parcelRequireName] === 'function' &&
globalObject[parcelRequireName];
var cache = previousRequire.cache || {};
// Do not use `require` to prevent Webpack from trying to bundle this call
var nodeRequire =
typeof module !== 'undefined' &&
typeof module.require === 'function' &&
module.require.bind(module);
function newRequire(name, jumped) {
if (!cache[name]) {
if (!modules[name]) {
// if we cannot find the module within our internal map or
// cache jump to the current global require ie. the last bundle
// that was added to the page.
var currentRequire =
typeof globalObject[parcelRequireName] === 'function' &&
globalObject[parcelRequireName];
if (!jumped && currentRequire) {
return currentRequire(name, true);
}
// If there are other bundles on this page the require from the
// previous one is saved to 'previousRequire'. Repeat this as
// many times as there are bundles until the module is found or
// we exhaust the require chain.
if (previousRequire) {
return previousRequire(name, true);
}
// Try the node require function if it exists.
if (nodeRequire && typeof name === 'string') {
return nodeRequire(name);
}
var err = new Error("Cannot find module '" + name + "'");
err.code = 'MODULE_NOT_FOUND';
throw err;
}
localRequire.resolve = resolve;
localRequire.cache = {};
var module = (cache[name] = new newRequire.Module(name));
modules[name][0].call(
module.exports,
localRequire,
module,
module.exports,
this
);
}
return cache[name].exports;
function localRequire(x) {
var res = localRequire.resolve(x);
return res === false ? {} : newRequire(res);
}
function resolve(x) {
var id = modules[name][1][x];
return id != null ? id : x;
}
}
function Module(moduleName) {
this.id = moduleName;
this.bundle = newRequire;
this.exports = {};
}
newRequire.isParcelRequire = true;
newRequire.Module = Module;
newRequire.modules = modules;
newRequire.cache = cache;
newRequire.parent = previousRequire;
newRequire.register = function (id, exports) {
modules[id] = [
function (require, module) {
module.exports = exports;
},
{},
];
};
Object.defineProperty(newRequire, 'root', {
get: function () {
return globalObject[parcelRequireName];
},
});
globalObject[parcelRequireName] = newRequire;
for (var i = 0; i < entry.length; i++) {
newRequire(entry[i]);
}
if (mainEntry) {
// Expose entry point to Node, AMD or browser globals
// Based on https://github.com/ForbesLindesay/umd/blob/master/template.js
var mainExports = newRequire(mainEntry);
// CommonJS
if (typeof exports === 'object' && typeof module !== 'undefined') {
module.exports = mainExports;
// RequireJS
} else if (typeof define === 'function' && define.amd) {
define(function () {
return mainExports;
});
// <script>
} else if (globalName) {
this[globalName] = mainExports;
}
}
})({"5ZIt9":[function(require,module,exports) {
"use strict";
var HMR_HOST = null;
var HMR_PORT = 1234;
var HMR_SECURE = false;
var HMR_ENV_HASH = "d6ea1d42532a7575";
module.bundle.HMR_BUNDLE_ID = "423b0fbd795fbd6e";
function _toConsumableArray(arr) {
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
function _createForOfIteratorHelper(o, allowArrayLike) {
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
if (!it) {
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
if (it) o = it;
var i = 0;
var F = function F() {
};
return {
s: F,
n: function n() {
if (i >= o.length) return {
done: true
};
return {
done: false,
value: o[i++]
};
},
e: function e(_e) {
throw _e;
},
f: F
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var normalCompletion = true, didErr = false, err;
return {
s: function s() {
it = it.call(o);
},
n: function n() {
var step = it.next();
normalCompletion = step.done;
return step;
},
e: function e(_e2) {
didErr = true;
err = _e2;
},
f: function f() {
try {
if (!normalCompletion && it.return != null) it.return();
} finally{
if (didErr) throw err;
}
}
};
}
function _unsupportedIterableToArray(o, minLen) {
if (!o) return;
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
}
function _arrayLikeToArray(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
return arr2;
}
/* global HMR_HOST, HMR_PORT, HMR_ENV_HASH, HMR_SECURE */ /*::
import type {
HMRAsset,
HMRMessage,
} from '@parcel/reporter-dev-server/src/HMRServer.js';
interface ParcelRequire {
(string): mixed;
cache: {|[string]: ParcelModule|};
hotData: mixed;
Module: any;
parent: ?ParcelRequire;
isParcelRequire: true;
modules: {|[string]: [Function, {|[string]: string|}]|};
HMR_BUNDLE_ID: string;
root: ParcelRequire;
}
interface ParcelModule {
hot: {|
data: mixed,
accept(cb: (Function) => void): void,
dispose(cb: (mixed) => void): void,
// accept(deps: Array<string> | string, cb: (Function) => void): void,
// decline(): void,
_acceptCallbacks: Array<(Function) => void>,
_disposeCallbacks: Array<(mixed) => void>,
|};
}
declare var module: {bundle: ParcelRequire, ...};
declare var HMR_HOST: string;
declare var HMR_PORT: string;
declare var HMR_ENV_HASH: string;
declare var HMR_SECURE: boolean;
*/ var OVERLAY_ID = '__parcel__error__overlay__';
var OldModule = module.bundle.Module;
function Module(moduleName) {
OldModule.call(this, moduleName);
this.hot = {
data: module.bundle.hotData,
_acceptCallbacks: [],
_disposeCallbacks: [],
accept: function accept(fn) {
this._acceptCallbacks.push(fn || function() {
});
},
dispose: function dispose(fn) {
this._disposeCallbacks.push(fn);
}
};
module.bundle.hotData = undefined;
}
module.bundle.Module = Module;
var checkedAssets, acceptedAssets, assetsToAccept;
function getHostname() {
return HMR_HOST || (location.protocol.indexOf('http') === 0 ? location.hostname : 'localhost');
}
function getPort() {
return HMR_PORT || location.port;
} // eslint-disable-next-line no-redeclare
var parent = module.bundle.parent;
if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {
var hostname = getHostname();
var port = getPort();
var protocol = HMR_SECURE || location.protocol == 'https:' && !/localhost|127.0.0.1|0.0.0.0/.test(hostname) ? 'wss' : 'ws';
var ws = new WebSocket(protocol + '://' + hostname + (port ? ':' + port : '') + '/'); // $FlowFixMe
ws.onmessage = function(event) {
checkedAssets = {
};
acceptedAssets = {
};
assetsToAccept = [];
var data = JSON.parse(event.data);
if (data.type === 'update') {
// Remove error overlay if there is one
if (typeof document !== 'undefined') removeErrorOverlay();
var assets = data.assets.filter(function(asset) {
return asset.envHash === HMR_ENV_HASH;
}); // Handle HMR Update
var handled = assets.every(function(asset) {
return asset.type === 'css' || asset.type === 'js' && hmrAcceptCheck(module.bundle.root, asset.id, asset.depsByBundle);
});
if (handled) {
console.clear();
assets.forEach(function(asset) {
hmrApply(module.bundle.root, asset);
});
for(var i = 0; i < assetsToAccept.length; i++){
var id = assetsToAccept[i][1];
if (!acceptedAssets[id]) hmrAcceptRun(assetsToAccept[i][0], id);
}
} else window.location.reload();
}
if (data.type === 'error') {
// Log parcel errors to console
var _iterator = _createForOfIteratorHelper(data.diagnostics.ansi), _step;
try {
for(_iterator.s(); !(_step = _iterator.n()).done;){
var ansiDiagnostic = _step.value;
var stack = ansiDiagnostic.codeframe ? ansiDiagnostic.codeframe : ansiDiagnostic.stack;
console.error('🚨 [parcel]: ' + ansiDiagnostic.message + '\n' + stack + '\n\n' + ansiDiagnostic.hints.join('\n'));
}
} catch (err) {
_iterator.e(err);
} finally{
_iterator.f();
}
if (typeof document !== 'undefined') {
// Render the fancy html overlay
removeErrorOverlay();
var overlay = createErrorOverlay(data.diagnostics.html); // $FlowFixMe
document.body.appendChild(overlay);
}
}
};
ws.onerror = function(e) {
console.error(e.message);
};
ws.onclose = function() {
console.warn('[parcel] 🚨 Connection to the HMR server was lost');
};
}
function removeErrorOverlay() {
var overlay = document.getElementById(OVERLAY_ID);
if (overlay) {
overlay.remove();
console.log('[parcel] ✨ Error resolved');
}
}
function createErrorOverlay(diagnostics) {
var overlay = document.createElement('div');
overlay.id = OVERLAY_ID;
var errorHTML = '<div style="background: black; opacity: 0.85; font-size: 16px; color: white; position: fixed; height: 100%; width: 100%; top: 0px; left: 0px; padding: 30px; font-family: Menlo, Consolas, monospace; z-index: 9999;">';
var _iterator2 = _createForOfIteratorHelper(diagnostics), _step2;
try {
for(_iterator2.s(); !(_step2 = _iterator2.n()).done;){
var diagnostic = _step2.value;
var stack = diagnostic.codeframe ? diagnostic.codeframe : diagnostic.stack;
errorHTML += "\n <div>\n <div style=\"font-size: 18px; font-weight: bold; margin-top: 20px;\">\n \uD83D\uDEA8 ".concat(diagnostic.message, "\n </div>\n <pre>").concat(stack, "</pre>\n <div>\n ").concat(diagnostic.hints.map(function(hint) {
return '<div>💡 ' + hint + '</div>';
}).join(''), "\n </div>\n ").concat(diagnostic.documentation ? "<div>\uD83D\uDCDD <a style=\"color: violet\" href=\"".concat(diagnostic.documentation, "\" target=\"_blank\">Learn more</a></div>") : '', "\n </div>\n ");
}
} catch (err) {
_iterator2.e(err);
} finally{
_iterator2.f();
}
errorHTML += '</div>';
overlay.innerHTML = errorHTML;
return overlay;
}
function getParents(bundle, id) /*: Array<[ParcelRequire, string]> */ {
var modules = bundle.modules;
if (!modules) return [];
var parents = [];
var k, d, dep;
for(k in modules)for(d in modules[k][1]){
dep = modules[k][1][d];
if (dep === id || Array.isArray(dep) && dep[dep.length - 1] === id) parents.push([
bundle,
k
]);
}
if (bundle.parent) parents = parents.concat(getParents(bundle.parent, id));
return parents;
}
function updateLink(link) {
var newLink = link.cloneNode();
newLink.onload = function() {
if (link.parentNode !== null) // $FlowFixMe
link.parentNode.removeChild(link);
};
newLink.setAttribute('href', link.getAttribute('href').split('?')[0] + '?' + Date.now()); // $FlowFixMe
link.parentNode.insertBefore(newLink, link.nextSibling);
}
var cssTimeout = null;
function reloadCSS() {
if (cssTimeout) return;
cssTimeout = setTimeout(function() {
var links = document.querySelectorAll('link[rel="stylesheet"]');
for(var i = 0; i < links.length; i++){
// $FlowFixMe[incompatible-type]
var href = links[i].getAttribute('href');
var hostname = getHostname();
var servedFromHMRServer = hostname === 'localhost' ? new RegExp('^(https?:\\/\\/(0.0.0.0|127.0.0.1)|localhost):' + getPort()).test(href) : href.indexOf(hostname + ':' + getPort());
var absolute = /^https?:\/\//i.test(href) && href.indexOf(window.location.origin) !== 0 && !servedFromHMRServer;
if (!absolute) updateLink(links[i]);
}
cssTimeout = null;
}, 50);
}
function hmrApply(bundle, asset) {
var modules = bundle.modules;
if (!modules) return;
if (asset.type === 'css') reloadCSS();
else if (asset.type === 'js') {
var deps = asset.depsByBundle[bundle.HMR_BUNDLE_ID];
if (deps) {
if (modules[asset.id]) {
// Remove dependencies that are removed and will become orphaned.
// This is necessary so that if the asset is added back again, the cache is gone, and we prevent a full page reload.
var oldDeps = modules[asset.id][1];
for(var dep in oldDeps)if (!deps[dep] || deps[dep] !== oldDeps[dep]) {
var id = oldDeps[dep];
var parents = getParents(module.bundle.root, id);
if (parents.length === 1) hmrDelete(module.bundle.root, id);
}
}
var fn = new Function('require', 'module', 'exports', asset.output);
modules[asset.id] = [
fn,
deps
];
} else if (bundle.parent) hmrApply(bundle.parent, asset);
}
}
function hmrDelete(bundle, id1) {
var modules = bundle.modules;
if (!modules) return;
if (modules[id1]) {
// Collect dependencies that will become orphaned when this module is deleted.
var deps = modules[id1][1];
var orphans = [];
for(var dep in deps){
var parents = getParents(module.bundle.root, deps[dep]);
if (parents.length === 1) orphans.push(deps[dep]);
} // Delete the module. This must be done before deleting dependencies in case of circular dependencies.
delete modules[id1];
delete bundle.cache[id1]; // Now delete the orphans.
orphans.forEach(function(id) {
hmrDelete(module.bundle.root, id);
});
} else if (bundle.parent) hmrDelete(bundle.parent, id1);
}
function hmrAcceptCheck(bundle, id, depsByBundle) {
if (hmrAcceptCheckOne(bundle, id, depsByBundle)) return true;
// Traverse parents breadth first. All possible ancestries must accept the HMR update, or we'll reload.
var parents = getParents(module.bundle.root, id);
var accepted = false;
while(parents.length > 0){
var v = parents.shift();
var a = hmrAcceptCheckOne(v[0], v[1], null);
if (a) // If this parent accepts, stop traversing upward, but still consider siblings.
accepted = true;
else {
// Otherwise, queue the parents in the next level upward.
var p = getParents(module.bundle.root, v[1]);
if (p.length === 0) {
// If there are no parents, then we've reached an entry without accepting. Reload.
accepted = false;
break;
}
parents.push.apply(parents, _toConsumableArray(p));
}
}
return accepted;
}
function hmrAcceptCheckOne(bundle, id, depsByBundle) {
var modules = bundle.modules;
if (!modules) return;
if (depsByBundle && !depsByBundle[bundle.HMR_BUNDLE_ID]) {
// If we reached the root bundle without finding where the asset should go,
// there's nothing to do. Mark as "accepted" so we don't reload the page.
if (!bundle.parent) return true;
return hmrAcceptCheck(bundle.parent, id, depsByBundle);
}
if (checkedAssets[id]) return true;
checkedAssets[id] = true;
var cached = bundle.cache[id];
assetsToAccept.push([
bundle,
id
]);
if (!cached || cached.hot && cached.hot._acceptCallbacks.length) return true;
}
function hmrAcceptRun(bundle, id) {
var cached = bundle.cache[id];
bundle.hotData = {
};
if (cached && cached.hot) cached.hot.data = bundle.hotData;
if (cached && cached.hot && cached.hot._disposeCallbacks.length) cached.hot._disposeCallbacks.forEach(function(cb) {
cb(bundle.hotData);
});
delete bundle.cache[id];
bundle(id);
cached = bundle.cache[id];
if (cached && cached.hot && cached.hot._acceptCallbacks.length) cached.hot._acceptCallbacks.forEach(function(cb) {
var assetsToAlsoAccept = cb(function() {
return getParents(module.bundle.root, id);
});
if (assetsToAlsoAccept && assetsToAccept.length) // $FlowFixMe[method-unbinding]
assetsToAccept.push.apply(assetsToAccept, assetsToAlsoAccept);
});
acceptedAssets[id] = true;
}
},{}],"3OjfR":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
var _baseJs = require("./Base.js");
var _baseJsDefault = parcelHelpers.interopDefault(_baseJs);
document.addEventListener("DOMContentLoaded", function() {
var base = new _baseJsDefault.default();
}, false);
},{"./Base.js":"jWciR","@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}],"jWciR":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports);
class Base {
//--------------------------
// constructor
//--------------------------
constructor(){
this.currentSlide = 0;
this.slides = document.querySelectorAll("#media .slide");
this.start();
}
start() {
if (this.slides.length > 1) this.slideInterval = setInterval(()=>{
this.slides[this.currentSlide].className = "slide hide";
this.currentSlide = (this.currentSlide + 1) % this.slides.length;
this.slides[this.currentSlide].className = "slide show";
}, 3000);
}
}
exports.default = Base;
},{"@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}],"gkKU3":[function(require,module,exports) {
exports.interopDefault = function(a) {
return a && a.__esModule ? a : {
default: a
};
};
exports.defineInteropFlag = function(a) {
Object.defineProperty(a, '__esModule', {
value: true
});
};
exports.exportAll = function(source, dest) {
Object.keys(source).forEach(function(key) {
if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) return;
Object.defineProperty(dest, key, {
enumerable: true,
get: function() {
return source[key];
}
});
});
return dest;
};
exports.export = function(dest, destName, get) {
Object.defineProperty(dest, destName, {
enumerable: true,
get: get
});
};
},{}]},["5ZIt9","3OjfR"], "3OjfR", "parcelRequire0e20")
(()=>{class e{constructor(){this.currentSlide=0,this.slides=document.querySelectorAll("#media .slide"),this.start()}start(){this.slides.length>1&&(this.slideInterval=setInterval((()=>{this.slides[this.currentSlide].className="slide hide",this.currentSlide=(this.currentSlide+1)%this.slides.length,this.slides[this.currentSlide].className="slide show"}),3e3))}}document.addEventListener("DOMContentLoaded",(function(){new e}),!1)})();
//# sourceMappingURL=ThemeStart.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,2 +0,0 @@
!function(){"use strict";function n(n,e){for(var t=0;t<e.length;t++){var o=e[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(n,o.key,o)}}var e=function(){function e(){!function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.start()}var t,o,r;return t=e,(o=[{key:"start",value:function(){console.log("Connected like F.E.")}}])&&n(t.prototype,o),r&&n(t,r),e}();document.addEventListener("DOMContentLoaded",(function(){new e}),!1)}();
//# sourceMappingURL=start.min.js.map

View file

@ -1 +0,0 @@
{"version":3,"sources":["../../../com/Base.js","../../../com/Start.js"],"names":["Base","_classCallCheck","this","start","console","log","document","addEventListener"],"mappings":"mMAAqBA,EAAAA,WAIpB,SAAAA,iGAAcC,CAAAC,KAAAF,GACbE,KAAKC,oDAEN,WACCC,QAAQC,IAAI,yDAROL,GCErBM,SAASC,iBACP,oBACA,WACa,IAAIP,KAEjB","sourcesContent":["export default class Base {\n\t//--------------------------\n\t// constructor\n\t//--------------------------\n\tconstructor() {\n\t\tthis.start();\n\t}\n\tstart() {\n\t\tconsole.log('Connected like F.E.');\n\t}\n\t//--------------------------\n\t// methods\n\t//--------------------------\n\n\t//--------------------------\n\t// event handlers\n\t//--------------------------\n}\n","import Base from \"./Base.js\";\n\ndocument.addEventListener(\n \"DOMContentLoaded\",\n function () {\n var base = new Base();\n },\n false\n);\n"]}

View file

@ -0,0 +1,18 @@
{% extends "frame.twig" %}
{% block title %}
{{ title }}
{% endblock %}
{% block mainContent %}
<section>
<div class="page-title">
<span>{{title}}</span>
</div>
</section>
<article>
<div class="page">
<p>{{content | raw}}</p>
</div>
</article>
{% endblock %}

View file

@ -7,20 +7,44 @@
{% block mainContent %}
<section>
<div class="page-title">
<span>{{title}}</span>
<span>{{title}}</span><br>
This is a custom temlate
</div>
</section>
<article>
<div class="page">
[CUSTOM PAGE BRUH]
<p>{{content | raw}}</p>
<div>
<div class="page_files">
<div class="page_doc">
<strong>Files</strong><br/>
{% for doc in files %}
{% if doc.type != "mp3" %}
{% set path = doc.file|split('/') %}
<a href="{{doc.file}}">{{path[6]}}</a>
{% endif %}
{% endfor %}
</div>
<div class="page_sounds">
<strong>Sounds</strong><br/>
{% for doc in files %}
{% if doc.type == "mp3" %}
<audio controls>
<source src="{{doc.file}}" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
{% endif %}
{% endfor %}
</div>
</div>
<br/>
{{meta['who']}} dropped this {{ meta['when'] }}<br />
<strong>tags: </strong>
{% for tag in meta['tags'] %}
{% if dynamicRender is defined %}
{% if dynamicRender == 'false' %}
{% if dynamicRender == 'true' %}
<a href="{{ "/tags/"~tag.slug }}">{{ tag.label }}</a>
{% else %}
<a href="{{ "/tags/"~tag.slug~".html" }}">{{ tag.label }}</a>
@ -29,6 +53,7 @@
<a href="{{ "/tags/"~tag.slug~".html" }}">{{ tag.label }}</a>
{% endif %}
{% endfor %}
</div>
</div>
</article>

View file

@ -14,7 +14,31 @@
<div class="page">
<p>{{content | raw}}</p>
<div>
<div class="page_files">
<div class="page_doc">
<strong>Files</strong><br/>
{% for doc in files %}
{% if doc.type != "mp3" %}
{% set path = doc.file|split('/') %}
<a href="{{doc.file}}">{{path[6]}}</a>
{% endif %}
{% endfor %}
</div>
<div class="page_sounds">
<strong>Sounds</strong><br/>
{% for doc in files %}
{% if doc.type == "mp3" %}
<audio controls>
<source src="{{doc.file}}" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
{% endif %}
{% endfor %}
</div>
</div>
<br/>
{{meta['who']}} dropped this {{ meta['when'] }}<br />
<strong>tags: </strong>
{% for tag in meta['tags'] %}
@ -28,6 +52,7 @@
<a href="{{ "/tags/"~tag.slug~".html" }}">{{ tag.label }}</a>
{% endif %}
{% endfor %}
</div>
</div>
</article>

File diff suppressed because one or more lines are too long