@silexlabs/silex 3.0.0-alpha.50 → 3.0.0-alpha.52

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.
Files changed (128) hide show
  1. package/dist/client/client/config.d.ts +14 -1
  2. package/dist/client/client/grapesjs/PublicationManager.d.ts +4 -7
  3. package/dist/client/client/publication-transformers.d.ts +41 -0
  4. package/dist/client/css/admin.css +4 -1
  5. package/dist/client/js/main.js +55 -55
  6. package/dist/client/page.d.ts +1 -1
  7. package/dist/client/types.d.ts +35 -18
  8. package/dist/plugins/client/client/api.d.ts +83 -0
  9. package/dist/plugins/client/client/api.js +105 -0
  10. package/dist/plugins/client/client/api.js.map +1 -0
  11. package/dist/plugins/client/client/config.d.ts +58 -0
  12. package/dist/plugins/client/client/config.js +90 -0
  13. package/dist/plugins/client/client/config.js.map +1 -0
  14. package/dist/plugins/client/client/events.js +2 -0
  15. package/dist/plugins/client/client/events.js.map +1 -1
  16. package/dist/plugins/client/client/grapesjs/LoginDialog.d.ts +15 -0
  17. package/dist/plugins/client/client/grapesjs/LoginDialog.js +193 -0
  18. package/dist/plugins/client/client/grapesjs/LoginDialog.js.map +1 -0
  19. package/dist/plugins/client/client/grapesjs/PublicationManager.d.ts +72 -0
  20. package/dist/plugins/client/client/grapesjs/PublicationManager.js +334 -0
  21. package/dist/plugins/client/client/grapesjs/PublicationManager.js.map +1 -0
  22. package/dist/plugins/client/client/grapesjs/PublicationUi.d.ts +61 -0
  23. package/dist/plugins/client/client/grapesjs/PublicationUi.js +324 -0
  24. package/dist/plugins/client/client/grapesjs/PublicationUi.js.map +1 -0
  25. package/dist/plugins/client/client/grapesjs/blocks.d.ts +1 -0
  26. package/dist/plugins/client/client/grapesjs/blocks.js +37 -0
  27. package/dist/plugins/client/client/grapesjs/blocks.js.map +1 -0
  28. package/dist/plugins/client/client/grapesjs/index.d.ts +5 -0
  29. package/dist/plugins/client/client/grapesjs/index.js +264 -0
  30. package/dist/plugins/client/client/grapesjs/index.js.map +1 -0
  31. package/dist/plugins/client/client/grapesjs/internal-links.d.ts +1 -0
  32. package/dist/plugins/client/client/grapesjs/internal-links.js +220 -0
  33. package/dist/plugins/client/client/grapesjs/internal-links.js.map +1 -0
  34. package/dist/plugins/client/client/grapesjs/new-page-dialog.d.ts +2 -0
  35. package/dist/plugins/client/client/grapesjs/new-page-dialog.js +83 -0
  36. package/dist/plugins/client/client/grapesjs/new-page-dialog.js.map +1 -0
  37. package/dist/plugins/client/client/grapesjs/openImport.d.ts +9 -0
  38. package/dist/plugins/client/client/grapesjs/openImport.js +74 -0
  39. package/dist/plugins/client/client/grapesjs/openImport.js.map +1 -0
  40. package/dist/plugins/client/client/grapesjs/page-panel.d.ts +3 -0
  41. package/dist/plugins/client/client/grapesjs/page-panel.js +113 -0
  42. package/dist/plugins/client/client/grapesjs/page-panel.js.map +1 -0
  43. package/dist/plugins/client/client/grapesjs/project-bar.d.ts +1 -0
  44. package/dist/plugins/client/client/grapesjs/project-bar.js +106 -0
  45. package/dist/plugins/client/client/grapesjs/project-bar.js.map +1 -0
  46. package/dist/plugins/client/client/grapesjs/rich-text.d.ts +1 -0
  47. package/dist/plugins/client/client/grapesjs/rich-text.js +31 -0
  48. package/dist/plugins/client/client/grapesjs/rich-text.js.map +1 -0
  49. package/dist/plugins/client/client/grapesjs/semantic.d.ts +1 -0
  50. package/dist/plugins/client/client/grapesjs/semantic.js +110 -0
  51. package/dist/plugins/client/client/grapesjs/semantic.js.map +1 -0
  52. package/dist/plugins/client/client/grapesjs/settings.d.ts +2 -0
  53. package/dist/plugins/client/client/grapesjs/settings.js +197 -0
  54. package/dist/plugins/client/client/grapesjs/settings.js.map +1 -0
  55. package/dist/plugins/client/client/grapesjs/storage.d.ts +1 -0
  56. package/dist/plugins/client/client/grapesjs/storage.js +124 -0
  57. package/dist/plugins/client/client/grapesjs/storage.js.map +1 -0
  58. package/dist/plugins/client/client/grapesjs/symbolDialogs.d.ts +3 -0
  59. package/dist/plugins/client/client/grapesjs/symbolDialogs.js +36 -0
  60. package/dist/plugins/client/client/grapesjs/symbolDialogs.js.map +1 -0
  61. package/dist/plugins/client/client/publication-transformers.d.ts +41 -0
  62. package/dist/plugins/client/client/publication-transformers.js +222 -0
  63. package/dist/plugins/client/client/publication-transformers.js.map +1 -0
  64. package/dist/plugins/client/constants.d.ts +29 -0
  65. package/dist/plugins/client/constants.js +46 -0
  66. package/dist/plugins/client/constants.js.map +1 -0
  67. package/dist/plugins/client/page.d.ts +1 -1
  68. package/dist/plugins/client/page.js +2 -2
  69. package/dist/plugins/client/page.js.map +1 -1
  70. package/dist/plugins/client/plugins/client/11ty.d.ts +17 -0
  71. package/dist/plugins/client/plugins/client/11ty.js +88 -0
  72. package/dist/plugins/client/plugins/client/11ty.js.map +1 -0
  73. package/dist/plugins/client/plugins/client/publicationRenderer.js +63 -21
  74. package/dist/plugins/client/plugins/client/publicationRenderer.js.map +1 -1
  75. package/dist/plugins/client/plugins/client/website-info.js +1 -1
  76. package/dist/plugins/client/plugins/client/website-info.js.map +1 -1
  77. package/dist/plugins/client/types.d.ts +35 -18
  78. package/dist/plugins/client/types.js +6 -0
  79. package/dist/plugins/client/types.js.map +1 -1
  80. package/dist/plugins/server/plugins/server/FtpConnector.d.ts +4 -1
  81. package/dist/plugins/server/plugins/server/FtpConnector.js +13 -9
  82. package/dist/plugins/server/plugins/server/FtpConnector.js.map +1 -1
  83. package/dist/plugins/server/plugins/server/GitlabConnector.js +19 -14
  84. package/dist/plugins/server/plugins/server/GitlabConnector.js.map +1 -1
  85. package/dist/plugins/server/server/connectors/FsHosting.d.ts +2 -1
  86. package/dist/plugins/server/server/connectors/FsHosting.js +5 -6
  87. package/dist/plugins/server/server/connectors/FsHosting.js.map +1 -1
  88. package/dist/plugins/server/server/connectors/FsStorage.d.ts +1 -0
  89. package/dist/plugins/server/server/connectors/FsStorage.js +4 -1
  90. package/dist/plugins/server/server/connectors/FsStorage.js.map +1 -1
  91. package/dist/plugins/server/server/connectors/connectors.d.ts +2 -1
  92. package/dist/plugins/server/server/connectors/connectors.js.map +1 -1
  93. package/dist/plugins/server/server/jobs.d.ts +6 -0
  94. package/dist/plugins/server/server/jobs.js +3 -1
  95. package/dist/plugins/server/server/jobs.js.map +1 -1
  96. package/dist/plugins/server/types.d.ts +35 -18
  97. package/dist/plugins/server/types.js +7 -1
  98. package/dist/plugins/server/types.js.map +1 -1
  99. package/dist/server/server/api/publicationApi.js +14 -20
  100. package/dist/server/server/connectors/FsHosting.js +5 -6
  101. package/dist/server/server/connectors/FsStorage.js +4 -1
  102. package/dist/server/server/jobs.js +2 -1
  103. package/dist/server/types.js +7 -1
  104. package/package.json +1 -1
  105. package/public/silex.js +23 -0
  106. package/src/css/website-info.scss +4 -1
  107. package/src/ts/client/config.ts +32 -2
  108. package/src/ts/client/events.ts +3 -0
  109. package/src/ts/client/grapesjs/PublicationManager.ts +49 -8
  110. package/src/ts/client/grapesjs/PublicationUi.ts +1 -1
  111. package/src/ts/client/grapesjs/eleventy.ts +9 -3
  112. package/src/ts/client/grapesjs/internal-links.ts +1 -3
  113. package/src/ts/client/grapesjs/storage.ts +1 -1
  114. package/src/ts/client/index.ts +5 -0
  115. package/src/ts/client/publication-transformers.test.ts +199 -0
  116. package/src/ts/client/publication-transformers.ts +248 -0
  117. package/src/ts/page.ts +2 -2
  118. package/src/ts/plugins/client/11ty.ts +108 -0
  119. package/src/ts/plugins/client/publicationRenderer.ts +68 -22
  120. package/src/ts/plugins/client/website-info.ts +1 -1
  121. package/src/ts/plugins/server/FtpConnector.ts +19 -6
  122. package/src/ts/plugins/server/GitlabConnector.ts +20 -16
  123. package/src/ts/server/api/publicationApi.ts +16 -23
  124. package/src/ts/server/connectors/FsHosting.ts +3 -3
  125. package/src/ts/server/connectors/FsStorage.ts +5 -1
  126. package/src/ts/server/connectors/connectors.ts +3 -1
  127. package/src/ts/server/jobs.ts +10 -0
  128. package/src/ts/types.ts +39 -19
@@ -1,6 +1,7 @@
1
1
  import { Config } from '@silexlabs/silex-plugins';
2
2
  import { ConnectorId, WebsiteId } from '../types';
3
- import { EditorConfig } from 'grapesjs';
3
+ import { Editor, EditorConfig } from 'grapesjs';
4
+ import { PublicationTransformer } from './publication-transformers';
4
5
  import * as api from './api';
5
6
  /**
6
7
  * @fileoverview Silex client side config
@@ -42,4 +43,16 @@ export declare class ClientConfig extends Config {
42
43
  * Init GrapesJS config which depend on the config file properties
43
44
  */
44
45
  initGrapesConfig(): void;
46
+ /**
47
+ * Get grapesjs editor
48
+ */
49
+ getEditor(): Editor;
50
+ /**
51
+ * Publication transformers let plugins change files before they are published
52
+ */
53
+ publicationTransformers: Array<PublicationTransformer>;
54
+ /**
55
+ * Add a publication transformer(s)
56
+ */
57
+ addPublicationTransformers(transformers: PublicationTransformer | PublicationTransformer[]): void;
45
58
  }
@@ -1,4 +1,4 @@
1
- import { ConnectorData, PublicationJobData, PublicationSettings, WebsiteId, WebsiteSettings } from '../../types';
1
+ import { ConnectorData, PublicationJobData, PublicationSettings, WebsiteFile, WebsiteId, WebsiteSettings } from '../../types';
2
2
  import { Editor } from 'grapesjs';
