n457 / Uncolored

(Un)colored — Next generation desktop rich content editor that saves documents with themes. HTML & Markdown compatible. For Windows, OS X & Linux. — http://n457.github.io/Uncolored/
Apache License 2.0
776 stars 51 forks source link

Add support for DocOnce #22

Closed dumblob closed 7 years ago

dumblob commented 7 years ago

Markdown (including it's flavours) nor CommonMark support the features requested in https://github.com/n457/Uncolored/issues/2 , https://github.com/n457/Uncolored/issues/19 , https://github.com/n457/Uncolored/issues/20 , and many others (e.g. image positioning, underlined text, verbatim blocks, wiki features, quizes, page breaks, slides, etc.).

To cleanly solve this issue, I would recommend supporting the DocOnce markup language instead/in_addition_to CommonMark/Markdown. DocOnce is the only existing markup language capable of producing sizeable output (HTML, etc.) as well as fixed-size outputs like PDF (research papers, etc.), books, LaTeX, quizes, slides, and potentially other outputs. DocOnce has already been used for producing all the mentioned outputs already for several years and is thus well-proven. And of course, DocOnce is as easy to write as CommonMark/Markdown.

n457 commented 7 years ago

Hello @dumblob,

My main concern about DocOnce is that it's a Python package that has, moreover, a lot of dependencies

image

I want (Un)colored to stay a lightweight & performant application (most of the weight of the app is due to Electron framework). I don't want the average user to have to download and install Python, DocOnce package and its dependencies, or to worry about any optionnal thing like "What's this DocOnce thing, why I do not have it ?".

Concerning the DocOnce features you listed :

The ideal compromise would be to have a JS library / Node.js module that converts HTML / Markdown to DocOnce language.

I let this topic open, I'm still open to discussion and propositions.

Thanks for your feedback

dumblob commented 7 years ago

@n457 thanks for the feedback.

most of the weight of the app is due to Electron framework

I know and must agree it's a shame. But it's an already made choice.

to download and install Python, DocOnce package and its dependencies

I totally agree. It's though a technically solvable issue (e.g. through ugly bundling the Python packages using PEX). But see bellow.

image positioning : available via themes

This and many similar positioning/sizing related issues were immensely discussed in CommonMark forum https://talk.commonmark.org/ and the result was, that it's an utterly needed feature directly in the markup language and not as theme/style, but because of compatibility issues it won't be incorporated into CommonMark.

underlined text : available

Not supported by CommonMark nor the original Markdown. So this feature makes the syntax a specific Uncolored Mardown flavor.

wiki features, quizes, page breaks, slides : not the point of the app

I did not know that. This totally changes the situation. Based on this it doesn't make any sense to change anything (as this predestines Uncolored staying yet another non-standard/flavored Markdown GUI editor).

The ideal compromise would be to have a JS library / Node.js module that converts HTML / Markdown to DocOnce language.

Actually the idea was quite the opposite :smile: - namely to support the biggest needed superset of features (which only DocOnce satisfies) and then possibly convert to other formats.

Anyway, thank you for clarification of the goals of this project and keep going! I'm closing this issue as invalid.

n457 commented 7 years ago

Alright,

Don't hesitate to submit ideas, bugs, etc. It's not because this idea wasn't accepted this time that this will be the case next time :)