<!doctype html><htmllang=en><head><metacharset=utf-8><metaname=viewportcontent="width=device-width,initial-scale=1"><linkrel="shortcut icon"href=/img/icon.pngtype=image/png><metaname=generatorcontent="Hugo 0.79.0"><metaproperty="og:title"content="Toasters Rocks 4.0"><metaproperty="og:description"content="Brand new blog, again."><metaproperty="og:type"content="article"><metaproperty="og:url"content="http://toasters.rocks/toasters-rocks-4/"><metaproperty="og:image"content="http://toasters.rocks/images/2020/11/bg.png"><metaproperty="article:published_time"content="2020-11-28T11:16:57-05:00"><metaproperty="article:modified_time"content="2020-11-28T21:15:50-05:00"><metaname=twitter:cardcontent="summary_large_image"><metaname=twitter:imagecontent="http://toasters.rocks/images/2020/11/bg.png"><metaname=twitter:titlecontent="Toasters Rocks 4.0"><metaname=twitter:descriptioncontent="Brand new blog, again."><metaname=theme-colorcontent="#660066"><title>Toasters Rocks 4.0 - toasters rocks</title><linkrel=stylesheethref=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><imgsrc=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><ahref=/><iclass="fas fa-home"></i>Home</a><br><ahref=http://juju2143.ca/><iclass="fas fa-user"></i>About</a><br><ahref=/fr/><iclass="fas fa-globe"></i>Français</a><br><ahref=https://yukiis.moe/><iclass="far fa-comment"></i>Comics</a><br><ahref=https://codewalr.us/><iclass="far fa-folder-open"></i>Forums</a><br></nav><br><nav><atitle=Twitterhref=https://twitter.com/juju2143><istyle=color:#4da7declass="fab fa-twitter"></i><spanstyle=color:#4da7de>Twitter</span></a><br><atitle=Discordhref=https://discord.gg/cuZcfcF><istyle=color:#7289daclass="fab fa-discord"></i><spanstyle=color:#7289da>Discord</span></a><br><atitle=GitHubhref=https://github.com/juju2143><istyle=color:#221e1bclass="fab fa-github"></i><spanstyle=color:#221e1b>GitHub</span></a><br><atitle=Patreonhref=https://patreon.com/juju2143><istyle=color:#f96854class="fab fa-patreon"></i><spanstyle=color:#f96854>Patreon</span></a><br><atitle=YouTubehref=https://youtube.com/user/julosoft><istyle=color:#e02a20class="fab fa-youtube"></i><spanstyle=color:#e02a20>YouTube</span></a><br><atitle="YouTube 2"href=https://youtube.com/c/juju2143><istyle=color:#e02a20class="fab fa-youtube"></i><spanstyle=color:#e02a20>YouTube 2</span></a><br><atitle=Twitchhref=https://twitch.tv/juju2143><istyle=color:#6441a5class="fab fa-twitch"></i><spanstyle=color:#6441a5>Twitch</span></a><br><atitle=Instagramhref=https://instagram.com/j.p.savard><istyle=color:#d6249fclass="fab fa-instagram"></i><spanstyle=color:#d6249f>Instagram</span></a><br><atitle=DeviantArthref=https://deviantart.com/juju2143><istyle=color:#c5d200class="fab fa-deviantart"></i><spanstyle=color:#c5d200>DeviantArt</span></a><br><atitle=SoundCloudhref=https://soundcloud.com/juju2143><istyle=color:#fe3801class="fab fa-soundcloud"></i><spanstyle=color:#fe3801>SoundCloud</span></a><br></nav></aside><articlestyle=background-image:url(/images/2020/11/bg.png)><divclass=metadatastyle="height:calc((var(--height) - 2em) * 0.5625 - 3.5em)"><h2name=top>Toasters Rocks 4.0</h2><p>Brand new blog, again.</p><iclass="far fa-calendar-alt"></i><timedatetime=2020-11-28>November 28, 2020</time><br><iclass="fas fa-tags"></i>#<aclass="btn btn-sm btn-outline-dark tag-btn"href=http://toasters.rocks/tags/meta>Meta</a><br><iclass="fas fa-hourglass"></i>~6 minutes</div><p>Well, it seems to be a tradition around this time of the year, every 368 days or so. A brand new blog. But this time, the story is quite interesting.</p><h3id=genesis>Genesis</h3><p>The first iteration of this blog was basically my Tumblr blog. By November 2018, I became largely disinterested by Tumblr due to various reasons, and I found this blog engine called <ahref=https://writefreely.org>WriteFreely</a>, written in Go, could do federation so the blog posts would show up in people’s Mastodon feeds, effectively replicating some of
</code></pre></td></tr></table></div></div><p>Now you’ll want to dump the resulting Markdown files in the content folder, the images from the old Ghost install to the static folder, fix front matter variables to the correct name, fix image URLs (both of which can be done with search and replace), and there you go, a nice website.</p><h3id=aftermath>Aftermath</h3><p>Now I need to fix the posts one by one, since the converter didn’t do a very good job at converting stuff, in particular header images, embeds and tables, plus that script wasn’t written specifically for Hugo, and there’s a few bugs to squash here and there, but eh, since I don’t have a ton of posts it’s kinda doable. It’s still gonna be wonky a bit at first but I hope you like it.</p><h3id=update-2020-10-29>Update (2020-10-29)</h3><p>Okay, now the workflow is completely automated. I uploaded the source to GitHub (you can <ahref=https://github.com/juju2143/toasters.rocks>look it up</a><ahref=https://github.com/juju2143/hugo-theme-toastersrocks>if you want</a>, you can even use it for all I care but I pretty much made it for myself, so YMMV), then used GitHub Actions so it builds it and pushes the compiled, minified result to GitHub Pages automatically. It’s pretty cool, really. So, since GitHub lets you edit files and commit directly from the website, I can actually use it as a CMS, which is perfect for my needs. And since it’s just a bunch of HTML files and it’s on a bunch of CDNs all around the world, this thing can’t be faster. Almost.</p><p>So, I hope you like it, I hope it works for you, and if you find any issues, feel free to complain about it in the comment section or <ahref=https://github.com/juju2143/hugo-theme-toastersrocks/issues>on GitHub</a>.</p></article><ulclass=pagination><liclass=page-item><aclass=previoushref=http://toasters.rocks/november-updates/>« November updates</a></li></ul><article><divid=disqus_thread></div><scripttype=application/javascript>vardisqus_config=function(){};(function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById('disqus_thread').innerHTML='Disquscommentsnotavailablebydefaultwhenthewebsiteispreviewedlocally.';return;}