Update all sourcehut links to Codeberg

This commit is contained in:
Bradley Taunt 2022-07-29 11:42:52 -04:00
parent 88bfebb251
commit b61f2a562d
12 changed files with 381 additions and 46 deletions

View File

@ -3,7 +3,7 @@
<a href="/">Home</a><span>&nbsp;/&nbsp;</span>
<a href="/blog">Blog</a><span>&nbsp;/&nbsp;</span>
<a href="/tweaks.html">Tweaks</a><span>&nbsp;/&nbsp;</span>
<a href="https://git.sr.ht/~tdarb/pblog.xyz">Download</a>
<a href="https://codeberg.org/tdarb/pblog">Download</a>
</nav>
<!-- Do not remove this opening article element -->
<article>

View File

@ -25,7 +25,7 @@
<a href="/">Home</a><span>&nbsp;/&nbsp;</span>
<a href="/blog">Blog</a><span>&nbsp;/&nbsp;</span>
<a href="/tweaks.html">Tweaks</a><span>&nbsp;/&nbsp;</span>
<a href="https://git.sr.ht/~tdarb/pblog.xyz">Download</a>
<a href="https://codeberg.org/tdarb/pblog">Download</a>
</nav>
<!-- Do not remove this opening article element -->
<article>
@ -34,9 +34,40 @@
<p class="date">Fri, 15 Jul 2022</p>
</header>
<nav id="TOC" role="doc-toc">
<ul><li><a href="#the-changes">The Changes</a></li><li><a href="#some-features-left-behind">Some Features Left Behind&#x2026;</a></li><li><a href="#introducing-tweaks">Introducing &#x201C;Tweaks&#x201D;</a></li></ul>
<ul>
<li><a href="#the-changes" id="toc-the-changes">The Changes</a></li>
<li><a href="#some-features-left-behind" id="toc-some-features-left-behind">Some Features Left Behind&#x2026;</a></li>
<li><a href="#introducing-tweaks" id="toc-introducing-tweaks">Introducing &#x201C;Tweaks&#x201D;</a></li>
</ul>
</nav>
<p><code>pblog</code> has received its first community patch! By &#x201C;community&#x201D; I mean someone other than myself has helped make this blog generator even better. So special thanks to <a href="https://matthewgraybosch.com/">Matthew Graybosch</a> for contributing to this humble project and patching in some solid quality of life improvements.</p><p>This is why open source is great: smarter people can help fix your mashed-up spaghetti code!</p><h3 id="the-changes">The Changes</h3><ol type="1"><li>Both pages and posts now generated <em>Table of Contents</em> by default<ul><li>You have the ability to disable this site-wide in the <code>pblog</code> config</li></ul></li><li>Ability to disable Pandoc generated syntax highlighting</li><li><code>xsltproc</code> will now generate HTML5 and include the RSS feed description under the title<ul><li>See it live on the <a href="/feed.xml">main RSS XML feed</a></li></ul></li><li>New metadata variable (<code>HTML_LANG</code>) in the <code>pblog.sh</code> config</li><li>Generated pages and posts now have &#x201C;Table of Contents&#x201D; by default<ul><li>This can be disabled in individual files with <code>toc: false</code></li></ul></li><li>Cleaned up redundant find statements</li></ol><h3 id="some-features-left-behind">Some Features Left Behind&#x2026;</h3><p>Also suggested in this patch was the addition of more advanced image manipulation via <code>ImageMagick</code>. This additional feature was pretty great from my testing but I felt as though adding an extra dependency and <em>slightly</em> more complex settings to <code>pblog</code> was moving things further from simplicity.</p><p><strong>BUT</strong> - that doesn&#x2019;t mean you can&#x2019;t take this great feature with you!</p><h3 id="introducing-tweaks">Introducing &#x201C;Tweaks&#x201D;</h3><p>I feel that <code>pblog</code> should always remain as simple as possible at the core. Let people get something up-and-running with the least amount of friction as possible. But I know that some users might want to squeeze just a <em>little</em> bit more out of it. This is where the new <strong>Tweaks</strong> section comes in.</p><p>Feel free to check out the <a href="/tweaks.html">official Tweaks page</a> and don&#x2019;t be afraid to add your own by opening a patch-set!</p><p>That&#x2019;s all for now, thanks for reading!</p><p>&#x2013; Brad</p>
<p><code>pblog</code> has received its first community patch! By &#x201C;community&#x201D; I mean someone other than myself has helped make this blog generator even better. So special thanks to <a href="https://matthewgraybosch.com/">Matthew Graybosch</a> for contributing to this humble project and patching in some solid quality of life improvements.</p>
<p>This is why open source is great: smarter people can help fix your mashed-up spaghetti code!</p>
<h3 id="the-changes">The Changes</h3>
<ol type="1">
<li>Both pages and posts now generated <em>Table of Contents</em> by default
<ul>
<li>You have the ability to disable this site-wide in the <code>pblog</code> config</li>
</ul></li>
<li>Ability to disable Pandoc generated syntax highlighting</li>
<li><code>xsltproc</code> will now generate HTML5 and include the RSS feed description under the title
<ul>
<li>See it live on the <a href="/feed.xml">main RSS XML feed</a></li>
</ul></li>
<li>New metadata variable (<code>HTML_LANG</code>) in the <code>pblog.sh</code> config</li>
<li>Generated pages and posts now have &#x201C;Table of Contents&#x201D; by default
<ul>
<li>This can be disabled in individual files with <code>toc: false</code></li>
</ul></li>
<li>Cleaned up redundant find statements</li>
</ol>
<h3 id="some-features-left-behind">Some Features Left Behind&#x2026;</h3>
<p>Also suggested in this patch was the addition of more advanced image manipulation via <code>ImageMagick</code>. This additional feature was pretty great from my testing but I felt as though adding an extra dependency and <em>slightly</em> more complex settings to <code>pblog</code> was moving things further from simplicity.</p>
<p><strong>BUT</strong> - that doesn&#x2019;t mean you can&#x2019;t take this great feature with you!</p>
<h3 id="introducing-tweaks">Introducing &#x201C;Tweaks&#x201D;</h3>
<p>I feel that <code>pblog</code> should always remain as simple as possible at the core. Let people get something up-and-running with the least amount of friction as possible. But I know that some users might want to squeeze just a <em>little</em> bit more out of it. This is where the new <strong>Tweaks</strong> section comes in.</p>
<p>Feel free to check out the <a href="/tweaks.html">official Tweaks page</a> and don&#x2019;t be afraid to add your own by opening a patch-set!</p>
<p>That&#x2019;s all for now, thanks for reading!</p>
<p>&#x2013; Brad</p>
</article><!-- Do not remove this closing article element -->
<!-- Content placed here will appear directly before the closing </body> tag -->

View File

