umberto 9.0.0 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -9
- package/package.json +8 -13
- package/scripts/filter/after-post-render/fix-code-samples.js +82 -18
- package/scripts/filter/after-post-render/gloria.js +27 -0
- package/scripts/filter/after-post-render/insert-error-codes.js +34 -26
- package/scripts/filter/after-post-render/validate-after-render.js +27 -6
- package/scripts/filter/after-render/process-svg.js +21 -0
- package/scripts/filter/before-post-render/gloria/render-post-render-pug-components.js +46 -18
- package/scripts/helper/u-extract-and-cache-title.js +27 -8
- package/scripts/helper/u-split-to-title-and-content.js +32 -8
- package/scripts/utils/gloria-after-post-render/append-copy-heading-buttons.js +119 -0
- package/scripts/utils/gloria-after-post-render/apply-design-doc-classes.js +157 -0
- package/scripts/utils/gloria-after-post-render/wrap-table-into-wrappers.js +25 -0
- package/scripts/utils/inline-svg.js +63 -94
- package/scripts/utils/spritesheet-svg.js +82 -102
- package/scripts/utils/toc.js +85 -31
- package/src/api-builder/api-builder.js +53 -40
- package/src/api-builder/build-page-worker.js +35 -0
- package/src/api-builder/classes/description-parser.js +77 -38
- package/src/data-converter/converters/jsduck2umberto.js +43 -15
- package/src/hexo/filter/project-locals.js +3 -0
- package/src/sdk-builder/get-sdk-sources.js +81 -44
- package/src/tasks/build-documentation.js +4 -0
- package/src/tasks/minify-html.js +1 -1
- package/src/tasks/validate-links-collect-worker.js +34 -0
- package/src/tasks/validate-links-worker.js +127 -0
- package/src/tasks/validate-links.js +61 -259
- package/themes/umberto/layout/gloria/_head/head.pug +3 -0
- package/themes/umberto/layout/gloria/_modules/index.pug +1 -0
- package/themes/umberto/layout/gloria/_modules/kapa/index.pug +0 -1
- package/themes/umberto/layout/gloria/_modules/sentry/index.pug +27 -0
- package/scripts/filter/after-post-render/gloria/append-copy-heading-buttons.js +0 -90
- package/scripts/filter/after-post-render/gloria/apply-design-doc-classes.js +0 -96
- package/scripts/filter/after-post-render/gloria/wrap-table-into-wrappers.js +0 -36
- package/scripts/filter/after-render/gloria/inline-svg.js +0 -14
- package/scripts/filter/after-render/gloria/spritesheet-svg.js +0 -14
- package/scripts/utils/apply-design-doc-classes.js +0 -82
- /package/src/tasks/{minify-worker.js → minify-html-worker.js} +0 -0
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
'use strict';
|
|
7
|
-
|
|
8
|
-
const cheerio = require( 'cheerio' );
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Add design system classes to the parsed document elements. If element has 0 CSS classes
|
|
12
|
-
* it'll be considered as not styled and the design system classes will be applied.
|
|
13
|
-
|
|
14
|
-
* @param options - Options for applying design classes.
|
|
15
|
-
* @param options.elementsClassesMappings - Mappings of elements to their classes or
|
|
16
|
-
* functions that return classes.
|
|
17
|
-
* @param options.elementsWithWhitelistClasses - List of classes that are
|
|
18
|
-
* considered as transparent in checks for amount of the classes.
|
|
19
|
-
* @param options.content - The HTML content to process.
|
|
20
|
-
*/
|
|
21
|
-
module.exports = function applyDesignDocClasses(
|
|
22
|
-
{
|
|
23
|
-
elementsClassesMappings,
|
|
24
|
-
elementsWithWhitelistClasses,
|
|
25
|
-
content
|
|
26
|
-
}
|
|
27
|
-
) {
|
|
28
|
-
const $ = cheerio.load( content, null, false );
|
|
29
|
-
|
|
30
|
-
// Apply classes based on the global mapping
|
|
31
|
-
for ( const [ element, classesOrCallback ] of Object.entries( elementsClassesMappings ) ) {
|
|
32
|
-
const $elements = $( element );
|
|
33
|
-
|
|
34
|
-
$elements.each( ( _, element ) => {
|
|
35
|
-
const $element = $( element );
|
|
36
|
-
|
|
37
|
-
if ( hasClassOrParentWithClass( $element, 'no-transform' ) ) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// Add the 'doc' class to each element that gets styled
|
|
42
|
-
$element.addClass( 'doc' );
|
|
43
|
-
|
|
44
|
-
const classList = ( $element.attr( 'class' )?.split( /\s+/ ) || [] ).filter(
|
|
45
|
-
className => !elementsWithWhitelistClasses.includes( className )
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
// Avoid applying classes to elements that already have one.
|
|
49
|
-
if ( classList.length > 1 ) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Add the specified classes
|
|
54
|
-
if ( typeof classesOrCallback === 'function' ) {
|
|
55
|
-
const elementClasses = classesOrCallback( $element );
|
|
56
|
-
|
|
57
|
-
if ( Array.isArray( elementClasses ) ) {
|
|
58
|
-
$element.addClass( elementClasses.join( ' ' ) );
|
|
59
|
-
} else if ( typeof elementClasses === 'string' ) {
|
|
60
|
-
$element.addClass( elementClasses );
|
|
61
|
-
}
|
|
62
|
-
} else if ( Array.isArray( classesOrCallback ) ) {
|
|
63
|
-
$element.addClass( classesOrCallback.join( ' ' ) );
|
|
64
|
-
} else {
|
|
65
|
-
$element.addClass( classesOrCallback );
|
|
66
|
-
}
|
|
67
|
-
} );
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return $.html();
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Checks if the element itself or any of its parents has the specified class.
|
|
75
|
-
*
|
|
76
|
-
* @param $element - The jQuery element to check.
|
|
77
|
-
* @param className - The class name to look for.
|
|
78
|
-
* @returns True if the element or any parent has the class, false otherwise.
|
|
79
|
-
*/
|
|
80
|
-
function hasClassOrParentWithClass( $element, className ) {
|
|
81
|
-
return $element.hasClass( className ) || $element.parents( `.${ className }` ).length > 0;
|
|
82
|
-
}
|
|
File without changes
|