this-month-in-org/2021-04-26-Welcome.html
Timothy 787b24749c
DRAFT update (52 files changed)
Last source commit: 7958caa
Local time: 2024-09-08 15:20:47 (UTC+0800)
2024-09-08 15:20:47 +08:00

302 lines
15 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<!-- 2024-09-08 Sun 15:20 -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Welcome</title>
<meta name="author" content="TEC" />
<meta name="generator" content="org mode" />
<meta name="theme-color" content="#77aa99" />
<meta property="og:type" content="article" />
<meta property="og:title" content="Welcome" />
<meta property="og:image" content="https://blog.tecosaur.net/tmio/org-icon.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="464" />
<meta property="og:image:height" content="512" />
<meta property="og:image:alt" content="Org unicorn logo" />
<meta property="og:article:author:first_name" content="TEC" />
<meta property="og:article:published_time" content="2021-04-26T00:00:00+0800" />
<meta property="og:article:modified_time" content="2021-04-27T02:12:21+0800" />
<link rel="alternate" type="application/atom+xml" title="This Month in Org" href="rss.xml" />
<link rel="icon" type="image/ico" href="favicon.ico?v=3">
<link rel="stylesheet" type="text/css" href="org-style.css">
<link rel="stylesheet" type="text/css" href="blog.css">
<script src="org-style.js"></script>
</head>
<body>
<input type='checkbox' id='theme-switch'><div id='page'><label id='switch-label' for='theme-switch'></label><div id="preamble" class="status">
<header>
<h4><a href="https://orgmode.org" class="orgicorn"><img src="org-icon-monochrome.svg" class="invertible"></a>
<a href="https://blog.tecosaur.net/tmio/" class="title">
This Month in Org</a>
<a href="rss.xml" title="RSS Feed" type="application/rss+xml" class="rss">
<img src="rss.svg" alt="RSS icon" />
</a></h4>
</header>
</div>
<div id="content">
<header class="page-header"><div class="page-meta">2021-04-26, <span class='acr'>TEC</span></div>
<h1 class="title">Welcome</h1>
</header><div id="outline-container-introduction" class="outline-2">
<h2 id="introduction">Introduction<a aria-hidden="true" href="#introduction">#</a> </h2>
<div class="outline-text-2" id="text-introduction">
<p>
Org is an absolutely marvellous project. However, a quick glance at
<a href="https://orgmode.org">https://orgmode.org</a> can lead one to think &ldquo;so&#x2026; it&rsquo;s an Emacs version of
Markdown? What&rsquo;s the big deal?&rdquo;. While it&rsquo;s easy to understand how someone might
think that at first, that impression misses two crucial points:
</p>
<ul class="org-ul">
<li>While for simple constructs (<b>bold</b>, <i>italic</i>, headlines, etc.) the syntax is very
much analogous<sup><a id="fnr.1" class="footref" href="#fn.1" role="doc-backlink">1</a></sup>, Org scales to much more powerful forms that are a
headache to replicate in Markdown</li>
<li>Org mode was developed in Emacs, for Emacs. The integrations for Org put <i>every
other plaintext markup editing experience to shame</i>. <b>This is a bold statement</b>,
and I stand by it.</li>
</ul>
<p>
This blog exists because of the second point. The world does not stand still,
while new Markdown editors et al. are <a href="https://github.com/marktext/marktext">popping</a> <a href="https://github.com/ApostropheEditor/Apostrophe">up</a> <a href="https://remarkableapp.github.io/linux.html">left</a>, <a href="https://github.com/brrd/Abricotine">right</a>, <a href="https://github.com/DaveJarvis/keenwrite">and</a> <a href="https://znote.io/">centre</a> &#x2014; Org
has not languished. The <a href="https://orgmode.org/list/">mailing list</a> is active, as is development, and the
number of things you can do with Org is only increasing.
</p>
<p>
However, if one doesn&rsquo;t want to receive tens to hundreds of emails a week, it
can be all too easy to miss out on exciting developments<sup><a id="fnr.2" class="footref" href="#fn.2" role="doc-backlink">2</a></sup> 😢. So, to help keep
you abreast of the latest in Org, I&rsquo;m starting a blog ✨. Like all good things,
it is <a href="https://github.com/tecosaur/this-month-in-org/">written entirely in Org</a>.
</p>
<p>
Inspired by <a href="https://pointieststick.com/category/this-week-in-kde/">This Week in <span class='acr'>KDE</span></a> I&rsquo;m thrilled to announce <i>This Month in Org</i> (we have
slightly less going on than a Desktop Environment<sup><a id="fnr.3" class="footref" href="#fn.3" role="doc-backlink">3</a></sup>). Each month I shall
endeavour to present the highlights of Org development.
</p>
<p>
Who knows, perhaps you might see something you&rsquo;d like to help out with or
suggest improvements too. We&rsquo;d love you to <a href="https://orgmode.org/community.html">get in touch</a>.
</p>
</div>
</div>
<div id="outline-container-catching-up-lost" class="outline-2">
<h2 id="catching-up-lost">Catching up on lost time &#x2014; a year in review<a aria-hidden="true" href="#catching-up-lost">#</a> </h2>
<div class="outline-text-2" id="text-catching-up-lost">
<p>
I joined the Org mailing list in May last year, it&rsquo;s almost been a year since
then and we&rsquo;ve seen the release of Org 9.4, and its inclusion in Emacs 27.
</p>
<p>
I&rsquo;m not going to do 12 months of work for just this one post, but I&rsquo;d like to
give you a sample of what&rsquo;s changed over the last year.
</p>
</div>
<div id="outline-container-new-discussion-tracker" class="outline-3">
<h3 id="new-discussion-tracker">A new discussion tracker &#x2014; <a href="https://updates.orgmode.org/">updates.orgmode.org</a><a aria-hidden="true" href="#new-discussion-tracker">#</a> </h3>
<div class="outline-text-3" id="text-new-discussion-tracker">
<p>
Mid last year Bastien rolled out tracker for
</p>
<ul class="org-ul">
<li>Upcoming changes</li>
<li>Help requests</li>
<li>Bugs</li>
<li>Patches</li>
</ul>
<p>
This should help ensure nothing slips through the cracks of the <span class='acr'>ML</span>.
</p>
<figure id="org831b850">
<img src="figures/screenshot-of-updates-orgmode-org.png" alt="screenshot-of-updates-orgmode-org.png" class="invertible">
<figcaption><span class="figure-number">Figure 1: </span>A screenshot of <a href="https://updates.orgmode.org/">updates.orgmode.org</a></figcaption>
</figure>
<p>
It&rsquo;s very slick, and Bastien built a <a href="https://github.com/bzg/woof">mailbox monitor</a> just for it &#x2014; so be sure
to check it out. This should make it easier to see what needs doing. If you feel
inclined to help out with Org check out the <i>Help requests</i> section in particular.
</p>
<p>
You can also get <span class='acr'>RSS</span> feeds for individual sections, or get the information as
<span class='acr'>JSON</span> to work into your own projects, for example <a href="https://tecosaur.github.io/emacs-config/config.html#development">an elisp function to fetch and
apply patches</a>.
</p>
</div>
</div>
<div id="outline-container-inline-display-remote" class="outline-3">
<h3 id="inline-display-remote">Inline display of remote images<a aria-hidden="true" href="#inline-display-remote">#</a> </h3>
<div class="outline-text-3" id="text-inline-display-remote">
<p>
Ever gazed forlornly at a link like
<kbd>[[https://github.com/larsmagne/meme/raw/master/images/Grandma-Finds-The-Internet.jpg]]</kbd>
wishing you could see the image?
</p>
<p>
Wish no more! Thanks to Jack Kamm you can now look upon remote images in all
their glory!
</p>
<figure id="orge4ae9d8">
<img src="https://github.com/larsmagne/meme/raw/master/images/Grandma-Finds-The-Internet.jpg" alt="Grandma-Finds-The-Internet.jpg" style="height:16em">
<figcaption><span class="figure-number">Figure 2: </span>Org mode discovers the internet</figcaption>
</figure>
<p>
To get this working, simply set <code class="src src-elisp">org-display-remote-inline-images</code> to
<code class="src src-elisp">'download</code> or <code class="src src-elisp">'cache</code>.
</p>
</div>
</div>
<div id="outline-container-use-org-edit" class="outline-3">
<h3 id="use-org-edit">Use <code>org-edit-special</code> (<kbd>C-c '</kbd>) with LaTeX fragments<a aria-hidden="true" href="#use-org-edit">#</a> </h3>
<div class="outline-text-3" id="text-use-org-edit">
<p>
It&rsquo;s great how in Org you can jump into a LaTeX-mode minibuffer for LaTeX
environments, but why leave inline LaTeX fragments out? We&rsquo;ll, they&rsquo;re now in.
</p>
<figure id="org55fc940">
<img src="figures/org-edit-special-latex-fragment.png" alt="org-edit-special-latex-fragment.png" class="invertible">
<figcaption><span class="figure-number">Figure 3: </span>Running <code>org-edit-special</code> on an inline LaTeX fragment</figcaption>
</figure>
</div>
</div>
<div id="outline-container-control-heading-display" class="outline-3">
<h3 id="control-heading-display">Control heading display on startup<a aria-hidden="true" href="#control-heading-display">#</a> </h3>
<div class="outline-text-3" id="text-control-heading-display">
<p>
<kbd>org-num-mode</kbd> is great for when you&rsquo;re keeping an eye on section numbers, but
it&rsquo;s not fun to find yourself enabling it every time you open a file where you
want it. With the new option <kbd>#+startup: num</kbd> by Bastien, you can set and forget
at last.
</p>
<figure id="org3600dcb">
<img src="figures/org-startup-num-and-levels.png" alt="org-startup-num-and-levels.png" class="invertible">
<figcaption><span class="figure-number">Figure 4: </span>Opening a buffer with the new <kbd>num</kbd> and <kbd>show2levels</kbd> startup options</figcaption>
</figure>
<p>
Should you want to set the number of levels you see on opening a file, there&rsquo;s
now an option for that too. Gustav Wikström has added <i>another</i> new option
<kbd>#+startup: show&lt;n&gt;levels</kbd> (where <kbd>&lt;n&gt;</kbd> is between 2 and 5, inclusive).
<i><span class='acr'>NB</span>: This is part of the upcoming 9.5 release</i>
</p>
</div>
</div>
<div id="outline-container-set-permissions-tangled" class="outline-3">
<h3 id="set-permissions-tangled">Set permissions of tangled files<a aria-hidden="true" href="#set-permissions-tangled">#</a> </h3>
<div class="outline-text-3" id="text-set-permissions-tangled">
<p>
Are you particular about your file permissions? If so you&rsquo;ll likely like John
Herrlin&rsquo;s new source block header argument <kbd>:file-mode</kbd> pertinent. The easiest way
to set a permission is with an <a href="https://docs.nersc.gov/filesystems/unix-file-permissions/">octal value</a>, like so:
</p>
<details id='set-permissions-tangled,code--1' class='code' open><summary><span class="lang">Org mode</span></summary>
<div class='gutter'>
<a href='#set-permissions-tangled,code--1'>#</a>
<button title='Copy to clipboard' onclick='copyPreToClipbord(this)'></button></div>
<div class="org-src-container">
<pre class="src src-org"><span class="org-org-block-begin-line">#+begin_src shell :results file :file script.sh :file-mode (identity #o755)</span>
<span class="org-org-block"><span class="org-builtin">echo</span></span><span class="org-org-block"> </span><span class="org-org-block"><span class="org-string">"#!/bin/bash"</span></span>
<span class="org-org-block"><span class="org-builtin">echo</span></span><span class="org-org-block"> </span><span class="org-org-block"><span class="org-string">"echo Hello World"</span></span>
<span class="org-org-block-end-line">#+end_src</span>
</pre>
</div>
</details>
</div>
</div>
<div id="outline-container-collection-improvements-source" class="outline-3">
<h3 id="collection-improvements-source">A collection of improvements to source block header arguments<a aria-hidden="true" href="#collection-improvements-source">#</a> </h3>
<div class="outline-text-3" id="text-collection-improvements-source">
<p>
These&rsquo;s been a whole set of these, so I&rsquo;ll just list them off.
</p>
<dl class="org-dl">
<dt>python, improved <kbd>:return</kbd></dt><dd>Now works with sessions and the <kbd>:epilogue</kbd>
argument (Jack Kamm)</dd>
<dt>Java, new argument <kbd>:cmdargs</kbd></dt><dd>Add some command line arguments to be passed to
<code>java</code> (Jarmo Hurri)</dd>
<dt>C/C++, non-system headers with <kbd>:includes</kbd></dt><dd>values that don&rsquo;t start with <kbd>&lt;</kbd>
will now be formatted as double-quoted <code class="src src-C"><span class="org-preprocessor">#include</span></code> statements (Brandon
Guttersohn)</dd>
<dt>Screen, new argument <kbd>:screenrc</kbd></dt><dd>For those of you who still haven&rsquo;t moved to
<kbd>tmux</kbd> (Kenneth D. Mankoff)</dd>
</dl>
</div>
</div>
<div id="outline-container-seven-year-old" class="outline-3">
<h3 id="seven-year-old">A seven year old bug was fixed<a aria-hidden="true" href="#seven-year-old">#</a> </h3>
<div class="outline-text-3" id="text-seven-year-old">
<p>
In 2013 <a href="https://lists.gnu.org/archive/html/emacs-orgmode/2013-08/msg00072.html">it was reported</a> that an infinite loop could be triggered in
<code>org-agenda-show-new-time</code>. At long last, this has been fixed by Bastien.
</p>
</div>
</div>
</div>
<div id="footnotes">
<h2 class="footnotes">Footnotes: </h2>
<div id="text-footnotes">
<div class="footdef"><sup><a id="fn.1" class="footnum" href="#fnr.1" role="doc-backlink">1</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">
Aside from somewhat more <a href="https://orgmode.org/quickstart.html">intuitive syntax</a> for emphasis and simple
structures, Org also has the advantage of not having <a href="https://github.com/commonmark/commonmark-spec/wiki/markdown-flavors">40 functionally distinct
specifications</a>. There is only one Org. <br>
<span class='acr'>NB</span>: If you attempt to be pedantic you may say that there are multiple Orgs
because, for example, GitHub uses <a href="https://github.com/wallyqs/org-ruby">org-ruby</a>. However, that&rsquo;s just an incomplete
implementation &#x2014; not a <a href="https://orgmode.org/worg/dev/org-syntax.html">specification</a>.
</p></div></div>
<div class="footdef"><sup><a id="fn.2" class="footnum" href="#fnr.2" role="doc-backlink">2</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">
There is <a href="https://code.orgmode.org/bzg/org-mode/src/master/etc/ORG-NEWS"><span class='acr'>ORG</span>-<span class='acr'>NEWS</span></a>, but do you <i>really</i> check that? Besides, it doesn&rsquo;t even
have pictures.
</p></div></div>
<div class="footdef"><sup><a id="fn.3" class="footnum" href="#fnr.3" role="doc-backlink">3</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">
That said, with <i>interesting</i> projects like the <a href="https://github.com/manateelazycat/emacs-application-framework">Emacs Application
Framework</a> and the <a href="https://github.com/ch11ng/exwm">Emacs X Window Manager</a>, one could argue that Org is
(sometimes) a major component of a desktop environment&#x2026;
</p></div></div>
</div>
</div></div>
<div id="postamble" class="status">
<footer>
<p xmlns:dct="http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#">
<a rel="license" class="external" rel="nofollow" href="http://creativecommons.org/publicdomain/zero/1.0/">
<img src="cc0.svg" alt="CC0" class="invertible" style="position:relative;bottom:-0.2em"/>
</a>
To the extent possible under law,
<a rel="dct:publisher"
href="https://blog.tecosaur.net/">
<span property="dct:title">TEC</span></a>
has waived all copyright and related or neighboring rights to
<span property="dct:title" style="font-style:italic">This Month in Org</span>.
</p>
</footer>
<script src="theme-switcher.js"></script>
</div>
</div>
</body>
</html>