An open API service indexing awesome lists of open source software.

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.

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