@silexlabs/silex 3.0.1-alpha.0 → 3.0.2
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/.env.default +20 -0
- package/.silex.js +67 -8
- package/LICENSE +661 -203
- package/README.md +37 -35
- package/dist/client/client/api.d.ts +90 -0
- package/dist/client/client/assetUrl.d.ts +54 -0
- package/dist/client/client/config.d.ts +102 -0
- package/dist/client/client/events.d.ts +23 -0
- package/dist/client/client/expose.d.ts +8 -0
- package/dist/client/client/grapesjs/LoginDialog.d.ts +15 -0
- package/dist/client/client/grapesjs/PublicationManager.d.ts +73 -0
- package/dist/client/client/grapesjs/PublicationUi.d.ts +59 -0
- package/dist/client/client/grapesjs/blocks.d.ts +1 -0
- package/dist/client/client/grapesjs/breadcrumbs.d.ts +1 -0
- package/dist/client/client/grapesjs/css-props.d.ts +6 -0
- package/dist/client/client/grapesjs/footer.d.ts +2 -0
- package/dist/client/client/grapesjs/img.d.ts +6 -0
- package/dist/client/client/grapesjs/index.d.ts +9 -0
- package/dist/client/client/grapesjs/internal-links.d.ts +1 -0
- package/dist/client/client/grapesjs/keymaps.d.ts +123 -0
- package/dist/client/client/grapesjs/new-page-dialog.d.ts +2 -0
- package/dist/client/client/grapesjs/openImport.d.ts +9 -0
- package/dist/client/client/grapesjs/page-panel.d.ts +9 -0
- package/dist/client/client/grapesjs/project-bar.d.ts +21 -0
- package/dist/client/client/grapesjs/resize-panel.d.ts +1 -0
- package/dist/client/client/grapesjs/rich-text.d.ts +4 -0
- package/dist/client/client/grapesjs/semantic.d.ts +1 -0
- package/dist/client/client/grapesjs/settings-sections.d.ts +16 -0
- package/dist/client/client/grapesjs/settings.d.ts +4 -0
- package/dist/client/client/grapesjs/storage.d.ts +2 -0
- package/dist/client/client/grapesjs/symbolDialogs.d.ts +3 -0
- package/dist/client/client/grapesjs/view-buttons.d.ts +1 -0
- package/dist/client/client/index.d.ts +10 -0
- package/dist/client/client/publication-transformers.d.ts +42 -0
- package/dist/client/client/publish-custom-code-block.d.ts +4 -0
- package/dist/client/client/publish-fonts.d.ts +4 -0
- package/dist/client/client/utils.d.ts +22 -0
- package/dist/client/constants.d.ts +32 -0
- package/dist/client/css/admin.css +1114 -328
- package/dist/client/css/admin.css.map +1 -0
- package/dist/client/grapesjs-filter-styles/dist/index.d.ts +4 -0
- package/dist/client/grapesjs-fonts/dist/index.d.ts +4 -0
- package/dist/client/grapesjs-fonts/src/commands.d.ts +3 -0
- package/dist/client/grapesjs-fonts/src/fonts.d.ts +4 -0
- package/dist/client/grapesjs-storage-rate-limit/dist/index.d.ts +4 -0
- package/dist/client/grapesjs-ui-suggest-classes/dist/index.d.ts +4 -0
- package/dist/client/index.html +3 -2
- package/dist/client/js/main.js +356 -131
- package/dist/client/js/main.js.LICENSE.txt +15 -1
- package/dist/client/page.d.ts +2 -0
- package/dist/client/silex-lib/src/ts/client/api.d.ts +90 -0
- package/dist/client/silex-lib/src/ts/client/assetUrl.d.ts +54 -0
- package/dist/client/silex-lib/src/ts/client/config.d.ts +102 -0
- package/dist/client/silex-lib/src/ts/client/events.d.ts +23 -0
- package/dist/client/silex-lib/src/ts/client/expose.d.ts +8 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/LoginDialog.d.ts +15 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/PublicationManager.d.ts +73 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/PublicationUi.d.ts +59 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/blocks.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/breadcrumbs.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/css-props.d.ts +6 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/footer.d.ts +2 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/img.d.ts +6 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/index.d.ts +9 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/internal-links.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/keymaps.d.ts +123 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/new-page-dialog.d.ts +2 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/openImport.d.ts +9 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/page-panel.d.ts +9 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/project-bar.d.ts +21 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/resize-panel.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/rich-text.d.ts +4 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/semantic.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/settings-sections.d.ts +16 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/settings.d.ts +4 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/storage.d.ts +2 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/symbolDialogs.d.ts +3 -0
- package/dist/client/silex-lib/src/ts/client/grapesjs/view-buttons.d.ts +1 -0
- package/dist/client/silex-lib/src/ts/client/index.d.ts +10 -0
- package/dist/client/silex-lib/src/ts/client/publication-transformers.d.ts +42 -0
- package/dist/client/silex-lib/src/ts/client/publish-custom-code-block.d.ts +4 -0
- package/dist/client/silex-lib/src/ts/client/publish-fonts.d.ts +4 -0
- package/dist/client/silex-lib/src/ts/client/utils.d.ts +22 -0
- package/dist/client/silex-lib/src/ts/constants.d.ts +32 -0
- package/dist/client/silex-lib/src/ts/page.d.ts +2 -0
- package/dist/client/silex-lib/src/ts/types.d.ts +339 -0
- package/dist/client/types.d.ts +339 -0
- package/dist/plugins/client/client/events.d.ts +23 -0
- package/dist/plugins/client/client/events.js +43 -0
- package/dist/plugins/client/client/events.js.map +1 -0
- package/dist/plugins/client/plugins/client/template.d.ts +2 -0
- package/dist/plugins/client/plugins/client/template.js +234 -0
- package/dist/plugins/client/plugins/client/template.js.map +1 -0
- package/dist/plugins/client/plugins/client/website-info.d.ts +1 -0
- package/dist/plugins/client/plugins/client/website-info.js +72 -0
- package/dist/plugins/client/plugins/client/website-info.js.map +1 -0
- package/dist/plugins/client/types.d.ts +339 -0
- package/dist/plugins/client/types.js +80 -0
- package/dist/plugins/client/types.js.map +1 -0
- package/dist/plugins/server/constants.d.ts +32 -0
- package/dist/plugins/server/constants.js +76 -0
- package/dist/plugins/server/constants.js.map +1 -0
- package/dist/plugins/server/plugins/server/Cache.d.ts +2 -0
- package/dist/plugins/server/plugins/server/Cache.js +36 -0
- package/dist/plugins/server/plugins/server/Cache.js.map +1 -0
- package/dist/plugins/server/plugins/server/DownloadConnector.d.ts +29 -0
- package/dist/plugins/server/plugins/server/DownloadConnector.js +127 -0
- package/dist/plugins/server/plugins/server/DownloadConnector.js.map +1 -0
- package/dist/plugins/server/plugins/server/FtpConnector.d.ts +86 -0
- package/dist/plugins/server/plugins/server/FtpConnector.js +536 -0
- package/dist/plugins/server/plugins/server/FtpConnector.js.map +1 -0
- package/dist/plugins/server/plugins/server/GitlabConnector.d.ts +135 -0
- package/dist/plugins/server/plugins/server/GitlabConnector.js +649 -0
- package/dist/plugins/server/plugins/server/GitlabConnector.js.map +1 -0
- package/dist/plugins/server/plugins/server/GitlabHostingConnector.d.ts +16 -0
- package/dist/plugins/server/plugins/server/GitlabHostingConnector.js +209 -0
- package/dist/plugins/server/plugins/server/GitlabHostingConnector.js.map +1 -0
- package/dist/plugins/server/plugins/server/PublicationOptimizer.d.ts +0 -0
- package/dist/plugins/server/plugins/server/PublicationOptimizer.js +14 -0
- package/dist/plugins/server/plugins/server/PublicationOptimizer.js.map +1 -0
- package/dist/plugins/server/plugins/server/SslPlugin.d.ts +1 -0
- package/dist/plugins/server/plugins/server/SslPlugin.js +86 -0
- package/dist/plugins/server/plugins/server/SslPlugin.js.map +1 -0
- package/dist/plugins/server/plugins/server/StaticPlugin.d.ts +8 -0
- package/dist/plugins/server/plugins/server/StaticPlugin.js +45 -0
- package/dist/plugins/server/plugins/server/StaticPlugin.js.map +1 -0
- package/dist/plugins/server/server/config.d.ts +59 -0
- package/dist/plugins/server/server/config.js +181 -0
- package/dist/plugins/server/server/config.js.map +1 -0
- package/dist/plugins/server/server/connectors/FsHosting.d.ts +14 -0
- package/dist/plugins/server/server/connectors/FsHosting.js +66 -0
- package/dist/plugins/server/server/connectors/FsHosting.js.map +1 -0
- package/dist/plugins/server/server/connectors/FsStorage.d.ts +44 -0
- package/dist/plugins/server/server/connectors/FsStorage.js +261 -0
- package/dist/plugins/server/server/connectors/FsStorage.js.map +1 -0
- package/dist/plugins/server/server/connectors/connectors.d.ts +86 -0
- package/dist/plugins/server/server/connectors/connectors.js +126 -0
- package/dist/plugins/server/server/connectors/connectors.js.map +1 -0
- package/dist/plugins/server/server/events.d.ts +26 -0
- package/dist/plugins/server/server/events.js +31 -0
- package/dist/plugins/server/server/events.js.map +1 -0
- package/dist/plugins/server/server/jobs.d.ts +12 -0
- package/dist/plugins/server/server/jobs.js +79 -0
- package/dist/plugins/server/server/jobs.js.map +1 -0
- package/dist/plugins/server/server/utils/validation.d.ts +7 -0
- package/dist/plugins/server/server/utils/validation.js +37 -0
- package/dist/plugins/server/server/utils/validation.js.map +1 -0
- package/dist/plugins/server/types.d.ts +339 -0
- package/dist/plugins/server/types.js +84 -0
- package/dist/plugins/server/types.js.map +1 -0
- package/dist/server/constants.js +55 -0
- package/dist/server/plugins/server/Cache.js +19 -0
- package/dist/server/server/api/api.js +20 -0
- package/dist/server/server/api/connectorApi.js +334 -0
- package/dist/server/server/api/publicationApi.js +106 -0
- package/dist/server/server/api/websiteApi.js +315 -0
- package/dist/server/server/cli.js +71 -0
- package/dist/server/server/config.js +120 -0
- package/dist/server/server/connectors/FsHosting.js +47 -0
- package/dist/server/server/connectors/FsStorage.js +228 -0
- package/dist/server/server/connectors/connectors.js +88 -0
- package/dist/server/server/events.js +14 -0
- package/dist/server/server/expose.js +27 -0
- package/dist/server/server/express.js +46 -0
- package/dist/server/server/index.js +92 -0
- package/dist/server/server/jobs.js +50 -0
- package/dist/server/server/utils/validation.js +14 -0
- package/dist/server/types.js +40 -0
- package/package.json +99 -49
- package/public/assets/download.png +0 -0
- package/public/assets/favicon.ico +0 -0
- package/public/assets/favicon.png +0 -0
- package/public/assets/ftp.png +0 -0
- package/public/assets/gitlab.png +0 -0
- package/public/assets/gitlab2.png +0 -0
- package/public/assets/laptop.png +0 -0
- package/public/assets/logo-silex-small.png +0 -0
- package/public/silex.js +22 -23
- package/src/css/_variables.scss +24 -20
- package/src/css/dialog.scss +35 -2
- package/src/css/fonts.scss +31 -0
- package/src/css/footer.scss +12 -0
- package/src/css/grapesjs-light.scss +180 -0
- package/src/css/grapesjs-plugins.scss +227 -0
- package/src/css/grapesjs.scss +159 -1
- package/src/css/index.scss +12 -1
- package/src/css/light.scss +7 -0
- package/src/css/loader.scss +2 -0
- package/src/css/project-bar.scss +32 -16
- package/src/css/silex.scss +79 -5
- package/src/css/website-info.scss +14 -0
- package/src/html/index.pug +3 -3
- package/src/html/templates/includes.pug +0 -1
- package/src/ts/client/api.ts +156 -0
- package/src/ts/client/assetUrl.test.ts +164 -0
- package/src/ts/client/assetUrl.ts +254 -0
- package/src/ts/client/config.ts +175 -13
- package/src/ts/client/events.ts +43 -0
- package/src/ts/client/expose.ts +27 -1
- package/src/ts/client/grapesjs/LoginDialog.ts +204 -0
- package/src/ts/client/grapesjs/PublicationManager.ts +433 -0
- package/src/ts/client/grapesjs/PublicationUi.ts +366 -0
- package/src/ts/client/grapesjs/blocks.ts +17 -0
- package/src/ts/client/grapesjs/breadcrumbs.ts +79 -0
- package/src/ts/client/grapesjs/css-props.ts +910 -0
- package/src/ts/client/grapesjs/eleventy.ts +30 -7
- package/src/ts/client/grapesjs/footer.ts +42 -0
- package/src/ts/client/grapesjs/img.ts +147 -0
- package/src/ts/client/grapesjs/index.ts +311 -122
- package/src/ts/client/grapesjs/internal-links.test.ts +19 -1
- package/src/ts/client/grapesjs/internal-links.ts +31 -7
- package/src/ts/client/grapesjs/keymaps.ts +207 -0
- package/src/ts/client/grapesjs/new-page-dialog.ts +19 -3
- package/src/ts/client/grapesjs/openImport.ts +22 -0
- package/src/ts/client/grapesjs/page-panel.ts +109 -7
- package/src/ts/client/grapesjs/project-bar.ts +133 -72
- package/src/ts/client/grapesjs/resize-panel.ts +20 -0
- package/src/ts/client/grapesjs/rich-text.ts +38 -13
- package/src/ts/client/grapesjs/semantic.ts +20 -3
- package/src/ts/client/grapesjs/settings-sections.ts +117 -0
- package/src/ts/client/grapesjs/settings.ts +191 -96
- package/src/ts/client/grapesjs/storage.ts +187 -0
- package/src/ts/client/grapesjs/symbolDialogs.ts +21 -5
- package/src/ts/client/grapesjs/view-buttons.ts +42 -0
- package/src/ts/client/index.ts +80 -21
- package/src/ts/client/publication-transformers.test.ts +207 -0
- package/src/ts/client/publication-transformers.ts +280 -0
- package/src/ts/client/publish-custom-code-block.ts +31 -0
- package/src/ts/client/publish-fonts.ts +36 -0
- package/src/ts/client/utils.ts +70 -1
- package/src/ts/constants.ts +78 -0
- package/src/ts/externs.ts +17 -0
- package/src/ts/page.ts +20 -3
- package/src/ts/plugins/client/template.ts +246 -0
- package/src/ts/plugins/client/website-info.ts +84 -0
- package/src/ts/plugins/server/Cache.ts +32 -0
- package/src/ts/plugins/server/DownloadConnector.ts +146 -0
- package/src/ts/plugins/server/FtpConnector.test.ts +82 -0
- package/src/ts/plugins/server/FtpConnector.ts +621 -0
- package/src/ts/plugins/server/GitlabConnector.ts +749 -0
- package/src/ts/plugins/server/GitlabHostingConnector.ts +215 -0
- package/src/ts/plugins/server/PublicationOptimizer.ts +14 -0
- package/src/ts/plugins/server/SslPlugin.ts +84 -0
- package/src/ts/plugins/server/StaticPlugin.ts +45 -0
- package/src/ts/server/api/api.ts +19 -0
- package/src/ts/server/api/connectorApi.ts +464 -0
- package/src/ts/server/api/publicationApi.ts +159 -0
- package/src/ts/server/api/websiteApi.ts +462 -0
- package/src/ts/server/cli.ts +48 -14
- package/src/ts/server/config.ts +158 -60
- package/src/ts/server/connectors/FsHosting.ts +66 -0
- package/src/ts/server/connectors/FsStorage.test.ts +51 -0
- package/src/ts/server/connectors/FsStorage.ts +290 -0
- package/src/ts/server/connectors/connectors.ts +203 -0
- package/src/ts/server/events.ts +37 -0
- package/src/ts/server/expose.ts +19 -0
- package/src/ts/server/express.ts +57 -5
- package/src/ts/server/index.ts +80 -19
- package/src/ts/server/jobs.test.ts +75 -0
- package/src/ts/server/jobs.ts +89 -0
- package/src/ts/server/utils/BackwardCompat.ts +546 -528
- package/src/ts/server/utils/validation.ts +34 -0
- package/src/ts/types.ts +295 -85
- package/.dockerignore +0 -5
- package/.editorconfig +0 -14
- package/.eslintrc.json +0 -43
- package/.github/FUNDING.yml +0 -13
- package/.github/workflows/docker-hub-publish.yml +0 -36
- package/.github/workflows/npm-publish.yml +0 -19
- package/.github/workflows/test.yml +0 -26
- package/.nvmrc +0 -1
- package/.silex/default/.silex.data.json +0 -1
- package/CODE_OF_CONDUCT.md +0 -128
- package/CONTRIBUTING.md +0 -131
- package/Dockerfile +0 -15
- package/directus.silex.js +0 -7
- package/dist/constants.js +0 -4
- package/dist/events.js +0 -5
- package/dist/page.js +0 -15
- package/dist/server/cli.js +0 -43
- package/dist/server/config.js +0 -70
- package/dist/server/express.js +0 -18
- package/dist/server/index.js +0 -58
- package/dist/types.js +0 -34
- package/jest.config.js +0 -10
- package/logos/logo_by_ceubri/silex-icon-2018@200px.png +0 -0
- package/logos/logo_by_ceubri/silex-icon-2018@4x.png +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018-white-transp.pdf +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018-white.jpg +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018-white.pdf +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018-white.png +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018-white@0.5x.png +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018-white@0.75x.png +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018-white@4x.jpg +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018-white@4x.png +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018.ai +5 -2521
- package/logos/logo_by_ceubri/silex-logo-2018.jpg +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018.pdf +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018.png +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018@0.5x.png +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018@0.75x.png +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018@4x.jpg +0 -0
- package/logos/logo_by_ceubri/silex-logo-2018@4x.png +0 -0
- package/logos/silexlabs.png +0 -0
- package/src/example-client-config.js +0 -47
- package/src/plugins/AuthPlugin.js +0 -21
- package/src/plugins/Cache.js +0 -11
- package/src/plugins/DefaultBackend.js +0 -149
- package/src/plugins/ExpressPlugin.js +0 -39
- package/src/plugins/HooksPlugin.js +0 -58
- package/src/plugins/PublishPlugin.js +0 -69
- package/src/plugins/SslPlugin.js +0 -66
- package/src/plugins/StaticPlugin.js +0 -48
- package/src/plugins/WebsitePlugin.js +0 -207
- package/src/ts/client/grapesjs/publish.ts +0 -386
- package/src/ts/client/grapesjs/template.ts +0 -166
- package/src/ts/events.ts +0 -2
- package/tsconfig-server-debug.json +0 -19
- package/tsconfig-server-release.json +0 -19
- package/tsconfig.jest.json +0 -9
- package/tsconfig.json +0 -26
- package/webpack.config.js +0 -28
- package/webpack.debug.config.js +0 -8
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import {html, render} from 'lit-html'
|
|
2
|
-
import {styleMap} from 'lit-html/directives/style-map.js'
|
|
3
|
-
import grapesjs from 'grapesjs/dist/grapes.min.js'
|
|
4
|
-
import { onAll } from '../utils'
|
|
5
|
-
|
|
6
|
-
const pluginName = 'template'
|
|
7
|
-
const templateType = 'templateType'
|
|
8
|
-
const templateKey = 'template'
|
|
9
|
-
|
|
10
|
-
export const templatePlugin = grapesjs.plugins.add(pluginName, (editor, opts) => {
|
|
11
|
-
// Add the new trait to all component types
|
|
12
|
-
editor.DomComponents.getTypes().map(type => {
|
|
13
|
-
editor.DomComponents.addType(type.id, {
|
|
14
|
-
model: {
|
|
15
|
-
defaults: {
|
|
16
|
-
traits: [
|
|
17
|
-
// Keep the type original traits
|
|
18
|
-
...editor.DomComponents.getType(type.id).model.prototype.defaults.traits,
|
|
19
|
-
// Add the new trait
|
|
20
|
-
{
|
|
21
|
-
label: false,
|
|
22
|
-
type: templateType,
|
|
23
|
-
name: pluginName,
|
|
24
|
-
},
|
|
25
|
-
]
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
})
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
function doRender(el) {
|
|
32
|
-
const template = editor.getSelected()?.get(templateKey) || {}
|
|
33
|
-
const taStyle = opts.styles?.textarea ?? styleMap({
|
|
34
|
-
backgroundColor: 'var(--darkerPrimaryColor)',
|
|
35
|
-
})
|
|
36
|
-
const sepStyle = opts.styles?.sep ?? styleMap({ height: '10px' })
|
|
37
|
-
const labels = {
|
|
38
|
-
before: html`<strong>Before</strong> the element`,
|
|
39
|
-
replace: html`<strong>Replace</strong> the element's children`,
|
|
40
|
-
after: html`<strong>After</strong> the element`,
|
|
41
|
-
attributes: html`HTML attributes`,
|
|
42
|
-
classname: html`CSS classes`,
|
|
43
|
-
style: html`CSS styles`,
|
|
44
|
-
}
|
|
45
|
-
render(html`
|
|
46
|
-
<div>
|
|
47
|
-
<h3>Template</h3>
|
|
48
|
-
<p>This will be inserted in the published version</p>
|
|
49
|
-
</div>
|
|
50
|
-
${['classname', 'attributes', 'style'].map(id => html`
|
|
51
|
-
<label>
|
|
52
|
-
${labels[id]}
|
|
53
|
-
<input
|
|
54
|
-
id="template-${id}"
|
|
55
|
-
.value=${template[id] || ''}
|
|
56
|
-
style=${taStyle}
|
|
57
|
-
/>
|
|
58
|
-
</label>
|
|
59
|
-
`)}
|
|
60
|
-
${['before', 'replace', 'after'].map(id => html`
|
|
61
|
-
<label
|
|
62
|
-
for="template-${id}"
|
|
63
|
-
>${labels[id]}</label>
|
|
64
|
-
<textarea
|
|
65
|
-
id="template-${id}"
|
|
66
|
-
style=${taStyle}
|
|
67
|
-
.value=${template[id] || ''}
|
|
68
|
-
></textarea>
|
|
69
|
-
`)}
|
|
70
|
-
`, el)
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
editor.TraitManager.addType(templateType, {
|
|
74
|
-
createInput({ trait }) {
|
|
75
|
-
// Create a new element container and add some content
|
|
76
|
-
const el = document.createElement('div')
|
|
77
|
-
el.classList.add('gjs-one-bg')
|
|
78
|
-
// update the UI when a page is added/renamed/removed
|
|
79
|
-
editor.on('page', () => doRender(el))
|
|
80
|
-
doRender(el)
|
|
81
|
-
// this will be the element passed to onEvent and onUpdate
|
|
82
|
-
return el
|
|
83
|
-
},
|
|
84
|
-
// Update the component based on UI changes
|
|
85
|
-
// `elInput` is the result HTMLElement you get from `createInput`
|
|
86
|
-
onEvent({ elInput, component, event }) {
|
|
87
|
-
const template = {
|
|
88
|
-
before: elInput.querySelector('#template-before').value,
|
|
89
|
-
replace: elInput.querySelector('#template-replace').value,
|
|
90
|
-
after: elInput.querySelector('#template-after').value,
|
|
91
|
-
attributes: elInput.querySelector('#template-attributes').value,
|
|
92
|
-
classname: elInput.querySelector('#template-classname').value,
|
|
93
|
-
style: elInput.querySelector('#template-style').value,
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Store the new template
|
|
97
|
-
if(Object.values(template).filter(val => !!val && !!cleanup(val)).length > 0) {
|
|
98
|
-
component.set(templateKey, template)
|
|
99
|
-
} else {
|
|
100
|
-
component.set(templateKey)
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
// Update UI on the component change
|
|
104
|
-
onUpdate({ elInput, component }) {
|
|
105
|
-
doRender(elInput)
|
|
106
|
-
},
|
|
107
|
-
})
|
|
108
|
-
|
|
109
|
-
// Make html attribute
|
|
110
|
-
// Quote strings, no values for boolean
|
|
111
|
-
function makeAttribute(key, value) {
|
|
112
|
-
switch(typeof value) {
|
|
113
|
-
case 'boolean': return value ? key : ''
|
|
114
|
-
default: return `${key}="${value}"`
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
// Remove empty lines in templates
|
|
118
|
-
function cleanup(template) {
|
|
119
|
-
return template
|
|
120
|
-
// split in lines
|
|
121
|
-
.split('\n')
|
|
122
|
-
// remove lines with only spaces
|
|
123
|
-
.map(line => line.trim())
|
|
124
|
-
.filter(line => !!line)
|
|
125
|
-
// put back together
|
|
126
|
-
.join('\n')
|
|
127
|
-
}
|
|
128
|
-
editor.on(opts.eventStart || 'publish:before', () => {
|
|
129
|
-
// Insert templates
|
|
130
|
-
onAll(editor, c => {
|
|
131
|
-
const template = c.get(templateKey)
|
|
132
|
-
const toHTML = c.toHTML
|
|
133
|
-
const classes = c.getClasses()
|
|
134
|
-
const before = cleanup(template?.before || '')
|
|
135
|
-
const replace = cleanup(template?.replace || '')
|
|
136
|
-
const after = cleanup(template?.after || '')
|
|
137
|
-
const classname = cleanup(template?.classname || '')
|
|
138
|
-
const style = cleanup(template?.style || '')
|
|
139
|
-
const attributes = cleanup(template?.attributes || '')
|
|
140
|
-
// Store the initial method
|
|
141
|
-
if(!c.has('tmpHtml')) c.set('tmpHtml', toHTML)
|
|
142
|
-
// Override the method
|
|
143
|
-
c.toHTML = () => {
|
|
144
|
-
return `${
|
|
145
|
-
before
|
|
146
|
-
}${ c.get('tagName') ? `<${c.get('tagName')}
|
|
147
|
-
${Object.entries(c.get('attributes')).map(([key, value]) => makeAttribute(key, value)).join(' ')}
|
|
148
|
-
${classes.length || classname ? `class="${classes.join(' ')} ${classname}"` : ''}
|
|
149
|
-
${attributes}
|
|
150
|
-
${style ? `style="${style}"` : ''}
|
|
151
|
-
>` : '' }${
|
|
152
|
-
replace || c.getInnerHTML()
|
|
153
|
-
}${ c.get('tagName') ? `</${c.get('tagName')}>` : '' }${
|
|
154
|
-
after
|
|
155
|
-
}`
|
|
156
|
-
}
|
|
157
|
-
})
|
|
158
|
-
})
|
|
159
|
-
editor.on(opts.eventStop || 'publish:stop', () => {
|
|
160
|
-
onAll(editor, c => {
|
|
161
|
-
// Restore the original method
|
|
162
|
-
c.toHTML = c.get('tmpHtml')
|
|
163
|
-
})
|
|
164
|
-
})
|
|
165
|
-
})
|
|
166
|
-
|
package/src/ts/events.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compileOnSave": true,
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"outDir": "dist/",
|
|
5
|
-
"target": "esnext",
|
|
6
|
-
"inlineSourceMap": true,
|
|
7
|
-
"module": "CommonJS",
|
|
8
|
-
"removeComments": false,
|
|
9
|
-
"esModuleInterop": true, /* for import 'Events' in silex-plugins */
|
|
10
|
-
"typeRoots": [
|
|
11
|
-
"src/ts/types",
|
|
12
|
-
"node_modules/@types"
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
"include": [
|
|
16
|
-
"src/ts/server/index.ts",
|
|
17
|
-
"src/ts/server/cli.ts"
|
|
18
|
-
]
|
|
19
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compileOnSave": false,
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"outDir": "dist/",
|
|
5
|
-
"target": "esnext",
|
|
6
|
-
"sourceMap": false,
|
|
7
|
-
"module": "CommonJS",
|
|
8
|
-
"removeComments": true,
|
|
9
|
-
"esModuleInterop": true, /* for import 'Events' in silex-plugins */
|
|
10
|
-
"typeRoots": [
|
|
11
|
-
"src/ts/types",
|
|
12
|
-
"node_modules/@types"
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
"include": [
|
|
16
|
-
"src/ts/server/index.ts",
|
|
17
|
-
"src/ts/server/cli.ts"
|
|
18
|
-
]
|
|
19
|
-
}
|
package/tsconfig.jest.json
DELETED
package/tsconfig.json
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compileOnSave": true,
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"outDir": "dist/client/",
|
|
5
|
-
"target": "ESNext",
|
|
6
|
-
"sourceMap": true,
|
|
7
|
-
"module": "ESNext",
|
|
8
|
-
"removeComments": false,
|
|
9
|
-
"allowJs": true,
|
|
10
|
-
"typeRoots": [
|
|
11
|
-
"src/ts/types",
|
|
12
|
-
"node_modules/@types"
|
|
13
|
-
],
|
|
14
|
-
"moduleResolution": "node",
|
|
15
|
-
"esModuleInterop": true
|
|
16
|
-
},
|
|
17
|
-
"include": [
|
|
18
|
-
"src/ts/client/index.ts"
|
|
19
|
-
],
|
|
20
|
-
"plugins": [
|
|
21
|
-
{
|
|
22
|
-
"name": "ts-lit-plugin",
|
|
23
|
-
"strict": true
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
}
|
package/webpack.config.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const path = require('path');
|
|
2
|
-
const webpack = require("webpack")
|
|
3
|
-
|
|
4
|
-
module.exports = {
|
|
5
|
-
entry: './src/ts/client/expose.ts',
|
|
6
|
-
mode: 'production',
|
|
7
|
-
module: {
|
|
8
|
-
rules: [
|
|
9
|
-
{
|
|
10
|
-
test: /\.tsx?$/,
|
|
11
|
-
use: 'ts-loader',
|
|
12
|
-
},
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
resolve: {
|
|
16
|
-
extensions: [ '.tsx', '.ts', '.js' ],
|
|
17
|
-
},
|
|
18
|
-
output: {
|
|
19
|
-
filename: '[name].js',
|
|
20
|
-
path: path.resolve(__dirname, 'dist/client/js'),
|
|
21
|
-
library: 'silex',
|
|
22
|
-
},
|
|
23
|
-
plugins: [
|
|
24
|
-
new webpack.DefinePlugin({
|
|
25
|
-
VERSION: JSON.stringify(require("./package.json").version),
|
|
26
|
-
}),
|
|
27
|
-
]
|
|
28
|
-
};
|