Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/.markdownlint/rules/tabs_wrapper_tags.js')
-rw-r--r--doc/.markdownlint/rules/tabs_wrapper_tags.js21
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}`,
+ });
+ }
+ },
+};