From: Jean Louis <bugs@gnu.support>
To: Eduardo Ochs <eduardoochs@gmail.com>
Cc: Ihor Radchenko <yantar92@posteo.net>,
andre duarte bueno <bueno@lenep.uenf.br>,
emacs-orgmode@gnu.org
Subject: Re: Export Org with Org concept -- Re: Problems with C-c C-e file.org,
Date: Sat, 31 Dec 2022 09:19:31 +0300 [thread overview]
Message-ID: <Y6/UczsXC5nDd1zh@protected.localdomain> (raw)
In-Reply-To: <CADs++6hKLom9OO=uBhLKbxrSZzgvjZ3cmmhdHoW0RQFa9uRzhw@mail.gmail.com>
* Eduardo Ochs <eduardoochs@gmail.com> [2022-12-31 04:11]:
> Hi Jean Louis,
>
> did you solve your problem? Did you find a way to replace the
> blocking code by something else?
Of course, for me personally, I have fully solved it, you can see
video here:
https://gnu.support/files/emacs/packages/rcd-org-export/2022-12-20-19:33:59.ogv
And I will add over time the detection of any possible export backend
that I may find. What export backends is available, it will be
detected and then automatically expanded like Org headings for it, and
what user does not want, shall be detected and not shown.
I think that original code for Org came into existance before 10+
years as back then there were maybe just few keybindings, maybe just
2-3 keybindings. So it was all about pure export.
Over the time Org developed the need for toggling of options such as:
** Export Options
- [ ] Export body only - [b]
- [ ] Export only current subtree - [s]
- [ ] Export asynchronously - [a]
- [ ] Export visible only - [v]
- [ ] Force publishing - [f]
then other backends appeared. And that caused over time that users did
not have any more just 2-3 keys, but it became a full screen now, with
variables to be toggled.
By the way, the above heading "Export Options" I could freely copy
from the RCD Org Export interface, while something like that is
impossible when using M-x org-export-dispatch function or "C-c C-e"
Nobody in 10 years looked how it can be improved, so people just kept
adopting it.
really does not and cannot
fit in the primary frame where there was only few keys to export Org.
The arguments that come up are that user has to toggle variables
shortly before export, maintenance problems, etc.
Ihor mentioned few possible modes like ediff, that is similar or
blocking to Org Export dispatch screen -- but in reality is not. I
have inspected ediff menu buffer and found I can inspect any key, I
can move to other windows, my Emacs with ediff was not blocked. It was
not relevant comparison.
> I stumbled on exactly the same problem some months ago, and it drove
> me nuts:
>
> https://lists.gnu.org/archive/html/emacs-orgmode/2021-12/msg00674.html Edrx 1
> https://lists.gnu.org/archive/html/emacs-orgmode/2022-02/msg00098.html Ihor 2
> https://lists.gnu.org/archive/html/emacs-orgmode/2022-02/msg00106.html Edrx 3
> https://lists.gnu.org/archive/html/emacs-orgmode/2022-02/msg00111.html Ihor 4
> http://angg.twu.net/e/org.e.html#org-export-dispatch
Yes, and when there is one of users speaking about it, there are maybe
hundreds of others who stumble upon it and probably never come back.
> My conclusion was that Org is much harder to learn than I thought.
> It's easy to learn if:
>
> 1) you're a "user", or
> 2) you know a lot about debugging Emacs, or
> 3) the developers like your questions.
I know that Eli does not use Org. And many people using Org are not
developers, apparently they master Org useful functions.
We could say there are very simply Org functions and more complex.
Simplicity lies in this example:
* My heading
My text
** DONE My subheading
CLOSED: [2022-12-31 Sat 08:44]
** TODO My subheading
- [ ] My task
- [ ] My task
When just few Org elements are used it is simple. Org documentation
talks about all the other more complex functions.
Back to export, why use a buffer for export that does not even look
like Org bufer?
When we list the now available number of Org export backends, it is
already huge list. It simply is not any more compatible to the idea
before 10 years when somebody used 2-3 keys to export Org.
And the code complexity is unbelievable to me. It is tangled in the
manner how I am personally not used to when using Lisp or Scheme. My I
like shorter functions, each doing something, but Org functions like
`org-export--dispatch-ui' is 176 lines.
That function tries to add functionality to Org that already exists
when user defines derived modes with key bindings.
You can inspect the package I made for that:
GNU Emacs package: rcd-org-export.el -- use Org to export Org:
https://gnu.support/gnu-emacs/packages/GNU-Emacs-package-rcd-org-export-el-use-Org-to-export-Org-76272.html
But then later I made RCD Dashboard that generalizes the concepts from
that package:
GNU Emacs package: rcd-dashboard.el -- Tool to build Emacs dashboards:
https://gnu.support/gnu-emacs/packages/GNU-Emacs-package-rcd-dashboard-el-Tool-to-build-Emacs-dashboards-76668.html
Then I started making similarly RCD Org Agenda interface:
GNU Emacs package: rcd-org-agenda-dashboard.el -- RCD Org Agenda Dashboard:
https://gnu.support/gnu-emacs/packages/GNU-Emacs-package-rcd-org-agenda-dashboard-el-RCD-Org-Agenda-Dashboard-76669.html
I can add options to it later.
> My holidays have just started, and I'm planning to work on (2).
There could be eev buffer to export Org, and such buffer need not be
blocking.
Solving toggling of variables is easy:
- it should be derived mode, it could also be Org mode
Instead of following:
** Export Options
- [ ] Export body only - [b]
- [ ] Export only current subtree - [s]
- [ ] Export asynchronously - [a]
- [ ] Export visible only - [v]
- [ ] Force publishing - [f]
** Export Options
(ee-org-export-body-only) ➜ ON
(ee-org-export-only-current-subtree) ➜ SUBTREE
(ee-org-export-asynchronouse) ➜ OFF
(ee-org-export-visible) ➜ OFF
(ee-org-export-force-publishing) ➜ ON
And for those above toggles you would or could make it so that there
is visual replacement of the text such as "ON/OFF" or "SUBTREE/BODY".
Then other functions such as these below, could be replaced with eev
functions.
** Export to Org
*** Export as Org buffer
*** Export as Org file and open
*** Export as Org file
** Export to HTML
*** Export as HTML buffer
*** Export as HTML file and open
*** Export as HTML file
My solution in RCD Org Export is not purely Org based, it uses Emacs
buttons directly. This is for reason of updating options visually,
like you can see on video.
However, all of the options may be implemented in Emacs Lisp that is
embedded in Org mode Elisp links, including the options to update
visually and demonstrate what has been toggled and what not.
> Btw, at some point I gave up trying to find the functions that the
> dispatcher calls, and I just defined this "function with a very short
> name" that [c]ompiles the current .org file to HTML:
>
> (defun c () (interactive) (eek "C-c C-e h h"))
You can't easily inspect Org Agenda or Org Dispatch Interface because
interfaces are blocking.
It means you cannot invoke `C-h k' to inspect any key. This defeats
the purpose of Emacs to be self-documenting, as user is prevented to
quickly find the function on key.
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
In support of Richard M. Stallman
https://stallmansupport.org/
next prev parent reply other threads:[~2022-12-31 6:37 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-17 20:57 Problems with C-c C-e file.org andre duarte bueno
2022-12-18 14:55 ` Ihor Radchenko
2022-12-19 21:10 ` Export Org with Org concept -- Re: Problems with C-c C-e file.org, Jean Louis
2022-12-25 12:06 ` Ihor Radchenko
2022-12-25 15:43 ` Jean Louis
2022-12-26 10:04 ` Ihor Radchenko
2022-12-26 15:58 ` Jean Louis
2022-12-27 10:46 ` Ihor Radchenko
2022-12-31 1:08 ` Eduardo Ochs
2022-12-31 6:19 ` Jean Louis [this message]
2023-01-01 14:02 ` Ihor Radchenko
2023-01-02 5:58 ` Eduardo Ochs
2023-01-02 11:07 ` Jean Louis
2023-01-03 9:48 ` Ihor Radchenko
2023-01-03 10:01 ` Eduardo Ochs
2023-01-03 12:15 ` Max Nikulin
2023-01-03 12:36 ` Eduardo Ochs
2023-01-05 11:07 ` Ihor Radchenko
2023-01-05 14:41 ` Alain.Cochard
2023-01-05 15:00 ` Max Nikulin
2023-01-05 15:18 ` Alain.Cochard
2023-01-05 20:37 ` Eduardo Ochs
2023-01-05 18:50 ` Jean Louis
2023-01-05 15:43 ` Eduardo Ochs
2023-01-04 11:08 ` Jean Louis
2023-01-05 11:16 ` Ihor Radchenko
2023-01-05 19:19 ` Jean Louis
2023-01-06 3:51 ` Max Nikulin
2023-01-07 9:04 ` Ihor Radchenko
2023-01-07 18:34 ` Jean Louis
2023-01-07 19:12 ` Jean Louis
2023-01-12 15:43 ` Max Nikulin
2023-01-13 9:41 ` Ihor Radchenko
2023-01-04 18:03 ` Jean Louis
2023-01-05 11:17 ` Ihor Radchenko
2023-01-05 19:37 ` Jean Louis
2023-01-06 3:24 ` Max Nikulin
2023-01-07 20:07 ` Jean Louis
2023-01-08 16:42 ` Max Nikulin
2023-01-07 9:09 ` Ihor Radchenko
2023-01-04 17:51 ` Jean Louis
2023-01-04 16:53 ` Jean Louis
2022-12-20 16:56 ` Problems with C-c C-e file.org Jean Louis
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
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y6/UczsXC5nDd1zh@protected.localdomain \
--to=bugs@gnu.support \
--cc=bueno@lenep.uenf.br \
--cc=eduardoochs@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=yantar92@posteo.net \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).