diff --git a/functions/theme-options.php b/functions/theme-options.php index 7c67126..7d419ea 100644 --- a/functions/theme-options.php +++ b/functions/theme-options.php @@ -10,6 +10,24 @@ Kirki::add_config( 'splits', array( 'option_type' => 'theme_mod', ) ); +/* Add Links +/* ------------------------------------ */ +Kirki::add_section( 'morelink', array( + 'title' => esc_html__( 'AlxMedia', 'splits' ), + 'type' => 'link', + 'button_text' => esc_html__( 'View More Themes', 'splits' ), + 'button_url' => 'http://alx.media/themes/', + 'priority' => 13, +) ); +Kirki::add_section( 'reviewlink', array( + 'title' => esc_html__( 'Like This Theme?', 'splits' ), + 'panel' => 'options', + 'type' => 'link', + 'button_text' => esc_html__( 'Write a Review', 'splits' ), + 'button_url' => 'https://wordpress.org/support/theme/splits/reviews/#new-post', + 'priority' => 1, +) ); + /* Add Panels /* ------------------------------------ */ Kirki::add_panel( 'options', array( diff --git a/js/stickyfill.js b/js/stickyfill.js new file mode 100644 index 0000000..cc5f3a7 --- /dev/null +++ b/js/stickyfill.js @@ -0,0 +1,546 @@ +/*! + * Stickyfill – `position: sticky` polyfill + * v. 2.1.0 | https://github.com/wilddeer/stickyfill + * MIT License + */ + +;(function(window, document) { + 'use strict'; + + /* + * 1. Check if the browser supports `position: sticky` natively or is too old to run the polyfill. + * If either of these is the case set `seppuku` flag. It will be checked later to disable key features + * of the polyfill, but the API will remain functional to avoid breaking things. + */ + + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + var seppuku = false; + + var isWindowDefined = typeof window !== 'undefined'; + + // The polyfill can’t function properly without `window` or `window.getComputedStyle`. + if (!isWindowDefined || !window.getComputedStyle) seppuku = true; + // Dont’t get in a way if the browser supports `position: sticky` natively. + else { + (function () { + var testNode = document.createElement('div'); + + if (['', '-webkit-', '-moz-', '-ms-'].some(function (prefix) { + try { + testNode.style.position = prefix + 'sticky'; + } catch (e) {} + + return testNode.style.position != ''; + })) seppuku = true; + })(); + } + + /* + * 2. “Global” vars used across the polyfill + */ + var isInitialized = false; + + // Check if Shadow Root constructor exists to make further checks simpler + var shadowRootExists = typeof ShadowRoot !== 'undefined'; + + // Last saved scroll position + var scroll = { + top: null, + left: null + }; + + // Array of created Sticky instances + var stickies = []; + + /* + * 3. Utility functions + */ + function extend(targetObj, sourceObject) { + for (var key in sourceObject) { + if (sourceObject.hasOwnProperty(key)) { + targetObj[key] = sourceObject[key]; + } + } + } + + function parseNumeric(val) { + return parseFloat(val) || 0; + } + + function getDocOffsetTop(node) { + var docOffsetTop = 0; + + while (node) { + docOffsetTop += node.offsetTop; + node = node.offsetParent; + } + + return docOffsetTop; + } + + /* + * 4. Sticky class + */ + + var Sticky = function () { + function Sticky(node) { + _classCallCheck(this, Sticky); + + if (!(node instanceof HTMLElement)) throw new Error('First argument must be HTMLElement'); + if (stickies.some(function (sticky) { + return sticky._node === node; + })) throw new Error('Stickyfill is already applied to this node'); + + this._node = node; + this._stickyMode = null; + this._active = false; + + stickies.push(this); + + this.refresh(); + } + + _createClass(Sticky, [{ + key: 'refresh', + value: function refresh() { + if (seppuku || this._removed) return; + if (this._active) this._deactivate(); + + var node = this._node; + + /* + * 1. Save node computed props + */ + var nodeComputedStyle = getComputedStyle(node); + var nodeComputedProps = { + position: nodeComputedStyle.position, + top: nodeComputedStyle.top, + display: nodeComputedStyle.display, + marginTop: nodeComputedStyle.marginTop, + marginBottom: nodeComputedStyle.marginBottom, + marginLeft: nodeComputedStyle.marginLeft, + marginRight: nodeComputedStyle.marginRight, + cssFloat: nodeComputedStyle.cssFloat + }; + + /* + * 2. Check if the node can be activated + */ + if (isNaN(parseFloat(nodeComputedProps.top)) || nodeComputedProps.display == 'table-cell' || nodeComputedProps.display == 'none') return; + + this._active = true; + + /* + * 3. Check if the current node position is `sticky`. If it is, it means that the browser supports sticky positioning, + * but the polyfill was force-enabled. We set the node’s position to `static` before continuing, so that the node + * is in it’s initial position when we gather its params. + */ + var originalPosition = node.style.position; + if (nodeComputedStyle.position == 'sticky' || nodeComputedStyle.position == '-webkit-sticky') node.style.position = 'static'; + + /* + * 4. Get necessary node parameters + */ + var referenceNode = node.parentNode; + var parentNode = shadowRootExists && referenceNode instanceof ShadowRoot ? referenceNode.host : referenceNode; + var nodeWinOffset = node.getBoundingClientRect(); + var parentWinOffset = parentNode.getBoundingClientRect(); + var parentComputedStyle = getComputedStyle(parentNode); + + this._parent = { + node: parentNode, + styles: { + position: parentNode.style.position + }, + offsetHeight: parentNode.offsetHeight + }; + this._offsetToWindow = { + left: nodeWinOffset.left, + right: document.documentElement.clientWidth - nodeWinOffset.right + }; + this._offsetToParent = { + top: nodeWinOffset.top - parentWinOffset.top - parseNumeric(parentComputedStyle.borderTopWidth), + left: nodeWinOffset.left - parentWinOffset.left - parseNumeric(parentComputedStyle.borderLeftWidth), + right: -nodeWinOffset.right + parentWinOffset.right - parseNumeric(parentComputedStyle.borderRightWidth) + }; + this._styles = { + position: originalPosition, + top: node.style.top, + bottom: node.style.bottom, + left: node.style.left, + right: node.style.right, + width: node.style.width, + marginTop: node.style.marginTop, + marginLeft: node.style.marginLeft, + marginRight: node.style.marginRight + }; + + var nodeTopValue = parseNumeric(nodeComputedProps.top); + this._limits = { + start: nodeWinOffset.top + window.pageYOffset - nodeTopValue, + end: parentWinOffset.top + window.pageYOffset + parentNode.offsetHeight - parseNumeric(parentComputedStyle.borderBottomWidth) - node.offsetHeight - nodeTopValue - parseNumeric(nodeComputedProps.marginBottom) + }; + + /* + * 5. Ensure that the node will be positioned relatively to the parent node + */ + var parentPosition = parentComputedStyle.position; + + if (parentPosition != 'absolute' && parentPosition != 'relative') { + parentNode.style.position = 'relative'; + } + + /* + * 6. Recalc node position. + * It’s important to do this before clone injection to avoid scrolling bug in Chrome. + */ + this._recalcPosition(); + + /* + * 7. Create a clone + */ + var clone = this._clone = {}; + clone.node = document.createElement('div'); + + // Apply styles to the clone + extend(clone.node.style, { + width: nodeWinOffset.right - nodeWinOffset.left + 'px', + height: nodeWinOffset.bottom - nodeWinOffset.top + 'px', + marginTop: nodeComputedProps.marginTop, + marginBottom: nodeComputedProps.marginBottom, + marginLeft: nodeComputedProps.marginLeft, + marginRight: nodeComputedProps.marginRight, + cssFloat: nodeComputedProps.cssFloat, + padding: 0, + border: 0, + borderSpacing: 0, + fontSize: '1em', + position: 'static' + }); + + referenceNode.insertBefore(clone.node, node); + clone.docOffsetTop = getDocOffsetTop(clone.node); + } + }, { + key: '_recalcPosition', + value: function _recalcPosition() { + if (!this._active || this._removed) return; + + var stickyMode = scroll.top <= this._limits.start ? 'start' : scroll.top >= this._limits.end ? 'end' : 'middle'; + + if (this._stickyMode == stickyMode) return; + + switch (stickyMode) { + case 'start': + extend(this._node.style, { + position: 'absolute', + left: this._offsetToParent.left + 'px', + right: this._offsetToParent.right + 'px', + top: this._offsetToParent.top + 'px', + bottom: 'auto', + width: 'auto', + marginLeft: 0, + marginRight: 0, + marginTop: 0 + }); + break; + + case 'middle': + extend(this._node.style, { + position: 'fixed', + left: this._offsetToWindow.left + 'px', + right: this._offsetToWindow.right + 'px', + top: this._styles.top, + bottom: 'auto', + width: 'auto', + marginLeft: 0, + marginRight: 0, + marginTop: 0 + }); + break; + + case 'end': + extend(this._node.style, { + position: 'absolute', + left: this._offsetToParent.left + 'px', + right: this._offsetToParent.right + 'px', + top: 'auto', + bottom: 0, + width: 'auto', + marginLeft: 0, + marginRight: 0 + }); + break; + } + + this._stickyMode = stickyMode; + } + }, { + key: '_fastCheck', + value: function _fastCheck() { + if (!this._active || this._removed) return; + + if (Math.abs(getDocOffsetTop(this._clone.node) - this._clone.docOffsetTop) > 1 || Math.abs(this._parent.node.offsetHeight - this._parent.offsetHeight) > 1) this.refresh(); + } + }, { + key: '_deactivate', + value: function _deactivate() { + var _this = this; + + if (!this._active || this._removed) return; + + this._clone.node.parentNode.removeChild(this._clone.node); + delete this._clone; + + extend(this._node.style, this._styles); + delete this._styles; + + // Check whether element’s parent node is used by other stickies. + // If not, restore parent node’s styles. + if (!stickies.some(function (sticky) { + return sticky !== _this && sticky._parent && sticky._parent.node === _this._parent.node; + })) { + extend(this._parent.node.style, this._parent.styles); + } + delete this._parent; + + this._stickyMode = null; + this._active = false; + + delete this._offsetToWindow; + delete this._offsetToParent; + delete this._limits; + } + }, { + key: 'remove', + value: function remove() { + var _this2 = this; + + this._deactivate(); + + stickies.some(function (sticky, index) { + if (sticky._node === _this2._node) { + stickies.splice(index, 1); + return true; + } + }); + + this._removed = true; + } + }]); + + return Sticky; + }(); + + /* + * 5. Stickyfill API + */ + + + var Stickyfill = { + stickies: stickies, + Sticky: Sticky, + + forceSticky: function forceSticky() { + seppuku = false; + init(); + + this.refreshAll(); + }, + addOne: function addOne(node) { + // Check whether it’s a node + if (!(node instanceof HTMLElement)) { + // Maybe it’s a node list of some sort? + // Take first node from the list then + if (node.length && node[0]) node = node[0];else return; + } + + // Check if Stickyfill is already applied to the node + // and return existing sticky + for (var i = 0; i < stickies.length; i++) { + if (stickies[i]._node === node) return stickies[i]; + } + + // Create and return new sticky + return new Sticky(node); + }, + add: function add(nodeList) { + // If it’s a node make an array of one node + if (nodeList instanceof HTMLElement) nodeList = [nodeList]; + // Check if the argument is an iterable of some sort + if (!nodeList.length) return; + + // Add every element as a sticky and return an array of created Sticky instances + var addedStickies = []; + + var _loop = function _loop(i) { + var node = nodeList[i]; + + // If it’s not an HTMLElement – create an empty element to preserve 1-to-1 + // correlation with input list + if (!(node instanceof HTMLElement)) { + addedStickies.push(void 0); + return 'continue'; + } + + // If Stickyfill is already applied to the node + // add existing sticky + if (stickies.some(function (sticky) { + if (sticky._node === node) { + addedStickies.push(sticky); + return true; + } + })) return 'continue'; + + // Create and add new sticky + addedStickies.push(new Sticky(node)); + }; + + for (var i = 0; i < nodeList.length; i++) { + var _ret2 = _loop(i); + + if (_ret2 === 'continue') continue; + } + + return addedStickies; + }, + refreshAll: function refreshAll() { + stickies.forEach(function (sticky) { + return sticky.refresh(); + }); + }, + removeOne: function removeOne(node) { + // Check whether it’s a node + if (!(node instanceof HTMLElement)) { + // Maybe it’s a node list of some sort? + // Take first node from the list then + if (node.length && node[0]) node = node[0];else return; + } + + // Remove the stickies bound to the nodes in the list + stickies.some(function (sticky) { + if (sticky._node === node) { + sticky.remove(); + return true; + } + }); + }, + remove: function remove(nodeList) { + // If it’s a node make an array of one node + if (nodeList instanceof HTMLElement) nodeList = [nodeList]; + // Check if the argument is an iterable of some sort + if (!nodeList.length) return; + + // Remove the stickies bound to the nodes in the list + + var _loop2 = function _loop2(i) { + var node = nodeList[i]; + + stickies.some(function (sticky) { + if (sticky._node === node) { + sticky.remove(); + return true; + } + }); + }; + + for (var i = 0; i < nodeList.length; i++) { + _loop2(i); + } + }, + removeAll: function removeAll() { + while (stickies.length) { + stickies[0].remove(); + } + } + }; + + /* + * 6. Setup events (unless the polyfill was disabled) + */ + function init() { + if (isInitialized) { + return; + } + + isInitialized = true; + + // Watch for scroll position changes and trigger recalc/refresh if needed + function checkScroll() { + if (window.pageXOffset != scroll.left) { + scroll.top = window.pageYOffset; + scroll.left = window.pageXOffset; + + Stickyfill.refreshAll(); + } else if (window.pageYOffset != scroll.top) { + scroll.top = window.pageYOffset; + scroll.left = window.pageXOffset; + + // recalc position for all stickies + stickies.forEach(function (sticky) { + return sticky._recalcPosition(); + }); + } + } + + checkScroll(); + window.addEventListener('scroll', checkScroll); + + // Watch for window resizes and device orientation changes and trigger refresh + window.addEventListener('resize', Stickyfill.refreshAll); + window.addEventListener('orientationchange', Stickyfill.refreshAll); + + //Fast dirty check for layout changes every 500ms + var fastCheckTimer = void 0; + + function startFastCheckTimer() { + fastCheckTimer = setInterval(function () { + stickies.forEach(function (sticky) { + return sticky._fastCheck(); + }); + }, 500); + } + + function stopFastCheckTimer() { + clearInterval(fastCheckTimer); + } + + var docHiddenKey = void 0; + var visibilityChangeEventName = void 0; + + if ('hidden' in document) { + docHiddenKey = 'hidden'; + visibilityChangeEventName = 'visibilitychange'; + } else if ('webkitHidden' in document) { + docHiddenKey = 'webkitHidden'; + visibilityChangeEventName = 'webkitvisibilitychange'; + } + + if (visibilityChangeEventName) { + if (!document[docHiddenKey]) startFastCheckTimer(); + + document.addEventListener(visibilityChangeEventName, function () { + if (document[docHiddenKey]) { + stopFastCheckTimer(); + } else { + startFastCheckTimer(); + } + }); + } else startFastCheckTimer(); + } + + if (!seppuku) init(); + + /* + * 7. Expose Stickyfill + */ + if (typeof module != 'undefined' && module.exports) { + module.exports = Stickyfill; + } else if (isWindowDefined) { + window.Stickyfill = Stickyfill; + } + +})(window, document); \ No newline at end of file diff --git a/languages/splits.pot b/languages/splits.pot index aa71af1..21505d3 100644 --- a/languages/splits.pot +++ b/languages/splits.pot @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Splits\n" -"POT-Creation-Date: 2021-07-23 18:39+0200\n" +"POT-Creation-Date: 2022-12-22 13:33+0100\n" "PO-Revision-Date: 2018-09-21 21:27+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -10,7 +10,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.0\n" "X-Poedit-KeywordsList: __;_e;_x;_ex;_n;_nx;_n_noop;_nx_noop;" "translate_nooped_plural;number_format_i18n;date_i18n;esc_html__;esc_html_e;" "esc_html_x;esc_attr__;esc_attr_e;esc_attr_x\n" @@ -70,95 +70,95 @@ msgstr "" msgid "Theme by" msgstr "" -#: functions.php:90 +#: functions.php:84 msgid "Mobile" msgstr "" -#: functions.php:91 +#: functions.php:85 msgid "Topbar" msgstr "" -#: functions.php:92 functions/theme-options.php:34 +#: functions.php:86 functions/theme-options.php:52 msgid "Header" msgstr "" -#: functions.php:93 functions/theme-options.php:39 +#: functions.php:87 functions/theme-options.php:57 msgid "Footer" msgstr "" -#: functions.php:188 +#: functions.php:182 msgid "Primary" msgstr "" -#: functions.php:188 +#: functions.php:182 msgid "Normal full width sidebar" msgstr "" -#: functions.php:190 functions/theme-options.php:274 +#: functions.php:184 functions/theme-options.php:292 msgid "Header Ads" msgstr "" -#: functions.php:191 functions/theme-options.php:301 +#: functions.php:185 functions/theme-options.php:319 msgid "Footer Ads" msgstr "" -#: functions.php:191 +#: functions.php:185 msgid "Footer ads area" msgstr "" -#: functions.php:193 +#: functions.php:187 msgid "Frontpage Top 1" msgstr "" -#: functions.php:193 functions.php:194 functions.php:195 functions.php:196 +#: functions.php:187 functions.php:188 functions.php:189 functions.php:190 msgid "Frontpage area" msgstr "" -#: functions.php:194 +#: functions.php:188 msgid "Frontpage Top 2" msgstr "" -#: functions.php:195 +#: functions.php:189 msgid "Frontpage Bottom 1" msgstr "" -#: functions.php:196 +#: functions.php:190 msgid "Frontpage Bottom 2" msgstr "" -#: functions.php:198 +#: functions.php:192 msgid "Footer 1" msgstr "" -#: functions.php:198 functions.php:199 functions.php:200 functions.php:201 +#: functions.php:192 functions.php:193 functions.php:194 functions.php:195 msgid "Widgetized footer" msgstr "" -#: functions.php:199 +#: functions.php:193 msgid "Footer 2" msgstr "" -#: functions.php:200 +#: functions.php:194 msgid "Footer 3" msgstr "" -#: functions.php:201 +#: functions.php:195 msgid "Footer 4" msgstr "" -#: functions.php:694 +#: functions.php:688 msgid "Alx Extensions" msgstr "" -#: functions.php:698 +#: functions.php:692 msgid "Meta Box" msgstr "" -#: functions.php:702 +#: functions.php:696 msgid "Regenerate Thumbnails" msgstr "" -#: functions.php:706 +#: functions.php:700 msgid "WP-PageNavi" msgstr "" @@ -171,15 +171,15 @@ msgid "Primary Sidebar" msgstr "" #: functions/meta-boxes.php:31 functions/meta-boxes.php:64 -#: functions/theme-options.php:492 functions/theme-options.php:502 -#: functions/theme-options.php:512 functions/theme-options.php:522 -#: functions/theme-options.php:532 functions/theme-options.php:542 -#: functions/theme-options.php:552 +#: functions/theme-options.php:510 functions/theme-options.php:520 +#: functions/theme-options.php:530 functions/theme-options.php:540 +#: functions/theme-options.php:550 functions/theme-options.php:560 +#: functions/theme-options.php:570 msgid "Select a sidebar" msgstr "" #: functions/meta-boxes.php:37 functions/meta-boxes.php:70 -#: functions/theme-options.php:44 +#: functions/theme-options.php:62 msgid "Layout" msgstr "" @@ -208,583 +208,599 @@ msgstr "" msgid "Current Page Parent" msgstr "" -#: functions/theme-options.php:17 +#: functions/theme-options.php:16 +msgid "AlxMedia" +msgstr "" + +#: functions/theme-options.php:18 +msgid "View More Themes" +msgstr "" + +#: functions/theme-options.php:23 +msgid "Like This Theme?" +msgstr "" + +#: functions/theme-options.php:26 +msgid "Write a Review" +msgstr "" + +#: functions/theme-options.php:35 msgid "Theme Options" msgstr "" -#: functions/theme-options.php:24 +#: functions/theme-options.php:42 msgid "General" msgstr "" -#: functions/theme-options.php:29 +#: functions/theme-options.php:47 msgid "Blog" msgstr "" -#: functions/theme-options.php:49 +#: functions/theme-options.php:67 msgid "Sidebars" msgstr "" -#: functions/theme-options.php:54 +#: functions/theme-options.php:72 msgid "Social Links" msgstr "" -#: functions/theme-options.php:59 +#: functions/theme-options.php:77 msgid "Styling" msgstr "" -#: functions/theme-options.php:70 +#: functions/theme-options.php:88 msgid "Mobile Sidebar Content" msgstr "" -#: functions/theme-options.php:71 +#: functions/theme-options.php:89 msgid "Sidebar content on low-resolution mobile devices (320px)" msgstr "" -#: functions/theme-options.php:79 +#: functions/theme-options.php:97 msgid "Post Comments" msgstr "" -#: functions/theme-options.php:80 +#: functions/theme-options.php:98 msgid "Comments on posts" msgstr "" -#: functions/theme-options.php:88 +#: functions/theme-options.php:106 msgid "Page Comments" msgstr "" -#: functions/theme-options.php:89 +#: functions/theme-options.php:107 msgid "Comments on pages" msgstr "" -#: functions/theme-options.php:97 +#: functions/theme-options.php:115 msgid "Recommended Plugins" msgstr "" -#: functions/theme-options.php:98 +#: functions/theme-options.php:116 msgid "Enable or disable the recommended plugins notice" msgstr "" -#: functions/theme-options.php:106 +#: functions/theme-options.php:124 msgid "Blog Layout" msgstr "" -#: functions/theme-options.php:110 +#: functions/theme-options.php:128 msgid "Standard" msgstr "" -#: functions/theme-options.php:111 +#: functions/theme-options.php:129 msgid "Grid" msgstr "" -#: functions/theme-options.php:112 +#: functions/theme-options.php:130 msgid "List" msgstr "" -#: functions/theme-options.php:119 +#: functions/theme-options.php:137 msgid "Heading" msgstr "" -#: functions/theme-options.php:120 +#: functions/theme-options.php:138 msgid "Your blog heading" msgstr "" -#: functions/theme-options.php:128 +#: functions/theme-options.php:146 msgid "Subheading" msgstr "" -#: functions/theme-options.php:129 +#: functions/theme-options.php:147 msgid "Your blog subheading" msgstr "" -#: functions/theme-options.php:137 +#: functions/theme-options.php:155 msgid "Excerpt Length" msgstr "" -#: functions/theme-options.php:138 +#: functions/theme-options.php:156 msgid "Max number of words. Set it to 0 to disable." msgstr "" -#: functions/theme-options.php:151 +#: functions/theme-options.php:169 msgid "Featured Category" msgstr "" -#: functions/theme-options.php:152 functions/theme-options.php:186 +#: functions/theme-options.php:170 functions/theme-options.php:204 msgid "" "By not selecting a category, it will show your latest post(s) from all " "categories" msgstr "" -#: functions/theme-options.php:156 functions/theme-options.php:190 +#: functions/theme-options.php:174 functions/theme-options.php:208 msgid "Select a category" msgstr "" -#: functions/theme-options.php:162 +#: functions/theme-options.php:180 msgid "Featured Post Count" msgstr "" -#: functions/theme-options.php:163 +#: functions/theme-options.php:181 msgid "Max number of featured posts to display on the homepage." msgstr "" -#: functions/theme-options.php:176 +#: functions/theme-options.php:194 msgid "Featured Posts" msgstr "" -#: functions/theme-options.php:177 +#: functions/theme-options.php:195 msgid "" "To show featured posts in the slider AND the content below. Usually not " "recommended." msgstr "" -#: functions/theme-options.php:185 +#: functions/theme-options.php:203 msgid "Highlight Category" msgstr "" -#: functions/theme-options.php:196 +#: functions/theme-options.php:214 msgid "Highlight Post Count" msgstr "" -#: functions/theme-options.php:197 +#: functions/theme-options.php:215 msgid "Max number of highlight posts to display. Set it to 0 to disable." msgstr "" -#: functions/theme-options.php:210 +#: functions/theme-options.php:228 msgid "Frontpage Widgets Top" msgstr "" -#: functions/theme-options.php:211 functions/theme-options.php:220 +#: functions/theme-options.php:229 functions/theme-options.php:238 msgid "2 columns of widgets" msgstr "" -#: functions/theme-options.php:219 +#: functions/theme-options.php:237 msgid "Frontpage Widgets Bottom" msgstr "" -#: functions/theme-options.php:228 +#: functions/theme-options.php:246 msgid "Thumbnail Comment Count" msgstr "" -#: functions/theme-options.php:229 +#: functions/theme-options.php:247 msgid "Comment count on thumbnails" msgstr "" -#: functions/theme-options.php:237 +#: functions/theme-options.php:255 msgid "Single - Author Bio" msgstr "" -#: functions/theme-options.php:238 +#: functions/theme-options.php:256 msgid "Shows post author description, if it exists" msgstr "" -#: functions/theme-options.php:246 +#: functions/theme-options.php:264 msgid "Single - Related Posts" msgstr "" -#: functions/theme-options.php:247 +#: functions/theme-options.php:265 msgid "Shows randomized related articles below the post" msgstr "" -#: functions/theme-options.php:251 functions/theme-options.php:265 +#: functions/theme-options.php:269 functions/theme-options.php:283 msgid "Disable" msgstr "" -#: functions/theme-options.php:252 +#: functions/theme-options.php:270 msgid "Related by categories" msgstr "" -#: functions/theme-options.php:253 +#: functions/theme-options.php:271 msgid "Related by tags" msgstr "" -#: functions/theme-options.php:260 +#: functions/theme-options.php:278 msgid "Single - Post Navigation" msgstr "" -#: functions/theme-options.php:261 +#: functions/theme-options.php:279 msgid "Shows links to the next and previous article" msgstr "" -#: functions/theme-options.php:266 +#: functions/theme-options.php:284 msgid "Sidebar Primary" msgstr "" -#: functions/theme-options.php:267 +#: functions/theme-options.php:285 msgid "Below content" msgstr "" -#: functions/theme-options.php:275 +#: functions/theme-options.php:293 msgid "Header widget ads area" msgstr "" -#: functions/theme-options.php:283 +#: functions/theme-options.php:301 msgid "Header Search" msgstr "" -#: functions/theme-options.php:284 +#: functions/theme-options.php:302 msgid "Header search button" msgstr "" -#: functions/theme-options.php:292 +#: functions/theme-options.php:310 msgid "Header Social Links" msgstr "" -#: functions/theme-options.php:293 functions/theme-options.php:327 +#: functions/theme-options.php:311 functions/theme-options.php:345 msgid "Social link icon buttons" msgstr "" -#: functions/theme-options.php:302 +#: functions/theme-options.php:320 msgid "Footer widget ads area" msgstr "" -#: functions/theme-options.php:310 +#: functions/theme-options.php:328 msgid "Footer Widget Columns" msgstr "" -#: functions/theme-options.php:311 +#: functions/theme-options.php:329 msgid "Select columns to enable footer widgets. Recommended number: 3" msgstr "" -#: functions/theme-options.php:326 +#: functions/theme-options.php:344 msgid "Footer Social Links" msgstr "" -#: functions/theme-options.php:335 +#: functions/theme-options.php:353 msgid "Footer Logo" msgstr "" -#: functions/theme-options.php:336 +#: functions/theme-options.php:354 msgid "Upload your custom logo image" msgstr "" -#: functions/theme-options.php:344 +#: functions/theme-options.php:362 msgid "Footer Copyright" msgstr "" -#: functions/theme-options.php:345 +#: functions/theme-options.php:363 msgid "Replace the footer copyright text" msgstr "" -#: functions/theme-options.php:353 +#: functions/theme-options.php:371 msgid "Footer Credit" msgstr "" -#: functions/theme-options.php:354 +#: functions/theme-options.php:372 msgid "Footer credit text" msgstr "" -#: functions/theme-options.php:362 +#: functions/theme-options.php:380 msgid "Global Layout" msgstr "" -#: functions/theme-options.php:363 +#: functions/theme-options.php:381 msgid "Other layouts will override this option if they are set" msgstr "" -#: functions/theme-options.php:375 functions/theme-options.php:487 +#: functions/theme-options.php:393 functions/theme-options.php:505 msgid "Home" msgstr "" -#: functions/theme-options.php:376 +#: functions/theme-options.php:394 msgid "(is_home) Posts homepage layout" msgstr "" -#: functions/theme-options.php:389 functions/theme-options.php:497 +#: functions/theme-options.php:407 functions/theme-options.php:515 msgid "Single" msgstr "" -#: functions/theme-options.php:390 +#: functions/theme-options.php:408 msgid "" "(is_single) Single post layout - If a post has a set layout, it will " "override this." msgstr "" -#: functions/theme-options.php:403 functions/theme-options.php:507 +#: functions/theme-options.php:421 functions/theme-options.php:525 msgid "Archive" msgstr "" -#: functions/theme-options.php:404 +#: functions/theme-options.php:422 msgid "(is_archive) Category, date, tag and author archive layout" msgstr "" -#: functions/theme-options.php:417 functions/theme-options.php:517 +#: functions/theme-options.php:435 functions/theme-options.php:535 msgid "Archive - Category" msgstr "" -#: functions/theme-options.php:418 +#: functions/theme-options.php:436 msgid "(is_category) Category archive layout" msgstr "" -#: functions/theme-options.php:431 functions/theme-options.php:527 +#: functions/theme-options.php:449 functions/theme-options.php:545 msgid "Search" msgstr "" -#: functions/theme-options.php:432 +#: functions/theme-options.php:450 msgid "(is_search) Search page layout" msgstr "" -#: functions/theme-options.php:445 functions/theme-options.php:537 +#: functions/theme-options.php:463 functions/theme-options.php:555 msgid "Error 404" msgstr "" -#: functions/theme-options.php:446 +#: functions/theme-options.php:464 msgid "(is_404) Error 404 page layout" msgstr "" -#: functions/theme-options.php:459 functions/theme-options.php:547 +#: functions/theme-options.php:477 functions/theme-options.php:565 msgid "Default Page" msgstr "" -#: functions/theme-options.php:460 +#: functions/theme-options.php:478 msgid "" "(is_page) Default page layout - If a page has a set layout, it will override " "this." msgstr "" -#: functions/theme-options.php:488 +#: functions/theme-options.php:506 msgid "(is_home) Primary" msgstr "" -#: functions/theme-options.php:498 +#: functions/theme-options.php:516 msgid "" "(is_single) Primary - If a single post has a unique sidebar, it will " "override this." msgstr "" -#: functions/theme-options.php:508 +#: functions/theme-options.php:526 msgid "(is_archive) Primary" msgstr "" -#: functions/theme-options.php:518 +#: functions/theme-options.php:536 msgid "(is_category) Primary" msgstr "" -#: functions/theme-options.php:528 +#: functions/theme-options.php:546 msgid "(is_search) Primary" msgstr "" -#: functions/theme-options.php:538 +#: functions/theme-options.php:556 msgid "(is_404) Primary" msgstr "" -#: functions/theme-options.php:548 +#: functions/theme-options.php:566 msgid "" "(is_page) Primary - If a page has a unique sidebar, it will override this." msgstr "" -#: functions/theme-options.php:561 +#: functions/theme-options.php:579 msgid "Create Social Links" msgstr "" -#: functions/theme-options.php:562 +#: functions/theme-options.php:580 msgid "Create and organize your social links" msgstr "" -#: functions/theme-options.php:564 +#: functions/theme-options.php:582 msgid "Font Awesome names:" msgstr "" -#: functions/theme-options.php:564 functions/theme-options.php:581 +#: functions/theme-options.php:582 functions/theme-options.php:599 msgid "View All" msgstr "" -#: functions/theme-options.php:567 +#: functions/theme-options.php:585 msgid "social link" msgstr "" -#: functions/theme-options.php:574 +#: functions/theme-options.php:592 msgid "Title" msgstr "" -#: functions/theme-options.php:575 +#: functions/theme-options.php:593 msgid "Ex: Facebook" msgstr "" -#: functions/theme-options.php:580 +#: functions/theme-options.php:598 msgid "Icon Name" msgstr "" -#: functions/theme-options.php:581 +#: functions/theme-options.php:599 msgid "Font Awesome icons. Ex: fa-facebook " msgstr "" -#: functions/theme-options.php:586 +#: functions/theme-options.php:604 msgid "Link" msgstr "" -#: functions/theme-options.php:587 +#: functions/theme-options.php:605 msgid "Enter the full url for your icon button" msgstr "" -#: functions/theme-options.php:592 +#: functions/theme-options.php:610 msgid "Icon Color" msgstr "" -#: functions/theme-options.php:593 +#: functions/theme-options.php:611 msgid "Set a unique color for your icon (optional)" msgstr "" -#: functions/theme-options.php:598 +#: functions/theme-options.php:616 msgid "Open in new window" msgstr "" -#: functions/theme-options.php:607 +#: functions/theme-options.php:625 msgid "Dynamic Styles" msgstr "" -#: functions/theme-options.php:608 +#: functions/theme-options.php:626 msgid "Turn on to use the styling options below" msgstr "" -#: functions/theme-options.php:616 +#: functions/theme-options.php:634 msgid "Boxed Layout" msgstr "" -#: functions/theme-options.php:617 +#: functions/theme-options.php:635 msgid "Use a boxed layout" msgstr "" -#: functions/theme-options.php:625 +#: functions/theme-options.php:643 msgid "Font" msgstr "" -#: functions/theme-options.php:626 +#: functions/theme-options.php:644 msgid "Select font for the theme" msgstr "" -#: functions/theme-options.php:630 +#: functions/theme-options.php:648 msgid "Titillium Web, Latin (Self-hosted)" msgstr "" -#: functions/theme-options.php:631 +#: functions/theme-options.php:649 msgid "Titillium Web, Latin-Ext" msgstr "" -#: functions/theme-options.php:632 +#: functions/theme-options.php:650 msgid "Droid Serif, Latin" msgstr "" -#: functions/theme-options.php:633 +#: functions/theme-options.php:651 msgid "Source Sans Pro, Latin-Ext" msgstr "" -#: functions/theme-options.php:634 +#: functions/theme-options.php:652 msgid "Lato, Latin" msgstr "" -#: functions/theme-options.php:635 +#: functions/theme-options.php:653 msgid "Raleway, Latin" msgstr "" -#: functions/theme-options.php:636 +#: functions/theme-options.php:654 msgid "Ubuntu, Latin-Ext" msgstr "" -#: functions/theme-options.php:637 +#: functions/theme-options.php:655 msgid "Ubuntu, Latin / Cyrillic-Ext" msgstr "" -#: functions/theme-options.php:638 +#: functions/theme-options.php:656 msgid "Roboto, Latin-Ext" msgstr "" -#: functions/theme-options.php:639 +#: functions/theme-options.php:657 msgid "Roboto, Latin / Cyrillic-Ext" msgstr "" -#: functions/theme-options.php:640 +#: functions/theme-options.php:658 msgid "Roboto Condensed, Latin-Ext" msgstr "" -#: functions/theme-options.php:641 +#: functions/theme-options.php:659 msgid "Roboto Condensed, Latin / Cyrillic-Ext" msgstr "" -#: functions/theme-options.php:642 +#: functions/theme-options.php:660 msgid "Roboto Slab, Latin-Ext" msgstr "" -#: functions/theme-options.php:643 +#: functions/theme-options.php:661 msgid "Roboto Slab, Latin / Cyrillic-Ext" msgstr "" -#: functions/theme-options.php:644 +#: functions/theme-options.php:662 msgid "Playfair Display, Latin-Ext" msgstr "" -#: functions/theme-options.php:645 +#: functions/theme-options.php:663 msgid "Playfair Display, Latin / Cyrillic" msgstr "" -#: functions/theme-options.php:646 +#: functions/theme-options.php:664 msgid "Open Sans, Latin-Ext" msgstr "" -#: functions/theme-options.php:647 +#: functions/theme-options.php:665 msgid "Open Sans, Latin / Cyrillic-Ext" msgstr "" -#: functions/theme-options.php:648 +#: functions/theme-options.php:666 msgid "PT Serif, Latin-Ext" msgstr "" -#: functions/theme-options.php:649 +#: functions/theme-options.php:667 msgid "PT Serif, Latin / Cyrillic-Ext" msgstr "" -#: functions/theme-options.php:650 +#: functions/theme-options.php:668 msgid "Arial" msgstr "" -#: functions/theme-options.php:651 +#: functions/theme-options.php:669 msgid "Georgia" msgstr "" -#: functions/theme-options.php:652 +#: functions/theme-options.php:670 msgid "Verdana" msgstr "" -#: functions/theme-options.php:653 +#: functions/theme-options.php:671 msgid "Tahoma" msgstr "" -#: functions/theme-options.php:660 +#: functions/theme-options.php:678 msgid "Website Max-width" msgstr "" -#: functions/theme-options.php:661 +#: functions/theme-options.php:679 msgid "Max-width of the container." msgstr "" -#: functions/theme-options.php:674 +#: functions/theme-options.php:692 msgid "Primary Color" msgstr "" -#: functions/theme-options.php:682 +#: functions/theme-options.php:700 msgid "Mobile Menu Color" msgstr "" -#: functions/theme-options.php:690 +#: functions/theme-options.php:708 msgid "Footer Menu Color" msgstr "" -#: functions/theme-options.php:698 +#: functions/theme-options.php:716 msgid "Footer Background" msgstr "" -#: functions/theme-options.php:706 +#: functions/theme-options.php:724 msgid "Header Logo Image Max-height" msgstr "" -#: functions/theme-options.php:707 +#: functions/theme-options.php:725 msgid "" "Your logo image should have the double height of this to be high resolution" msgstr "" -#: functions/theme-options.php:720 +#: functions/theme-options.php:738 msgid "Image Border Radius" msgstr "" -#: functions/theme-options.php:721 +#: functions/theme-options.php:739 msgid "Give your thumbnails and layout images rounded corners" msgstr "" diff --git a/readme.txt b/readme.txt index ab16a65..76fdf14 100644 --- a/readme.txt +++ b/readme.txt @@ -1,10 +1,10 @@ === Splits === Contributors: alxmedia Requires at least: 5.0 -Tested up to: 6.0 +Tested up to: 6.1 License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html -Tags: blog, one-column, two-columns, three-columns, right-sidebar, left-sidebar, custom-colors, custom-menu, featured-images, flexible-header, full-width-template, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, custom-logo, custom-header, custom-background +Tags: blog, one-column, two-columns, three-columns, right-sidebar, left-sidebar, custom-colors, custom-menu, featured-images, flexible-header, full-width-template, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, custom-logo, custom-header, custom-background, news, entertainment, footer-widgets == Description == @@ -72,8 +72,30 @@ Screenshot images License: CC0 1.0 Universal (CC0 1.0) Source: https://stocksnap.io +Left sidebar images +1. https://stocksnap.io/photo/23H66MTGXA - CC0 1.0 Universal (CC0 1.0) +2. https://stocksnap.io/photo/Y01VDYAX63 - CC0 1.0 Universal (CC0 1.0) + +Content images +1. https://stocksnap.io/photo/UYYDN7X5IS - CC0 1.0 Universal (CC0 1.0) +2. https://stocksnap.io/photo/UEQ0178WUT - CC0 1.0 Universal (CC0 1.0) +3. https://stocksnap.io/photo/TNK87N7464 - CC0 1.0 Universal (CC0 1.0) +4. https://stocksnap.io/photo/SA20YXQRC4 - CC0 1.0 Universal (CC0 1.0) +5. https://stocksnap.io/photo/RKS9M8PY0X - CC0 1.0 Universal (CC0 1.0) +6. https://stocksnap.io/photo/X4AAF4SU9Q - CC0 1.0 Universal (CC0 1.0) + +Right sidebar images +1. https://stocksnap.io/photo/3VLGQNBZP2 - CC0 1.0 Universal (CC0 1.0) +2. https://stocksnap.io/photo/Q3P6NCT23E - CC0 1.0 Universal (CC0 1.0) +3. https://stocksnap.io/photo/13LKG0AGI0 - CC0 1.0 Universal (CC0 1.0) +4. https://stocksnap.io/photo/M9AN4Y1HYC - CC0 1.0 Universal (CC0 1.0) +5. https://stocksnap.io/photo/0KAT80KW5F - CC0 1.0 Universal (CC0 1.0) + == Changelog == += 1.5.0 - 2022-12-22 = +* Changed theme from premium to free + = 1.4.9 - 2022-05-30 = * Fixed ol and ul box-sizing content-box styling for WP 6.0 * Updated to Kirki 4.0.24 diff --git a/screenshot.png b/screenshot.png index f5a4402..30d7322 100644 Binary files a/screenshot.png and b/screenshot.png differ diff --git a/style.css b/style.css index bc267a2..98f9f86 100644 --- a/style.css +++ b/style.css @@ -1,14 +1,14 @@ /* Theme Name: Splits Theme URI: http://alx.media/themes/splits/ -Version: 1.4.9 +Version: 1.5.0 Requires at least: 5.0 Requires PHP: 5.6 -Tested up to: 6.0 +Tested up to: 6.1 Description: Splits is a responsive 100% high resolution theme for blogs and magazines. The feature list is long: Unlimited accent colors, unlimited widget areas, sidebar to the right that can be uniquely specified for each page or post, 0-4 footer widget columns, almost zero layout images, related posts and post nav, featured stories and carousel, 5 post formats, good SEO, 2 flexible custom widgets, localisation support, social links, logo upload and many more useful admin panel features. Author: Alexander Agnarson Author URI: http://alx.media -Tags: blog, one-column, two-columns, three-columns, right-sidebar, left-sidebar, custom-colors, custom-menu, featured-images, flexible-header, full-width-template, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, custom-logo, custom-header, custom-background +Tags: blog, one-column, two-columns, three-columns, right-sidebar, left-sidebar, custom-colors, custom-menu, featured-images, flexible-header, full-width-template, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, custom-logo, custom-header, custom-background, news, entertainment, footer-widgets Text Domain: splits Copyright: (c) 2018 Alexander "Alx" Agnarson @@ -234,6 +234,7 @@ input, textarea, button, select, label { font-family: inherit; } /* ------------------------------------ */ .entry { font-size: 17px; line-height: 1.6em; } .entry.excerpt { font-size: 16px; color: #777; } +.entry a { text-decoration: underline; } .entry p, .entry dd { margin-bottom: 1em; } .entry dt { color: #333; } @@ -499,7 +500,9 @@ box-shadow: 0 0 2px rgba(255,255,255,0.4); .toggle-search .svg-icon { fill: #fff; margin: 0 auto; } .toggle-search #svg-close { display: none; } .toggle-search.active #svg-search { display: none; } -.toggle-search.active #svg-close { display: block; } +.toggle-search.active #svg-close { display: block; fill: rgba(255,255,255,0.5); } +.toggle-search:focus #svg-search { fill: rgba(255,255,255,0.5); } +.toggle-search:focus #svg-close { fill: #fff; } /* ------------------------------------------------------------------------- * @@ -602,6 +605,8 @@ box-shadow: 0 0 2px rgba(255,255,255,0.4); .nav-menu.mobile.toggled > div > ul.menu ul.sub-menu { visibility: hidden; transition: all 0.3s ease; } .nav-menu.mobile.toggled > div > ul.menu, .nav-menu.mobile.toggled > div > ul.menu ul.sub-menu.active { visibility: visible; } +.nav-menu.mobile button:focus, +.menu-toggle:focus { background: rgba(255,255,255,0.06); } /* menu styling */ .nav-menu a { color: #fff; } @@ -1726,6 +1731,6 @@ user-select: none; /* ------------------------------------------------------------------------- */ /* Text meant only for screen readers. */ .screen-reader-text{ border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute!important; width: 1px; word-wrap: normal!important; } -.screen-reader-text:focus { background-color: #fff; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.1); clip: auto!important; clip-path: none; color: #333; display: block; font-size: 14px; font-size: 0.875rem; font-weight: bold; height: auto; right: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; } +.screen-reader-text:focus { background-color: #fff; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.1); clip: auto!important; clip-path: none; color: #333; display: block; font-size: 14px; font-size: 0.875rem; font-weight: bold; height: auto; right: 5px; left: auto; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; } /* Do not show the outline on the skip link target. */ #splits[tabindex="-1"]:focus{ outline: 0; } \ No newline at end of file