diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index d163863..0000000
--- a/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-build/
\ No newline at end of file
diff --git a/.woodpecker.yaml b/.woodpecker.yaml
new file mode 100644
index 0000000..3d66fb1
--- /dev/null
+++ b/.woodpecker.yaml
@@ -0,0 +1,9 @@
+steps:
+ - name: build-pages
+ image: registry.pinkhaj.world/liliesh/franky-blag:latest
+ pull: true
+ environment:
+ TARGET_DIRECTORY: $CI_WORKSPACE
+ when:
+ - path:
+ include: ['*.md', '*.css', '*.html', '*.ini']
\ No newline at end of file
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..f9d719d
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,14 @@
+ENGINE=podman
+
+clean:
+ rm -rf build/
+
+build:
+ echo "Building webpage"
+ $(ENGINE) run --rm -v "./:/source" liliesh/franky-blag:latest
+
+publish: clean build
+ git add .
+ git status
+ git commit -m "Page Update $(date +'%F %r')"
+ git push
\ No newline at end of file
diff --git a/build/about.html b/build/about.html
new file mode 100644
index 0000000..7970884
--- /dev/null
+++ b/build/about.html
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+ About Me |
+
+
+
+
+
+
+
+
+ About Me(ow)!
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/archive.html b/build/archive.html
new file mode 100644
index 0000000..eb897c4
--- /dev/null
+++ b/build/archive.html
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+ Archive |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/atom.xml b/build/atom.xml
new file mode 100644
index 0000000..95cc330
--- /dev/null
+++ b/build/atom.xml
@@ -0,0 +1,37 @@
+
+Liliesh's Blog https://liliesh.pinkhaj.world/blog/ 2023-01-02T12:00:00+00:00 Second Post 2023-01-02T12:00:00+00:00 2023-01-02T12:00:00+00:00 Liliesh tag:liliesh.pinkhaj.world,2023-01-02:/blog/second-post.html This is the second blog post, so you can see how it looks like on the front page. <h2>Second Post</h2>
+<p>This page serves no purpose :)</p>
+<p><img alt="Blag Screenshot" src="blag.png"></p> Hello World! 2023-01-01T12:00:00+00:00 2023-01-01T12:00:00+00:00 Liliesh tag:liliesh.pinkhaj.world,2023-01-01:/blog/hello-world.html Hello there, this is the first blog post. You should read me first. <h2>Hello World</h2>
+<p>This is an example blog post. Internally, blag differentiates between <strong>pages</strong>
+and <strong>articles</strong>. Intuitively, pages are simple pages and articles are blog
+posts. The decision whether a document is a page or an article is made
+depending on the presence of the <code>date</code> metadata element: Any document that
+contains the <code>date</code> metadata element is an article, everything else a page.</p>
+<p>This differentiation has consequences:</p>
+<ul>
+<li>blag uses different templates: <code>page.html</code> and <code>article.html</code></li>
+<li>only articles are collected in the Atom feed</li>
+<li>only articles are aggregated in the tag pages</li>
+</ul>
+<p>For more detailed information, please refer to the <a href="https://blag.readthedocs.io">documentation</a></p>
+<h3>Syntax Highlighting</h3>
+<div class="codehilite"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">foo</span><span class="p">(</span><span class="n">bar</span><span class="p">):</span>
+<span class="w"> </span><span class="sd">"""This is a docstring.</span>
+
+<span class="sd"> """</span>
+ <span class="c1"># comment</span>
+ <span class="k">return</span> <span class="n">bar</span>
+</code></pre></div>
+
+<p>Syntax highlighting is done via <a href="https://pygments.org">Pygments</a>. For code blocks, blag
+generates the necessary CSS classes by default, which you can use to style your
+code using CSS. It provides you with a default light- and dark theme, for more
+information on how to generate a different theme, please refer to <a href="https://pygments.org">Pygments’
+documentation</a>.</p>
+<h3>Next Steps</h3>
+<ul>
+<li>Adapt the files in <code>templates</code> to your needs</li>
+<li>Check out the files in <code>static</code> and modify as needed</li>
+<li>Add some content</li>
+<li>Change the <a href="favicon.ico">favicon.ico</a></li>
+</ul>
\ No newline at end of file
diff --git a/build/blag.png b/build/blag.png
new file mode 100644
index 0000000..06445a2
Binary files /dev/null and b/build/blag.png differ
diff --git a/build/code-dark.css b/build/code-dark.css
new file mode 100644
index 0000000..dc75c9e
--- /dev/null
+++ b/build/code-dark.css
@@ -0,0 +1,84 @@
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.hll { background-color: #49483e }
+.c { color: #959077 } /* Comment */
+.err { color: #ed007e; background-color: #1e0010 } /* Error */
+.esc { color: #f8f8f2 } /* Escape */
+.g { color: #f8f8f2 } /* Generic */
+.k { color: #66d9ef } /* Keyword */
+.l { color: #ae81ff } /* Literal */
+.n { color: #f8f8f2 } /* Name */
+.o { color: #ff4689 } /* Operator */
+.x { color: #f8f8f2 } /* Other */
+.p { color: #f8f8f2 } /* Punctuation */
+.ch { color: #959077 } /* Comment.Hashbang */
+.cm { color: #959077 } /* Comment.Multiline */
+.cp { color: #959077 } /* Comment.Preproc */
+.cpf { color: #959077 } /* Comment.PreprocFile */
+.c1 { color: #959077 } /* Comment.Single */
+.cs { color: #959077 } /* Comment.Special */
+.gd { color: #ff4689 } /* Generic.Deleted */
+.ge { color: #f8f8f2; font-style: italic } /* Generic.Emph */
+.ges { color: #f8f8f2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+.gr { color: #f8f8f2 } /* Generic.Error */
+.gh { color: #f8f8f2 } /* Generic.Heading */
+.gi { color: #a6e22e } /* Generic.Inserted */
+.go { color: #66d9ef } /* Generic.Output */
+.gp { color: #ff4689; font-weight: bold } /* Generic.Prompt */
+.gs { color: #f8f8f2; font-weight: bold } /* Generic.Strong */
+.gu { color: #959077 } /* Generic.Subheading */
+.gt { color: #f8f8f2 } /* Generic.Traceback */
+.kc { color: #66d9ef } /* Keyword.Constant */
+.kd { color: #66d9ef } /* Keyword.Declaration */
+.kn { color: #ff4689 } /* Keyword.Namespace */
+.kp { color: #66d9ef } /* Keyword.Pseudo */
+.kr { color: #66d9ef } /* Keyword.Reserved */
+.kt { color: #66d9ef } /* Keyword.Type */
+.ld { color: #e6db74 } /* Literal.Date */
+.m { color: #ae81ff } /* Literal.Number */
+.s { color: #e6db74 } /* Literal.String */
+.na { color: #a6e22e } /* Name.Attribute */
+.nb { color: #f8f8f2 } /* Name.Builtin */
+.nc { color: #a6e22e } /* Name.Class */
+.no { color: #66d9ef } /* Name.Constant */
+.nd { color: #a6e22e } /* Name.Decorator */
+.ni { color: #f8f8f2 } /* Name.Entity */
+.ne { color: #a6e22e } /* Name.Exception */
+.nf { color: #a6e22e } /* Name.Function */
+.nl { color: #f8f8f2 } /* Name.Label */
+.nn { color: #f8f8f2 } /* Name.Namespace */
+.nx { color: #a6e22e } /* Name.Other */
+.py { color: #f8f8f2 } /* Name.Property */
+.nt { color: #ff4689 } /* Name.Tag */
+.nv { color: #f8f8f2 } /* Name.Variable */
+.ow { color: #ff4689 } /* Operator.Word */
+.pm { color: #f8f8f2 } /* Punctuation.Marker */
+.w { color: #f8f8f2 } /* Text.Whitespace */
+.mb { color: #ae81ff } /* Literal.Number.Bin */
+.mf { color: #ae81ff } /* Literal.Number.Float */
+.mh { color: #ae81ff } /* Literal.Number.Hex */
+.mi { color: #ae81ff } /* Literal.Number.Integer */
+.mo { color: #ae81ff } /* Literal.Number.Oct */
+.sa { color: #e6db74 } /* Literal.String.Affix */
+.sb { color: #e6db74 } /* Literal.String.Backtick */
+.sc { color: #e6db74 } /* Literal.String.Char */
+.dl { color: #e6db74 } /* Literal.String.Delimiter */
+.sd { color: #e6db74 } /* Literal.String.Doc */
+.s2 { color: #e6db74 } /* Literal.String.Double */
+.se { color: #ae81ff } /* Literal.String.Escape */
+.sh { color: #e6db74 } /* Literal.String.Heredoc */
+.si { color: #e6db74 } /* Literal.String.Interpol */
+.sx { color: #e6db74 } /* Literal.String.Other */
+.sr { color: #e6db74 } /* Literal.String.Regex */
+.s1 { color: #e6db74 } /* Literal.String.Single */
+.ss { color: #e6db74 } /* Literal.String.Symbol */
+.bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
+.fm { color: #a6e22e } /* Name.Function.Magic */
+.vc { color: #f8f8f2 } /* Name.Variable.Class */
+.vg { color: #f8f8f2 } /* Name.Variable.Global */
+.vi { color: #f8f8f2 } /* Name.Variable.Instance */
+.vm { color: #f8f8f2 } /* Name.Variable.Magic */
+.il { color: #ae81ff } /* Literal.Number.Integer.Long */
diff --git a/build/code-light.css b/build/code-light.css
new file mode 100644
index 0000000..2b68908
--- /dev/null
+++ b/build/code-light.css
@@ -0,0 +1,74 @@
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.hll { background-color: #ffffcc }
+.c { color: #3D7B7B; font-style: italic } /* Comment */
+.err { border: 1px solid #FF0000 } /* Error */
+.k { color: #008000; font-weight: bold } /* Keyword */
+.o { color: #666666 } /* Operator */
+.ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
+.cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
+.cp { color: #9C6500 } /* Comment.Preproc */
+.cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
+.c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
+.cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
+.gd { color: #A00000 } /* Generic.Deleted */
+.ge { font-style: italic } /* Generic.Emph */
+.ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+.gr { color: #E40000 } /* Generic.Error */
+.gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.gi { color: #008400 } /* Generic.Inserted */
+.go { color: #717171 } /* 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: #008000; font-weight: bold } /* Keyword.Constant */
+.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.kp { color: #008000 } /* Keyword.Pseudo */
+.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.kt { color: #B00040 } /* Keyword.Type */
+.m { color: #666666 } /* Literal.Number */
+.s { color: #BA2121 } /* Literal.String */
+.na { color: #687822 } /* Name.Attribute */
+.nb { color: #008000 } /* Name.Builtin */
+.nc { color: #0000FF; font-weight: bold } /* Name.Class */
+.no { color: #880000 } /* Name.Constant */
+.nd { color: #AA22FF } /* Name.Decorator */
+.ni { color: #717171; font-weight: bold } /* Name.Entity */
+.ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
+.nf { color: #0000FF } /* Name.Function */
+.nl { color: #767600 } /* Name.Label */
+.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+.nt { color: #008000; font-weight: bold } /* Name.Tag */
+.nv { color: #19177C } /* 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: #BA2121 } /* Literal.String.Affix */
+.sb { color: #BA2121 } /* Literal.String.Backtick */
+.sc { color: #BA2121 } /* Literal.String.Char */
+.dl { color: #BA2121 } /* Literal.String.Delimiter */
+.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.s2 { color: #BA2121 } /* Literal.String.Double */
+.se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
+.sh { color: #BA2121 } /* Literal.String.Heredoc */
+.si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
+.sx { color: #008000 } /* Literal.String.Other */
+.sr { color: #A45A77 } /* Literal.String.Regex */
+.s1 { color: #BA2121 } /* Literal.String.Single */
+.ss { color: #19177C } /* Literal.String.Symbol */
+.bp { color: #008000 } /* Name.Builtin.Pseudo */
+.fm { color: #0000FF } /* Name.Function.Magic */
+.vc { color: #19177C } /* Name.Variable.Class */
+.vg { color: #19177C } /* Name.Variable.Global */
+.vi { color: #19177C } /* Name.Variable.Instance */
+.vm { color: #19177C } /* Name.Variable.Magic */
+.il { color: #666666 } /* Literal.Number.Integer.Long */
diff --git a/build/favicon.ico b/build/favicon.ico
new file mode 100644
index 0000000..6175ffc
Binary files /dev/null and b/build/favicon.ico differ
diff --git a/build/hello-world.html b/build/hello-world.html
new file mode 100644
index 0000000..81bad45
--- /dev/null
+++ b/build/hello-world.html
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+ Hello World! |
+
+
+
+
+
+
+
+
+
+ Hello World!
+
+
+
+
+ Hello World
+This is an example blog post. Internally, blag differentiates between pages
+and articles . Intuitively, pages are simple pages and articles are blog
+posts. The decision whether a document is a page or an article is made
+depending on the presence of the date
metadata element: Any document that
+contains the date
metadata element is an article, everything else a page.
+This differentiation has consequences:
+
+blag uses different templates: page.html
and article.html
+only articles are collected in the Atom feed
+only articles are aggregated in the tag pages
+
+For more detailed information, please refer to the documentation
+Syntax Highlighting
+def foo ( bar ):
+ """This is a docstring.
+
+ """
+ # comment
+ return bar
+
+
+Syntax highlighting is done via Pygments . For code blocks, blag
+generates the necessary CSS classes by default, which you can use to style your
+code using CSS. It provides you with a default light- and dark theme, for more
+information on how to generate a different theme, please refer to Pygments’
+documentation .
+Next Steps
+
+Adapt the files in templates
to your needs
+Check out the files in static
and modify as needed
+Add some content
+Change the favicon.ico
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/index.html b/build/index.html
new file mode 100644
index 0000000..fca1a14
--- /dev/null
+++ b/build/index.html
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+ Liliesh's Blog |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+all articles...
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/second-post.html b/build/second-post.html
new file mode 100644
index 0000000..667576b
--- /dev/null
+++ b/build/second-post.html
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+ Second Post |
+
+
+
+
+
+
+
+
+
+ Second Post
+
+
+
+
+ Second Post
+This page serves no purpose :)
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/style.css b/build/style.css
new file mode 100644
index 0000000..8e5c332
--- /dev/null
+++ b/build/style.css
@@ -0,0 +1,153 @@
+@import "code-light.css" (prefers-color-scheme: light);
+@import "code-dark.css" (prefers-color-scheme: dark);
+
+:root {
+ color-scheme: light dark;
+ --background: light-dark(#FFFFFF, #2B363B);
+ --background-dim: light-dark(#f5f7f9, #2F3C42);
+ --foreground: light-dark(#2B303A, #f0f2f3);
+ --foreground-dim: light-dark(#576379, #d5d5d5);
+ --foreground-heavy: light-dark(#191C22, #f2f4f5);
+ --primary-color: light-dark(#375287, #A1C5FF);
+}
+
+html {
+ font-size: 18px;
+ font-family: serif;
+}
+
+body {
+ margin: 0 auto;
+ max-width: 50rem;
+ background: var(--background);
+ color: var(--foreground);
+ line-height: 1.5;
+ padding: 0rem 0.5rem;
+}
+
+aside {
+ font-size: smaller;
+ font-style: italic;
+ color: var(--foreground-dim);
+}
+
+img {
+ max-width: 100%;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+strong {
+ color: var(--foreground-heavy);
+}
+
+a {
+ color: var(--primary-color);
+}
+
+h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
+ text-decoration: none;
+}
+
+h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
+ text-decoration: underline;
+}
+
+nav ul {
+ list-style: none;
+}
+
+nav li {
+ display: inline;
+}
+
+nav li + li:before {
+ content: " · ";
+ margin: 0 0.5ex;
+}
+
+article header {
+ display: flex;
+ flex-direction: row;
+ margin: 1rem 0;
+}
+
+article header time {
+ white-space: nowrap;
+ color: var(--foreground-dim);
+ font-style: italic;
+ flex: 0 0 12ex;
+}
+
+article header h2,
+article header p {
+ font-size: 1rem;
+ display: inline;
+}
+
+code,
+pre {
+ background: var(--background-dim);
+ border-radius: 0.3rem;
+ font-family: monospace;
+}
+
+pre {
+ padding: 1rem;
+ border-left: 2px solid var(--primary-color);
+ overflow: auto;
+}
+
+code {
+ padding: 0.1rem 0.2rem;
+}
+
+/* reset the padding for code inside pre */
+pre code {
+ padding: 0;
+}
+
+blockquote {
+ background: var(--background-dim);
+ border-radius: 0 0.3rem 0.3rem 0;
+ font-style: italic;
+ border-left: 2px solid var(--primary-color);
+ margin: 0;
+ padding: 1rem;
+}
+
+/* reset the margin for p inside blockquotes */
+blockquote p {
+ margin: 0;
+}
+
+body > header {
+ padding: 2rem 0;
+}
+
+body footer {
+ margin: 3rem 0;
+ color: var(--foreground-dim);
+ font-size: smaller;
+ text-align: center;
+}
+
+header nav {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+}
+
+header h1 {
+ margin: 0 auto;
+ color: var(--primary-color);
+}
+
+header h2 {
+ display: inline;
+ font-size: 1.2rem;
+}
diff --git a/build/tags/blag.html b/build/tags/blag.html
new file mode 100644
index 0000000..cb37104
--- /dev/null
+++ b/build/tags/blag.html
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+ #blag |
+
+
+
+
+
+
+
+
+Articles tagged "blag"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/tags/index.html b/build/tags/index.html
new file mode 100644
index 0000000..a8e634e
--- /dev/null
+++ b/build/tags/index.html
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+ Tags |
+
+
+
+
+
+
+
+Tags
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/tags/pygments.html b/build/tags/pygments.html
new file mode 100644
index 0000000..2569669
--- /dev/null
+++ b/build/tags/pygments.html
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+ #pygments |
+
+
+
+
+
+
+
+
+Articles tagged "pygments"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/testpage.html b/build/testpage.html
new file mode 100644
index 0000000..b137dac
--- /dev/null
+++ b/build/testpage.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+ This Is A Headline
+This is some bold text with some code
inside. This is some_underlined
+text with some code
inside. This is some text with some code
inside. This
+is some text with some code
inside. This is some text with some code
+inside. This is some text with some code
inside. This is some text with some
+code
inside. This is some text with some code
inside.
+This is some link inside the text – it does not really
+lead anywhere! This is some link inside the text – it
+does not really lead anywhere! This is some link inside
+the text – it does not really lead anywhere!
+
+some bullets
+some other
+bullets
+foo
+
+# this is some python code
+
+class Foo :
+
+ def __init__ ( self , foo , bar ):
+ self . foo = foo
+ self . bar = bar
+
+ def do_something ():
+ """This is the docstring of this method.
+
+ """
+ return foo
+
+
+Some other headline
+This is some other text
+# some comment
+foo :
+ ls -lh
+
+
+
+
+
+
+
+
+
\ No newline at end of file