Lines Matching +full:run +full:- +full:script

2 …tinizer-ci.com/g/cosmocode/dokuwiki-plugin-prosemirror/badges/quality-score.png?b=master)](https:/…
10 ``lib/plugins/prosemirror/`` - if the folder is called different it
40 #### Begin Edit-Session: DokuWiki -> Prosemirror
41 - `action/editor.php`: `HTML_EDITFORM_OUTPUT` get Instructions and render them to json
42 - see `renderer.php`
43 - `renderer.php` uses the classes `NodeStack` `Node` and `Mark` in `schema` to do its job
44 - this should possibly renamed
45 - to keep information about a Node in as few places as possible,
47 - Prosemirror parses that json in `script/main.js` according to the schema defined in
48 `script/schema.js` and creates its `doc`-Node from it.
50 #### Rendering: Prosemirror -> DokuWiki -> Prosemirror
51 - Some Nodes (e.g. images, links) need to be resolved by DokuWiki in order to be rendered properly.
52 - So ProseMirror makes ajax requests
53 - triggered by `LinkForm.resolveSubmittedLinkData` in `script/LinkForm.js`
54 - the request is handled by `action/ajax.php` which resolves the link/images and returns
58 #### Saving/Preview: Prosemirror -> DokuWiki
59 - Prosemirror synchronizes all changes with the underlying json in the `<input>` field
60 - When the Editform is submitted that data has to be parsed by DokuWiki into DokuWiki-Syntax.
61 - This starts in `action/parser.php` during the event `ACTION_ACT_PREPROCESS`
62- The main challenge is that Prosemirror operates on a flat array, whereas DokuWiki-Syntax is usua…
63- This means that the Syntax `**bold __underlined and bold__**` is represented in Prosemirror's da…
65 - The creation of that syntax tree is started in `parser/SyntaxTreeBuilder.php`
66 - Handling marks is complex and subtle:
67 - To know in which order we have to open/close marks we need to know which start
69 - for this purpose, `InlineNodeInterface::getStartingNodeMarkScore($markType)`
71 - for `getStartingNodeMarkScore()` to work, it needs the inline nodes inside a block node to be
73- If the marks on a node have the same start/end than they need a stable order in which they appea…
77 Currently all our prosemirror scripts are in `script/`.
80 - NodeViews and Forms
81 - if a Node cannot be simply rendered and edited by ProseMirror, it needs a NodeView
82 - Examples are links, images, footnotes(NodeView not yet implemented)
83 - possibly also `<code>` and `<file>`?
84 - Menu-Related classes and menu items
85 - keyboard commands
86 - possibly `commands` in general wich then can be used by menu-items and keyboard-events?
87 - the schema
93 The central test-data is the collection of DokuWiki-Syntax and corresponding Prosemirror JSON
95 1. Testing the rendering of DokuWiki-Syntax to Prosemirror JSON in `_test/renderer.test.php`
96 1. Testing the parsing of Prosemirror JSON back to the original DokuWiki-Syntax in `_test/jsonParse…
97 1. Testing the validity of the Prosemirror JSON against the schema (`script/schema.js`) in `_jstest…
99 The rendering and parsing tests are run as usual DokuWiki tests.
100 The javascript tests are run with `yarn test`
102 The scripts in `script/` are also checked when building with eslint.
103 Eslint can also be run on its own with `yarn eslint`.