diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-26 12:09:02 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-26 12:09:02 +0300 |
commit | d79bf171e4bcbb551a8320211ee337368b4d114c (patch) | |
tree | 63f4305ee043eb6ca4b6f2113d8067b388b68ed8 /glfm_specification | |
parent | 6723a4288d29b11beec2de92fb7cfd682c9dcc50 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'glfm_specification')
7 files changed, 340 insertions, 0 deletions
diff --git a/glfm_specification/example_snapshots/examples_index.yml b/glfm_specification/example_snapshots/examples_index.yml index 9b601460b1d..a6668173cc9 100644 --- a/glfm_specification/example_snapshots/examples_index.yml +++ b/glfm_specification/example_snapshots/examples_index.yml @@ -2015,3 +2015,15 @@ 07_01__gitlab_specific_markdown__footnotes__001: spec_txt_example_position: 674 source_specification: gitlab +07_02__gitlab_specific_markdown__task_list_items__001: + spec_txt_example_position: 675 + source_specification: gitlab +07_02__gitlab_specific_markdown__task_list_items__002: + spec_txt_example_position: 676 + source_specification: gitlab +07_02__gitlab_specific_markdown__task_list_items__003: + spec_txt_example_position: 677 + source_specification: gitlab +07_02__gitlab_specific_markdown__task_list_items__004: + spec_txt_example_position: 678 + source_specification: gitlab diff --git a/glfm_specification/example_snapshots/html.yml b/glfm_specification/example_snapshots/html.yml index 376a4bc72ca..834dd49a934 100644 --- a/glfm_specification/example_snapshots/html.yml +++ b/glfm_specification/example_snapshots/html.yml @@ -7588,3 +7588,75 @@ wysiwyg: |- <p>footnote reference tag <sup identifier="fortytwo">fortytwo</sup></p> <div node="footnoteDefinition(paragraph("footnote text"))" htmlattributes="[object Object]"><p>footnote text</p></div> +07_02__gitlab_specific_markdown__task_list_items__001: + canonical: | + <ul> + <li> + <task-button/> + <input type="checkbox" disabled/> + incomplete + </li> + </ul> + static: |- + <ul data-sourcepos="1:1-1:16" class="task-list" dir="auto"> + <li data-sourcepos="1:1-1:16" class="task-list-item"> + <task-button></task-button><input type="checkbox" class="task-list-item-checkbox" disabled> incomplete</li> + </ul> + wysiwyg: |- + <ul start="1" parens="false" data-type="taskList"><li data-checked="false" data-type="taskItem"><label><input type="checkbox"><span></span></label><div><p>incomplete</p></div></li></ul> +07_02__gitlab_specific_markdown__task_list_items__002: + canonical: | + <ul> + <li> + <task-button/> + <input type="checkbox" checked disabled/> + completed + </li> + </ul> + static: |- + <ul data-sourcepos="1:1-1:15" class="task-list" dir="auto"> + <li data-sourcepos="1:1-1:15" class="task-list-item"> + <task-button></task-button><input type="checkbox" class="task-list-item-checkbox" checked disabled> completed</li> + </ul> + wysiwyg: |- + <ul start="1" parens="false" data-type="taskList"><li data-checked="true" data-type="taskItem"><label><input type="checkbox" checked="checked"><span></span></label><div><p>completed</p></div></li></ul> +07_02__gitlab_specific_markdown__task_list_items__003: + canonical: | + <ul> + <li> + <task-button/> + <input type="checkbox" data-inapplicable disabled> + <s> + inapplicable + </s> + </li> + </ul> + static: |- + <ul data-sourcepos="1:1-1:18" class="task-list" dir="auto"> + <li data-sourcepos="1:1-1:18" class="task-list-item inapplicable"> + <task-button></task-button><input type="checkbox" class="task-list-item-checkbox" data-inapplicable disabled> <s>inapplicable</s> + </li> + </ul> +07_02__gitlab_specific_markdown__task_list_items__004: + canonical: | + <ul> + <li> + <p> + <task-button/> + <input type="checkbox" data-inapplicable disabled> + <s> + inapplicable + </s> + </p> + <p> + text in loose list + </p> + </li> + </ul> + static: |- + <ul data-sourcepos="1:1-3:20" class="task-list" dir="auto"> + <li data-sourcepos="1:1-3:20" class="task-list-item inapplicable"> + <p data-sourcepos="1:3-1:18"><task-button></task-button><input type="checkbox" class="task-list-item-checkbox" data-inapplicable disabled> <s>inapplicable</s></p> + <p data-sourcepos="3:3-3:20">text in loose list</p> + </li> + </ul> diff --git a/glfm_specification/example_snapshots/markdown.yml b/glfm_specification/example_snapshots/markdown.yml index c4c30dcb513..ffbc7d77ce5 100644 --- a/glfm_specification/example_snapshots/markdown.yml +++ b/glfm_specification/example_snapshots/markdown.yml @@ -2193,3 +2193,13 @@ footnote reference tag [^fortytwo] [^fortytwo]: footnote text +07_02__gitlab_specific_markdown__task_list_items__001: | + - [ ] incomplete +07_02__gitlab_specific_markdown__task_list_items__002: | + - [x] completed +07_02__gitlab_specific_markdown__task_list_items__003: | + - [~] inapplicable +07_02__gitlab_specific_markdown__task_list_items__004: | + - [~] inapplicable + + text in loose list diff --git a/glfm_specification/example_snapshots/prosemirror_json.yml b/glfm_specification/example_snapshots/prosemirror_json.yml index 0b468945042..f770d341c42 100644 --- a/glfm_specification/example_snapshots/prosemirror_json.yml +++ b/glfm_specification/example_snapshots/prosemirror_json.yml @@ -19244,3 +19244,73 @@ } ] } +07_02__gitlab_specific_markdown__task_list_items__001: |- + { + "type": "doc", + "content": [ + { + "type": "taskList", + "attrs": { + "numeric": false, + "start": 1, + "parens": false + }, + "content": [ + { + "type": "taskItem", + "attrs": { + "checked": false + }, + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "incomplete" + } + ] + } + ] + } + ] + } + ] + } +07_02__gitlab_specific_markdown__task_list_items__002: |- + { + "type": "doc", + "content": [ + { + "type": "taskList", + "attrs": { + "numeric": false, + "start": 1, + "parens": false + }, + "content": [ + { + "type": "taskItem", + "attrs": { + "checked": true + }, + "content": [ + { + "type": "paragraph", + "content": [ + { + "type": "text", + "text": "completed" + } + ] + } + ] + } + ] + } + ] + } +07_02__gitlab_specific_markdown__task_list_items__003: |- + Inapplicable task list items not yet implemented for WYSYWIG +07_02__gitlab_specific_markdown__task_list_items__004: |- + Inapplicable task list items not yet implemented for WYSYWIG diff --git a/glfm_specification/input/gitlab_flavored_markdown/glfm_canonical_examples.txt b/glfm_specification/input/gitlab_flavored_markdown/glfm_canonical_examples.txt index d0d450b66bf..a50c28c9296 100644 --- a/glfm_specification/input/gitlab_flavored_markdown/glfm_canonical_examples.txt +++ b/glfm_specification/input/gitlab_flavored_markdown/glfm_canonical_examples.txt @@ -38,3 +38,85 @@ footnote text </ol> </section> ```````````````````````````````` + +## Task list items + +See +[Task lists](https://docs.gitlab.com/ee/user/markdown.html#task-lists) in the GitLab Flavored Markdown documentation. + +Task list items (checkboxes) are defined as a GitHub Flavored Markdown extension in a section above. +GitLab extends the behavior of task list items to support additional features. +Some of these features are in-progress, and should not yet be considered part of the official +GitLab Flavored Markdown specification. + +Some of the behavior of task list items is implemented as client-side JavaScript/CSS. + +The following are some basic examples; more examples may be added in the future. + +Incomplete task: + +```````````````````````````````` example gitlab tasklist +- [ ] incomplete +. +<ul> +<li> +<task-button/> +<input type="checkbox" disabled/> +incomplete +</li> +</ul> +```````````````````````````````` + +Completed task: + +```````````````````````````````` example gitlab tasklist +- [x] completed +. +<ul> +<li> +<task-button/> +<input type="checkbox" checked disabled/> +completed +</li> +</ul> +```````````````````````````````` + +Inapplicable task: + +```````````````````````````````` example gitlab tasklist +- [~] inapplicable +. +<ul> +<li> +<task-button/> +<input type="checkbox" data-inapplicable disabled> +<s> +inapplicable +</s> +</li> +</ul> +```````````````````````````````` + +Inapplicable task in a "loose" list. Note that the `<del>` tag is not applied to the +loose text; it has strikethrough applied with CSS. + +```````````````````````````````` example gitlab tasklist +- [~] inapplicable + + text in loose list +. +<ul> +<li> +<p> +<task-button/> +<input type="checkbox" data-inapplicable disabled> +<s> +inapplicable +</s> +</p> +<p> +text in loose list +</p> +</li> +</ul> +```````````````````````````````` diff --git a/glfm_specification/input/gitlab_flavored_markdown/glfm_example_status.yml b/glfm_specification/input/gitlab_flavored_markdown/glfm_example_status.yml index b09a092c02a..3881819e38a 100644 --- a/glfm_specification/input/gitlab_flavored_markdown/glfm_example_status.yml +++ b/glfm_specification/input/gitlab_flavored_markdown/glfm_example_status.yml @@ -12,3 +12,15 @@ skip_running_snapshot_static_html_tests: false # NOT YET SUPPORTED skip_running_snapshot_wysiwyg_html_tests: false skip_running_snapshot_prosemirror_json_tests: false +07_02__gitlab_specific_markdown__task_list_items__003: + skip_update_example_snapshot_html_wysiwyg: Inapplicable task list items not yet implemented for WYSYWIG + skip_update_example_snapshot_prosemirror_json: Inapplicable task list items not yet implemented for WYSYWIG + skip_running_conformance_wysiwyg_tests: Inapplicable task list items not yet implemented for WYSYWIG + skip_running_snapshot_wysiwyg_html_tests: Inapplicable task list items not yet implemented for WYSYWIG + skip_running_snapshot_prosemirror_json_tests: Inapplicable task list items not yet implemented for WYSYWIG +07_02__gitlab_specific_markdown__task_list_items__004: + skip_update_example_snapshot_html_wysiwyg: Inapplicable task list items not yet implemented for WYSYWIG + skip_update_example_snapshot_prosemirror_json: Inapplicable task list items not yet implemented for WYSYWIG + skip_running_conformance_wysiwyg_tests: Inapplicable task list items not yet implemented for WYSYWIG + skip_running_snapshot_wysiwyg_html_tests: Inapplicable task list items not yet implemented for WYSYWIG + skip_running_snapshot_prosemirror_json_tests: Inapplicable task list items not yet implemented for WYSYWIG diff --git a/glfm_specification/output/spec.txt b/glfm_specification/output/spec.txt index 3fc27efdc34..b2735219d02 100644 --- a/glfm_specification/output/spec.txt +++ b/glfm_specification/output/spec.txt @@ -9641,6 +9641,88 @@ footnote text </section> ```````````````````````````````` +## Task list items + +See +[Task lists](https://docs.gitlab.com/ee/user/markdown.html#task-lists) in the GitLab Flavored Markdown documentation. + +Task list items (checkboxes) are defined as a GitHub Flavored Markdown extension in a section above. +GitLab extends the behavior of task list items to support additional features. +Some of these features are in-progress, and should not yet be considered part of the official +GitLab Flavored Markdown specification. + +Some of the behavior of task list items is implemented as client-side JavaScript/CSS. + +The following are some basic examples; more examples may be added in the future. + +Incomplete task: + +```````````````````````````````` example gitlab tasklist +- [ ] incomplete +. +<ul> +<li> +<task-button/> +<input type="checkbox" disabled/> +incomplete +</li> +</ul> +```````````````````````````````` + +Completed task: + +```````````````````````````````` example gitlab tasklist +- [x] completed +. +<ul> +<li> +<task-button/> +<input type="checkbox" checked disabled/> +completed +</li> +</ul> +```````````````````````````````` + +Inapplicable task: + +```````````````````````````````` example gitlab tasklist +- [~] inapplicable +. +<ul> +<li> +<task-button/> +<input type="checkbox" data-inapplicable disabled> +<s> +inapplicable +</s> +</li> +</ul> +```````````````````````````````` + +Inapplicable task in a "loose" list. Note that the `<del>` tag is not applied to the +loose text; it has strikethrough applied with CSS. + +```````````````````````````````` example gitlab tasklist +- [~] inapplicable + + text in loose list +. +<ul> +<li> +<p> +<task-button/> +<input type="checkbox" data-inapplicable disabled> +<s> +inapplicable +</s> +</p> +<p> +text in loose list +</p> +</li> +</ul> +```````````````````````````````` + <!-- END TESTS --> # Appendix: A parsing strategy |