Compare commits

..

2 commits

Author SHA1 Message Date
Eduardo Gomez 7e5b02e81b Changes permissions of zh-hans.json file 2020-09-28 19:48:40 +02:00
Eduardo Gomez fff20892fe Implements version 0.8.5 2020-08-05 21:31:01 +02:00
145 changed files with 4775 additions and 6389 deletions

4
.github/FUNDING.yml vendored
View file

@ -3,10 +3,10 @@
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: eddiesigner
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: ['https://paypal.me/eddiesigner']
custom: ['https://www.buymeacoffee.com/eddiesigner', 'https://paypal.me/eddiesigner']

View file

@ -4,11 +4,7 @@ Liebling is a beautiful and clean Ghost theme that is easy and comfortable to us
If you find this theme useful, please consider to make a donation to support its development! 🙏🏼
<a href="https://ko-fi.com/eddiesigner" target="_blank"><img src="https://res.cloudinary.com/edev/image/upload/v1583011476/button_y8hgt8.png" alt="Donate" style="width: 250px !important; height: 60px !important;" width="250" height="60"></a>
## Ghost 4
This theme has been optimized for Ghost 4, if you are looking for a Ghost 3 compatible version please refer to [this link](https://github.com/eddiesigner/liebling/releases/tag/v.0.9.4).
<a href="https://www.buymeacoffee.com/eddiesigner" target="_blank"><img src="https://res.cloudinary.com/edev/image/upload/v1583011476/button_y8hgt8.png" alt="Donate" style="width: 250px !important; height: 60px !important;" width="250" height="60"></a>
## Preview
@ -22,9 +18,9 @@ You can see a live demo here: [https://liebling.eduardogomez.io](https://lieblin
To get the latest version please head over the [releases page](https://github.com/eddiesigner/liebling/releases) and download the file `liebling.zip` of the latest release.
## Documentation
**IMPORTANT: To know how to enable the search, comments, newsletter and more, please head to the [Wiki](https://github.com/eddiesigner/liebling/wiki).**
To know how to enable the search, comments, newsletter and more, please head to the [Wiki](https://github.com/eddiesigner/liebling/wiki).
From now on, this theme is only compatible with Ghost 3
## Features
@ -91,15 +87,11 @@ To know how to enable the search, comments, newsletter and more, please head to
* Turkish by [mskoroglu](https://github.com/mskoroglu)
* Romanian by [dsecareanu](https://github.com/dsecareanu)
* Chinese Simplified by [IvyB](https://github.com/IvyB)
* Indonesian by [iqbalbinsb](https://github.com/iqbalbinsb), [khannedy](https://github.com/khannedy)
* Indonesian by [iqbalbinsb](https://github.com/iqbalbinsb)
* Lithuanian by [pintom](https://github.com/pintom)
* Dutch by [Qballjos](https://github.com/Qballjos)
* Traditional Chinese by [weixiang](https://github.com/weixiang)
* Persian (Farsi) by [Aminoiz](https://github.com/Aminoiz)
* Ukrainian by [partizan007](https://github.com/partizan007)
* Kazakh by [arshyn-t](https://github.com/arshyn-t)
* Korean by [chocosobo](https://github.com/chocosobo)
* Japanese by [ViaSnake](https://github.com/ViaSnake)
## Tests performed
@ -125,9 +117,7 @@ Contributions are very welcome. First, please read the [Pull Request Guidelines]
## Related
* [Firma](https://gum.co/ZXLha) - Ghost theme that can be used by startups to large companies to publish any kind of articles related to their business. It stands out for its clean design and is able to adapt to any company's identity.
* [Weiss Pro](https://gum.co/pzvDn) - Modern and beautiful Ghost theme ready to make your content shine.
* [Weiss Pro](https://blog.eduardogomez.io/weiss-pro-modern-and-clean-ghost-theme/) - Modern and beautiful Ghost theme ready to make your content shine ✨
## License

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{1:function(t,n,e){"use strict";e.r(n),e.d(n,"isRTL",(function(){return o})),e.d(n,"isMobile",(function(){return a})),e.d(n,"isDarkMode",(function(){return i})),e.d(n,"formatDate",(function(){return r})),e.d(n,"getParameterByName",(function(){return c})),e.d(n,"adjustImageGallery",(function(){return u})),e.d(n,"managePostImages",(function(){return s})),e.d(n,"makeImagesZoomable",(function(){return l}));var o=function(){var t=document.querySelector("html");return["ar","he","fa"].includes(t.getAttribute("lang"))},a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(t,")")).matches},i=function(){var t=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return t&&t.matches},r=function(t){return t?new Date(t).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},c=function(t,n){n||(n=window.location.href),t=t.replace(/[\[\]]/g,"\\$&");var e=new RegExp("[?&]".concat(t,"(=([^&#]*)|&|#|$)")).exec(n);return e?e[2]?decodeURIComponent(e[2].replace(/\+/g," ")):"":null},u=function(){for(var t=document.querySelectorAll(".kg-gallery-image img"),n=0,e=t.length;n<e;n++){var o=t[n].closest(".kg-gallery-image"),a=t[n].attributes.width.value/t[n].attributes.height.value;o.style.flex="".concat(a," 1 0%")}},s=function(t){t(".js-post-content").find("img").each((function(){t(this).closest("figure").hasClass("kg-bookmark-card")||t(this).parent().is("a")||t(this).addClass("js-zoomable");var n=t(this).parent().find("figcaption");n?t(this).attr("alt",n.text()):t(this).attr("alt","")}))},l=function(t,n){n(".js-zoomable").on("opened",(function(){setTimeout((function(){var n=t(".medium-zoom-image--opened");n.length>1&&n.last().hide()}),10)}))}},12:function(t,n,e){e(1),e(28),e(30),e(32),e(34),e(36),e(38),t.exports=e(40)},28:function(t,n){},30:function(t,n){},32:function(t,n){},34:function(t,n){},36:function(t,n){},38:function(t,n){},40:function(t,n){}},[[12,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{1:function(e,t,n){"use strict";n.r(t),n.d(t,"isRTL",(function(){return a})),n.d(t,"isMobile",(function(){return o})),n.d(t,"isDarkMode",(function(){return r})),n.d(t,"formatDate",(function(){return i})),n.d(t,"getParameterByName",(function(){return c})),n.d(t,"adjustImageGallery",(function(){return s})),n.d(t,"managePostImages",(function(){return u})),n.d(t,"makeImagesZoomable",(function(){return l}));var a=function(){var e=document.querySelector("html");return["ar","he","fa"].includes(e.getAttribute("lang"))},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(e,")")).matches},r=function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return e&&e.matches},i=function(e){return e?new Date(e).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},c=function(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]".concat(e,"(=([^&#]*)|&|#|$)")).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},s=function(){for(var e=document.querySelectorAll(".kg-gallery-image img"),t=0,n=e.length;t<n;t++){var a=e[t].closest(".kg-gallery-image"),o=e[t].attributes.width.value/e[t].attributes.height.value;a.style.flex="".concat(o," 1 0%")}},u=function(e){e(".js-post-content").find("img").each((function(){e(this).closest("figure").hasClass("kg-bookmark-card")||e(this).parent().is("a")||e(this).addClass("js-zoomable");var t=e(this).parent().find("figcaption");t?e(this).attr("alt",t.text()):e(this).attr("alt","")}))},l=function(e,t){var n=t(".js-zoomable");n.on("open",(function(t){o()&&e(t.target).parent().hasClass("kg-gallery-image")&&setTimeout((function(){var t=e(".medium-zoom-image--opened"),n=t[0].style.transform,a=n.substr(0,n.indexOf(" ")),o=parseFloat(a.substr(a.indexOf("(")+1).split(")")[0]),r=n.substr(n.indexOf(" ")+1),i=parseFloat(r.split(",")[1]),c="scale(1) translate3d(0, ".concat(i<0?o*i+i:o*i-i,"px, 0)");t.addClass("medium-zoom-image-mobile"),t[0].style.transform=c}),10)})),n.on("close",(function(){o()&&e(event.target).parent().hasClass("kg-gallery-image")&&e(".medium-zoom-image").removeClass("medium-zoom-image-mobile")}))}},12:function(e,t,n){n(1),n(22),n(27),n(29),n(31),n(33),n(35),e.exports=n(37)},22:function(e,t){},27:function(e,t){},29:function(e,t){},31:function(e,t){},33:function(e,t){},35:function(e,t){},37:function(e,t){}},[[12,0,1]]]);

View file

@ -1 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{1:function(e,t,n){"use strict";n.r(t),n.d(t,"isRTL",(function(){return r})),n.d(t,"isMobile",(function(){return o})),n.d(t,"isDarkMode",(function(){return i})),n.d(t,"formatDate",(function(){return a})),n.d(t,"getParameterByName",(function(){return u})),n.d(t,"adjustImageGallery",(function(){return s})),n.d(t,"managePostImages",(function(){return c})),n.d(t,"makeImagesZoomable",(function(){return l}));var r=function(){var e=document.querySelector("html");return["ar","he","fa"].includes(e.getAttribute("lang"))},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(e,")")).matches},i=function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return e&&e.matches},a=function(e){return e?new Date(e).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},u=function(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]".concat(e,"(=([^&#]*)|&|#|$)")).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},s=function(){for(var e=document.querySelectorAll(".kg-gallery-image img"),t=0,n=e.length;t<n;t++){var r=e[t].closest(".kg-gallery-image"),o=e[t].attributes.width.value/e[t].attributes.height.value;r.style.flex="".concat(o," 1 0%")}},c=function(e){e(".js-post-content").find("img").each((function(){e(this).closest("figure").hasClass("kg-bookmark-card")||e(this).parent().is("a")||e(this).addClass("js-zoomable");var t=e(this).parent().find("figcaption");t?e(this).attr("alt",t.text()):e(this).attr("alt","")}))},l=function(e,t){t(".js-zoomable").on("opened",(function(){setTimeout((function(){var t=e(".medium-zoom-image--opened");t.length>1&&t.last().hide()}),10)}))}},21:function(e,t,n){e.exports=n(22)},22:function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r),i=n(3),a=n(2),u=n(1);function s(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}o()((function(){var e=o()(".js-featured-slider");if(e.length>0){var t=e.find(".js-featured-slide").length,n=new a.d(".js-featured-slider",{type:"slider",rewind:!1,gap:0,swipeThreshold:!1,dragThreshold:!1,direction:Object(u.isRTL)()?"rtl":"ltr",breakpoints:{768:{swipeThreshold:1!==t&&80,dragThreshold:1!==t&&120}}});1===t&&e.find(".js-featured-slider-controls").remove(),n.on("mount.after",(function(){Object(i.a)(".js-featured-article-title",200)})),n.mount({Controls:a.b,Swipe:a.c,Breakpoints:a.a,ArrowDisabler:function(e,n){var r="js-featured-slider-controls",o="js-featured-slider-previous",i="js-featured-slider-next";return{mount:function(){e.settings.rewind||1===t||e.on(["mount.after","run"],(function(){var t,a=s(n.Controls.items);try{for(a.s();!(t=a.n()).done;){var u=t.value;if(u.className.includes(r)){var c=u.querySelector(".".concat(o));c&&(0===e.index?c.setAttribute("disabled",""):c.removeAttribute("disabled"));var l=u.querySelector(".".concat(i));if(l)(e.settings.bound?e.index+(e.settings.perView-1):e.index)===n.Sizes.length-1?l.setAttribute("disabled",""):l.removeAttribute("disabled")}}}catch(e){a.e(e)}finally{a.f()}}))}}}}),setTimeout((function(){window.dispatchEvent(new Event("resize"))}),350)}Object(i.a)(".js-featured-article-title",200)}))}},[[21,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{1:function(e,t,n){"use strict";n.r(t),n.d(t,"isRTL",(function(){return r})),n.d(t,"isMobile",(function(){return a})),n.d(t,"isDarkMode",(function(){return i})),n.d(t,"formatDate",(function(){return o})),n.d(t,"getParameterByName",(function(){return s})),n.d(t,"adjustImageGallery",(function(){return l})),n.d(t,"managePostImages",(function(){return u})),n.d(t,"makeImagesZoomable",(function(){return d}));var r=function(){var e=document.querySelector("html");return["ar","he","fa"].includes(e.getAttribute("lang"))},a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(e,")")).matches},i=function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return e&&e.matches},o=function(e){return e?new Date(e).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},s=function(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]".concat(e,"(=([^&#]*)|&|#|$)")).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},l=function(){for(var e=document.querySelectorAll(".kg-gallery-image img"),t=0,n=e.length;t<n;t++){var r=e[t].closest(".kg-gallery-image"),a=e[t].attributes.width.value/e[t].attributes.height.value;r.style.flex="".concat(a," 1 0%")}},u=function(e){e(".js-post-content").find("img").each((function(){e(this).closest("figure").hasClass("kg-bookmark-card")||e(this).parent().is("a")||e(this).addClass("js-zoomable");var t=e(this).parent().find("figcaption");t?e(this).attr("alt",t.text()):e(this).attr("alt","")}))},d=function(e,t){var n=t(".js-zoomable");n.on("open",(function(t){a()&&e(t.target).parent().hasClass("kg-gallery-image")&&setTimeout((function(){var t=e(".medium-zoom-image--opened"),n=t[0].style.transform,r=n.substr(0,n.indexOf(" ")),a=parseFloat(r.substr(r.indexOf("(")+1).split(")")[0]),i=n.substr(n.indexOf(" ")+1),o=parseFloat(i.split(",")[1]),s="scale(1) translate3d(0, ".concat(o<0?a*o+o:a*o-o,"px, 0)");t.addClass("medium-zoom-image-mobile"),t[0].style.transform=s}),10)})),n.on("close",(function(){a()&&e(event.target).parent().hasClass("kg-gallery-image")&&e(".medium-zoom-image").removeClass("medium-zoom-image-mobile")}))}},16:function(e,t,n){e.exports=n(17)},17:function(e,t,n){"use strict";n.r(t);var r=n(0),a=n.n(r),i=n(3),o=n(2),s=n(1);a()(document).ready((function(){var e=a()(".js-featured-slider");if(e.length>0){var t=e.find(".js-featured-slide").length,n=new o.d(".js-featured-slider",{type:"slider",rewind:!1,gap:0,swipeThreshold:!1,dragThreshold:!1,direction:Object(s.isRTL)()?"rtl":"ltr",breakpoints:{768:{swipeThreshold:1!==t&&80,dragThreshold:1!==t&&120}}});1===t&&e.find(".js-featured-slider-controls").remove(),n.on("mount.after",(function(){Object(i.a)(".js-featured-article-title",200)})),n.mount({Controls:o.b,Swipe:o.c,Breakpoints:o.a,ArrowDisabler:function(e,n){var r="js-featured-slider-controls",a="js-featured-slider-previous",i="js-featured-slider-next";return{mount:function(){e.settings.rewind||1===t||e.on(["mount.after","run"],(function(){var t=!0,o=!1,s=void 0;try{for(var l,u=n.Controls.items[Symbol.iterator]();!(t=(l=u.next()).done);t=!0){var d=l.value;if(d.className.includes(r)){var c=d.querySelector(".".concat(a));c&&(0===e.index?c.setAttribute("disabled",""):c.removeAttribute("disabled"));var m=d.querySelector(".".concat(i));if(m)(e.settings.bound?e.index+(e.settings.perView-1):e.index)===n.Sizes.length-1?m.setAttribute("disabled",""):m.removeAttribute("disabled")}}}catch(e){o=!0,s=e}finally{try{t||null==u.return||u.return()}finally{if(o)throw s}}}))}}}}),setTimeout((function(){window.dispatchEvent(new Event("resize"))}),350)}Object(i.a)(".js-featured-article-title",200)}))}},[[16,0,1]]]);

View file

@ -1 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{1:function(e,t,n){"use strict";n.r(t),n.d(t,"isRTL",(function(){return a})),n.d(t,"isMobile",(function(){return o})),n.d(t,"isDarkMode",(function(){return r})),n.d(t,"formatDate",(function(){return i})),n.d(t,"getParameterByName",(function(){return c})),n.d(t,"adjustImageGallery",(function(){return u})),n.d(t,"managePostImages",(function(){return s})),n.d(t,"makeImagesZoomable",(function(){return l}));var a=function(){var e=document.querySelector("html");return["ar","he","fa"].includes(e.getAttribute("lang"))},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(e,")")).matches},r=function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return e&&e.matches},i=function(e){return e?new Date(e).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},c=function(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]".concat(e,"(=([^&#]*)|&|#|$)")).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},u=function(){for(var e=document.querySelectorAll(".kg-gallery-image img"),t=0,n=e.length;t<n;t++){var a=e[t].closest(".kg-gallery-image"),o=e[t].attributes.width.value/e[t].attributes.height.value;a.style.flex="".concat(o," 1 0%")}},s=function(e){e(".js-post-content").find("img").each((function(){e(this).closest("figure").hasClass("kg-bookmark-card")||e(this).parent().is("a")||e(this).addClass("js-zoomable");var t=e(this).parent().find("figcaption");t?e(this).attr("alt",t.text()):e(this).attr("alt","")}))},l=function(e,t){t(".js-zoomable").on("opened",(function(){setTimeout((function(){var t=e(".medium-zoom-image--opened");t.length>1&&t.last().hide()}),10)}))}},25:function(e,t,n){e.exports=n(26)},26:function(e,t,n){"use strict";n.r(t);var a=n(0),o=n.n(a),r=n(4),i=n.n(r),c=n(5),u=n(1);o()((function(){i()(".js-post-content"),Object(u.adjustImageGallery)(),Object(u.managePostImages)(o.a),Object(u.makeImagesZoomable)(o.a,c.a)}))}},[[25,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{1:function(e,t,n){"use strict";n.r(t),n.d(t,"isRTL",(function(){return a})),n.d(t,"isMobile",(function(){return o})),n.d(t,"isDarkMode",(function(){return r})),n.d(t,"formatDate",(function(){return i})),n.d(t,"getParameterByName",(function(){return s})),n.d(t,"adjustImageGallery",(function(){return c})),n.d(t,"managePostImages",(function(){return u})),n.d(t,"makeImagesZoomable",(function(){return m}));var a=function(){var e=document.querySelector("html");return["ar","he","fa"].includes(e.getAttribute("lang"))},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(e,")")).matches},r=function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return e&&e.matches},i=function(e){return e?new Date(e).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},s=function(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]".concat(e,"(=([^&#]*)|&|#|$)")).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},c=function(){for(var e=document.querySelectorAll(".kg-gallery-image img"),t=0,n=e.length;t<n;t++){var a=e[t].closest(".kg-gallery-image"),o=e[t].attributes.width.value/e[t].attributes.height.value;a.style.flex="".concat(o," 1 0%")}},u=function(e){e(".js-post-content").find("img").each((function(){e(this).closest("figure").hasClass("kg-bookmark-card")||e(this).parent().is("a")||e(this).addClass("js-zoomable");var t=e(this).parent().find("figcaption");t?e(this).attr("alt",t.text()):e(this).attr("alt","")}))},m=function(e,t){var n=t(".js-zoomable");n.on("open",(function(t){o()&&e(t.target).parent().hasClass("kg-gallery-image")&&setTimeout((function(){var t=e(".medium-zoom-image--opened"),n=t[0].style.transform,a=n.substr(0,n.indexOf(" ")),o=parseFloat(a.substr(a.indexOf("(")+1).split(")")[0]),r=n.substr(n.indexOf(" ")+1),i=parseFloat(r.split(",")[1]),s="scale(1) translate3d(0, ".concat(i<0?o*i+i:o*i-i,"px, 0)");t.addClass("medium-zoom-image-mobile"),t[0].style.transform=s}),10)})),n.on("close",(function(){o()&&e(event.target).parent().hasClass("kg-gallery-image")&&e(".medium-zoom-image").removeClass("medium-zoom-image-mobile")}))}},20:function(e,t,n){e.exports=n(21)},21:function(e,t,n){"use strict";n.r(t);var a=n(0),o=n.n(a),r=n(5),i=n.n(r),s=n(4),c=n(1);o()(document).ready((function(){i()(".js-post-content"),Object(c.adjustImageGallery)(),Object(c.managePostImages)(o.a),Object(c.makeImagesZoomable)(o.a,s.a)}))}},[[20,0,1]]]);

View file

@ -1 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{1:function(e,t,n){"use strict";n.r(t),n.d(t,"isRTL",(function(){return a})),n.d(t,"isMobile",(function(){return o})),n.d(t,"isDarkMode",(function(){return r})),n.d(t,"formatDate",(function(){return i})),n.d(t,"getParameterByName",(function(){return s})),n.d(t,"adjustImageGallery",(function(){return c})),n.d(t,"managePostImages",(function(){return l})),n.d(t,"makeImagesZoomable",(function(){return d}));var a=function(){var e=document.querySelector("html");return["ar","he","fa"].includes(e.getAttribute("lang"))},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(e,")")).matches},r=function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return e&&e.matches},i=function(e){return e?new Date(e).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},s=function(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]".concat(e,"(=([^&#]*)|&|#|$)")).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},c=function(){for(var e=document.querySelectorAll(".kg-gallery-image img"),t=0,n=e.length;t<n;t++){var a=e[t].closest(".kg-gallery-image"),o=e[t].attributes.width.value/e[t].attributes.height.value;a.style.flex="".concat(o," 1 0%")}},l=function(e){e(".js-post-content").find("img").each((function(){e(this).closest("figure").hasClass("kg-bookmark-card")||e(this).parent().is("a")||e(this).addClass("js-zoomable");var t=e(this).parent().find("figcaption");t?e(this).attr("alt",t.text()):e(this).attr("alt","")}))},d=function(e,t){t(".js-zoomable").on("opened",(function(){setTimeout((function(){var t=e(".medium-zoom-image--opened");t.length>1&&t.last().hide()}),10)}))}},23:function(e,t,n){e.exports=n(24)},24:function(e,t,n){"use strict";n.r(t);var a=n(0),o=n.n(a),r=n(5),i=n(4),s=n.n(i),c=n(3),l=n(2),d=n(1),u=null,m=null,h=window.pageYOffset,f=0,p=0,g=0,w=!1,b=function(){h=window.pageYOffset,y()},j=function(e){Object(d.isMobile)("1023px")?(o()("body").addClass("share-menu-displayed"),setTimeout((function(){u.removeAttr("data-aos")}),e)):o()("body").removeClass("share-menu-displayed")},v=function(){T(),j(100),setTimeout((function(){O(),y()}),200)},y=function(){w||requestAnimationFrame(k),w=!0},k=function(){var e=p-f,t=Math.ceil(h/e*100);t<=100&&x(t),w=!1},T=function(){f=window.innerHeight,p=o()(document).height()},O=function(){var e=m.parent().width(),t=e/2,n=Object(d.isMobile)()?2:3;m.parent().attr("viewBox","0 0 ".concat(e," ").concat(e)),m.attr("stroke-width",n),m.attr("r",t-(n-1)),m.attr("cx",t),m.attr("cy",t),g=2*t*Math.PI,m[0].style.strokeDasharray="".concat(g," ").concat(g),m[0].style.strokeDashoffset=g},x=function(e){if(e<=100){var t=g-e/100*g;m[0].style.strokeDashoffset=t}};o()((function(){u=o()(".js-aos-wrapper");var e=o()(".js-scrolltop"),t=o()(".js-recommended-slider");if(s()(".js-post-content"),Object(d.adjustImageGallery)(),j(1e3),t.length>0){var n=new l.d(".js-recommended-slider",{type:"slider",rewind:!1,perView:3,swipeThreshold:!1,dragThreshold:!1,gap:0,direction:Object(d.isRTL)()?"rtl":"ltr",breakpoints:{1023:{type:"carousel",perView:2,swipeThreshold:80,dragThreshold:120},720:{type:"carousel",perView:2,swipeThreshold:80,dragThreshold:120},568:{type:"carousel",perView:1,swipeThreshold:80,dragThreshold:120}}});n.on("mount.after",(function(){Object(c.a)(".js-article-card-title",100),Object(c.a)(".js-article-card-title-no-image",250)})),n.on("length.change",(function(e){1===e&&(n.update({type:"slider"}),t.find(".js-controls").remove())})),n.mount({Controls:l.b,Swipe:l.c,Breakpoints:l.a,Length:function(e,t,n){return{mount:function(){n.emit("length.change",t.Sizes.length)}}}})}Object(c.a)(".js-article-card-title",100),Object(c.a)(".js-article-card-title-no-image",250),e.on("click",(function(){o()("html, body").animate({scrollTop:0},500)})),Object(d.managePostImages)(o.a),Object(d.makeImagesZoomable)(o.a,r.a),window.addEventListener("scroll",b,{passive:!0}),window.addEventListener("resize",v,{passive:!0})})),o()(window).on("load",(function(){m=o()(".js-progress"),T(),O(),k(),setTimeout((function(){m.parent().css("opacity",1)}),300)}))}},[[23,0,1]]]);
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{1:function(e,t,n){"use strict";n.r(t),n.d(t,"isRTL",(function(){return a})),n.d(t,"isMobile",(function(){return o})),n.d(t,"isDarkMode",(function(){return r})),n.d(t,"formatDate",(function(){return i})),n.d(t,"getParameterByName",(function(){return s})),n.d(t,"adjustImageGallery",(function(){return c})),n.d(t,"managePostImages",(function(){return l})),n.d(t,"makeImagesZoomable",(function(){return d}));var a=function(){var e=document.querySelector("html");return["ar","he","fa"].includes(e.getAttribute("lang"))},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(e,")")).matches},r=function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return e&&e.matches},i=function(e){return e?new Date(e).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},s=function(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]".concat(e,"(=([^&#]*)|&|#|$)")).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},c=function(){for(var e=document.querySelectorAll(".kg-gallery-image img"),t=0,n=e.length;t<n;t++){var a=e[t].closest(".kg-gallery-image"),o=e[t].attributes.width.value/e[t].attributes.height.value;a.style.flex="".concat(o," 1 0%")}},l=function(e){e(".js-post-content").find("img").each((function(){e(this).closest("figure").hasClass("kg-bookmark-card")||e(this).parent().is("a")||e(this).addClass("js-zoomable");var t=e(this).parent().find("figcaption");t?e(this).attr("alt",t.text()):e(this).attr("alt","")}))},d=function(e,t){var n=t(".js-zoomable");n.on("open",(function(t){o()&&e(t.target).parent().hasClass("kg-gallery-image")&&setTimeout((function(){var t=e(".medium-zoom-image--opened"),n=t[0].style.transform,a=n.substr(0,n.indexOf(" ")),o=parseFloat(a.substr(a.indexOf("(")+1).split(")")[0]),r=n.substr(n.indexOf(" ")+1),i=parseFloat(r.split(",")[1]),s="scale(1) translate3d(0, ".concat(i<0?o*i+i:o*i-i,"px, 0)");t.addClass("medium-zoom-image-mobile"),t[0].style.transform=s}),10)})),n.on("close",(function(){o()&&e(event.target).parent().hasClass("kg-gallery-image")&&e(".medium-zoom-image").removeClass("medium-zoom-image-mobile")}))}},18:function(e,t,n){e.exports=n(19)},19:function(e,t,n){"use strict";n.r(t);var a=n(0),o=n.n(a),r=n(4),i=n(5),s=n.n(i),c=n(3),l=n(2),d=n(1),u=null,m=null,f=window.pageYOffset,h=0,g=0,p=0,w=!1,b=function(){f=window.pageYOffset,j()},y=function(e){Object(d.isMobile)("1023px")?(o()("body").addClass("share-menu-displayed"),setTimeout((function(){u.removeAttr("data-aos")}),e)):o()("body").removeClass("share-menu-displayed")},v=function(){O(),y(100),setTimeout((function(){T(),j()}),200)},j=function(){w||requestAnimationFrame(k),w=!0},k=function(){var e=g-h,t=Math.ceil(f/e*100);t<=100&&x(t),w=!1},O=function(){h=window.innerHeight,g=o()(document).height()},T=function(){var e=m.parent().width(),t=e/2,n=Object(d.isMobile)()?2:3;m.parent().attr("viewBox","0 0 ".concat(e," ").concat(e)),m.attr("stroke-width",n),m.attr("r",t-(n-1)),m.attr("cx",t),m.attr("cy",t),p=2*t*Math.PI,m[0].style.strokeDasharray="".concat(p," ").concat(p),m[0].style.strokeDashoffset=p},x=function(e){if(e<=100){var t=p-e/100*p;m[0].style.strokeDashoffset=t}};o()(document).ready((function(){u=o()(".js-aos-wrapper");var e=o()(".js-scrolltop"),t=o()(".js-load-comments"),n=o()(".js-comments-iframe"),a=o()(".js-recommended-slider");if(s()(".js-post-content"),Object(d.adjustImageGallery)(),y(1e3),a.length>0){var i=new l.d(".js-recommended-slider",{type:"slider",rewind:!1,perView:3,swipeThreshold:!1,dragThreshold:!1,gap:0,direction:Object(d.isRTL)()?"rtl":"ltr",breakpoints:{1023:{type:"carousel",perView:2,swipeThreshold:80,dragThreshold:120},720:{type:"carousel",perView:2,swipeThreshold:80,dragThreshold:120},568:{type:"carousel",perView:1,swipeThreshold:80,dragThreshold:120}}});i.on("mount.after",(function(){Object(c.a)(".js-article-card-title",100),Object(c.a)(".js-article-card-title-no-image",250)})),i.on("length.change",(function(e){1===e&&(i.update({type:"slider"}),a.find(".js-controls").remove())})),i.mount({Controls:l.b,Swipe:l.c,Breakpoints:l.a,Length:function(e,t,n){return{mount:function(){n.emit("length.change",t.Sizes.length)}}}})}Object(c.a)(".js-article-card-title",100),Object(c.a)(".js-article-card-title-no-image",250),e.click((function(){o()("html, body").animate({scrollTop:0},500)})),t.click((function(){t.parent().hide(),n.fadeIn("slow")})),Object(d.managePostImages)(o.a),Object(d.makeImagesZoomable)(o.a,r.a),window.addEventListener("scroll",b,{passive:!0}),window.addEventListener("resize",v,{passive:!0})})),o()(window).on("load",(function(){m=o()(".js-progress"),O(),T(),k(),setTimeout((function(){m.parent().css("opacity",1)}),300)}))}},[[18,0,1]]]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -2,13 +2,10 @@
This template is used for the author page.
--}}
{{!-- This block preloads specific assets for the author page --}}
{{#contentFor "preload"}}
<link rel="preload" href="{{asset "css/listing.css"}}" as="style" />
{{/contentFor}}
{{!-- This block loads specific styles for the author page --}}
{{#contentFor "styles"}}
<link rel="preload" href="{{asset "css/listing.css"}}" as="style" />
<link rel="stylesheet" type="text/css" href="{{asset "css/listing.css"}}" media="screen" />
{{/contentFor}}

View file

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="{{@site.locale}}">
<html lang="{{@site.lang}}">
<head>
{{!-- Document Settings --}}
<meta charset="utf-8" />
@ -32,9 +32,9 @@
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('SourceSansPro-Regular'),
url("{{asset 'fonts/source-sans-pro/latin/source-sans-pro-regular.woff2'}}") format('woff2'),
url("{{asset 'fonts/source-sans-pro/latin/source-sans-pro-regular.woff'}}") format('woff');
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'),
url("{{asset 'fonts/source-sans-pro/source-sans-pro-regular.woff2'}}") format('woff2'),
url("{{asset 'fonts/source-sans-pro/source-sans-pro-regular.woff'}}") format('woff');
}
/* source-sans-pro-600 */
@ -43,9 +43,9 @@
font-style: normal;
font-weight: 600;
font-display: swap;
src: local('SourceSansPro-SemiBold'),
url("{{asset 'fonts/source-sans-pro/latin/source-sans-pro-600.woff2'}}") format('woff2'),
url("{{asset 'fonts/source-sans-pro/latin/source-sans-pro-600.woff'}}") format('woff');
src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'),
url("{{asset 'fonts/source-sans-pro/source-sans-pro-600.woff2'}}") format('woff2'),
url("{{asset 'fonts/source-sans-pro/source-sans-pro-600.woff'}}") format('woff');
}
/* source-sans-pro-700 */
@ -54,9 +54,9 @@
font-style: normal;
font-weight: 700;
font-display: swap;
src: local('SourceSansPro-Bold'),
url("{{asset 'fonts/source-sans-pro/latin/source-sans-pro-700.woff2'}}") format('woff2'),
url("{{asset 'fonts/source-sans-pro/latin/source-sans-pro-700.woff'}}") format('woff');
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'),
url("{{asset 'fonts/source-sans-pro/source-sans-pro-700.woff2'}}") format('woff2'),
url("{{asset 'fonts/source-sans-pro/source-sans-pro-700.woff'}}") format('woff');
}
/* iconmoon */
@ -65,11 +65,11 @@
font-weight: normal;
font-style: normal;
font-display: swap;
src: url("{{asset 'fonts/icomoon/icomoon.eot?101fc3'}}");
src: url("{{asset 'fonts/icomoon/icomoon.eot?101fc3#iefix'}}") format('embedded-opentype'),
url("{{asset 'fonts/icomoon/icomoon.ttf?101fc3'}}") format('truetype'),
url("{{asset 'fonts/icomoon/icomoon.woff?101fc3'}}") format('woff'),
url("{{asset 'fonts/icomoon/icomoon.svg?101fc3#icomoon'}}") format('svg');
src: url("{{asset 'fonts/icomoon/icomoon.eot?aoz2mo'}}");
src: url("{{asset 'fonts/icomoon/icomoon.eot?aoz2mo#iefix'}}") format('embedded-opentype'),
url("{{asset 'fonts/icomoon/icomoon.ttf?aoz2mo'}}") format('truetype'),
url("{{asset 'fonts/icomoon/icomoon.woff?aoz2mo'}}") format('woff'),
url("{{asset 'fonts/icomoon/icomoon.svg?aoz2mo#icomoon'}}") format('svg');
}
</style>

View file

@ -2,13 +2,10 @@
This error template is used for all 404 errors, which might occur on your site.
--}}
{{!-- This block preloads specific assets for the 404 page --}}
{{#contentFor "preload"}}
<link rel="preload" href="{{asset "css/404.css"}}" as="style" />
{{/contentFor}}
{{!-- This block loads specific styles for the 404 page --}}
{{#contentFor "styles"}}
<link rel="preload" href="{{asset "css/404.css"}}" as="style" />
<link rel="stylesheet" type="text/css" href="{{asset "css/404.css"}}" media="screen" />
{{/contentFor}}

View file

@ -31,6 +31,12 @@ into the {body} of the default.hbs template --}}
{{#if @site.description}}
<p class="m-hero-description bigger">{{@site.description}}</p>
{{/if}}
{{#if @labs.subscribers}}
<a href="{{@site.url}}/subscribe" class="m-button filled">{{t "Subscribe"}}</a>
{{/if}}
{{#if @labs.members}}
<a href="{{@site.url}}/newsletter" class="m-button filled">{{t "Subscribe"}}</a>
{{/if}}
</div>
</section>
<div class="l-content">

View file

@ -25,8 +25,8 @@
"Recommended for you": "نرشح لك",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "تحصل علي اخر المنشورات والمقالات مباشره في صندوق بريدك الالكتروني",
"Subscribe": "اشتراك",
"Subscribe to": "اشترك",
"Subscribe to our newsletter": "اشترك في نشره موقعنا ",
"Subscribe to {blogtitle}": "اشترك {blogtitle}",
"Subscribed!": "تم اشتراكك",
"Tags": "تصنيفات",
"Type to search": "اكتب للبحث",

View file

@ -25,8 +25,8 @@
"Recommended for you": "Препоръчани за теб",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Остани актуален! Получи всички нови и яки постове доставени направо в твоя имейл.",
"Subscribe": "Абонирай се",
"Subscribe to": "Абонирай се",
"Subscribe to our newsletter": "Абонирай се за нашия нюзлетър",
"Subscribe to {blogtitle}": "Абонирай се {blogtitle}",
"Subscribed!": "Абонира се!",
"Tags": "Тагове",
"Toggle dark mode": "Превключи тъмен режим",

View file

@ -7,9 +7,6 @@
"Among with no break line": "zusammen mit ",
"Apparently there are no posts at the moment, check again later.": "Anscheinend gibt es im Moment keine Beiträge, versuche es später noch einmal.",
"Back to home": "Zurück zur Startseite",
"Close": "Schließen",
"Close menu": "Menü schließen",
"Close search": "Suche schließen",
"Email cannot be blank.": "Die E-Mail darf nicht leer sein.",
"Featured": "Featured",
"Get the latest posts delivered right to your inbox.": "Hole dir die neuesten Beiträge direkt in deinen Posteingang.",
@ -17,44 +14,30 @@
"Great! Next, complete checkout for full access.": "Großartig! Schließe als Nächstes die Kaufabwicklung ab, um vollen Zugriff zu erhalten.",
"Great! You've successfully subscribed.": "Großartig! Das Abonnement wurde erfolgreich abgeschlossen.",
"JavaScript license information": "JavaScript-Lizenzinformationen",
"Main menu": "Hauptmenü",
"More": "Mehr",
"Newer posts": "Neuere Beiträge",
"Next": "Weiter",
"No posts": "Keine Beiträge",
"No posts found": "Keine Beiträge gefunden",
"No recent articles found :(": "Keine aktuellen Beiträge gefunden :(",
"No results for your search, try something different.": "Keine Ergebnisse für deine Suche gefunden, versuche es mit etwas anderem.",
"No tags found :(": "Keine Tags gefunden :(",
"Now check your inbox and click the link to confirm your subscription.": "Überprüfe nun deinen Posteingang und klicke auf den Link, um dein Abonnement zu bestätigen.",
"Older posts": "Ältere Beiträge",
"Oops! There was an error sending the email, please try later.": "Hoppla! Es gab einen Fehler beim Senden der E-Mail, bitte versuche es später erneut.",
"Open menu": "Menü öffnen",
"Open search": "Suche öffnen",
"Open submenu": "Untermenü öffnen",
"Page": "Seite",
"Page not found": "Seite nicht gefunden",
"Pagination": "Paginierung",
"Please enter a valid email address": "Bitte gib eine gültige E-Mail-Adresse ein",
"Posted by": "Geschrieben von",
"Previous": "Zurück",
"Published with": "Veröffentlicht mit",
"Recent articles": "Neuste Beiträge",
"Recommended for you": "Für dich empfohlen",
"Scroll to top": "Nach oben scrollen",
"Search": "Suchen",
"Secondary menu in footer": "Untermenü im Footer",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Bleibe auf dem Laufenden! Erhalte die neuesten und besten Beiträge direkt in deinen Posteingang.",
"Subscribe": "Abonnieren",
"Subscribe to": "Abonniere",
"Subscribe to our newsletter": "Abonniere unseren Newsletter",
"Subscribe to {blogtitle}": "Abonniere {blogtitle}",
"Subscribed!": "Abonniert!",
"Success! Your account is fully activated, you now have access to all content.": "Erfolg! Dein Konto ist vollständig aktiviert, du hast jetzt Zugang zu allen Inhalten.",
"Tags": "Tags",
"Toggle dark mode": "Dunklen Modus umschalten",
"Type to search": "Schreiben um zu suchen",
"Unfortunately the page you were looking for could not be found.": "Diese Seite wurde leider nicht gefunden.",
"Website": "Website",
"Welcome back! You've successfully signed in.": "Willkommen zurück! Du hast dich erfolgreich angemeldet.",
"You've successfully subscribed to": "Du hast",
"Your email address": "Deine E-Mail-Adresse",

View file

@ -7,9 +7,6 @@
"Among with no break line": "zusammen mit ",
"Apparently there are no posts at the moment, check again later.": "Anscheinend gibt es im Moment keine Beiträge, versuchen Sie es später noch einmal.",
"Back to home": "Zurück zur Startseite",
"Close": "Schließen",
"Close menu": "Menü schließen",
"Close search": "Suche schließen",
"Email cannot be blank.": "Die E-Mail darf nicht leer sein.",
"Featured": "Featured",
"Get the latest posts delivered right to your inbox.": "Holen Sie sich die neuesten Beiträge direkt in Ihren Posteingang.",
@ -17,44 +14,30 @@
"Great! Next, complete checkout for full access.": "Großartig! Schließen Sie als Nächstes die Kaufabwicklung ab, um vollen Zugriff zu erhalten.",
"Great! You've successfully subscribed.": "Großartig! Das Abonnement wurde erfolgreich abgeschlossen.",
"JavaScript license information": "JavaScript-Lizenzinformationen",
"Main menu": "Hauptmenü",
"More": "Mehr",
"Newer posts": "Neuere Beiträge",
"Next": "Weiter",
"No posts": "Keine Beiträge",
"No posts found": "Keine Beiträge gefunden",
"No recent articles found :(": "Keine aktuellen Beiträge gefunden :(",
"No results for your search, try something different.": "Keine Ergebnisse für Ihre Suche gefunden, versuchen Sie es mit etwas anderem.",
"No tags found :(": "Keine Tags gefunden :(",
"Now check your inbox and click the link to confirm your subscription.": "Überprüfen Sie nun Ihren Posteingang und klicken Sie auf den Link, um Ihr Abonnement zu bestätigen.",
"Older posts": "Ältere Beiträge",
"Oops! There was an error sending the email, please try later.": "Hoppla! Es gab einen Fehler beim Senden der E-Mail, bitte versuchen Sie es später erneut.",
"Open menu": "Menü öffnen",
"Open search": "Suche öffnen",
"Open submenu": "Untermenü öffnen",
"Page": "Seite",
"Page not found": "Seite nicht gefunden",
"Pagination": "Paginierung",
"Please enter a valid email address": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
"Posted by": "Geschrieben von",
"Previous": "Zurück",
"Published with": "Veröffentlicht mit",
"Recent articles": "Neuste Beiträge",
"Recommended for you": "Für sie empfohlen",
"Scroll to top": "Nach oben scrollen",
"Search": "Suchen",
"Secondary menu in footer": "Untermenü im Footer",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Bleiben Sie auf dem Laufenden! Erhalten Sie die neuesten und besten Beiträge direkt in Ihren Posteingang.",
"Subscribe": "Abonnieren",
"Subscribe to": "Abonnieren Sie",
"Subscribe to our newsletter": "Abonnieren Sie unseren Newsletter",
"Subscribe to {blogtitle}": "Abonnieren Sie {blogtitle}",
"Subscribed!": "Abonniert!",
"Success! Your account is fully activated, you now have access to all content.": "Erfolg! Ihr Konto ist vollständig aktiviert, Sie haben jetzt Zugang zu allen Inhalten.",
"Tags": "Tags",
"Toggle dark mode": "Dunklen Modus umschalten",
"Type to search": "Schreiben Sie um zu suchen",
"Unfortunately the page you were looking for could not be found.": "Diese Seite wurde leider nicht gefunden.",
"Website": "Website",
"Welcome back! You've successfully signed in.": "Willkommen zurück! Sie haben sich erfolgreich angemeldet.",
"You've successfully subscribed to": "Sie haben",
"Your email address": "Ihre E-Mail-Adresse",

View file

@ -43,11 +43,10 @@
"Recommended for you": "Recommended for you",
"Scroll to top": "Scroll to top",
"Search": "Search",
"Secondary menu in footer": "Secondary menu in footer",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.",
"Subscribe": "Subscribe",
"Subscribe to": "Subscribe to",
"Subscribe to our newsletter": "Subscribe to our newsletter",
"Subscribe to {blogtitle}": "Subscribe to {blogtitle}",
"Subscribed!": "Subscribed!",
"Success! Your account is fully activated, you now have access to all content.": "Success! Your account is fully activated, you now have access to all content.",
"Tags": "Tags",

View file

@ -43,11 +43,10 @@
"Recommended for you": "Recomendado para ti",
"Scroll to top": "Ir arriba",
"Search": "Búsqueda",
"Secondary menu in footer": "Menú secundario en pie de página",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Mantente al día! Recibe todos los mejores y más recientes artículos directamente en tu bandeja de entrada.",
"Subscribe": "Suscríbete",
"Subscribe to": "Suscríbete a",
"Subscribe to our newsletter": "Suscríbete a nuestro Newsletter",
"Subscribe to {blogtitle}": "Suscríbete a {blogtitle}",
"Subscribed!": "Suscrito!",
"Success! Your account is fully activated, you now have access to all content.": "Éxito! Su cuenta está totalmente activada, ahora tienes acceso a todo el contenido.",
"Tags": "Etiquetas",

View file

@ -31,8 +31,8 @@
"Recommended for you": "پیشنهاد شده برای شما",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "به روز بمانید! جدیدترین و بهترین پست ها را در ایمیل خود دریافت کنید",
"Subscribe": "عضویت",
"Subscribe to": "عضو شدن به ",
"Subscribe to our newsletter": "در خبرنامه ما عضو شوید",
"Subscribe to {blogtitle}": "عضو شدن به {blogtitle}",
"Subscribed!": "عضو شدید!",
"Success! Your account is fully activated, you now have access to all content.": "موفق! اکانت شما فعال شد",
"Tags": "تگ ها",

View file

@ -30,8 +30,8 @@
"Recommended for you": "Recommandé pour toi",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Tiens toi à jour ! Reçois tous les derniers articles directement dans ta boîte mail.",
"Subscribe": "S'abonner",
"Subscribe to": "S'abonner à",
"Subscribe to our newsletter": "S'abonner à notre newsletter",
"Subscribe to {blogtitle}": "S'abonner à {blogtitle}",
"Subscribed!": "Inscrit !",
"Success! Your account is fully activated, you now have access to all content.": "Parfait ! Ton compte est entièrement activé, tu as désormais accès à tout le contenu.",
"Tags": "Mots clés",

View file

@ -30,8 +30,8 @@
"Recommended for you": "Recommandé pour vous",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Restez à jour ! Recevez tous les derniers articles directement dans votre boîte mail.",
"Subscribe": "S'abonner",
"Subscribe to": "S'abonner à",
"Subscribe to our newsletter": "S'abonner à notre newsletter",
"Subscribe to {blogtitle}": "S'abonner à {blogtitle}",
"Subscribed!": "Inscrit !",
"Success! Your account is fully activated, you now have access to all content.": "Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.",
"Tags": "Mots clés",

View file

@ -25,8 +25,8 @@
"Recommended for you": "מומלצים עבורך",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "הישאר מעודכן! קבל את כל העדכונים האחרונים והחמים ישירות לאימייל שלך.",
"Subscribe": "הירשם",
"Subscribe to": "הירשם ל",
"Subscribe to our newsletter": "הירשם לרשימת הדיוור שלנו",
"Subscribe to {blogtitle}": "הירשם ל {blogtitle}",
"Subscribed!": "נירשמת!",
"Tags": "תגיות",
"Type to search": "רשום כדי לחפש",

View file

@ -7,55 +7,31 @@
"Among with no break line": "Di antara dengan ",
"Apparently there are no posts at the moment, check again later.": "Tampaknya tidak ada postingan saat ini, periksa lagi nanti.",
"Back to home": "Kembali ke beranda",
"Close": "Tutup",
"Close menu": "Tutup menu",
"Close search": "Tutup pencarian",
"Email cannot be blank.": "Email tidak boleh kosong.",
"Featured": "Unggulan",
"Get the latest posts delivered right to your inbox.": "Dapatkan postingan terbaru yang dikirim langsung ke kotak masuk kamu.",
"Go to the home page": "Buka halaman beranda",
"Great! Next, complete checkout for full access.": "Mantap! Selanjutnya, selesaikan pembayaran untuk akses penuh.",
"Great! You've successfully subscribed.": "Mantap! Kamu telah berhasil berlangganan.",
"JavaScript license information": "Informasi lisensi JavaScript",
"Main menu": "Menu utama",
"More": "Lainnya",
"Newer posts": "Postingan lebih baru",
"Next": "Selanjutnya",
"No posts": "Tidak ada postingan",
"No posts found": "Tidak ada postingan yang ditemukan",
"No recent articles found :(": "Tidak ada artikel terbaru yang ditemukan :(",
"No results for your search, try something different.": "Tidak ada hasil untuk pencarian kamu, coba sesuatu yang berbeda.",
"No tags found :(": "Tidak ada tag yang ditemukan :(",
"Now check your inbox and click the link to confirm your subscription.": "Now check your inbox and click the link to confirm your subscription.",
"Older posts": "Postingan lebih lama",
"Oops! There was an error sending the email, please try later.": "Ups! Terjadi kesalahan ketika mengirim email, mohon coba lagi nanti.",
"Open menu": "Buka menu",
"Open search": "Buka pencarian",
"Open submenu": "Buka submenu",
"Page": "Halaman",
"Page not found": "Halaman tidak ditemukan",
"Pagination": "Halaman",
"Please enter a valid email address": "Silahkan masukkan email yang valid",
"Posted by": "Dikirim oleh",
"Previous": "Sebelumnya",
"Published with": "Diterbitkan dengan",
"Recent articles": "Artikel Terbaru",
"Recommended for you": "Direkomendasikan untuk kamu",
"Scroll to top": "Gulirkan ke atas",
"Search": "Pencarian",
"Secondary menu in footer": "Menu sekunder di footer",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Tetap update! Dapatkan semua postingan terbaru & terkini yang dikirimkan langsung ke kotak masuk kamu.",
"Subscribe": "Berlangganan",
"Subscribe to": "Berlangganan",
"Subscribe to our newsletter": "Berlangganan newsletter kami",
"Subscribe to {blogtitle}": "Berlangganan {blogtitle}",
"Subscribed!": "Berlangganan!",
"Success! Your account is fully activated, you now have access to all content.": "Sukses! Akun kamu telah aktif, sekarang kamu bisa mengakses semua konten.",
"Tags": "Tag",
"Toggle dark mode": "Beralih ke mode gelap",
"Type to search": "Ketik untuk mencari",
"Unfortunately the page you were looking for could not be found.": "Sayangnya halaman yang kamu cari tidak dapat ditemukan.",
"Website": "Website",
"Welcome back! You've successfully signed in.": "Selamat datang kembali! Kamu telah berhasil masuk.",
"You've successfully subscribed to": "Kamu telah berhasil berlangganan",
"Your email address": "Alamat email kamu",
"of": "dari",

View file

@ -25,8 +25,8 @@
"Recommended for you": "Raccomandato per te",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Resta aggiornato! Ricevi i post più letti e recenti nella tua casella di posta.",
"Subscribe": "Iscriviti",
"Subscribe to": "Iscriviti a",
"Subscribe to our newsletter": "Iscriviti alla newsletter",
"Subscribe to {blogtitle}": "Iscriviti a {blogtitle}",
"Subscribed!": "Iscritto!",
"Tags": "Tag",
"Type to search": "Cerca",

View file

@ -1,64 +0,0 @@
{
"% min read": "%分で読めます",
"% posts": "%件の投稿",
"1 min read": "1分で読めます",
"1 post": "1件の投稿",
"Among with": "<br>共著者 ",
"Among with no break line": "共著者 ",
"Apparently there are no posts at the moment, check again later.": "どうやら今は投稿が無いようです、後でもう一度確認してみてください。",
"Back to home": "ホームへ戻る",
"Close": "閉じる",
"Close menu": "メニューを閉じる",
"Close search": "検索を閉じる",
"Email cannot be blank.": "メールは空欄にすることはできません。",
"Featured": "おすすめ",
"Get the latest posts delivered right to your inbox.": "受信トレイに最新の投稿を配信して入手する。",
"Go to the home page": "ホームページへ行く",
"Great! Next, complete checkout for full access.": "いいね!次は、フルアクセスのためのチェックアウトを完了します。",
"Great! You've successfully subscribed.": "いいね!正常に購読しています。",
"JavaScript license information": "JavaScriptライセンス情報",
"Main menu": "メインメニュー",
"More": "もっと見る",
"Newer posts": "新しい投稿",
"Next": "次へ",
"No posts": "投稿がありません",
"No posts found": "投稿が見つかりませんでした",
"No recent articles found :(": "最近の記事は見つかりませんでした。 :(",
"No results for your search, try something different.": "検索結果はありません。他のもので試してみてください。",
"No tags found :(": "タグが見つかりませんでした。 :(",
"Now check your inbox and click the link to confirm your subscription.": "受信トレイを確認し、リンクをクリックして購読を確認してください。",
"Older posts": "古い投稿",
"Oops! There was an error sending the email, please try later.": "おっと!メールの送信にエラーが発生しました。",
"Open menu": "メニューを開く",
"Open search": "検索を開く",
"Open submenu": "サブメニューを開く",
"Page": "ページ",
"Page not found": "ページが見つかりませんでした",
"Pagination": "ページネーション",
"Please enter a valid email address": "有効なメールアドレスを入力してください",
"Posted by": "投稿者",
"Previous": "前へ",
"Published with": "公開",
"Recent articles": "最近の記事",
"Recommended for you": "あなたへのおすすめ",
"Scroll to top": "トップへスクロール",
"Search": "検索",
"Secondary menu in footer": "フッター内のセカンダリメニュー",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "最新情報をお届けします!全ての最新かつ最高の投稿を受信トレイに直接配信します。",
"Subscribe": "購読",
"Subscribe to our newsletter": "ニュースレターを購読する",
"Subscribe to {blogtitle}": "{blogtitle}を購読する",
"Subscribed!": "購読!",
"Success! Your account is fully activated, you now have access to all content.": "成功!アカウントが完全に有効化され、すべてのコンテンツにアクセスできるようになりました。",
"Tags": "タグ",
"Toggle dark mode": "ダークモードを切り替え",
"Type to search": "入力して検索",
"Unfortunately the page you were looking for could not be found.": "残念ながら探していたページは見つかりませんでした。",
"Website": "ウェブサイト",
"Welcome back! You've successfully signed in.": "おかえりなさい!サインインに成功しました。",
"You've successfully subscribed to": "購読に成功しました。",
"Your email address": "あなたのメールアドレス",
"of": "/",
"with the email address": "のメールアドレス",
"with this tag": "にこのタグが付いています"
}

View file

@ -1,40 +0,0 @@
{
"% min read": "оқуға % минут",
"% posts": "оқуға % минут",
"1 min read": "оқуға 1 минут",
"1 post": "1 мақала",
"Among with": "<br>Соның ішінде ",
"Among with no break line": "Соның ішінде ",
"Apparently there are no posts at the moment, check again later.": "Қазіргі уақытта мақалалар жоқ, кейінірек кіріңіз.",
"Back to home": "Басты бетке",
"Email cannot be blank.": "Email-адресі бос бола алмайды.",
"Featured": "ТОП",
"Get the latest posts delivered right to your inbox.": "Соңғы мақалаларды тікелей поштаға алыңыз.",
"Go to the home page": "Басты бетке",
"JavaScript license information": "JavaScript лицензиясы туралы ақпарат",
"No posts": "Мақалалар жоқ",
"No posts found": "Мақалалар табылған жоқ",
"No recent articles found :(": "Соңғы мақалалар табылған жоқ :(",
"No results for your search, try something different.": "Сіздің сұрауыңыз бойынша ештене табылған жоқ, басқасын жазып көріңіз.",
"No tags found :(": "Тегтер табылмады:(",
"Page": "Бет",
"Page not found": "Бұл бет табылған жоқ",
"Posted by": "Автор",
"Published with": "Көмегімен жарияланды",
"Recent articles": "Соңғы мақалалар",
"Recommended for you": "Ұсынамыз",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Хабардар болыңыз! Соңғы мақалаларды тікелей поштаға алыңыз.",
"Subscribe": "Жазылуы",
"Subscribe to our newsletter": "Біздің жіберілімге жазылыңыз",
"Subscribe to {blogtitle}": "Жазылу {blogtitle}",
"Subscribed!": "Сіз жазылдыңыз!",
"Tags": "Тегтер",
"Toggle dark mode": "Жарқын/Қараңғы тақырып",
"Type to search": "Іздеу үшін жазып бастаңыз",
"Unfortunately the page you were looking for could not be found.": "Өкінішке орай, сіз іздеген бет табылмады.",
"You've successfully subscribed to": "Сіз осы бетке жазылдыңыз",
"Your email address": "Сіздің email-адресініз",
"of": "бірі",
"with the email address": "email-адресімен",
"with this tag": "осындай тегпен"
}

View file

@ -1,64 +0,0 @@
{
"% min read": "% 분 짜리 읽을 거리",
"% posts": "% 개 게시물",
"1 min read": "1 분 읽을 거리",
"1 post": "1 개 게시물",
"Among with": "<br>함께 작성함",
"Among with no break line": "함께 작성함 ",
"Apparently there are no posts at the moment, check again later.": "현재 게시물이 아무것도 없습니다. 나중에 다시 확인해보세요.",
"Back to home": "처음으로 돌아가기",
"Close": "닫기",
"Close menu": "메뉴 닫기",
"Close search": "검색창 닫기",
"Email cannot be blank.": "이메일 항목은 필수입니다.",
"Featured": "주목할만한 게시물",
"Get the latest posts delivered right to your inbox.": "새 게시물을 이메일로 바로 받아보세요.",
"Go to the home page": "처음으로 돌아가기",
"Great! Next, complete checkout for full access.": "좋아요! 이제 결제를 끝내고 모든 컨텐츠를 활성화하세요.",
"Great! You've successfully subscribed.": "좋아요! 성공적으로 구독하셨어요.",
"JavaScript license information": "JavaScript license information",
"Main menu": "메인 메뉴",
"More": "더보기",
"Newer posts": "새로운 게시물",
"Next": "다음으로",
"No posts": "게시물 없음",
"No posts found": "아무 게시물도 안 보여요",
"No recent articles found :(": "최신 게시물을 찾을 수 없어요 :(",
"No results for your search, try something different.": "이 조건에는 아무것도 없습니다. 다른 조건을 시도해보세요.",
"No tags found :(": "아무런 태그도 찾을 수 없어요 :(",
"Now check your inbox and click the link to confirm your subscription.": "이제 받은 이메일을 확인하여 구독 인증 링크를 눌러주세요.",
"Older posts": "오래된 게시물",
"Oops! There was an error sending the email, please try later.": "이런! 이메일을 보내는 데에 오류가 있었습니다. 나중에 다시 시도해주세요.",
"Open menu": "메뉴 열기",
"Open search": "검색창 열기",
"Open submenu": "보조 메뉴 열기",
"Page": "페이지",
"Page not found": "아무 페이지도 안보여요",
"Pagination": "Pagination",
"Please enter a valid email address": "유효한 이메일 주소를 입력해주세요",
"Posted by": "다음 편집자가 작성함",
"Previous": "이전으로",
"Published with": "Published with",
"Recent articles": "최신 게시물",
"Recommended for you": "추천 게시물",
"Scroll to top": "제일 위로",
"Search": "검색",
"Secondary menu in footer": "하단 보조 메뉴",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "계속 최신 상태를 유지하세요! 모든 최신 & 좋은 게시물들을 이메일로 즉시 받으세요.",
"Subscribe": "구독하기",
"Subscribe to our newsletter": "뉴스레터 구독하기",
"Subscribe to {blogtitle}": "{blogtitle} 을/를 구독하기",
"Subscribed!": "구독 완료!",
"Success! Your account is fully activated, you now have access to all content.": "성공입니다! 이제 계정이 완전히 활성화되어 모든 컨텐츠에 접근 가능합니다.",
"Tags": "태그",
"Toggle dark mode": "다크 모드 토글",
"Type to search": "입력해서 검색",
"Unfortunately the page you were looking for could not be found.": "안타깝게도 찾고있는 페이지를 찾을 수 없습니다.",
"Website": "웹사이트",
"Welcome back! You've successfully signed in.": "또 봐서 반가워요! 성공적으로 로그인 했습니다.",
"You've successfully subscribed to": "성공적으로 입력한 이메일로",
"Your email address": "이메일 주소",
"of": "중",
"with the email address": "에 구독했습니다.",
"with this tag": "발견함"
}

View file

@ -31,8 +31,8 @@
"Recommended for you": "Сизге сунушталган",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Бир толкунда бол! Акыркы макалаларды түз почтаңа ал.",
"Subscribe": "Жазылуу",
"Subscribe to": "Кийинкиге жазыл",
"Subscribe to our newsletter": "Биздин каттарга жызылыңыз",
"Subscribe to {blogtitle}": "Кийинкиге жазыл {blogtitle}",
"Subscribed!": "Сиз жазылдыңыз!",
"Success! Your account is fully activated, you now have access to all content.": "Ийгилик! Сиздин аккаунтуңуз толук активделди, эми сизге баардык контент жеткиликтүү.",
"Tags": "Тектер",

View file

@ -30,8 +30,8 @@
"Recommended for you": "Jums rekomenduojama",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Neatsilikite! Gaukite visus naujausius ir geriausius postus tiesiai į savo paštą.",
"Subscribe": "Prenumeruoti",
"Subscribe to": "Prenumeruoti",
"Subscribe to our newsletter": "Prenumeruoti mūsų žinių laikraštį",
"Subscribe to {blogtitle}": "Prenumeruoti {blogtitle}",
"Subscribed!": "Prenumeruota!",
"Success! Your account is fully activated, you now have access to all content.": "Sėkminga! Jūsų paskyra yra pilnai aktyvuota, dabar turite prieigą pie viso turinio.",
"Tags": "Žymėjimai",

View file

@ -1,48 +1,48 @@
{
"% min read": "% min leestijd",
"% min read": "% min gelezen",
"% posts": "% posts",
"1 min read": "1 min leestijd",
"1 min read": "1 min gelezen",
"1 post": "One post",
"Among with": "<br>Samen met ",
"Among with no break line": "Samen met ",
"Apparently there are no posts at the moment, check again later.": "Er lijken op dit moment geen berichten te zijn, kom later terug.",
"Back to home": "Terug naar de homepagina",
"Apparently there are no posts at the moment, check again later.": "Helaas zijn er op dit moment geen berichten, kom later terug.",
"Back to home": "Terug naar home",
"Email cannot be blank.": "Email mag niet leeg zijn.",
"Featured": "Aanbevolen",
"Get the latest posts delivered right to your inbox.": "Krijg de laatste berichten rechtstreeks in je inbox.",
"Go to the home page": "Ga naar de homepagina",
"Great! Next, complete checkout for full access.": "Top! Nu nog de betaling afronden voor volledige toegang.",
"Great! You've successfully subscribed.": "Top! Je hebt je succesvol ingeschreven.",
"Go to the home page": "Gaan naar de home pagina",
"Great! Next, complete checkout for full access.": "Top! Nu nog de checkout afronden voor volledige toegang.",
"Great! You've successfully subscribed.": "Top! je hebt je succesvol ingeschreven.",
"JavaScript license information": "JavaScript license information",
"More": "Meer",
"No posts": "Geen berichten",
"No posts found": "Geen berichten gevonden",
"No recent articles found :(": "Geen recente artikelen gevonden :(",
"No results for your search, try something different.": "Geen resultaat voor je zoekopdracht, probeer het eens op een andere manier.",
"No results for your search, try something different.": "Geen resultaat voor je zoek opdracht, probeer het eens op een andere manier.",
"No tags found :(": "Geen tags gevonden :(",
"Now check your inbox and click the link to confirm your subscription.": "Kijk nu in je inbox en bevestig je inschijving",
"Oops! There was an error sending the email, please try later.": "Oeps! Er heeft zich een fout voor gedaan bij het verzenden van de email, probeer het later nog eens.",
"Page": "Pagina",
"Page not found": "Pagina niet gevonden",
"Please enter a valid email address": "Voer een geldig e-mailadres in",
"Please enter a valid email address": "Voor een geldig email adres in",
"Posted by": "Gepost door",
"Published with": "Gepubliceerd met",
"Recent articles": "Recente artikelen",
"Recommended for you": "Aanbevolen voor jou",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Blijf op de hoogte! Krijg de beste en laatste berichten rechtstreeks in je inbox.",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Blijf op de hoogte! Krijg alle beste en laatste berichten rechtstreeks in je inbox.",
"Subscribe": "Schrijf je in",
"Subscribe to our newsletter": "Schrijf je in voor onze nieuwsbrief",
"Subscribe to {blogtitle}": "Schrijf je in voor {blogtitle}",
"Subscribe to": "Schrijf je in voor",
"Subscribe to our newsletter": "Schrijf je in voor de nieuwsbrief",
"Subscribed!": "Ingeschreven!",
"Success! Your account is fully activated, you now have access to all content.": "Yes! je account is volledig geactiveerd, je hebt nu toegang to alle inhoud.",
"Tags": "Tags",
"Toggle dark mode": "Schakel van kleurenmodus",
"Type to search": "Begin met typen om te zoeken",
"Unfortunately the page you were looking for could not be found.": "Helaas kon de pagina die je zocht niet gevonden worden.",
"Toggle dark mode": "Kleuren modus",
"Type to search": "Type om te zoeken",
"Unfortunately the page you were looking for could not be found.": "Helaas de pagina die je zocht kan niet worden gevonden.",
"Welcome back! You've successfully signed in.": "Welkom terug! Je bent succesvol ingelogd.",
"You've successfully subscribed to": "Je hebt je ingeschreven voor",
"Your email address": "Uw e-mailadres",
"Your email address": "Uw email adres",
"of": "of",
"with the email address": "met het e-mailadres",
"with the email address": "met het email adres",
"with this tag": "met de tag"
}

View file

@ -25,8 +25,8 @@
"Recommended for you": "Polecane dla Ciebie",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Bądź na bieżąco! Otrzymaj wszystkie ostatnie i najlepsze wpisy bezpośrednio na swoją skrzynkę!",
"Subscribe": "Bądź na bieżąco!",
"Subscribe to": "Zasubskrybuj",
"Subscribe to our newsletter": "Bądź na bieżąco z naszym newsletterem",
"Subscribe to {blogtitle}": "Zasubskrybuj {blogtitle}",
"Subscribed!": "Zasubskrybowano!",
"Tags": "Tagi",
"Toggle dark mode": "Tryb jasny/ciemny",

View file

@ -7,55 +7,29 @@
"Among with no break line": "Junto com ",
"Apparently there are no posts at the moment, check again later.": "Parece que não há artigos no momento. Que tal voltar mais tarde?",
"Back to home": "Voltar para o início",
"Close": "Fechar",
"Close menu": "Fechar menu",
"Close search": "Fechar pesquisar",
"Email cannot be blank.": "Email não pode ser vazio.",
"Featured": "Em destaque",
"Get the latest posts delivered right to your inbox.": "Receba nossos artigos mais novos diretamente na sua caixa de entrada.",
"Go to the home page": "Ir para o início",
"Great! Next, complete checkout for full access.": "Ótimo! Agora, complete o checkout para ter o acesso completo.",
"Great! You've successfully subscribed.": "Ótimo! Você se inscreveu com sucesso.",
"JavaScript license information": "Informações de licença JavaScript",
"Main menu": "Menu principal",
"More": "Mais",
"Newer posts": "Novos artigos",
"Next": "Próximo",
"No posts": "Nenhum artigo",
"No posts found": "Nenhum artigo encontrado",
"No recent articles found :(": "Não foram encontrados artigos recentes :(",
"No results for your search, try something different.": "Não foi encontrado nada para sua busca. Que tal tentar algo diferente?",
"No tags found :(": "Nenhum marcador foi encontrado :(",
"Now check your inbox and click the link to confirm your subscription.": "Agora verifique sua caixa de entrada e clique no link para confirmar sua inscrição.",
"Older posts": "Artigos antigos",
"Oops! There was an error sending the email, please try later.": "Oops! Ocorreu um erro ao enviar o email, por favor tente mais tarde.",
"Open menu": "Abrir menu",
"Open search": "Abrir pesquisa",
"Open submenu": "Abrir submenu",
"Page": "Página",
"Page not found": "Página não encontrada",
"Pagination": "Paginação",
"Please enter a valid email address": "Por favor insira um email válido",
"Posted by": "Publicado por",
"Previous": "Anterior",
"Published with": "Publicado com",
"Recent articles": "Artigos recentes",
"Recommended for you": "Recomendado para você",
"Scroll to top": "Role para o topo",
"Search": "Pesquisar",
"Secondary menu in footer": "Menu secundário no rodapé",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Mantenha-se atualizado e receba nossos melhores e mais recentes artigos diretamente na sua caixa de email.",
"Subscribe": "Inscreva-se",
"Subscribe to": "Inscreva-se a",
"Subscribe to our newsletter": "Inscreva-se para a nossa lista de email",
"Subscribe to {blogtitle}": "Inscreva-se a {blogtitle}",
"Subscribed!": "Inscrito!",
"Success! Your account is fully activated, you now have access to all content.": "Sucesso! Sua conta está completamente ativada, agora você tem acesso completo ao conteúdo.",
"Tags": "Marcadores",
"Toggle dark mode": "Alternar modo escuro",
"Type to search": "Digite para buscar",
"Unfortunately the page you were looking for could not be found.": "Infelizmente, a página que procurava não foi encontrada.",
"Website": "Website",
"Welcome back! You've successfully signed in.": "Bem vindo de volta! Você fez login com sucesso.",
"You've successfully subscribed to": "Inscrito com sucesso a",
"Your email address": "Seu email",
"of": "de",

View file

@ -25,8 +25,8 @@
"Recommended for you": "Recomendado para ti",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Mantem-te atualizado! Recebe os artigos mais recentes diretamente na tua caixa de entrada.",
"Subscribe": "Subscrever",
"Subscribe to": "Subscreve a",
"Subscribe to our newsletter": "Subscreve à Newsletter",
"Subscribe to {blogtitle}": "Subscreve a {blogtitle}",
"Subscribed!": "Subscrito!",
"Tags": "Etiquetas",
"Type to search": "Escreve para pesquisar",

View file

@ -25,8 +25,8 @@
"Recommended for you": "Recomandate pentru tine",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Rămâi la curent! Primește cele mai noi și mai importante articole direct în contul tău de email.",
"Subscribe": "Abonează-te",
"Subscribe to": "Abonează-te la",
"Subscribe to our newsletter": "Abonează-te la newsletter-ul nostru",
"Subscribe to {blogtitle}": "Abonează-te la {blogtitle}",
"Subscribed!": "Abonat!",
"Tags": "Tag-uri",
"Toggle dark mode": "Activează modul întunecat",

View file

@ -25,8 +25,8 @@
"Recommended for you": "Рекомендуем",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Будьте в курсе! Получайте последние статьи прямо на почту.",
"Subscribe": "Подписаться",
"Subscribe to": "Подписаться на",
"Subscribe to our newsletter": "Подпишитесь на нашу рассылку",
"Subscribe to {blogtitle}": "Подписаться на {blogtitle}",
"Subscribed!": "Вы подписаны!",
"Tags": "Теги",
"Type to search": "Начните печатать для поиска",

View file

@ -25,8 +25,8 @@
"Recommended for you": "Önerilen",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Güncel kal! Tüm yeni & harika yazıları e-posta olarak al.",
"Subscribe": "Abone ol",
"Subscribe to": "Abone ol:",
"Subscribe to our newsletter": "Bültenimize abone ol",
"Subscribe to {blogtitle}": "Abone ol: {blogtitle}",
"Subscribed!": "Abone olundu!",
"Tags": "Etiketler",
"Toggle dark mode": "Karanlık mod",

View file

@ -1,64 +0,0 @@
{
"% min read": "% мін",
"% posts": "% постів",
"1 min read": "1 мін",
"1 post": "1 пост",
"Among with": "<br>Among with ",
"Among with no break line": "Among with ",
"Apparently there are no posts at the moment, check again later.": "Наразі немає постів, завітайте пізніше",
"Back to home": "На головну",
"Close": "Закрити",
"Close menu": "Закрити меню",
"Close search": "Закрити пошук",
"Email cannot be blank.": "Email не може бути порожнім.",
"Featured": "Рекомендуємо",
"Get the latest posts delivered right to your inbox.": "Отримуйте останні публікації прямо у вашу скриньку",
"Go to the home page": "Повернутись на головну",
"Great! Next, complete checkout for full access.": "Чудово! Треба завершити оплата для отримання доступу",
"Great! You've successfully subscribed.": "Чудово! Ви підписані!.",
"JavaScript license information": "Інформація про ліцензію JavaScript",
"Main menu": "Головне меню",
"More": "Більше",
"Newer posts": "Новіщі пости",
"Next": "Далі",
"No posts": "Пости відсутні",
"No posts found": "Пости не знайдено",
"No recent articles found :(": "Останні пости не знайдено :(",
"No results for your search, try something different.": "Пошук не дав результатів, спробуйте інший запит.",
"No tags found :(": "Теги не знайдено :(",
"Now check your inbox and click the link to confirm your subscription.": "Перевірте email та перейдіть за посиланням для підтвердження підписки.",
"Older posts": "Попередні пости",
"Oops! There was an error sending the email, please try later.": "Oops! Помилка при відравленні, спробуйте пізніше.",
"Open menu": "Відкрити меню",
"Open search": "Відкрити пошук",
"Open submenu": "Відкрити додаткове меню",
"Page": "Сторінка",
"Page not found": "Сторінка не знайдено",
"Pagination": "Пагінація",
"Please enter a valid email address": "Введіть коректний email",
"Posted by": "Опубліковано",
"Previous": "Попередні",
"Published with": "Опубліковано",
"Recent articles": "Останні пости",
"Recommended for you": "Рекомендовано",
"Scroll to top": "Наверх",
"Search": "Пошук",
"Secondary menu in footer": "Додаткове меню у футері",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Будьте в курсі останніх публікацій! Отримуйте останні пости на поштову скриньку.",
"Subscribe": "Підписатись",
"Subscribe to our newsletter": "Підпишіться на нашу розсилку",
"Subscribe to {blogtitle}": "Підписатись на {blogtitle}",
"Subscribed!": "Підписані!",
"Success! Your account is fully activated, you now have access to all content.": "Ваш обліковий запис активовано! Тепер Ви маєте доступ до всього контенту!",
"Tags": "Теги",
"Toggle dark mode": "Темна тема",
"Type to search": "Пишіть тут, щоб шукати",
"Unfortunately the page you were looking for could not be found.": "Нажаль сторінка яку ви шукаєте не знайдена",
"Website": "Сайт",
"Welcome back! You've successfully signed in.": "З поверненням! Ви авторизувались!.",
"You've successfully subscribed to": "Ви успішно підписались",
"Your email address": "Ваш email адреса",
"of": "з",
"with the email address": "за допомогою email",
"with this tag": "з цим тегом"
}

View file

@ -45,8 +45,8 @@
"Search": "Tìm kiếm",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "Cập nhật tin mới nhất! Nhận bài viết mới & hay nhất gửi ngay vào inbox của bạn.",
"Subscribe": "Đăng ký",
"Subscribe to": "Đăng ký vào",
"Subscribe to our newsletter": "Đăng ký nhận bản tin của chúng tôi",
"Subscribe to {blogtitle}": "Đăng ký vào {blogtitle}",
"Subscribed!": "Đã đăng ký!",
"Success! Your account is fully activated, you now have access to all content.": "Thành công! Tài khoản của bạn đã được kích hoạt, bây giờ bạn có thể truy cập tất cả nội dung.",
"Tags": "Tags",

View file

@ -25,8 +25,8 @@
"Recommended for you": "向你推荐",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "事不宜迟! 将最新和最好的文章直接发送到你的收件箱.",
"Subscribe": "订阅",
"Subscribe to": "订阅",
"Subscribe to our newsletter": "订阅我们的新内容",
"Subscribe to {blogtitle}": "订阅 {blogtitle}",
"Subscribed!": "订阅成功!",
"Tags": "标签",
"Toggle dark mode": "切换到暗色模式",

View file

@ -25,8 +25,8 @@
"Recommended for you": "向你推薦",
"Stay up to date! Get all the latest & greatest posts delivered straight to your inbox.": "事不宜遲!將最新和最好的文章直接發送到你的收件箱.",
"Subscribe": "訂閱",
"Subscribe to": "訂閱",
"Subscribe to our newsletter": "訂閱我們的新內容",
"Subscribe to {blogtitle}": "訂閱 {blogtitle}",
"Subscribed!": "訂閱成功!",
"Tags": "標籤",
"Toggle dark mode": "切換到暗色模式",

View file

@ -30,8 +30,8 @@
"demo": "https://liebling.eduardogomez.io",
"description": "Beautiful and clean theme that is easy and comfortable to use.",
"engines": {
"ghost": ">=4.0.0",
"ghost-api": "v4"
"ghost": ">=3.0.0",
"ghost-api": "v3"
},
"gpm": {
"type": "theme",
@ -49,10 +49,10 @@
"ghost-theme"
],
"license": "MIT",
"name": "liebling-yverry",
"name": "liebling",
"screenshots": {
"desktop": "assets/screenshot-desktop.jpg",
"mobile": "assets/screenshot-mobile.jpg"
},
"version": "1.0.2b"
"version": "0.8.5"
}

View file

@ -3,13 +3,10 @@ This template is used for the authors page.
You must first create a page called Authors in the dashboard to enable it.
--}}
{{!-- This block preloads specific assets for the authors page --}}
{{#contentFor "preload"}}
<link rel="preload" href="{{asset "css/listing.css"}}" as="style" />
{{/contentFor}}
{{!-- This block loads specific styles for the authors page --}}
{{#contentFor "styles"}}
<link rel="preload" href="{{asset "css/listing.css"}}" as="style" />
<link rel="stylesheet" type="text/css" href="{{asset "css/listing.css"}}" media="screen" />
{{/contentFor}}

View file

@ -2,13 +2,10 @@
This template is used for the subscription page.
--}}
{{!-- This block preloads specific assets for the newsletter page --}}
{{#contentFor "preload"}}
<link rel="preload" href="{{asset "css/newsletter.css"}}" as="style" />
{{/contentFor}}
{{!-- This block loads specific styles for the newsletter page --}}
{{#contentFor "styles"}}
<link rel="preload" href="{{asset "css/newsletter.css"}}" as="style" />
<link rel="stylesheet" type="text/css" href="{{asset "css/newsletter.css"}}" media="screen" />
{{/contentFor}}
@ -28,9 +25,7 @@ into the {body} of the default.hbs template --}}
<section class="l-fullscreen__content in-subscribe-page" data-aos="fade-up" data-aos-delay="300">
<div>
<header class="m-heading in-subscribe-page">
<h1 class="m-heading__title">
{{t "Subscribe to {blogtitle}" blogtitle=@site.title}}
</h1>
<h1 class="m-heading__title">{{t "Subscribe to"}} {{@site.title}}</h1>
<p class="m-heading__description in-subscribe-page">
{{t "Stay up to date! Get all the latest & greatest posts delivered straight to your inbox."}}
</p>

View file

@ -3,13 +3,10 @@ This template is used for the tags page.
You must first create a page called Tags in the dashboard to enable it.
--}}
{{!-- This block preloads specific assets for the tags page --}}
{{#contentFor "preload"}}
<link rel="preload" href="{{asset "css/tags.css"}}" as="style" />
{{/contentFor}}
{{!-- This block loads specific styles for the tags page --}}
{{!-- This block loads specific styles for the authors page --}}
{{#contentFor "styles"}}
<link rel="preload" href="{{asset "css/tags.css"}}" as="style" />
<link rel="stylesheet" type="text/css" href="{{asset "css/tags.css"}}" media="screen" />
{{/contentFor}}

View file

@ -4,11 +4,12 @@ This footer template is shared across all the pages.
<footer class="m-footer">
<div class="m-footer__content">
{{#if @site.secondary_navigation}}
<nav class="m-footer__nav-secondary" role="navigation" aria-label="{{t "Secondary menu in footer"}}">
{{navigation type="secondary"}}
</nav>
{{/if}}
<p class="m-footer-copyright">
<span>{{@site.title}} &copy; {{date format="YYYY"}}</span>
<span>&nbsp; &bull; &nbsp;</span>
<span>{{t "Published with"}} <a href="https://ghost.org" target="_blank" rel="noopener">Ghost</a></span>
</p>
<nav class="m-footer-social">
{{#if @site.facebook}}
<a href="{{facebook_url @site.facebook}}" target="_blank" rel="noopener" aria-label="Facebook">
@ -24,11 +25,6 @@ This footer template is shared across all the pages.
<span class="icon-rss" aria-hidden="true"></span>
</a>
</nav>
<p class="m-footer-copyright">
<span>{{@site.title}} &copy; {{date format="YYYY"}}</span>
<span>&nbsp; &bull; &nbsp;</span>
<span>{{t "Published with"}} <a href="https://ghost.org" target="_blank" rel="noopener">Ghost</a></span>
</p>
<p class="m-footer-copyright jslicense">
<a href="{{asset "html/javascript.html"}}" rel="jslicense">{{t "JavaScript license information"}}</a>
</p>

View file

@ -4,20 +4,28 @@ for it, and apply those styles to the <header> tag.
--}}
{{#if background}}
{{#contentFor "herobackground"}}
<style>
.m-hero__picture {
background-image: url({{img_url background size='xl'}});
}
@media(max-width: 1000px) {
.m-hero__picture {
background-image: url({{img_url background size='l'}});
}
}
@media(max-width: 600px) {
.m-hero__picture {
background-image: url({{img_url background size='m'}});
}
}
</style>
{{/contentFor}}
<section class="m-hero with-picture" data-aos="fade">
<div class="m-hero__picture {{#is "post"}}in-post{{/is}}">
<img
srcset="
{{img_url background size="s"}} 300w,
{{img_url background size="m"}} 600w,
{{img_url background size="l"}} 1000w,
{{img_url background size="xl"}} 2000w
"
sizes="(max-width: 600px) 600px, (max-width: 1000px) 1000px, 2000px"
src="{{img_url background size="l"}}"
alt=""
/>
</div>
<div class="m-hero__picture {{#is "post"}}in-post{{/is}}"></div>
{{else}}
<section class="m-hero no-picture {{#is "post"}}in-post{{/is}}" data-aos="fade">
{{/if}}

View file

@ -10,6 +10,13 @@
{{#if feature_image}}
<img class="m-article-card__picture-background" src="{{img_url feature_image size="m"}}" loading="lazy" alt="">
{{/if}}
<a href="{{primary_author.url}}" class="m-article-card__author js-tooltip" aria-label="{{primary_author.name}}" data-tippy-content="{{t "Posted by"}} {{primary_author.name}} {{authors autolink="false" from="2" prefix=(t "Among with") separator=" , "}}">
{{#if primary_author.profile_image}}
<div style="background-image: url({{img_url primary_author.profile_image size="xs"}});"></div>
{{else}}
<div style="background-image: url({{asset "images/default-avatar-square-small.jpg"}});"></div>
{{/if}}
</a>
{{#if featured}}
<a href="{{url}}" class="m-article-card__featured js-tooltip" data-tippy-content="{{t "Featured"}}" aria-label="{{t "Featured"}}">
<span class="icon-star" aria-hidden="true"></span>
@ -40,12 +47,10 @@
</div>
{{/is}}
{{else}}
<div class="m-recommended-slider__item glide__slide">
<div class="m-heading no-margin">
<h3>{{t "No posts found"}}</h3>
<p>
{{t "Apparently there are no posts at the moment, check again later."}}
</p>
</div>
</div>
<header class="m-heading no-margin">
<h3>{{t "No posts found"}}</h3>
<p>
{{t "Apparently there are no posts at the moment, check again later."}}
</p>
</header>
{{/foreach}}

120
post.hbs
View file

@ -36,7 +36,7 @@ into the {body} of the default.hbs template --}}
<div class="l-wrapper in-post {{#unless feature_image}}no-image{{/unless}} js-aos-wrapper" data-aos="fade-up"
data-aos-delay="300">
<div
class="l-post-content js-progress-content">
class="l-post-content {{#if @labs.subscribers}}has-subscribe-form{{/if}} {{#if @labs.members}}has-subscribe-form{{/if}} js-progress-content">
<header class="m-heading">
<h1 class="m-heading__title in-post">{{title}}</h1>
<div class="m-heading__meta">
@ -50,6 +50,10 @@ into the {body} of the default.hbs template --}}
<div class="pos-relative js-post-content">
<div class="m-share">
<div class="m-share__content js-sticky">
<a href="https://www.facebook.com/sharer/sharer.php?u={{url absolute='true'}}"
class="m-icon-button filled in-share" target="_blank" rel="noopener" aria-label="Facebook">
<span class="icon-facebook" aria-hidden="true"></span>
</a>
<a href="https://twitter.com/intent/tweet?text={{encode title}}&url={{url absolute='true'}}"
class="m-icon-button filled in-share" target="_blank" rel="noopener" aria-label="Twitter">
<span class="icon-twitter" aria-hidden="true"></span>
@ -80,21 +84,48 @@ into the {body} of the default.hbs template --}}
</div>
</div>
{{!-- Email subscribe form at the bottom of the page --}}
<section class="m-subscribe-section js-newsletter">
<div class="l-wrapper in-post">
<div class="m-subscribe-section__content">
<div class="m-subscribe-section__text">
<h4 class="m-subscribe-section__title">{{t "Subscribe to our newsletter"}}</h4>
<p class="m-subscribe-section__description">
{{t "Get the latest posts delivered right to your inbox."}}
</p>
</div>
<div class="m-subscribe-section__form">
{{> "newsletter-form"}}
{{#if @labs.subscribers}}
<section class="m-subscribe-section">
<div class="l-wrapper in-post">
<div class="m-subscribe-section__content">
<div class="m-subscribe-section__text">
<h4 class="m-subscribe-section__title">{{t "Subscribe to our newsletter"}}</h4>
<p class="m-subscribe-section__description">
{{t "Get the latest posts delivered right to your inbox."}}
</p>
</div>
<div class="m-subscribe-section__form">
{{subscribe_form
form_id="subscribe-form"
form_class="m-subscribe-section__form"
input_id="subscribe_input"
input_class="m-input in-subscribe-section"
button_id="subscribe_button"
button_class="m-button primary block"
placeholder=(t "Your email address")
}}
</div>
</div>
</div>
</div>
</section>
</section>
{{/if}}
{{#if @labs.members}}
<section class="m-subscribe-section">
<div class="l-wrapper in-post">
<div class="m-subscribe-section__content">
<div class="m-subscribe-section__text">
<h4 class="m-subscribe-section__title">{{t "Subscribe to our newsletter"}}</h4>
<p class="m-subscribe-section__description">
{{t "Get the latest posts delivered right to your inbox."}}
</p>
</div>
<div class="m-subscribe-section__form">
{{> "newsletter-form"}}
</div>
</div>
</div>
</section>
{{/if}}
<section class="m-author">
<div class="m-author__content">
<div class="m-author__picture">
@ -126,6 +157,13 @@ into the {body} of the default.hbs template --}}
</a>
</li>
{{/if}}
{{#if primary_author.facebook}}
<li>
<a href="https://facebook.com/{{primary_author.facebook}}" target="_blank" rel="noopener" aria-label="Facebook">
<span class="icon-facebook" aria-hidden="true"></span>
</a>
</li>
{{/if}}
{{#if primary_author.twitter}}
<li>
<a href="https://twitter.com/{{primary_author.twitter}}" target="_blank" rel="noopener" aria-label="Twitter">
@ -140,6 +178,12 @@ into the {body} of the default.hbs template --}}
{{!-- If you want to embed comments, this is a good place to do it! --}}
{{!--
<section class="m-comments">
<div class="m-load-comments">
<div class="m-load-comments__line"></div>
<button class="m-icon-button filled as-load-comments js-tooltip js-load-comments" data-tippy-content="Load comments">
<span class="icon-comments"></span>
</button>
</div>
<div class="m-load-comments__iframe l-wrapper in-comments js-comments-iframe">
<div id="disqus_thread"></div>
<script>
@ -159,33 +203,7 @@ into the {body} of the default.hbs template --}}
--}}
{{/post}}
{{!-- Related posts --}}
{{#if post.tags.length}}
{{#get "posts" limit="3" filter="tags:[{{post.tags}}]+id:-{{post.id}}" include="tags,authors" as |related|}}
<section class="m-recommended">
<div class="l-wrapper in-recommended">
<h3 class="m-section-title in-recommended">{{t "Recommended for you"}}</h3>
<div class="m-recommended-articles">
<div class="m-recommended-slider glide js-recommended-slider">
<div class="glide__track" data-glide-el="track">
<div class="glide__slides">
{{!-- The tag below iterates over all the related posts --}}
{{> "loop"}}
</div>
</div>
<div data-glide-el="controls" class="glide__arrows js-controls">
<button data-glide-dir="<" class="m-icon-button filled in-recommended-articles glide-prev" aria-label="{{t "Previous"}}">
<span class="icon-arrow-left" aria-hidden="true"></span>
</button>
<button data-glide-dir=">" class="m-icon-button filled in-recommended-articles glide-next" aria-label="{{t "Next"}}">
<span class="icon-arrow-right" aria-hidden="true"></span>
</button>
</div>
</div>
</div>
</div>
</section>
{{/get}}
{{else}}
{{#get "posts" limit="3" filter="tags:[{{post.tags}}]+id:-{{post.id}}" include="tags,authors" as |related|}}
<section class="m-recommended">
<div class="l-wrapper in-recommended">
<h3 class="m-section-title in-recommended">{{t "Recommended for you"}}</h3>
@ -193,21 +211,23 @@ into the {body} of the default.hbs template --}}
<div class="m-recommended-slider glide js-recommended-slider">
<div class="glide__track" data-glide-el="track">
<div class="glide__slides">
<div class="m-recommended-slider__item glide__slide">
<div class="m-heading no-margin">
<h3>{{t "No posts found"}}</h3>
<p>
{{t "Apparently there are no posts at the moment, check again later."}}
</p>
</div>
</div>
{{!-- The tag below iterates over all the related posts --}}
{{> "loop"}}
</div>
</div>
<div data-glide-el="controls" class="glide__arrows js-controls">
<button data-glide-dir="<" class="m-icon-button filled in-recommended-articles glide-prev" aria-label="{{t "Previous"}}">
<span class="icon-arrow-left" aria-hidden="true"></span>
</button>
<button data-glide-dir=">" class="m-icon-button filled in-recommended-articles glide-next" aria-label="{{t "Next"}}">
<span class="icon-arrow-right" aria-hidden="true"></span>
</button>
</div>
</div>
</div>
</div>
</section>
{{/if}}
{{/get}}
</div>
</article>
</main>

22
routes.yaml Normal file
View file

@ -0,0 +1,22 @@
routes:
/signup/:
template: members/signup
data: page.signup
/signin/:
template: members/signin
data: page.signin
/membership/:
template: members/membership
data: page.membership
/account/:
template: members/account
data: page.account
collections:
/:
permalink: /{slug}/
template: index
taxonomies:
tag: /tag/{slug}/
author: /author/{slug}/

View file

@ -2,7 +2,7 @@ version: '3'
services:
ghost:
image: ghost:4.1.0
image: ghost:3.7.0
container_name: ghost
volumes:
- ./..:/var/lib/ghost/content/themes/liebling:Z

View file

@ -4,8 +4,7 @@ import Glide, {
Swipe,
Breakpoints
} from '@glidejs/glide/dist/glide.modular.esm'
import tippy from 'tippy.js';
import 'tippy.js/dist/tippy.css';
import tippy from 'tippy.js'
import shave from 'shave'
import AOS from 'aos'
import Fuse from 'fuse.js/dist/fuse.basic.esm.min.js'
@ -17,7 +16,7 @@ import {
getParameterByName
} from './helpers'
$(() => {
$(document).ready(() => {
if (isRTL()) {
$('html').attr('dir', 'rtl').addClass('rtl')
}
@ -42,7 +41,6 @@ $(() => {
const $closeNotification = $('.js-notification-close')
const $mainNav = $('.js-main-nav')
const $mainNavLeft = $('.js-main-nav-left')
const $newsletterElements = $('.js-newsletter')
const currentSavedTheme = localStorage.getItem('theme')
let fuse = null
@ -65,12 +63,6 @@ $(() => {
$body.toggleClass('no-scroll-y')
}
const tryToRemoveNewsletter = () => {
if (typeof disableNewsletter !== 'undefined' && disableNewsletter) {
$newsletterElements.remove()
}
}
const trySearchFeature = () => {
if (typeof ghostSearchApiKey !== 'undefined') {
getAllPosts(ghostHost, ghostSearchApiKey)
@ -85,7 +77,7 @@ $(() => {
const api = new GhostContentAPI({
url: host,
key,
version: 'v4'
version: 'v2'
})
const allPosts = []
const fuseOptions = {
@ -169,19 +161,19 @@ $(() => {
}
}
$openMenu.on('click', () => {
$openMenu.click(() => {
$header.addClass('mobile-menu-opened')
$menu.addClass('opened')
toggleScrollVertical()
})
$closeMenu.on('click', () => {
$closeMenu.click(() => {
$header.removeClass('mobile-menu-opened')
$menu.removeClass('opened')
toggleScrollVertical()
})
$toggleSubmenu.on('click', () => {
$toggleSubmenu.click(() => {
submenuIsOpen = !submenuIsOpen
if (submenuIsOpen) {
@ -191,21 +183,21 @@ $(() => {
}
})
$openSearch.on('click', () => {
$openSearch.click(() => {
$search.addClass('opened')
setTimeout(() => {
$inputSearch.trigger('focus')
$inputSearch.focus()
}, 400);
toggleScrollVertical()
})
$closeSearch.on('click', () => {
$inputSearch.trigger('blur')
$closeSearch.click(() => {
$inputSearch.blur()
$search.removeClass('opened')
toggleScrollVertical()
})
$inputSearch.on('keyup', () => {
$inputSearch.keyup(() => {
if ($inputSearch.val().length > 0 && fuse) {
const results = fuse.search($inputSearch.val())
const bestResults = results.filter((result) => {
@ -242,7 +234,7 @@ $(() => {
}
})
$toggleDarkMode.on('change', () => {
$toggleDarkMode.change(() => {
if ($toggleDarkMode.is(':checked')) {
$('html').attr('data-theme', 'dark')
localStorage.setItem('theme', 'dark')
@ -252,19 +244,17 @@ $(() => {
}
})
$toggleDarkMode.on('mouseenter', () => {
$toggleDarkMode.hover(() => {
toggleDesktopTopbarOverflow(true)
}, () => {
toggleDesktopTopbarOverflow(false)
})
$toggleDarkMode.on('mouseleave', () => {
toggleDesktopTopbarOverflow(true)
})
$closeNotification.on('click', function () {
$closeNotification.click(function () {
closeNotification($(this).parent())
})
$(window).on('click', (e) => {
$(window).click((e) => {
if (submenuIsOpen) {
if ($submenuOption && !$submenuOption.contains(e.target)) {
submenuIsOpen = false
@ -273,7 +263,7 @@ $(() => {
}
})
$(document).on('keyup', (e) => {
$(document).keyup((e) => {
if (e.key === 'Escape' && $search.hasClass('opened')) {
$closeSearch.click()
}
@ -363,7 +353,6 @@ $(() => {
const template = document.getElementById('secondary-navigation-template')
secondaryMenuTippy = tippy('.js-open-secondary-menu', {
appendTo: document.body,
content: template.innerHTML,
allowHTML: true,
arrow: true,
@ -384,6 +373,5 @@ $(() => {
shave('.js-article-card-title-no-image', 250)
checkForActionParameter()
tryToRemoveNewsletter()
trySearchFeature()
})

View file

@ -77,12 +77,28 @@ export const managePostImages = ($) => {
export const makeImagesZoomable = ($, mediumZoom) => {
const zoom = mediumZoom('.js-zoomable')
zoom.on('opened', () => {
setTimeout(() => {
const $mediumZoomImages = $('.medium-zoom-image--opened')
if ($mediumZoomImages.length > 1) {
$mediumZoomImages.last().hide()
}
}, 10)
zoom.on('open', (event) => {
if (isMobile() && $(event.target).parent().hasClass('kg-gallery-image')) {
setTimeout(() => {
const $mediumZoomImage = $('.medium-zoom-image--opened')
const transform = $mediumZoomImage[0].style.transform
const scale = transform.substr(0, transform.indexOf(' '))
const scaleValue = parseFloat(scale.substr(scale.indexOf('(') + 1).split(')')[0])
const translate = transform.substr(transform.indexOf(' ') + 1)
const translateY = parseFloat(translate.split(',')[1])
const newTranslateY = (translateY < 0) ? (scaleValue * translateY) + translateY : (scaleValue * translateY) - translateY
const newTransform = `scale(1) translate3d(0, ${newTranslateY}px, 0)`
$mediumZoomImage.addClass('medium-zoom-image-mobile')
$mediumZoomImage[0].style.transform = newTransform
}, 10)
}
})
zoom.on('close', () => {
if (isMobile() && $(event.target).parent().hasClass('kg-gallery-image')) {
const $mediumZoomImage = $('.medium-zoom-image')
$mediumZoomImage.removeClass('medium-zoom-image-mobile')
}
})
}

View file

@ -7,7 +7,7 @@ import Glide, {
} from '@glidejs/glide/dist/glide.modular.esm'
import { isRTL } from './helpers'
$(() => {
$(document).ready(() => {
const $featuredSlider = $('.js-featured-slider')
if ($featuredSlider.length > 0) {
@ -82,7 +82,7 @@ $(() => {
featuredSlider.on('mount.after', () => {
shave('.js-featured-article-title', 200)
})
featuredSlider.mount({ Controls, Swipe, Breakpoints, ArrowDisabler })
setTimeout(() => {

View file

@ -7,7 +7,7 @@ import {
makeImagesZoomable
} from './helpers'
$(() => {
$(document).ready(() => {
fitvids('.js-post-content')
adjustImageGallery()

View file

@ -109,9 +109,11 @@ const prepareProgressCircle = () => {
}, 300)
}
$(() => {
$(document).ready(() => {
$aosWrapper = $('.js-aos-wrapper')
const $scrollButton = $('.js-scrolltop')
const $loadComments = $('.js-load-comments')
const $commentsIframe = $('.js-comments-iframe')
const $recommendedSlider = $('.js-recommended-slider')
fitvids('.js-post-content')
@ -176,12 +178,17 @@ $(() => {
shave('.js-article-card-title', 100)
shave('.js-article-card-title-no-image', 250)
$scrollButton.on('click', () => {
$scrollButton.click(() => {
$('html, body').animate({
scrollTop: 0
}, 500)
})
$loadComments.click(() => {
$loadComments.parent().hide()
$commentsIframe.fadeIn('slow')
})
managePostImages($)
makeImagesZoomable($, mediumZoom)

File diff suppressed because one or more lines are too long

10034
src/package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -9,7 +9,7 @@
"dev": "NODE_ENV=development node node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "NODE_ENV=development node node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"hot": "NODE_ENV=development webpack-dev-server --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"docker-watch": "concurrently --names 'DOCKER,WEBPACK' --prefix-colors 'yellow,magenta' --kill-others \"docker-compose up\" \"npm run watch\"",
"docker-watch": "docker-compose up -d && node node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"podman-watch": "podman-compose up -d && node node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"deploy": "npm run production && node deploy/index.js",
"production": "npm run build && npm run zip",
@ -29,32 +29,31 @@
"license": "ISC",
"devDependencies": {
"7zip": "0.0.6",
"@tryghost/admin-api": "^1.4.0",
"browser-sync": "^2.26.14",
"browser-sync-webpack-plugin": "^2.3.0",
"concurrently": "^6.0.0",
"@tryghost/admin-api": "^1.0.1",
"browser-sync": "^2.26.7",
"browser-sync-webpack-plugin": "^2.0.1",
"dotenv": "^8.2.0",
"fs": "0.0.1-security",
"ghost-cli": "^1.16.3",
"ghost-cli": "^1.12.0",
"husky": "^4.2.3",
"laravel-mix": "^5.0.0",
"laravel-mix": "^4.0.0-beta.2",
"path": "^0.12.7",
"resolve-url-loader": "3.1.2",
"run-script-os": "^1.1.5",
"resolve-url-loader": "3.1.0",
"run-script-os": "^1.0.7",
"sass": "^1.22.9",
"sass-loader": "8.*",
"sass-loader": "7.*",
"vue-template-compiler": "^2.6.10"
},
"dependencies": {
"@glidejs/glide": "^3.4.1",
"aos": "2.3.4",
"aos": "eddiesigner/aos.git#v2",
"fitvids": "^2.0.0",
"fuse.js": "^6.4.6",
"headroom.js": "^0.12.0",
"jquery": "^3.6.0",
"medium-zoom": "^1.0.6",
"shave": "^2.5.10",
"tippy.js": "^5.2.1"
"fuse.js": "^6.3.0",
"headroom.js": "^0.10.3",
"jquery": "^3.3.1",
"medium-zoom": "^1.0.3",
"shave": "^2.5.6",
"tippy.js": "^4.0.1"
},
"optionalDependencies": {
"win-node-env": "^0.4.0"

View file

@ -30,7 +30,7 @@ body {
}
p {
line-height: 1.5;
line-height: 1.3;
margin: 0;
}
@ -54,6 +54,13 @@ fieldset {
background-color: var(--background-color) !important;
}
.medium-zoom-image-mobile {
left: 0 !important;
width: 100% !important;
height: auto !important;
@include transition(all .3s cubic-bezier(.2,0,.2,1) !important);
}
.medium-zoom-overlay,
.medium-zoom-image {
z-index: 5;

View file

@ -22,7 +22,7 @@
--toggle-darkmode-button-display-sun: none;
--toggle-darkmode-background-color: rgba(0, 0, 0, 0.05);
--header-menu-gradient-first-color: rgba(255, 255, 255, 0);
--header-menu-gradient-second-color: rgba(255, 255, 255, 1);
--header-menu-gradient-secound-color: rgba(255, 255, 255, 1);
}
[data-theme="dark"] {
@ -48,7 +48,7 @@
--toggle-darkmode-button-display-sun: block;
--toggle-darkmode-background-color: rgba(0, 0, 0, 0.5);
--header-menu-gradient-first-color: rgba(17, 17, 17, 0);
--header-menu-gradient-second-color: rgba(17, 17, 17, 0.65);
--header-menu-gradient-secound-color: rgba(17, 17, 17, 0.65);
}
@media (prefers-color-scheme: dark) {
@ -75,6 +75,6 @@
--toggle-darkmode-button-display-sun: block;
--toggle-darkmode-background-color: rgba(0, 0, 0, 0.5);
--header-menu-gradient-first-color: rgba(17, 17, 17, 0);
--header-menu-gradient-second-color: rgba(17, 17, 17, 0.65);
--header-menu-gradient-secound-color: rgba(17, 17, 17, 0.65);
}
}

View file

@ -6,35 +6,19 @@
.m-footer__content {
color: $white;
text-align: center;
padding: 50px $mobile-space;
padding: 30px $mobile-space;
@include respond-to('medium') {
padding: 75px 0;
max-width: 680px;
padding: 70px 0;
max-width: 330px;
margin: 0 auto;
}
}
.m-footer__nav-secondary {
margin-bottom: 25px;
.m-secondary-menu {
display: flex;
justify-content: center;
flex-wrap: wrap;
li {
@include respond-to('medium') {
margin: 0 5px;
}
}
}
}
.m-footer-copyright {
font-size: 0.875rem;
letter-spacing: 0.3px;
line-height: 1.7;
line-height: 1.75rem;
margin-bottom: $mobile-space;
span {
@ -53,12 +37,7 @@
}
}
a {
text-decoration: underline;
}
&.jslicense {
opacity: 0.7;
margin-bottom: 0;
}
}

View file

@ -93,7 +93,6 @@
border-radius: 10px 10px 0 0;
background-color: var(--secondary-subtle-color);
overflow: hidden;
@include transform(translateZ(0));
@include respond-to('medium') {
height: 220px;

View file

@ -48,9 +48,6 @@
text-align: center;
@include respond-to('medium') {
display: flex;
flex-direction: column;
justify-content: center;
flex: 1;
text-align: left;
}

Some files were not shown because too many files have changed in this diff Show more