3
3
  import { PublicationUi } from './PublicationUi';
4
4
  /**
@@ -65,11 +65,8 @@ export declare class PublicationManager {
65
65
  * This is the command "publish"
66
66
  */
67
67
  startPublication(): Promise<void>;
68
- getFiles(siteSettings: WebsiteSettings): Promise<{
69
- html: string;
70
- css: string;
71
- cssPath: string;
72
- htmlPath: string;
73
- }[]>;
68
+ getHtmlFiles(siteSettings: WebsiteSettings): Promise<WebsiteFile[]>;
74
69
  trackProgress(): Promise<void>;
70
+ private setPublicationTransformers;
71
+ private resetPublicationTransformers;
75
72
  }
@@ -0,0 +1,41 @@
1
+ import { Component, CssRule, Editor, ObjectStrings } from 'grapesjs';
2
+ import { ClientSideFile, ClientSideFileType, PublicationData } from '../types';
3
+ /**
4
+ * Interface for publication transformers
5
+ * They are added to the config object with config.addPublicationTransformer()
6
+ */
7
+ export interface PublicationTransformer {
8
+ renderComponent?(component: Component, toHtml: () => string): string | undefined;
9
+ renderCssRule?(rule: CssRule, initialRule: () => ObjectStrings): ObjectStrings | undefined;
10
+ transformFile?(file: ClientSideFile): ClientSideFile;
11
+ transformPermalink?(path: string, type: ClientSideFileType): string;
12
+ transformPath?(path: string, type: ClientSideFileType): string;
13
+ }
14
+ export declare function validatePublicationTransformer(transformer: PublicationTransformer): void;
15
+ /**
16
+ * Alter the components rendering
17
+ * Exported for unit tests
18
+ */
19
+ export declare function renderComponents(editor: Editor): void;
20
+ /**
21
+ * Alter the styles rendering
22
+ * Exported for unit tests
23
+ */
24
+ export declare function renderCssRules(editor: Editor): void;
25
+ /**
26
+ * Transform background image url according to the transformed path of assets
27
+ */
28
+ export declare function transformBgImage(editor: Editor, style: ObjectStrings): ObjectStrings;
29
+ /**
30
+ * Transform files
31
+ * Exported for unit tests
32
+ */
33
+ export declare function transformFiles(editor: Editor, data: PublicationData): void;
34
+ /**
35
+ * Transform files paths
36
+ * Exported for unit tests
37
+ */
38
+ export declare function transformPermalink(editor: Editor, path: string, type: ClientSideFileType): string;
39
+ export declare function transformPath(editor: Editor, path: string, type: ClientSideFileType): string;
40
+ export declare function resetRenderComponents(editor: Editor): void;
41
+ export declare function resetRenderCssRules(editor: Editor): void;
@@ -4374,7 +4374,10 @@ iframe.enable-squeeze.silex-squeeze-left {
4374
4374
  justify-content: center;
4375
4375
  margin-left: 10px;
4376
4376
  margin-right: 10px;
4377
- line-height: 2;
4377
+ padding-top: 5px;
4378
+ padding-left: 10px;
4379
+ padding-right: 10px;
4380
+ line-height: 1;
4378
4381
  min-width: 100px;
4379
4382
  border: 1px solid #575757;
4380
4383
  background-color: #363636;