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.
This commit is contained in:
parent
81532f3462
commit
a0c4381c99
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2018 Cas Rusnov
|
||||
Copyright (c) 2018,2019 Cas Rusnov
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -15,6 +15,8 @@ On-disk meatdata is stored as a file along side the non-metadata file with the e
|
|||
|
||||
All files define the following keys by default:
|
||||
|
||||
relpath
|
||||
: The relative path to the root of the site, useful for prepending to image `src=` and other resource paths such as CSS files and fonts in order to maintain locally viewable output.
|
||||
file_name
|
||||
: The local path of the file
|
||||
file_path
|
||||
|
@ -60,6 +62,14 @@ author_email
|
|||
site_root
|
||||
: The full URL for the root of this web site used for links and whatnot, with ending slash.
|
||||
|
||||
Special Keys that can be defined, these change the processing in predictable ways:
|
||||
|
||||
type
|
||||
: Define that the file that this metadata is applied to as a specific type from the type mapping table. Useful values are `passthrough` and `templatable` with obvious outcomes.
|
||||
wildcard_metadata
|
||||
: Define a dictionary of file globs (patterns which match files such as `*.txt`), with the value being a dictionary of additional metadata to apply to the matched files. This is generally
|
||||
defined at the top level of the project to make certain file patterns treated as special without having to give them their own metadata.
|
||||
|
||||
|
||||
## CACHING STRATEGY ##
|
||||
|
||||
|
|
1
TODO.md
1
TODO.md
|
@ -2,6 +2,7 @@
|
|||
|
||||
* Pygments pretty printing of source code et al. including exposing that to the template API (`pygment_format(get_file_content('whatever.py'))`).
|
||||
* Smart CSS things (fill in the processors)
|
||||
* Project global defines, parameters.
|
||||
|
||||
# Maybe #
|
||||
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"site_root":"https://example.com",
|
||||
"title":"Test Metadata",
|
||||
"author": "Test User",
|
||||
"author_email": "test_user@example.com",
|
||||
"uuid_oid_root": "pixywerk-demo"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"type": "templatable",
|
||||
"title": "Test RSS Feed",
|
||||
"subtitle": "Some Subtitle"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
Some more post
|
||||
|
||||
|
||||
la la la
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"title":"Another Post(tm)",
|
||||
"summary":"Yet another post"
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
Some content.
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"title":"Test.cont",
|
||||
"summary":"Some empty test content"
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
yo fresh
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"foo":"bar",
|
||||
"title":"A title",
|
||||
"summary":"Just a post."
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
<h1>Index of all content</h1>
|
||||
{% for f in get_file_list('*', sort_order='file_name') %}
|
||||
<a href="{{ get_file_name(f['file_name']) }}">{{get_file_name(f['file_name'])}}</a>
|
||||
{% endfor %}
|
||||
|
||||
<p>Including foo.cont.meta:
|
||||
<pre>
|
||||
{{ get_file_content('foo.cont.meta') }}
|
||||
</pre>
|
||||
</p>
|
||||
|
||||
<h1>Metadata</h1>
|
||||
<table class="metadata">
|
||||
<tr><th>key</th><th>value</th></tr>
|
||||
{% set metadata = get_file_metadata('foo.cont') %}
|
||||
{% for k in metadata.keys() %}
|
||||
<tr><td>{{k}}</td><td>{{metadata[k]}}</td></tr>
|
||||
{% endfor %}
|
||||
</table>
|
|
@ -1,9 +0,0 @@
|
|||
# README #
|
||||
|
||||
This is a test of the emergency compiled HTML system. This is only a *test*.
|
||||
|
||||
[Foo!](foo.html)
|
||||
|
||||
{% for i in range(100) %}
|
||||
* {{ i }}
|
||||
{% endfor %}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"pragma":["no-proc"]
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
# README #
|
||||
|
||||
This is a test of the emergency compiled HTML system. This is only a *test*.
|
||||
|
||||
[Foo!](foo.html)
|
||||
|
||||
{% for i in range(100) %}
|
||||
* {{ i }}
|
||||
{% endfor %}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"title":"Yo, markdown"
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>Debug for {{path}}</title>
|
||||
<style type="text/css">
|
||||
table { border: 1px solid black; }
|
||||
div { border: 1px solid black; }
|
||||
td { border: 1px solid black; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p>{{path}}</p>
|
||||
<h1>Content</h1>
|
||||
<div class="content">
|
||||
{{content}}
|
||||
</div>
|
||||
|
||||
<h1>Environment</h1>
|
||||
<table class="environment">
|
||||
<tr><th>key</th><th>value</th></tr>
|
||||
{% for k in environ.keys() %}
|
||||
<tr><td>{{k}}</td><td>{{environ[k]}}</td></tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
||||
<h1>Metadata</h1>
|
||||
<table class="metadata">
|
||||
<tr><th>key</th><th>value</th></tr>
|
||||
{% for k in metadata.keys() %}
|
||||
<tr><td>{{k}}</td><td>{{metadata[k]}}</td></tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</body>
|
|
@ -1,6 +0,0 @@
|
|||
<table class="werk-file-list">
|
||||
<tr class="werk-file-list-head"><th>file</th><th>type</th><th>size</th><th>last change</th></tr>
|
||||
{% for f in files.keys() %}
|
||||
<tr class="werk-file-list-item"><td><a href="/{{files[f].relpath}}">{{f}}</a></td><td>{{files[f].type}}</td><td>{{files[f].size}}</td><td>{{files[f].ctime | date}}</td></tr>
|
||||
{% endfor %}
|
||||
</table>
|
|
@ -1,13 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>{{metadata.title}}</title>
|
||||
<style type="text/css">
|
||||
table { border: 1px solid black; }
|
||||
div { border: 1px solid black; }
|
||||
td { border: 1px solid black; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
{{content}}
|
||||
</body>
|
||||
</html>
|
|
@ -1,2 +1,2 @@
|
|||
build: src/templates/* src/* src/images/* src/posts/*
|
||||
build: src/templates/* src/* src/images/*
|
||||
python -mpixywerk2 src publish
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -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;
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 446 KiB |
Binary file not shown.
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 |
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
|
@ -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 %}
|
|
@ -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"
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<id>urn:uuid:{{ metadata.uuid }}</id>
|
||||
<updated>{{ get_time_iso8601(metadata['build-time']) }}</updated>
|
||||
|
||||
{% set posts = get_file_list('blog_posts/*.cont') %}
|
||||
{% 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>
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"type": "templatable",
|
||||
"title": "Pixywerk2 RSS Feed"
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue