Here I will try to describe a few of the customizations I made to simplify and streamline my blogging experience within Emacs. General information of requirements for lazyblorg are well described on the github page Readme file. We start from some org-mode file where you already have a heading and text section for something you want to blog about.
Emacs helper function and configuration
Let's make the heading lazyblorg-ready
with a little Emacs function:
;; lazyblorg blog entry generation (defun mvb/lazyblorg-new-entry () "Process the current heading in an Org mode buffer to become a blog entry." (interactive) (org-set-tags-to ":blog_sl:") (org-id-get-create) (org-entry-put (point) "CREATED" (format-time-string "[%Y-%m-%d %a %H:%M]" (current-time))) (org-todo 'done))
Note that because I plan to manage several blogs, I changed the default :blog:
tag to :blog_sl:
, where the last two letters are my convention to make the tag blog-specific (here _sl
for s
mp l
inux). I want a shortcut for this so that when the point is on the heading line I can just press it to instantiate the blog metadata.
(general-define-key "C-c B" 'mvb/lazyblorg-new-entry)
Note that I use the general
package (general.el github) to manage my key bindings.
Furthermore it is required that a logbook entry is created for the DONE
status, which is not necessarily the default. Check the org-todo-keywords
variable. The sequence specific to DONE
needs to contain the exclamation mark as shown below in "DONE(d!)"
.
(setq org-todo-keywords '((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)") :
Now you should be all set to mark some of your writing for being processed as a blog entry. Once that is done, you need to run the lazyblorg.py
python script with a list of all org-files that contain such metadata for the blog generation.