[[!meta title="Emacs Turbo-Charges My Writing"]] [[!meta copyright="Copyright © 2023 Jeremy Friesen"]] [[!inline pages="internal(2023/info/writing-nav)" raw="yes"]] <!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing --> <!-- You can manually edit this file to update the abstract, add links, etc. ---> # Emacs Turbo-Charges My Writing Jeremy Friesen (he/him) - Pronunciation: JERR-im-EE FREE-SEHN, https://takeonrules.com, <mailto:jeremy@jeremyfriesen.com> [[!inline pages="internal(2023/info/writing-before)" raw="yes"]] <https://takeonrules.com/2023/12/03/emacs-turbo-charges-my-writing/> I’ve been actively blogging since 2011. In May 2020 I switched to writing my blog posts in Emacs. The numbers don’t lie, I’m writing more than ever, in part because of Emacs. In this presentation I’ll walk through my writing setup for Emacs. I’ll go over the workflow of writing in Org Mode syntax with Denote serving as my personal knowledge management system. I’ll demonstrate some of functions (or types of functions) I use for: - Dynamic auto-completion for Org-Mode macros - Linking to other Org-Mode documents via different contexts (abbreviations, citations, and links) - Different Org-Mode blocks that map to HTML elements And with a complete post, I’ll then walk through the resulting export. Demonstrating the output to Hugo (and its shortcodes) as well as other formats. About the speaker: Jeremy Friesen is a long-time software developer but only recently an Emacs convert (as of May 2020). When he switched to writing posts using Emacs, he observed an explosion in writing, in part because of the joy of using a tool that he can shape and extend to meet his needs and wants. # Discussion ## Questions and answers - Q: Do you think the line number for writing document kind of distraction? Especially for notes. - A:I don't find it distracting; I've been coding for a long time and those fringes are partially invisible. But help me orient. - or, what it brings to you, if we don't have that. - Given that I'm writing code, prose, documentation, etc, I prefer to have a common left fring...most of the time. - Okay. I use (avy-goto-line &optional ARG) for jumping - I bind C-j to jump to `avy-goto-char-timer`; My C-l is bound to `consult-goto-line` - Q: How do you manage private and public data with your zettlekasten. One of my blockers on putting my zettlekasten on the web is I don't want everything in it to be public. expeccily fleeting notes - A: I explicitly export a single page at a time; this ensures the primary page is something I consider public. - Q: Do you have anything to prevent private links from getting accidentally being made publicaly accessible - The main guard is the "publish this page" function. Under the hood, private notes are those that I don't specify a public URL. I do this by way of the `#+ROAM_REFS:` keyword (technically there are a few other keywords I check as well; for bespoke historical reasons) on the document. If it doesn't have that, then an internal link to that item will not export a public link. - Q: Is there anything special you're using to go from Org to Hugo Markdown? This looks like a really nice setup, and I'd like to give it a try! - A: <https://github.com/jeremyf/dotemacs> you'll be looking for jf-blogging.el (also jf-org-mode.el) - Q: Another font question. What font were you using in eww? - A: For fixed fonts I'm using "Iosevka Comfy Motion Fixed" and for variable "ETBembo" - Q: What's the story behind the name "Take On Rules"? - A: The blog started as a game rules oriented blog; it was my time to interrogate rule systems. But over time that drifted; and once I moved to Org-Mode for writing I settled on an everything and nothing blog. My <https://takeonrules.com/about/> has a bit more details on this - "Anything and nothing." Makes sense. :-) ## Notes - <https://takeonrules.com> (presenter's personal blog) - When you put your thoughts on the physical world, it actually helps you to generate more. It's kind of releasing your mind and let your mind freely be free so from that kind of states you can create something new [[!inline pages="internal(2023/info/writing-after)" raw="yes"]] [[!inline pages="internal(2023/info/writing-nav)" raw="yes"]]