-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Markdown table support #114
Comments
Yes, we should look into implementing support for https://github.github.com/gfm/#tables-extension- |
@isvvc is this something you would like to help contribute? 😊 The Text app is of course at the first version, and any contribution is welcome – we’ll help you get set up if you need anything. |
@jancborchardt I could definitely make an attempt but am not sure exactly where to start. I have experience with text manipulation but none with Nextcloud apps or Vue.js. |
@isvvc cool! Maybe @juliushaertl or someone from @nextcloud/vue has some pointers to help. :) |
For Vue I suggest to read the Vue docs and then some code from Nextcloud apps. This will make you understand how we use it here.
I would kindly ask to not abuse the team for stuff like this. This just floods everyone's notifications. The maintainers of this app should be able to help. Unsubscribed. Please @mention me directly if you need any specific help. |
Regarding the integration tables, I would recommend to first have a look at the tiptap table nodes to see what they support and how/if we can represent that in github flavored markdown. Since most likely not all will be supported, we need to create our own table nodes or inherit from the tiptap ones and add them to https://github.com/nextcloud/text/blob/master/src/EditorFactory.js#L45-L59 Here are some rough steps with code hints:
|
Is there a roadmap as approximately when this functionality could be implemented? |
No, there is no estimation that we can give. Of course contributions are always welcome. |
@juliushaertl I wish i were able to contribute with the code. I'm an English teacher, not a coder. Even though I did have a look at tiptap tables (they work great BTW), I was not able to make them work locally. I'm grateful that nextcloud exists and gives us the freedom to host files at home instead of having to rely on a big corporation. I do file bug reports and try to contribute with suggestions, but, unfortunately, I cannot contribute with code. Thank you for your work, and if tables in the text app could be implemented, it would be much appreciated. |
@elpraga Thank you very much the kind words. Keep your contributions coming 😉 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@jonathandeclan @guddl Please read #114 (comment) and use Github Reactions feature instead of commenting that also need a specific feature. That way we can see your support without notifying all users subscribed to a given issue without adding anything new to the discussion. TLDR: As tiptap doesn't have markdown support out of the box, additional implementation work is required. Contributions are always welcome. |
It would be awesome if the tables could be sorted and are filterable :) |
I happily used markdown tables and assumed there were a standard feature of Nextcloud. After an upgrade from Nextcloud 16 to 17, my markdown tables are no longer rendered as html table.
I resolved my markdown table support need via the Pico CMS app. Therefore I no longer require this enhancement. |
It would be nice to hav an implementation like this: https://blog.documentnode.io/when-markdown-meets-tables |
What about an option to switch to raw markdown editing so any formatting supported by the rendering engine can be used even when not supported by the text-editing UI. This of course would require the support of extended markdown syntax by the engine. I think as this editor used markdown in the backend there should always be an option to switch to RAW mode and supported elements should be rendered as expected. E.g. when I copy paste an markdown file to my nextcloud foldert and open it with Text it should display all elements correctly, not only those that are supported by the UI. For the time beeing those not supported by the UI could be marked so its obvious that those can only be edited from the RAW mode. |
I had a brief look at tiptap tables, markdown table syntax (gfm). Gfm tables are really lightweight. They do not allow for other nodes inside the tables - so no lists or even multiple paragraphs in the table cells. This will make tables somewhat less powerful but also easier to implement. I think a meaningful first step would be rendering existing tables in Markdown, showing them in the editor and allowing to change the content. This would require:
If we add all that we would be able to:
It would not include menu bar items to create a table, add / delete rows and columns, change alignment etc. |
Sounds good, we can look into the table inserting and adding/removing columns in a second step. |
Thanks for looking into this @max-nextcloud, sounds really promising 👍 I also think that keeping tables simple makes sense. There's no way to represent tables with multiline cells or other complex formatting inside the cells in markdown anyway, so it makes sense to me to restrict this to single-line tables and only marks (no futher nodes) allowed inside them. We definitely need menu bar tools for creating/modifiying tables in my opinion, but that certainly can happen in a second step. |
As a normal user, what could I do to stimulate progress on this issue? Could I sponser someone to get it done quickly? To me, the limitations of the default text app is a MAIN show stopper to better use and recommend NC.
|
Hi y'all. Thanks for your input on this issue. I'm working on it right now. My implementation aims to follow what text does in general. First of all because of consistency, second also because it's easier. So i am aiming at:
With respect to 2. I hope to look into a markdown view at some point but that would be for all of text - not just for tables. Regarding 3. I am investigating ways to minimize the diff when editing markdown files in text. For now we read the entire file, convert it to html, load it into tiptap, fetch the html from tiptap and then store that as markdown. We'll have to keep track of the initial markdown or at least some of its properties to preserve it. This is best discussed in #593. |
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Is your feature request related to a problem? Please describe.
Yes. Documents with Markdown tables do not have their tables rendered.
Describe the solution you'd like
Standard Markdown table rendering.
Describe alternatives you've considered
As developing a UI for making tables could be difficult, simply using the standard Markdown to HTML table conversion would be enough.
The text was updated successfully, but these errors were encountered: