From b8ae0a19caab89b6454d7198b1a11abdbb3d6daf Mon Sep 17 00:00:00 2001 From: Simon C Date: Sat, 3 Jul 2021 16:03:24 +0200 Subject: [PATCH] feat: Add obfuscates partials --- README.md | 4 ++++ assets/js/main.js | 19 ------------------- assets/js/obfuscates.js | 9 +++++++++ assets/styles/obfuscates.sass | 3 +++ layouts/partials/contact/mail.html | 8 +++++++- layouts/partials/contact/telephone.html | 8 +++++++- layouts/partials/js.html | 2 +- 7 files changed, 31 insertions(+), 22 deletions(-) delete mode 100644 assets/js/main.js create mode 100644 assets/js/obfuscates.js create mode 100644 assets/styles/obfuscates.sass diff --git a/README.md b/README.md index e678479..86feb68 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,10 @@ cd themes git submodule add https://git.weko.io/kosssi/hugo-theme-lowtech.git ``` +## Contact + +Pour la gestion de contact il est possible d'utiliser des shortcodes spécifiques `{{< mail >}}` ou `{{< tel >}}` + ## Inspirations - https://github.com/yuin/goldmark/issues/59 diff --git a/assets/js/main.js b/assets/js/main.js deleted file mode 100644 index def29f8..0000000 --- a/assets/js/main.js +++ /dev/null @@ -1,19 +0,0 @@ -const obfuscates = document.getElementsByClassName("obfuscate"); -for (const element of obfuscates) { - const link = document.createElement("a"); - const separators = element.dataset.separators; - const protocol = element.dataset.param1.split("").reverse().join(""); - let url = protocol; - for (let i = 0; i < separators.length; i++) { - url += separators[i] + element.dataset["param" + (i+2)].split("").reverse().join(""); - } - let text = element.dataset.param2.split("").reverse().join(""); - for (let i = 1; i < separators.length; i++) { - text += separators[i] + element.dataset["param" + (i+2)].split("").reverse().join(""); - } - link.innerText = url.replace(new RegExp(element.dataset.regex, 'i'), element.dataset.replace); - link.href = url; - link.rel = "nofollow"; - element.parentElement.insertBefore(link, element); -} -while (obfuscates.length > 0) obfuscates[0].remove(); diff --git a/assets/js/obfuscates.js b/assets/js/obfuscates.js new file mode 100644 index 0000000..49a5761 --- /dev/null +++ b/assets/js/obfuscates.js @@ -0,0 +1,9 @@ +export default function abfuscates() { + const obfuscates = document.getElementsByClassName("obfuscate"); + while (obfuscates.length > 0) { + const element = obfuscates[0] + element.href = element.dataset.link.split("").reverse().join(""); + element.innerText = element.innerText.split("").reverse().join(""); + element.classList.remove('obfuscate'); + } +} diff --git a/assets/styles/obfuscates.sass b/assets/styles/obfuscates.sass new file mode 100644 index 0000000..74ba061 --- /dev/null +++ b/assets/styles/obfuscates.sass @@ -0,0 +1,3 @@ +.obfuscate + unicode-bidi: bidi-override + direction: rtl diff --git a/layouts/partials/contact/mail.html b/layouts/partials/contact/mail.html index 9c45679..8c8697a 100644 --- a/layouts/partials/contact/mail.html +++ b/layouts/partials/contact/mail.html @@ -1,3 +1,9 @@ {{- with .Site.Data.contact.mail -}} -{{ . }} +{{- $protocol := "mailto" -}} +{{- $mail := . -}} +{{- $mailWithProtocol := print $protocol ":" . -}} +{{ range $index := seq (sub (len $mail) 1) 0}}{{ substr $mail $index 1}}{{ end }} {{- end -}} diff --git a/layouts/partials/contact/telephone.html b/layouts/partials/contact/telephone.html index fef8181..9a73418 100644 --- a/layouts/partials/contact/telephone.html +++ b/layouts/partials/contact/telephone.html @@ -1,3 +1,9 @@ {{- with .Site.Data.contact.telephone -}} -{{ . }} +{{- $protocol := "tel" -}} +{{- $tel := . -}} +{{- $telWithProtocol := print $protocol ":" (replace $tel " " "") -}} +{{ range $index := seq (sub (len $tel) 1) 0}}{{ substr $tel $index 1}}{{ end }} {{- end -}} diff --git a/layouts/partials/js.html b/layouts/partials/js.html index b1aafde..fcd88ef 100644 --- a/layouts/partials/js.html +++ b/layouts/partials/js.html @@ -1,5 +1,5 @@ {{ $js := resources.Get "js/main.js" }} {{ with $js }} -{{ $secureJS := . | resources.Minify | resources.Fingerprint }} +{{ $secureJS := . | js.Build | resources.Minify | resources.Fingerprint }} {{ end }}