@ -25,7 +25,7 @@
<a href="/">Home</a><span>&nbsp;/&nbsp;</span>
<a href="/blog">Blog</a><span>&nbsp;/&nbsp;</span>
<a href="/tweaks.html">Tweaks</a><span>&nbsp;/&nbsp;</span>
<a href="https://git.sr.ht/~tdarb/pblog.xyz">Download</a>
<a href="https://codeberg.org/tdarb/pblog">Download</a>
</nav>
<!-- Do not remove this opening article element -->
<article>
@ -34,9 +34,28 @@
<p class="date">Wed, 27 Jul 2022</p>
</header>
<nav id="TOC" role="doc-toc">
<ul><li><a href="#the-default-theme">The Default &#x201C;Theme&#x201D;</a></li><li><a href="#new-config-setup">New Config Setup</a></li><li><a href="#cutting-the-build-time-in-half">Cutting the Build Time in Half</a></li><li><a href="#far-from-perfect">Far From Perfect</a></li></ul>
<ul>
<li><a href="#the-default-theme" id="toc-the-default-theme">The Default &#x201C;Theme&#x201D;</a></li>
<li><a href="#new-config-setup" id="toc-new-config-setup">New Config Setup</a></li>
<li><a href="#cutting-the-build-time-in-half" id="toc-cutting-the-build-time-in-half">Cutting the Build Time in Half</a></li>
<li><a href="#far-from-perfect" id="toc-far-from-perfect">Far From Perfect</a></li>
</ul>
</nav>
<p>If it wasn&#x2019;t already obvious, this project has received a minor styling overhaul. But looks weren&#x2019;t the only thing updated with this latest patch.</p><p>The total build process time is now <em>two times faster</em>!</p><p>Keep reading for more details.</p><h2 id="the-default-theme">The Default &#x201C;Theme&#x201D;</h2><p>The styling changes aren&#x2019;t anything ground breaking. They simply center the main content and add a little more visual separation of the content and backdrop. Again, you can customize <code>pblog</code> as you see fit, but having a sane default is always nice.</p><h2 id="new-config-setup">New Config Setup</h2><p>Since updates and performance fixes might continue to come through in the future, I didn&#x2019;t want to make users play around with their default configuration every single time. Now, all main configuration is handled in the <code>_config.sh</code> file.</p><p>Feels cleaner already, right?</p><h2 id="cutting-the-build-time-in-half">Cutting the Build Time in Half</h2><p>I must give big kudos to <a href="https://matthewgraybosch.com">Matthew Graybosch</a> for inspiring this pretty big improvement. After some discussion over emails we both agreed that it seemed overkill to render the blog content twice (once for the XML feed itself and then again for all posts listed under <code>blog</code>). Performance wasn&#x2019;t the initial goal when I first launched this project, but now that the dust has settled it seemed appropriate to go back and fix some things.</p><p><code>pblog</code> now only needs to render the blog posts found in the <code>posts</code> directory <em>once</em>. It still produces semantic XML and keeps the webview versions of the articles looking solid. Overall I&#x2019;m pretty happy with this <em>little</em> improvement - it should pretty noticeable on projects rendering many posts.</p><h2 id="far-from-perfect">Far From Perfect</h2><p>This project is still very much in it&#x2019;s infancy. So if you notice something odd or broken in your own testing, please don&#x2019;t hesitate to open a patch or simply bring up the issue!</p><p>Thanks for reading,</p><p>&#x2013; Brad</p>
<p>If it wasn&#x2019;t already obvious, this project has received a minor styling overhaul. But looks weren&#x2019;t the only thing updated with this latest patch.</p>
<p>The total build process time is now <em>two times faster</em>!</p>
<p>Keep reading for more details.</p>
<h2 id="the-default-theme">The Default &#x201C;Theme&#x201D;</h2>
<p>The styling changes aren&#x2019;t anything ground breaking. They simply center the main content and add a little more visual separation of the content and backdrop. Again, you can customize <code>pblog</code> as you see fit, but having a sane default is always nice.</p>
<h2 id="new-config-setup">New Config Setup</h2>
<p>Since updates and performance fixes might continue to come through in the future, I didn&#x2019;t want to make users play around with their default configuration every single time. Now, all main configuration is handled in the new <code>_config.sh</code> file.</p>
<p>Feels cleaner already, right?</p>
<h2 id="cutting-the-build-time-in-half">Cutting the Build Time in Half</h2>
<p>I must give big kudos to <a href="https://matthewgraybosch.com">Matthew Graybosch</a> for inspiring this pretty big improvement. After some discussion over emails we both agreed that it seemed overkill to render the blog content twice (once for the XML feed itself and then again for all posts listed under <code>blog</code>). Performance wasn&#x2019;t the initial goal when I first launched this project, but now that the dust has settled it seemed appropriate to go back and fix some things.</p>
<p><code>pblog</code> now only needs to render the blog posts found in the <code>posts</code> directory <em>once</em>. It still produces semantic XML and keeps the webview versions of the articles looking solid. Overall I&#x2019;m pretty happy with this <em>little</em> improvement - it should pretty noticeable on projects rendering many posts.</p>
<h2 id="far-from-perfect">Far From Perfect</h2>
<p>This project is still very much in it&#x2019;s infancy. So if you notice something odd or broken in your own testing, please don&#x2019;t hesitate to open a patch or simply bring up the issue!</p>
<p>Thanks for reading,</p>
<p>&#x2013; Brad</p>
</article><!-- Do not remove this closing article element -->
<!-- Content placed here will appear directly before the closing </body> tag -->

View File

@ -20,4 +20,4 @@
white-space: nowrap;
width: 16ch;
}
</style></head><body><header><h1>pblog.xyz</h1><p><i>Pandoc static blog generator</i></p></header><span class="date">Wed, 27 Jul 2022 14:57:58 EDT</span><a href="https://pblog.xyz/blog/default-styles.html"><span>New Default Styling and 2x Faster!</span></a><span class="date">Fri, 15 Jul 2022 14:57:58 EDT</span><a href="https://pblog.xyz/blog/community-patch.html"><span>First Community Patch &amp; “Tweaks”</span></a><span class="date">Fri, 08 Jul 2022 14:57:58 EDT</span><a href="https://pblog.xyz/blog/small-patch.html"><span>Includes, rsync and Variables - Oh My!</span></a><span class="date">Mon, 04 Jul 2022 14:57:58 EDT</span><a href="https://pblog.xyz/blog/pblog-intro.html"><span>Introducing pblog</span></a><span class="date">Thu, 30 Jun 2022 14:57:58 EDT</span><a href="https://pblog.xyz/blog/pblog-launch.html"><span>Announcing pblog</span></a></body></html>
</style></head><body><header><h1>pblog.xyz</h1><p><i>Pandoc static blog generator</i></p></header><span class="date">Wed, 27 Jul 2022 11:42:04 EDT</span><a href="https://pblog.xyz/blog/default-styles.html"><span>New Default Styling and 2x Faster!</span></a><span class="date">Fri, 15 Jul 2022 11:42:04 EDT</span><a href="https://pblog.xyz/blog/community-patch.html"><span>First Community Patch &amp; “Tweaks”</span></a><span class="date">Fri, 08 Jul 2022 11:42:04 EDT</span><a href="https://pblog.xyz/blog/small-patch.html"><span>Includes, rsync and Variables - Oh My!</span></a><span class="date">Mon, 04 Jul 2022 11:42:04 EDT</span><a href="https://pblog.xyz/blog/pblog-intro.html"><span>Introducing pblog</span></a><span class="date">Thu, 30 Jun 2022 11:42:04 EDT</span><a href="https://pblog.xyz/blog/pblog-launch.html"><span>Announcing pblog</span></a></body></html>

View File

