all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Joost Kremers <joostkremers@fastmail.fm>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Scott Randby <srandby@gmail.com>, emacs-devel@gnu.org
Subject: Re: Differences between Org-Mode and Hyperbole
Date: Sat, 02 Jul 2016 11:00:14 +0200	[thread overview]
Message-ID: <87inwoifdt.fsf@fastmail.fm> (raw)
In-Reply-To: <83k2h5tbtv.fsf@gnu.org>


On Fri, Jul 01 2016, Eli Zaretskii wrote:
> I tried to give a few specific examples up-thread.

I had started a reply to that message but got side-tracked and never
finished it. The TL;DR is that there are aspects of Org that I suspect
can't really be separated out, there are aspects that probably could and
there are aspects that already are. (So the situation isn't as bad as
one might think after reading this thread.)

The longer version: exporting (your first example) would probably be
difficult to separate from Org mode. Although Org files are essentially
just plain text files, in order for the exporters to know which parts of
the text are headers, which are lists, which phrases need to be set in
italic or bold, etc. etc., the source file needs some markup, and this
markup happens to be Org's markup. (Personally, I would have preferred
something Markdown-based, but that's just me. Currently, it *is*
possible to change the visual appearance of markup elements in Org, so
you can define *text* to appear as italic instead of bold, but the
exporters ignore such configurations, unfortunately.)

In order to separate the exporters from the actual markup, you'd need
something similar to Pandoc[1], which has an internal
(markup-independent) representation of a document's structure and can
therefore translate X different markup languages into Y different markup
languages, but AFAIK Org doesn't have such an internal representation,
so the exporters need to rely on the markup itself.

