https://github.com/nebucatnetzer/org-posts
The code to my blog, fully self contained.
https://github.com/nebucatnetzer/org-posts
blog emacs nix org-mode tufte-css
Last synced: 26 days ago
JSON representation
The code to my blog, fully self contained.
- Host: GitHub
- URL: https://github.com/nebucatnetzer/org-posts
- Owner: Nebucatnetzer
- License: gpl-3.0
- Created: 2025-07-07T18:11:32.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-11-21T13:58:24.000Z (7 months ago)
- Last Synced: 2025-11-21T15:31:49.672Z (7 months ago)
- Topics: blog, emacs, nix, org-mode, tufte-css
- Language: Emacs Lisp
- Homepage: https://www.zweili.ch
- Size: 3.51 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
* org-posts
This repository contains my blog posts in org mode format and a build system to generate the HTML.
In addition it provides a script to sync the files to a given server.
** Usage
Copy the =env.example= file to =.env= and adjust the values to your environment.
To start developing.
#+begin_src bash
nix develop
#+end_src
To build the HTML from the blog posts into the =public= directory.
#+begin_src bash
build
#+end_src
To sync the created HTML to the server.
#+begin_src bash
publish
#+end_src
*** Link to Mastodon
When you add the following header to a post it will generate a section mentioning Mastodon and will link to the post that belongs to the given ID.
#+begin_src org
#+BLOG_COMMENTS_THREAD_ID:
#+end_src
*** ~org-social/social.org~
This file contains a template for my org-social posts.
As I don't want to commit the changes everytime I post something new I disable git tracking for it.
#+begin_src bash
git update-index --assume-unchanged ./org-social/social.org
#+end_src
To re-enable the tracking
#+begin_src bash
git update-index --no-assume-unchanged ./org-social/social.org
#+end_src
** Tasks
*** NEXT Spellcheck all posts
*** NEXT Tags :feature:
It would be nice if I could tag my posts by topic so that readers can browse
them easier.
*** NEXT Filter source
Currently everything gets added to the source. I think the Emacs config and the posts would be enought to build the posts.
This way I don't get a new build everytime I update the social.org file.
*** NEXT Add a script to only sync social.org
*** Finished
**** DONE Better styling :enhancement:
CLOSED: [2025-08-07 Thu 20:54]
- [X] Especially the footer needs to be smaller
- [X] Change colors
- [X] The into paragraph could be nicer
- [X] Remove CDN
- [X] Footnotes look ugly
**** DONE Remove index.org from sitemap :bug:
CLOSED: [2025-08-07 Thu 00:21]
Currently index.org gets included which is a bit stupid as it means that I list the page itself as a blog post.
**** DONE Correct sort order :bug:
CLOSED: [2025-08-07 Thu 00:21]
For some reason the posts don't show up in order.
**** DONE Disable heading numbers in rss.xml :bug:
CLOSED: [2025-08-06 Wed 17:41]
Can be done by configuring the normal org export.
https://mastodon.social/@tiang/114825462665180768
**** DONE Maybe include the sitemap
CLOSED: [2025-07-10 Thu 21:05]
**** DONE Limit contact page to main page
CLOSED: [2025-07-10 Thu 21:05]
**** DONE Include all previous posts
CLOSED: [2025-07-10 Thu 21:04]
I found some additional posts which I should include as well.
Just for the fun of it and historic reasons.
**** DONE [#A] Inlcude a link to home
CLOSED: [2025-07-09 Wed 22:36]
Currently when one clicks on a post you're stuck on that post.
Therefore it would be nice to have a link on each page that takes the user back to the home page.
**** DONE [#A] Setup NixOS config
CLOSED: [2025-07-09 Wed 22:35]
**** DONE [#A] Link to Mastodon verifcation
CLOSED: [2025-07-09 Wed 22:35]
**** DONE RSS feed
CLOSED: [2025-07-09 Wed 21:47]
**** DONE Include static files
CLOSED: [2025-07-07 Mon 22:21]
At the moment only the plain text gets exported but non of the other files like pictures, etc.
They don't get included automatically by org-publish therefore I had to included rsync in the buildPhase to sync the static files to the ~$out~ directory.
** Resources
- https://www.gnu.org/software/emacs/manual/html_node/org/Publishing-options.html
- https://github.com/Fuco1/.emacs.d/blob/c40209872174ffbf4e9024793e86c25f6e0781cd/files/org-blog.el#L226C1-L231C60
- https://git.sr.ht/~taingram/org-publish-rss/
- https://github.com/ox-tufte/ox-tufte
- https://github.com/edwardtufte/tufte-css
*** Inspiration
- https://systemcrafters.net/publishing-websites-with-org-mode/building-the-site/
- https://systemcrafters.net/publishing-websites-with-org-mode/automated-site-publishing/
- https://taingram.org/blog/org-mode-blog.html