<commit_before>#+TITLE:   lang/org
#+DATE:    February 19, 2017
#+SINCE:   2.0
#+STARTUP: inlineimages

* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
  - [[#module-flags][Module Flags]]
  - [[#plugins][Plugins]]
  - [[#hacks][Hacks]]
- [[#prerequisites][Prerequisites]]
  - [[#macos][MacOS]]
  - [[#arch-linux][Arch Linux]]
  - [[#nixos][NixOS]]
  - [[#windows][Windows]]
- [[#features][Features]]
  - [[#invoking-the-org-capture-frame-from-outside-emacs][Invoking the org-capture frame from outside Emacs]]
  - [[#built-in-custom-link-types][Built-in custom link types]]
- [[#configuration][Configuration]]
  - [[#changing-org-directory][Changing ~org-directory~]]

* Description
This module adds org-mode support to Doom Emacs, along with a number of
adjustments, extensions and reasonable defaults to make it more performant and
intuitive out of the box:

+ A custom, centralized attachment system that stores files in one place, rather
  than in the same directory as the input file(s) (only applies to attachments
  from files in/under =org-directory=).
+ Executable code blocks with support for a variety of languages and tools
  (depending on what :lang modules are enabled).
+ Supports an external org-capture workflow through the =bin/org-capture= shell
  script and ~+org-capture/open-frame~.
+ A configuration for using org-mode for slide-show presentations or exporting
  org files to reveal.js slideshows.
+ Drag-and-drop support for images (with inline preview) and media files (drops
  a file icon and a short link) (requires =+dragndrop= flag).
+ Integration with pandoc, ipython, jupyter, reveal.js, beamer, and others
  (requires flags).
+ Export-to-clipboard functionality, for copying text into formatted html,
  markdown or rich text to the clipboard (see ~+org/export-to-clipboard~ and
  ~+org/export-to-clipboard-as-rich-text~).

#+begin_quote
Org is a system for writing plain text notes with syntax highlighting, code
execution, task scheduling, agenda management, and many more. The whole idea is
that you can write notes and mix them with references to things like articles,
images, and example code combined with the output of that code after it is
executed.

https://www.mfoot.com/blog/2015/11/22/literate-emacs-configuration-with-org-mode/
#+end_quote

** Module Flags
+ =+brain= Enables [[https://github.com/Kungsgeten/org-brain][org-brain]] integration.
+ =+dragndrop= Enables drag-and-drop support for images and files; inserts
  inline previews for images and an icon+link for other media types.
+ =+gnuplot= Installs gnuplot & gnuplot-mode, which enables rendering images
  from gnuplot src blocks or plotting tables with ~org-plot/gnuplot~ (bound to
  =SPC m b p=, by default).
+ =+hugo= Enables integration with [[https://gohugo.io][hugo]] to export from Emacs well-formed
  ([[https://github.com/russross/blackfriday][blackfriday]]) markdown.
+ =+ipython= (**DEPRECATED**) Enables ipython integration for babel.
+ =+journal= Enables [[https://github.com/bastibe/org-journal][org-journal]] integration.
+ =+jupyter= Enables Jupyter integration for babel.
+ =+pandoc= Enables pandoc integration into the Org exporter.
+ =+pomodoro= Enables a pomodoro timer for clocking time on tasks.
+ =+present= Enables integration with reveal.js, beamer and org-tree-slide, so
  Emacs can be used for presentations.
+ =+roam= Enables org-roam integration.

** Plugins
+ [[https://github.com/hniksic/emacs-htmlize][htmlize]]
+ [[https://github.com/astahlman/ob-async][ob-async]]
+ [[https://github.com/alphapapa/org-bookmark-heading][org-bookmark-heading]]
+ [[https://github.com/sabof/org-bullets][org-bullets]]
+ [[https://github.com/rexim/org-cliplink][org-cliplink]]
+ [[https://github.com/magit/orgit][orgit]]
+ [[https://orgmode.org/][org-plus-contrib]]
+ [[https://github.com/TobiasZawada/org-yt][org-yt]]
+ [[https://github.com/jkitchin/ox-clip][ox-clip]]
+ [[https://github.com/snosov1/toc-org][toc-org]]
+ =:lang crystal=
  + [[https://github.com/brantou/ob-crystal][ob-crystal]]
+ =:lang go=
  + [[https://github.com/pope/ob-go][ob-go]]
+ =:lang nim=
  + [[https://github.com/Lompik/ob-nim][ob-nim]]
+ =:lang racket=
  + [[https://github.com/DEADB17/ob-racket][ob-racket]]
+ =:lang rest=
  + [[https://github.com/alf/ob-restclient.el][ob-restclient]]
+ =:lang rust=
  + [[https://github.com/micanzhang/ob-rust][ob-rust]]
+ =:editor evil=
  + [[https://github.com/Somelauw/evil-org-mode][evil-org]]
+ =:tools pdf=
  + [[https://github.com/markus1189/org-pdfview/tree/09ef4bf8ff8319c1ac78046c7e6b89f6a0beb82c][org-pdfview]]
+ =+dragndrop=
  + [[https://github.com/abo-abo/org-download][org-download]]
+ =+gnuplot=
  + [[https://github.com/mkmcc/gnuplot-mode][gnuplot]]
  + [[https://github.com/bruceravel/gnuplot-mode][gnuplot-mode]]
+ =+ipython=
  + [[https://github.com/gregsexton/ob-ipython][ob-ipython]]
+ =+jupyter=
  + [[https://github.com/dzop/emacs-jupyter][jupyter]]
+ =+pandoc=
  + [[https://github.com/kawabata/ox-pandoc][ox-pandoc]]
+ =+pomodoro=
  + [[https://github.com/marcinkoziej/org-pomodoro][org-pomodoro]]
+ =+present=
  + [[https://github.com/anler/centered-window-mode][centered-window]]
  + [[https://github.com/takaxp/org-tree-slide][org-tree-slide]]
  + [[https://gitlab.com/oer/org-re-reveal][org-re-reveal]]
+ =+hugo=
  + [[https://github.com/kaushalmodi/ox-hugo][ox-hugo]]

** Hacks
+ The window is recentered when following links.
+ The breadcrumbs displayed in eldoc when hovering over an org headline has been<commit_msg>lang/org: add org-roam to readme<commit_after>#+TITLE:   lang/org
#+DATE:    February 19, 2017
#+SINCE:   2.0
#+STARTUP: inlineimages

* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
  - [[#module-flags][Module Flags]]
  - [[#plugins][Plugins]]
  - [[#hacks][Hacks]]
- [[#prerequisites][Prerequisites]]
  - [[#macos][MacOS]]
  - [[#arch-linux][Arch Linux]]
  - [[#nixos][NixOS]]
  - [[#windows][Windows]]
- [[#features][Features]]
  - [[#invoking-the-org-capture-frame-from-outside-emacs][Invoking the org-capture frame from outside Emacs]]
  - [[#built-in-custom-link-types][Built-in custom link types]]
- [[#configuration][Configuration]]
  - [[#changing-org-directory][Changing ~org-directory~]]

* Description
This module adds org-mode support to Doom Emacs, along with a number of
adjustments, extensions and reasonable defaults to make it more performant and
intuitive out of the box:

+ A custom, centralized attachment system that stores files in one place, rather
  than in the same directory as the input file(s) (only applies to attachments
  from files in/under =org-directory=).
+ Executable code blocks with support for a variety of languages and tools
  (depending on what :lang modules are enabled).
+ Supports an external org-capture workflow through the =bin/org-capture= shell
  script and ~+org-capture/open-frame~.
+ A configuration for using org-mode for slide-show presentations or exporting
  org files to reveal.js slideshows.
+ Drag-and-drop support for images (with inline preview) and media files (drops
  a file icon and a short link) (requires =+dragndrop= flag).
+ Integration with pandoc, ipython, jupyter, reveal.js, beamer, and others
  (requires flags).
+ Export-to-clipboard functionality, for copying text into formatted html,
  markdown or rich text to the clipboard (see ~+org/export-to-clipboard~ and
  ~+org/export-to-clipboard-as-rich-text~).

#+begin_quote
Org is a system for writing plain text notes with syntax highlighting, code
execution, task scheduling, agenda management, and many more. The whole idea is
that you can write notes and mix them with references to things like articles,
images, and example code combined with the output of that code after it is
executed.

https://www.mfoot.com/blog/2015/11/22/literate-emacs-configuration-with-org-mode/
#+end_quote

** Module Flags
+ =+brain= Enables [[https://github.com/Kungsgeten/org-brain][org-brain]] integration.
+ =+dragndrop= Enables drag-and-drop support for images and files; inserts
  inline previews for images and an icon+link for other media types.
+ =+gnuplot= Installs gnuplot & gnuplot-mode, which enables rendering images
  from gnuplot src blocks or plotting tables with ~org-plot/gnuplot~ (bound to
  =SPC m b p=, by default).
+ =+hugo= Enables integration with [[https://gohugo.io][hugo]] to export from Emacs well-formed
  ([[https://github.com/russross/blackfriday][blackfriday]]) markdown.
+ =+ipython= (**DEPRECATED**) Enables ipython integration for babel.
+ =+journal= Enables [[https://github.com/bastibe/org-journal][org-journal]] integration.
+ =+jupyter= Enables Jupyter integration for babel.
+ =+pandoc= Enables pandoc integration into the Org exporter.
+ =+pomodoro= Enables a pomodoro timer for clocking time on tasks.
+ =+present= Enables integration with reveal.js, beamer and org-tree-slide, so
  Emacs can be used for presentations.
+ =+roam= Enables org-roam integration.

** Plugins
+ [[https://github.com/hniksic/emacs-htmlize][htmlize]]
+ [[https://github.com/astahlman/ob-async][ob-async]]
+ [[https://github.com/alphapapa/org-bookmark-heading][org-bookmark-heading]]
+ [[https://github.com/sabof/org-bullets][org-bullets]]
+ [[https://github.com/rexim/org-cliplink][org-cliplink]]
+ [[https://github.com/magit/orgit][orgit]]
+ [[https://orgmode.org/][org-plus-contrib]]
+ [[https://github.com/TobiasZawada/org-yt][org-yt]]
+ [[https://github.com/jkitchin/ox-clip][ox-clip]]
+ [[https://github.com/snosov1/toc-org][toc-org]]
+ =:lang crystal=
  + [[https://github.com/brantou/ob-crystal][ob-crystal]]
+ =:lang go=
  + [[https://github.com/pope/ob-go][ob-go]]
+ =:lang nim=
  + [[https://github.com/Lompik/ob-nim][ob-nim]]
+ =:lang racket=
  + [[https://github.com/DEADB17/ob-racket][ob-racket]]
+ =:lang rest=
  + [[https://github.com/alf/ob-restclient.el][ob-restclient]]
+ =:lang rust=
  + [[https://github.com/micanzhang/ob-rust][ob-rust]]
+ =:editor evil=
  + [[https://github.com/Somelauw/evil-org-mode][evil-org]]
+ =:tools pdf=
  + [[https://github.com/markus1189/org-pdfview/tree/09ef4bf8ff8319c1ac78046c7e6b89f6a0beb82c][org-pdfview]]
+ =+dragndrop=
  + [[https://github.com/abo-abo/org-download][org-download]]
+ =+gnuplot=
  + [[https://github.com/mkmcc/gnuplot-mode][gnuplot]]
  + [[https://github.com/bruceravel/gnuplot-mode][gnuplot-mode]]
+ =+hugo=
  + [[https://github.com/kaushalmodi/ox-hugo][ox-hugo]]
+ =+ipython=
  + [[https://github.com/gregsexton/ob-ipython][ob-ipython]]
+ =+jupyter=
  + [[https://github.com/dzop/emacs-jupyter][jupyter]]
+ =+pandoc=
  + [[https://github.com/kawabata/ox-pandoc][ox-pandoc]]
+ =+pomodoro=
  + [[https://github.com/marcinkoziej/org-pomodoro][org-pomodoro]]
+ =+present=
  + [[https://github.com/anler/centered-window-mode][centered-window]]
  + [[https://github.com/takaxp/org-tree-slide][org-tree-slide]]
  + [[https://gitlab.com/oer/org-re-reveal][org-re-reveal]]
+ =+roam=
  + [[https://github.com/jethrokuan/org-roam][org-roam]]

** Hacks
+ The window is recentered when following links.
+ The breadcrumbs displayed in eldoc when hovering over an org headline has been
{'fraction_non_alphanumeric': 0.1674175527122004, 'fraction_numerical': 0.008289781942692377, 'mean_word_length': 4.68014329580348, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 69, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3800125', 'n_tokens_mistral': 4023, 'n_tokens_neox': 3884, 'n_words': 895}