2022-07-29 14:27:37 +00:00
<!DOCTYPE html>
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en_US" xml:lang = "en_US" >
< head >
< meta charset = "utf-8" / >
< meta name = "generator" content = "pandoc" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0, user-scalable=yes" / >
< title > pblog.xyz< / title >
< style >
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
< / style >
< link rel = "stylesheet" href = "style.css" / >
<!-- [if lt IE 9]>
< script src = "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js" > < / script >
<![endif]-->
< / head >
< body >
<!-- Content placed here will appear directly after the opening <body> tag -->
< nav >
< a href = "/" > Home< / a > < span > / < / span >
< a href = "/blog" > Blog< / a > < span > / < / span >
< a href = "/tweaks.html" > Tweaks< / a > < span > / < / span >
2022-07-29 15:42:52 +00:00
< a href = "https://codeberg.org/tdarb/pblog" > Download< / a >
2022-07-29 14:27:37 +00:00
< / nav >
<!-- Do not remove this opening article element -->
< article >
< header id = "title-block-header" >
< h1 class = "title" > pblog.xyz< / h1 >
< / header >
2022-07-29 15:42:52 +00:00
< p > < img style = "max-width:200px;" src = "/media/pb-sandwich.svg" alt = "Peanut butter sandwich" > < / p >
< h2 id = "pandoc-static-blog-generator" > Pandoc static blog generator< / h2 >
< p > < code > pblog< / code > comes packed with an incredible list of features:< / p >
< ul >
< li > 5-second configuration< / li >
< li > Write all your posts and pages in Markdown< / li >
< li > Valid RSS 2.0 feed (customized design too!)< / li >
< / ul >
< p > and it also < em > doesn’ t< / em > ship with a lot of other features:< / p >
< ul >
< li > No advanced template layouts< / li >
< li > No themes< / li >
< li > No categories / tagging systems< / li >
< li > No comments< / li >
< li > No auto rebuilds for local testing< / li >
< / ul >
< p > But you can add these things yourself with a little know-how and patience! The goal of < code > pblog< / code > is to remain as bare-bones as possible, so these “ extras” are left out intentionally.< / p >
< h2 id = "live-demo" > Live Demo< / h2 >
< p > This very website is a live demo! Mind blowing, right? Take a look at the < a href = "/blog" > automated blog list< / a > to see some blog posts.< / p >
< h2 id = "requirements" > Requirements< / h2 >
< h4 id = "on-macos-bsd-systems" > On MacOS / BSD Systems< / h4 >
< ul >
< li > < a href = "https://linux.die.net/man/1/rsync" > rsync< / a > < / li >
< li > < a href = "https://www.gnu.org/software/coreutils/" > coreutils< / a > < / li >
< li > < a href = "http://xmlsoft.org/xslt/xsltproc.html" > xsltproc< / a > < / li >
< li > < a href = "https://pandoc.org/installing.html" > Pandoc< / a > < / li >
< / ul >
< h4 id = "on-linux" > On Linux< / h4 >
< ul >
< li > < a href = "https://linux.die.net/man/1/rsync" > rsync< / a > < / li >
< li > < a href = "http://xmlsoft.org/xslt/xsltproc.html" > xsltproc< / a > < / li >
< li > < a href = "https://pandoc.org/installing.html" > Pandoc< / a > < / li >
< / ul >
< h2 id = "getting-started" > Getting Started< / h2 >
< ol type = "1" >
< li > Clone the project repo: < a href = "https://codeberg.org/tdarb/pblog" > https://codeberg.org/tdarb/pblog< / a > < / li >
< li > Edit the variables at the top of the < code > pblog.sh< / code > file< / li >
< li > < strong > !! Pay close attention to the < code > OS< / code > variable to set your correct operating system !!< / strong > < / li >
< li > Edit the posts in < code > posts< / code > and pages in < code > pages< / code > to your own< / li >
< li > Run < code > make< / code > from the root directory< / li >
< li > Upload the contents of the < code > _output< / code > folder to your server< / li >
< li > Profit!!!< / li >
< / ol >
< p > For a more in-depth look, take a look at the article < a href = "/blog/pblog-intro.html" > Introducing pblog< / a > < / p >
< h2 id = "base-settings" > Base Settings< / h2 >
< h4 id = "table-of-contents" > Table of Contents< / h4 >
< p > By default < code > pblog< / code > ships with TOC (Table of Contents) enabled. You can disable this on each individual page or post by editing the < code > TOC< / code > variable in < code > pblog.sh< / code > to < code > false< / code > :< / p >
< div class = "sourceCode" id = "cb1" > < pre class = "sourceCode yaml" > < code class = "sourceCode yaml" > < span id = "cb1-1" > < a href = "#cb1-1" aria-hidden = "true" tabindex = "-1" > < / a > < span class = "fu" > TOC< / span > < span class = "kw" > :< / span > < span class = "at" > < / span > < span class = "ch" > false< / span > < / span > < / code > < / pre > < / div >
< h4 id = "code-highlighting" > Code Highlighting< / h4 >
< p > < code > pblog< / code > uses the standard syntax highlighting provided with Pandoc. To disable this, set the < code > SYNTAX< / code > variable to < code > false< / code > in < code > pblog.sh< / code > :< / p >
< div class = "sourceCode" id = "cb2" > < pre class = "sourceCode yaml" > < code class = "sourceCode yaml" > < span id = "cb2-1" > < a href = "#cb2-1" aria-hidden = "true" tabindex = "-1" > < / a > < span class = "fu" > SYNTAX< / span > < span class = "kw" > :< / span > < span class = "at" > < / span > < span class = "ch" > false< / span > < / span > < / code > < / pre > < / div >
< h2 id = "extras" > Extras< / h2 >
< ul >
< li > Add all media files (images, videos, etc.) under the < code > media< / code > folder< / li >
< li > Customize the look of your blog by editing the included < code > style.css< / code > < / li >
< li > Looking for fancier < em > image manipulation< / em > ? Take a look at < a href = "/tweaks.html" > this detailed post to get setup< / a > < / li >
< / ul >
< h2 id = "sites-built-with-pblog" > Sites built with pblog< / h2 >
< ul >
< li > < a href = "https://tdarb.org" > tdarb.org< / a > < / li >
< li > < a href = "https://matthewgraybosch.com" > matthewgraybosch.com< / a > < / li >
< / ul >
< p > You can share your < strong > pblog< / strong > websites by emailing me at the address listed below and I’ ll add them here.< / p >
< p > hello at tdarb {dot} org< / p >
2022-07-29 14:27:37 +00:00
< / article > <!-- Do not remove this closing article element -->
<!-- Content placed here will appear directly before the closing </body> tag -->
< footer >
< br >
< hr >
< p > < small > Powered by < a href = "https://pblog.xyz" > pblog< / a > < br >
Made with ♥ for a simpler web.< br >
Peanut butter sandwich illustration by Kate Maldjian from NounProject.com< / small > < / p >
< / footer >
< / body >
< / html >