umberto 8.3.3 → 8.3.5

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 CHANGED
@@ -1,6 +1,20 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ ## [8.3.5](https://github.com/cksource/umberto/compare/v8.3.4...v8.3.5) (October 29, 2025)
5
+
6
+ ### Other changes
7
+
8
+ * Hook scripts now receive the full project configuration object when executed.
9
+
10
+
11
+ ## [8.3.4](https://github.com/cksource/umberto/compare/v8.3.3...v8.3.4) (October 20, 2025)
12
+
13
+ ### Other changes
14
+
15
+ * Bump dependencies (including `hexo` to version `8.0.0`).
16
+
17
+
4
18
  ## [8.3.3](https://github.com/cksource/umberto/compare/v8.3.2...v8.3.3) (October 15, 2025)
5
19
 
6
20
  ### Bug fixes
@@ -27,23 +41,6 @@ Changelog
27
41
 
28
42
  * Increased size of the modal in `Kapa.ai` integration.
29
43
 
30
-
31
- ## [8.3.0](https://github.com/cksource/umberto/compare/v8.2.0...v8.3.0) (September 2, 2025)
32
-
33
- ### Features
34
-
35
- * Added custom styling for the [Kapa.ai](https://www.kapa.ai/) service.
36
- * The source script of the [Kapa.ai](https://www.kapa.ai/) service must be defined in the `kapa.widgetOptions.src` key in the Umberto configuration.
37
-
38
-
39
- ## [8.2.0](https://github.com/cksource/umberto/compare/v8.1.0...v8.2.0) (August 29, 2025)
40
-
41
- ### Features
42
-
43
- * Added integration with the [Kapa.ai](https://www.kapa.ai/) service.
44
-
45
- Umberto configuration can now specify the `kapa` key that allows loading the Kapa button and widget.
46
-
47
44
  ---
48
45
 
49
46
  To see all releases, visit the [release page](https://github.com/cksource/umberto/releases).
package/LICENSE.md CHANGED
@@ -23,7 +23,7 @@ The following libraries are included in Umberto under the [MIT license](https://
23
23
  * hexo-generator-category - Copyright (c) 2014 Tommy Chen
24
24
  * hexo-generator-index - Copyright (c) 2014 Tommy Chen
25
25
  * hexo-generator-tag - Copyright (c) 2014 Tommy Chen
26
- * hexo-render-pug - Copyright (c) Max Knee
26
+ * hexo-renderer-pug - Copyright (c) 2012 Tommy Chen
27
27
  * hexo-renderer-markdown-it-plus - Copyright (c) 2017 CHENXCHEN
28
28
  * htmlparser2 - Copyright 2010, 2011, Chris Winberry <chris@winberry.net>
29
29
  * javascript-stringify - Copyright (c) 2013 Blake Embrey (hello@blakeembrey.com)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "umberto",
3
- "version": "8.3.3",
3
+ "version": "8.3.5",
4
4
  "description": "CKSource Documentation builder",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -23,12 +23,12 @@
23
23
  "fs-extra": "^11.0.0",
24
24
  "fuse.js": "^7.1.0",
25
25
  "glob": "^11.0.2",
26
- "hexo": "^7.3.0",
26
+ "hexo": "^8.0.0",
27
27
  "hexo-generator-archive": "^2.0.0",
28
28
  "hexo-generator-category": "^2.0.0",
29
29
  "hexo-generator-index": "^4.0.0",
30
30
  "hexo-generator-tag": "^2.0.0",
31
- "hexo-render-pug": "^2.1.4",
31
+ "hexo-renderer-pug": "^3.0.0",
32
32
  "hexo-renderer-markdown-it-plus": "^1.0.5",
33
33
  "htmlparser2": "^10.0.0",
34
34
  "javascript-stringify": "^2.1.0",
@@ -34,7 +34,7 @@ module.exports = async function executeHooks( configs, hookName ) {
34
34
  }
35
35
 
36
36
  for ( const scriptPath of config.hooks[ hookName ] ) {
37
- await processSingleHook( upath.dirname( config.__configPath ), scriptPath );
37
+ await processSingleHook( config, scriptPath );
38
38
  }
39
39
  }
40
40
 
@@ -48,17 +48,18 @@ module.exports = async function executeHooks( configs, hookName ) {
48
48
  };
49
49
 
50
50
  /**
51
- * @param {String} configPath
51
+ * @param {Object} config
52
52
  * @param {String} scriptPath
53
53
  * @return {Promise}
54
54
  */
55
- async function processSingleHook( configPath, scriptPath ) {
55
+ async function processSingleHook( config, scriptPath ) {
56
+ const configPath = upath.dirname( config.__configPath );
56
57
  const callbackAbsolutePath = upath.join( configPath, scriptPath );
57
58
 
58
59
  try {
59
60
  const callback = await importModule( callbackAbsolutePath );
60
61
 
61
- await callback();
62
+ await callback( config );
62
63
  } catch ( error ) {
63
64
  // Store a path to the executed file.
64
65
  error._filePath = scriptPath;
@@ -12,7 +12,7 @@ mixin header({ withChooseProject = true, className = '' } = {})
12
12
  .c-header__mobile.l-hide-desktop
13
13
  .c-header__mobile-brand
14
14
  a.b-link.u-display-inline-flex(
15
- title='Go to CKEditor Ecosystem Documentation home page',
15
+ title='Navigate to the CKEditor Ecosystem Documentation homepage',
16
16
  href=relative_url(page.path, 'index.html')
17
17
  )
18
18
  +inline-svg({ file: 'ckeditor-logo', ariaHidden: true, className: 'c-header__brand-logo' })
@@ -39,7 +39,7 @@ mixin header({ withChooseProject = true, className = '' } = {})
39
39
  .c-header__brand-row
40
40
  .c-header__brand-row-selector.u-flex-horizontal.u-align-items-center
41
41
  a.b-link.u-display-inline-flex(
42
- title='Go to CKEditor Ecosystem Documentation home page',
42
+ title='Navigate to the CKEditor Ecosystem Documentation homepage',
43
43
  href=relative_url(page.path, 'index.html')
44
44
  )
45
45
  +inline-svg({ file: 'ckeditor-logo', ariaHidden: true, className: 'c-header__brand-logo' })
@@ -32,7 +32,7 @@
32
32
  text-align: left;
33
33
  font-weight: var(--font-weight-bold);
34
34
  font-family: var(--font-family-heading);
35
- background-color: var(--color-gray-200);
35
+ background-color: var(--color-gray-300);
36
36
  }
37
37
 
38
38
  &-wrapper {
@@ -53,7 +53,8 @@
53
53
  @extend .b-table__row;
54
54
  }
55
55
 
56
- td, th {
56
+ td,
57
+ th {
57
58
  @extend .b-table__cell;
58
59
  }
59
60
 
@@ -61,4 +62,4 @@
61
62
  @extend .b-table__header;
62
63
  }
63
64
  }
64
- }
65
+ }