Major development update.
* Updated LICENSE, READMES/METADATA.md and TODO.md * Added example blog to examples/ * Added preliminary Pygments support for embedding code in pages. * Add preliminary Wordpress dump importer * Expansions to template_tools and metadata to support Blog use case.
@ -1,2 +1,2 @@
|
||||
build: src/templates/* src/* src/images/* src/posts/*
|
||||
build: src/templates/* src/* src/images/*
|
||||
python -mpixywerk2 src publish
|
||||
|
31
examples/pixywerk.com/publish/2019-04-15.html
Normal file
@ -0,0 +1,31 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Pixywerk2 My first post</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<header><img src="images/pipe-leak.svg" style="filter: invert(1); height: 2em; float: left; margin: 2px; padding: 0"><h1>Pixywerk2 My first post</h1></header>
|
||||
<article>
|
||||
<img src="../images/20190415-0.jpg" class="featured">
|
||||
<div class="byline">
|
||||
<p>Author: Cas Rusnov</p>
|
||||
<p>Published: 2019-05-14T06:44:41.240513+00:00
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<p>This is an example post!</p>
|
||||
<p>yo fresh</p>
|
||||
<p>There are many posts like it but this one is mine.</p>
|
||||
</article>
|
||||
<nav><ul>
|
||||
<li>Documentation</li>
|
||||
<li>Blog </li>
|
||||
<li><a href="https://git.antpantheon.com/cas/pixywerk2">Gitea<img src="images/link-box-variant.svg"></a></li>
|
||||
<li>Github<img src="images/link-box-variant.svg"></li>
|
||||
</ul></nav>
|
||||
<footer>Copyright © 2019 by Cas Rusnov <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
14
examples/pixywerk.com/publish/atom.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
|
||||
<title>Pixywerk2 RSS Feed</title>
|
||||
<subtitle>Website Compiler</subtitle>
|
||||
<link href="https://pixywerk.com//atom.xml" rel="self" />
|
||||
<link href="https://pixywerk.com/" />
|
||||
<id>urn:uuid:2cbb1961-b1ca-3b73-a6ce-d2e2feae9ab4</id>
|
||||
<updated>2019-05-20T06:32:27.357672+00:00</updated>
|
||||
|
||||
|
||||
|
||||
</feed>
|
BIN
examples/pixywerk.com/publish/css/fonts/Bungee-Regular.woff
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/Bungee-Regular.woff2
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/ExpletusSans-Bold.ttf
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/ExpletusSans-Bold.woff
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/ExpletusSans-Bold.woff2
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/ExpletusSans-Italic.ttf
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/ExpletusSans-Italic.woff
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/ExpletusSans-Medium.ttf
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/ExpletusSans-Medium.woff
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/ExpletusSans-Regular.ttf
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/Teko-Bold.woff
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/Teko-Bold.woff2
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/Teko-Light.woff
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/Teko-Light.woff2
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/Teko-Medium.woff
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/Teko-Medium.woff2
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/Teko-Regular.woff
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/Teko-Regular.woff2
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/Teko-SemiBold.woff
Normal file
BIN
examples/pixywerk.com/publish/css/fonts/Teko-SemiBold.woff2
Normal file
1
examples/pixywerk.com/publish/css/icono.min.css
vendored
Normal file
@ -1,3 +1,344 @@
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-Bold.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-Bold.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
|
||||
body { margin: 10% 10% 0 10% }
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-BoldItalic.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-BoldItalic.woff') format('woff');
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-Italic.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-Italic.woff') format('woff');
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-Medium.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-Medium.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-MediumItalic.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-MediumItalic.woff') format('woff');
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-Regular.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-Regular.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-SemiBold.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-SemiBold.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-SemiBoldItalic.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-SemiBoldItalic.woff') format('woff');
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Teko';
|
||||
src: url('fonts/Teko-Bold.woff2') format('woff2'),
|
||||
url('fonts/Teko-Bold.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Teko Light';
|
||||
src: url('fonts/Teko-Light.woff2') format('woff2'),
|
||||
url('fonts/Teko-Light.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Teko Medium';
|
||||
src: url('fonts/Teko-Medium.woff2') format('woff2'),
|
||||
url('fonts/Teko-Medium.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Teko';
|
||||
src: url('fonts/Teko-Regular.woff2') format('woff2'),
|
||||
url('fonts/Teko-Regular.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Teko SemiBold';
|
||||
src: url('fonts/Teko-SemiBold.woff2') format('woff2'),
|
||||
url('fonts/Teko-SemiBold.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
body { margin: 0; font-family: Teko; font-size: 24pt; }
|
||||
h1, h2, h3, h4 { font-family: 'Expletus Sans'; font-weight: 700 }
|
||||
h1 { font-size: 150%; border-bottom: solid 1px black; }
|
||||
h2 { font-size: 125%; }
|
||||
h3 { font-size: 115%; }
|
||||
h4 { font-size: 100%; }
|
||||
|
||||
.container {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 220px auto auto;
|
||||
grid-template-rows: auto auto auto auto;
|
||||
}
|
||||
|
||||
header {
|
||||
border: 0;
|
||||
padding-left: 20px;
|
||||
height: 60px;
|
||||
grid-column: 1 / 4;
|
||||
background: black;
|
||||
color: white;
|
||||
}
|
||||
|
||||
header h1 { font-size: 18pt; border: none}
|
||||
|
||||
nav {
|
||||
grid-row: 2 / 5;
|
||||
grid-column: 1;
|
||||
}
|
||||
|
||||
nav ul {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
nav ul li {
|
||||
list-style-type: none;
|
||||
padding: 1px 20px 1px 20px;
|
||||
}
|
||||
|
||||
nav ul li:hover {
|
||||
background: black;
|
||||
color: white;
|
||||
}
|
||||
|
||||
nav ul li:hover img {
|
||||
filter: invert(1);
|
||||
}
|
||||
|
||||
nav ul li a {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
nav ul li:hover a:hover {
|
||||
color: white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
nav ul li a:visited {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
article {
|
||||
grid-row: 2 / 5;
|
||||
grid-column: 2 / 4;
|
||||
margin: 0 20px 0 20px;
|
||||
}
|
||||
|
||||
footer {
|
||||
font-size: 12pt;
|
||||
grid-column: 1 / 4;
|
||||
grid-row: 5;
|
||||
background: black;
|
||||
color: white;
|
||||
padding-top: 10px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.post div.featured {
|
||||
max-height: 250px;
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.post div.featured img.featured {
|
||||
max-width: initial;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.post div.featured h1 {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
left: 0;
|
||||
color: white;
|
||||
border: 0;
|
||||
padding: 10px 30px 10px 30px;
|
||||
background: rgba(0,0,0,0.5);
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
.post div.byline {
|
||||
margin-left: 30px;
|
||||
font-size: 0.75em;
|
||||
line-height: 0.75em;
|
||||
}
|
||||
|
||||
.post div.article {
|
||||
margin-left: 30Px;
|
||||
}
|
||||
|
||||
.post div.article p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.postgrid {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(300px, 33%) minmax(300px, 33%) minmax(300px, 33%);
|
||||
margin-bottom: 30px;
|
||||
column-gap: 10px;
|
||||
row-gap: 10px;
|
||||
}
|
||||
|
||||
.postgrid-item {
|
||||
height: 200px;
|
||||
max-height: 200px;
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.postgrid-item a img.featured {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.postgrid-item a div {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
color: white;
|
||||
border: 0;
|
||||
padding: 10px 30px 10px 30px;
|
||||
background: rgba(0,0,0,0.5);
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
.hll { background-color: #ffffcc }
|
||||
.c { color: #008800; font-style: italic } /* Comment */
|
||||
.err { border: 1px solid #FF0000 } /* Error */
|
||||
.k { color: #AA22FF; font-weight: bold } /* Keyword */
|
||||
.o { color: #666666 } /* Operator */
|
||||
.ch { color: #008800; font-style: italic } /* Comment.Hashbang */
|
||||
.cm { color: #008800; font-style: italic } /* Comment.Multiline */
|
||||
.cp { color: #008800 } /* Comment.Preproc */
|
||||
.cpf { color: #008800; font-style: italic } /* Comment.PreprocFile */
|
||||
.c1 { color: #008800; font-style: italic } /* Comment.Single */
|
||||
.cs { color: #008800; font-weight: bold } /* Comment.Special */
|
||||
.gd { color: #A00000 } /* Generic.Deleted */
|
||||
.ge { font-style: italic } /* Generic.Emph */
|
||||
.gr { color: #FF0000 } /* Generic.Error */
|
||||
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.gi { color: #00A000 } /* Generic.Inserted */
|
||||
.go { color: #888888 } /* Generic.Output */
|
||||
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
.gs { font-weight: bold } /* Generic.Strong */
|
||||
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.gt { color: #0044DD } /* Generic.Traceback */
|
||||
.kc { color: #AA22FF; font-weight: bold } /* Keyword.Constant */
|
||||
.kd { color: #AA22FF; font-weight: bold } /* Keyword.Declaration */
|
||||
.kn { color: #AA22FF; font-weight: bold } /* Keyword.Namespace */
|
||||
.kp { color: #AA22FF } /* Keyword.Pseudo */
|
||||
.kr { color: #AA22FF; font-weight: bold } /* Keyword.Reserved */
|
||||
.kt { color: #00BB00; font-weight: bold } /* Keyword.Type */
|
||||
.m { color: #666666 } /* Literal.Number */
|
||||
.s { color: #BB4444 } /* Literal.String */
|
||||
.na { color: #BB4444 } /* Name.Attribute */
|
||||
.nb { color: #AA22FF } /* Name.Builtin */
|
||||
.nc { color: #0000FF } /* Name.Class */
|
||||
.no { color: #880000 } /* Name.Constant */
|
||||
.nd { color: #AA22FF } /* Name.Decorator */
|
||||
.ni { color: #999999; font-weight: bold } /* Name.Entity */
|
||||
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
||||
.nf { color: #00A000 } /* Name.Function */
|
||||
.nl { color: #A0A000 } /* Name.Label */
|
||||
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
.nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||
.nv { color: #B8860B } /* Name.Variable */
|
||||
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
||||
.w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.mb { color: #666666 } /* Literal.Number.Bin */
|
||||
.mf { color: #666666 } /* Literal.Number.Float */
|
||||
.mh { color: #666666 } /* Literal.Number.Hex */
|
||||
.mi { color: #666666 } /* Literal.Number.Integer */
|
||||
.mo { color: #666666 } /* Literal.Number.Oct */
|
||||
.sa { color: #BB4444 } /* Literal.String.Affix */
|
||||
.sb { color: #BB4444 } /* Literal.String.Backtick */
|
||||
.sc { color: #BB4444 } /* Literal.String.Char */
|
||||
.dl { color: #BB4444 } /* Literal.String.Delimiter */
|
||||
.sd { color: #BB4444; font-style: italic } /* Literal.String.Doc */
|
||||
.s2 { color: #BB4444 } /* Literal.String.Double */
|
||||
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
||||
.sh { color: #BB4444 } /* Literal.String.Heredoc */
|
||||
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
||||
.sx { color: #008000 } /* Literal.String.Other */
|
||||
.sr { color: #BB6688 } /* Literal.String.Regex */
|
||||
.s1 { color: #BB4444 } /* Literal.String.Single */
|
||||
.ss { color: #B8860B } /* Literal.String.Symbol */
|
||||
.bp { color: #AA22FF } /* Name.Builtin.Pseudo */
|
||||
.fm { color: #00A000 } /* Name.Function.Magic */
|
||||
.vc { color: #B8860B } /* Name.Variable.Class */
|
||||
.vg { color: #B8860B } /* Name.Variable.Global */
|
||||
.vi { color: #B8860B } /* Name.Variable.Instance */
|
||||
.vm { color: #B8860B } /* Name.Variable.Magic */
|
||||
.il { color: #666666 } /* Literal.Number.Integer.Long */
|
||||
|
||||
div.code {
|
||||
font-size: 0.5em;
|
||||
border: 1px black solid;
|
||||
padding: 1em;
|
||||
margin: 0 1em 0 1em;
|
||||
}
|
BIN
examples/pixywerk.com/publish/images/2019-05-16.png
Normal file
After Width: | Height: | Size: 446 KiB |
BIN
examples/pixywerk.com/publish/images/2019-05-19.png
Normal file
After Width: | Height: | Size: 133 KiB |
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.94,14.81L11.73,17C11.08,17.67 10.22,18 9.36,18C8.5,18 7.64,17.67 7,17C5.67,15.71 5.67,13.58 7,12.26L8.35,10.9L8.34,11.5C8.33,12 8.41,12.5 8.57,12.94L8.62,13.09L8.22,13.5C7.91,13.8 7.74,14.21 7.74,14.64C7.74,15.07 7.91,15.47 8.22,15.78C8.83,16.4 9.89,16.4 10.5,15.78L12.7,13.59C13,13.28 13.18,12.87 13.18,12.44C13.18,12 13,11.61 12.7,11.3C12.53,11.14 12.44,10.92 12.44,10.68C12.44,10.45 12.53,10.23 12.7,10.06C13.03,9.73 13.61,9.74 13.94,10.06C14.57,10.7 14.92,11.54 14.92,12.44C14.92,13.34 14.57,14.18 13.94,14.81M17,11.74L15.66,13.1V12.5C15.67,12 15.59,11.5 15.43,11.06L15.38,10.92L15.78,10.5C16.09,10.2 16.26,9.79 16.26,9.36C16.26,8.93 16.09,8.53 15.78,8.22C15.17,7.6 14.1,7.61 13.5,8.22L11.3,10.42C11,10.72 10.82,11.13 10.82,11.56C10.82,12 11,12.39 11.3,12.7C11.47,12.86 11.56,13.08 11.56,13.32C11.56,13.56 11.47,13.78 11.3,13.94C11.13,14.11 10.91,14.19 10.68,14.19C10.46,14.19 10.23,14.11 10.06,13.94C8.75,12.63 8.75,10.5 10.06,9.19L12.27,7C13.58,5.67 15.71,5.68 17,7C17.65,7.62 18,8.46 18,9.36C18,10.26 17.65,11.1 17,11.74Z" /></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
examples/pixywerk.com/publish/images/pipe-leak.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M2,5V13H4V11H10L12,9L10,7H4V5H2M20,5V7H12L14,9L12,11H20V13H22V5H20M12,13C12,13 10,15.17 10,16.5A2,2 0 0,0 12,18.5A2,2 0 0,0 14,16.5C14,15.17 12,13 12,13Z" /></svg>
|
After Width: | Height: | Size: 448 B |
@ -1,13 +1,56 @@
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<link rel="stylesheet" type="text/css" href="css/main.css">
|
||||
<title>Pixywerk2 Home</title>
|
||||
<link rel="stylesheet" type="text/css" href="./css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<p>This is my index!!</p>
|
||||
<div class="container">
|
||||
|
||||
<header><img src="./images/pipe-leak.svg" style="filter: invert(1); height: 2em; float: left; margin: 2px; padding: 0"><h1>Pixywerk2 Home</h1></header>
|
||||
|
||||
|
||||
<article>
|
||||
<h1>Pixywerk 2</h1>
|
||||
<p>Pixywerk 2 is a simple static website compiler. It is primarily oriented around applying a tree-oriented metadata to each file, and complicated operations within the page templates.</p>
|
||||
<h2>Latest blog posts</h2>
|
||||
<div class="postgrid">
|
||||
|
||||
for i in posts[:5]:
|
||||
<div class="postgrid-item">
|
||||
|
||||
get metadata, fill in post image/text summary with link
|
||||
<a href="posts/post-2019-05-19.html">
|
||||
<img src="images/2019-05-19.png" class="featured">
|
||||
<div>Code Test Post</div></a>
|
||||
</div>
|
||||
|
||||
<div class="postgrid-item">
|
||||
|
||||
<a href="posts/post-2019-05-16.another-post.html">
|
||||
<img src="images/2019-05-16.png" class="featured">
|
||||
<div>Another example post!</div></a>
|
||||
</div>
|
||||
|
||||
<div class="postgrid-item">
|
||||
|
||||
<a href="posts/post-2019-04-15.html">
|
||||
<img src="images/20190415-0.jpg" class="featured">
|
||||
<div>My first post</div></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</article>
|
||||
|
||||
|
||||
<nav><ul>
|
||||
<li>Documentation</li>
|
||||
<li>Blog</li>
|
||||
<li><a href="https://git.antpantheon.com/cas/pixywerk2">Gitea<img src="./images/link-box-variant.svg"></a></li>
|
||||
<li><a href="https://www.github.com/chaomodus/pixywerk2">Github<img src="./images/link-box-variant.svg"></a></li>
|
||||
</ul></nav>
|
||||
|
||||
|
||||
<footer>Copyright © 2019 by Cas Rusnov <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
44
examples/pixywerk.com/publish/post-2019-04-15.html
Normal file
@ -0,0 +1,44 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Pixywerk2 My first post</title>
|
||||
<link rel="stylesheet" type="text/css" href="./css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
|
||||
<header><img src="./images/pipe-leak.svg" style="filter: invert(1); height: 2em; float: left; margin: 2px; padding: 0"><h1>
|
||||
Pixywerk
|
||||
</h1></header>
|
||||
|
||||
|
||||
<article class="post">
|
||||
<div class="featured">
|
||||
<h1>My first post</h1>
|
||||
<img src="images/20190415-0.jpg" class="featured">
|
||||
</div>
|
||||
<div class="byline">
|
||||
<p>Author: Cas Rusnov<br>
|
||||
Published: 2019-05-16T05:37:20.372795+00:00
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="article">
|
||||
<p>This is an example post!</p>
|
||||
<p>yo fresh</p>
|
||||
<p>There are many posts like it but this one is mine.</p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<nav><ul>
|
||||
<li>Documentation</li>
|
||||
<li>Blog</li>
|
||||
<li><a href="https://git.antpantheon.com/cas/pixywerk2">Gitea<img src="./images/link-box-variant.svg"></a></li>
|
||||
<li><a href="https://www.github.com/chaomodus/pixywerk2">Github<img src="./images/link-box-variant.svg"></a></li>
|
||||
</ul></nav>
|
||||
|
||||
<footer>Copyright © 2019 by Cas Rusnov <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,43 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Pixywerk2 Another example post!</title>
|
||||
<link rel="stylesheet" type="text/css" href="./css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
|
||||
<header><img src="./images/pipe-leak.svg" style="filter: invert(1); height: 2em; float: left; margin: 2px; padding: 0"><h1>
|
||||
Pixywerk
|
||||
</h1></header>
|
||||
|
||||
|
||||
<article class="post">
|
||||
<div class="featured">
|
||||
<h1>Another example post!</h1>
|
||||
<img src="images/2019-05-16.png" class="featured">
|
||||
</div>
|
||||
<div class="byline">
|
||||
<p>Author: Cas Rusnov<br>
|
||||
Published: 2019-05-17T01:36:35.179351+00:00
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="article">
|
||||
<h1>Greetings humans!</h1>
|
||||
<p>This is yet another example post! halelujah!</p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<nav><ul>
|
||||
<li>Documentation</li>
|
||||
<li>Blog</li>
|
||||
<li><a href="https://git.antpantheon.com/cas/pixywerk2">Gitea<img src="./images/link-box-variant.svg"></a></li>
|
||||
<li><a href="https://www.github.com/chaomodus/pixywerk2">Github<img src="./images/link-box-variant.svg"></a></li>
|
||||
</ul></nav>
|
||||
|
||||
<footer>Copyright © 2019 by Cas Rusnov <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,10 +1,13 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>My first post</title>
|
||||
<title>Pixywerk2 My first post</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<img src="../images/20190415-0.jpg" class="featured">
|
||||
<div class="container">
|
||||
<header><h1>Pixywerk2 My first post</h1></header>
|
||||
<article>
|
||||
<img src="../images/20190415-0.jpg" class="featured">
|
||||
<div class="byline">
|
||||
<p>Author: Cas Rusnov</p>
|
||||
<p>Published: 2019-04-16T01:42:27.156392+00:00
|
||||
@ -14,5 +17,15 @@
|
||||
<p>This is an example post!</p>
|
||||
<p>yo fresh</p>
|
||||
<p>There are many posts like it but this one is mine.</p>
|
||||
</article>
|
||||
<nav><ul>
|
||||
<li>Documentation</li>
|
||||
<li>Blog </li>
|
||||
<li><a href="https://git.antpantheon.com/cas/pixywerk2">Gitea<img src="images/link-box-variant.svg"></a></li>
|
||||
<li>Github<img src="images/link-box-variant.svg"></li>
|
||||
</ul></nav>
|
||||
<footer>Copyright © 2019 by Cas Rusnov <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
46
examples/pixywerk.com/publish/posts/post-2019-04-15.html
Normal file
@ -0,0 +1,46 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Pixywerk2 My first post</title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
|
||||
<header><img src="../images/pipe-leak.svg" style="filter: invert(1); height: 2em; float: left; margin: 2px; padding: 0"><h1>
|
||||
Pixywerk
|
||||
</h1></header>
|
||||
|
||||
|
||||
<article class="post">
|
||||
<div class="featured">
|
||||
<h1>My first post</h1>
|
||||
<img src="../images/20190415-0.jpg" class="featured">
|
||||
</div>
|
||||
<div class="byline">
|
||||
<p>Author: Cas Rusnov<br>
|
||||
Published: 2019-05-20T01:56:41.720834+00:00
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="article">
|
||||
<p>This is an example post!</p>
|
||||
<p>yo fresh</p>
|
||||
<p>There are many posts like it but this one is mine.</p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
|
||||
<nav><ul>
|
||||
<li>Documentation</li>
|
||||
<li>Blog</li>
|
||||
<li><a href="https://git.antpantheon.com/cas/pixywerk2">Gitea<img src="../images/link-box-variant.svg"></a></li>
|
||||
<li><a href="https://www.github.com/chaomodus/pixywerk2">Github<img src="../images/link-box-variant.svg"></a></li>
|
||||
</ul></nav>
|
||||
|
||||
|
||||
<footer>Copyright © 2019 by Cas Rusnov <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,45 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Pixywerk2 Another example post!</title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
|
||||
<header><img src="../images/pipe-leak.svg" style="filter: invert(1); height: 2em; float: left; margin: 2px; padding: 0"><h1>
|
||||
Pixywerk
|
||||
</h1></header>
|
||||
|
||||
|
||||
<article class="post">
|
||||
<div class="featured">
|
||||
<h1>Another example post!</h1>
|
||||
<img src="../images/2019-05-16.png" class="featured">
|
||||
</div>
|
||||
<div class="byline">
|
||||
<p>Author: Cas Rusnov<br>
|
||||
Published: 2019-05-20T02:09:55.805659+00:00
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="article">
|
||||
<h1>Greetings humans!</h1>
|
||||
<p>This is yet another example post! halelujah!</p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
|
||||
<nav><ul>
|
||||
<li>Documentation</li>
|
||||
<li>Blog</li>
|
||||
<li><a href="https://git.antpantheon.com/cas/pixywerk2">Gitea<img src="../images/link-box-variant.svg"></a></li>
|
||||
<li><a href="https://www.github.com/chaomodus/pixywerk2">Github<img src="../images/link-box-variant.svg"></a></li>
|
||||
</ul></nav>
|
||||
|
||||
|
||||
<footer>Copyright © 2019 by Cas Rusnov <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
111
examples/pixywerk.com/publish/posts/post-2019-05-19.html
Normal file
@ -0,0 +1,111 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Pixywerk2 Code Test Post</title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
|
||||
<header><img src="../images/pipe-leak.svg" style="filter: invert(1); height: 2em; float: left; margin: 2px; padding: 0"><h1>
|
||||
Pixywerk
|
||||
</h1></header>
|
||||
|
||||
|
||||
<article class="post">
|
||||
<div class="featured">
|
||||
<h1>Code Test Post</h1>
|
||||
<img src="../images/2019-05-19.png" class="featured">
|
||||
</div>
|
||||
<div class="byline">
|
||||
<p>Author: Cas Rusnov<br>
|
||||
Published: 2019-05-20T06:31:37.352443+00:00
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="article">
|
||||
|
||||
<p>This is a code test post! Let's format some code!!</p>
|
||||
|
||||
|
||||
<div class="code">
|
||||
Some python code:
|
||||
<div class="highlight"><pre><span></span><span class="sd">"""Package configuration."""</span>
|
||||
<span class="kn">from</span> <span class="nn">setuptools</span> <span class="kn">import</span> <span class="n">find_packages</span><span class="p">,</span> <span class="n">setup</span>
|
||||
|
||||
<span class="n">LONG_DESCRIPTION</span> <span class="o">=</span> <span class="s2">"""Pixywerk 2 is a filesystem based static site generator."""</span>
|
||||
|
||||
<span class="n">INSTALL_REQUIRES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"yaml-1.3"</span><span class="p">,</span> <span class="s2">"markdown"</span><span class="p">,</span> <span class="s2">"jstyleson"</span><span class="p">,</span> <span class="s2">"jinja2"</span><span class="p">,</span> <span class="s2">"pygments"</span><span class="p">]</span>
|
||||
|
||||
<span class="c1"># Extra dependencies</span>
|
||||
<span class="n">EXTRAS_REQUIRE</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="c1"># Test dependencies</span>
|
||||
<span class="s2">"tests"</span><span class="p">:</span> <span class="p">[</span>
|
||||
<span class="s2">"black"</span><span class="p">,</span>
|
||||
<span class="s2">"bandit>=1.1.0"</span><span class="p">,</span>
|
||||
<span class="s2">"flake8>=3.2.1"</span><span class="p">,</span>
|
||||
<span class="s2">"mypy>=0.470"</span><span class="p">,</span>
|
||||
<span class="s2">"prospector[with_everything]>=0.12.4"</span><span class="p">,</span>
|
||||
<span class="s2">"pytest-cov>=1.8.0"</span><span class="p">,</span>
|
||||
<span class="s2">"pytest-xdist>=1.15.0"</span><span class="p">,</span>
|
||||
<span class="s2">"pytest>=3.0.3"</span><span class="p">,</span>
|
||||
<span class="s2">"sphinx_rtd_theme>=0.1.6"</span><span class="p">,</span>
|
||||
<span class="s2">"sphinx-argparse>=0.1.15"</span><span class="p">,</span>
|
||||
<span class="s2">"Sphinx>=1.4.9"</span><span class="p">,</span>
|
||||
<span class="p">]</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="n">SETUP_REQUIRES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"pytest-runner>=2.7.1"</span><span class="p">,</span> <span class="s2">"setuptools_scm>=1.15.0"</span><span class="p">]</span>
|
||||
<span class="n">setup</span><span class="p">(</span>
|
||||
<span class="n">author</span><span class="o">=</span><span class="s2">"Cassowary Rusnov"</span><span class="p">,</span>
|
||||
<span class="n">author_email</span><span class="o">=</span><span class="s2">"rusnovn@gmail.com"</span><span class="p">,</span>
|
||||
<span class="n">classifiers</span><span class="o">=</span><span class="p">[</span>
|
||||
<span class="s2">"Development Status :: 1 - Pre-alpha"</span><span class="p">,</span>
|
||||
<span class="s2">"Environment :: Console"</span><span class="p">,</span>
|
||||
<span class="s2">"License :: OSI Approved :: MIT"</span><span class="p">,</span>
|
||||
<span class="s2">"Operating System :: POSIX :: Linux"</span><span class="p">,</span>
|
||||
<span class="s2">"Programming Language :: Python :: 3.6"</span><span class="p">,</span>
|
||||
<span class="s2">"Programming Language :: Python :: 3.7"</span><span class="p">,</span>
|
||||
<span class="s2">"Programming Language :: Python :: 3 :: Only"</span><span class="p">,</span>
|
||||
<span class="s2">"Topic :: Software Development :: Libraries :: Python Modules"</span><span class="p">,</span>
|
||||
<span class="p">],</span>
|
||||
<span class="n">description</span><span class="o">=</span><span class="s2">"A filesystem-based website generator / CMS"</span><span class="p">,</span>
|
||||
<span class="c1"># entry_points={</span>
|
||||
<span class="c1"># 'console_scripts': [</span>
|
||||
<span class="c1"># 'cookbook = spicerack.cookbook:main',</span>
|
||||
<span class="c1"># ],</span>
|
||||
<span class="c1"># },</span>
|
||||
<span class="n">include_package_data</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
|
||||
<span class="n">extras_require</span><span class="o">=</span><span class="n">EXTRAS_REQUIRE</span><span class="p">,</span>
|
||||
<span class="n">install_requires</span><span class="o">=</span><span class="n">INSTALL_REQUIRES</span><span class="p">,</span>
|
||||
<span class="n">keywords</span><span class="o">=</span><span class="p">[</span><span class="s2">"cms"</span><span class="p">,</span> <span class="s2">"website"</span><span class="p">,</span> <span class="s2">"compiler"</span><span class="p">],</span>
|
||||
<span class="n">license</span><span class="o">=</span><span class="s2">"MIT"</span><span class="p">,</span>
|
||||
<span class="n">long_description</span><span class="o">=</span><span class="n">LONG_DESCRIPTION</span><span class="p">,</span>
|
||||
<span class="n">name</span><span class="o">=</span><span class="s2">"pixywerk2"</span><span class="p">,</span>
|
||||
<span class="n">packages</span><span class="o">=</span><span class="n">find_packages</span><span class="p">(</span><span class="n">exclude</span><span class="o">=</span><span class="p">[</span><span class="s2">"*.tests"</span><span class="p">,</span> <span class="s2">"*.tests.*"</span><span class="p">]),</span>
|
||||
<span class="n">platforms</span><span class="o">=</span><span class="p">[</span><span class="s2">"GNU/Linux"</span><span class="p">],</span>
|
||||
<span class="n">setup_requires</span><span class="o">=</span><span class="n">SETUP_REQUIRES</span><span class="p">,</span>
|
||||
<span class="n">use_scm_version</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
|
||||
<span class="n">url</span><span class="o">=</span><span class="s2">"https://git.antpanethon.com/cas/pixywerk2"</span><span class="p">,</span>
|
||||
<span class="n">zip_safe</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
|
||||
<span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
|
||||
<nav><ul>
|
||||
<li>Documentation</li>
|
||||
<li>Blog</li>
|
||||
<li><a href="https://git.antpantheon.com/cas/pixywerk2">Gitea<img src="../images/link-box-variant.svg"></a></li>
|
||||
<li><a href="https://www.github.com/chaomodus/pixywerk2">Github<img src="../images/link-box-variant.svg"></a></li>
|
||||
</ul></nav>
|
||||
|
||||
|
||||
<footer>Copyright © 2019 by Cas Rusnov <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
59
examples/pixywerk.com/publish/setup.py
Normal file
@ -0,0 +1,59 @@
|
||||
"""Package configuration."""
|
||||
from setuptools import find_packages, setup
|
||||
|
||||
LONG_DESCRIPTION = """Pixywerk 2 is a filesystem based static site generator."""
|
||||
|
||||
INSTALL_REQUIRES = ["yaml-1.3", "markdown", "jstyleson", "jinja2", "pygments"]
|
||||
|
||||
# Extra dependencies
|
||||
EXTRAS_REQUIRE = {
|
||||
# Test dependencies
|
||||
"tests": [
|
||||
"black",
|
||||
"bandit>=1.1.0",
|
||||
"flake8>=3.2.1",
|
||||
"mypy>=0.470",
|
||||
"prospector[with_everything]>=0.12.4",
|
||||
"pytest-cov>=1.8.0",
|
||||
"pytest-xdist>=1.15.0",
|
||||
"pytest>=3.0.3",
|
||||
"sphinx_rtd_theme>=0.1.6",
|
||||
"sphinx-argparse>=0.1.15",
|
||||
"Sphinx>=1.4.9",
|
||||
]
|
||||
}
|
||||
|
||||
SETUP_REQUIRES = ["pytest-runner>=2.7.1", "setuptools_scm>=1.15.0"]
|
||||
setup(
|
||||
author="Cassowary Rusnov",
|
||||
author_email="rusnovn@gmail.com",
|
||||
classifiers=[
|
||||
"Development Status :: 1 - Pre-alpha",
|
||||
"Environment :: Console",
|
||||
"License :: OSI Approved :: MIT",
|
||||
"Operating System :: POSIX :: Linux",
|
||||
"Programming Language :: Python :: 3.6",
|
||||
"Programming Language :: Python :: 3.7",
|
||||
"Programming Language :: Python :: 3 :: Only",
|
||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||
],
|
||||
description="A filesystem-based website generator / CMS",
|
||||
# entry_points={
|
||||
# 'console_scripts': [
|
||||
# 'cookbook = spicerack.cookbook:main',
|
||||
# ],
|
||||
# },
|
||||
include_package_data=True,
|
||||
extras_require=EXTRAS_REQUIRE,
|
||||
install_requires=INSTALL_REQUIRES,
|
||||
keywords=["cms", "website", "compiler"],
|
||||
license="MIT",
|
||||
long_description=LONG_DESCRIPTION,
|
||||
name="pixywerk2",
|
||||
packages=find_packages(exclude=["*.tests", "*.tests.*"]),
|
||||
platforms=["GNU/Linux"],
|
||||
setup_requires=SETUP_REQUIRES,
|
||||
use_scm_version=True,
|
||||
url="https://git.antpanethon.com/cas/pixywerk2",
|
||||
zip_safe=False,
|
||||
)
|
@ -1,9 +1,30 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>{{ metadata.title }}</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/main.css">
|
||||
<title>Pixywerk2 {{ metadata.title }}</title>
|
||||
<link rel="stylesheet" type="text/css" href="{{metadata.relpath}}/css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
{{ content }}
|
||||
<div class="container">
|
||||
{% block header %}
|
||||
<header><img src="{{metadata.relpath}}/images/pipe-leak.svg" style="filter: invert(1); height: 2em; float: left; margin: 2px; padding: 0"><h1>{% block headertitle %}Pixywerk2 {{ metadata.title }}{% endblock %}</h1></header>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<article>
|
||||
{{ content }}
|
||||
</article>
|
||||
{% endblock %}
|
||||
{% block nav %}
|
||||
<nav><ul>
|
||||
<li>Documentation</li>
|
||||
<li>Blog</li>
|
||||
<li><a href="https://git.antpantheon.com/cas/pixywerk2">Gitea<img src="{{metadata.relpath}}/images/link-box-variant.svg"></a></li>
|
||||
<li><a href="https://www.github.com/chaomodus/pixywerk2">Github<img src="{{metadata.relpath}}/images/link-box-variant.svg"></a></li>
|
||||
</ul></nav>
|
||||
{% endblock %}
|
||||
{% block footer %}
|
||||
<footer>Copyright © 2019 by Cas Rusnov <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||
</footer>
|
||||
{% endblock %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
23
examples/pixywerk.com/publish/templates/post.jinja2
Normal file
@ -0,0 +1,23 @@
|
||||
{% extends "default.jinja2" %}
|
||||
{% block headertitle %}
|
||||
Pixywerk
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<article class="post">
|
||||
<div class="featured">
|
||||
<h1>{{ metadata.title }}</h1>
|
||||
<img src="{{metadata.relpath}}/{{metadata.featured}}" class="featured">
|
||||
</div>
|
||||
<div class="byline">
|
||||
<p>Author: {{ metadata.author }}<br>
|
||||
Published: {{ get_time_iso8601(metadata.stat.ctime) }}
|
||||
{% if metadata.stat.mtime-metadata.stat.ctime > 512 %}
|
||||
Updated: {{ get_time_iso8601(metadata.stat.mtime) }}
|
||||
{% endif %}
|
||||
</p>
|
||||
</div>
|
||||
<div class="article">
|
||||
{{content}}
|
||||
</div>
|
||||
</article>
|
||||
{% endblock %}
|
31
examples/pixywerk.com/publish/test/test.html
Normal file
@ -0,0 +1,31 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Pixywerk2 </title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
|
||||
<header><img src="../images/pipe-leak.svg" style="filter: invert(1); height: 2em; float: left; margin: 2px; padding: 0"><h1>Pixywerk2 </h1></header>
|
||||
|
||||
|
||||
<article>
|
||||
test test/test.thtml
|
||||
<img src="../images/pipe-leak.svg">
|
||||
</article>
|
||||
|
||||
|
||||
<nav><ul>
|
||||
<li>Documentation</li>
|
||||
<li>Blog</li>
|
||||
<li><a href="https://git.antpantheon.com/cas/pixywerk2">Gitea<img src="../images/link-box-variant.svg"></a></li>
|
||||
<li><a href="https://www.github.com/chaomodus/pixywerk2">Github<img src="../images/link-box-variant.svg"></a></li>
|
||||
</ul></nav>
|
||||
|
||||
|
||||
<footer>Copyright © 2019 by Cas Rusnov <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"author": "Cas Rusnov",
|
||||
"author_email": "rusnovn@gmail.com",
|
||||
"uuid-oid-root": "pixywerk.com/",
|
||||
"site_root": "https://pixywerk.com/"
|
||||
}
|
||||
"author": "Cas Rusnov",
|
||||
"author_email": "pixywerk2@gmail.com",
|
||||
"uuid-oid-root": "pixywerk.com/",
|
||||
"site_root": "https://pixywerk.com/",
|
||||
"subtitle": "Website Compiler"
|
||||
}
|
||||
|
33
examples/pixywerk.com/src/atom.xml
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
|
||||
<title>{{ metadata.title }}</title>
|
||||
<subtitle>{{ metadata.subtitle }}</subtitle>
|
||||
<link href="{{ metadata.site_root }}/{{ metadata.file_name }}" rel="self" />
|
||||
<link href="{{ metadata.site_root }}" />
|
||||
<id>urn:uuid:{{ metadata.uuid }}</id>
|
||||
<updated>{{ get_time_iso8601(metadata['build-time']) }}</updated>
|
||||
|
||||
{% set posts = get_file_list('post-*.thtml', sort_order='file_name', reverse=True) %}
|
||||
{% for post in posts %}
|
||||
{% set post_meta = get_file_metadata(post['file_path']) %}
|
||||
<entry>
|
||||
<title>{{ post_meta.title }}</title>
|
||||
<link href="{{ metadata.site_root }}/{{post_meta.file_path}}" />
|
||||
<id>urn:uuid:{{ post_meta.uuid }}</id>
|
||||
<updated>{{ get_time_iso8601(post_meta.stat.mtime) }}</updated>
|
||||
<summary>{{post_meta.summary }}</summary>
|
||||
<!-- this would be the snippet, more than summary chunk -->
|
||||
<!-- <content type="xhtml"> -->
|
||||
<!-- <div xmlns="http://www.w3.org/1999/xhtml"> -->
|
||||
<!-- <p>{{ post_meta.summary }}</p> -->
|
||||
<!-- </div> -->
|
||||
<!-- </content> -->
|
||||
<author>
|
||||
<name>{{ post_meta.author }}</name>
|
||||
<email>{{ post_meta.author_email }}</email>
|
||||
</author>
|
||||
</entry>
|
||||
{% endfor %}
|
||||
</feed>
|
4
examples/pixywerk.com/src/atom.xml.meta
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"type": "templatable",
|
||||
"title": "Pixywerk2 RSS Feed"
|
||||
}
|
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Bold.ttf
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Bold.woff
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Bold.woff2
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-BoldItalic.ttf
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-BoldItalic.woff
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Italic.ttf
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Italic.woff
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Italic.woff2
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Medium.ttf
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Medium.woff
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Medium.woff2
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Regular.ttf
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Regular.woff
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-Regular.woff2
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-SemiBold.ttf
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-SemiBold.woff
Normal file
BIN
examples/pixywerk.com/src/css/fonts/ExpletusSans-SemiBold.woff2
Normal file
BIN
examples/pixywerk.com/src/css/fonts/Teko-Bold.woff
Normal file
BIN
examples/pixywerk.com/src/css/fonts/Teko-Bold.woff2
Normal file
BIN
examples/pixywerk.com/src/css/fonts/Teko-Light.woff
Normal file
BIN
examples/pixywerk.com/src/css/fonts/Teko-Light.woff2
Normal file
BIN
examples/pixywerk.com/src/css/fonts/Teko-Medium.woff
Normal file
BIN
examples/pixywerk.com/src/css/fonts/Teko-Medium.woff2
Normal file
BIN
examples/pixywerk.com/src/css/fonts/Teko-Regular.woff
Normal file
BIN
examples/pixywerk.com/src/css/fonts/Teko-Regular.woff2
Normal file
BIN
examples/pixywerk.com/src/css/fonts/Teko-SemiBold.woff
Normal file
BIN
examples/pixywerk.com/src/css/fonts/Teko-SemiBold.woff2
Normal file
@ -1,3 +1,277 @@
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-Bold.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-Bold.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
|
||||
body { margin: 10% 10% 0 10% }
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-BoldItalic.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-BoldItalic.woff') format('woff');
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-Italic.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-Italic.woff') format('woff');
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-Medium.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-Medium.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-MediumItalic.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-MediumItalic.woff') format('woff');
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-Regular.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-Regular.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-SemiBold.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-SemiBold.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Expletus Sans';
|
||||
src: url('fonts/ExpletusSans-SemiBoldItalic.woff2') format('woff2'),
|
||||
url('fonts/ExpletusSans-SemiBoldItalic.woff') format('woff');
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Teko';
|
||||
src: url('fonts/Teko-Bold.woff2') format('woff2'),
|
||||
url('fonts/Teko-Bold.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Teko Light';
|
||||
src: url('fonts/Teko-Light.woff2') format('woff2'),
|
||||
url('fonts/Teko-Light.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Teko Medium';
|
||||
src: url('fonts/Teko-Medium.woff2') format('woff2'),
|
||||
url('fonts/Teko-Medium.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Teko';
|
||||
src: url('fonts/Teko-Regular.woff2') format('woff2'),
|
||||
url('fonts/Teko-Regular.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Teko SemiBold';
|
||||
src: url('fonts/Teko-SemiBold.woff2') format('woff2'),
|
||||
url('fonts/Teko-SemiBold.woff') format('woff');
|
||||
font-style: regular;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
body { margin: 0; font-family: Teko; font-size: 24pt; }
|
||||
h1, h2, h3, h4 { font-family: 'Expletus Sans'; font-weight: 700 }
|
||||
h1 { font-size: 150%; border-bottom: solid 1px black; }
|
||||
h2 { font-size: 125%; }
|
||||
h3 { font-size: 115%; }
|
||||
h4 { font-size: 100%; }
|
||||
|
||||
.container {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 220px auto auto;
|
||||
grid-template-rows: auto auto auto auto;
|
||||
}
|
||||
|
||||
header {
|
||||
border: 0;
|
||||
padding-left: 20px;
|
||||
height: 60px;
|
||||
grid-column: 1 / 4;
|
||||
background: black;
|
||||
color: white;
|
||||
}
|
||||
|
||||
header h1 { font-size: 18pt; border: none}
|
||||
|
||||
nav {
|
||||
grid-row: 2 / 5;
|
||||
grid-column: 1;
|
||||
}
|
||||
|
||||
nav ul {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
nav ul li {
|
||||
list-style-type: none;
|
||||
padding: 1px 20px 1px 20px;
|
||||
}
|
||||
|
||||
nav ul li:hover {
|
||||
background: black;
|
||||
color: white;
|
||||
}
|
||||
|
||||
nav ul li:hover img {
|
||||
filter: invert(1);
|
||||
}
|
||||
|
||||
nav ul li a {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
nav ul li:hover a:hover {
|
||||
color: white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
nav ul li a:visited {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
article {
|
||||
grid-row: 2 / 5;
|
||||
grid-column: 2 / 4;
|
||||
margin: 0 20px 0 20px;
|
||||
}
|
||||
|
||||
footer {
|
||||
font-size: 12pt;
|
||||
grid-column: 1 / 4;
|
||||
grid-row: 5;
|
||||
background: black;
|
||||
color: white;
|
||||
padding-top: 10px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.post div.featured {
|
||||
max-height: 250px;
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.post div.featured img.featured {
|
||||
max-width: initial;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.post div.featured h1 {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
left: 0;
|
||||
color: white;
|
||||
border: 0;
|
||||
padding: 10px 30px 10px 30px;
|
||||
background: rgba(0,0,0,0.5);
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
.post div.byline {
|
||||
margin-left: 30px;
|
||||
font-size: 0.75em;
|
||||
line-height: 0.75em;
|
||||
}
|
||||
|
||||
.post div.article {
|
||||
margin-left: 30Px;
|
||||
}
|
||||
|
||||
.post div.article p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.postgrid {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(300px, 33%) minmax(300px, 33%) minmax(300px, 33%);
|
||||
margin-bottom: 30px;
|
||||
column-gap: 10px;
|
||||
row-gap: 10px;
|
||||
}
|
||||
|
||||
.postgrid-item {
|
||||
height: 200px;
|
||||
max-height: 200px;
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.postgrid-item a img.featured {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.postgrid-item a div {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
color: white;
|
||||
border: 0;
|
||||
padding: 10px 30px 10px 30px;
|
||||
background: rgba(0,0,0,0.5);
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
{{ pygments_get_css('emacs') }}
|
||||
|
||||
div.code {
|
||||
font-size: 0.5em;
|
||||
border: 1px black solid;
|
||||
padding: 1em;
|
||||
margin: 0 1em 0 1em;
|
||||
}
|
||||
|
3
examples/pixywerk.com/src/css/main.css.meta
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"type": "templatable"
|
||||
}
|
BIN
examples/pixywerk.com/src/images/2019-05-16.png
Executable file
After Width: | Height: | Size: 446 KiB |
BIN
examples/pixywerk.com/src/images/2019-05-19.png
Executable file
After Width: | Height: | Size: 133 KiB |
1
examples/pixywerk.com/src/images/link-box-variant.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.94,14.81L11.73,17C11.08,17.67 10.22,18 9.36,18C8.5,18 7.64,17.67 7,17C5.67,15.71 5.67,13.58 7,12.26L8.35,10.9L8.34,11.5C8.33,12 8.41,12.5 8.57,12.94L8.62,13.09L8.22,13.5C7.91,13.8 7.74,14.21 7.74,14.64C7.74,15.07 7.91,15.47 8.22,15.78C8.83,16.4 9.89,16.4 10.5,15.78L12.7,13.59C13,13.28 13.18,12.87 13.18,12.44C13.18,12 13,11.61 12.7,11.3C12.53,11.14 12.44,10.92 12.44,10.68C12.44,10.45 12.53,10.23 12.7,10.06C13.03,9.73 13.61,9.74 13.94,10.06C14.57,10.7 14.92,11.54 14.92,12.44C14.92,13.34 14.57,14.18 13.94,14.81M17,11.74L15.66,13.1V12.5C15.67,12 15.59,11.5 15.43,11.06L15.38,10.92L15.78,10.5C16.09,10.2 16.26,9.79 16.26,9.36C16.26,8.93 16.09,8.53 15.78,8.22C15.17,7.6 14.1,7.61 13.5,8.22L11.3,10.42C11,10.72 10.82,11.13 10.82,11.56C10.82,12 11,12.39 11.3,12.7C11.47,12.86 11.56,13.08 11.56,13.32C11.56,13.56 11.47,13.78 11.3,13.94C11.13,14.11 10.91,14.19 10.68,14.19C10.46,14.19 10.23,14.11 10.06,13.94C8.75,12.63 8.75,10.5 10.06,9.19L12.27,7C13.58,5.67 15.71,5.68 17,7C17.65,7.62 18,8.46 18,9.36C18,10.26 17.65,11.1 17,11.74Z" /></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
examples/pixywerk.com/src/images/pipe-leak.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M2,5V13H4V11H10L12,9L10,7H4V5H2M20,5V7H12L14,9L12,11H20V13H22V5H20M12,13C12,13 10,15.17 10,16.5A2,2 0 0,0 12,18.5A2,2 0 0,0 14,16.5C14,15.17 12,13 12,13Z" /></svg>
|
After Width: | Height: | Size: 448 B |