emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: arthur miller <arthur.miller@live.com>
To: Ihor Radchenko <yantar92@posteo.net>
Cc: "emacs-devel@gnu.org" <emacs-devel@gnu.org>,
	"emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Subject: Sv: Modularizing Org as GSoC project (was: New Emacs features via Google Summer of Code (or other similar stipend schemes) (was: as for Calc and the math library))
Date: Wed, 21 Aug 2024 02:45:14 +0000	[thread overview]
Message-ID: <DU2PR02MB101099F300A125A197929B4EF968E2@DU2PR02MB10109.eurprd02.prod.outlook.com> (raw)
In-Reply-To: <87v7zvay9a.fsf@localhost>

[-- Attachment #1: Type: text/plain, Size: 6662 bytes --]

>>> ...
>>>Are there any specific todo items there that you view as more suitable
>>>for people with limited experience in Emacs codebase?
>>
>> I am not sure if this is something, I hope you don't mind me asking, but
>> could a
>> work to modularize Org, be an appropriate subject?
>
>Yes, it can be.
>
>RMS previously asked us to do exactly this:
>https://orgmode.org/list/E1kIPh1-0001Lu-Rg@fencepost.gnu.org
>
>Also, see previous discussion on re-integrating org-capture into remember.el:
>https://yhetil.org/emacs-devel/87bka7c2e0.fsf@localhost
>Similar for org-protocol.el.
>
>> For example turn displaying pretty text (bold, italics etc), pretty links,
>> tables, dates, and perhaps some other stuff into, from Org-mode, independent,
>> minor modes that could be used in other parts of Emacs and more independently
>> of
>> Org mode. I think both Org-mode and Hyperbole, and perhaps some other
>> libraries
>> (button.el, help-mode, info), could use some minor mode that works with
>> links. For us users, it would mean less cruft loaded into Emacs, if those big
>> players could share some code.
>>
>> I haven't done much research on this, just something I had in my head for a
>> long
>> time.
>
>I would like to hear in more details what you have in mind. As is, your
>proposal appears to be for multiple projects. Or am I mistaken?
>
>For links in particular, Hyperbole already implements the described
>minor mode, or what am I missing?
>
>For tables, dates, and other markup, it is not clear what you want to
>achieve.

To be honest I am not sure myself :)

>         Do you want Org markup to be displayed in non-Org buffers?

Well, part of it. Or more to make some parts of org-markup configurable, and
usable as minor modes so they can be easier used outside of org-mode.

For example about links, there could be a mode "text-link-mode" or
"pretty-links-mode" or something, that understands what a link description is,
and what a link itself is. The minor mode would have some mean to parse
description and link parts, and when on it would do what org-toggle-link-display
does. For example org uses angle brackets for link desc and url, whereas
markdown uses angle brackets and parenthesis. Thus link-mode could/should be
enough customizable so that modes could be clients of this minor mode, as well
as for user to be able to setup a regex or set a function that recognizes some
custom syntax for descriptions and links. Also a minor mode can come with a key
map and some actions, for example to follow link, to insert a link etc. I think
of org-links, but a bit more generalized and usable without org-mode
itself. Org-mode could use those under the hood.

Similarly for italics, bolds, underlines, etc. Those could be slightly
generalized and taken out into minor mode. Clients could setup their own
start/end markers and use them to enrich the text on the display instead of
perhaps defining own faces and regexes. I don't know how useful and desirable it
might be in other modes, perhaps in comments in programming languages, or
similar. Just a thought.

org-timestamp interactiveity could be usable elsewhere than just in org
mode. For example I can insert  org-timestamp in any mode, but it does work to
use C-left/right to change the date. It could be refactored into small tiny
minor mode timestamp-mode or something, that comes with tis mode map and enable
this interactive stuff.

ascii tables or org tables started as its own mode but got consumed by org. They
are still usable outside of org mode. I can create table with org-table-create
and I can align table with org-table-align, but by default I don't have this
functionality bound in some keymap if I am not in org-mode. Perhaps I am just
not familiar with it. But this could be a minor mode also.

I guess org-capture is a candidate, and probably some others.

By refactoring out those things, org-mode loose nothing, since everything is
still available in Emacs, and everything could be still used in org-mode under
the hoos, but it would be easier to use those things in other major modes. It
might also be easier to work with org-mode if it is less monolithic.

I am sorry if it is too scatchy, and uninformed, it is just some thoughts I had,
but I was never really motivated to do those things myself.
________________________________
Från: Ihor Radchenko <yantar92@posteo.net>
Skickat: den 20 augusti 2024 19:40
Till: arthur miller <arthur.miller@live.com>
Kopia: emacs-devel@gnu.org <emacs-devel@gnu.org>; emacs-orgmode@gnu.org <emacs-orgmode@gnu.org>
Ämne: Modularizing Org as GSoC project (was: New Emacs features via Google Summer of Code (or other similar stipend schemes) (was: as for Calc and the math library))

arthur miller <arthur.miller@live.com> writes:

>> ...
>>Are there any specific todo items there that you view as more suitable
>>for people with limited experience in Emacs codebase?
>
> I am not sure if this is something, I hope you don't mind me asking, but could a
> work to modularize Org, be an appropriate subject?

Yes, it can be.

RMS previously asked us to do exactly this:
https://orgmode.org/list/E1kIPh1-0001Lu-Rg@fencepost.gnu.org

Also, see previous discussion on re-integrating org-capture into remember.el:
https://yhetil.org/emacs-devel/87bka7c2e0.fsf@localhost
Similar for org-protocol.el.

> For example turn displaying pretty text (bold, italics etc), pretty links,
> tables, dates, and perhaps some other stuff into, from Org-mode, independent,
> minor modes that could be used in other parts of Emacs and more independently of
> Org mode. I think both Org-mode and Hyperbole, and perhaps some other libraries
> (button.el, help-mode, info), could use some minor mode that works with
> links. For us users, it would mean less cruft loaded into Emacs, if those big
> players could share some code.
>
> I haven't done much research on this, just something I had in my head for a long
> time.

I would like to hear in more details what you have in mind. As is, your
proposal appears to be for multiple projects. Or am I mistaken?

For links in particular, Hyperbole already implements the described
minor mode, or what am I missing?

For tables, dates, and other markup, it is not clear what you want to
achieve. Do you want Org markup to be displayed in non-Org buffers?

--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

[-- Attachment #2: Type: text/html, Size: 17302 bytes --]

  reply	other threads:[~2024-08-21  2:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <DU2PR02MB101094E2DAE8D87D3A3E95239968C2@DU2PR02MB10109.eurprd02.prod.outlook.com>
2024-08-20 17:40 ` Modularizing Org as GSoC project (was: New Emacs features via Google Summer of Code (or other similar stipend schemes) (was: as for Calc and the math library)) Ihor Radchenko
2024-08-21  2:45   ` arthur miller [this message]
2024-08-22 12:23     ` Sv: " Ihor Radchenko
2024-08-23  7:15       ` Sv: " arthur miller
2024-08-31 12:20         ` Ihor Radchenko
2024-09-01 13:54           ` Sv: " arthur miller
2024-09-27 12:21     ` Sv: Modularizing Org as GSoC project Björn Bidar

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=DU2PR02MB101099F300A125A197929B4EF968E2@DU2PR02MB10109.eurprd02.prod.outlook.com \
    --to=arthur.miller@live.com \
    --cc=emacs-devel@gnu.org \
    --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).