200ok-ch / organice

An implementation of Org mode without the dependency of Emacs - built for mobile and desktop browsers
https://organice.200ok.ch/
GNU Affero General Public License v3.0
2.45k stars 154 forks source link

"deep" export to email (or copy-paste) #935

Open berteh opened 1 year ago

berteh commented 1 year ago

Is your feature request related to a problem? Please describe. exporting some portion of Org to anothe app is tedious in Organice on desktop. I would like to be able to copy-paste multiple nodes (headers) at once.

Describe the solution you'd like Some nice feature would be a "deep" export to clipboard (or extending current "export to email"): if the node is collapsed "copy/export" only its header, if node is expanded "copy/export" its title, description, notes and children nodes recursively to clipboard. export format would be simple (rich) HTML if possible, ORG otherwise.

Describe alternatives you've considered Nowadays i open the Org file in Sublime, then copy-paste manually.

munen commented 1 year ago

Sure, it is possible to do so. We already have email export functionality, but it's scoped to the current headline. Changing the current logic to recursive export will give you the nested headlines.

Note, your proposed feature is a subset of this ticket: https://github.com/200ok-ch/organice/issues/142

Exporting to HTML is a separate topic - the implementation of the organice org mode parser has no functionality to export to HTML. There is always an option to get another dependency, but I'd personally be careful to add it.

Are you interested in working on your proposed issue?

berteh commented 1 year ago

I could look into it. No promises yet as I don't have much time at the moment... but really need the feature ;) Would start with deep export to text/raw only first. But I don't have an easy way to deploy a dev server.

Is there any easy option for online editing code and running a fork ?

I saw some hints for exporting other elements in method below. Which ones should I export or not ? token/propertie/tags/schedule ? https://github.com/200ok-ch/organice/blob/7a1949cbe8f2a6878beedae2bb733b8cb410423b/src/components/OrgFile/components/Header/index.js#L274

What is the recommended way/methods to traverse children headers ?

As for (maybe, afterwards) HTML export:

munen commented 1 year ago

Is there any easy option for online editing code and running a fork ?

Here's the documentation on how to develop on organice:

https://organice.200ok.ch/documentation.html#development

What is the recommended way/methods to traverse children headers ?

Using ImmutableJS.

What would be your recommended way to convert orgmode > html without writing a parser from scratch ?

Nothing that I'm aware of. We're in the process of writing such a parser (https://github.com/200ok-ch/org-parser), but it's not ready, yet.

What would be the best way to generate an email with both rich html body and raw text body (for client compatibility) ?

Dunno.

munen commented 1 year ago

I have created a PR with the necessary boilerplate: https://github.com/200ok-ch/organice/pull/939