@silexlabs/silex 3.0.0-alpha.97 → 3.0.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.
Files changed (206) hide show
  1. package/.env.default +2 -1
  2. package/README.md +31 -9
  3. package/dist/client/client/api.d.ts +5 -0
  4. package/dist/client/client/assetUrl.d.ts +3 -0
  5. package/dist/client/client/config.d.ts +31 -0
  6. package/dist/client/client/events.d.ts +7 -1
  7. package/dist/client/client/grapesjs/PublicationManager.d.ts +2 -1
  8. package/dist/client/client/grapesjs/css-props.d.ts +6 -0
  9. package/dist/client/client/grapesjs/img.d.ts +6 -0
  10. package/dist/client/client/grapesjs/index.d.ts +2 -2
  11. package/dist/client/client/grapesjs/new-page-dialog.d.ts +1 -1
  12. package/dist/client/client/grapesjs/page-panel.d.ts +1 -1
  13. package/dist/client/client/grapesjs/project-bar.d.ts +16 -0
  14. package/dist/client/client/grapesjs/resize-panel.d.ts +1 -0
  15. package/dist/client/client/grapesjs/rich-text.d.ts +4 -1
  16. package/dist/client/client/grapesjs/semantic.d.ts +1 -1
  17. package/dist/client/client/grapesjs/settings-sections.d.ts +15 -0
  18. package/dist/client/client/grapesjs/settings.d.ts +3 -1
  19. package/dist/client/client/grapesjs/symbolDialogs.d.ts +1 -1
  20. package/dist/client/client/grapesjs/view-buttons.d.ts +1 -0
  21. package/dist/client/client/index.d.ts +10 -0
  22. package/dist/client/client/publication-transformers.d.ts +4 -3
  23. package/dist/client/client/publish-custom-code-block.d.ts +4 -0
  24. package/dist/client/client/publish-fonts.d.ts +4 -0
  25. package/dist/client/client/utils.d.ts +4 -0
  26. package/dist/client/constants.d.ts +1 -0
  27. package/dist/client/css/admin.css +273 -32
  28. package/dist/client/index.html +2 -1
  29. package/dist/client/js/main.js +164 -123
  30. package/dist/client/js/main.js.LICENSE.txt +15 -1
  31. package/dist/client/types.d.ts +12 -7
  32. package/dist/plugins/client/client/events.d.ts +7 -1
  33. package/dist/plugins/client/client/events.js +7 -1
  34. package/dist/plugins/client/client/events.js.map +1 -1
  35. package/dist/plugins/client/plugins/client/template.js +108 -58
  36. package/dist/plugins/client/plugins/client/template.js.map +1 -1
  37. package/dist/plugins/client/types.d.ts +12 -7
  38. package/dist/plugins/client/types.js +6 -0
  39. package/dist/plugins/client/types.js.map +1 -1
  40. package/dist/plugins/server/constants.d.ts +1 -0
  41. package/dist/plugins/server/constants.js +2 -1
  42. package/dist/plugins/server/constants.js.map +1 -1
  43. package/dist/plugins/server/plugins/server/FtpConnector.d.ts +1 -0
  44. package/dist/plugins/server/plugins/server/FtpConnector.js +12 -1
  45. package/dist/plugins/server/plugins/server/FtpConnector.js.map +1 -1
  46. package/dist/plugins/server/plugins/server/GitlabConnector.d.ts +3 -0
  47. package/dist/plugins/server/plugins/server/GitlabConnector.js +72 -35
  48. package/dist/plugins/server/plugins/server/GitlabConnector.js.map +1 -1
  49. package/dist/plugins/server/server/config.js +3 -3
  50. package/dist/plugins/server/server/config.js.map +1 -1
  51. package/dist/plugins/server/server/connectors/FsHosting.d.ts +1 -0
  52. package/dist/plugins/server/server/connectors/FsHosting.js +13 -1
  53. package/dist/plugins/server/server/connectors/FsHosting.js.map +1 -1
  54. package/dist/plugins/server/server/connectors/FsStorage.d.ts +2 -1
  55. package/dist/plugins/server/server/connectors/FsStorage.js +29 -25
  56. package/dist/plugins/server/server/connectors/FsStorage.js.map +1 -1
  57. package/dist/plugins/server/server/connectors/connectors.d.ts +1 -0
  58. package/dist/plugins/server/server/jobs.js +4 -2
  59. package/dist/plugins/server/server/jobs.js.map +1 -1
  60. package/dist/plugins/server/types.d.ts +12 -7
  61. package/dist/plugins/server/types.js +7 -1
  62. package/dist/plugins/server/types.js.map +1 -1
  63. package/dist/server/constants.js +2 -1
  64. package/dist/server/server/api/publicationApi.js +3 -5
  65. package/dist/server/server/api/websiteApi.js +22 -3
  66. package/dist/server/server/cli.js +9 -6
  67. package/dist/server/server/config.js +3 -3
  68. package/dist/server/server/connectors/FsHosting.js +13 -1
  69. package/dist/server/server/connectors/FsStorage.js +28 -25
  70. package/dist/server/server/jobs.js +4 -2
  71. package/dist/server/types.js +7 -1
  72. package/package.json +34 -30
  73. package/public/assets/favicon.ico +0 -0
  74. package/public/assets/favicon.png +0 -0
  75. package/public/assets/logo-silex-small.png +0 -0
  76. package/src/css/_variables.scss +5 -3
  77. package/src/css/dialog.scss +22 -1
  78. package/src/css/fonts.scss +31 -0
  79. package/src/css/footer.scss +1 -1
  80. package/src/css/grapesjs-plugins.scss +34 -0
  81. package/src/css/grapesjs.scss +26 -11
  82. package/src/css/index.scss +1 -0
  83. package/src/css/project-bar.scss +11 -7
  84. package/src/css/silex.scss +58 -5
  85. package/src/html/index.pug +2 -2
  86. package/src/ts/client/api.ts +14 -9
  87. package/src/ts/client/assetUrl.test.ts +39 -0
  88. package/src/ts/client/assetUrl.ts +24 -5
  89. package/src/ts/client/config.ts +85 -4
  90. package/src/ts/client/events.ts +15 -9
  91. package/src/ts/client/grapesjs/PublicationManager.ts +71 -38
  92. package/src/ts/client/grapesjs/PublicationUi.ts +13 -11
  93. package/src/ts/client/grapesjs/css-props.ts +544 -0
  94. package/src/ts/client/grapesjs/eleventy.ts +2 -5
  95. package/src/ts/client/grapesjs/footer.ts +24 -9
  96. package/src/ts/client/grapesjs/img.ts +147 -0
  97. package/src/ts/client/grapesjs/index.ts +63 -25
  98. package/src/ts/client/grapesjs/internal-links.test.ts +2 -1
  99. package/src/ts/client/grapesjs/internal-links.ts +0 -1
  100. package/src/ts/client/grapesjs/new-page-dialog.ts +2 -3
  101. package/src/ts/client/grapesjs/page-panel.ts +28 -3
  102. package/src/ts/client/grapesjs/project-bar.ts +83 -64
  103. package/src/ts/client/grapesjs/resize-panel.ts +20 -0
  104. package/src/ts/client/grapesjs/rich-text.ts +21 -13
  105. package/src/ts/client/grapesjs/semantic.ts +3 -3
  106. package/src/ts/client/grapesjs/settings-sections.ts +117 -0
  107. package/src/ts/client/grapesjs/settings.ts +120 -77
  108. package/src/ts/client/grapesjs/symbolDialogs.ts +2 -3
  109. package/src/ts/client/grapesjs/view-buttons.ts +42 -0
  110. package/src/ts/client/index.ts +13 -6
  111. package/src/ts/client/publication-transformers.test.ts +13 -5
  112. package/src/ts/client/publication-transformers.ts +60 -47
  113. package/{dist/plugins/client/client/utils.js → src/ts/client/publish-custom-code-block.ts} +14 -8
  114. package/{dist/plugins/client/page.js → src/ts/client/publish-fonts.ts} +19 -14
  115. package/src/ts/client/utils.ts +18 -0
  116. package/src/ts/constants.ts +1 -0
  117. package/src/ts/plugins/client/template.ts +112 -60
  118. package/src/ts/plugins/server/FtpConnector.ts +14 -2
  119. package/src/ts/plugins/server/GitlabConnector.ts +71 -32
  120. package/src/ts/server/api/publicationApi.ts +5 -5
  121. package/src/ts/server/api/websiteApi.ts +39 -9
  122. package/src/ts/server/cli.ts +7 -5
  123. package/src/ts/server/config.ts +4 -4
  124. package/src/ts/server/connectors/FsHosting.ts +11 -5
  125. package/src/ts/server/connectors/FsStorage.ts +33 -4
  126. package/src/ts/server/connectors/connectors.ts +1 -1
  127. package/src/ts/server/jobs.ts +4 -2
  128. package/src/ts/types.ts +10 -7
  129. package/dist/plugins/client/client/api.d.ts +0 -85
  130. package/dist/plugins/client/client/api.js +0 -114
  131. package/dist/plugins/client/client/api.js.map +0 -1
  132. package/dist/plugins/client/client/assetUrl.d.ts +0 -51
  133. package/dist/plugins/client/client/assetUrl.js +0 -224
  134. package/dist/plugins/client/client/assetUrl.js.map +0 -1
  135. package/dist/plugins/client/client/config.d.ts +0 -58
  136. package/dist/plugins/client/client/config.js +0 -90
  137. package/dist/plugins/client/client/config.js.map +0 -1
  138. package/dist/plugins/client/client/grapesjs/LoginDialog.d.ts +0 -15
  139. package/dist/plugins/client/client/grapesjs/LoginDialog.js +0 -195
  140. package/dist/plugins/client/client/grapesjs/LoginDialog.js.map +0 -1
  141. package/dist/plugins/client/client/grapesjs/PublicationManager.d.ts +0 -72
  142. package/dist/plugins/client/client/grapesjs/PublicationManager.js +0 -356
  143. package/dist/plugins/client/client/grapesjs/PublicationManager.js.map +0 -1
  144. package/dist/plugins/client/client/grapesjs/PublicationUi.d.ts +0 -62
  145. package/dist/plugins/client/client/grapesjs/PublicationUi.js +0 -336
  146. package/dist/plugins/client/client/grapesjs/PublicationUi.js.map +0 -1
  147. package/dist/plugins/client/client/grapesjs/blocks.d.ts +0 -1
  148. package/dist/plugins/client/client/grapesjs/blocks.js +0 -37
  149. package/dist/plugins/client/client/grapesjs/blocks.js.map +0 -1
  150. package/dist/plugins/client/client/grapesjs/breadcrumbs.d.ts +0 -1
  151. package/dist/plugins/client/client/grapesjs/breadcrumbs.js +0 -75
  152. package/dist/plugins/client/client/grapesjs/breadcrumbs.js.map +0 -1
  153. package/dist/plugins/client/client/grapesjs/footer.d.ts +0 -2
  154. package/dist/plugins/client/client/grapesjs/footer.js +0 -28
  155. package/dist/plugins/client/client/grapesjs/footer.js.map +0 -1
  156. package/dist/plugins/client/client/grapesjs/index.d.ts +0 -5
  157. package/dist/plugins/client/client/grapesjs/index.js +0 -313
  158. package/dist/plugins/client/client/grapesjs/index.js.map +0 -1
  159. package/dist/plugins/client/client/grapesjs/internal-links.d.ts +0 -1
  160. package/dist/plugins/client/client/grapesjs/internal-links.js +0 -219
  161. package/dist/plugins/client/client/grapesjs/internal-links.js.map +0 -1
  162. package/dist/plugins/client/client/grapesjs/new-page-dialog.d.ts +0 -2
  163. package/dist/plugins/client/client/grapesjs/new-page-dialog.js +0 -83
  164. package/dist/plugins/client/client/grapesjs/new-page-dialog.js.map +0 -1
  165. package/dist/plugins/client/client/grapesjs/openImport.d.ts +0 -9
  166. package/dist/plugins/client/client/grapesjs/openImport.js +0 -74
  167. package/dist/plugins/client/client/grapesjs/openImport.js.map +0 -1
  168. package/dist/plugins/client/client/grapesjs/page-panel.d.ts +0 -3
  169. package/dist/plugins/client/client/grapesjs/page-panel.js +0 -113
  170. package/dist/plugins/client/client/grapesjs/page-panel.js.map +0 -1
  171. package/dist/plugins/client/client/grapesjs/project-bar.d.ts +0 -1
  172. package/dist/plugins/client/client/grapesjs/project-bar.js +0 -104
  173. package/dist/plugins/client/client/grapesjs/project-bar.js.map +0 -1
  174. package/dist/plugins/client/client/grapesjs/rich-text.d.ts +0 -1
  175. package/dist/plugins/client/client/grapesjs/rich-text.js +0 -31
  176. package/dist/plugins/client/client/grapesjs/rich-text.js.map +0 -1
  177. package/dist/plugins/client/client/grapesjs/semantic.d.ts +0 -1
  178. package/dist/plugins/client/client/grapesjs/semantic.js +0 -110
  179. package/dist/plugins/client/client/grapesjs/semantic.js.map +0 -1
  180. package/dist/plugins/client/client/grapesjs/settings.d.ts +0 -2
  181. package/dist/plugins/client/client/grapesjs/settings.js +0 -198
  182. package/dist/plugins/client/client/grapesjs/settings.js.map +0 -1
  183. package/dist/plugins/client/client/grapesjs/storage.d.ts +0 -1
  184. package/dist/plugins/client/client/grapesjs/storage.js +0 -126
  185. package/dist/plugins/client/client/grapesjs/storage.js.map +0 -1
  186. package/dist/plugins/client/client/grapesjs/symbolDialogs.d.ts +0 -3
  187. package/dist/plugins/client/client/grapesjs/symbolDialogs.js +0 -36
  188. package/dist/plugins/client/client/grapesjs/symbolDialogs.js.map +0 -1
  189. package/dist/plugins/client/client/publication-transformers.d.ts +0 -41
  190. package/dist/plugins/client/client/publication-transformers.js +0 -238
  191. package/dist/plugins/client/client/publication-transformers.js.map +0 -1
  192. package/dist/plugins/client/client/utils.d.ts +0 -2
  193. package/dist/plugins/client/client/utils.js.map +0 -1
  194. package/dist/plugins/client/constants.d.ts +0 -29
  195. package/dist/plugins/client/constants.js +0 -46
  196. package/dist/plugins/client/constants.js.map +0 -1
  197. package/dist/plugins/client/page.d.ts +0 -2
  198. package/dist/plugins/client/page.js.map +0 -1
  199. package/dist/plugins/client/plugins/client/11ty.d.ts +0 -17
  200. package/dist/plugins/client/plugins/client/11ty.js +0 -86
  201. package/dist/plugins/client/plugins/client/11ty.js.map +0 -1
  202. package/dist/plugins/client/plugins/client/publicationRenderer.d.ts +0 -2
  203. package/dist/plugins/client/plugins/client/publicationRenderer.js +0 -170
  204. package/dist/plugins/client/plugins/client/publicationRenderer.js.map +0 -1
  205. package/src/ts/plugins/client/11ty.ts +0 -104
  206. package/src/ts/plugins/client/publicationRenderer.ts +0 -174
