{{ .Title | markdownify }}
+{{ .Title | markdownify }}
{{ if .Date | default nil }}
@@ -33,7 +33,7 @@
{{ if .Params.tags }}
{{ range .Params.tags }}
- #{{ . }}
+ #{{ . }}
{{ end }}
{{ end }}
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index 824ce63..6e666a4 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -28,12 +28,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
{{ template "_internal/twitter_cards.html" . }}
diff --git a/static/assets/Inter-Bold.woff b/static/assets/fonts/Inter-Bold.woff
similarity index 100%
rename from static/assets/Inter-Bold.woff
rename to static/assets/fonts/Inter-Bold.woff
diff --git a/static/assets/Inter-Bold.woff2 b/static/assets/fonts/Inter-Bold.woff2
similarity index 100%
rename from static/assets/Inter-Bold.woff2
rename to static/assets/fonts/Inter-Bold.woff2
diff --git a/static/assets/Inter-BoldItalic.woff b/static/assets/fonts/Inter-BoldItalic.woff
similarity index 100%
rename from static/assets/Inter-BoldItalic.woff
rename to static/assets/fonts/Inter-BoldItalic.woff
diff --git a/static/assets/Inter-BoldItalic.woff2 b/static/assets/fonts/Inter-BoldItalic.woff2
similarity index 100%
rename from static/assets/Inter-BoldItalic.woff2
rename to static/assets/fonts/Inter-BoldItalic.woff2
diff --git a/static/assets/Inter-Italic.woff b/static/assets/fonts/Inter-Italic.woff
similarity index 100%
rename from static/assets/Inter-Italic.woff
rename to static/assets/fonts/Inter-Italic.woff
diff --git a/static/assets/Inter-Italic.woff2 b/static/assets/fonts/Inter-Italic.woff2
similarity index 100%
rename from static/assets/Inter-Italic.woff2
rename to static/assets/fonts/Inter-Italic.woff2
diff --git a/static/assets/Inter-Medium.woff b/static/assets/fonts/Inter-Medium.woff
similarity index 100%
rename from static/assets/Inter-Medium.woff
rename to static/assets/fonts/Inter-Medium.woff
diff --git a/static/assets/Inter-Medium.woff2 b/static/assets/fonts/Inter-Medium.woff2
similarity index 100%
rename from static/assets/Inter-Medium.woff2
rename to static/assets/fonts/Inter-Medium.woff2
diff --git a/static/assets/Inter-MediumItalic.woff b/static/assets/fonts/Inter-MediumItalic.woff
similarity index 100%
rename from static/assets/Inter-MediumItalic.woff
rename to static/assets/fonts/Inter-MediumItalic.woff
diff --git a/static/assets/Inter-MediumItalic.woff2 b/static/assets/fonts/Inter-MediumItalic.woff2
similarity index 100%
rename from static/assets/Inter-MediumItalic.woff2
rename to static/assets/fonts/Inter-MediumItalic.woff2
diff --git a/static/assets/Inter-Regular.woff b/static/assets/fonts/Inter-Regular.woff
similarity index 100%
rename from static/assets/Inter-Regular.woff
rename to static/assets/fonts/Inter-Regular.woff
diff --git a/static/assets/Inter-Regular.woff2 b/static/assets/fonts/Inter-Regular.woff2
similarity index 100%
rename from static/assets/Inter-Regular.woff2
rename to static/assets/fonts/Inter-Regular.woff2
diff --git a/static/assets/main.js b/static/assets/main.js
index 1ae888d..f44b623 100644
--- a/static/assets/main.js
+++ b/static/assets/main.js
@@ -1,122 +1 @@
-/******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId]) {
-/******/ return installedModules[moduleId].exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ i: moduleId,
-/******/ l: false,
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ // Flag the module as loaded
-/******/ module.l = true;
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-/******/
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-/******/
-/******/ // define getter function for harmony exports
-/******/ __webpack_require__.d = function(exports, name, getter) {
-/******/ if(!__webpack_require__.o(exports, name)) {
-/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ }
-/******/ };
-/******/
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = function(exports) {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/
-/******/ // create a fake namespace object
-/******/ // mode & 1: value is a module id, require it
-/******/ // mode & 2: merge all properties of value into the ns
-/******/ // mode & 4: return value when already ns object
-/******/ // mode & 8|1: behave like require
-/******/ __webpack_require__.t = function(value, mode) {
-/******/ if(mode & 1) value = __webpack_require__(value);
-/******/ if(mode & 8) return value;
-/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ var ns = Object.create(null);
-/******/ __webpack_require__.r(ns);
-/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ return ns;
-/******/ };
-/******/
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = function(module) {
-/******/ var getter = module && module.__esModule ?
-/******/ function getDefault() { return module['default']; } :
-/******/ function getModuleExports() { return module; };
-/******/ __webpack_require__.d(getter, 'a', getter);
-/******/ return getter;
-/******/ };
-/******/
-/******/ // Object.prototype.hasOwnProperty.call
-/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-/******/
-/******/
-/******/ // Load entry module and return exports
-/******/ return __webpack_require__(__webpack_require__.s = 0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ "./assets/js/menu.js":
-/*!***************************!*\
- !*** ./assets/js/menu.js ***!
- \***************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("var container = document.querySelector(\".container\");\nvar menu = document.querySelector(\".menu\");\nvar mobileMenuTrigger = document.querySelector(\".menu-trigger\");\nvar desktopMenu = document.querySelector(\".menu__inner--desktop\");\nvar desktopMenuTrigger = document.querySelector(\".menu__sub-inner-more-trigger\");\nvar menuMore = document.querySelector(\".menu__sub-inner-more\");\nvar mobileQuery = getComputedStyle(document.body).getPropertyValue(\"--phoneWidth\");\n\nvar isMobile = function isMobile() {\n return window.matchMedia(mobileQuery).matches;\n};\n\nvar isMobileMenu = function isMobileMenu() {\n mobileMenuTrigger && mobileMenuTrigger.classList.toggle(\"hidden\", !isMobile());\n menu && menu.classList.toggle(\"hidden\", isMobile());\n menuMore && menuMore.classList.toggle(\"hidden\", !isMobile());\n}; // Common\n\n\nmenu && menu.addEventListener(\"click\", function (e) {\n return e.stopPropagation();\n});\nmenuMore && menuMore.addEventListener(\"click\", function (e) {\n return e.stopPropagation();\n});\nisMobileMenu();\ndocument.body.addEventListener(\"click\", function () {\n if (!isMobile() && menuMore && !menuMore.classList.contains(\"hidden\")) {\n menuMore.classList.add(\"hidden\");\n } else if (isMobile() && !menu.classList.contains(\"hidden\")) {\n menu.classList.add(\"hidden\");\n }\n});\nwindow.addEventListener(\"resize\", isMobileMenu); // Mobile menu\n\nmobileMenuTrigger && mobileMenuTrigger.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n menu && menu.classList.toggle(\"hidden\");\n}); // Desktop menu\n\ndesktopMenuTrigger && desktopMenuTrigger.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n menuMore && menuMore.classList.toggle(\"hidden\");\n\n if (menuMore && menuMore.getBoundingClientRect().right > container.getBoundingClientRect().right) {\n menuMore.style.left = \"auto\";\n menuMore.style.right = 0;\n }\n});\n\n//# sourceURL=webpack:///./assets/js/menu.js?");
-
-/***/ }),
-
-/***/ "./assets/js/theme.js":
-/*!****************************!*\
- !*** ./assets/js/theme.js ***!
- \****************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("// Toggle theme\nvar getTheme = window.localStorage && window.localStorage.getItem(\"theme\");\nvar themeToggle = document.querySelector(\".theme-toggle\");\nvar isDark = getTheme === \"dark\";\n\nif (getTheme !== null) {\n document.body.classList.toggle(\"dark-theme\", isDark);\n}\n\nthemeToggle.addEventListener(\"click\", function () {\n document.body.classList.toggle(\"dark-theme\");\n window.localStorage && window.localStorage.setItem(\"theme\", document.body.classList.contains(\"dark-theme\") ? \"dark\" : \"light\");\n});\n\n//# sourceURL=webpack:///./assets/js/theme.js?");
-
-/***/ }),
-
-/***/ 0:
-/*!******************************************************!*\
- !*** multi ./assets/js/menu.js ./assets/js/theme.js ***!
- \******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("__webpack_require__(/*! /Users/radek/Documents/Git/Moje/hello-friend/themes/hello-friend/assets/js/menu.js */\"./assets/js/menu.js\");\nmodule.exports = __webpack_require__(/*! /Users/radek/Documents/Git/Moje/hello-friend/themes/hello-friend/assets/js/theme.js */\"./assets/js/theme.js\");\n\n\n//# sourceURL=webpack:///multi_./assets/js/menu.js_./assets/js/theme.js?");
-
-/***/ })
-
-/******/ });
\ No newline at end of file
+!function(n){var o={};function r(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,r),t.l=!0,t.exports}r.m=n,r.c=o,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,n){n(1),e.exports=n(2)},function(e,t){function n(){return window.matchMedia(l).matches}function o(){c&&c.classList.toggle("hidden",!n()),i&&i.classList.toggle("hidden",n()),u&&u.classList.toggle("hidden",!n())}var r=document.querySelector(".container"),i=document.querySelector(".menu"),c=document.querySelector(".menu-trigger"),d=(document.querySelector(".menu__inner--desktop"),document.querySelector(".menu__sub-inner-more-trigger")),u=document.querySelector(".menu__sub-inner-more"),l=getComputedStyle(document.body).getPropertyValue("--phoneWidth");i&&i.addEventListener("click",function(e){return e.stopPropagation()}),u&&u.addEventListener("click",function(e){return e.stopPropagation()}),o(),document.body.addEventListener("click",function(){n()||!u||u.classList.contains("hidden")?n()&&!i.classList.contains("hidden")&&i.classList.add("hidden"):u.classList.add("hidden")}),window.addEventListener("resize",o),c&&c.addEventListener("click",function(e){e.stopPropagation(),i&&i.classList.toggle("hidden")}),d&&d.addEventListener("click",function(e){e.stopPropagation(),u&&u.classList.toggle("hidden"),u&&u.getBoundingClientRect().right>r.getBoundingClientRect().right&&(u.style.left="auto",u.style.right=0)})},function(e,t){var n=window.localStorage&&window.localStorage.getItem("theme"),o=document.querySelector(".theme-toggle"),r="dark"===n;null!==n&&document.body.classList.toggle("dark-theme",r),o.addEventListener("click",function(){document.body.classList.toggle("dark-theme"),window.localStorage&&window.localStorage.setItem("theme",document.body.classList.contains("dark-theme")?"dark":"light")})}]);
\ No newline at end of file
diff --git a/static/assets/prism.js b/static/assets/prism.js
index 41f79b8..36a67a8 100644
--- a/static/assets/prism.js
+++ b/static/assets/prism.js
@@ -1,122 +1,8 @@
-/******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId]) {
-/******/ return installedModules[moduleId].exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ i: moduleId,
-/******/ l: false,
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ // Flag the module as loaded
-/******/ module.l = true;
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-/******/
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-/******/
-/******/ // define getter function for harmony exports
-/******/ __webpack_require__.d = function(exports, name, getter) {
-/******/ if(!__webpack_require__.o(exports, name)) {
-/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ }
-/******/ };
-/******/
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = function(exports) {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/
-/******/ // create a fake namespace object
-/******/ // mode & 1: value is a module id, require it
-/******/ // mode & 2: merge all properties of value into the ns
-/******/ // mode & 4: return value when already ns object
-/******/ // mode & 8|1: behave like require
-/******/ __webpack_require__.t = function(value, mode) {
-/******/ if(mode & 1) value = __webpack_require__(value);
-/******/ if(mode & 8) return value;
-/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ var ns = Object.create(null);
-/******/ __webpack_require__.r(ns);
-/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ return ns;
-/******/ };
-/******/
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = function(module) {
-/******/ var getter = module && module.__esModule ?
-/******/ function getDefault() { return module['default']; } :
-/******/ function getModuleExports() { return module; };
-/******/ __webpack_require__.d(getter, 'a', getter);
-/******/ return getter;
-/******/ };
-/******/
-/******/ // Object.prototype.hasOwnProperty.call
-/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-/******/
-/******/
-/******/ // Load entry module and return exports
-/******/ return __webpack_require__(__webpack_require__.s = "./assets/js/prism.js");
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ "./assets/js/prism.js":
-/*!****************************!*\
- !*** ./assets/js/prism.js ***!
- \****************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("/* WEBPACK VAR INJECTION */(function(global) {/* PrismJS 1.15.0\nhttps://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+actionscript+apacheconf+applescript+c+csharp+bash+cpp+coffeescript+ruby+csp+css-extras+diff+django+docker+elixir+elm+markup-templating+erlang+fsharp+flow+git+go+graphql+less+handlebars+haskell+http+java+json+kotlin+latex+markdown+makefile+objectivec+ocaml+perl+php+php-extras+sql+processing+scss+python+r+jsx+typescript+reason+textile+rust+sass+stylus+scheme+pug+swift+yaml+haml+toml+twig+tsx+vim+visual-basic+wasm&plugins=line-numbers+toolbar+jsonp-highlight+command-line+copy-to-clipboard */\nvar _self = \"undefined\" != typeof window ? window : \"undefined\" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {},\n Prism = function () {\n var e = /\\blang(?:uage)?-([\\w-]+)\\b/i,\n t = 0,\n n = _self.Prism = {\n manual: _self.Prism && _self.Prism.manual,\n disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n util: {\n encode: function encode(e) {\n return e instanceof a ? new a(e.type, n.util.encode(e.content), e.alias) : \"Array\" === n.util.type(e) ? e.map(n.util.encode) : e.replace(/&/g, \"&\").replace(/ e.length) return;\n\n if (!(w instanceof s)) {\n if (m && b != t.length - 1) {\n h.lastIndex = k;\n\n var _ = h.exec(e);\n\n if (!_) break;\n\n for (var j = _.index + (d ? _[1].length : 0), P = _.index + _[0].length, A = b, x = k, O = t.length; O > A && (P > x || !t[A].type && !t[A - 1].greedy); ++A) {\n x += t[A].length, j >= x && (++b, k = x);\n }\n\n if (t[b] instanceof s) continue;\n I = A - b, w = e.slice(k, x), _.index -= k;\n } else {\n h.lastIndex = 0;\n\n var _ = h.exec(w),\n I = 1;\n }\n\n if (_) {\n d && (p = _[1] ? _[1].length : 0);\n\n var j = _.index + p,\n _ = _[0].slice(p),\n P = j + _.length,\n N = w.slice(0, j),\n S = w.slice(P),\n C = [b, I];\n\n N && (++b, k += N.length, C.push(N));\n var E = new s(u, f ? n.tokenize(_, f) : _, y, _, m);\n if (C.push(E), S && C.push(S), Array.prototype.splice.apply(t, C), 1 != I && n.matchGrammar(e, t, a, b, k, !0, u), i) break;\n } else if (i) break;\n }\n }\n }\n }\n }\n },\n tokenize: function tokenize(e, t) {\n var a = [e],\n r = t.rest;\n\n if (r) {\n for (var l in r) {\n t[l] = r[l];\n }\n\n delete t.rest;\n }\n\n return n.matchGrammar(e, a, t, 0, 0, !1), a;\n },\n hooks: {\n all: {},\n add: function add(e, t) {\n var a = n.hooks.all;\n a[e] = a[e] || [], a[e].push(t);\n },\n run: function run(e, t) {\n var a = n.hooks.all[e];\n if (a && a.length) for (var r, l = 0; r = a[l++];) {\n r(t);\n }\n }\n }\n },\n a = n.Token = function (e, t, n, a, r) {\n this.type = e, this.content = t, this.alias = n, this.length = 0 | (a || \"\").length, this.greedy = !!r;\n };\n\n if (a.stringify = function (e, t, r) {\n if (\"string\" == typeof e) return e;\n if (\"Array\" === n.util.type(e)) return e.map(function (n) {\n return a.stringify(n, t, e);\n }).join(\"\");\n var l = {\n type: e.type,\n content: a.stringify(e.content, t, r),\n tag: \"span\",\n classes: [\"token\", e.type],\n attributes: {},\n language: t,\n parent: r\n };\n\n if (e.alias) {\n var i = \"Array\" === n.util.type(e.alias) ? e.alias : [e.alias];\n Array.prototype.push.apply(l.classes, i);\n }\n\n n.hooks.run(\"wrap\", l);\n var o = Object.keys(l.attributes).map(function (e) {\n return e + '=\"' + (l.attributes[e] || \"\").replace(/\"/g, \""\") + '\"';\n }).join(\" \");\n return \"<\" + l.tag + ' class=\"' + l.classes.join(\" \") + '\"' + (o ? \" \" + o : \"\") + \">\" + l.content + \"\" + l.tag + \">\";\n }, !_self.document) return _self.addEventListener ? (n.disableWorkerMessageHandler || _self.addEventListener(\"message\", function (e) {\n var t = JSON.parse(e.data),\n a = t.language,\n r = t.code,\n l = t.immediateClose;\n _self.postMessage(n.highlight(r, n.languages[a], a)), l && _self.close();\n }, !1), _self.Prism) : _self.Prism;\n var r = document.currentScript || [].slice.call(document.getElementsByTagName(\"script\")).pop();\n return r && (n.filename = r.src, n.manual || r.hasAttribute(\"data-manual\") || (\"loading\" !== document.readyState ? window.requestAnimationFrame ? window.requestAnimationFrame(n.highlightAll) : window.setTimeout(n.highlightAll, 16) : document.addEventListener(\"DOMContentLoaded\", n.highlightAll))), _self.Prism;\n}();\n\n true && module.exports && (module.exports = Prism), \"undefined\" != typeof global && (global.Prism = Prism);\nPrism.languages.markup = {\n comment: //,\n prolog: /<\\?[\\s\\S]+?\\?>/,\n doctype: //i,\n cdata: //i,\n tag: {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,\n greedy: !0,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/i,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n \"attr-value\": {\n pattern: /=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/i,\n inside: {\n punctuation: [/^=/, {\n pattern: /(^|[^\\\\])[\"']/,\n lookbehind: !0\n }]\n }\n },\n punctuation: /\\/?>/,\n \"attr-name\": {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: /?[\\da-z]{1,8};/i\n}, Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity = Prism.languages.markup.entity, Prism.hooks.add(\"wrap\", function (a) {\n \"entity\" === a.type && (a.attributes.title = a.content.replace(/&/, \"&\"));\n}), Prism.languages.xml = Prism.languages.markup, Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup;\nPrism.languages.css = {\n comment: /\\/\\*[\\s\\S]*?\\*\\//,\n atrule: {\n pattern: /@[\\w-]+?[\\s\\S]*?(?:;|(?=\\s*\\{))/i,\n inside: {\n rule: /@[\\w-]+/\n }\n },\n url: /url\\((?:([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|.*?)\\)/i,\n selector: /[^{}\\s][^{};]*?(?=\\s*\\{)/,\n string: {\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n property: /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n important: /!important\\b/i,\n \"function\": /[-a-z0-9]+(?=\\()/i,\n punctuation: /[(){};:,]/\n}, Prism.languages.css.atrule.inside.rest = Prism.languages.css, Prism.languages.markup && (Prism.languages.insertBefore(\"markup\", \"tag\", {\n style: {\n pattern: /(