diff --git a/README.md b/README.md index 9adc5296e..bbb541777 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ [Publii](https://getpublii.com/) is a desktop-based CMS for Windows, Mac and Linux that makes creating static websites fast and hassle-free, even for beginners. -**Current version: 0.39.0 (build 15465)** +**Current version: 0.39.1 (build 15483)** ## Why Publii? Unlike static-site generators that are often unwieldy and difficult to use, Publii provides an diff --git a/app/back-end/builddata.json b/app/back-end/builddata.json index a58c91f2a..89b43feb8 100644 --- a/app/back-end/builddata.json +++ b/app/back-end/builddata.json @@ -1 +1 @@ -{"version":"0.39.0","build":15465} \ No newline at end of file +{"version":"0.39.1","build":15483} \ No newline at end of file diff --git a/app/back-end/modules/deploy/google-cloud.js b/app/back-end/modules/deploy/google-cloud.js index 7ce405c87..95e1f442b 100644 --- a/app/back-end/modules/deploy/google-cloud.js +++ b/app/back-end/modules/deploy/google-cloud.js @@ -32,8 +32,14 @@ class GoogleCloud { return; } + let keyData = require(keyFilePath); + let gcs = new Storage({ - credentials: require(keyFilePath) + projectId: keyData.project_id, + credentials: { + client_email: keyData.client_email, + private_key: keyData.private_key + } }); this.connection = gcs.bucket(bucketName); @@ -268,8 +274,14 @@ class GoogleCloud { return; } + let keyData = require(keyFilePath); + let gcs = new Storage({ - credentials: require(keyFilePath) + projectId: keyData.project_id, + credentials: { + client_email: keyData.client_email, + private_key: keyData.private_key + } }); let bucket = gcs.bucket(bucketName); diff --git a/app/back-end/modules/render-html/contexts/post-preview.js b/app/back-end/modules/render-html/contexts/post-preview.js index d0601c3dd..2d2969263 100644 --- a/app/back-end/modules/render-html/contexts/post-preview.js +++ b/app/back-end/modules/render-html/contexts/post-preview.js @@ -41,7 +41,7 @@ class RendererContextPostPreview extends RendererContext { let postURL = this.siteConfig.domain + '/preview.html'; let preparedText = this.prepareContent(this.renderer.postData.text, this.renderer.postData.id); let hasCustomExcerpt = false; - let readmoreMatches = preparedText.match(/\/gmi); + let readmoreMatches = preparedText.match(/\/gmi); if (readmoreMatches && readmoreMatches.length) { hasCustomExcerpt = true; @@ -53,7 +53,7 @@ class RendererContextPostPreview extends RendererContext { slug: this.renderer.postData.slug, author: this.renderer.cachedItems.authors[this.renderer.postData.author], url: postURL, - text: preparedText.replace(/\/gmi, ''), + text: preparedText.replace(/\/gmi, ''), excerpt: ContentHelper.prepareExcerpt(this.themeConfig.config.excerptLength, preparedText), createdAt: this.renderer.postData.creationDate, modifiedAt: this.renderer.postData.modificationDate, @@ -485,7 +485,7 @@ class RendererContextPostPreview extends RendererContext { preparedText = preparedText.replace(/contentEditable="true"/gi, ''); // Remove read more text - preparedText = preparedText.replace(/\/gmi, ''); + preparedText = preparedText.replace(/\/gmi, ''); // Remove the last empty paragraph preparedText = preparedText.replace(/

 <\/p>\s?$/gmi, ''); diff --git a/app/back-end/modules/render-html/helpers/content.js b/app/back-end/modules/render-html/helpers/content.js index ec745b084..458dcbee5 100644 --- a/app/back-end/modules/render-html/helpers/content.js +++ b/app/back-end/modules/render-html/helpers/content.js @@ -162,10 +162,10 @@ class ContentHelper { */ static prepareExcerpt(length, text) { // Detect readmore - let readmoreMatches = text.match(/\/gmi); + let readmoreMatches = text.match(/\/gmi); if(readmoreMatches && readmoreMatches.length) { - text = text.split(/\/gmi); + text = text.split(/\/gmi); text = text[0]; return text; } diff --git a/app/back-end/modules/render-html/items/post.js b/app/back-end/modules/render-html/items/post.js index f09c1574d..696b4fd5c 100644 --- a/app/back-end/modules/render-html/items/post.js +++ b/app/back-end/modules/render-html/items/post.js @@ -39,17 +39,17 @@ class PostItem { let preparedExcerpt = ContentHelper.prepareExcerpt(this.themeConfig.config.excerptLength, preparedText); preparedExcerpt = ContentHelper.setInternalLinks(preparedExcerpt, this.renderer); let hasCustomExcerpt = false; - let readmoreMatches = preparedText.match(/\/gmi); + let readmoreMatches = preparedText.match(/\/gmi); if (readmoreMatches && readmoreMatches.length) { hasCustomExcerpt = true; // Detect if hide of the custom excerpt is enabled if (this.renderer.siteConfig.advanced.postUseTextWithoutCustomExcerpt) { - preparedText = preparedText.split(/\/gmi); + preparedText = preparedText.split(/\/gmi); preparedText = preparedText[1]; } else { - preparedText = preparedText.replace(/\/gmi, ''); + preparedText = preparedText.replace(/\/gmi, ''); } } diff --git a/app/back-end/site.js b/app/back-end/site.js index 294845c9f..afe5a95c4 100644 --- a/app/back-end/site.js +++ b/app/back-end/site.js @@ -363,7 +363,7 @@ class Site { return; } - if(data.type === 'finished') { + if (data.type === 'finished') { sender.send('app-site-regenerate-thumbnails-success', true); } }); diff --git a/app/back-end/workers/thumbnails/regenerate.js b/app/back-end/workers/thumbnails/regenerate.js index 951fcb673..1a5ff7dd8 100644 --- a/app/back-end/workers/thumbnails/regenerate.js +++ b/app/back-end/workers/thumbnails/regenerate.js @@ -83,7 +83,7 @@ function regenerateImage (images, fullPath, catalog) { if (promises[0] === 'NO-RESPONSIVE-IMAGES') { process.send({ type: 'progress', - value: 100, + value: parseInt((context.totalProgress / context.numberOfImages) * 100, 10), files: [ { translation: 'core.images.responsiveImagesDisabled' @@ -91,7 +91,14 @@ function regenerateImage (images, fullPath, catalog) { ] }); - finishProcess(); + context.totalProgress++; + + if (context.totalProgress >= context.numberOfImages) { + finishProcess(); + } else { + regenerateImage(images, fullPath, catalog); + } + return; } @@ -213,6 +220,8 @@ function getImageType(context, image, catalog) { * @private */ function finishProcess() { + console.log('Finish process...'); + process.send({ type: 'finished' }); diff --git a/app/default-files/default-themes/simple/assets/css/main.css b/app/default-files/default-themes/simple/assets/css/main.css index 0acb423a4..7f8723fb9 100644 --- a/app/default-files/default-themes/simple/assets/css/main.css +++ b/app/default-files/default-themes/simple/assets/css/main.css @@ -1121,7 +1121,7 @@ textarea { color: var(--nav-link-color) !important; } .navbar .navbar__toggle { - background: var(--dark); + background: var(--section-bg); -webkit-box-shadow: none; box-shadow: none; border: none; @@ -1233,7 +1233,7 @@ textarea { } .navbar_mobile_overlay { - background: var(--white); + background: var(--page-bg); height: calc(100vh - 4.4rem); left: 0; opacity: 1; @@ -1307,7 +1307,7 @@ textarea { } .navbar_mobile_sidebar { - background: var(--white); + background: var(--page-bg); -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.25); box-shadow: 0 0 5px rgba(0, 0, 0, 0.25); height: 100vh; diff --git a/app/default-files/default-themes/simple/config.json b/app/default-files/default-themes/simple/config.json index dc4eabfe0..8182404b1 100755 --- a/app/default-files/default-themes/simple/config.json +++ b/app/default-files/default-themes/simple/config.json @@ -1,6 +1,6 @@ { "name": "Simple", - "version": "2.4.0.0", + "version": "2.4.1.0", "author": "TidyCustoms ", "menus": { "mainMenu": "Main menu" diff --git a/app/package-lock.json b/app/package-lock.json index 01fd600f4..06aae2f0c 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,12 +1,12 @@ { "name": "Publii", - "version": "0.39.0", + "version": "0.39.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "Publii", - "version": "0.39.0", + "version": "0.39.1", "license": "GPL-3.0", "dependencies": { "@gitbeaker/node": "28.0.4", diff --git a/app/package.json b/app/package.json index 202ee3502..f766a9a7c 100644 --- a/app/package.json +++ b/app/package.json @@ -1,7 +1,7 @@ { "productName": "Publii", "name": "Publii", - "version": "0.39.0", + "version": "0.39.1", "description": "Static Site CMS", "main": "main.js", "scripts": { diff --git a/app/src/components/LanguagesListItem.vue b/app/src/components/LanguagesListItem.vue index e420c23f0..62b90d419 100644 --- a/app/src/components/LanguagesListItem.vue +++ b/app/src/components/LanguagesListItem.vue @@ -61,7 +61,10 @@ export default { return false; }, isOutdated () { - if (compare(this.languageData.publiiSupport, this.$store.state.app.versionInfo.version) === -1) { + let publiiSupport = this.languageData.publiiSupport.split('.').slice(0, 2).join('.'); + let currentMajorVersion = this.$store.state.app.versionInfo.version.split('.').slice(0, 2).join('.'); + + if (compare(publiiSupport, currentMajorVersion) === -1) { return true; } diff --git a/app/src/components/SyncPopup.vue b/app/src/components/SyncPopup.vue index 82d58e973..660716139 100644 --- a/app/src/components/SyncPopup.vue +++ b/app/src/components/SyncPopup.vue @@ -55,7 +55,7 @@

{{ $t('sync.getWebsiteFiles') }} diff --git a/app/src/components/block-editor/components/default-blocks/publii-code/block.vue b/app/src/components/block-editor/components/default-blocks/publii-code/block.vue index 2e143c5c7..7c1a0af47 100644 --- a/app/src/components/block-editor/components/default-blocks/publii-code/block.vue +++ b/app/src/components/block-editor/components/default-blocks/publii-code/block.vue @@ -3,7 +3,6 @@