Building an Org Mode Website: Part 1
- Published: March 15, 2025
- Last Revised: July 2, 2025
Starting an Org Mode Website
This is the beginning of my effort to rebuild kigrasoft.com using the Org Mode publishing capability. I thought I would document my experience in trying to build a robust website through a simple process using Org Mode's built in capabilities. If you follow along this will not be a refined 'how-to build an org-mode website', but rather more the diary entries as I try to figure out and refine the process.
Step One
First one needs to create directories to hold the org source files and the published html files. Then the Emacs variable org-publish-project-alist has to be set for publishing the site. For an initial config I started by slightly modifying the simple example from the Org Mode Manual.
(setq org-publish-project-alist '(("org" :base-directory "~/org/" :publishing-function org-html-publish-to-html :publishing-directory "~/public_html" :section-numbers nil :with-toc nil)))
Setp Two
The next step is to create the minimum content for a basic site. This article will be one of the initial posts, but what is needed is an index.org file for the homepage. The initial effort will just be a basic page with a title and links to the initial posts. Here is what the initial draft looks like.
* KigraSoft Welcome. * Programmer Logs - [[file:logs/2025/20250314--building-an-org-mode-website-part-1.org][Building an Org Mode Website: Part 1]] - [[file:logs/2025/20250315--rebuilding-in-org-mode.org][Rebuilding in Org Mode]] - [[file:logs/2024/20240101--InitialPost.org][KigraSoft - Initial Post]]
Step Three
The final step is to publish the website using org-publish and copy the generated files to the webserver.