this-month-in-org/2021-04-26-Welcome.txt

228 lines
8.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

━━━━━━━━━
WELCOME
TEC
━━━━━━━━━
2021-04-26
Introduction
════════════
Org is an absolutely marvellous project. However, a quick glance at
<https://orgmode.org> can lead one to think “so… its an Emacs version
of Markdown? Whats the big deal?”. While its easy to understand how
someone might think that at first, that impression misses two crucial
points:
While for simple constructs (*bold*, /italic/, headlines, etc.) the
syntax is very much analogous[1], 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 /every other plaintext markup editing experience to
shame/. *This is a bold statement*, 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 [popping] [up] [left],
[right], [and] [centre] — Org has not languished. The [mailing list]
is active, as is development, and the number of things you can do with
Org is only increasing.
However, if one doesnt want to receive tens to hundreds of emails a
week, it can be all too easy to miss out on exciting developments[2]
😢. So, to help keep you abreast of the latest in Org, Im starting a
blog ✨. Like all good things, it is [written entirely in Org].
Inspired by [This Week in KDE] Im thrilled to announce /This Month in
Org/ (we have slightly less going on than a Desktop
Environment[3]). Each month I shall endeavour to present the
highlights of Org development.
Who knows, perhaps you might see something youd like to help out with
or suggest improvements too. Wed love you to [get in touch].
[popping] <https://github.com/marktext/marktext>
[up] <https://github.com/ApostropheEditor/Apostrophe>
[left] <https://remarkableapp.github.io/linux.html>
[right] <https://github.com/brrd/Abricotine>
[and] <https://github.com/DaveJarvis/keenwrite>
[centre] <https://znote.io/>
[mailing list] <https://orgmode.org/list/>
[written entirely in Org]
<https://github.com/tecosaur/this-month-in-org/>
[This Week in KDE]
<https://pointieststick.com/category/this-week-in-kde/>
[get in touch] <https://orgmode.org/community.html>
Catching up on lost time — a year in review
═══════════════════════════════════════════
I joined the Org mailing list in May last year, its almost been a
year since then and weve seen the release of Org 9.4, and its
inclusion in Emacs 27.
Im not going to do 12 months of work for just this one post, but Id
like to give you a sample of whats changed over the last year.
A new discussion tracker — [updates.orgmode.org]
────────────────────────────────────────────────
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.
<file:figures/screenshot-of-updates-orgmode-org.png>
Its very slick, and Bastien built a [mailbox monitor] 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
/Help requests/ 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 [an
elisp function to fetch and apply patches].
[updates.orgmode.org] <https://updates.orgmode.org/>
[mailbox monitor] <https://github.com/bzg/woof>
[an elisp function to fetch and apply patches]
<https://tecosaur.github.io/emacs-config/config.html#development>
Inline display of remote images
───────────────────────────────
Ever gazed forlornly at a link like
`[[https://github.com/larsmagne/meme/raw/master/images/Grandma-Finds-The-Internet.jpg]]'
wishing you could see the image?
Wish no more! Thanks to Jack Kamm you can now look upon remote images
in all their glory!
<https://github.com/larsmagne/meme/raw/master/images/Grandma-Finds-The-Internet.jpg>
To get this working, simply set `org-display-remote-inline-images' to
`'download' or `'cache'.
Use `org-edit-special' (`C-c '') with LaTeX fragments
─────────────────────────────────────────────────────
Its great how in Org you can jump into a LaTeX-mode minibuffer for
LaTeX environments, but why leave inline LaTeX fragments out? Well,
theyre now in.
<file:figures/org-edit-special-latex-fragment.png>
Control heading display on startup
──────────────────────────────────
`org-num-mode' is great for when youre keeping an eye on section
numbers, but its not fun to find yourself enabling it every time you
open a file where you want it. With the new option `#+startup: num' by
Bastien, you can set and forget at last.
<file:figures/org-startup-num-and-levels.png>
Should you want to set the number of levels you see on opening a file,
theres now an option for that too. Gustav Wikström has added
/another/ new option `#+startup: show<n>levels' (where `<n>' is
between 2 and 5, inclusive). /NB: This is part of the upcoming 9.5
release/
Set permissions of tangled files
────────────────────────────────
Are you particular about your file permissions? If so youll likely
like John Herrlins new source block header argument `:file-mode'
pertinent. The easiest way to set a permission is with an [octal
value], like so:
┌────
│ #+begin_src shell :results file :file script.sh :file-mode (identity #o755)
│ echo "#!/bin/bash"
│ echo "echo Hello World"
│ #+end_src
└────
[octal value]
<https://docs.nersc.gov/filesystems/unix-file-permissions/>
A collection of improvements to source block header arguments
─────────────────────────────────────────────────────────────
Theses been a whole set of these, so Ill just list them off.
python, improved `:return'
Now works with sessions and the `:epilogue' argument (Jack Kamm)
Java, new argument `:cmdargs'
Add some command line arguments to be passed to `java' (Jarmo
Hurri)
C/C++, non-system headers with `:includes'
values that dont start with `<' will now be formatted as
double-quoted `#include' statements (Brandon Guttersohn)
Screen, new argument `:screenrc'
For those of you who still havent moved to `tmux' (Kenneth
D. Mankoff)
A seven year old bug was fixed
──────────────────────────────
In 2013 [it was reported] that an infinite loop could be triggered in
`org-agenda-show-new-time'. At long last, this has been fixed by
Bastien.
[it was reported]
<https://lists.gnu.org/archive/html/emacs-orgmode/2013-08/msg00072.html>
Footnotes
─────────
[1] Aside from somewhat more [intuitive syntax]
(<https://orgmode.org/quickstart.html>) for emphasis and simple
structures, Org also has the advantage of not having [40 functionally
distinct specifications]
(<https://github.com/commonmark/commonmark-spec/wiki/markdown-flavors>). 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 [org-ruby]
(<https://github.com/wallyqs/org-ruby>). However, thats just an
incomplete implementation — not a [specification]
(<https://orgmode.org/worg/dev/org-syntax.html>).
[2] There is [ORG-NEWS]
(<https://code.orgmode.org/bzg/org-mode/src/master/etc/ORG-NEWS>), but
do you /really/ check that? Besides, it doesnt even have pictures.
[3] That said, with /interesting/ projects like the [Emacs Application
Framework]
(<https://github.com/manateelazycat/emacs-application-framework>) and
the [Emacs X Window Manager] (<https://github.com/ch11ng/exwm>), one
could argue that Org is (sometimes) a major component of a desktop
environment…