@@ -1,238 +0,0 @@
1
- /*
2
- * Silex website builder, free/libre no-code tool for makers.
3
- * Copyright (c) 2023 lexoyo and Silex Labs foundation
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Affero General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or any later version.
8
- *
9
- * This program is distributed in the hope that it will be useful,
10
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- * GNU Affero General Public License for more details.
13
- *
14
- * You should have received a copy of the GNU Affero General Public License
15
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
16
- */
17
- import { ClientSideFileType } from '../types';
18
- import { onAll } from './utils';
19
- /**
20
- * @fileoverview Silex publication transformers are used to control how the site is rendered and published
21
- * Here we call path the path on the connector (either storage or hosting)
22
- * We call permalink the path at which the resource is served
23
- * This is where pages and assets paths and permalinks are set
24
- * Here we also update background images urls, assets url and links to match the new permalinks
25
- */
26
- // Properties names used to store the original methods on the components and styles
27
- const ATTRIBUTE_METHOD_STORE_HTML = 'tmp-pre-publication-transformer-tohtml';
28
- const ATTRIBUTE_METHOD_STORE_SRC = 'tmp-pre-publication-transformer-src';
29
- const ATTRIBUTE_METHOD_STORE_ATTRIBUTES_SRC = 'tmp-pre-publication-transformer-attributes-src';
30
- const ATTRIBUTE_METHOD_STORE_INLINE_CSS = 'tmp-pre-publication-transformer-inline-css';
31
- const ATTRIBUTE_METHOD_STORE_HREF = 'tmp-pre-publication-transformer-href';
32
- const ATTRIBUTE_METHOD_STORE_CSS = 'tmp-pre-publication-transformer-tocss';
33
- export function validatePublicationTransformer(transformer) {
34
- // List all the properties
35
- const allowedProperties = [
36
- 'renderComponent',
37
- 'renderCssRule',
38
- 'transformFile',
39
- 'transformPermalink',
40
- 'transformPath',
41
- ];
42
- // Check that there are no unknown properties
43
- Object.keys(transformer).forEach(key => {
44
- if (!allowedProperties.includes(key)) {
45
- throw new Error(`Publication transformer: unknown property ${key}`);
46
- }
47
- });
48
- // Check that the methods are functions
49
- allowedProperties.forEach(key => {
50
- if (typeof transformer[key] !== 'function' && transformer[key] !== undefined) {
51
- throw new Error(`Publication transformer: ${key} must be a function`);
52
- }
53
- });
54
- }
55
- /**
56
- * Alter the components rendering
57
- * Exported for unit tests
58
- */
59
- export function renderComponents(editor) {
60
- const config = editor.getModel().get('config');
61
- onAll(editor, (c) => {
62
- if (c.get(ATTRIBUTE_METHOD_STORE_HTML)) {
63
- console.warn('Publication transformer: HTML transform already altered', c);
64
- }
65
- else {
66
- const initialToHTML = c.toHTML.bind(c);
67
- c[ATTRIBUTE_METHOD_STORE_HTML] = c.toHTML;
68
- const initialGetStyle = c.getStyle.bind(c);
69
- c[ATTRIBUTE_METHOD_STORE_INLINE_CSS] = c.getStyle;
70
- const href = c.get('attributes').href;
71
- if (href?.startsWith('./')) {
72
- c[ATTRIBUTE_METHOD_STORE_HREF] = href;
73
- c.set('attributes', {
74
- ...c.get('attributes'),
75
- href: transformPermalink(editor, href, ClientSideFileType.HTML),
76
- });
77
- }
78
- // Handle both c.attributes.src and c.attributes.attributes.src
79
- // For some reason we need both
80
- // Especially when the component is not on the current page, we need c.attributes.attributes.src
81
- if (c.get('attributes').src) {
82
- c[ATTRIBUTE_METHOD_STORE_SRC] = c.get('attributes').src;
83
- const src = transformPermalink(editor, c.get('attributes').src, ClientSideFileType.ASSET);
84
- c.set('attributes', {
85
- ...c.get('attributes'),
86
- src,
87
- });
88
- }
89
- if (c.get('src')) {
90
- c[ATTRIBUTE_METHOD_STORE_ATTRIBUTES_SRC] = c.get('src');
91
- const src = transformPermalink(editor, c.get('src'), ClientSideFileType.ASSET);
92
- c.set('src', src);
93
- }
94
- c.toHTML = () => {
95
- return config.publicationTransformers.reduce((html, transformer) => {
96
- try {
97
- return transformer.renderComponent ? transformer.renderComponent(c, () => html) ?? html : html;
98
- }
99
- catch (e) {
100
- console.error('Publication transformer: error rendering component', c, e);
101
- return html;
102
- }
103
- }, initialToHTML());
104
- };
105
- c.getStyle = () => transformBgImage(editor, initialGetStyle());
106
- }
107
- });
108
- }
109
- /**
110
- * Alter the styles rendering
111
- * Exported for unit tests
112
- */
113
- export function renderCssRules(editor) {
114
- const config = editor.getModel().get('config');
115
- editor.Css.getAll().forEach((style) => {
116
- if (style[ATTRIBUTE_METHOD_STORE_CSS]) {
117
- console.warn('Publication transformer: CSS transform already altered', style);
118
- }
119
- else {
120
- const initialGetStyle = style.getStyle.bind(style);
121
- style[ATTRIBUTE_METHOD_STORE_CSS] = style.getStyle;
122
- style.getStyle = () => {
123
- try {
124
- const result = config.publicationTransformers.reduce((s, transformer) => {
125
- return {
126
- ...transformer.renderCssRule ? transformer.renderCssRule(s, initialGetStyle) ?? s : s,
127
- };
128
- }, transformBgImage(editor, initialGetStyle()));
129
- return result;
130
- }
131
- catch (e) {
132
- console.error('Publication transformer: error rendering style', style, e);
133
- return initialGetStyle();
134
- }
135
- };
136
- }
137
- });
138
- }
139
- /**
140
- * Transform background image url according to the transformed path of assets
141
- */
142
- export function transformBgImage(editor, style) {
143
- const url = style['background-image'];
144
- const bgUrl = url?.match(/url\(["']?(.*?)["']?\)/)?.pop();
145
- if (bgUrl) {
146
- return {
147
- ...style,
148
- 'background-image': `url(${transformPermalink(editor, bgUrl, ClientSideFileType.ASSET)})`,
149
- };
150
- }
151
- return style;
152
- }
153
- /**
154
- * Transform files
155
- * Exported for unit tests
156
- */
157
- export function transformFiles(editor, data) {
158
- const config = editor.getModel().get('config');
159
- data.files = config.publicationTransformers.reduce((files, transformer) => {
160
- return files.map((file, idx) => {
161
- try {
162
- const page = data.pages[idx] ?? null;
163
- return transformer.transformFile ? transformer.transformFile(file) ?? file : file;
164
- }
165
- catch (e) {
166
- console.error('Publication transformer: error transforming file', file, e);
167
- return file;
168
- }
169
- });
170
- }, data.files);
171
- }
172
- /**
173
- * Transform files paths
174
- * Exported for unit tests
175
- */
176
- export function transformPermalink(editor, path, type) {
177
- const config = editor.getModel().get('config');
178
- return config.publicationTransformers.reduce((result, transformer) => {
179
- try {
180
- return transformer.transformPermalink ? transformer.transformPermalink(result, type) ?? result : result;
181
- }
182
- catch (e) {
183
- console.error('Publication transformer: error transforming path', result, e);
184
- return result;
185
- }
186
- }, path);
187
- }
188
- export function transformPath(editor, path, type) {
189
- const config = editor.getModel().get('config');
190
- return config.publicationTransformers.reduce((result, transformer) => {
191
- try {
192
- return transformer.transformPath ? transformer.transformPath(result, type) ?? result : result;
193
- }
194
- catch (e) {
195
- console.error('Publication transformer: error transforming path', result, e);
196
- return result;
197
- }
198
- }, path);
199
- }
200
- export function resetRenderComponents(editor) {
201
- onAll(editor, (c) => {
202
- if (c[ATTRIBUTE_METHOD_STORE_HTML]) {
203
- c.toHTML = c[ATTRIBUTE_METHOD_STORE_HTML];
204
- delete c[ATTRIBUTE_METHOD_STORE_HTML];
205
- }
206
- if (c[ATTRIBUTE_METHOD_STORE_INLINE_CSS]) {
207
- c.getStyle = c[ATTRIBUTE_METHOD_STORE_INLINE_CSS];
208
- delete c[ATTRIBUTE_METHOD_STORE_INLINE_CSS];
209
- }
210
- if (c[ATTRIBUTE_METHOD_STORE_SRC]) {
211
- c.set('attributes', {
212
- ...c.get('attributes'),
213
- src: c[ATTRIBUTE_METHOD_STORE_SRC],
214
- });
215
- delete c[ATTRIBUTE_METHOD_STORE_SRC];
216
- }
217
- if (c[ATTRIBUTE_METHOD_STORE_ATTRIBUTES_SRC]) {
218
- c.set('src', c[ATTRIBUTE_METHOD_STORE_ATTRIBUTES_SRC]);
219
- delete c[ATTRIBUTE_METHOD_STORE_ATTRIBUTES_SRC];
220
- }
221
- if (c[ATTRIBUTE_METHOD_STORE_HREF]) {
222
- c.set('attributes', {
223
- ...c.get('attributes'),
224
- href: c[ATTRIBUTE_METHOD_STORE_HREF],
225
- });
226
- delete c[ATTRIBUTE_METHOD_STORE_HREF];
227
- }
228
- });
229
- }
230
- export function resetRenderCssRules(editor) {
231
- editor.Css.getAll().forEach(c => {
232
- if (c[ATTRIBUTE_METHOD_STORE_CSS]) {
233
- c.getStyle = c[ATTRIBUTE_METHOD_STORE_CSS];
234
- delete c[ATTRIBUTE_METHOD_STORE_CSS];
235
- }
236
- });
237
- }
238
- //# sourceMappingURL=publication-transformers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publication-transformers.js","sourceRoot":"","sources":["../../../../src/ts/client/publication-transformers.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Component, Editor } from 'grapesjs';
2
- export declare function onAll(editor: Editor, cbk: (c: Component) => void): void;
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/ts/client/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,mCAAmC;AACnC,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,GAA2B;IAC/D,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;SAClB,OAAO,CAAC,IAAI,CAAC,EAAE;QACd,IAAI,CAAC,gBAAgB,EAAE;aACpB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -1,29 +0,0 @@
1
- /**
2
- * @fileoverview define constants for Silex client and server
3
- */
4
- export declare const WEBSITE_DATA_FILE = "website.json";
5
- export declare const WEBSITE_META_DATA_FILE = "meta.json";
6
- export declare const DEFAULT_WEBSITE_ID = "default";
7
- export declare const DEFAULT_LANGUAGE = "en";
8
- export declare const CLIENT_CONFIG_FILE_NAME = "silex.js";
9
- export declare const API_PATH = "/api";
10
- export declare const API_CONNECTOR_PATH = "/connector";
11
- export declare const API_CONNECTOR_USER = "/user";
12
- export declare const API_CONNECTOR_LIST = "/";
13
- export declare const API_CONNECTOR_LOGOUT = "/logout";
14
- export declare const API_CONNECTOR_LOGIN = "/login";
15
- export declare const API_CONNECTOR_SETTINGS = "/settings";
16
- export declare const API_CONNECTOR_LOGIN_CALLBACK = "/login/callback";
17
- export declare const API_PUBLICATION_PATH = "/publication";
18
- export declare const API_PUBLICATION_PUBLISH = "/";
19
- export declare const API_PUBLICATION_STATUS = "/publication/status";
20
- export declare const API_WEBSITE_PATH = "/website";
21
- export declare const API_WEBSITE_READ = "/";
22
- export declare const API_WEBSITE_WRITE = "/";
23
- export declare const API_WEBSITE_CREATE = "/";
24
- export declare const API_WEBSITE_DELETE = "/";
25
- export declare const API_WEBSITE_LIST = "/";
26
- export declare const API_WEBSITE_ASSET_READ = "/assets";
27
- export declare const API_WEBSITE_ASSETS_WRITE = "/assets";
28
- export declare const API_WEBSITE_META_READ = "/meta";
29
- export declare const API_WEBSITE_META_WRITE = "/meta";
@@ -1,46 +0,0 @@
1
- /*
2
- * Silex website builder, free/libre no-code tool for makers.
3
- * Copyright (c) 2023 lexoyo and Silex Labs foundation
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Affero General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or any later version.
8
- *
9
- * This program is distributed in the hope that it will be useful,
10
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- * GNU Affero General Public License for more details.
13
- *
14
- * You should have received a copy of the GNU Affero General Public License
15
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
16
- */
17
- /**
18
- * @fileoverview define constants for Silex client and server
19
- */
20
- export const WEBSITE_DATA_FILE = 'website.json';
21
- export const WEBSITE_META_DATA_FILE = 'meta.json';
22
- export const DEFAULT_WEBSITE_ID = 'default';
23
- export const DEFAULT_LANGUAGE = 'en';
24
- export const CLIENT_CONFIG_FILE_NAME = 'silex.js';
25
- export const API_PATH = '/api';
26
- export const API_CONNECTOR_PATH = '/connector';
27
- export const API_CONNECTOR_USER = '/user';
28
- export const API_CONNECTOR_LIST = '/';
29
- export const API_CONNECTOR_LOGOUT = '/logout';
30
- export const API_CONNECTOR_LOGIN = '/login';
31
- export const API_CONNECTOR_SETTINGS = '/settings';
32
- export const API_CONNECTOR_LOGIN_CALLBACK = '/login/callback';
33
- export const API_PUBLICATION_PATH = '/publication';
34
- export const API_PUBLICATION_PUBLISH = '/';
35
- export const API_PUBLICATION_STATUS = '/publication/status';
36
- export const API_WEBSITE_PATH = '/website';
37
- export const API_WEBSITE_READ = '/';
38
- export const API_WEBSITE_WRITE = '/';
39
- export const API_WEBSITE_CREATE = '/';
40
- export const API_WEBSITE_DELETE = '/';
41
- export const API_WEBSITE_LIST = '/';
42
- export const API_WEBSITE_ASSET_READ = '/assets';
43
- export const API_WEBSITE_ASSETS_WRITE = '/assets';
44
- export const API_WEBSITE_META_READ = '/meta';
45
- export const API_WEBSITE_META_WRITE = '/meta';
46
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/ts/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;GAEG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAC/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAA;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAA;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAA;AACpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAA;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAA;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAA;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AACrC,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAC7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAA;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAA;AACjD,MAAM,CAAC,MAAM,4BAA4B,GAAG,iBAAiB,CAAA;AAE7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAA;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAA;AAE3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAA;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAA;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAA;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare function getPageSlug(pageName: any): any;
2
- export declare function getPageLink(pageName: any): string;
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/ts/page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,yBAAyB;AACzB,4CAA4C;AAC5C,MAAM,UAAU,WAAW,CAAC,QAAQ;IAClC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;SACzB,WAAW,EAAE;SACb,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAC5B,uCAAuC;SACtC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;QACrB,kBAAkB;SACjB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACxB,CAAC;AACD,MAAM,UAAU,WAAW,CAAC,QAAQ;IAClC,OAAO,KAAK,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAA;AAC1C,CAAC"}
@@ -1,17 +0,0 @@
1
- import { ClientConfig } from '../../client/config';
2
- interface PluginOptions {
3
- html: {
4
- url: string;
5
- path: string;
6
- };
7
- css: {
8
- url: string;
9
- path: string;
10
- };
11
- assets: {
12
- url: string;
13
- path: string;
14
- };
15
- }
16
- declare const _default: (config: ClientConfig, opts: Partial<PluginOptions>) => void;
17
- export default _default;
@@ -1,86 +0,0 @@
1
- export default (config, opts) => {
2
- const options = {
3
- ...opts,
4
- html: {
5
- url: '/',
6
- path: './',
7
- ...opts.html,
8
- },
9
- css: {
10
- url: '/css',
11
- path: './css',
12
- permalink: '/css',
13
- ...opts.css,
14
- },
15
- assets: {
16
- url: '/',
17
- path: './',
18
- ...opts.assets,
19
- },
20
- };
21
- config.addPublicationTransformers({
22
- transformPermalink: (path, type) => {
23
- switch (type) {
24
- case 'html':
25
- console.log('Silex: transform path for 11ty', path, options.html.url + path);
26
- return options.html.url + path;
27
- case 'css':
28
- console.log('Silex: transform path for 11ty', path, options.css.url + path.replace(/\.css$/, '.css.liquid'));
29
- return options.css.url + path
30
- .replace(/^\/css/, '')
31
- .replace(/\.css.liquid$/, '.css');
32
- case 'asset':
33
- console.log('Silex: transform path for 11ty', path, options.assets.url + path);
34
- return options.assets.url + path;
35
- }
36
- throw new Error(`Unknown file type ${type}`);
37
- },
38
- transformPath: (path, type) => {
39
- switch (type) {
40
- case 'html':
41
- return options.html.path + path;
42
- case 'css':
43
- const res = options.css.path + path
44
- // Remove default path
45
- .replace(/^\/css/, '')
46
- // Change extension
47
- .replace(/\.css$/, '.css.liquid');
48
- return res;
49
- case 'asset':
50
- return options.assets.path + path
51
- // Remove default path
52
- .replace(/^\/assets/, '');
53
- }
54
- throw new Error(`Unknown file type ${type}`);
55
- },
56
- transformFile: (file) => {
57
- const fileWithContent = file;
58
- switch (file.type) {
59
- case 'html':
60
- return {
61
- ...file,
62
- //path: options.html.path + fileWithContent.path,
63
- //content: `---\npermalink: ${options.html.url}${fileWithContent.path}\n---\n${fileWithContent.content}`
64
- };
65
- case 'css':
66
- const path = fileWithContent.path
67
- // Remove extension added in transformPath (options.css.path)
68
- .replace(new RegExp(`^${options.css.path}`), '')
69
- // Remove path added in transformPath (options.css.path)
70
- .replace(/\.css\.liquid$/, '.css');
71
- return {
72
- ...file,
73
- //path: options.css.path + fileWithContent.path.replace(/\.css$/, '.css.liquid'),
74
- content: `---\npermalink: ${options.css.permalink}${path}\n---\n${fileWithContent.content}`
75
- };
76
- case 'asset':
77
- return {
78
- ...file,
79
- //path: options.assets.path + fileWithContent.path,
80
- };
81
- }
82
- throw new Error(`Unknown file type ${file.type}`);
83
- },
84
- });
85
- };
86
- //# sourceMappingURL=11ty.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"11ty.js","sourceRoot":"","sources":["../../../../../src/ts/plugins/client/11ty.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- declare const _default: (config: any, opts?: any) => void;
2
- export default _default;
@@ -1,170 +0,0 @@
1
- /*
2
- * Silex website builder, free/libre no-code tool for makers.
3
- * Copyright (c) 2023 lexoyo and Silex Labs foundation
4
- *
5
- * This program is free software: you can redistribute it and/or modify
6
- * it under the terms of the GNU Affero General Public License as published by
7
- * the Free Software Foundation, either version 3 of the License, or any later version.
8
- *
9
- * This program is distributed in the hope that it will be useful,
10
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- * GNU Affero General Public License for more details.
13
- *
14
- * You should have received a copy of the GNU Affero General Public License
15
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
16
- */
17
- /**
18
- * @deprecated
19
- * This plugin is deprecated. Use the publication renderer plugin instead.
20
- */
21
- console.warn('This plugin is deprecated. Use the publication renderer plugin instead.');
22
- throw 'This plugin is deprecated. Use the publication renderer plugin instead.';
23
- /* Usage:
24
- import publicationRenderer from 'https://unpkg.com/@silexlabs/silex@latest/dist/plugins/client/plugins/client/publicationRenderer'
25
- await config.addPlugin(publicationRenderer, {
26
- css: {
27
- frontMatter: true,
28
- ext: '.css.liquid',
29
- path: '../../../pages'
30
- },
31
- html: {
32
- frontMatter: false,
33
- path: '../../../_includes'
34
- },
35
- assets: {
36
- path: '../../../',
37
- url: '/',
38
- },
39
- })
40
- */
41
- import { getPageSlug } from '../../page.js';
42
- import { onAll } from '../../client/utils.js';
43
- import { ClientEvent } from '../../client/events.js';
44
- export default (config, opts = {}) => {
45
- const options = {
46
- autoHomePage: false,
47
- ...opts,
48
- html: {
49
- frontMatter: false,
50
- ext: '.html',
51
- url: '/',
52
- path: './',
53
- ...opts.html,
54
- },
55
- css: {
56
- frontMatter: false,
57
- ext: '.css',
58
- url: '/css',
59
- path: './css',
60
- ...opts.css,
61
- },
62
- assets: {
63
- url: '/',
64
- path: './',
65
- ...opts.assets,
66
- },
67
- };
68
- config.on(ClientEvent.STARTUP_END, ({ editor }) => {
69
- editor.on(ClientEvent.PUBLISH_START, () => {
70
- // Update assets URL to display outside the editor
71
- const assetsFolderUrl = options.assets.url;
72
- if (assetsFolderUrl) {
73
- // Concat the paths, handles the trailing and leading slashes
74
- const publishedUrl = path => `${assetsFolderUrl.replace(/\/+$/, '')}/${path.replace(/^\/+/, '')}`;
75
- // New URLs for assets, according to site config
76
- onAll(editor, c => {
77
- // Attributes
78
- if (c.get('type') === 'image') {
79
- const src = c.get('src');
80
- c.set('tmp-src', src);
81
- c.set('src', publishedUrl(src));
82
- }
83
- //// Inline styles
84
- //// This is handled by the editor.Css.getAll loop
85
- //const bgUrl = c.getStyle()['background-image']?.match(/url\('(.*)'\)/)?.pop()
86
- //if(bgUrl) {
87
- // c.set('tmp-bg-url', bgUrl)
88
- // c.setStyle({
89
- // ...c.getStyle(),
90
- // 'background-image': `url('${publishedUrl(bgUrl)}')`,
91
- // })
92
- //}
93
- });
94
- editor.Css.getAll()
95
- .forEach(c => {
96
- const bgUrl = c.getStyle()['background-image']?.match(/url\('(.*)'\)/)?.pop();
97
- if (bgUrl) {
98
- c.setStyle({
99
- ...c.getStyle(),
100
- 'background-image': `url('${publishedUrl(bgUrl)}')`,
101
- });
102
- c.set('tmp-bg-url-css', bgUrl);
103
- }
104
- });
105
- }
106
- editor.Pages.getAll().forEach(page => {
107
- if (page.get('type') === 'main' && options?.autoHomePage) {
108
- page.set('slug', 'index');
109
- }
110
- else {
111
- page.set('slug', getPageSlug(page.get('name') || page.get('type')));
112
- }
113
- });
114
- });
115
- editor.on(ClientEvent.PUBLISH_END, () => {
116
- const assetsFolderUrl = options.assets.url;
117
- // Reset asset URLs
118
- if (assetsFolderUrl) {
119
- onAll(editor, c => {
120
- if (c.get('type') === 'image' && c.has('tmp-src')) {
121
- c.set('src', c.get('tmp-src'));
122
- c.set('tmp-src');
123
- }
124
- //// This is handled by the editor.Css.getAll loop
125
- //if(c.getStyle()['background-image'] && c.has('tmp-bg-url')) {
126
- // c.setStyle({
127
- // ...c.getStyle(),
128
- // 'background-image': `url('${c.get('tmp-bg-url')}')`,
129
- // })
130
- // c.set('tmp-bg-url')
131
- //}
132
- });
133
- editor.Css.getAll()
134
- .forEach(c => {
135
- if (c.has('tmp-bg-url-css')) {
136
- c.setStyle({
137
- ...c.getStyle(),
138
- 'background-image': `url('${c.get('tmp-bg-url-css')}')`,
139
- });
140
- c.set('tmp-bg-url-css');
141
- }
142
- });
143
- }
144
- });
145
- //editor.on(ClientEvent.PUBLISH_DATA, data => {
146
- // data.pages.forEach((page: Page, idx) => {
147
- // const file = data.files[idx] as ClientSideFile
148
- // console.log('Silex: publication renderer: page', page, file)
149
- // // CSS
150
- // if(file.type === 'css') {
151
- // file.cssPath = file.cssPath.replace(/\.css$/, options.css.ext)
152
- // file.cssPath = options.css.path + file.cssPath
153
- // if (options.css.frontMatter) {
154
- // file.css = `---\npermalink: ${options.css.url}/${page.slug}.css\n---\n${file.css}`
155
- // }
156
- // // HTML
157
- // file.htmlPath = file.htmlPath.replace(/\.html$/, options.html.ext)
158
- // file.htmlPath = options.html.path + file.htmlPath
159
- // if (options.html.frontMatter) {
160
- // file.html = `---\npermalink: ${options.html.url}/${page.slug}.html\n---\n${file.html}`
161
- // }
162
- // })
163
- // data.assets.forEach((asset, idx) => {
164
- // asset.path = options.assets.path + asset.src
165
- // // The rest is handled by the editor.Css.getAll loop
166
- // })
167
- //})
168
- });
169
- };
170
- //# sourceMappingURL=publicationRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publicationRenderer.js","sourceRoot":"","sources":["../../../../../src/ts/plugins/client/publicationRenderer.ts"],"names":[],"mappings":"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"}