Posts
-Posts
+Blog index and tags automation
-Blog index and tags automation
+Let's add tags to blog posts
@@ -20,9 +20,9 @@ drafted on 2024-07-05Posts preview
-Posts preview
+Add post preview for OpenGraph cards
@@ -37,9 +37,9 @@ drafted on 2024-06-28Improve code blocks
-Improve code blocks
+Use highlight.js for code syntax highlighting
@@ -54,9 +54,9 @@ drafted on 2024-06-25Org blog with RSS
-Org blog with RSS
+Let's add RSS feed to blog
@@ -71,9 +71,9 @@ drafted on 2024-06-23Org to HTML and back
-Org to HTML and back
+Blog post about publishing my blog with Org Mode
@@ -88,9 +88,9 @@ drafted on 2024-06-22My keyboard journey
-My keyboard journey
+Blog post about my keyboards
@@ -106,33 +106,33 @@ drafted on 2024-06-05Tags
-Tags
+@org-mode (5)
+@org-mode (5)
@elisp (4)
+@elisp (4)
@rss (1)
+@rss (1)
@tags (1)
+@tags (1)
@highlightjs (1)
+@highlightjs (1)
@keeb (1)
+@keeb (1)
@diy (1)
+@diy (1)
@imagemagick (1)
+@imagemagick (1)
Table of Contents
Disclaimer
-Disclaimer
+I'm neither proficient in Org Mode (further on "Org"), nor a good front-end engineer. I think that a simple solution is better than no solution. If you see a mistake, you can contact me via iam@fidonode.me.
What is Org?
-What is Org?
+Your life in plain text @@ -55,9 +55,9 @@ Everything you can do in Org is to write a text. With a special markup, of cours
Why Org Mode?
-Why Org Mode?
+- Plain text. Plain text as a data source offers significant versatility. You can read and understand what happens in org files without needing Emacs. @@ -69,16 +69,16 @@ I do not have a habit of collecting and keeping information. I believe that disc
Render Org to blog or whatever
-Render Org to blog or whatever
+Org already has a way to render files into HTML, allowing you to create simple HTML files with minimal styling. I'm not interesting in styling from org, so I decide to use picocss framework.
Render HTML
-Render HTML
+
I want to change some templates here and there. I've found esxml
package. It is a decent DSL for writing XML/HTML.
Here is how page header and footer look in this DSL.
@@ -183,9 +183,9 @@ So everything is almost done. Time to use our custom publishing function in proj
Static files
-Static files
+Yep, you may want to publish some photos with your blog or any other static files.
@@ -205,9 +205,9 @@ Looks self explanatory.Whole build script
-Whole build script
+
Here is the whole elisp script which I use to publish my blog. It have some additional quirks to work with doomscript ./build-site.el
.
Publish through GitHub Action
-Publish through GitHub Action
+
With all previous preparations, this step sounds simple like: emacs -Q --script ./build-site.el
I've chosen a pretty standard way to publish static sites through GitHub Pages. Since I keep my Org files in a private repo, I need some additional steps to address it. I use the peaceiris/actions-gh-pages@v3
action to publish from my Org repo to the Pages repo.
@@ -375,9 +375,9 @@ However, since I use Doom Emacs
as my configuration framework, we n
Install Emacs
-Install Emacs
+
If you want to run Emacs Lisp
, you need the whole Emacs, at least without GUI. In a GitHub Action, you can simply run:
Just bring everything
-Just bring everything
+I need to take extra steps since I use Doom Emacs and have my configs in Org. You may also need to install dependencies for your configuration.
@@ -426,9 +426,9 @@ Of course, I use a caching step to make the whole process faster:BTW I use GNU Emacs
-BTW I use GNU Emacs
+Here's the whole publishing workflow.
@@ -507,21 +507,21 @@ jobs:What is next
-What is next
+I have a plans to make posts about next features: