237 lines
14 KiB
HTML
237 lines
14 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>2021-04-26-Welcome.org.html</title>
|
|
<style>
|
|
body { background: #fafafa; color: #2a2a2a; }
|
|
pre {
|
|
font-size: 1rem;
|
|
max-width: min(100rem, 100%);
|
|
width: max-content;
|
|
white-space: pre-wrap;
|
|
margin: auto; }
|
|
.ef-D {
|
|
color: #2a2a2a;
|
|
background-color: #fafafa;
|
|
font-weight: 400; }
|
|
.ef-k {
|
|
color: #3b6ea8; }
|
|
.ef-d {
|
|
color: #b6b6b6; }
|
|
.ef-t {
|
|
color: #9a7500; }
|
|
.ef-s {
|
|
color: #4f894c; }
|
|
.ef-w {
|
|
color: #9a7500; }
|
|
.ef-b {
|
|
color: #29838d; }
|
|
.ef-ct {
|
|
color: #b1b1b1; }
|
|
.ef-c {
|
|
color: #97365b; }
|
|
.ef-pp {
|
|
color: #3b6ea8;
|
|
font-weight: 700; }
|
|
.ef-nc {
|
|
color: #3b6ea8;
|
|
font-weight: 700; }
|
|
.ef-v {
|
|
color: #cb9aad; }
|
|
.ef-f {
|
|
color: #29838d; }
|
|
.ef-cd {
|
|
color: #b1b1b1; }
|
|
.ef-rc {
|
|
color: #3b6ea8;
|
|
font-weight: 700; }
|
|
.ef-rb {
|
|
color: #3b6ea8;
|
|
font-weight: 700; }
|
|
.ef-ob {
|
|
}
|
|
.ef-hn {
|
|
color: #97365b;
|
|
font-weight: 700; }
|
|
.ef-hq {
|
|
color: #3b6ea8; }
|
|
.ef-hs {
|
|
color: #9a7500; }
|
|
.ef-rdi {
|
|
color: #3b6ea8; }
|
|
.ef-rdii {
|
|
color: #97365b; }
|
|
.ef-rdiii {
|
|
color: #4f894c; }
|
|
.ef-rdiv {
|
|
color: #842879; }
|
|
.ef-rdv {
|
|
color: #29838d; }
|
|
.ef-rdvi {
|
|
color: #3b6ea8; }
|
|
.ef-rdvii {
|
|
color: #97365b; }
|
|
.ef-rdiix {
|
|
color: #4f894c; }
|
|
.ef-rdix {
|
|
color: #842879; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<pre>
|
|
<span style="color: #9e9e9e;">#+title:</span> <span style="color: #29838d; font-weight: 700;">Welcome
|
|
</span><span style="color: #9e9e9e;">#+author:</span> <span style="color: #29838d;">TEC
|
|
</span><span style="color: #9e9e9e;">#+date:</span> <span style="color: #29838d;">2021-04-26
|
|
</span>
|
|
<span style="color: #3b6ea8; font-weight: 700;">* Introduction</span>
|
|
|
|
Org is an absolutely marvellous project. However, a quick glance at
|
|
<span style="color: #3b6ea8; font-weight: 700;">https://orgmode.org</span> can lead one to think "so... it's an Emacs version of
|
|
Markdown? What's the big deal?". While it's easy to understand how someone might
|
|
think that at first, that impression misses two crucial points:
|
|
+ While for simple constructs (<span style="font-weight: 700;">*bold*</span>, <span style="text-decoration: italic;">/italic/</span>, headlines, etc.) the syntax is very
|
|
much analogous<span style="color: #ac4426;">[fn:1]</span>, Org scales to much more powerful forms that are a
|
|
headache to replicate in Markdown
|
|
+ Org mode was developed in Emacs, for Emacs. The integrations for Org put <span style="text-decoration: italic;">/every
|
|
other plaintext markup editing experience to shame/</span>. <span style="font-weight: 700;">*This is a bold statement*</span>,
|
|
and I stand by it.
|
|
|
|
This blog exists because of the second point. The world does not stand still,
|
|
while new Markdown editors et al. are <span style="color: #3b6ea8; font-weight: 700;">[[https://github.com/marktext/marktext][popping]]</span> <span style="color: #3b6ea8; font-weight: 700;">[[https://github.com/ApostropheEditor/Apostrophe][up]]</span> <span style="color: #3b6ea8; font-weight: 700;">[[https://remarkableapp.github.io/linux.html][left]]</span>, <span style="color: #3b6ea8; font-weight: 700;">[[https://github.com/brrd/Abricotine][right]]</span>, <span style="color: #3b6ea8; font-weight: 700;">[[https://github.com/DaveJarvis/keenwrite][and]]</span> <span style="color: #3b6ea8; font-weight: 700;">[[https://znote.io/][centre]]</span> --- Org
|
|
has not languished. The <span style="color: #3b6ea8; font-weight: 700;">[[https://orgmode.org/list/][mailing list]]</span> is active, as is development, and the
|
|
number of things you can do with Org is only increasing.
|
|
|
|
However, if one doesn't want to receive tens to hundreds of emails a week, it
|
|
can be all too easy to miss out on exciting developments<span style="color: #ac4426;">[fn:3]</span> 😢. So, to help keep
|
|
you abreast of the latest in Org, I'm starting a blog ✨. Like all good things,
|
|
it is <span style="color: #3b6ea8; font-weight: 700;">[[https://github.com/tecosaur/this-month-in-org/][written entirely in Org]]</span>.
|
|
|
|
Inspired by <span style="color: #3b6ea8; font-weight: 700;">[[https://pointieststick.com/category/this-week-in-kde/][This Week in KDE]]</span> I'm thrilled to announce <span style="text-decoration: italic;">/This Month in Org/</span> (we have
|
|
slightly less going on than a Desktop Environment<span style="color: #ac4426;">[fn:2]</span>). Each month I shall
|
|
endeavour to present the highlights of Org development.
|
|
|
|
Who knows, perhaps you might see something you'd like to help out with or
|
|
suggest improvements too. We'd love you to <span style="color: #3b6ea8; font-weight: 700;">[[https://orgmode.org/community.html][get in touch]]</span>.
|
|
|
|
<span style="color: #3b6ea8; font-weight: 700;">* Catching up on lost time --- a year in review</span>
|
|
|
|
I joined the Org mailing list in May last year, it's almost been a year since
|
|
then and we've seen the release of Org 9.4, and its inclusion in Emacs 27.
|
|
|
|
I'm not going to do 12 months of work for just this one post, but I'd like to
|
|
give you a sample of what's changed over the last year.
|
|
|
|
<span style="color: #97365b; font-weight: 700;">** A new discussion tracker --- </span><span style="color: #3b6ea8; font-weight: 700;">[[https://updates.orgmode.org/][</span><span style="color: #3b6ea8; font-weight: 700;">updates.orgmode.org]</span><span style="color: #3b6ea8; font-weight: 700;">]</span>
|
|
|
|
Mid last year Bastien rolled out tracker for
|
|
+ Upcoming changes
|
|
+ Help requests
|
|
+ Bugs
|
|
+ Patches
|
|
|
|
This should help ensure nothing slips through the cracks of the ML.
|
|
|
|
<span style="color: #b6b6b6;">#+caption:</span> <span class="ef-ob">A screenshot of [[https://updates.orgmode.org/][updates.orgmode.org]]</span>
|
|
<span style="color: #b6b6b6;">#+attr_html: :class invertible</span>
|
|
<span style="color: #3b6ea8; font-weight: 700;">[[file:figures/screenshot-of-updates-orgmode-org.png]]</span>
|
|
|
|
It's very slick, and Bastien built a <span style="color: #3b6ea8; font-weight: 700;">[[https://github.com/bzg/woof][mailbox monitor]]</span> just for it --- 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 <span style="text-decoration: italic;">/Help requests/</span> section in particular.
|
|
|
|
You can also get RSS feeds for individual sections, or get the information as
|
|
JSON to work into your own projects, for example <span style="color: #3b6ea8; font-weight: 700;">[[https://tecosaur.github.io/emacs-config/config.html#development][an elisp function to fetch and
|
|
apply patches]]</span>.
|
|
|
|
<span style="color: #97365b; font-weight: 700;">** Inline display of remote images</span>
|
|
|
|
Ever gazed forlornly at a link like
|
|
<span style="color: #4f894c;">=</span><span style="color: #4f894c; font-weight: 700;">[[https://github.com/larsmagne/meme/raw/master/images/Grandma-Finds-The-Internet.jpg]]</span><span style="color: #4f894c;">=</span>
|
|
wishing you could see the image?
|
|
|
|
Wish no more! Thanks to Jack Kamm you can now look upon remote images in all
|
|
their glory!
|
|
|
|
<span style="color: #b6b6b6;">#+caption:</span> <span class="ef-ob">Org mode discovers the internet</span>
|
|
<span style="color: #b6b6b6;">#+attr_html: :style height:16em</span>
|
|
<span style="color: #b6b6b6;">#+attr_latex: :width 0.4\linewidth</span>
|
|
<span style="color: #3b6ea8; font-weight: 700;">[[https://github.com/larsmagne/meme/raw/master/images/Grandma-Finds-The-Internet.jpg]]</span>
|
|
|
|
To get this working, simply set <span style="color: #9e9e9e;">src_</span><span style="color: #b6b6b6;">elisp</span><span style="color: #9e9e9e;">{</span><span class="ef-ob">org-display-remote-inline-images</span><span style="color: #9e9e9e;">}</span> to
|
|
<span style="color: #9e9e9e;">src_</span><span style="color: #b6b6b6;">elisp</span><span style="color: #9e9e9e;">{</span><span class="ef-ob">'download</span><span style="color: #9e9e9e;">}</span> or <span style="color: #9e9e9e;">src_</span><span style="color: #b6b6b6;">elisp</span><span style="color: #9e9e9e;">{</span><span class="ef-ob">'cache</span><span style="color: #9e9e9e;">}</span>.
|
|
|
|
<span style="color: #97365b; font-weight: 700;">** Use </span><span style="color: #ac4426; font-weight: 700;">~org-edit-special~</span><span style="color: #97365b; font-weight: 700;"> (</span><span style="color: #4f894c; font-weight: 700;">=C-c '=</span><span style="color: #97365b; font-weight: 700;">) with LaTeX fragments</span>
|
|
|
|
It's great how in Org you can jump into a LaTeX-mode minibuffer for LaTeX
|
|
environments, but why leave inline LaTeX fragments out? We'll, they're now in.
|
|
|
|
<span style="color: #b6b6b6;">#+caption:</span> <span class="ef-ob">Running ~org-edit-special~ on an inline LaTeX fragment</span>
|
|
<span style="color: #b6b6b6;">#+attr_html: :class invertible</span>
|
|
<span style="color: #3b6ea8; font-weight: 700;">[[file:figures/org-edit-special-latex-fragment.png]]</span>
|
|
|
|
<span style="color: #97365b; font-weight: 700;">** Control heading display on startup</span>
|
|
|
|
<span style="color: #4f894c;">=org-num-mode=</span> is great for when you're keeping an eye on section numbers, but
|
|
it's not fun to find yourself enabling it every time you open a file where you
|
|
want it. With the new option <span style="color: #4f894c;">=#+startup: num=</span> by Bastien, you can set and forget
|
|
at last.
|
|
|
|
<span style="color: #b6b6b6;">#+caption:</span> <span class="ef-ob">Opening a buffer with the new =num= and =show2levels= startup options</span>
|
|
<span style="color: #b6b6b6;">#+attr_html: :class invertible</span>
|
|
<span style="color: #3b6ea8; font-weight: 700;">[[file:figures/org-startup-num-and-levels.png]]</span>
|
|
|
|
Should you want to set the number of levels you see on opening a file, there's
|
|
now an option for that too. Gustav Wikström has added <span style="text-decoration: italic;">/another/</span> new option
|
|
<span style="color: #4f894c;">=#+startup: show<n>levels=</span> (where <span style="color: #4f894c;">=<n>=</span> is between 2 and 5, inclusive).
|
|
<span style="text-decoration: italic;">/NB: This is part of the upcoming 9.5 release/</span>
|
|
|
|
<span style="color: #97365b; font-weight: 700;">** Set permissions of tangled files</span>
|
|
|
|
Are you particular about your file permissions? If so you'll likely like John
|
|
Herrlin's new source block header argument <span style="color: #4f894c;">=:file-mode=</span> pertinent. The easiest way
|
|
to set a permission is with an <span style="color: #3b6ea8; font-weight: 700;">[[https://docs.nersc.gov/filesystems/unix-file-permissions/][octal value]]</span>, like so:
|
|
<span style="color: #b1b1b1;">#+begin_src org
|
|
</span><span class="ef-ob">,#+begin_src shell :results file :file script.sh :file-mode (identity #o755)
|
|
echo "#!/bin/bash"
|
|
echo "echo Hello World"
|
|
,#+end_src
|
|
</span><span style="color: #b1b1b1;">#+end_src
|
|
</span>
|
|
<span style="color: #97365b; font-weight: 700;">** A collection of improvements to source block header arguments</span>
|
|
|
|
These's been a whole set of these, so I'll just list them off.
|
|
+ <span style="color: #3b6ea8;">python, improved </span><span style="color: #3b6ea8;">=:return=</span><span style="color: #3b6ea8;"> ::</span> Now works with sessions and the <span style="color: #4f894c;">=:epilogue=</span>
|
|
argument (Jack Kamm)
|
|
+ <span style="color: #3b6ea8;">Java, new argument </span><span style="color: #3b6ea8;">=:cmdargs=</span><span style="color: #3b6ea8;"> ::</span> Add some command line arguments to be passed to
|
|
<span style="color: #ac4426;">~java~</span> (Jarmo Hurri)
|
|
+ <span style="color: #3b6ea8;">C/C++, non-system headers with </span><span style="color: #3b6ea8;">=:includes=</span><span style="color: #3b6ea8;"> ::</span> values that don't start with <span style="color: #4f894c;">=<=</span>
|
|
will now be formatted as double-quoted <span style="color: #9e9e9e;">src_</span><span style="color: #b6b6b6;">C</span><span style="color: #9e9e9e;">{</span><span style="color: #3b6ea8; font-weight: 700;">#include</span><span style="color: #9e9e9e;">}</span> statements (Brandon
|
|
Guttersohn)
|
|
+ <span style="color: #3b6ea8;">Screen, new argument </span><span style="color: #3b6ea8;">=:screenrc=</span><span style="color: #3b6ea8;"> ::</span> For those of you who still haven't moved to
|
|
<span style="color: #4f894c;">=tmux=</span> (Kenneth D. Mankoff)
|
|
|
|
<span style="color: #97365b; font-weight: 700;">** A seven year old bug was fixed</span>
|
|
|
|
In 2013 <span style="color: #3b6ea8; font-weight: 700;">[[https://lists.gnu.org/archive/html/emacs-orgmode/2013-08/msg00072.html][it was reported]]</span> that an infinite loop could be triggered in
|
|
<span style="color: #ac4426;">~org-agenda-show-new-time~</span>. At long last, this has been fixed by Bastien.
|
|
|
|
<span style="color: #3b6ea8; font-weight: 700;">* Footnotes</span>
|
|
|
|
<span style="color: #ac4426;">[fn:1]</span> Aside from somewhat more <span style="color: #3b6ea8; font-weight: 700;">[[https://orgmode.org/quickstart.html][intuitive syntax]]</span> for emphasis and simple
|
|
structures, Org also has the advantage of not having <span style="color: #3b6ea8; font-weight: 700;">[[https://github.com/commonmark/commonmark-spec/wiki/markdown-flavors][40 functionally distinct
|
|
specifications]]</span>. There is only one Org. \\
|
|
NB: If you attempt to be pedantic you may say that there are multiple Orgs
|
|
because, for example, GitHub uses <span style="color: #3b6ea8; font-weight: 700;">[[https://github.com/wallyqs/org-ruby][org-ruby]]</span>. However, that's just an incomplete
|
|
implementation --- not a <span style="color: #3b6ea8; font-weight: 700;">[[https://orgmode.org/worg/dev/org-syntax.html][specification]]</span>.
|
|
|
|
<span style="color: #ac4426;">[fn:2]</span> That said, with <span style="text-decoration: italic;">/interesting/</span> projects like the <span style="color: #3b6ea8; font-weight: 700;">[[https://github.com/manateelazycat/emacs-application-framework][Emacs Application
|
|
Framework]]</span> and the <span style="color: #3b6ea8; font-weight: 700;">[[https://github.com/ch11ng/exwm][Emacs X Window Manager]]</span>, one could argue that Org is
|
|
(sometimes) a major component of a desktop environment...
|
|
|
|
<span style="color: #ac4426;">[fn:3]</span> There is <span style="color: #3b6ea8; font-weight: 700;">[[https://code.orgmode.org/bzg/org-mode/src/master/etc/ORG-NEWS][ORG-NEWS]]</span>, but do you <span style="text-decoration: italic;">/really/</span> check that? Besides, it doesn't even
|
|
have pictures.
|
|
|
|
</pre>
|
|
<body>
|
|
</html> |