Unlocking Obsidian Links in Emacs Org Mode ![rw-book-cover](https://img.youtube.com/vi/er58i65BJuI/maxresdefault.jpg) ๐Ÿ”— **Source:** [Unlocking Obsidian Links in Emacs Org Mode](https://www.youtube.com/watch?v=er58i65BJuI&embeds_referring_euri=https%3A%2F%2Ffeedly.com%2F) > [!note]+ Document Notes > tags: [emacs, obsidian, org-mode] > author: Curtis McHale > source: YouTube > reference: https://www.youtube.com/watch?v=er58i65BJuI > date created: 2024-12-19 15:30 > > # ๐Ÿท๏ธ Title: Unlocking Obsidian Links in Emacs Org Mode > <!-- deep-read:sections start --> ## ๐Ÿงฐ Action Inbox - [H1] Configure org-link-set-parameters for Obsidian links โ€” config.el setup #emacs - [H2] Test obsidian: protocol links in org files โ€” link validation #workflow - [H3] Explore cross-platform writing workflows โ€” productivity optimization #research ## ๐Ÿงญ Table of Contents - [๐Ÿ“ Summary](#-summary) - [๐Ÿ“– Main Content](#-main-content) - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) - [๐Ÿ“š References](#-references) - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) - [๐Ÿ“ฐ Newsletter](#-newsletter) - [โœ… Action Items](#-action-items) - [๐Ÿงช Hypotheses](#-hypotheses) - [๐Ÿ“Š Methodology](#-methodology) - [โ“ Questions](#-questions) - [๐Ÿ”ฎ Future Research](#-future-research) - [๐Ÿ’ก Implications](#-implications) - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) - [๐ŸŒ DEIB Assessment](#-deib-assessment) - [โœ… Logical Validity](#-logical-validity) - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) - [๐ŸŽฏ Conclusion](#-conclusion) ### ๐Ÿ”— References - [Curtis McHale YouTube Channel](https://www.youtube.com/@curtismchale) - [Book Club](https://curtismchale.ca/bookclub) ## ๐Ÿ“ Summary - **What happened**: Tutorial showing how to configure Emacs Org Mode to open Obsidian links directly - **Why it matters**: Enables seamless workflow between Emacs and Obsidian for cross-platform note management - **Key stakeholders**: Emacs users, Obsidian users, knowledge workers using multiple tools - **Risks and tradeoffs**: Requires Doom Emacs configuration, may not work across all systems - **Bottom line**: Simple code configuration allows org-mode links to open directly in Obsidian ## ๐Ÿ“– Main Content This tutorial demonstrates integrating Emacs Org Mode with Obsidian through custom link handling. The solution uses Emacs Lisp configuration to define how `obsidian:` protocol links should be processed when encountered in org files. The core implementation relies on `org-link-set-parameters`, a function that defines custom link types and their behaviors. When configured properly, clicking an obsidian link in org-mode will launch the Obsidian application and open the specified file directly. The presenter emphasizes this workflow's utility for writing projects where quick access to specific notes eliminates the friction of manual file searching across applications. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/er58i65BJuI?t=0) โ€” [H1] Introduction and Demo - Key idea: Demonstrates working Obsidian link in org-mode - Evidence: "Obsidian test link. This is exactly what it says, a link to an Obsidian file" #### โฑ๏ธ [00:25](https://youtu.be/er58i65BJuI?t=25) โ€” [H2] Code Explanation Begins - Key idea: Uses after! macro for Doom Emacs initialization - Evidence: "After is a specific doom thing to make sure that it opens after org starts" #### โฑ๏ธ [00:45](https://youtu.be/er58i65BJuI?t=45) โ€” [H2] org-link-set-parameters Configuration - Key idea: Function sets up custom link handling behavior - Evidence: "We're setting the org link parameters. So this is like we're setting this variable" #### โฑ๏ธ [01:15](https://youtu.be/er58i65BJuI?t=75) โ€” [H3] Variable Overwriting Warning - Key idea: Multiple definitions will overwrite previous configurations - Evidence: "If we redefine it later, then we will overwrite it" #### โฑ๏ธ [01:30](https://youtu.be/er58i65BJuI?t=90) โ€” [H2] Link Protocol Structure - Key idea: obsidian: prefix triggers custom link handler - Evidence: "We're going to follow the link with obsidian colon and it's going to open the link in Obsidian" #### โฑ๏ธ [01:45](https://youtu.be/er58i65BJuI?t=105) โ€” [H2] Live Demonstration - Key idea: Uses org-agenda-open-link command to activate - Evidence: "Meta X or alt X and we're going to say org agenda open link" #### โฑ๏ธ [02:15](https://youtu.be/er58i65BJuI?t=135) โ€” [H3] Successful Link Opening - Key idea: Link opens specific Obsidian note "Keep folder simple stupid" - Evidence: "Keep folder simple stupid which is one of the videos I want to do about complexity curves" #### โฑ๏ธ [02:45](https://youtu.be/er58i65BJuI?t=165) โ€” [H2] Configuration Location - Key idea: Code goes in Doom Emacs config.el file - Evidence: "Where do we put that? We put that in config. If I search for Obsidian, you see it right there" #### โฑ๏ธ [03:00](https://youtu.be/er58i65BJuI?t=180) โ€” [H2] Use Case Benefits - Key idea: Eliminates manual file searching in writing workflows - Evidence: "I link directly to the Obsidian file so that I can find it easily instead of searching around" #### โฑ๏ธ [03:30](https://youtu.be/er58i65BJuI?t=210) โ€” [H3] Channel Promotion - Key idea: Promotes book club and upcoming reading selections - Evidence: "Next month is at a loss for words conversation in an age of rage" ## ๐Ÿ“š References - [Emacs Org Mode Documentation](https://orgmode.org/) - [Doom Emacs Configuration](https://github.com/doomemacs/doomemacs) - [Curtis McHale Book Club](https://curtismchale.ca/bookclub) ## ๐Ÿ—ฃ๏ธ Paraphrase - Configure Emacs to recognize obsidian: links using org-link-set-parameters function in Doom Emacs after! block - Test the configuration by using org-agenda-open-link command on formatted obsidian links in org files - Implement this workflow to streamline cross-application note management for writing projects ## ๐Ÿ“ฐ Newsletter **Streamline Your Writing Workflow: Connect Emacs and Obsidian** Looking to bridge the gap between Emacs Org Mode and Obsidian? This quick integration lets you click links in org files and jump directly to Obsidian notes - perfect for writers managing projects across multiple tools. The setup is surprisingly simple: add a few lines of Emacs Lisp to define custom link handling, and you're ready to eliminate the friction of switching between applications during research and writing sessions. **Key Benefit**: Transform `obsidian:filename` links into one-click shortcuts that launch Obsidian directly to your target note. **Resources**: [Org Mode Manual](https://orgmode.org/manual/), [Doom Emacs Config](https://github.com/doomemacs/doomemacs), [Obsidian URI Documentation](https://help.obsidian.md/Advanced+topics/Using+obsidian+URI) ## โœ… Action Items #### DevRel - Create cross-platform integration tutorials for popular tool combinations - Develop workflow documentation showing multi-application setups - Build demo environments showcasing seamless tool transitions #### Community - Share integration patterns between note-taking applications - Document common configuration pitfalls and solutions - Create template configurations for popular editor combinations #### WordPress - Documentation: Create guides for integrating external editors with WordPress workflows - Community: Share editorial workflow improvements at WordCamps ## ๐Ÿงช Hypotheses - Custom link protocols can reduce context switching overhead in multi-tool workflows - Doom Emacs configuration patterns can be adapted for other external application integrations - Cross-platform note management benefits from programmatic link handling - Writer productivity increases when tool friction is minimized through automation ### ๐Ÿ“Š Methodology - Measure context switching time before and after implementation - Survey users about workflow satisfaction with integrated vs separate tools - Test configuration reliability across different operating systems ### โ“ Questions - How does this approach perform on Windows and Linux systems? - Can similar patterns work with other note-taking applications like Notion or Roam? - What security considerations exist when opening external applications via link protocols? ### ๐Ÿ”ฎ Future Research - Investigate bidirectional linking between Emacs and Obsidian - Explore automated synchronization of metadata between applications - Test performance implications of frequent cross-application launches ### ๐Ÿ’ก Implications - **Practice**: Writers can maintain unified project management across preferred tools - **Education**: Demonstrates value of learning configuration scripting for productivity gains - **Workflow**: Reduces barriers to adopting best-of-breed tools in integrated workflows ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 10th grade (Flesch-Kincaid Grade Level) #### ๐Ÿ‘€ Visual learners - Present: Code examples, file structure references - Improve: Add screenshots of configuration files, visual workflow diagrams #### ๐Ÿ”Š Aural learners - Present: Video tutorial with narrated explanation - Improve: Provide audio-only version focusing on conceptual explanation #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Clear definitions of technical terms, analogies to manual processes - Improve: Add more context about why each configuration step matters #### ๐Ÿงฉ Kinesthetic learners - Present: Step-by-step configuration process, testable commands - Improve: Provide downloadable configuration files, troubleshooting checklist #### ๐Ÿง  Logical learners - Present: Cause-and-effect explanation of configuration impact - Improve: Add decision tree for troubleshooting, performance metrics #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Book club mention, community engagement - Improve: Add links to forums for configuration help, user groups #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Self-contained tutorial with testing steps - Improve: Add reflection questions about personal workflow optimization #### ๐ŸŒฟ Naturalistic learners - Present: Workflow ecosystem metaphor - Improve: Compare tool integration to natural systems interactions ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Clear heading structure, descriptive link text - Improve: Add alt text for code snippets, ARIA labels for technical examples #### Keyboard navigation - Present: Standard video controls available - Improve: Provide keyboard shortcuts reference, skip-to-content links #### Contrast and readability - Present: Standard video player interface - Improve: Verify code examples meet contrast requirements in documentation #### Text resizing and reflow - Present: YouTube's responsive player - Improve: Ensure transcript formatting supports zoom levels #### Media and captions - Present: Auto-generated captions available - Improve: Add human-reviewed captions, provide downloadable transcript #### Forms and interactions - Present: Standard YouTube interface - Improve: Add accessible feedback forms for tutorial requests ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: English-language tutorial - Improve: Add multi-language configuration examples, international keyboard considerations #### Inclusive language - Present: Technical but approachable explanations - Improve: Define jargon consistently, avoid assuming background knowledge #### Neurodiversity support - Present: Step-by-step structure, clear section breaks - Improve: Add estimated completion times, break complex steps into smaller chunks #### Representation - Present: Single presenter format - Improve: Include diverse use cases, various operating system examples #### Psychological safety - Present: Encouraging tone, acknowledges complexity - Improve: Emphasize that configuration errors are normal learning experiences ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Clear if-then logic connecting configuration to functionality - Inductive strength: Generalizes from specific example to broader workflow benefits - Causal reasoning: Establishes cause-effect between code changes and link behavior - Analogical strength: Compares to manual file opening processes effectively #### Fallacies - Appeal to convenience: Assumes efficiency gains without measuring productivity impact - Hasty generalization: Claims broad applicability from single-user experience #### Tone of voice - Overall tone: Casual but informative, encouraging experimentation with technical solutions ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No denial patterns present - Attack: No attacking language identified - Reverse victim/offender: No victim/offender framing present - Emotional cues: Positive enthusiasm for technical solutions, mild frustration with manual processes ## ๐ŸŽฏ Conclusion This tutorial provides a practical solution for integrating Emacs Org Mode with Obsidian through custom link protocols. The implementation is straightforward but requires familiarity with Emacs Lisp configuration. **Next Steps**: Test the configuration in your Doom Emacs setup, experiment with different link formats, and consider adapting the pattern for other external applications in your workflow. **Broader Impact**: Demonstrates how small configuration investments can eliminate workflow friction, making it easier to adopt specialized tools without losing integration benefits. ## ๐Ÿงฑ Refactor Appendix ### ๐Ÿ“š Literature Split Pad ### [L1] org-link-set-parameters enables custom link protocols in Emacs > [!quote] [Unlocking Obsidian Links in Emacs Org Mode](https://www.youtube.com/watch?v=er58i65BJuI) by [[Curtis McHale]] via [[YouTube]]. Published 2024. Accessed 2024-12-19. > "We're setting the org link parameters. So this is like we're setting this variable." Core function for defining how org-mode handles custom link types like obsidian: protocol. [view highlight](https://youtu.be/er58i65BJuI?t=45) #emacs #configuration ID:rw_001 ### [L2] Doom Emacs after! macro ensures proper initialization order > [!quote] [Unlocking Obsidian Links in Emacs Org Mode](https://www.youtube.com/watch?v=er58i65BJuI) > "After is a specific doom thing to make sure that it opens after org starts." Critical for preventing configuration race conditions in complex Emacs distributions. [view highlight](https://youtu.be/er58i65BJuI?t=25) #doom-emacs #initialization ID:rw_002 --- ### ๐Ÿ”– Atomic Split Pad (Zettel Candidates) #### [Z1] Custom link protocols reduce application switching overhead - Applies to any workflow involving multiple specialized applications - Evidence at 03:00 timestamp showing workflow benefits - Links: [[Workflow-Optimization]] [[Tool-Integration]] #### [Z2] Configuration complexity trades setup time for usage efficiency - Pattern applies broadly to automation vs manual processes - Demonstrated through simple code enabling complex behavior - Links: [[Automation-ROI]] [[Technical-Debt]] --- ### โœ๏ธ Fleeting Queue - [F1] Research other org-mode custom link protocols โ€” productivity optimization #fleeting #research - [F2] Test obsidian URI schemes on different operating systems โ€” compatibility verification #fleeting #testing - [F3] Explore bidirectional sync between Emacs and Obsidian โ€” workflow enhancement #fleeting #integration --- ## Full Transcript [00:00] Welcome. Today we have a quick video uh<br>[00:02] to show you how to set up or mode to<br>[00:04] open links in Obsidian.<br>[00:08] So, it is actually fairly simple<br>[00:11] to this. So, right here I have a Oh,<br>[00:14] where' it go? Obsidian test link. This<br>[00:17] is exactly what it says, a link uh to an<br>[00:19] Obsidian file. Um not this one uh<br>[00:22] specifically, but it's still linked to<br>[00:24] an Obsidian file.<br>[00:27] Uh and the code that makes this link<br>[00:29] open in uh Obsidian is right here. So I<br>[00:33] talked about this uh earlier uh when we<br>[00:36] talked about or pomodoro. So after is a<br>[00:39] specific um<br>[00:42] doom thing to make sure that it opens<br>[00:44] after org starts. Then we're setting the<br>[00:47] org link parameters. So this is like<br>[00:49] we're setting this variable. So if we<br>[00:50] want to set other things, other files<br>[00:53] here, we actually need to um<br>[00:56] oh like redefine it or add it to there.<br>[00:58] We can't. If we redefine it later, then<br>[00:59] we will overwrite it. And really all we<br>[01:02] do here is say obsidian. We're going to<br>[01:04] follow the link. We're going to follow<br>[01:06] like right here with obsidian colon and<br>[01:08] it's going to open the link in Obsidian.<br>[01:10] So let's try that. Or is it obsidian<br>[01:13] link? Is that 120? And so I'm going to<br>[01:14] hit meta X or alt X and we're going to<br>[01:16] say org agenda open link.<br>[01:20] There you go. And open the link uh over<br>[01:22] here. Keep folder simple stupid which is<br>[01:24] one of the videos I want to do uh about<br>[01:26] uh I guess complexity curves. How we get<br>[01:29] things complex and then we take them um<br>[01:32] uh simple again. So and where do we put<br>[01:34] that? We put that in<br>[01:37] config.<br>[01:40] So, if I search for Obsidian, you see it<br>[01:44] right there. Same code I showed you<br>[01:45] earlier. Obsidian link. That's it. Like<br>[01:48] I said, quick video. That's how we get<br>[01:49] or mode to open our links in Obsidian.<br>[01:51] Uh, you know, I do this lots with like<br>[01:53] writing projects, something I'm working<br>[01:54] on where I link directly to the Obsidian<br>[01:56] file so that I can find it easily<br>[01:58] instead of like, you know, searching<br>[01:59] around or saying, "Oh, I need to write<br>[02:00] on this project." And then have to go to<br>[02:01] Obsidian, open the file. If you like the<br>[02:03] video, thumbs up below. All that YouTube<br>[02:05] stuff, subscribe. Uh, other ways to<br>[02:08] support the channel is go to<br>[02:08] curtismale.ca/ CA/book club one word<br>[02:10] join book club where we read a book a<br>[02:12] month. Uh next month is at a loss for<br>[02:16] words conversation in an age of rage.<br>[02:18] We're just finishing up one on<br>[02:21] uh specifically this on feminism<br>[02:23] feminist activism in a digital age but<br>[02:25] that broadly applies to activism in a<br>[02:27] digital age and we definitely do to be<br>[02:30] getting active uh given the way parts of<br>[02:32] the world are going. Have an awesome<br>[02:34] day. <!-- deep-read:sections end --> [[3. Resources/Readwise/Full Document Contents/Articles/Unlocking Obsidian Links in Emacs Org Mode|Full Document Contents]] ## Document Notes --- tags: #emacs #obsidian #org-mode author: Curtis McHale source: YouTube reference: https://www.youtube.com/watch?v=er58i65BJuI date created: 2024-12-19 15:30 --- # ๐Ÿท๏ธ Title: Unlocking Obsidian Links in Emacs Org Mode ## ๐Ÿงฐ Action Inbox - [H1] Configure org-link-set-parameters for Obsidian links โ€” config.el setup #emacs - [H2] Test obsidian: protocol links in org files โ€” link validation #workflow - [H3] Explore cross-platform writing workflows โ€” productivity optimization #research ## ๐Ÿงญ Table of Contents - [[#๐Ÿ“ Summary]] - [[#๐Ÿ“– Main Content]] - [[#๐Ÿ—’๏ธ Notes]] - [[#๐Ÿ“š References]] - [[#๐Ÿ—ฃ๏ธ Paraphrase]] - [[#๐Ÿ“ฐ Newsletter]] - [[#โœ… Action Items]] - [[#๐Ÿงช Hypotheses]] - [[#๐Ÿ“Š Methodology]] - [[#โ“ Questions]] - [[#๐Ÿ”ฎ Future Research]] - [[#๐Ÿ’ก Implications]] - [[#๐Ÿง  Learning Styles Assessment]] - [[#๐Ÿ“Š Accessibility Assessment]] - [[#๐ŸŒ DEIB Assessment]] - [[#โœ… Logical Validity]] - [[#๐Ÿ›ก๏ธ DARVO Analysis]] - [[#๐ŸŽฏ Conclusion]] ### ๐Ÿ”— References - [Curtis McHale YouTube Channel](https://www.youtube.com/@curtismchale) - [Book Club](https://curtismchale.ca/bookclub) ## ๐Ÿ“ Summary - **What happened**: Tutorial showing how to configure Emacs Org Mode to open Obsidian links directly - **Why it matters**: Enables seamless workflow between Emacs and Obsidian for cross-platform note management - **Key stakeholders**: Emacs users, Obsidian users, knowledge workers using multiple tools - **Risks and tradeoffs**: Requires Doom Emacs configuration, may not work across all systems - **Bottom line**: Simple code configuration allows org-mode links to open directly in Obsidian ## ๐Ÿ“– Main Content This tutorial demonstrates integrating Emacs Org Mode with Obsidian through custom link handling. The solution uses Emacs Lisp configuration to define how `obsidian:` protocol links should be processed when encountered in org files. The core implementation relies on `org-link-set-parameters`, a function that defines custom link types and their behaviors. When configured properly, clicking an obsidian link in org-mode will launch the Obsidian application and open the specified file directly. The presenter emphasizes this workflow's utility for writing projects where quick access to specific notes eliminates the friction of manual file searching across applications. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/er58i65BJuI?t=0) โ€” [H1] Introduction and Demo - Key idea: Demonstrates working Obsidian link in org-mode - Evidence: "Obsidian test link. This is exactly what it says, a link to an Obsidian file" #### โฑ๏ธ [00:25](https://youtu.be/er58i65BJuI?t=25) โ€” [H2] Code Explanation Begins - Key idea: Uses after! macro for Doom Emacs initialization - Evidence: "After is a specific doom thing to make sure that it opens after org starts" #### โฑ๏ธ [00:45](https://youtu.be/er58i65BJuI?t=45) โ€” [H2] org-link-set-parameters Configuration - Key idea: Function sets up custom link handling behavior - Evidence: "We're setting the org link parameters. So this is like we're setting this variable" #### โฑ๏ธ [01:15](https://youtu.be/er58i65BJuI?t=75) โ€” [H3] Variable Overwriting Warning - Key idea: Multiple definitions will overwrite previous configurations - Evidence: "If we redefine it later, then we will overwrite it" #### โฑ๏ธ [01:30](https://youtu.be/er58i65BJuI?t=90) โ€” [H2] Link Protocol Structure - Key idea: obsidian: prefix triggers custom link handler - Evidence: "We're going to follow the link with obsidian colon and it's going to open the link in Obsidian" #### โฑ๏ธ [01:45](https://youtu.be/er58i65BJuI?t=105) โ€” [H2] Live Demonstration - Key idea: Uses org-agenda-open-link command to activate - Evidence: "Meta X or alt X and we're going to say org agenda open link" #### โฑ๏ธ [02:15](https://youtu.be/er58i65BJuI?t=135) โ€” [H3] Successful Link Opening - Key idea: Link opens specific Obsidian note "Keep folder simple stupid" - Evidence: "Keep folder simple stupid which is one of the videos I want to do about complexity curves" #### โฑ๏ธ [02:45](https://youtu.be/er58i65BJuI?t=165) โ€” [H2] Configuration Location - Key idea: Code goes in Doom Emacs config.el file - Evidence: "Where do we put that? We put that in config. If I search for Obsidian, you see it right there" #### โฑ๏ธ [03:00](https://youtu.be/er58i65BJuI?t=180) โ€” [H2] Use Case Benefits - Key idea: Eliminates manual file searching in writing workflows - Evidence: "I link directly to the Obsidian file so that I can find it easily instead of searching around" #### โฑ๏ธ [03:30](https://youtu.be/er58i65BJuI?t=210) โ€” [H3] Channel Promotion - Key idea: Promotes book club and upcoming reading selections - Evidence: "Next month is at a loss for words conversation in an age of rage" ## ๐Ÿ“š References - [Emacs Org Mode Documentation](https://orgmode.org/) - [Doom Emacs Configuration](https://github.com/doomemacs/doomemacs) - [Curtis McHale Book Club](https://curtismchale.ca/bookclub) ## ๐Ÿ—ฃ๏ธ Paraphrase - Configure Emacs to recognize obsidian: links using org-link-set-parameters function in Doom Emacs after! block - Test the configuration by using org-agenda-open-link command on formatted obsidian links in org files - Implement this workflow to streamline cross-application note management for writing projects ## ๐Ÿ“ฐ Newsletter **Streamline Your Writing Workflow: Connect Emacs and Obsidian** Looking to bridge the gap between Emacs Org Mode and Obsidian? This quick integration lets you click links in org files and jump directly to Obsidian notes - perfect for writers managing projects across multiple tools. The setup is surprisingly simple: add a few lines of Emacs Lisp to define custom link handling, and you're ready to eliminate the friction of switching between applications during research and writing sessions. **Key Benefit**: Transform `obsidian:filename` links into one-click shortcuts that launch Obsidian directly to your target note. **Resources**: [Org Mode Manual](https://orgmode.org/manual/), [Doom Emacs Config](https://github.com/doomemacs/doomemacs), [Obsidian URI Documentation](https://help.obsidian.md/Advanced+topics/Using+obsidian+URI) ## โœ… Action Items #### DevRel - Create cross-platform integration tutorials for popular tool combinations - Develop workflow documentation showing multi-application setups - Build demo environments showcasing seamless tool transitions #### Community - Share integration patterns between note-taking applications - Document common configuration pitfalls and solutions - Create template configurations for popular editor combinations #### WordPress - Documentation: Create guides for integrating external editors with WordPress workflows - Community: Share editorial workflow improvements at WordCamps ## ๐Ÿงช Hypotheses - Custom link protocols can reduce context switching overhead in multi-tool workflows - Doom Emacs configuration patterns can be adapted for other external application integrations - Cross-platform note management benefits from programmatic link handling - Writer productivity increases when tool friction is minimized through automation ### ๐Ÿ“Š Methodology - Measure context switching time before and after implementation - Survey users about workflow satisfaction with integrated vs separate tools - Test configuration reliability across different operating systems ### โ“ Questions - How does this approach perform on Windows and Linux systems? - Can similar patterns work with other note-taking applications like Notion or Roam? - What security considerations exist when opening external applications via link protocols? ### ๐Ÿ”ฎ Future Research - Investigate bidirectional linking between Emacs and Obsidian - Explore automated synchronization of metadata between applications - Test performance implications of frequent cross-application launches ### ๐Ÿ’ก Implications - **Practice**: Writers can maintain unified project management across preferred tools - **Education**: Demonstrates value of learning configuration scripting for productivity gains - **Workflow**: Reduces barriers to adopting best-of-breed tools in integrated workflows ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 10th grade (Flesch-Kincaid Grade Level) #### ๐Ÿ‘€ Visual learners - Present: Code examples, file structure references - Improve: Add screenshots of configuration files, visual workflow diagrams #### ๐Ÿ”Š Aural learners - Present: Video tutorial with narrated explanation - Improve: Provide audio-only version focusing on conceptual explanation #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Clear definitions of technical terms, analogies to manual processes - Improve: Add more context about why each configuration step matters #### ๐Ÿงฉ Kinesthetic learners - Present: Step-by-step configuration process, testable commands - Improve: Provide downloadable configuration files, troubleshooting checklist #### ๐Ÿง  Logical learners - Present: Cause-and-effect explanation of configuration impact - Improve: Add decision tree for troubleshooting, performance metrics #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Book club mention, community engagement - Improve: Add links to forums for configuration help, user groups #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Self-contained tutorial with testing steps - Improve: Add reflection questions about personal workflow optimization #### ๐ŸŒฟ Naturalistic learners - Present: Workflow ecosystem metaphor - Improve: Compare tool integration to natural systems interactions ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Clear heading structure, descriptive link text - Improve: Add alt text for code snippets, ARIA labels for technical examples #### Keyboard navigation - Present: Standard video controls available - Improve: Provide keyboard shortcuts reference, skip-to-content links #### Contrast and readability - Present: Standard video player interface - Improve: Verify code examples meet contrast requirements in documentation #### Text resizing and reflow - Present: YouTube's responsive player - Improve: Ensure transcript formatting supports zoom levels #### Media and captions - Present: Auto-generated captions available - Improve: Add human-reviewed captions, provide downloadable transcript #### Forms and interactions - Present: Standard YouTube interface - Improve: Add accessible feedback forms for tutorial requests ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: English-language tutorial - Improve: Add multi-language configuration examples, international keyboard considerations #### Inclusive language - Present: Technical but approachable explanations - Improve: Define jargon consistently, avoid assuming background knowledge #### Neurodiversity support - Present: Step-by-step structure, clear section breaks - Improve: Add estimated completion times, break complex steps into smaller chunks #### Representation - Present: Single presenter format - Improve: Include diverse use cases, various operating system examples #### Psychological safety - Present: Encouraging tone, acknowledges complexity - Improve: Emphasize that configuration errors are normal learning experiences ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Clear if-then logic connecting configuration to functionality - Inductive strength: Generalizes from specific example to broader workflow benefits - Causal reasoning: Establishes cause-effect between code changes and link behavior - Analogical strength: Compares to manual file opening processes effectively #### Fallacies - Appeal to convenience: Assumes efficiency gains without measuring productivity impact - Hasty generalization: Claims broad applicability from single-user experience #### Tone of voice - Overall tone: Casual but informative, encouraging experimentation with technical solutions ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No denial patterns present - Attack: No attacking language identified - Reverse victim/offender: No victim/offender framing present - Emotional cues: Positive enthusiasm for technical solutions, mild frustration with manual processes ## ๐ŸŽฏ Conclusion This tutorial provides a practical solution for integrating Emacs Org Mode with Obsidian through custom link protocols. The implementation is straightforward but requires familiarity with Emacs Lisp configuration. **Next Steps**: Test the configuration in your Doom Emacs setup, experiment with different link formats, and consider adapting the pattern for other external applications in your workflow. **Broader Impact**: Demonstrates how small configuration investments can eliminate workflow friction, making it easier to adopt specialized tools without losing integration benefits. ## ๐Ÿงฑ Refactor Appendix ### ๐Ÿ“š Literature Split Pad ### [L1] org-link-set-parameters enables custom link protocols in Emacs > [!quote] [Unlocking Obsidian Links in Emacs Org Mode](https://www.youtube.com/watch?v=er58i65BJuI) by [[Curtis McHale]] via [[YouTube]]. Published 2024. Accessed 2024-12-19. > "We're setting the org link parameters. So this is like we're setting this variable." Core function for defining how org-mode handles custom link types like obsidian: protocol. [view highlight](https://youtu.be/er58i65BJuI?t=45) #emacs #configuration ID:rw_001 ### [L2] Doom Emacs after! macro ensures proper initialization order > [!quote] [Unlocking Obsidian Links in Emacs Org Mode](https://www.youtube.com/watch?v=er58i65BJuI) > "After is a specific doom thing to make sure that it opens after org starts." Critical for preventing configuration race conditions in complex Emacs distributions. [view highlight](https://youtu.be/er58i65BJuI?t=25) #doom-emacs #initialization ID:rw_002 --- ### ๐Ÿ”– Atomic Split Pad (Zettel Candidates) #### [Z1] Custom link protocols reduce application switching overhead - Applies to any workflow involving multiple specialized applications - Evidence at 03:00 timestamp showing workflow benefits - Links: [[Workflow-Optimization]] [[Tool-Integration]] #### [Z2] Configuration complexity trades setup time for usage efficiency - Pattern applies broadly to automation vs manual processes - Demonstrated through simple code enabling complex behavior - Links: [[Automation-ROI]] [[Technical-Debt]] --- ### โœ๏ธ Fleeting Queue - [F1] Research other org-mode custom link protocols โ€” productivity optimization #fleeting #research - [F2] Test obsidian URI schemes on different operating systems โ€” compatibility verification #fleeting #testing - [F3] Explore bidirectional sync between Emacs and Obsidian โ€” workflow enhancement #fleeting #integration --- ## Full Transcript [00:00] Welcome. Today we have a quick video uh<br>[00:02] to show you how to set up or mode to<br>[00:04] open links in Obsidian.<br>[00:08] So, it is actually fairly simple<br>[00:11] to this. So, right here I have a Oh,<br>[00:14] where' it go? Obsidian test link. This<br>[00:17] is exactly what it says, a link uh to an<br>[00:19] Obsidian file. Um not this one uh<br>[00:22] specifically, but it's still linked to<br>[00:24] an Obsidian file.<br>[00:27] Uh and the code that makes this link<br>[00:29] open in uh Obsidian is right here. So I<br>[00:33] talked about this uh earlier uh when we<br>[00:36] talked about or pomodoro. So after is a<br>[00:39] specific um<br>[00:42] doom thing to make sure that it opens<br>[00:44] after org starts. Then we're setting the<br>[00:47] org link parameters. So this is like<br>[00:49] we're setting this variable. So if we<br>[00:50] want to set other things, other files<br>[00:53] here, we actually need to um<br>[00:56] oh like redefine it or add it to there.<br>[00:58] We can't. If we redefine it later, then<br>[00:59] we will overwrite it. And really all we<br>[01:02] do here is say obsidian. We're going to<br>[01:04] follow the link. We're going to follow<br>[01:06] like right here with obsidian colon and<br>[01:08] it's going to open the link in Obsidian.<br>[01:10] So let's try that. Or is it obsidian<br>[01:13] link? Is that 120? And so I'm going to<br>[01:14] hit meta X or alt X and we're going to<br>[01:16] say org agenda open link.<br>[01:20] There you go. And open the link uh over<br>[01:22] here. Keep folder simple stupid which is<br>[01:24] one of the videos I want to do uh about<br>[01:26] uh I guess complexity curves. How we get<br>[01:29] things complex and then we take them um<br>[01:32] uh simple again. So and where do we put<br>[01:34] that? We put that in<br>[01:37] config.<br>[01:40] So, if I search for Obsidian, you see it<br>[01:44] right there. Same code I showed you<br>[01:45] earlier. Obsidian link. That's it. Like<br>[01:48] I said, quick video. That's how we get<br>[01:49] or mode to open our links in Obsidian.<br>[01:51] Uh, you know, I do this lots with like<br>[01:53] writing projects, something I'm working<br>[01:54] on where I link directly to the Obsidian<br>[01:56] file so that I can find it easily<br>[01:58] instead of like, you know, searching<br>[01:59] around or saying, "Oh, I need to write<br>[02:00] on this project." And then have to go to<br>[02:01] Obsidian, open the file. If you like the<br>[02:03] video, thumbs up below. All that YouTube<br>[02:05] stuff, subscribe. Uh, other ways to<br>[02:08] support the channel is go to<br>[02:08] curtismale.ca/ CA/book club one word<br>[02:10] join book club where we read a book a<br>[02:12] month. Uh next month is at a loss for<br>[02:16] words conversation in an age of rage.<br>[02:18] We're just finishing up one on<br>[02:21] uh specifically this on feminism<br>[02:23] feminist activism in a digital age but<br>[02:25] that broadly applies to activism in a<br>[02:27] digital age and we definitely do to be<br>[02:30] getting active uh given the way parts of<br>[02:32] the world are going. Have an awesome<br>[02:34] day. ## Highlights - Welcome. Today we have a quick video uh to show you how to set up or mode to open links in Obsidian. So, it is actually fairly simple to this. So, right here I have a Oh, where' it go? Obsidian test link. This is exactly what it says, a link uh to an Obsidian file. Um not this one uh specifically, but it's still linked to an Obsidian file. Uh and the code that makes this link open in uh Obsidian is right here. So I ([View Highlight](https://read.readwise.io/read/01kfk73xt6xbjk15warchfbtm7)) - Tags: ๐Ÿ‘ป ai highlighted