For other parts of Org (I think you also mentioned Babel), it would
probably be easier to convert them into minor modes that aren't
dependent on Org (or on the file they're used with being an Org file).
In fact, this has already been done for at least one feature: table
editing. There's an orgtbl-mode that provides Org's table editing
facilities and that can be used outside of org-mode. (I use it
occasionally in Markdown files, for example). I think there's also
orgstruct-mode or something similar, a minor mode that provides Org's
structure handling in non-Org files (i.e., headers and lists).

The agenda (another example that came up here) is very much bound to Org
if only because the agenda information (appointments, deadlines, etc.
etc.) are stored in Org files. But that could of course be hidden from
the user entirely, if so desired.

In sum, although I know little about Org's internals, I guess it should
be possible to turn Org into a small base system containing the major
mode, combined with a number of minor modes that provide additional
functionality, which are not tied directly to org-mode itself. Such a
design might even benefit Org mode itself, because not every Org user
uses all features.

I haven't got a clue as to the amount of work that would be involved,
though, to turn Org into such a modular system.





Footnotes: 
[1]  http://www.pandoc.org

-- 
Joost Kremers
Life has its moments



  parent reply	other threads:[~2016-07-02  9:00 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-15 20:55 Differences between Org-Mode and Hyperbole (Was: Call for testers for GNU Hyperbole 5.12, a large, useful Emacs package) Robert Weiner
2016-06-15 21:53 ` Differences between Org-Mode and Hyperbole John Wiegley
2016-06-15 22:16   ` Robert Weiner
2016-06-16  0:39     ` John Wiegley
2016-06-16 14:41       ` Robert Weiner
2016-06-16 23:18         ` Richard Stallman
2016-06-16 23:51           ` John Wiegley
2016-06-17  0:19             ` Robert Weiner
2016-06-17  5:02               ` Tom
2016-06-17 15:29                 ` raman
2016-06-17 23:54                 ` Robert Weiner
2016-06-18 16:47                 ` Fabrice Popineau
2016-06-18 17:05                   ` Robert Weiner
2016-06-28 15:23                 ` Eric S Fraga
2016-06-28 15:43                   ` Robert Weiner
2016-06-29 14:34                   ` Richard Stallman
2016-06-29 15:04                     ` Robert Weiner
2016-06-30 17:58                       ` Richard Stallman
2016-06-30 23:02                         ` Scott Randby
2016-07-01  7:45                           ` Eli Zaretskii
2016-07-01  8:17                             ` Eric Abrahamsen
2016-07-01  9:46                               ` Eric S Fraga
2016-07-01 20:53                               ` Tom
2016-07-05 18:24                                 ` Marcin Borkowski
2016-07-01 22:09                               ` Richard Stallman
2016-07-01 23:01                                 ` Allen S. Rout
2016-07-03  0:06                                   ` Richard Stallman
2016-07-05 18:21                                 ` Marcin Borkowski
2016-07-05 19:44                                   ` Eli Zaretskii
2016-07-05 19:53                                     ` Marcin Borkowski
2016-07-06 14:26                                       ` Eli Zaretskii
2016-07-06 15:41                                         ` Marcin Borkowski
2016-07-01 22:09                               ` Richard Stallman
2016-07-02  7:10                                 ` Eli Zaretskii
2016-07-03  0:06                                   ` Richard Stallman
2016-07-01 18:38                             ` Scott Randby
2016-07-01 19:09                               ` Eli Zaretskii
2016-07-01 21:11                                 ` Tom
2016-07-02  6:43                                   ` Eli Zaretskii
2016-07-03  0:05                                   ` Richard Stallman
2016-07-05 18:13                                     ` Marcin Borkowski
2016-07-06 22:22                                       ` Richard Stallman
2016-07-01 21:34                                 ` Scott Randby
2016-07-01 21:58                                   ` John Mastro
2016-07-02  7:05                                   ` Eli Zaretskii
2016-07-02  9:13                                     ` Achim Gratz
2016-07-02 10:07                                       ` Eli Zaretskii
2016-07-02 10:36                                         ` Eli Zaretskii
2016-07-05 18:07                                         ` Marcin Borkowski
2016-07-05 19:41                                           ` Eli Zaretskii
2016-07-05 19:57                                             ` Marcin Borkowski
2016-07-06 14:27                                               ` Eli Zaretskii
2016-07-06 15:32                                                 ` Marcin Borkowski
2016-07-06 15:42                                                   ` Eli Zaretskii
2016-07-06 18:08                                                     ` Marcin Borkowski
2016-07-03  0:05                                   ` Richard Stallman
2016-07-03 13:59                                     ` Scott Randby
2016-07-03 14:19                                     ` Scott Randby
2016-07-05 18:02                                     ` Marcin Borkowski
2016-07-02  9:00                                 ` Joost Kremers [this message]
2016-07-02  9:55                                   ` Eli Zaretskii
2016-07-05 18:17                                   ` Marcin Borkowski
2016-07-05 17:51                             ` Marcin Borkowski
2016-06-29 16:33                     ` Tom
2016-06-29 17:30                       ` Eli Zaretskii
2016-06-29 20:04                         ` Richard Stallman
2016-06-29 22:15                         ` H. Dieter Wilhelm
2016-06-30  2:43                           ` Eli Zaretskii
2016-06-30 13:41                           ` Allen S. Rout
2016-07-03  0:08                             ` Richard Stallman
2016-06-29 17:30                     ` Allen S. Rout
2016-06-29 20:04                       ` Richard Stallman
2016-06-30  8:26                     ` Eric S Fraga
2016-07-03 22:36                       ` Richard Stallman
2016-07-04 13:58                         ` Kaushal Modi
2016-07-04 21:20                           ` Richard Stallman
2016-07-04 21:33                             ` Robert Weiner
2016-07-05 22:59                               ` Richard Stallman
2016-07-06  4:21                                 ` Marcin Borkowski
2016-07-06 22:29                                   ` Richard Stallman
2016-07-06  7:12                                 ` Nikolai Weibull
2016-07-06 22:30                                   ` Richard Stallman
2016-07-07 12:09                                     ` Nikolai Weibull
     [not found]                               ` <921c10a04c17462988c2821ed40582e7@DB5PR01MB1895.eurprd01.prod.exchangelabs.com>
2016-07-06  8:06                                 ` Eric S Fraga
2016-07-07 21:54                                   ` Richard Stallman
     [not found]                                   ` <33003e1e02b04d2db5ee60baff9a040f@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
2016-07-08 12:23                                     ` Eric S Fraga
2016-07-09 16:56                                       ` Richard Stallman
2016-07-10  6:47                                         ` chad brown
2016-07-10 14:41                                           ` Eli Zaretskii
2016-07-04 21:33                             ` Phillip Lord
2016-07-05 13:11                               ` Etienne Prud'homme
2016-07-05 14:57                                 ` Eli Zaretskii
2016-07-05 23:03                                 ` Richard Stallman
2016-07-06  8:49                                   ` Joost Kremers
2016-07-07 21:54                                     ` Richard Stallman
2016-07-06 10:44                                   ` Marcin Borkowski
2016-07-05 16:16                             ` Marcin Borkowski
2016-07-06 22:22                               ` Richard Stallman
2016-07-05 17:26                             ` Marcin Borkowski
2016-07-07 22:01                               ` Richard Stallman
     [not found]                           ` <<E1bKBHv-0000lE-Bw@fencepost.gnu.org>
2016-07-04 22:26                             ` Drew Adams
2016-07-05 17:50                           ` Nikolaus Rath
2016-07-05 20:30                         ` joakim
2016-07-06 22:24                           ` Richard Stallman
2016-07-02  7:18                     ` Marcin Borkowski
2016-07-02  8:18                       ` Eli Zaretskii
2016-07-05 15:49                         ` Marcin Borkowski
2016-07-03  0:06                       ` Richard Stallman
2016-07-05 15:53                         ` Marcin Borkowski
2016-07-06 22:22                           ` Richard Stallman
2016-06-17 13:31               ` Eric Abrahamsen
2016-06-18 18:02                 ` Richard Stallman
2016-06-18 20:31                   ` Fabrice Popineau
2016-06-19 11:49                     ` Robert Weiner
2016-06-19 12:36                       ` Fabrice Popineau
2016-06-17 15:27             ` raman
2016-06-16 23:57           ` Robert Weiner
2016-06-17 15:53           ` Karl Fogel
2016-06-18 18:06             ` Richard Stallman
2016-06-20 18:15               ` Karl Fogel
2016-06-20 20:36                 ` Tom
2016-06-28 15:28               ` Eric S Fraga
2016-06-16  8:44 ` Re:Re: Differences between Org-Mode and Hyperbole (Was: Call for testers for GNU Hyperbole 5.12, a large, useful Emacs package) tumashu
2016-06-16 14:07   ` Robert Weiner
2016-06-16 15:38   ` Differences between Org-Mode and Hyperbole raman
2016-06-16 16:06     ` Robert Weiner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87inwoifdt.fsf@fastmail.fm \
    --to=joostkremers@fastmail.fm \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=srandby@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.