diff options
Diffstat (limited to 'doc/.markdownlint/rules/tabs_wrapper_tags.js')
-rw-r--r-- | doc/.markdownlint/rules/tabs_wrapper_tags.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/.markdownlint/rules/tabs_wrapper_tags.js b/doc/.markdownlint/rules/tabs_wrapper_tags.js new file mode 100644 index 00000000000..beacec0b737 --- /dev/null +++ b/doc/.markdownlint/rules/tabs_wrapper_tags.js @@ -0,0 +1,21 @@ +module.exports = { + names: ['tabs-wrapper-tags'], + description: 'Unequal number of tab start and end tags', + information: new URL('https://docs.gitlab.com/ee/development/documentation/styleguide/#tabs'), + tags: ['gitlab-docs', 'tabs'], + function: function rule(params, onError) { + const tabStarts = params.lines.filter((line) => line === '::Tabs'); + const tabEnds = params.lines.filter((line) => line === '::EndTabs'); + + if (tabStarts.length !== tabEnds.length) { + const errorIndex = + params.lines.indexOf('::Tabs') > 0 + ? params.lines.indexOf('::Tabs') + : params.lines.indexOf('::EndTabs'); + onError({ + lineNumber: errorIndex + 1, + detail: `Opening tags: ${tabStarts.length}; Closing tags: ${tabEnds.length}`, + }); + } + }, +}; |