From 976db36bc8632f7ee5a16cf9b48d016a604ed56c Mon Sep 17 00:00:00 2001 From: Cell <1024@lruihao.cn> Date: Sun, 4 Aug 2024 12:30:06 +0800 Subject: [PATCH] :sparkles: Feat: add more params for typeit shortcodes resolves #483 --- assets/js/theme.js | 15 ++++++++------- layouts/partials/single/related.html | 1 + layouts/shortcodes/typeit.html | 12 ++++++++++++ 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/assets/js/theme.js b/assets/js/theme.js index 0d8a23bf3..7692830d0 100644 --- a/assets/js/theme.js +++ b/assets/js/theme.js @@ -738,7 +738,7 @@ class FixIt { Object.values(groupMap).forEach((group) => { const typeone = (i) => { const typeitElement = group[i]; - const singleLoop = typeitElement.dataset.loop; + const singleData = typeitElement.dataset; stagingDOM.stage(typeitElement.querySelector('template').content.cloneNode(true)); // for shortcodes usage let targetEle = typeitElement.firstElementChild @@ -750,18 +750,19 @@ class FixIt { // create a new instance of TypeIt for each element const instance = new TypeIt(targetEle, { strings: stagingDOM.$el.querySelector('pre')?.innerHTML || stagingDOM.contentAsHtml(), - speed: speed, + speed: Number(singleData.speed) >= 0 ? Number(singleData.speed) : speed, lifeLike: true, - cursorSpeed: cursorSpeed, - cursorChar: cursorChar, + cursorSpeed: Number(singleData.cursorSpeed) >= 0 ? Number(singleData.cursorSpeed) : cursorSpeed, + cursorChar: singleData.cursorChar || cursorChar, waitUntilVisible: true, - loop: singleLoop ? JSON.parse(singleLoop) : loop, + loop: singleData.loop ? singleData.loop === 'true' : loop, afterComplete: () => { + const duration = Number(singleData.duration ?? vtypeitConfig.duration); if (i === group.length - 1) { - if (typeitConfig.duration >= 0) { + if (duration >= 0) { window.setTimeout(() => { instance.destroy(); - }, typeitConfig.duration); + }, duration); } return; } diff --git a/layouts/partials/single/related.html b/layouts/partials/single/related.html index 80fde770e..a96a023ce 100644 --- a/layouts/partials/single/related.html +++ b/layouts/partials/single/related.html @@ -11,6 +11,7 @@ {{- end -}} {{- $related := $posts.Related . | first ($params.related.count | default 5) -}} {{- with $related -}} +

{{ T "single.relatedContent" }}