@ -88,7 +88,7 @@
<a href="/">Home</a><span>&nbsp;/&nbsp;</span>
<a href="/blog">Blog</a><span>&nbsp;/&nbsp;</span>
<a href="/tweaks.html">Tweaks</a><span>&nbsp;/&nbsp;</span>
<a href="https://git.sr.ht/~tdarb/pblog.xyz">Download</a>
<a href="https://codeberg.org/tdarb/pblog">Download</a>
</nav>
<!-- Do not remove this opening article element -->
<article>
@ -97,9 +97,33 @@
<p class="date">Mon, 04 Jul 2022</p>
</header>
<nav id="TOC" role="doc-toc">
<ul><li><a href="#main-goal">Main Goal</a></li><li><a href="#site-structure">Site Structure</a></li><li><a href="#headers-and-footers">Headers and Footers</a></li><li><a href="#posts-and-pages">Posts and Pages</a></li><li><a href="#the-build-process">The Build Process</a></li><li><a href="#uploading-to-the-www">Uploading to the WWW</a></li><li><a href="#wrapping-up">Wrapping Up</a></li></ul>
<ul>
<li><a href="#main-goal" id="toc-main-goal">Main Goal</a></li>
<li><a href="#site-structure" id="toc-site-structure">Site Structure</a></li>
<li><a href="#headers-and-footers" id="toc-headers-and-footers">Headers and Footers</a></li>
<li><a href="#posts-and-pages" id="toc-posts-and-pages">Posts and Pages</a></li>
<li><a href="#the-build-process" id="toc-the-build-process">The Build Process</a></li>
<li><a href="#uploading-to-the-www" id="toc-uploading-to-the-www">Uploading to the WWW</a></li>
<li><a href="#wrapping-up" id="toc-wrapping-up">Wrapping Up</a></li>
</ul>
</nav>
<p>This article is a <em>living document</em>. It will always have the most up-to-date information on getting started with <code>pblog</code>.</p><p><strong>Last Updated</strong>: July 27, 2022</p><hr /><p>Although this project was already <a href="/blog/pblog-launch.html">announced</a> a couple days ago, I thought it might be best to actually breakdown <code>pblog</code> into greater detail.</p><p>Enough chit-chat, let&#x2019;s get into it!</p><h3 id="main-goal">Main Goal</h3><p>The entire purpose of <code>pblog</code> is to be as bare-bones as possible, while still maintaining a pleasant writing workflow. Users write their posts and pages in Markdown - <em>pblog</em> handles everything else:</p><ul><li>Posts and pages generated via Pandoc with minimal CSS</li><li>RSS feed at <code>feed.xml</code></li><li>Generated blog listing at <code>blog/index.html</code></li><li>Browser-styled XML (in supported browsers)</li></ul><h3 id="site-structure">Site Structure</h3><p>After you&#x2019;ve cloned the <a href="https://git.sr.ht/~tdarb/pblog.xyz">official pblog repo</a>, the next thing you should do is edit the main <code>_config.sh</code> file in the root directory. This will give you a better understanding of how everything is built.</p><p>Once generated, <em>pblog</em> structures the final website files as such:</p><pre class="shell"><code>_output/
<p>This article is a <em>living document</em>. It will always have the most up-to-date information on getting started with <code>pblog</code>.</p>
<p><strong>Last Updated</strong>: July 27, 2022</p>
<hr />
<p>Although this project was already <a href="/blog/pblog-launch.html">announced</a> a couple days ago, I thought it might be best to actually breakdown <code>pblog</code> into greater detail.</p>
<p>Enough chit-chat, let&#x2019;s get into it!</p>
<h3 id="main-goal">Main Goal</h3>
<p>The entire purpose of <code>pblog</code> is to be as bare-bones as possible, while still maintaining a pleasant writing workflow. Users write their posts and pages in Markdown - <em>pblog</em> handles everything else:</p>
<ul>
<li>Posts and pages generated via Pandoc with minimal CSS</li>
<li>RSS feed at <code>feed.xml</code></li>
<li>Generated blog listing at <code>blog/index.html</code></li>
<li>Browser-styled XML (in supported browsers)</li>
</ul>
<h3 id="site-structure">Site Structure</h3>
<p>After you&#x2019;ve cloned the <a href="https://codeberg.org/tdarb/pblog">official pblog repo on Codeberg</a>, the next thing you should do is edit the main <code>_config.sh</code> file in the root directory. This will give you a better understanding of how everything is built.</p>
<p>Once generated, <em>pblog</em> structures the final website files as such:</p>
<pre class="shell"><code>_output/
|__blog/
|__index.html
|__blog-post-example.html
@ -107,12 +131,41 @@
|__feed.xml
|__index.html
|__rss.xsl
|__style.css</code></pre><p>This structure is completely customizable by simply editing the <code>pblog.sh</code> file (if you so desire).</p><h3 id="headers-and-footers">Headers and Footers</h3><p>By default <code>pblog</code> will add the header and footer includes to every individual post and page. To edit these, simply open the <code>_header.html</code> and <code>_footer.html</code> files respectively.</p><p><strong>Important</strong>: To avoid rendering issues DO NOT remove the included <code>article</code> opening and closing tags within those files. Everything else you can edit, remove, etc.</p><h3 id="posts-and-pages">Posts and Pages</h3><p>Posts and pages are written via Markdown inside the <code>posts</code> and <code>pages</code> folders respectively.</p><p>Individual posts require the following headers (take note of the date format):</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="pp">---</span></span>
|__style.css</code></pre>
<p>This structure is completely customizable by simply editing the <code>pblog.sh</code> file (if you so desire).</p>
<h3 id="headers-and-footers">Headers and Footers</h3>
<p>By default <code>pblog</code> will add the header and footer includes to every individual post and page. To edit these, simply open the <code>_header.html</code> and <code>_footer.html</code> files respectively.</p>
<p><strong>Important</strong>: To avoid rendering issues DO NOT remove the included <code>article</code> opening and closing tags within those files. Everything else you can edit, remove, etc.</p>
<h3 id="posts-and-pages">Posts and Pages</h3>
<p>Posts and pages are written via Markdown inside the <code>posts</code> and <code>pages</code> folders respectively.</p>
<p>Individual posts require the following headers (take note of the date format):</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="pp">---</span></span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span><span class="kw">:</span><span class="at"> Blog Title</span></span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a><span class="fu">date</span><span class="kw">:</span><span class="at"> Mon, 04 Jul 2022</span></span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span></code></pre></div><p>while individual pages only require a <code>title</code>:</p><div class="sourceCode" id="cb3"><pre class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span></code></pre></div>
<p>while individual pages only require a <code>title</code>:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span><span class="kw">:</span><span class="at"> Page Title</span></span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span></code></pre></div><p>This makes for an easier switch over from other SSG platforms like Jekyll or Hugo.</p><h3 id="the-build-process">The Build Process</h3><p>The main variables at the top of the <code>pblog.sh</code> file need to edited with your own details before generating your website. Those variables are fairly self-explanatory and simple to edit.</p><p>All you need to do now is run <code>make</code> (or <code>make serve</code> if you&#x2019;re looking to test locally) and you&#x2019;re done. Your website should now be fully generated inside the include <code>_output</code> directory. For quick reference:</p><ol type="1"><li><em>pblog</em> converts your Markdown posts into two variations of HTML<ul><li>One is used specifically for rendering itself inside the RSS feed</li><li>The other is used for linking in a browser</li></ul></li><li>Next, <em>pblog</em> converts your Markdown pages into HTML</li><li>All of these generated HTML files are then moved to the <code>_output</code> folder</li></ol><p><em>pblog</em> is also smart enough to automatically generate a main blog list directory for you. This <code>index.html</code> file is placed inside the <code>_output/blog</code> folder on build. You can see an example of the blog list <a href="/blog">on this very website</a>.</p><h3 id="uploading-to-the-www">Uploading to the WWW</h3><p>Those with more experience will probably lean towards using a utility like <code>rsync</code> to sync the contents of their <code>_output</code> folder with their web server. For those with less experience, I recommend using something like <a href="https://app.netlify.com/drop">Netlify Drop</a> to make things as friction-less as possible.</p><h3 id="wrapping-up">Wrapping Up</h3><p>There isn&#x2019;t much else to say. <code>pblog</code> is as static or flexible as you chose it to be. If you have any ideas on how to improve things or come across any bugs, please <a href="https://git.sr.ht/~tdarb/pblog.xyz">open a ticket or PR on the official repo</a>.</p><p>Thanks and happy blogging with <em>pblog</em>!</p>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span></code></pre></div>
<p>This makes for an easier switch over from other SSG platforms like Jekyll or Hugo.</p>
<h3 id="the-build-process">The Build Process</h3>
<p>The main variables at the top of the <code>pblog.sh</code> file need to edited with your own details before generating your website. Those variables are fairly self-explanatory and simple to edit.</p>
<p>All you need to do now is run <code>make</code> (or <code>make serve</code> if you&#x2019;re looking to test locally) and you&#x2019;re done. Your website should now be fully generated inside the include <code>_output</code> directory. For quick reference:</p>
<ol type="1">
<li><em>pblog</em> converts your Markdown posts into two variations of HTML
<ul>
<li>One is used specifically for rendering itself inside the RSS feed</li>
<li>The other is used for linking in a browser</li>
</ul></li>
<li>Next, <em>pblog</em> converts your Markdown pages into HTML</li>
<li>All of these generated HTML files are then moved to the <code>_output</code> folder</li>
</ol>
<p><em>pblog</em> is also smart enough to automatically generate a main blog list directory for you. This <code>index.html</code> file is placed inside the <code>_output/blog</code> folder on build. You can see an example of the blog list <a href="/blog">on this very website</a>.</p>
<h3 id="uploading-to-the-www">Uploading to the WWW</h3>
<p>Those with more experience will probably lean towards using a utility like <code>rsync</code> to sync the contents of their <code>_output</code> folder with their web server. For those with less experience, I recommend using something like <a href="https://app.netlify.com/drop">Netlify Drop</a> to make things as friction-less as possible.</p>
<h3 id="wrapping-up">Wrapping Up</h3>
<p>There isn&#x2019;t much else to say. <code>pblog</code> is as static or flexible as you chose it to be. If you have any ideas on how to improve things or come across any bugs, please <a href="https://codeberg.org/tdarb/pblog">open a ticket or PR on the official repo</a>.</p>
<p>Thanks and happy blogging with <em>pblog</em>!</p>
</article><!-- Do not remove this closing article element -->
<!-- Content placed here will appear directly before the closing </body> tag -->

View File

@ -25,7 +25,7 @@
<a href="/">Home</a><span>&nbsp;/&nbsp;</span>
<a href="/blog">Blog</a><span>&nbsp;/&nbsp;</span>
<a href="/tweaks.html">Tweaks</a><span>&nbsp;/&nbsp;</span>
<a href="https://git.sr.ht/~tdarb/pblog.xyz">Download</a>
<a href="https://codeberg.org/tdarb/pblog">Download</a>
</nav>
<!-- Do not remove this opening article element -->
<article>
@ -33,7 +33,9 @@
<h1 class="title">Announcing pblog</h1>
<p class="date">Thu, 30 Jun 2022</p>
</header>
<p>It&#x2019;s time to celebrate! The official launch of <code>pblog</code> happened today.</p><p>There isn&#x2019;t much else to say. All details and instructions on how to start your own pblog can be found on the <a href="https://pblog.xyz">main homepage for this project</a>.</p><p>Thanks for reading!</p>
<p>It&#x2019;s time to celebrate! The official launch of <code>pblog</code> happened today.</p>
<p>There isn&#x2019;t much else to say. All details and instructions on how to start your own pblog can be found on the <a href="https://pblog.xyz">main homepage for this project</a>.</p>
<p>Thanks for reading!</p>
</article><!-- Do not remove this closing article element -->
<!-- Content placed here will appear directly before the closing </body> tag -->

View File

@ -25,7 +25,7 @@
<a href="/">Home</a><span>&nbsp;/&nbsp;</span>
<a href="/blog">Blog</a><span>&nbsp;/&nbsp;</span>
<a href="/tweaks.html">Tweaks</a><span>&nbsp;/&nbsp;</span>
<a href="https://git.sr.ht/~tdarb/pblog.xyz">Download</a>
<a href="https://codeberg.org/tdarb/pblog">Download</a>
</nav>
<!-- Do not remove this opening article element -->
<article>
@ -34,9 +34,26 @@
<p class="date">Fri, 08 Jul 2022</p>
</header>
<nav id="TOC" role="doc-toc">
<ul><li><a href="#default-header-footer-includes">Default &#x201C;header&#x201D; &amp; &#x201C;footer&#x201D; Includes</a></li><li><a href="#syncing-changes-with-rsync">Syncing Changes with rsync</a></li><li><a href="#on-the-horizon">On the Horizon&#x2026;</a></li></ul>
<ul>
<li><a href="#default-header-footer-includes" id="toc-default-header-footer-includes">Default &#x201C;header&#x201D; &amp; &#x201C;footer&#x201D; Includes</a></li>
<li><a href="#syncing-changes-with-rsync" id="toc-syncing-changes-with-rsync">Syncing Changes with rsync</a></li>
<li><a href="#on-the-horizon" id="toc-on-the-horizon">On the Horizon&#x2026;</a></li>
</ul>
</nav>
<p>Even though <code>pblog</code> was just launched a week ago, it has since been updated with some nice quality-of-life improvements.</p><h3 id="default-header-footer-includes">Default &#x201C;header&#x201D; &amp; &#x201C;footer&#x201D; Includes</h3><p>A new variable was added to the main <code>pblog.sh</code> configuration file called <code>INC_HEAD_FOOT</code>. By default this is set to <code>true</code> and simply pulls in two HTML files:</p><ul><li><code>_header.html</code>: all content within is placed directly after the opening <code>body</code> tag</li><li><code>_footer.html</code>: all content within is placed directly before the closing <code>body</code> tag</li></ul><p>These includes are added to every outputted file from inside both the <code>posts</code> and <code>pages</code> directories on build.</p><h3 id="syncing-changes-with-rsync">Syncing Changes with rsync</h3><p>Although it adds another dependency to the project, I believe utilizing <code>rsync</code> for the generated files is far better then nuking the directory from orbit each time. This also provides a cleaner experience for users syncing their <code>_output</code> directory with their web server of choice.</p><h3 id="on-the-horizon">On the Horizon&#x2026;</h3><p>My plan was to also tackle the issue of &#x201C;auto rebuilds&#x201D; when running <code>pblog</code> locally. This became more of a headache than I initially estimated - so it was dropped from this patch. My hope is to get something up-and-running in the near future, while avoiding the inclusion of yet another major dependency. Anyone more experienced than myself in the ways of &#x201C;auto rebuilds&#x201D; is free to open a patch if they so desire!</p><p>Thanks for your interest in these minor updates!</p><p>P.S. Don&#x2019;t forget - if your website runs on <code>pblog</code> be sure to reach out and get it featured on the <a href="/">homepage</a>!</p>
<p>Even though <code>pblog</code> was just launched a week ago, it has since been updated with some nice quality-of-life improvements.</p>
<h3 id="default-header-footer-includes">Default &#x201C;header&#x201D; &amp; &#x201C;footer&#x201D; Includes</h3>
<p>A new variable was added to the main <code>pblog.sh</code> configuration file called <code>INC_HEAD_FOOT</code>. By default this is set to <code>true</code> and simply pulls in two HTML files:</p>
<ul>
<li><code>_header.html</code>: all content within is placed directly after the opening <code>body</code> tag</li>
<li><code>_footer.html</code>: all content within is placed directly before the closing <code>body</code> tag</li>
</ul>
<p>These includes are added to every outputted file from inside both the <code>posts</code> and <code>pages</code> directories on build.</p>
<h3 id="syncing-changes-with-rsync">Syncing Changes with rsync</h3>
<p>Although it adds another dependency to the project, I believe utilizing <code>rsync</code> for the generated files is far better then nuking the directory from orbit each time. This also provides a cleaner experience for users syncing their <code>_output</code> directory with their web server of choice.</p>
<h3 id="on-the-horizon">On the Horizon&#x2026;</h3>
<p>My plan was to also tackle the issue of &#x201C;auto rebuilds&#x201D; when running <code>pblog</code> locally. This became more of a headache than I initially estimated - so it was dropped from this patch. My hope is to get something up-and-running in the near future, while avoiding the inclusion of yet another major dependency. Anyone more experienced than myself in the ways of &#x201C;auto rebuilds&#x201D; is free to open a patch if they so desire!</p>
<p>Thanks for your interest in these minor updates!</p>
<p>P.S. Don&#x2019;t forget - if your website runs on <code>pblog</code> be sure to reach out and get it featured on the <a href="/">homepage</a>!</p>
</article><!-- Do not remove this closing article element -->
<!-- Content placed here will appear directly before the closing </body> tag -->

View File

@ -8,7 +8,7 @@
<copyright>Copyright 2022, Bradley Taunt</copyright>
<ttl>60</ttl>
<item>
<pubDate>Fri, 15 Jul 2022 14:57:58 EDT</pubDate>
<pubDate>Fri, 15 Jul 2022 11:42:04 EDT</pubDate>
<category>2022/07/15/5</category>
<title>First Community Patch &amp; &#x201C;Tweaks&#x201D;</title>
<link>https://pblog.xyz/blog/community-patch.html</link>
@ -18,14 +18,45 @@
<p class="date">Fri, 15 Jul 2022</p>
</header>
<nav id="TOC" role="doc-toc">
<ul><li><a href="#the-changes">The Changes</a></li><li><a href="#some-features-left-behind">Some Features Left Behind&#x2026;</a></li><li><a href="#introducing-tweaks">Introducing &#x201C;Tweaks&#x201D;</a></li></ul>
<ul>
<li><a href="#the-changes" id="toc-the-changes">The Changes</a></li>
<li><a href="#some-features-left-behind" id="toc-some-features-left-behind">Some Features Left Behind&#x2026;</a></li>
<li><a href="#introducing-tweaks" id="toc-introducing-tweaks">Introducing &#x201C;Tweaks&#x201D;</a></li>
</ul>
</nav>
<p><code>pblog</code> has received its first community patch! By &#x201C;community&#x201D; I mean someone other than myself has helped make this blog generator even better. So special thanks to <a href="https://matthewgraybosch.com/">Matthew Graybosch</a> for contributing to this humble project and patching in some solid quality of life improvements.</p><p>This is why open source is great: smarter people can help fix your mashed-up spaghetti code!</p><h3 id="the-changes">The Changes</h3><ol type="1"><li>Both pages and posts now generated <em>Table of Contents</em> by default<ul><li>You have the ability to disable this site-wide in the <code>pblog</code> config</li></ul></li><li>Ability to disable Pandoc generated syntax highlighting</li><li><code>xsltproc</code> will now generate HTML5 and include the RSS feed description under the title<ul><li>See it live on the <a href="/feed.xml">main RSS XML feed</a></li></ul></li><li>New metadata variable (<code>HTML_LANG</code>) in the <code>pblog.sh</code> config</li><li>Generated pages and posts now have &#x201C;Table of Contents&#x201D; by default<ul><li>This can be disabled in individual files with <code>toc: false</code></li></ul></li><li>Cleaned up redundant find statements</li></ol><h3 id="some-features-left-behind">Some Features Left Behind&#x2026;</h3><p>Also suggested in this patch was the addition of more advanced image manipulation via <code>ImageMagick</code>. This additional feature was pretty great from my testing but I felt as though adding an extra dependency and <em>slightly</em> more complex settings to <code>pblog</code> was moving things further from simplicity.</p><p><strong>BUT</strong> - that doesn&#x2019;t mean you can&#x2019;t take this great feature with you!</p><h3 id="introducing-tweaks">Introducing &#x201C;Tweaks&#x201D;</h3><p>I feel that <code>pblog</code> should always remain as simple as possible at the core. Let people get something up-and-running with the least amount of friction as possible. But I know that some users might want to squeeze just a <em>little</em> bit more out of it. This is where the new <strong>Tweaks</strong> section comes in.</p><p>Feel free to check out the <a href="/tweaks.html">official Tweaks page</a> and don&#x2019;t be afraid to add your own by opening a patch-set!</p><p>That&#x2019;s all for now, thanks for reading!</p><p>&#x2013; Brad</p>]]></description>
<p><code>pblog</code> has received its first community patch! By &#x201C;community&#x201D; I mean someone other than myself has helped make this blog generator even better. So special thanks to <a href="https://matthewgraybosch.com/">Matthew Graybosch</a> for contributing to this humble project and patching in some solid quality of life improvements.</p>
<p>This is why open source is great: smarter people can help fix your mashed-up spaghetti code!</p>
<h3 id="the-changes">The Changes</h3>
<ol type="1">
<li>Both pages and posts now generated <em>Table of Contents</em> by default
<ul>
<li>You have the ability to disable this site-wide in the <code>pblog</code> config</li>
</ul></li>
<li>Ability to disable Pandoc generated syntax highlighting</li>
<li><code>xsltproc</code> will now generate HTML5 and include the RSS feed description under the title
<ul>
<li>See it live on the <a href="/feed.xml">main RSS XML feed</a></li>
</ul></li>
<li>New metadata variable (<code>HTML_LANG</code>) in the <code>pblog.sh</code> config</li>
<li>Generated pages and posts now have &#x201C;Table of Contents&#x201D; by default
<ul>
<li>This can be disabled in individual files with <code>toc: false</code></li>
</ul></li>
<li>Cleaned up redundant find statements</li>
</ol>
<h3 id="some-features-left-behind">Some Features Left Behind&#x2026;</h3>
<p>Also suggested in this patch was the addition of more advanced image manipulation via <code>ImageMagick</code>. This additional feature was pretty great from my testing but I felt as though adding an extra dependency and <em>slightly</em> more complex settings to <code>pblog</code> was moving things further from simplicity.</p>
<p><strong>BUT</strong> - that doesn&#x2019;t mean you can&#x2019;t take this great feature with you!</p>
<h3 id="introducing-tweaks">Introducing &#x201C;Tweaks&#x201D;</h3>
<p>I feel that <code>pblog</code> should always remain as simple as possible at the core. Let people get something up-and-running with the least amount of friction as possible. But I know that some users might want to squeeze just a <em>little</em> bit more out of it. This is where the new <strong>Tweaks</strong> section comes in.</p>
<p>Feel free to check out the <a href="/tweaks.html">official Tweaks page</a> and don&#x2019;t be afraid to add your own by opening a patch-set!</p>
<p>That&#x2019;s all for now, thanks for reading!</p>
<p>&#x2013; Brad</p>]]></description>
<author>hello@tdarb.org (Bradley Taunt)</author>
<guid>https://pblog.xyz/blog/community-patch.html</guid>
</item>
<item>
<pubDate>Wed, 27 Jul 2022 14:57:58 EDT</pubDate>
<pubDate>Wed, 27 Jul 2022 11:42:04 EDT</pubDate>
<category>2022/07/27/3</category>
<title>New Default Styling and 2x Faster!</title>
<link>https://pblog.xyz/blog/default-styles.html</link>
@ -35,14 +66,33 @@
<p class="date">Wed, 27 Jul 2022</p>
</header>
<nav id="TOC" role="doc-toc">
<ul><li><a href="#the-default-theme">The Default &#x201C;Theme&#x201D;</a></li><li><a href="#new-config-setup">New Config Setup</a></li><li><a href="#cutting-the-build-time-in-half">Cutting the Build Time in Half</a></li><li><a href="#far-from-perfect">Far From Perfect</a></li></ul>
<ul>
<li><a href="#the-default-theme" id="toc-the-default-theme">The Default &#x201C;Theme&#x201D;</a></li>
<li><a href="#new-config-setup" id="toc-new-config-setup">New Config Setup</a></li>
<li><a href="#cutting-the-build-time-in-half" id="toc-cutting-the-build-time-in-half">Cutting the Build Time in Half</a></li>
<li><a href="#far-from-perfect" id="toc-far-from-perfect">Far From Perfect</a></li>
</ul>
</nav>
<p>If it wasn&#x2019;t already obvious, this project has received a minor styling overhaul. But looks weren&#x2019;t the only thing updated with this latest patch.</p><p>The total build process time is now <em>two times faster</em>!</p><p>Keep reading for more details.</p><h2 id="the-default-theme">The Default &#x201C;Theme&#x201D;</h2><p>The styling changes aren&#x2019;t anything ground breaking. They simply center the main content and add a little more visual separation of the content and backdrop. Again, you can customize <code>pblog</code> as you see fit, but having a sane default is always nice.</p><h2 id="new-config-setup">New Config Setup</h2><p>Since updates and performance fixes might continue to come through in the future, I didn&#x2019;t want to make users play around with their default configuration every single time. Now, all main configuration is handled in the <code>_config.sh</code> file.</p><p>Feels cleaner already, right?</p><h2 id="cutting-the-build-time-in-half">Cutting the Build Time in Half</h2><p>I must give big kudos to <a href="https://matthewgraybosch.com">Matthew Graybosch</a> for inspiring this pretty big improvement. After some discussion over emails we both agreed that it seemed overkill to render the blog content twice (once for the XML feed itself and then again for all posts listed under <code>blog</code>). Performance wasn&#x2019;t the initial goal when I first launched this project, but now that the dust has settled it seemed appropriate to go back and fix some things.</p><p><code>pblog</code> now only needs to render the blog posts found in the <code>posts</code> directory <em>once</em>. It still produces semantic XML and keeps the webview versions of the articles looking solid. Overall I&#x2019;m pretty happy with this <em>little</em> improvement - it should pretty noticeable on projects rendering many posts.</p><h2 id="far-from-perfect">Far From Perfect</h2><p>This project is still very much in it&#x2019;s infancy. So if you notice something odd or broken in your own testing, please don&#x2019;t hesitate to open a patch or simply bring up the issue!</p><p>Thanks for reading,</p><p>&#x2013; Brad</p>]]></description>
<p>If it wasn&#x2019;t already obvious, this project has received a minor styling overhaul. But looks weren&#x2019;t the only thing updated with this latest patch.</p>
<p>The total build process time is now <em>two times faster</em>!</p>
<p>Keep reading for more details.</p>
<h2 id="the-default-theme">The Default &#x201C;Theme&#x201D;</h2>
<p>The styling changes aren&#x2019;t anything ground breaking. They simply center the main content and add a little more visual separation of the content and backdrop. Again, you can customize <code>pblog</code> as you see fit, but having a sane default is always nice.</p>
<h2 id="new-config-setup">New Config Setup</h2>
<p>Since updates and performance fixes might continue to come through in the future, I didn&#x2019;t want to make users play around with their default configuration every single time. Now, all main configuration is handled in the new <code>_config.sh</code> file.</p>
<p>Feels cleaner already, right?</p>
<h2 id="cutting-the-build-time-in-half">Cutting the Build Time in Half</h2>
<p>I must give big kudos to <a href="https://matthewgraybosch.com">Matthew Graybosch</a> for inspiring this pretty big improvement. After some discussion over emails we both agreed that it seemed overkill to render the blog content twice (once for the XML feed itself and then again for all posts listed under <code>blog</code>). Performance wasn&#x2019;t the initial goal when I first launched this project, but now that the dust has settled it seemed appropriate to go back and fix some things.</p>
<p><code>pblog</code> now only needs to render the blog posts found in the <code>posts</code> directory <em>once</em>. It still produces semantic XML and keeps the webview versions of the articles looking solid. Overall I&#x2019;m pretty happy with this <em>little</em> improvement - it should pretty noticeable on projects rendering many posts.</p>
<h2 id="far-from-perfect">Far From Perfect</h2>
<p>This project is still very much in it&#x2019;s infancy. So if you notice something odd or broken in your own testing, please don&#x2019;t hesitate to open a patch or simply bring up the issue!</p>
<p>Thanks for reading,</p>
<p>&#x2013; Brad</p>]]></description>
<author>hello@tdarb.org (Bradley Taunt)</author>
<guid>https://pblog.xyz/blog/default-styles.html</guid>
</item>
<item>
<pubDate>Mon, 04 Jul 2022 14:57:58 EDT</pubDate>
<pubDate>Mon, 04 Jul 2022 11:42:04 EDT</pubDate>
<category>2022/07/04/1</category>
<title>Introducing pblog</title>
<link>https://pblog.xyz/blog/pblog-intro.html</link>
@ -52,9 +102,33 @@
<p class="date">Mon, 04 Jul 2022</p>
</header>
<nav id="TOC" role="doc-toc">
<ul><li><a href="#main-goal">Main Goal</a></li><li><a href="#site-structure">Site Structure</a></li><li><a href="#headers-and-footers">Headers and Footers</a></li><li><a href="#posts-and-pages">Posts and Pages</a></li><li><a href="#the-build-process">The Build Process</a></li><li><a href="#uploading-to-the-www">Uploading to the WWW</a></li><li><a href="#wrapping-up">Wrapping Up</a></li></ul>
<ul>
<li><a href="#main-goal" id="toc-main-goal">Main Goal</a></li>
<li><a href="#site-structure" id="toc-site-structure">Site Structure</a></li>
<li><a href="#headers-and-footers" id="toc-headers-and-footers">Headers and Footers</a></li>
<li><a href="#posts-and-pages" id="toc-posts-and-pages">Posts and Pages</a></li>
<li><a href="#the-build-process" id="toc-the-build-process">The Build Process</a></li>
<li><a href="#uploading-to-the-www" id="toc-uploading-to-the-www">Uploading to the WWW</a></li>
<li><a href="#wrapping-up" id="toc-wrapping-up">Wrapping Up</a></li>
</ul>
</nav>
<p>This article is a <em>living document</em>. It will always have the most up-to-date information on getting started with <code>pblog</code>.</p><p><strong>Last Updated</strong>: July 27, 2022</p><hr /><p>Although this project was already <a href="/blog/pblog-launch.html">announced</a> a couple days ago, I thought it might be best to actually breakdown <code>pblog</code> into greater detail.</p><p>Enough chit-chat, let&#x2019;s get into it!</p><h3 id="main-goal">Main Goal</h3><p>The entire purpose of <code>pblog</code> is to be as bare-bones as possible, while still maintaining a pleasant writing workflow. Users write their posts and pages in Markdown - <em>pblog</em> handles everything else:</p><ul><li>Posts and pages generated via Pandoc with minimal CSS</li><li>RSS feed at <code>feed.xml</code></li><li>Generated blog listing at <code>blog/index.html</code></li><li>Browser-styled XML (in supported browsers)</li></ul><h3 id="site-structure">Site Structure</h3><p>After you&#x2019;ve cloned the <a href="https://git.sr.ht/~tdarb/pblog.xyz">official pblog repo</a>, the next thing you should do is edit the main <code>_config.sh</code> file in the root directory. This will give you a better understanding of how everything is built.</p><p>Once generated, <em>pblog</em> structures the final website files as such:</p><pre class="shell"><code>_output/
<p>This article is a <em>living document</em>. It will always have the most up-to-date information on getting started with <code>pblog</code>.</p>
<p><strong>Last Updated</strong>: July 27, 2022</p>
<hr />
<p>Although this project was already <a href="/blog/pblog-launch.html">announced</a> a couple days ago, I thought it might be best to actually breakdown <code>pblog</code> into greater detail.</p>
<p>Enough chit-chat, let&#x2019;s get into it!</p>
<h3 id="main-goal">Main Goal</h3>
<p>The entire purpose of <code>pblog</code> is to be as bare-bones as possible, while still maintaining a pleasant writing workflow. Users write their posts and pages in Markdown - <em>pblog</em> handles everything else:</p>
<ul>
<li>Posts and pages generated via Pandoc with minimal CSS</li>
<li>RSS feed at <code>feed.xml</code></li>
<li>Generated blog listing at <code>blog/index.html</code></li>
<li>Browser-styled XML (in supported browsers)</li>
</ul>
<h3 id="site-structure">Site Structure</h3>
<p>After you&#x2019;ve cloned the <a href="https://codeberg.org/tdarb/pblog">official pblog repo on Codeberg</a>, the next thing you should do is edit the main <code>_config.sh</code> file in the root directory. This will give you a better understanding of how everything is built.</p>
<p>Once generated, <em>pblog</em> structures the final website files as such:</p>
<pre class="shell"><code>_output/
|__blog/
|__index.html
|__blog-post-example.html
@ -62,17 +136,46 @@
|__feed.xml
|__index.html
|__rss.xsl
|__style.css</code></pre><p>This structure is completely customizable by simply editing the <code>pblog.sh</code> file (if you so desire).</p><h3 id="headers-and-footers">Headers and Footers</h3><p>By default <code>pblog</code> will add the header and footer includes to every individual post and page. To edit these, simply open the <code>_header.html</code> and <code>_footer.html</code> files respectively.</p><p><strong>Important</strong>: To avoid rendering issues DO NOT remove the included <code>article</code> opening and closing tags within those files. Everything else you can edit, remove, etc.</p><h3 id="posts-and-pages">Posts and Pages</h3><p>Posts and pages are written via Markdown inside the <code>posts</code> and <code>pages</code> folders respectively.</p><p>Individual posts require the following headers (take note of the date format):</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="pp">---</span></span>
|__style.css</code></pre>
<p>This structure is completely customizable by simply editing the <code>pblog.sh</code> file (if you so desire).</p>
<h3 id="headers-and-footers">Headers and Footers</h3>
<p>By default <code>pblog</code> will add the header and footer includes to every individual post and page. To edit these, simply open the <code>_header.html</code> and <code>_footer.html</code> files respectively.</p>
<p><strong>Important</strong>: To avoid rendering issues DO NOT remove the included <code>article</code> opening and closing tags within those files. Everything else you can edit, remove, etc.</p>
<h3 id="posts-and-pages">Posts and Pages</h3>
<p>Posts and pages are written via Markdown inside the <code>posts</code> and <code>pages</code> folders respectively.</p>
<p>Individual posts require the following headers (take note of the date format):</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="pp">---</span></span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span><span class="kw">:</span><span class="at"> Blog Title</span></span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a><span class="fu">date</span><span class="kw">:</span><span class="at"> Mon, 04 Jul 2022</span></span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span></code></pre></div><p>while individual pages only require a <code>title</code>:</p><div class="sourceCode" id="cb3"><pre class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span></code></pre></div>
<p>while individual pages only require a <code>title</code>:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span><span class="kw">:</span><span class="at"> Page Title</span></span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span></code></pre></div><p>This makes for an easier switch over from other SSG platforms like Jekyll or Hugo.</p><h3 id="the-build-process">The Build Process</h3><p>The main variables at the top of the <code>pblog.sh</code> file need to edited with your own details before generating your website. Those variables are fairly self-explanatory and simple to edit.</p><p>All you need to do now is run <code>make</code> (or <code>make serve</code> if you&#x2019;re looking to test locally) and you&#x2019;re done. Your website should now be fully generated inside the include <code>_output</code> directory. For quick reference:</p><ol type="1"><li><em>pblog</em> converts your Markdown posts into two variations of HTML<ul><li>One is used specifically for rendering itself inside the RSS feed</li><li>The other is used for linking in a browser</li></ul></li><li>Next, <em>pblog</em> converts your Markdown pages into HTML</li><li>All of these generated HTML files are then moved to the <code>_output</code> folder</li></ol><p><em>pblog</em> is also smart enough to automatically generate a main blog list directory for you. This <code>index.html</code> file is placed inside the <code>_output/blog</code> folder on build. You can see an example of the blog list <a href="/blog">on this very website</a>.</p><h3 id="uploading-to-the-www">Uploading to the WWW</h3><p>Those with more experience will probably lean towards using a utility like <code>rsync</code> to sync the contents of their <code>_output</code> folder with their web server. For those with less experience, I recommend using something like <a href="https://app.netlify.com/drop">Netlify Drop</a> to make things as friction-less as possible.</p><h3 id="wrapping-up">Wrapping Up</h3><p>There isn&#x2019;t much else to say. <code>pblog</code> is as static or flexible as you chose it to be. If you have any ideas on how to improve things or come across any bugs, please <a href="https://git.sr.ht/~tdarb/pblog.xyz">open a ticket or PR on the official repo</a>.</p><p>Thanks and happy blogging with <em>pblog</em>!</p>]]></description>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span></code></pre></div>
<p>This makes for an easier switch over from other SSG platforms like Jekyll or Hugo.</p>
<h3 id="the-build-process">The Build Process</h3>
<p>The main variables at the top of the <code>pblog.sh</code> file need to edited with your own details before generating your website. Those variables are fairly self-explanatory and simple to edit.</p>
<p>All you need to do now is run <code>make</code> (or <code>make serve</code> if you&#x2019;re looking to test locally) and you&#x2019;re done. Your website should now be fully generated inside the include <code>_output</code> directory. For quick reference:</p>
<ol type="1">
<li><em>pblog</em> converts your Markdown posts into two variations of HTML
<ul>
<li>One is used specifically for rendering itself inside the RSS feed</li>
<li>The other is used for linking in a browser</li>
</ul></li>
<li>Next, <em>pblog</em> converts your Markdown pages into HTML</li>
<li>All of these generated HTML files are then moved to the <code>_output</code> folder</li>
</ol>
<p><em>pblog</em> is also smart enough to automatically generate a main blog list directory for you. This <code>index.html</code> file is placed inside the <code>_output/blog</code> folder on build. You can see an example of the blog list <a href="/blog">on this very website</a>.</p>
<h3 id="uploading-to-the-www">Uploading to the WWW</h3>
<p>Those with more experience will probably lean towards using a utility like <code>rsync</code> to sync the contents of their <code>_output</code> folder with their web server. For those with less experience, I recommend using something like <a href="https://app.netlify.com/drop">Netlify Drop</a> to make things as friction-less as possible.</p>
<h3 id="wrapping-up">Wrapping Up</h3>
<p>There isn&#x2019;t much else to say. <code>pblog</code> is as static or flexible as you chose it to be. If you have any ideas on how to improve things or come across any bugs, please <a href="https://codeberg.org/tdarb/pblog">open a ticket or PR on the official repo</a>.</p>
<p>Thanks and happy blogging with <em>pblog</em>!</p>]]></description>
<author>hello@tdarb.org (Bradley Taunt)</author>
<guid>https://pblog.xyz/blog/pblog-intro.html</guid>
</item>
<item>
<pubDate>Thu, 30 Jun 2022 14:57:58 EDT</pubDate>
<pubDate>Thu, 30 Jun 2022 11:42:04 EDT</pubDate>
<category>2022/06/30/4</category>
<title>Announcing pblog</title>
<link>https://pblog.xyz/blog/pblog-launch.html</link>
@ -81,12 +184,14 @@
<h1 class="title">Announcing pblog</h1>
<p class="date">Thu, 30 Jun 2022</p>
</header>
<p>It&#x2019;s time to celebrate! The official launch of <code>pblog</code> happened today.</p><p>There isn&#x2019;t much else to say. All details and instructions on how to start your own pblog can be found on the <a href="https://pblog.xyz">main homepage for this project</a>.</p><p>Thanks for reading!</p>]]></description>
<p>It&#x2019;s time to celebrate! The official launch of <code>pblog</code> happened today.</p>
<p>There isn&#x2019;t much else to say. All details and instructions on how to start your own pblog can be found on the <a href="https://pblog.xyz">main homepage for this project</a>.</p>
<p>Thanks for reading!</p>]]></description>
<author>hello@tdarb.org (Bradley Taunt)</author>
<guid>https://pblog.xyz/blog/pblog-launch.html</guid>
</item>
<item>
<pubDate>Fri, 08 Jul 2022 14:57:58 EDT</pubDate>
<pubDate>Fri, 08 Jul 2022 11:42:04 EDT</pubDate>
<category>2022/07/08/5</category>
<title>Includes, rsync and Variables - Oh My!</title>
<link>https://pblog.xyz/blog/small-patch.html</link>
@ -96,9 +201,26 @@
<p class="date">Fri, 08 Jul 2022</p>
</header>
<nav id="TOC" role="doc-toc">
<ul><li><a href="#default-header-footer-includes">Default &#x201C;header&#x201D; &amp; &#x201C;footer&#x201D; Includes</a></li><li><a href="#syncing-changes-with-rsync">Syncing Changes with rsync</a></li><li><a href="#on-the-horizon">On the Horizon&#x2026;</a></li></ul>
<ul>
<li><a href="#default-header-footer-includes" id="toc-default-header-footer-includes">Default &#x201C;header&#x201D; &amp; &#x201C;footer&#x201D; Includes</a></li>
<li><a href="#syncing-changes-with-rsync" id="toc-syncing-changes-with-rsync">Syncing Changes with rsync</a></li>
<li><a href="#on-the-horizon" id="toc-on-the-horizon">On the Horizon&#x2026;</a></li>
</ul>
</nav>
<p>Even though <code>pblog</code> was just launched a week ago, it has since been updated with some nice quality-of-life improvements.</p><h3 id="default-header-footer-includes">Default &#x201C;header&#x201D; &amp; &#x201C;footer&#x201D; Includes</h3><p>A new variable was added to the main <code>pblog.sh</code> configuration file called <code>INC_HEAD_FOOT</code>. By default this is set to <code>true</code> and simply pulls in two HTML files:</p><ul><li><code>_header.html</code>: all content within is placed directly after the opening <code>body</code> tag</li><li><code>_footer.html</code>: all content within is placed directly before the closing <code>body</code> tag</li></ul><p>These includes are added to every outputted file from inside both the <code>posts</code> and <code>pages</code> directories on build.</p><h3 id="syncing-changes-with-rsync">Syncing Changes with rsync</h3><p>Although it adds another dependency to the project, I believe utilizing <code>rsync</code> for the generated files is far better then nuking the directory from orbit each time. This also provides a cleaner experience for users syncing their <code>_output</code> directory with their web server of choice.</p><h3 id="on-the-horizon">On the Horizon&#x2026;</h3><p>My plan was to also tackle the issue of &#x201C;auto rebuilds&#x201D; when running <code>pblog</code> locally. This became more of a headache than I initially estimated - so it was dropped from this patch. My hope is to get something up-and-running in the near future, while avoiding the inclusion of yet another major dependency. Anyone more experienced than myself in the ways of &#x201C;auto rebuilds&#x201D; is free to open a patch if they so desire!</p><p>Thanks for your interest in these minor updates!</p><p>P.S. Don&#x2019;t forget - if your website runs on <code>pblog</code> be sure to reach out and get it featured on the <a href="/">homepage</a>!</p>]]></description>
<p>Even though <code>pblog</code> was just launched a week ago, it has since been updated with some nice quality-of-life improvements.</p>
<h3 id="default-header-footer-includes">Default &#x201C;header&#x201D; &amp; &#x201C;footer&#x201D; Includes</h3>
<p>A new variable was added to the main <code>pblog.sh</code> configuration file called <code>INC_HEAD_FOOT</code>. By default this is set to <code>true</code> and simply pulls in two HTML files:</p>
<ul>
<li><code>_header.html</code>: all content within is placed directly after the opening <code>body</code> tag</li>
<li><code>_footer.html</code>: all content within is placed directly before the closing <code>body</code> tag</li>
</ul>
<p>These includes are added to every outputted file from inside both the <code>posts</code> and <code>pages</code> directories on build.</p>
<h3 id="syncing-changes-with-rsync">Syncing Changes with rsync</h3>
<p>Although it adds another dependency to the project, I believe utilizing <code>rsync</code> for the generated files is far better then nuking the directory from orbit each time. This also provides a cleaner experience for users syncing their <code>_output</code> directory with their web server of choice.</p>
<h3 id="on-the-horizon">On the Horizon&#x2026;</h3>
<p>My plan was to also tackle the issue of &#x201C;auto rebuilds&#x201D; when running <code>pblog</code> locally. This became more of a headache than I initially estimated - so it was dropped from this patch. My hope is to get something up-and-running in the near future, while avoiding the inclusion of yet another major dependency. Anyone more experienced than myself in the ways of &#x201C;auto rebuilds&#x201D; is free to open a patch if they so desire!</p>
<p>Thanks for your interest in these minor updates!</p>
<p>P.S. Don&#x2019;t forget - if your website runs on <code>pblog</code> be sure to reach out and get it featured on the <a href="/">homepage</a>!</p>]]></description>
<author>hello@tdarb.org (Bradley Taunt)</author>
<guid>https://pblog.xyz/blog/small-patch.html</guid>
</item>

