Migrating to Org2Blog

WordPress is a powerful and satisfying writing and publishing platform. After learning Org-Mode, I wanted to use Org-Mode for writing and WordPress for publishing. Org2Blog makes that easy.

WordPress easily exports your posts to XML. Org2Blog-Importers converts them to Org-Mode via Pandoc. Tonight I converted them here. Any future modifications belong in these documents with publishing to WordPress.

I tested both publishing new posts and modifying and re-publishing old posts and both worked correctly.

Uniquely Name Source-Blocks and Headline IDs in Org-Mode

Always name all of your Source-Blocks and uniquely ID Headlines in Org-Mode. It is the only way to make Literate Programming pleasant and predictable. At the very least you will understand what is happening during tangling.

Easily Go To and Return From Headlines in Org-Mode

Quit using goto-line and isearch to navigate in your Org-Mode document. I didn’t want to use Helm or Imenu to do it and Org-Mode has a built in solution with org-goto. Be sure to bind the “pop” key very close-by to make it symmetrical and fast.
(define-key org-mode-map (kbd "s-u") #'org-goto)
(define-key org-mode-map (kbd "s-U") #'org-mark-ring-goto)

Should I Do The Two-Speed Conversion

My single-speed is great. Won’t be out-riding this bicycle any time soon. Still, everything needs tweaks. A video about the Rekluse Clutch got me thinking about my bicycle. It wouldn’t hurt to have a two-speed without having any additional gear (weight isn’t gear). This SRAM Automatix hub seems like a great way to do it because it is totally adjustable to your preference.

Handling 4 Kinds of Return in Org Mode

You might want more than a few ways to “return” when inside of Org; I did.

  • org-return-indent: Make it really easy to work in existing list items, headings, and tables
    • This is listed first because I often go back to modify entries
    • <return> because it is used the most
  • org-meta-return: Make it really easy to add new list items, headings, and table contents
    • M-<return> because the binding comes with Org
  • electric-indent-just-newline: For when I want to break out of the default Org indentation to start working at the beginning of the line for example when I’m done working in a list or have just created a new heading
    • C-M-<return> because it is next step “lower” in the binding
  • This: When I want to insert a new line between the current and next line then position the cursor correctly indented at the start of it.

    (defun help/smart-open-line ()
      "Insert a new line, indent it, and move the cursor there.
    
    This behavior is different then the typical function bound to return which may be `open-line' or `newline-and-indent'. When you call with the cursor between ^ and $, the contents of the line to the right of it will be moved to the newly inserted line. This function will not do that. The current line is left alone, a new line is inserted, indented, and the cursor is moved there.
    
    Attribution: URL `http://emacsredux.com/blog/2013/03/26/smarter-open-line/'"
      (interactive)
      (move-end-of-line nil)
      (newline-and-indent))
    
    • s-<return because it is that is the last place in the modifier key chain