Age | Commit message (Collapse) | Author |
|
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
|
|
Signed-off-by: Jonas <jonas@freesources.org>
|
|
The nextcloud logger take account for the configured logging level,
so only messages the user / administrator wants are logged.
This fixes #2846 (no debug messages are logged if not configured).
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
|
|
Signed-off-by: Jonas <jonas@freesources.org>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
Signed-off-by: Luka Trovic <luka@nextcloud.com>
|
|
Signed-off-by: Luka Trovic <luka@nextcloud.com>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
|
|
An empty text file should be serialized as `''` so fix
checking if the document only contains an empty code block
which type is `codeBlock` on tiptap v2 not `code_block`.
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
|
|
It is already part of the RichText extension.
Signed-off-by: Max <max@nextcloud.com>
|
|
`vite dev` will load all imports in imported files.
So for now it is better to not bundle multiple files in indexes.
Signed-off-by: Max <max@nextcloud.com>
|
|
Add an `EditableTable` node that has all the buttons for changing the table.
Use it in the Editor while keeping the plain `Table` in RichtextReader.
Signed-off-by: Max <max@nextcloud.com>
|
|
We now provide $imageResolver to lookup images.
Signed-off-by: Max <max@nextcloud.com>
|
|
Signed-off-by: Max <max@nextcloud.com>
|
|
Introduce a `Plaintext` tiptap extension
that bundles all the extensions used for plain text editing.
This allows calling `Editor.new` directly with just a few extensions.
No need to rely on `createEditor` from the editor factory anymore.
Also prevent error messages about undefined callbacks
because no callbacks were handed to `createEditor` in `ReadOnlyEditor`.
Signed-off-by: Max <max@nextcloud.com>
|
|
Signed-off-by: Max <max@nextcloud.com>
|
|
transformation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
As recommended in @nextcloud/eslint-config@8.0.0
https://github.com/nextcloud/eslint-config/pull/292
Signed-off-by: Max <max@nextcloud.com>
|
|
Adds tiptap extension dropcursor:
https://tiptap.dev/api/extensions/dropcursor
Fixes: #2301
Signed-off-by: Jonas <jonas@freesources.org>
|
|
Signed-off-by: Max <max@nextcloud.com>
|
|
First take at parsing and serializing markdown tables.
Use TableHead and TableBody nodes to mimic the markdown table structure
with a single heading line on top and multiple td lines following.
Signed-off-by: Max <max@nextcloud.com>
|
|
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
|
|
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
|
|
create a tiptap extention to create a custom-container element, missing markdown-it-container
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
|
|
See #2018.
Use tiptap TaskList and TaskItem.
Markdown-it happily mixes tasks and bullet points in the same list.
Tiptap lists are strictly separated.
Split bullet and tasks into BulletList and TaskList in markdown-io.
Just like this will turn into three different lists:
* one
- two
+ three
This will now also turn into three different lists
with the middle one being a task list:
* first list
* [ ] todo
* [x] done
* third list
Signed-off-by: Max <max@nextcloud.com>
|
|
* Autofix `vue/first-attribute-linebreak`.
* Explicitely import `Store` from `vuex`.
* Allow importing default with the same name as named for tiptap extensions.
This is the way used in tiptap documentation:
`import Document from '@tiptap/extension-document'`
Disable `import/no-named-as-default` - but only for the lines in question.
Signed-off-by: Max <max@nextcloud.com>
|
|
Adds emoji autocompletion by typing `:<search_string>`.
It utilizes the emoji functions from nextcloud-vue[1] and the TipTap
suggestions extension.
[1] https://github.com/nextcloud/nextcloud-vue/pull/1474
Signed-off-by: Jonas <jonas@freesources.org>
|
|
Also drop @tiptap/starter-kit as we are not using it anymore.
Signed-off-by: Max <max@nextcloud.com>
|
|
Tiptap v2 changed some defaults for the keyboard shortcuts.
* use new default ctrl+shift+X for strike through.
Old ctrl+d is used to create bookmarks in firefox.
* Keep old ctrl+shift+1 ... ctrl+shift+6 for headings.
No reason to change as far as i can tell.
Also more consistent with lists (ctrl+shift+7/8).
* Change ordered lists to ctrl+shift+7.
New default from tiptap.
This way it comes right after the headings.
Signed-off-by: Max <max@nextcloud.com>
|
|
Lowlight 2.4.1 was causing failures with jest.
Jest was unhappy with it being an ESM module:
https://github.com/nextcloud/text/runs/5089748945
Do not hand around the lowlight global between EditorFactory and EditorWrapper.
Tiptaps CodeBlockLowLight does not need it anyway.
Signed-off-by: Max <max@nextcloud.com>
|
|
Signed-off-by: Max <max@nextcloud.com>
|
|
Migrate the entire editor to tiptap v2.
Some changes were introduces that go beyond just using the new tiptap API:
*Collaboration*
Port tiptap1 collaboration.
We still want to use our session and sync mechanism.
*Serialization*
Add Markdown extension to handle serialization.
Tiptap config extensions are not automatically added
to the prosemirror schema anymore.
The extension adds the `toMarkdown` config value to the prosemirror schema.
With the new naming scheme tiptap nodes for a number of elements
do not match the prosemirror names.
Camelcase the marks and nodes from `defaultMarkdownSerializer`
so they match the tiptap names.
*Menubar*
* Specify args for isActive function directly rather than setting a function.
* Make use of the editor instance inside the MenuBar component.
* Use the editor rather than slots for command, focused etc.
* disable icons based on editor.can
* Show menubar as long as submenus are open.
When opening a submenu of the menubar
keep track of the open menu even for the image and the remaining action menu.
Also refocus the editor whenever a submenu is closed.
*MenuBubble*
Let tippy handle the positioning
Tippy is really good at positioning the menu bubble.
Remove all our workarounds and let it do its thing.
In order for this to work the content of the MenuBubble
actually needs to live inside the tippy-content.
Tippy bases its calculations on the width of tippy-content.
So if we have the content hanging in a separate div
with absolute positioning
tippy-content will be 0x0 px and not represent the actual width
of the menu bubble.
*Upgrade image node and ImageView.*
Quite a bit of the syntax changed.
We now need a wrapping `<node-view-wrapper>` element.
Pretty good docs at https://tiptap.dev/guide/node-views/vue#render-a-vue-component
We also need to handle the async action.
It will run the action on it's own.
So in `clickIcon()` we need to test if the action returned anything.
Tiptap v1 had inline images.
v2 keeps them outside of paragraphs by default.
Configure Image node to use inline images as markdownit creates inline images right now.
*Trailing Node*
Tiptap v2 does not ship the trailing node extension anymore.
Included the one from the demos and turned it from typescript into javascript.
*Tests*
In order to isolate some problems tests were added.
The tests in Undeline.spec.js were green right from the beginning.
They are not related to the fix and only helped isolate the problem.
Also introduced a cypress test for Lists
that tests the editor
without rendering the page and logging in.
It is very fast and fairly easy to write.
*Refactorings*
* Split marks into separate files.
Signed-off-by: Max <max@nextcloud.com>
|
|
Signed-off-by: Max <max@nextcloud.com>
|
|
Fixes: #75.
Signed-off-by: Azul <azul@riseup.net>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
|
|
Signed-off-by: szaimen <szaimen@e.mail.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
This approach is more reliable because it does not rely on the files app.
Therefor it also works in `talk` and `collectives`.
Fixes #1780.
Use the currentDirectory to determine dav paths for gif files
and display the animated gif via dav rather than the preview
that lacks animation.
Also display webp files with dav urls. Fixes #1655.
Signed-off-by: Azul <azul@riseup.net>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|
|
Signed-off-by: Julius Härtl <jus@bitgrid.net>
|