View File

@ -88,14 +88,77 @@
<a href="/">Home</a><span>&nbsp;/&nbsp;</span>
<a href="/blog">Blog</a><span>&nbsp;/&nbsp;</span>
<a href="/tweaks.html">Tweaks</a><span>&nbsp;/&nbsp;</span>
<a href="https://git.sr.ht/~tdarb/pblog.xyz">Download</a>
<a href="https://codeberg.org/tdarb/pblog">Download</a>
</nav>
<!-- Do not remove this opening article element -->
<article>
<header id="title-block-header">
<h1 class="title">pblog.xyz</h1>
</header>
<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&#x2019;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 &#x201C;extras&#x201D; 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://git.sr.ht/~tdarb/pblog.xyz">https://git.sr.ht/~tdarb/pblog.xyz</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&#x2019;ll add them here.</p><p>hello at tdarb {dot} org</p>
<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&#x2019;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 &#x201C;extras&#x201D; 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&#x2019;ll add them here.</p>
<p>hello at tdarb {dot} org</p>
</article><!-- Do not remove this closing article element -->
<!-- Content placed here will appear directly before the closing </body> tag -->

View File

@ -88,7 +88,7 @@
<a href="/">Home</a><span>&nbsp;/&nbsp;</span>
<a href="/blog">Blog</a><span>&nbsp;/&nbsp;</span>
<a href="/tweaks.html">Tweaks</a><span>&nbsp;/&nbsp;</span>
<a href="https://git.sr.ht/~tdarb/pblog.xyz">Download</a>
<a href="https://codeberg.org/tdarb/pblog">Download</a>
</nav>
<!-- Do not remove this opening article element -->
<article>
@ -96,9 +96,26 @@
<h1 class="title">Tweaks</h1>
</header>
<nav id="TOC" role="doc-toc">
<ul><li><a href="#tweaks-explained">Tweaks Explained</a></li><li><a href="#magick-images">Magick Images</a></li><li><a href="#hiding-table-of-contents-heading">Hiding Table of Contents &#x201C;Heading&#x201D;</a></li><li><a href="#adding-navigation-to-blog-index-and-rss-feed">Adding navigation to blog index and RSS feed</a></li></ul>
<ul>
<li><a href="#tweaks-explained" id="toc-tweaks-explained">Tweaks Explained</a></li>
<li><a href="#magick-images" id="toc-magick-images">Magick Images</a></li>
<li><a href="#hiding-table-of-contents-heading" id="toc-hiding-table-of-contents-heading">Hiding Table of Contents &#x201C;Heading&#x201D;</a></li>
<li><a href="#adding-navigation-to-blog-index-and-rss-feed" id="toc-adding-navigation-to-blog-index-and-rss-feed">Adding navigation to blog index and RSS feed</a></li>
</ul>
</nav>
<h2 id="tweaks-explained">Tweaks Explained</h2><p>&#x201C;Tweaks&#x201D; are extra features that are not packaged within the default <code>pblog</code> project. If you have your own tweaks you would like to include, be sure to <a href="https://git.sr.ht/~tdarb/pblog.xyz">open a patch</a>.</p><hr /><p><br></p><h2 id="magick-images">Magick Images</h2><h4 id="by-matthew-graybosch">by: <a href="https://matthewgraybosch.com">Matthew Graybosch</a></h4><p>This tweak gives you the ability to automatically convert PNG and JPG images to WEBP and AVIF files when used with the <code>picture</code> HTML element.</p><p><strong>Requirements</strong>:</p><ul><li>Download and install <a href="https://imagemagick.org/script/download.php">ImageMagick</a></li></ul><p>Then change your base <code>makefile</code> to reflect the following:</p><div class="sourceCode" id="cb1"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="ex">.SUFFIXES:</span> .png .jpg .webp .avif</span>
<h2 id="tweaks-explained">Tweaks Explained</h2>
<p>&#x201C;Tweaks&#x201D; are extra features that are not packaged within the default <code>pblog</code> project. If you have your own tweaks you would like to include, be sure to <a href="https://git.sr.ht/~tdarb/pblog.xyz">open a patch</a>.</p>
<hr />
<p><br></p>
<h2 id="magick-images">Magick Images</h2>
<h4 id="by-matthew-graybosch">by: <a href="https://matthewgraybosch.com">Matthew Graybosch</a></h4>
<p>This tweak gives you the ability to automatically convert PNG and JPG images to WEBP and AVIF files when used with the <code>picture</code> HTML element.</p>
<p><strong>Requirements</strong>:</p>
<ul>
<li>Download and install <a href="https://imagemagick.org/script/download.php">ImageMagick</a></li>
</ul>
<p>Then change your base <code>makefile</code> to reflect the following:</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="ex">.SUFFIXES:</span> .png .jpg .webp .avif</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="ex">.jpg.webp:</span></span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a> <span class="ex">magick</span> <span class="at">-quality</span> 80 <span class="st">&quot;$&lt;&quot;</span> <span class="st">&quot;</span><span class="va">$@</span><span class="st">&quot;</span></span>
@ -132,7 +149,14 @@
<span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a> <span class="ex">python3</span> <span class="at">-m</span> http.server <span class="at">--directory</span> _output/</span>
<span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a><span class="ex">clean:</span></span>
<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a> <span class="fu">rm</span> _output/<span class="pp">*</span> rss/<span class="pp">*</span> <span class="va">$(</span><span class="ex">JPEG_WEBP</span><span class="va">)</span> <span class="va">$(</span><span class="ex">JPEG_AVIF</span><span class="va">)</span> <span class="va">$(</span><span class="ex">PNG_WEBP</span><span class="va">)</span> <span class="va">$(</span><span class="ex">PNG_AVIF</span><span class="va">)</span></span></code></pre></div><p>That&#x2019;s it. Enjoy!</p><hr /><p><br></p><h2 id="hiding-table-of-contents-heading">Hiding Table of Contents &#x201C;Heading&#x201D;</h2><h4 id="by-bradley-taunt">by <a href="https://tdarb.org">Bradley Taunt</a></h4><p>By default the include <em>Table of Contents</em> displays a title and styled section. To disable this, simply edit the <code>style.css</code> file and comment out or delete the following:</p><div class="sourceCode" id="cb2"><pre class="sourceCode css"><code class="sourceCode css"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="pp">#TOC</span> {</span>
<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a> <span class="fu">rm</span> _output/<span class="pp">*</span> rss/<span class="pp">*</span> <span class="va">$(</span><span class="ex">JPEG_WEBP</span><span class="va">)</span> <span class="va">$(</span><span class="ex">JPEG_AVIF</span><span class="va">)</span> <span class="va">$(</span><span class="ex">PNG_WEBP</span><span class="va">)</span> <span class="va">$(</span><span class="ex">PNG_AVIF</span><span class="va">)</span></span></code></pre></div>
<p>That&#x2019;s it. Enjoy!</p>
<hr />
<p><br></p>
<h2 id="hiding-table-of-contents-heading">Hiding Table of Contents &#x201C;Heading&#x201D;</h2>
<h4 id="by-bradley-taunt">by <a href="https://tdarb.org">Bradley Taunt</a></h4>
<p>By default the include <em>Table of Contents</em> displays a title and styled section. To disable this, simply edit the <code>style.css</code> file and comment out or delete the following:</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode css"><code class="sourceCode css"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="pp">#TOC</span> {</span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a> <span class="kw">border</span>: <span class="dv">1</span><span class="dt">px</span> <span class="dv">solid</span><span class="op">;</span></span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a> <span class="kw">position</span>: <span class="dv">relative</span><span class="op">;</span></span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a>}</span>
@ -143,7 +167,11 @@
<span id="cb2-9"><a href="#cb2-9" aria-hidden="true" tabindex="-1"></a> <span class="kw">font-weight</span>: <span class="dv">bold</span><span class="op">;</span></span>
<span id="cb2-10"><a href="#cb2-10" aria-hidden="true" tabindex="-1"></a> <span class="kw">padding</span>: <span class="dv">5</span><span class="dt">px</span><span class="op">;</span></span>
<span id="cb2-11"><a href="#cb2-11" aria-hidden="true" tabindex="-1"></a> <span class="kw">position</span>: <span class="dv">relative</span><span class="op">;</span></span>
<span id="cb2-12"><a href="#cb2-12" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div><hr /><p><br></p><h2 id="adding-navigation-to-blog-index-and-rss-feed">Adding navigation to blog index and RSS feed</h2><p>In order to include any main navigation (or other custom elements for that matter) on the main blog index page and RSS <code>feed.xml</code>, simply edit the <code>rss.xml</code> file in the root directory. Be sure to add your elements / content inside the <code>body</code> tag near the bottom of the page.</p>
<span id="cb2-12"><a href="#cb2-12" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div>
<hr />
<p><br></p>
<h2 id="adding-navigation-to-blog-index-and-rss-feed">Adding navigation to blog index and RSS feed</h2>
<p>In order to include any main navigation (or other custom elements for that matter) on the main blog index page and RSS <code>feed.xml</code>, simply edit the <code>rss.xml</code> file in the root directory. Be sure to add your elements / content inside the <code>body</code> tag near the bottom of the page.</p>
</article><!-- Do not remove this closing article element -->
<!-- Content placed here will appear directly before the closing </body> tag -->

View File

@ -44,7 +44,7 @@ This very website is a live demo! Mind blowing, right? Take a look at the [autom
## Getting Started
1. Clone the project repo: [https://git.sr.ht/~tdarb/pblog.xyz](https://git.sr.ht/~tdarb/pblog.xyz)
1. Clone the project repo: [https://codeberg.org/tdarb/pblog](https://codeberg.org/tdarb/pblog)
2. Edit the variables at the top of the `pblog.sh` file
3. **!! Pay close attention to the `OS` variable to set your correct operating system !!**
4. Edit the posts in `posts` and pages in `pages` to your own

View File

@ -24,7 +24,7 @@ The entire purpose of `pblog` is to be as bare-bones as possible, while still ma
### Site Structure
After you've cloned the [official pblog repo](https://git.sr.ht/~tdarb/pblog.xyz), the next thing you should do is edit the main `_config.sh` file in the root directory. This will give you a better understanding of how everything is built.
After you've cloned the [official pblog repo on Codeberg](https://codeberg.org/tdarb/pblog), the next thing you should do is edit the main `_config.sh` file in the root directory. This will give you a better understanding of how everything is built.
Once generated, *pblog* structures the final website files as such:
@ -91,6 +91,6 @@ Those with more experience will probably lean towards using a utility like `rsyn
### Wrapping Up
There isn't much else to say. `pblog` is as static or flexible as you chose it to be. If you have any ideas on how to improve things or come across any bugs, please [open a ticket or PR on the official repo](https://git.sr.ht/~tdarb/pblog.xyz).
There isn't much else to say. `pblog` is as static or flexible as you chose it to be. If you have any ideas on how to improve things or come across any bugs, please [open a ticket or PR on the official repo](https://codeberg.org/tdarb/pblog).
Thanks and happy blogging with *pblog*!