diff --git a/cache/lastCache.txt b/cache/lastCache.txt index 88f7c30..abd2449 100644 --- a/cache/lastCache.txt +++ b/cache/lastCache.txt @@ -1 +1 @@ -1536875791 \ No newline at end of file +1537543207 \ No newline at end of file diff --git a/content/00-typemill/01-use cases.md b/content/00-typemill/00-use cases.md similarity index 51% rename from content/00-typemill/01-use cases.md rename to content/00-typemill/00-use cases.md index 15f9c71..2279246 100644 --- a/content/00-typemill/01-use cases.md +++ b/content/00-typemill/00-use cases.md @@ -1,6 +1,6 @@ # Use Cases -Whenever you want to publish a finished text work as a website and if you like writing with Markdown, then TYPEMILL is a smart and lightweight solution. Possible use cases are ... +Whenever you want to publish a finished text work as a website and if you like writing with Markdown, then TYPEMILL is a smart and lightweight solution. Possible use cases are … - a documentation - a manual @@ -16,6 +16,6 @@ Whenever you want to publish a finished text work as a website and if you like w If you want to create a blog, a wiki or a classic corporate website, please use a specialized CMS for that instead of TYPEMILL. -TYPEMILL is under heavy developement and not finished right now. It has an admin panel for settings and a very basic editor for existing content. More options like delete or create new pages and manage your media-files will be added step by step in next weeks. Also different output formats like mobi and ePup are on the roadmap, so stay tuned. +TYPEMILL is under heavy developement and not finished right now. It has an admin panel for settings and a basic editor for existing content. More options like create new pages and manage your media-files will be added step by step in the next weeks. Also different output formats like mobi and ePup are on the roadmap, so stay tuned. -You have to use a FTP-software like FileZilla until the basic editing features are ready. Check the roadmap for more informations. \ No newline at end of file +For now, you have to use a FTP-software like FileZilla until all basic editing features are ready. Check the roadmap for more informations. \ No newline at end of file diff --git a/content/00-typemill/00-features.md b/content/00-typemill/01-features.md similarity index 93% rename from content/00-typemill/00-features.md rename to content/00-typemill/01-features.md index 05e85d9..3eaf2a7 100644 --- a/content/00-typemill/00-features.md +++ b/content/00-typemill/01-features.md @@ -22,4 +22,4 @@ This is, what **TYPEMILL does** for you: - It adds hierarchic numbers to your chapters and pages. - It generates a google sitemap, a last modified date and much more. -Right now there is only a simple content editor that provides basic editing of existing pages. If you want to create new pages, then you have to use an offline markdown editor like Typora and a FTP software like FileZilla. These missing feature will be added in version 1.2.6. \ No newline at end of file +Right now there is only a simple content editor that provides basic editing of existing pages. If you want to create new pages, then you have to use an offline markdown editor like Typora and a FTP software like FileZilla. \ No newline at end of file diff --git a/content/00-typemill/03-roadmap.md b/content/00-typemill/02-roadmap.md similarity index 78% rename from content/00-typemill/03-roadmap.md rename to content/00-typemill/02-roadmap.md index 84eee92..1828d1f 100644 --- a/content/00-typemill/03-roadmap.md +++ b/content/00-typemill/02-roadmap.md @@ -10,18 +10,17 @@ Here are some **milestones** of the past: - Introduced plugins (v. 1.1.0) - Added an author panel for configurations (v. 1.1.3) - Added math support (mathjax/katex) (v. 1.1.5) -- Added a basic content editor to change existing pages (v. 1.2.0) +- Added a basic content editor to edit and delete existing pages (v. 1.2.0) - Added a draft management for pages (v. 1.2.2) - Re-order content pages with drag&drop (v. 1.2.3) And here is the **roadmap** for this year (2018): -- Editor: Create new pages (v. 1.2.3) -- Editor: Edit meta-information (v. 1.2.4) -- Editor: Markdown and HTML-preview (v. 1.2.5) -- Editor: Manage images and assets (v. 1.3.0) +- Editor: Create new pages (v. 1.2.5) +- Editor: Manage images and assets (v. 1.2.6) +- Editor: Edit meta-information (v. 1.2.7) - Editor: Add formatting options (v. 1.3.0) -- Editor: Create a solution for direct preview or WYSIWYG (1.3.0) +- Editor: WYSIWYG-Preview for markdown blocks (v. 1.3.0) - Editor: Create the best author- and writing experience you have ever seen (1.4.0) Other features with lower prio: diff --git a/content/01-getting started/00-system requirements.md b/content/01-getting started/00-system requirements.md index 0a85c1d..98cf1da 100644 --- a/content/01-getting started/00-system requirements.md +++ b/content/01-getting started/00-system requirements.md @@ -12,4 +12,6 @@ What you don't need: - **A database** (TYPEMILL uses files, not a database) - **Technical skills** (TYPEMILL is easy to use for non-technical people) -Almost any hosting package provides a webserver with php. If you ever hosted your own website, then chances are high, that you can run TYPEMILL there without any problems. \ No newline at end of file +Almost any hosting package provides a webserver with php. If you ever hosted your own website, then chances are high, that you can run TYPEMILL there without any problems. + +Typemill is developed with Firefox and tested with Chrome. Microsoft Edge and Safari do also work, but they are not deeply tested. The content editor of TYPEMILL does not work with Internet Explorer. However, IE has nearly no market share anymore, so do not use outdated software, please. \ No newline at end of file diff --git a/content/01-getting started/01-installation.md b/content/01-getting started/02-installation.md similarity index 100% rename from content/01-getting started/01-installation.md rename to content/01-getting started/02-installation.md diff --git a/content/01-getting started/02-settings.md b/content/01-getting started/03-settings.md similarity index 100% rename from content/01-getting started/02-settings.md rename to content/01-getting started/03-settings.md diff --git a/content/01-getting started/03-update.md b/content/01-getting started/04-update.md similarity index 100% rename from content/01-getting started/03-update.md rename to content/01-getting started/04-update.md diff --git a/content/01-getting started/index.md b/content/01-getting started/index.md index 46ca73c..147b7d5 100644 --- a/content/01-getting started/index.md +++ b/content/01-getting started/index.md @@ -1,3 +1,3 @@ # Getting Started -Simply download TYPEMILL and immediately start publishing. TYPEMILL runs with **php5.6+** on most webservers. **No database** or any other additional technology is required. \ No newline at end of file +Simply download TYPEMILL and immediately start publishing. TYPEMILL runs with **php7+** on most webservers. **No database** or any other additional technology is required. \ No newline at end of file diff --git a/content/02-for writers/00-quick start.txt b/content/02-for writers/00-quick start.txt new file mode 100644 index 0000000..40e255f --- /dev/null +++ b/content/02-for writers/00-quick start.txt @@ -0,0 +1 @@ +["# Quick Start for Writers","You are a pro and don't want to read the whole manual? No problem, this is a quick overview:","- **Setup**: Login to your system and setup the system, the themes and the plugins in the author panel.\n- **Content**: Organize your content in folders and markdown files and put them in the `\\content` folder of TYPEMILL. \n- **Markdown**: Use the Markdown syntax for your content files. Markdown Extra (e.g. tables, footnotes) is supported, too.\n- **Naming conventions**: Use prefixes like `01-` or `aa_` to sort your folders and files.\n- **Index files**: Add an `index.md` file to a folder to create content for the folder itself.\n- **F5**: After some changes, use the `F5` key to refresh the navigation manually.\n- **Lean back** and let TYPEMILL create a nice website for you.","\nThe TYPEMILL system ships with this user manual in the content folder. Check how the files are written and how the folders are organized."] \ No newline at end of file diff --git a/content/02-for writers/01-author panel.md b/content/02-for writers/01-author panel.md index e2a07a6..a428d0e 100644 --- a/content/02-for writers/01-author panel.md +++ b/content/02-for writers/01-author panel.md @@ -19,10 +19,10 @@ In the **content area** of the author panel you can: There are several **limitations** right now: * You cannot use HTML, JavaScript or any other code in the editor, only markdown-syntax is allowed. -* You cannot delete, create or reorder the pages right now (use FTP for this), but these features are on the way. +* You cannot create new pages right now (use FTP for this), but these feature is on its way. * There is no media-management right now. -The content editor has highest priority in the roadmap, so you can expect al lot of improvements in the next weeks. +The content editor has highest priority in the roadmap, so you can expect a lot of improvements in the next weeks. ## Settings, Themes and Plugins diff --git a/content/02-for writers/03-naming files and folders.md b/content/02-for writers/02-naming files and folders.md similarity index 100% rename from content/02-for writers/03-naming files and folders.md rename to content/02-for writers/02-naming files and folders.md diff --git a/content/02-for writers/04-folder structure.md b/content/02-for writers/03-folder structure.md similarity index 100% rename from content/02-for writers/04-folder structure.md rename to content/02-for writers/03-folder structure.md diff --git a/content/02-for writers/02-mardown.md b/content/02-for writers/04-mardown.md similarity index 100% rename from content/02-for writers/02-mardown.md rename to content/02-for writers/04-mardown.md diff --git a/content/index.md b/content/index.md index 1e7c4d5..3813987 100644 --- a/content/index.md +++ b/content/index.md @@ -1,5 +1,5 @@ # Typemill -Modern Web Publishing For Writers. - -Typemill is a user-friendly and lightweight open source CMS for publishing text-works like prosa, lyrics, manuals, documentations, studies and more. Just download and start. \ No newline at end of file +**MODERN WEB PUBLISHING FOR WRITERS** + +*Typemill is a user-friendly and lightweight open source CMS for publishing text-works like prosa, lyrics, manuals, documentations, studies and more. Just download and start.* \ No newline at end of file diff --git a/plugins/cookieconsent/cookieconsent.yaml b/plugins/cookieconsent/cookieconsent.yaml index e266606..75ca845 100644 --- a/plugins/cookieconsent/cookieconsent.yaml +++ b/plugins/cookieconsent/cookieconsent.yaml @@ -1,5 +1,5 @@ name: Cookie Consent -version: 1.0.0 +version: 1.0.1 description: Enables a cookie consent for websites author: Sebastian Schürmanns homepage: https://cookieconsent.insites.com/ @@ -14,6 +14,7 @@ settings: position: 'bottom' message: 'This website uses cookies to ensure you get the best experience on our website.' link: 'Learn More' + href: 'https://cookiesandyou.com/' dismiss: 'Got It' forms: @@ -44,6 +45,12 @@ forms: placeholder: 'Message for cookie-popup' required: true + href: + type: url + label: Link to more informations + placeholder: 'https://cookiesandyou.com/' + required: true + link: type: text label: Label for Link diff --git a/plugins/cookieconsent/public/cookieconsent.min.css b/plugins/cookieconsent/public/cookieconsent.min.css index 03c69fe..820b31a 100644 --- a/plugins/cookieconsent/public/cookieconsent.min.css +++ b/plugins/cookieconsent/public/cookieconsent.min.css @@ -1,6 +1,6 @@ .cc-window{opacity:1;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{transition:transform 1s ease}.cc-animate.cc-revoke.cc-top{transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-bottom,.cc-animate.cc-revoke.cc-active.cc-top,.cc-revoke:hover{transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;transition:max-height 1s} -.cc-link,.cc-revoke:hover{text-decoration:underline}.cc-revoke,.cc-window{position:fixed;overflow:hidden;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-banner .cc-btn:last-child{min-width:140px}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1} -.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-ms-flex:1;flex:1}.cc-window.cc-banner{-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{-ms-flex:1;flex:1}.cc-compliance{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-compliance>.cc-btn{-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em} -@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-ms-flex:1;flex:1}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-ms-flex-align:unset;align-items:unset}} +.cc-link,.cc-revoke:hover{text-decoration:underline}.cc-revoke,.cc-window{position:fixed;overflow:hidden;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1} +.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-ms-flex:1 0 auto;flex:1 0 auto}.cc-window.cc-banner{-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{display:block;-ms-flex:1 1 auto;flex:1 1 auto;max-width:100%;margin-right:1em}.cc-compliance{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-floating .cc-compliance>.cc-btn{-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em} +@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-floating,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-ms-flex:1 1 auto;flex:1 1 auto}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-ms-flex-align:unset;align-items:unset}.cc-window.cc-banner .cc-message{margin-right:0}} .cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block} .cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em 2em 1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0} \ No newline at end of file diff --git a/plugins/cookieconsent/public/cookieconsent.min.js b/plugins/cookieconsent/public/cookieconsent.min.js index 8e44bdd..c12df1a 100644 --- a/plugins/cookieconsent/public/cookieconsent.min.js +++ b/plugins/cookieconsent/public/cookieconsent.min.js @@ -1 +1 @@ -!function(e){if(!e.hasInitialised){var t={escapeRegExp:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},hasClass:function(e,t){var i=" ";return 1===e.nodeType&&(i+e.className+i).replace(/[\n\t]/g,i).indexOf(i+t+i)>=0},addClass:function(e,t){e.className+=" "+t},removeClass:function(e,t){var i=new RegExp("\\b"+this.escapeRegExp(t)+"\\b");e.className=e.className.replace(i,"")},interpolateString:function(e,t){var i=/{{([a-z][a-z0-9\-_]*)}}/gi;return e.replace(i,function(e){return t(arguments[1])||""})},getCookie:function(e){var t="; "+document.cookie,i=t.split("; "+e+"=");return 2!=i.length?void 0:i.pop().split(";").shift()},setCookie:function(e,t,i,n,o){var s=new Date;s.setDate(s.getDate()+(i||365));var r=[e+"="+t,"expires="+s.toUTCString(),"path="+(o||"/")];n&&r.push("domain="+n),document.cookie=r.join(";")},deepExtend:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(i in e&&this.isPlainObject(e[i])&&this.isPlainObject(t[i])?this.deepExtend(e[i],t[i]):e[i]=t[i]);return e},throttle:function(e,t){var i=!1;return function(){i||(e.apply(this,arguments),i=!0,setTimeout(function(){i=!1},t))}},hash:function(e){var t,i,n,o=0;if(0===e.length)return o;for(t=0,n=e.length;t=128?"#000":"#fff"},getLuminance:function(e){var t=parseInt(this.normaliseHex(e),16),i=38,n=(t>>16)+i,o=(t>>8&255)+i,s=(255&t)+i,r=(16777216+65536*(n<255?n<1?0:n:255)+256*(o<255?o<1?0:o:255)+(s<255?s<1?0:s:255)).toString(16).slice(1);return"#"+r},isMobile:function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},isPlainObject:function(e){return"object"==typeof e&&null!==e&&e.constructor==Object}};e.status={deny:"deny",allow:"allow",dismiss:"dismiss"},e.transitionEnd=function(){var e=document.createElement("div"),t={t:"transitionend",OT:"oTransitionEnd",msT:"MSTransitionEnd",MozT:"transitionend",WebkitT:"webkitTransitionEnd"};for(var i in t)if(t.hasOwnProperty(i)&&"undefined"!=typeof e.style[i+"ransition"])return t[i];return""}(),e.hasTransition=!!e.transitionEnd;var i=Object.keys(e.status).map(t.escapeRegExp);e.customStyles={},e.Popup=function(){function n(){this.initialise.apply(this,arguments)}function o(e){this.openingTimeout=null,t.removeClass(e,"cc-invisible")}function s(t){t.style.display="none",t.removeEventListener(e.transitionEnd,this.afterTransition),this.afterTransition=null}function r(){var t=this.options.onInitialise.bind(this);if(!window.navigator.cookieEnabled)return t(e.status.deny),!0;if(window.CookiesOK||window.navigator.CookiesOK)return t(e.status.allow),!0;var i=Object.keys(e.status),n=this.getStatus(),o=i.indexOf(n)>=0;return o&&t(n),o}function a(){var e=this.options.position.split("-"),t=[];return e.forEach(function(e){t.push("cc-"+e)}),t}function c(){var e=this.options,i="top"==e.position||"bottom"==e.position?"banner":"floating";t.isMobile()&&(i="floating");var n=["cc-"+i,"cc-type-"+e.type,"cc-theme-"+e.theme];e["static"]&&n.push("cc-static"),n.push.apply(n,a.call(this));p.call(this,this.options.palette);return this.customStyleSelector&&n.push(this.customStyleSelector),n}function l(){var e={},i=this.options;i.showLink||(i.elements.link="",i.elements.messagelink=i.elements.message),Object.keys(i.elements).forEach(function(n){e[n]=t.interpolateString(i.elements[n],function(e){var t=i.content[e];return e&&"string"==typeof t&&t.length?t:""})});var n=i.compliance[i.type];n||(n=i.compliance.info),e.compliance=t.interpolateString(n,function(t){return e[t]});var o=i.layouts[i.layout];return o||(o=i.layouts.basic),t.interpolateString(o,function(t){return e[t]})}function u(i){var n=this.options,o=document.createElement("div"),s=n.container&&1===n.container.nodeType?n.container:document.body;o.innerHTML=i;var r=o.children[0];return r.style.display="none",t.hasClass(r,"cc-window")&&e.hasTransition&&t.addClass(r,"cc-invisible"),this.onButtonClick=h.bind(this),r.addEventListener("click",this.onButtonClick),n.autoAttach&&(s.firstChild?s.insertBefore(r,s.firstChild):s.appendChild(r)),r}function h(n){var o=n.target;if(t.hasClass(o,"cc-btn")){var s=o.className.match(new RegExp("\\bcc-("+i.join("|")+")\\b")),r=s&&s[1]||!1;r&&(this.setStatus(r),this.close(!0))}t.hasClass(o,"cc-close")&&(this.setStatus(e.status.dismiss),this.close(!0)),t.hasClass(o,"cc-revoke")&&this.revokeChoice()}function p(e){var i=t.hash(JSON.stringify(e)),n="cc-color-override-"+i,o=t.isPlainObject(e);return this.customStyleSelector=o?n:null,o&&d(i,e,"."+n),o}function d(i,n,o){if(e.customStyles[i])return void++e.customStyles[i].references;var s={},r=n.popup,a=n.button,c=n.highlight;r&&(r.text=r.text?r.text:t.getContrast(r.background),r.link=r.link?r.link:r.text,s[o+".cc-window"]=["color: "+r.text,"background-color: "+r.background],s[o+".cc-revoke"]=["color: "+r.text,"background-color: "+r.background],s[o+" .cc-link,"+o+" .cc-link:active,"+o+" .cc-link:visited"]=["color: "+r.link],a&&(a.text=a.text?a.text:t.getContrast(a.background),a.border=a.border?a.border:"transparent",s[o+" .cc-btn"]=["color: "+a.text,"border-color: "+a.border,"background-color: "+a.background],"transparent"!=a.background&&(s[o+" .cc-btn:hover, "+o+" .cc-btn:focus"]=["background-color: "+v(a.background)]),c?(c.text=c.text?c.text:t.getContrast(c.background),c.border=c.border?c.border:"transparent",s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+c.text,"border-color: "+c.border,"background-color: "+c.background]):s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+r.text]));var l=document.createElement("style");document.head.appendChild(l),e.customStyles[i]={references:1,element:l.sheet};var u=-1;for(var h in s)s.hasOwnProperty(h)&&l.sheet.insertRule(h+"{"+s[h].join(";")+"}",++u)}function v(e){return e=t.normaliseHex(e),"000000"==e?"#222":t.getLuminance(e)}function f(i){if(t.isPlainObject(i)){var n=t.hash(JSON.stringify(i)),o=e.customStyles[n];if(o&&!--o.references){var s=o.element.ownerNode;s&&s.parentNode&&s.parentNode.removeChild(s),e.customStyles[n]=null}}}function m(e,t){for(var i=0,n=e.length;i=0&&(this.dismissTimeout=window.setTimeout(function(){t(e.status.dismiss)},Math.floor(i)));var n=this.options.dismissOnScroll;if("number"==typeof n&&n>=0){var o=function(i){window.pageYOffset>Math.floor(n)&&(t(e.status.dismiss),window.removeEventListener("scroll",o),this.onWindowScroll=null)};this.onWindowScroll=o,window.addEventListener("scroll",o)}}function y(){if("info"!=this.options.type&&(this.options.revokable=!0),t.isMobile()&&(this.options.animateRevokable=!1),this.options.revokable){var e=a.call(this);this.options.animateRevokable&&e.push("cc-animate"),this.customStyleSelector&&e.push(this.customStyleSelector);var i=this.options.revokeBtn.replace("{{classes}}",e.join(" "));this.revokeBtn=u.call(this,i);var n=this.revokeBtn;if(this.options.animateRevokable){var o=t.throttle(function(e){var i=!1,o=20,s=window.innerHeight-20;t.hasClass(n,"cc-top")&&e.clientYs&&(i=!0),i?t.hasClass(n,"cc-active")||t.addClass(n,"cc-active"):t.hasClass(n,"cc-active")&&t.removeClass(n,"cc-active")},200);this.onMouseMove=o,window.addEventListener("mousemove",o)}}}var g={enabled:!0,container:null,cookie:{name:"cookieconsent_status",path:"/",domain:"",expiryDays:365},onPopupOpen:function(){},onPopupClose:function(){},onInitialise:function(e){},onStatusChange:function(e,t){},onRevokeChoice:function(){},content:{header:"Cookies used on the website!",message:"This website uses cookies to ensure you get the best experience on our website.",dismiss:"Got it!",allow:"Allow cookies",deny:"Decline",link:"Learn more",href:"http://cookiesandyou.com",close:"❌"},elements:{header:'{{header}} ',message:'{{message}}',messagelink:'{{message}} {{link}}',dismiss:'{{dismiss}}',allow:'{{allow}}',deny:'{{deny}}',link:'{{link}}',close:'{{close}}'},window:'',revokeBtn:'
Cookie Policy
',compliance:{info:'
{{dismiss}}
',"opt-in":'
{{dismiss}}{{allow}}
',"opt-out":'
{{deny}}{{dismiss}}
'},type:"info",layouts:{basic:"{{messagelink}}{{compliance}}","basic-close":"{{messagelink}}{{compliance}}{{close}}","basic-header":"{{header}}{{message}}{{link}}{{compliance}}"},layout:"basic",position:"bottom",theme:"block","static":!1,palette:null,revokable:!1,animateRevokable:!0,showLink:!0,dismissOnScroll:!1,dismissOnTimeout:!1,autoOpen:!0,autoAttach:!0,whitelistPage:[],blacklistPage:[],overrideHTML:null};return n.prototype.initialise=function(e){this.options&&this.destroy(),t.deepExtend(this.options={},g),t.isPlainObject(e)&&t.deepExtend(this.options,e),r.call(this)&&(this.options.enabled=!1),m(this.options.blacklistPage,location.pathname)&&(this.options.enabled=!1),m(this.options.whitelistPage,location.pathname)&&(this.options.enabled=!0);var i=this.options.window.replace("{{classes}}",c.call(this).join(" ")).replace("{{children}}",l.call(this)),n=this.options.overrideHTML;if("string"==typeof n&&n.length&&(i=n),this.options["static"]){var o=u.call(this,'
'+i+"
");o.style.display="",this.element=o.firstChild,this.element.style.display="none",t.addClass(this.element,"cc-invisible")}else this.element=u.call(this,i);b.call(this),y.call(this),this.options.autoOpen&&this.autoOpen()},n.prototype.destroy=function(){this.onButtonClick&&this.element&&(this.element.removeEventListener("click",this.onButtonClick),this.onButtonClick=null),this.dismissTimeout&&(clearTimeout(this.dismissTimeout),this.dismissTimeout=null),this.onWindowScroll&&(window.removeEventListener("scroll",this.onWindowScroll),this.onWindowScroll=null),this.onMouseMove&&(window.removeEventListener("mousemove",this.onMouseMove),this.onMouseMove=null),this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=null,this.revokeBtn&&this.revokeBtn.parentNode&&this.revokeBtn.parentNode.removeChild(this.revokeBtn),this.revokeBtn=null,f(this.options.palette),this.options=null},n.prototype.open=function(t){if(this.element)return this.isOpen()||(e.hasTransition?this.fadeIn():this.element.style.display="",this.options.revokable&&this.toggleRevokeButton(),this.options.onPopupOpen.call(this)),this},n.prototype.close=function(t){if(this.element)return this.isOpen()&&(e.hasTransition?this.fadeOut():this.element.style.display="none",t&&this.options.revokable&&this.toggleRevokeButton(!0),this.options.onPopupClose.call(this)),this},n.prototype.fadeIn=function(){var i=this.element;if(e.hasTransition&&i&&(this.afterTransition&&s.call(this,i),t.hasClass(i,"cc-invisible"))){if(i.style.display="",this.options["static"]){var n=this.element.clientHeight;this.element.parentNode.style.maxHeight=n+"px"}var r=20;this.openingTimeout=setTimeout(o.bind(this,i),r)}},n.prototype.fadeOut=function(){var i=this.element;e.hasTransition&&i&&(this.openingTimeout&&(clearTimeout(this.openingTimeout),o.bind(this,i)),t.hasClass(i,"cc-invisible")||(this.options["static"]&&(this.element.parentNode.style.maxHeight=""),this.afterTransition=s.bind(this,i),i.addEventListener(e.transitionEnd,this.afterTransition),t.addClass(i,"cc-invisible")))},n.prototype.isOpen=function(){return this.element&&""==this.element.style.display&&(!e.hasTransition||!t.hasClass(this.element,"cc-invisible"))},n.prototype.toggleRevokeButton=function(e){this.revokeBtn&&(this.revokeBtn.style.display=e?"":"none")},n.prototype.revokeChoice=function(e){this.options.enabled=!0,this.clearStatus(),this.options.onRevokeChoice.call(this),e||this.autoOpen()},n.prototype.hasAnswered=function(t){return Object.keys(e.status).indexOf(this.getStatus())>=0},n.prototype.hasConsented=function(t){var i=this.getStatus();return i==e.status.allow||i==e.status.dismiss},n.prototype.autoOpen=function(e){!this.hasAnswered()&&this.options.enabled&&this.open()},n.prototype.setStatus=function(i){var n=this.options.cookie,o=t.getCookie(n.name),s=Object.keys(e.status).indexOf(o)>=0;Object.keys(e.status).indexOf(i)>=0?(t.setCookie(n.name,i,n.expiryDays,n.domain,n.path),this.options.onStatusChange.call(this,i,s)):this.clearStatus()},n.prototype.getStatus=function(){return t.getCookie(this.options.cookie.name)},n.prototype.clearStatus=function(){var e=this.options.cookie;t.setCookie(e.name,"",-1,e.domain,e.path)},n}(),e.Location=function(){function e(e){t.deepExtend(this.options={},s),t.isPlainObject(e)&&t.deepExtend(this.options,e),this.currentServiceIndex=-1}function i(e,t,i){var n,o=document.createElement("script");o.type="text/"+(e.type||"javascript"),o.src=e.src||e,o.async=!1,o.onreadystatechange=o.onload=function(){var e=o.readyState;clearTimeout(n),t.done||e&&!/loaded|complete/.test(e)||(t.done=!0,t(),o.onreadystatechange=o.onload=null)},document.body.appendChild(o),n=setTimeout(function(){t.done=!0,t(),o.onreadystatechange=o.onload=null},i)}function n(e,t,i,n,o){var s=new(window.XMLHttpRequest||window.ActiveXObject)("MSXML2.XMLHTTP.3.0");if(s.open(n?"POST":"GET",e,1),s.setRequestHeader("X-Requested-With","XMLHttpRequest"),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),Array.isArray(o))for(var r=0,a=o.length;r3&&t(s)}),s.send(n)}function o(e){return new Error("Error ["+(e.code||"UNKNOWN")+"]: "+e.error)}var s={timeout:5e3,services:["freegeoip","ipinfo","maxmind"],serviceDefinitions:{freegeoip:function(){return{url:"//freegeoip.net/json/?callback={callback}",isScript:!0,callback:function(e,t){try{var i=JSON.parse(t);return i.error?o(i):{code:i.country_code}}catch(n){return o({error:"Invalid response ("+n+")"})}}}},ipinfo:function(){return{url:"//ipinfo.io",headers:["Accept: application/json"],callback:function(e,t){try{var i=JSON.parse(t);return i.error?o(i):{code:i.country}}catch(n){return o({error:"Invalid response ("+n+")"})}}}},ipinfodb:function(e){return{url:"//api.ipinfodb.com/v3/ip-country/?key={api_key}&format=json&callback={callback}",isScript:!0,callback:function(e,t){try{var i=JSON.parse(t);return"ERROR"==i.statusCode?o({error:i.statusMessage}):{code:i.countryCode}}catch(n){return o({error:"Invalid response ("+n+")"})}}}},maxmind:function(){return{url:"//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js",isScript:!0,callback:function(e){return window.geoip2?void geoip2.country(function(t){try{e({code:t.country.iso_code})}catch(i){e(o(i))}},function(t){e(o(t))}):void e(new Error("Unexpected response format. The downloaded script should have exported `geoip2` to the global scope"))}}}}};return e.prototype.getNextService=function(){var e;do e=this.getServiceByIdx(++this.currentServiceIndex);while(this.currentServiceIndex=0,revokable:t.revokable.indexOf(e)>=0,explicitAction:t.explicitAction.indexOf(e)>=0}},e.prototype.applyLaw=function(e,t){var i=this.get(t);return i.hasLaw||(e.enabled=!1),this.options.regionalLaw&&(i.revokable&&(e.revokable=!0),i.explicitAction&&(e.dismissOnScroll=!1,e.dismissOnTimeout=!1)),e},e}(),e.initialise=function(t,i,n){var o=new e.Law(t.law);i||(i=function(){}),n||(n=function(){}),e.getCountryCode(t,function(n){delete t.law,delete t.location,n.code&&(t=o.applyLaw(t,n.code)),i(new e.Popup(t))},function(i){delete t.law,delete t.location,n(i,new e.Popup(t))})},e.getCountryCode=function(t,i,n){if(t.law&&t.law.countryCode)return void i({code:t.law.countryCode});if(t.location){var o=new e.Location(t.location);return void o.locate(function(e){i(e||{})},n)}i({})},e.utils=t,e.hasInitialised=!0,window.cookieconsent=e}}(window.cookieconsent||{}); \ No newline at end of file +!function(e){if(!e.hasInitialised){var t={escapeRegExp:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},hasClass:function(e,t){var i=" ";return 1===e.nodeType&&(i+e.className+i).replace(/[\n\t]/g,i).indexOf(i+t+i)>=0},addClass:function(e,t){e.className+=" "+t},removeClass:function(e,t){var i=new RegExp("\\b"+this.escapeRegExp(t)+"\\b");e.className=e.className.replace(i,"")},interpolateString:function(e,t){var i=/{{([a-z][a-z0-9\-_]*)}}/gi;return e.replace(i,function(e){return t(arguments[1])||""})},getCookie:function(e){var t="; "+document.cookie,i=t.split("; "+e+"=");return i.length<2?void 0:i.pop().split(";").shift()},setCookie:function(e,t,i,n,o,s){var r=new Date;r.setDate(r.getDate()+(i||365));var a=[e+"="+t,"expires="+r.toUTCString(),"path="+(o||"/")];n&&a.push("domain="+n),s&&a.push("secure"),document.cookie=a.join(";")},deepExtend:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(i in e&&this.isPlainObject(e[i])&&this.isPlainObject(t[i])?this.deepExtend(e[i],t[i]):e[i]=t[i]);return e},throttle:function(e,t){var i=!1;return function(){i||(e.apply(this,arguments),i=!0,setTimeout(function(){i=!1},t))}},hash:function(e){var t,i,n,o=0;if(0===e.length)return o;for(t=0,n=e.length;t=128?"#000":"#fff"},getLuminance:function(e){var t=parseInt(this.normaliseHex(e),16),i=38,n=(t>>16)+i,o=(t>>8&255)+i,s=(255&t)+i,r=(16777216+65536*(n<255?n<1?0:n:255)+256*(o<255?o<1?0:o:255)+(s<255?s<1?0:s:255)).toString(16).slice(1);return"#"+r},isMobile:function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},isPlainObject:function(e){return"object"==typeof e&&null!==e&&e.constructor==Object},traverseDOMPath:function(e,i){return e&&e.parentNode?t.hasClass(e,i)?e:this.traverseDOMPath(e.parentNode,i):null}};e.status={deny:"deny",allow:"allow",dismiss:"dismiss"},e.transitionEnd=function(){var e=document.createElement("div"),t={t:"transitionend",OT:"oTransitionEnd",msT:"MSTransitionEnd",MozT:"transitionend",WebkitT:"webkitTransitionEnd"};for(var i in t)if(t.hasOwnProperty(i)&&"undefined"!=typeof e.style[i+"ransition"])return t[i];return""}(),e.hasTransition=!!e.transitionEnd;var i=Object.keys(e.status).map(t.escapeRegExp);e.customStyles={},e.Popup=function(){function n(){this.initialise.apply(this,arguments)}function o(e){this.openingTimeout=null,t.removeClass(e,"cc-invisible")}function s(t){t.style.display="none",t.removeEventListener(e.transitionEnd,this.afterTransition),this.afterTransition=null}function r(){var t=this.options.onInitialise.bind(this);if(!window.navigator.cookieEnabled)return t(e.status.deny),!0;if(window.CookiesOK||window.navigator.CookiesOK)return t(e.status.allow),!0;var i=Object.keys(e.status),n=this.getStatus(),o=i.indexOf(n)>=0;return o&&t(n),o}function a(){var e=this.options.position.split("-"),t=[];return e.forEach(function(e){t.push("cc-"+e)}),t}function c(){var e=this.options,i="top"==e.position||"bottom"==e.position?"banner":"floating";t.isMobile()&&(i="floating");var n=["cc-"+i,"cc-type-"+e.type,"cc-theme-"+e.theme];e["static"]&&n.push("cc-static"),n.push.apply(n,a.call(this));p.call(this,this.options.palette);return this.customStyleSelector&&n.push(this.customStyleSelector),n}function l(){var e={},i=this.options;i.showLink||(i.elements.link="",i.elements.messagelink=i.elements.message),Object.keys(i.elements).forEach(function(n){e[n]=t.interpolateString(i.elements[n],function(e){var t=i.content[e];return e&&"string"==typeof t&&t.length?t:""})});var n=i.compliance[i.type];n||(n=i.compliance.info),e.compliance=t.interpolateString(n,function(t){return e[t]});var o=i.layouts[i.layout];return o||(o=i.layouts.basic),t.interpolateString(o,function(t){return e[t]})}function u(i){var n=this.options,o=document.createElement("div"),s=n.container&&1===n.container.nodeType?n.container:document.body;o.innerHTML=i;var r=o.children[0];return r.style.display="none",t.hasClass(r,"cc-window")&&e.hasTransition&&t.addClass(r,"cc-invisible"),this.onButtonClick=h.bind(this),r.addEventListener("click",this.onButtonClick),n.autoAttach&&(s.firstChild?s.insertBefore(r,s.firstChild):s.appendChild(r)),r}function h(n){var o=t.traverseDOMPath(n.target,"cc-btn")||n.target;if(t.hasClass(o,"cc-btn")){var s=o.className.match(new RegExp("\\bcc-("+i.join("|")+")\\b")),r=s&&s[1]||!1;r&&(this.setStatus(r),this.close(!0))}t.hasClass(o,"cc-close")&&(this.setStatus(e.status.dismiss),this.close(!0)),t.hasClass(o,"cc-revoke")&&this.revokeChoice()}function p(e){var i=t.hash(JSON.stringify(e)),n="cc-color-override-"+i,o=t.isPlainObject(e);return this.customStyleSelector=o?n:null,o&&d(i,e,"."+n),o}function d(i,n,o){if(e.customStyles[i])return void++e.customStyles[i].references;var s={},r=n.popup,a=n.button,c=n.highlight;r&&(r.text=r.text?r.text:t.getContrast(r.background),r.link=r.link?r.link:r.text,s[o+".cc-window"]=["color: "+r.text,"background-color: "+r.background],s[o+".cc-revoke"]=["color: "+r.text,"background-color: "+r.background],s[o+" .cc-link,"+o+" .cc-link:active,"+o+" .cc-link:visited"]=["color: "+r.link],a&&(a.text=a.text?a.text:t.getContrast(a.background),a.border=a.border?a.border:"transparent",s[o+" .cc-btn"]=["color: "+a.text,"border-color: "+a.border,"background-color: "+a.background],a.padding&&s[o+" .cc-btn"].push("padding: "+a.padding),"transparent"!=a.background&&(s[o+" .cc-btn:hover, "+o+" .cc-btn:focus"]=["background-color: "+(a.hover||v(a.background))]),c?(c.text=c.text?c.text:t.getContrast(c.background),c.border=c.border?c.border:"transparent",s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+c.text,"border-color: "+c.border,"background-color: "+c.background]):s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+r.text]));var l=document.createElement("style");document.head.appendChild(l),e.customStyles[i]={references:1,element:l.sheet};var u=-1;for(var h in s)s.hasOwnProperty(h)&&l.sheet.insertRule(h+"{"+s[h].join(";")+"}",++u)}function v(e){return e=t.normaliseHex(e),"000000"==e?"#222":t.getLuminance(e)}function f(i){if(t.isPlainObject(i)){var n=t.hash(JSON.stringify(i)),o=e.customStyles[n];if(o&&!--o.references){var s=o.element.ownerNode;s&&s.parentNode&&s.parentNode.removeChild(s),e.customStyles[n]=null}}}function m(e,t){for(var i=0,n=e.length;i=0&&(this.dismissTimeout=window.setTimeout(function(){i(e.status.dismiss),n(!0)},Math.floor(o)));var s=this.options.dismissOnScroll;if("number"==typeof s&&s>=0){var r=function(t){window.pageYOffset>Math.floor(s)&&(i(e.status.dismiss),n(!0),window.removeEventListener("scroll",r),this.onWindowScroll=null)};this.options.enabled&&(this.onWindowScroll=r,window.addEventListener("scroll",r))}var a=this.options.dismissOnWindowClick,c=this.options.ignoreClicksFrom;if(a){var l=function(o){for(var s=!1,r=o.path.length,a=c.length,u=0;us&&(i=!0),i?t.hasClass(n,"cc-active")||t.addClass(n,"cc-active"):t.hasClass(n,"cc-active")&&t.removeClass(n,"cc-active")},200);this.onMouseMove=o,window.addEventListener("mousemove",o)}}}var y={enabled:!0,container:null,cookie:{name:"cookieconsent_status",path:"/",domain:"",expiryDays:365,secure:!1},onPopupOpen:function(){},onPopupClose:function(){},onInitialise:function(e){},onStatusChange:function(e,t){},onRevokeChoice:function(){},onNoCookieLaw:function(e,t){},content:{header:"Cookies used on the website!",message:"This website uses cookies to ensure you get the best experience on our website.",dismiss:"Got it!",allow:"Allow cookies",deny:"Decline",link:"Learn more",href:"https://cookiesandyou.com",close:"❌",target:"_blank",policy:"Cookie Policy"},elements:{header:'{{header}} ',message:'{{message}}',messagelink:'{{message}} {{link}}',dismiss:'{{dismiss}}',allow:'{{allow}}',deny:'{{deny}}',link:'{{link}}',close:'{{close}}'},window:'',revokeBtn:'
{{policy}}
',compliance:{info:'
{{dismiss}}
',"opt-in":'
{{deny}}{{allow}}
',"opt-out":'
{{deny}}{{allow}}
'},type:"info",layouts:{basic:"{{messagelink}}{{compliance}}","basic-close":"{{messagelink}}{{compliance}}{{close}}","basic-header":"{{header}}{{message}}{{link}}{{compliance}}"},layout:"basic",position:"bottom",theme:"block","static":!1,palette:null,revokable:!1,animateRevokable:!0,showLink:!0,dismissOnScroll:!1,dismissOnTimeout:!1,dismissOnWindowClick:!1,ignoreClicksFrom:["cc-revoke","cc-btn"],autoOpen:!0,autoAttach:!0,whitelistPage:[],blacklistPage:[],overrideHTML:null};return n.prototype.initialise=function(e){this.options&&this.destroy(),t.deepExtend(this.options={},y),t.isPlainObject(e)&&t.deepExtend(this.options,e),r.call(this)&&(this.options.enabled=!1),m(this.options.blacklistPage,location.pathname)&&(this.options.enabled=!1),m(this.options.whitelistPage,location.pathname)&&(this.options.enabled=!0);var i=this.options.window.replace("{{classes}}",c.call(this).join(" ")).replace("{{children}}",l.call(this)),n=this.options.overrideHTML;if("string"==typeof n&&n.length&&(i=n),this.options["static"]){var o=u.call(this,'
'+i+"
");o.style.display="",this.element=o.firstChild,this.element.style.display="none",t.addClass(this.element,"cc-invisible")}else this.element=u.call(this,i);b.call(this),g.call(this),this.options.autoOpen&&this.autoOpen()},n.prototype.destroy=function(){this.onButtonClick&&this.element&&(this.element.removeEventListener("click",this.onButtonClick),this.onButtonClick=null),this.dismissTimeout&&(clearTimeout(this.dismissTimeout),this.dismissTimeout=null),this.onWindowScroll&&(window.removeEventListener("scroll",this.onWindowScroll),this.onWindowScroll=null),this.onWindowClick&&(window.removeEventListener("click",this.onWindowClick),this.onWindowClick=null),this.onMouseMove&&(window.removeEventListener("mousemove",this.onMouseMove),this.onMouseMove=null),this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=null,this.revokeBtn&&this.revokeBtn.parentNode&&this.revokeBtn.parentNode.removeChild(this.revokeBtn),this.revokeBtn=null,f(this.options.palette),this.options=null},n.prototype.open=function(t){if(this.element)return this.isOpen()||(e.hasTransition?this.fadeIn():this.element.style.display="",this.options.revokable&&this.toggleRevokeButton(),this.options.onPopupOpen.call(this)),this},n.prototype.close=function(t){if(this.element)return this.isOpen()&&(e.hasTransition?this.fadeOut():this.element.style.display="none",t&&this.options.revokable&&this.toggleRevokeButton(!0),this.options.onPopupClose.call(this)),this},n.prototype.fadeIn=function(){var i=this.element;if(e.hasTransition&&i&&(this.afterTransition&&s.call(this,i),t.hasClass(i,"cc-invisible"))){if(i.style.display="",this.options["static"]){var n=this.element.clientHeight;this.element.parentNode.style.maxHeight=n+"px"}var r=20;this.openingTimeout=setTimeout(o.bind(this,i),r)}},n.prototype.fadeOut=function(){var i=this.element;e.hasTransition&&i&&(this.openingTimeout&&(clearTimeout(this.openingTimeout),o.bind(this,i)),t.hasClass(i,"cc-invisible")||(this.options["static"]&&(this.element.parentNode.style.maxHeight=""),this.afterTransition=s.bind(this,i),i.addEventListener(e.transitionEnd,this.afterTransition),t.addClass(i,"cc-invisible")))},n.prototype.isOpen=function(){return this.element&&""==this.element.style.display&&(!e.hasTransition||!t.hasClass(this.element,"cc-invisible"))},n.prototype.toggleRevokeButton=function(e){this.revokeBtn&&(this.revokeBtn.style.display=e?"":"none")},n.prototype.revokeChoice=function(e){this.options.enabled=!0,this.clearStatus(),this.options.onRevokeChoice.call(this),e||this.autoOpen()},n.prototype.hasAnswered=function(t){return Object.keys(e.status).indexOf(this.getStatus())>=0},n.prototype.hasConsented=function(t){var i=this.getStatus();return i==e.status.allow||i==e.status.dismiss},n.prototype.autoOpen=function(e){!this.hasAnswered()&&this.options.enabled?this.open():this.hasAnswered()&&this.options.revokable&&this.toggleRevokeButton(!0)},n.prototype.setStatus=function(i){var n=this.options.cookie,o=t.getCookie(n.name),s=Object.keys(e.status).indexOf(o)>=0;Object.keys(e.status).indexOf(i)>=0?(t.setCookie(n.name,i,n.expiryDays,n.domain,n.path,n.secure),this.options.onStatusChange.call(this,i,s)):this.clearStatus()},n.prototype.getStatus=function(){return t.getCookie(this.options.cookie.name)},n.prototype.clearStatus=function(){var e=this.options.cookie;t.setCookie(e.name,"",-1,e.domain,e.path)},n}(),e.Location=function(){function e(e){t.deepExtend(this.options={},s),t.isPlainObject(e)&&t.deepExtend(this.options,e),this.currentServiceIndex=-1}function i(e,t,i){var n,o=document.createElement("script");o.type="text/"+(e.type||"javascript"),o.src=e.src||e,o.async=!1,o.onreadystatechange=o.onload=function(){var e=o.readyState;clearTimeout(n),t.done||e&&!/loaded|complete/.test(e)||(t.done=!0,t(),o.onreadystatechange=o.onload=null)},document.body.appendChild(o),n=setTimeout(function(){t.done=!0,t(),o.onreadystatechange=o.onload=null},i)}function n(e,t,i,n,o){var s=new(window.XMLHttpRequest||window.ActiveXObject)("MSXML2.XMLHTTP.3.0");if(s.open(n?"POST":"GET",e,1),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),Array.isArray(o))for(var r=0,a=o.length;r3&&t(s)}),s.send(n)}function o(e){return new Error("Error ["+(e.code||"UNKNOWN")+"]: "+e.error)}var s={timeout:5e3,services:["ipinfo"],serviceDefinitions:{ipinfo:function(){return{url:"//ipinfo.io",headers:["Accept: application/json"],callback:function(e,t){try{var i=JSON.parse(t);return i.error?o(i):{code:i.country}}catch(n){return o({error:"Invalid response ("+n+")"})}}}},ipinfodb:function(e){return{url:"//api.ipinfodb.com/v3/ip-country/?key={api_key}&format=json&callback={callback}",isScript:!0,callback:function(e,t){try{var i=JSON.parse(t);return"ERROR"==i.statusCode?o({error:i.statusMessage}):{code:i.countryCode}}catch(n){return o({error:"Invalid response ("+n+")"})}}}},maxmind:function(){return{url:"//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js",isScript:!0,callback:function(e){return window.geoip2?void geoip2.country(function(t){try{e({code:t.country.iso_code})}catch(i){e(o(i))}},function(t){e(o(t))}):void e(new Error("Unexpected response format. The downloaded script should have exported `geoip2` to the global scope"))}}}}};return e.prototype.getNextService=function(){var e;do e=this.getServiceByIdx(++this.currentServiceIndex);while(this.currentServiceIndex=0,revokable:t.revokable.indexOf(e)>=0,explicitAction:t.explicitAction.indexOf(e)>=0}},e.prototype.applyLaw=function(e,t){var i=this.get(t);return i.hasLaw||(e.enabled=!1,"function"==typeof e.onNoCookieLaw&&e.onNoCookieLaw(t,i)),this.options.regionalLaw&&(i.revokable&&(e.revokable=!0),i.explicitAction&&(e.dismissOnScroll=!1,e.dismissOnTimeout=!1)),e},e}(),e.initialise=function(i,n,o){var s=new e.Law(i.law);n||(n=function(){}),o||(o=function(){});var r=Object.keys(e.status),a=t.getCookie("cookieconsent_status"),c=r.indexOf(a)>=0;return c?void n(new e.Popup(i)):void e.getCountryCode(i,function(t){delete i.law,delete i.location,t.code&&(i=s.applyLaw(i,t.code)),n(new e.Popup(i))},function(t){delete i.law,delete i.location,o(t,new e.Popup(i))})},e.getCountryCode=function(t,i,n){if(t.law&&t.law.countryCode)return void i({code:t.law.countryCode});if(t.location){var o=new e.Location(t.location);return void o.locate(function(e){i(e||{})},n)}i({})},e.utils=t,e.hasInitialised=!0,window.cookieconsent=e}}(window.cookieconsent||{}); \ No newline at end of file diff --git a/plugins/cookieconsent/templates/cookieconsent.twig b/plugins/cookieconsent/templates/cookieconsent.twig index 6ff7be1..50f790e 100644 --- a/plugins/cookieconsent/templates/cookieconsent.twig +++ b/plugins/cookieconsent/templates/cookieconsent.twig @@ -15,7 +15,8 @@ window.addEventListener("load", function(){ "content": { "message": "{{ settings.plugins.cookieconsent.message }}", "dismiss": "{{ settings.plugins.cookieconsent.dismiss }}", - "link": "{{ settings.plugins.cookieconsent.link }}" + "link": "{{ settings.plugins.cookieconsent.link }}", + "href": "{{ settings.plugins.cookieconsent.href }}" } }) }); diff --git a/system/Models/Write.php b/system/Models/Write.php index fddc6f1..992ac39 100644 --- a/system/Models/Write.php +++ b/system/Models/Write.php @@ -82,13 +82,55 @@ class Write public function moveElement($item, $folderPath, $index) { - $result = false; + $filetypes = array('md', 'txt'); + # set new order as string $newOrder = ($index < 10) ? '0' . $index : $index; + + # create new path with foldername or filename but without file-type + $newPath = $this->basePath . 'content' . $folderPath . DIRECTORY_SEPARATOR . $newOrder . '-' . $item->name; if($item->elementType == 'folder') { - $newName = $newOrder . '-' . $item->name; + $oldPath = $this->basePath . 'content' . $item->path; + if(@rename($oldPath, $newPath)) + { + return true; + } + return false; + } + + # create old path but without filetype + $oldPath = substr($item->path, 0, strpos($item->path, ".")); + $oldPath = $this->basePath . 'content' . $oldPath; + + $result = true; + + foreach($filetypes as $filetype) + { + $oldFilePath = $oldPath . '.' . $filetype; + $newFilePath = $newPath . '.' . $filetype; + + #check if file with filetype exists and rename + if($oldFilePath != $newFilePath && file_exists($oldFilePath)) + { + if(@rename($oldFilePath, $newFilePath)) + { + $result = $result; + } + else + { + $result = false; + } + } + } + + return $result; + + /* + if($item->elementType == 'folder') + { + $newName = $newOrder . '-' . $item->name; } else { @@ -97,12 +139,22 @@ class Write $oldPath = $this->basePath . 'content' . $item->path; $newPath = $this->basePath . 'content' . $folderPath . DIRECTORY_SEPARATOR . $newName; - + if(@rename($oldPath, $newPath)) { $result = true; } + foreach($filetypes as $filetype) + { + #check if file exists + if(file_exists($oldPath)) + { + + } + } + + # if it is a txt file, check, if there is a corresponding .md file and move it if($result && $item->elementType == 'file' && $item->fileType == 'txt') { @@ -124,5 +176,7 @@ class Write } return $result; + */ + } } \ No newline at end of file diff --git a/system/Settings.php b/system/Settings.php index fe184db..b45b39f 100644 --- a/system/Settings.php +++ b/system/Settings.php @@ -43,7 +43,7 @@ class Settings 'contentFolder' => 'content', 'cache' => true, 'cachePath' => $rootPath . 'cache', - 'version' => '1.2.3', + 'version' => '1.2.4', 'setup' => true, 'welcome' => true ]; diff --git a/system/author/css/style.css b/system/author/css/style.css index 272df47..397c51f 100644 --- a/system/author/css/style.css +++ b/system/author/css/style.css @@ -3,11 +3,21 @@ **********************/ a, a:link, a:visited, a:focus, a:hover, a:active, button, .button, input, .control-group, .sidebar-menu, .sidebar-menu--content, .menu-action, .button-arrow{ - -webkit-transition: all 0.2s ease; - -moz-transition: all 0.2s ease; - -o-transition: all 0.2s ease; - -ms-transition: all 0.2s ease; - transition: all 0.2s ease; + -webkit-transition: color 0.2s ease; + -moz-transition: color 0.2s ease; + -o-transition: color 0.2s ease; + -ms-transition: color 0.2s ease; + transition: color 0.2s ease; + -webkit-transition: background-color 0.2s ease; + -moz-transition: background-color 0.2s ease; + -o-transition: background-color 0.2s ease; + -ms-transition: background-color 0.2s ease; + transition: border-color 0.2s ease; + -webkit-transition: border-color 0.2s ease; + -moz-transition: border-color 0.2s ease; + -o-transition: border-color 0.2s ease; + -ms-transition: border-color 0.2s ease; + transition: border-color 0.2s ease; } .navi-item a, .navi-item.folder a i, .navi-item.file a i{ -webkit-transition: all 0.1s ease; @@ -1185,6 +1195,7 @@ label .help, .label .help{ position: absolute; background: #e0474c; color: #fff; + font-size: 0.9em; width: 100%; left: 0; top: -25px; diff --git a/system/author/editor/editor.twig b/system/author/editor/editor.twig index 065df0d..996af0b 100644 --- a/system/author/editor/editor.twig +++ b/system/author/editor/editor.twig @@ -28,7 +28,7 @@
${ errors.message }
- +
diff --git a/system/author/js/author.js b/system/author/js/author.js index 093a257..f7690b3 100644 --- a/system/author/js/author.js +++ b/system/author/js/author.js @@ -45,7 +45,7 @@ return xhr; } - function sendJson(callback, getPost, url, jsonData, cors = false) + function sendJson(callback, getPost, url, jsonData, cors) { if(cors) { diff --git a/system/author/js/vue-editor.js b/system/author/js/vue-editor.js index 9c58b4c..d04b002 100644 --- a/system/author/js/vue-editor.js +++ b/system/author/js/vue-editor.js @@ -25,7 +25,7 @@ let editor = new Vue({ publishStatus: document.getElementById("publishController").dataset.published ? false : true, publishLabel: document.getElementById("publishController").dataset.published ? "online" : "offline", }, - mounted(){ + mounted: function(){ autosize(document.querySelector('textarea')); }, methods: { @@ -50,6 +50,12 @@ let editor = new Vue({ sendJson(function(response, httpStatus) { + if(httpStatus == 400) + { + self.publishDisabled = false; + self.publishResult = "fail"; + self.errors.message = "You are probably logged out. Please backup your changes, login and then try again." + } if(response) { var result = JSON.parse(response); @@ -107,6 +113,12 @@ let editor = new Vue({ }, depublishArticle: function(e){ + if(this.draftDisabled == false) + { + this.errors.message = 'Please save your changes as draft first.'; + return; + } + var self = this; self.errors = {title: false, content: false, message: false}; diff --git a/system/author/js/vue-navi.js b/system/author/js/vue-navi.js index aa94297..8ef51ad 100644 --- a/system/author/js/vue-navi.js +++ b/system/author/js/vue-navi.js @@ -3,23 +3,24 @@ const navcomponent = Vue.component('navigation', { props: ['name', 'parent', 'active', 'filetype', 'element', 'folder', 'level', 'url', 'root', 'freeze'], methods: { checkMove : function(evt) - { + { if(evt.dragged.classList.contains('folder') && evt.from.parentNode.id != evt.to.parentNode.id) { return false; } + if(evt.dragged.firstChild.className == 'active' && !editor.draftDisabled) + { + editor.errors.message = "Please save your changes before you move the file"; + return false; + } return true; }, - onStart(evt) + onStart : function(evt) { /* delete error messages if exist */ - var errorMessages = document.getElementById("navi-errors"); - if(errorMessages) - { - errorMessages.parentNode.removeChild(errorMessages); - } + editor.errors.message = false; }, - onEnd(evt) + onEnd : function(evt) { var locator = { 'item_id': evt.item.id, @@ -57,12 +58,7 @@ const navcomponent = Vue.component('navigation', { if(result.errors) { - var publishController = document.getElementById("publishController"); - var errorMessage = document.createElement("div"); - errorMessage.id = "navi-errors"; - errorMessage.className = "message error"; - errorMessage.innerHTML = result.errors; - publishController.insertBefore(errorMessage, publishController.childNodes[0]); + editor.errors.message = result.errors; } if(result.url) { @@ -111,7 +107,7 @@ const navcomponent = Vue.component('navigation', { let navi = new Vue({ el: "#navi", components: { - navcomponent + 'navcomponent': navcomponent, }, data: { title: "Navigation", @@ -121,10 +117,10 @@ let navi = new Vue({ modalWindow: "modal hide", }, methods:{ - onStart(evt){ + onStart: function(evt){ this.$refs.draggit[0].onStart(evt); }, - onEnd(evt){ + onEnd: function(evt){ this.$refs.draggit[0].onEnd(evt); }, showModal: function(e){ diff --git a/system/author/partials/aside.twig b/system/author/partials/aside.twig index c4ee2bf..0a71e54 100644 --- a/system/author/partials/aside.twig +++ b/system/author/partials/aside.twig @@ -3,16 +3,16 @@

Settings

Users

{% endif %} diff --git a/themes/typemill/css/fontello/config.json b/themes/typemill/css/fontello/config.json index a7133c3..2a997c2 100644 --- a/themes/typemill/css/fontello/config.json +++ b/themes/typemill/css/fontello/config.json @@ -12,12 +12,6 @@ "code": 59392, "src": "fontawesome" }, - { - "uid": "cc399e4597f157dcbf016be0b7407fea", - "css": "pinterest", - "code": 62001, - "src": "fontawesome" - }, { "uid": "e9107949dd6c9e8ab2b29ae07156e38c", "css": "linkedin", @@ -25,9 +19,9 @@ "src": "fontawesome" }, { - "uid": "8e04c98c8f5ca0a035776e3001ad2638", - "css": "facebook", - "code": 61594, + "uid": "11ebb30e17efcd988a228ade5d3e8c74", + "css": "xing", + "code": 61800, "src": "fontawesome" }, { @@ -43,9 +37,9 @@ "src": "fontawesome" }, { - "uid": "11ebb30e17efcd988a228ade5d3e8c74", - "css": "xing", - "code": 61800, + "uid": "8e04c98c8f5ca0a035776e3001ad2638", + "css": "facebook", + "code": 61594, "src": "fontawesome" }, { @@ -59,6 +53,12 @@ "css": "right-open-big", "code": 59394, "src": "entypo" + }, + { + "uid": "91426c82d94428a33353e495418435e3", + "css": "share-1", + "code": 59395, + "src": "entypo" } ] } \ No newline at end of file diff --git a/themes/typemill/css/fontello/css/fontello-codes.css b/themes/typemill/css/fontello/css/fontello-codes.css index 429ddd9..072add3 100644 --- a/themes/typemill/css/fontello/css/fontello-codes.css +++ b/themes/typemill/css/fontello/css/fontello-codes.css @@ -2,9 +2,9 @@ .icon-mail:before { content: '\e800'; } /* '' */ .icon-left-open-big:before { content: '\e801'; } /* '' */ .icon-right-open-big:before { content: '\e802'; } /* '' */ +.icon-share-1:before { content: '\e803'; } /* '' */ .icon-twitter:before { content: '\f099'; } /* '' */ .icon-facebook:before { content: '\f09a'; } /* '' */ .icon-linkedin:before { content: '\f0e1'; } /* '' */ .icon-xing:before { content: '\f168'; } /* '' */ -.icon-pinterest:before { content: '\f231'; } /* '' */ .icon-whatsapp:before { content: '\f232'; } /* '' */ \ No newline at end of file diff --git a/themes/typemill/css/fontello/css/fontello-embedded.css b/themes/typemill/css/fontello/css/fontello-embedded.css index 332a73a..7517e9e 100644 --- a/themes/typemill/css/fontello/css/fontello-embedded.css +++ b/themes/typemill/css/fontello/css/fontello-embedded.css @@ -1,15 +1,15 @@ @font-face { font-family: 'fontello'; - src: url('../font/fontello.eot?62858018'); - src: url('../font/fontello.eot?62858018#iefix') format('embedded-opentype'), - url('../font/fontello.svg?62858018#fontello') format('svg'); + src: url('../font/fontello.eot?39099312'); + src: url('../font/fontello.eot?39099312#iefix') format('embedded-opentype'), + url('../font/fontello.svg?39099312#fontello') format('svg'); font-weight: normal; font-style: normal; } @font-face { font-family: 'fontello'; - src: url('data:application/octet-stream;base64,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') format('woff'), - url('data:application/octet-stream;base64,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sgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=') format('truetype'); + src: url('data:application/octet-stream;base64,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') format('woff'), + url('data:application/octet-stream;base64,AAEAAAAPAIAAAwBwR1NVQiCLJXoAAAD8AAAAVE9TLzI+IFLGAAABUAAAAFZjbWFwrqBdwAAAAagAAAIAY3Z0IAbV/wQAAA5IAAAAIGZwZ22KkZBZAAAOaAAAC3BnYXNwAAAAEAAADkAAAAAIZ2x5ZvEitx8AAAOoAAAGgGhlYWQSfwQDAAAKKAAAADZoaGVhBzADUAAACmAAAAAkaG10eB4z/+QAAAqEAAAAKGxvY2EIkgZgAAAKrAAAABZtYXhwAQYL6AAACsQAAAAgbmFtZcydHiAAAArkAAACzXBvc3SjCF7IAAANtAAAAItwcmVw5UErvAAAGdgAAACGAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAEDBQGQAAUAAAJ6ArwAAACMAnoCvAAAAeAAMQECAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAQOgA8jIDUv9qAFoDUgCWAAAAAQAAAAAAAAAAAAUAAAADAAAALAAAAAQAAAGEAAEAAAAAAH4AAwABAAAALAADAAoAAAGEAAQAUgAAAAwACAACAAToA/Ca8OHxaPIy//8AAOgA8Jnw4fFo8jL//wAAAAAAAAAAAAAAAQAMABIAFAAUABQAAAABAAIAAwAEAAUABgAHAAgACQAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAfAAAAAAAAAAJAADoAAAA6AAAAAABAADoAQAA6AEAAAACAADoAgAA6AIAAAADAADoAwAA6AMAAAAEAADwmQAA8JkAAAAFAADwmgAA8JoAAAAGAADw4QAA8OEAAAAHAADxaAAA8WgAAAAIAADyMgAA8jIAAAAJAAP///+xA+gCwwAZADkASQBAQD0bEgEDAwITAAIBAAJHAAMCAAIDAG0AAAECAAFrAAUAAgMFAl4AAQQEAVQAAQEEWAAEAQRMNT0tGSopBgUaKyURBgcGBw4CJyMiLgEnJicmJxEUFjchMjYTNS8BJgYnISIGBxQXFhceBDczMj4DNzY3PgE3ERQGByEiJjcRNDYzITIWA6ESFZVZHCQ8GwIaPiIdWJYVEgwGAzYHCgECAwMEBvzKBwoBU2t0BCASIBgMAgsaHhQeBXRsHjRHNCX8yiQ2ATQlAzYlNAsBrBQQc0oYGh4CGh4WSnMQFP5UBwwBCgJSDg4FBQIDDAZeQVRcAxwOFAwBChYMHgJcVBhSNf2hJTQBNiQCXyU0NAAAAAH/9P+iAd4DHAANAAazCQMBLSsFFgcGJwEmNwE2FxYHAQHEGhoaFv54GBgBiBYaGhr+mhQaFhoaAYoYGgGKGhoWGv6MAAAAAAH/8/+iAd0DHAANAAazCwUBLSsXCQEmNzYXARYHAQYnJg0BZv6aGhoaFgGIGBj+eBYaGhQBcgF0GhYaGv52Ghj+dhoaFgAAAAEAAP+cAyADIAAnAERAQSEBBQQUCwICAyYHAgEAA0cABAUEbwAFAwVvAAMCA28AAgACbwYBAAEAbwABAWYBACAeGxoTEQ4MBQQAJwEnBwUUKyUyFhQGIiY1NDY1JQYjIiY0NjMyFyU0JjU0NjIWFAYjIicFFhQHBTYCij5YWHxYAv78KjI+WFg+NiYBBAJYfFhYPjQm/voCAgEGJMhWflhYPgYQBJwgWHxYHpwEEAQ+WFZ+WCCcCCIInB4AAQAA//cDiALDAC8ATUBKLiwqIAIFBQYZAQQFFhICAwQLAQECBEcABgUGbwAFBAVvAAQDBG8AAwIDbwACAQJvAAEAAAFUAAEBAFgAAAEATCQWFiMRIigHBRsrAQYHFRQOAyciJxYzMjcuAScWMzI3LgE9ARYXLgE0Nx4BFyY1NDY3Mhc2NwYHNgOIJTUqVnioYZd9Exh+YjtcEhMPGBg/UiYsJSwZRMBwBWpKTzU9NhU7NAJuNicXSZCGZEACUQJNAUY2AwYNYkICFQIZTmAqU2QFFRRLaAE5DCBAJAYAAAABAAD/sQIXA1IAFAAtQCoAAQAGAUcAAwIDcAUBAQQBAgMBAl4AAAAGWAAGBgwASSMREREREyEHBRsrARUjIgYdATMHIxEjESM1MzU0NjMyAhdXMCKkFo6rjo50YVIDS5MoKGql/lgBqKV6aHIAAAAAAwAA/8wDWQL/AAMADgAqAEpARyIBBQEBRwcJAgEIBQgBBW0GBAIABQBwAAMAAggDAmAACAEFCFQACAgFWAAFCAVMAAApJyEgHBsWFBEQDQwJBgADAAMRCgUVKxMRIxE3FAYrASImNDYyFgERIxE0JiMiBgcGFREjNj0BJzMVIz4DNzIWw7jEOi4BLjg6XDgCi7cuMCMuDQa4AQG4AQsYJjwiX3QB9f3XAimrKTY2UjY2/kD+wwEoO0ImHREc/svfiqUbUBIaIBABfgAAAv/+/7EDFQNMABMAJAArQCgfFwkDAAEBRwABAwADAQBtAAACAwACawACAm4AAwMMA0k0ODkzBAUYKwEGBwYrASImPwEyLwEmNzY7ATIXJRYHARMWBisBIicDATY7ATIBTQWKDxWGDAoFjQEBWgcHBQyGFg8CHQYG/tm8BgsMhhcOvQEoDhaHDAHeCvUZEgv6AZwMCAkaxwkM/ff+qAsSGQFcAg0ZAAAAAwAA/64DWgMOACoAPQBRAGBAXToBAANLPDsDBABJAQcEA0dKAQdEAgEBBQMFAQNtAAMABQMAawAABAUABGsJAQYABQEGBWAIAQQHBwRUCAEEBAdYAAcEB0w/PiwrSEY+UT9RNDMrPSw9HyIaKAoFGCsBMhYXFhUUDgEjIicuAScmNzU2NzYzMhYzMhYXHgEVFAYHFBcWFxYXFjI2AzI+AjQuAg4DBxQXBzcWEzIeAg4DJyInBzcmNTQ+AgImB14DARI+GiBKN1AqKQECJw4PBAwFCwgEBRwmAQMTJh81Bw4sa0eCXjg4XoKOgGA2AUMsh1hoVpxwRAJAdJhYbF/pTDxCcpoBMzIFAgYSLh4jGVI+PDAFMiYMAgYNC0wDDCoFAwUpIx4bBDb+2ThchIyEXDoCNmCASHFcgis6AwNEbqCmoGxIAjVL4mN2Vpp0PgAAAQAAAAEAAHAU6oZfDzz1AAsD6AAAAADXwmAYAAAAANfCYBj/8/+cA+gDUgAAAAgAAgAAAAAAAAABAAADUv9qAAAD6P/z//MD6AABAAAAAAAAAAAAAAAAAAAACgPoAAAD6P//AdH/9AHR//MDIAAAA6AAAAI7AAADWQAAAxH//gNZAAAAAAAAAJAAtADYATYBpgHeAkQCmANAAAAAAQAAAAoAUgADAAAAAAACABQAJABzAAAAcQtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABAAgANQABAAAAAAACAAcAPQABAAAAAAADAAgARAABAAAAAAAEAAgATAABAAAAAAAFAAsAVAABAAAAAAAGAAgAXwABAAAAAAAKACsAZwABAAAAAAALABMAkgADAAEECQAAAGoApQADAAEECQABABABDwADAAEECQACAA4BHwADAAEECQADABABLQADAAEECQAEABABPQADAAEECQAFABYBTQADAAEECQAGABABYwADAAEECQAKAFYBcwADAAEECQALACYByUNvcHlyaWdodCAoQykgMjAxOCBieSBvcmlnaW5hbCBhdXRob3JzIEAgZm9udGVsbG8uY29tZm9udGVsbG9SZWd1bGFyZm9udGVsbG9mb250ZWxsb1ZlcnNpb24gMS4wZm9udGVsbG9HZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEAOAAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AZgBvAG4AdABlAGwAbABvAFIAZQBnAHUAbABhAHIAZgBvAG4AdABlAGwAbABvAGYAbwBuAHQAZQBsAGwAbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAZgBvAG4AdABlAGwAbABvAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoBAgEDAQQBBQEGAQcBCAEJAQoBCwAEbWFpbA1sZWZ0LW9wZW4tYmlnDnJpZ2h0LW9wZW4tYmlnB3NoYXJlLTEHdHdpdHRlcghmYWNlYm9vawhsaW5rZWRpbgR4aW5nCHdoYXRzYXBwAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAABgAGAAYABgDUv9qA1L/arAALCCwAFVYRVkgIEu4AA5RS7AGU1pYsDQbsChZYGYgilVYsAIlYbkIAAgAY2MjYhshIbAAWbAAQyNEsgABAENgQi2wASywIGBmLbACLCBkILDAULAEJlqyKAEKQ0VjRVJbWCEjIRuKWCCwUFBYIbBAWRsgsDhQWCGwOFlZILEBCkNFY0VhZLAoUFghsQEKQ0VjRSCwMFBYIbAwWRsgsMBQWCBmIIqKYSCwClBYYBsgsCBQWCGwCmAbILA2UFghsDZgG2BZWVkbsAErWVkjsABQWGVZWS2wAywgRSCwBCVhZCCwBUNQWLAFI0KwBiNCGyEhWbABYC2wBCwjISMhIGSxBWJCILAGI0KxAQpDRWOxAQpDsAFgRWOwAyohILAGQyCKIIqwASuxMAUlsAQmUVhgUBthUllYI1khILBAU1iwASsbIbBAWSOwAFBYZVktsAUssAdDK7IAAgBDYEItsAYssAcjQiMgsAAjQmGwAmJmsAFjsAFgsAUqLbAHLCAgRSCwC0NjuAQAYiCwAFBYsEBgWWawAWNgRLABYC2wCCyyBwsAQ0VCKiGyAAEAQ2BCLbAJLLAAQyNEsgABAENgQi2wCiwgIEUgsAErI7AAQ7AEJWAgRYojYSBkILAgUFghsAAbsDBQWLAgG7BAWVkjsABQWGVZsAMlI2FERLABYC2wCywgIEUgsAErI7AAQ7AEJWAgRYojYSBksCRQWLAAG7BAWSOwAFBYZVmwAyUjYUREsAFgLbAMLCCwACNCsgsKA0VYIRsjIVkqIS2wDSyxAgJFsGRhRC2wDiywAWAgILAMQ0qwAFBYILAMI0JZsA1DSrAAUlggsA0jQlktsA8sILAQYmawAWMguAQAY4ojYbAOQ2AgimAgsA4jQiMtsBAsS1RYsQRkRFkksA1lI3gtsBEsS1FYS1NYsQRkRFkbIVkksBNlI3gtsBIssQAPQ1VYsQ8PQ7ABYUKwDytZsABDsAIlQrEMAiVCsQ0CJUKwARYjILADJVBYsQEAQ2CwBCVCioogiiNhsA4qISOwAWEgiiNhsA4qIRuxAQBDYLACJUKwAiVhsA4qIVmwDENHsA1DR2CwAmIgsABQWLBAYFlmsAFjILALQ2O4BABiILAAUFiwQGBZZrABY2CxAAATI0SwAUOwAD6yAQEBQ2BCLbATLACxAAJFVFiwDyNCIEWwCyNCsAojsAFgQiBgsAFhtRAQAQAOAEJCimCxEgYrsHIrGyJZLbAULLEAEystsBUssQETKy2wFiyxAhMrLbAXLLEDEystsBgssQQTKy2wGSyxBRMrLbAaLLEGEystsBsssQcTKy2wHCyxCBMrLbAdLLEJEystsB4sALANK7EAAkVUWLAPI0IgRbALI0KwCiOwAWBCIGCwAWG1EBABAA4AQkKKYLESBiuwcisbIlktsB8ssQAeKy2wICyxAR4rLbAhLLECHistsCIssQMeKy2wIyyxBB4rLbAkLLEFHistsCUssQYeKy2wJiyxBx4rLbAnLLEIHistsCgssQkeKy2wKSwgPLABYC2wKiwgYLAQYCBDI7ABYEOwAiVhsAFgsCkqIS2wKyywKiuwKiotsCwsICBHICCwC0NjuAQAYiCwAFBYsEBgWWawAWNgI2E4IyCKVVggRyAgsAtDY7gEAGIgsABQWLBAYFlmsAFjYCNhOBshWS2wLSwAsQACRVRYsAEWsCwqsAEVMBsiWS2wLiwAsA0rsQACRVRYsAEWsCwqsAEVMBsiWS2wLywgNbABYC2wMCwAsAFFY7gEAGIgsABQWLBAYFlmsAFjsAErsAtDY7gEAGIgsABQWLBAYFlmsAFjsAErsAAWtAAAAAAARD4jOLEvARUqLbAxLCA8IEcgsAtDY7gEAGIgsABQWLBAYFlmsAFjYLAAQ2E4LbAyLC4XPC2wMywgPCBHILALQ2O4BABiILAAUFiwQGBZZrABY2CwAENhsAFDYzgtsDQssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIzAQEVFCotsDUssAAWsAQlsAQlRyNHI2GwCUMrZYouIyAgPIo4LbA2LLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbACYiCwAFBYsEBgWWawAWNhIyAgsAQmI0ZhOBsjsAhDRrACJbAIQ0cjRyNhYCCwBEOwAmIgsABQWLBAYFlmsAFjYCMgsAErI7AEQ2CwASuwBSVhsAUlsAJiILAAUFiwQGBZZrABY7AEJmEgsAQlYGQjsAMlYGRQWCEbIyFZIyAgsAQmI0ZhOFktsDcssAAWICAgsAUmIC5HI0cjYSM8OC2wOCywABYgsAgjQiAgIEYjR7ABKyNhOC2wOSywABawAyWwAiVHI0cjYbAAVFguIDwjIRuwAiWwAiVHI0cjYSCwBSWwBCVHI0cjYbAGJbAFJUmwAiVhuQgACABjYyMgWGIbIVljuAQAYiCwAFBYsEBgWWawAWNgIy4jICA8ijgjIVktsDossAAWILAIQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbA7LCMgLkawAiVGUlggPFkusSsBFCstsDwsIyAuRrACJUZQWCA8WS6xKwEUKy2wPSwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xKwEUKy2wPiywNSsjIC5GsAIlRlJYIDxZLrErARQrLbA/LLA2K4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrErARQrsARDLrArKy2wQCywABawBCWwBCYgLkcjRyNhsAlDKyMgPCAuIzixKwEUKy2wQSyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbErARQrLbBCLLA1Ky6xKwEUKy2wQyywNishIyAgPLAEI0IjOLErARQrsARDLrArKy2wRCywABUgR7AAI0KyAAEBFRQTLrAxKi2wRSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=') format('truetype'); } /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ @@ -17,7 +17,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'fontello'; - src: url('../font/fontello.svg?62858018#fontello') format('svg'); + src: url('../font/fontello.svg?39099312#fontello') format('svg'); } } */ @@ -55,9 +55,9 @@ .icon-mail:before { content: '\e800'; } /* '' */ .icon-left-open-big:before { content: '\e801'; } /* '' */ .icon-right-open-big:before { content: '\e802'; } /* '' */ +.icon-share-1:before { content: '\e803'; } /* '' */ .icon-twitter:before { content: '\f099'; } /* '' */ .icon-facebook:before { content: '\f09a'; } /* '' */ .icon-linkedin:before { content: '\f0e1'; } /* '' */ .icon-xing:before { content: '\f168'; } /* '' */ -.icon-pinterest:before { content: '\f231'; } /* '' */ .icon-whatsapp:before { content: '\f232'; } /* '' */ \ No newline at end of file diff --git a/themes/typemill/css/fontello/css/fontello-ie7-codes.css b/themes/typemill/css/fontello/css/fontello-ie7-codes.css index c9ebaa5..f92a81e 100644 --- a/themes/typemill/css/fontello/css/fontello-ie7-codes.css +++ b/themes/typemill/css/fontello/css/fontello-ie7-codes.css @@ -2,9 +2,9 @@ .icon-mail { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-left-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-right-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-share-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-facebook { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-linkedin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-xing { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } -.icon-pinterest { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-whatsapp { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } \ No newline at end of file diff --git a/themes/typemill/css/fontello/css/fontello-ie7.css b/themes/typemill/css/fontello/css/fontello-ie7.css index 74a1b83..340f9b7 100644 --- a/themes/typemill/css/fontello/css/fontello-ie7.css +++ b/themes/typemill/css/fontello/css/fontello-ie7.css @@ -13,9 +13,9 @@ .icon-mail { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-left-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-right-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-share-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-facebook { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-linkedin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-xing { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } -.icon-pinterest { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-whatsapp { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } \ No newline at end of file diff --git a/themes/typemill/css/fontello/css/fontello.css b/themes/typemill/css/fontello/css/fontello.css index 533be4b..eff9080 100644 --- a/themes/typemill/css/fontello/css/fontello.css +++ b/themes/typemill/css/fontello/css/fontello.css @@ -1,11 +1,11 @@ @font-face { font-family: 'fontello'; - src: url('../font/fontello.eot?12750869'); - src: url('../font/fontello.eot?12750869#iefix') format('embedded-opentype'), - url('../font/fontello.woff2?12750869') format('woff2'), - url('../font/fontello.woff?12750869') format('woff'), - url('../font/fontello.ttf?12750869') format('truetype'), - url('../font/fontello.svg?12750869#fontello') format('svg'); + src: url('../font/fontello.eot?45966989'); + src: url('../font/fontello.eot?45966989#iefix') format('embedded-opentype'), + url('../font/fontello.woff2?45966989') format('woff2'), + url('../font/fontello.woff?45966989') format('woff'), + url('../font/fontello.ttf?45966989') format('truetype'), + url('../font/fontello.svg?45966989#fontello') format('svg'); font-weight: normal; font-style: normal; } @@ -15,7 +15,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'fontello'; - src: url('../font/fontello.svg?12750869#fontello') format('svg'); + src: url('../font/fontello.svg?45966989#fontello') format('svg'); } } */ @@ -58,9 +58,9 @@ .icon-mail:before { content: '\e800'; } /* '' */ .icon-left-open-big:before { content: '\e801'; } /* '' */ .icon-right-open-big:before { content: '\e802'; } /* '' */ +.icon-share-1:before { content: '\e803'; } /* '' */ .icon-twitter:before { content: '\f099'; } /* '' */ .icon-facebook:before { content: '\f09a'; } /* '' */ .icon-linkedin:before { content: '\f0e1'; } /* '' */ .icon-xing:before { content: '\f168'; } /* '' */ -.icon-pinterest:before { content: '\f231'; } /* '' */ .icon-whatsapp:before { content: '\f232'; } /* '' */ \ No newline at end of file diff --git a/themes/typemill/css/fontello/demo.html b/themes/typemill/css/fontello/demo.html index 2401c14..8e10709 100644 --- a/themes/typemill/css/fontello/demo.html +++ b/themes/typemill/css/fontello/demo.html @@ -229,11 +229,11 @@ body { } @font-face { font-family: 'fontello'; - src: url('./font/fontello.eot?21630130'); - src: url('./font/fontello.eot?21630130#iefix') format('embedded-opentype'), - url('./font/fontello.woff?21630130') format('woff'), - url('./font/fontello.ttf?21630130') format('truetype'), - url('./font/fontello.svg?21630130#fontello') format('svg'); + src: url('./font/fontello.eot?98470540'); + src: url('./font/fontello.eot?98470540#iefix') format('embedded-opentype'), + url('./font/fontello.woff?98470540') format('woff'), + url('./font/fontello.ttf?98470540') format('truetype'), + url('./font/fontello.svg?98470540#fontello') format('svg'); font-weight: normal; font-style: normal; } @@ -301,13 +301,13 @@ body {
icon-mail0xe800
icon-left-open-big0xe801
icon-right-open-big0xe802
-
icon-twitter0xf099
+
icon-share-10xe803
+
icon-twitter0xf099
icon-facebook0xf09a
icon-linkedin0xf0e1
icon-xing0xf168
-
icon-pinterest0xf231
icon-whatsapp0xf232
diff --git a/themes/typemill/css/fontello/font/fontello.eot b/themes/typemill/css/fontello/font/fontello.eot index 04bead9..18edf84 100644 Binary files a/themes/typemill/css/fontello/font/fontello.eot and b/themes/typemill/css/fontello/font/fontello.eot differ diff --git a/themes/typemill/css/fontello/font/fontello.svg b/themes/typemill/css/fontello/font/fontello.svg index 9f80bf2..80087a8 100644 --- a/themes/typemill/css/fontello/font/fontello.svg +++ b/themes/typemill/css/fontello/font/fontello.svg @@ -12,6 +12,8 @@ + + @@ -20,8 +22,6 @@ - - diff --git a/themes/typemill/css/fontello/font/fontello.ttf b/themes/typemill/css/fontello/font/fontello.ttf index 50ce829..10c3383 100644 Binary files a/themes/typemill/css/fontello/font/fontello.ttf and b/themes/typemill/css/fontello/font/fontello.ttf differ diff --git a/themes/typemill/css/fontello/font/fontello.woff b/themes/typemill/css/fontello/font/fontello.woff index 7b66e6d..717781a 100644 Binary files a/themes/typemill/css/fontello/font/fontello.woff and b/themes/typemill/css/fontello/font/fontello.woff differ diff --git a/themes/typemill/css/fontello/font/fontello.woff2 b/themes/typemill/css/fontello/font/fontello.woff2 index f96707f..c324099 100644 Binary files a/themes/typemill/css/fontello/font/fontello.woff2 and b/themes/typemill/css/fontello/font/fontello.woff2 differ diff --git a/themes/typemill/css/style.css b/themes/typemill/css/style.css index 4b11db1..9bade67 100644 --- a/themes/typemill/css/style.css +++ b/themes/typemill/css/style.css @@ -2,7 +2,7 @@ * TRANSITIONS * **********************/ -a, a:link, a:visited, a:focus, a:hover, a:active, button, .button{ +a, a:link, a:visited, a:focus, a:hover, a:active, button, .button, .share-link, .open .share-link{ -webkit-transition: all 0.2s ease; -moz-transition: all 0.2s ease; -o-transition: all 0.2s ease; @@ -587,54 +587,40 @@ li.h2, li.h3, li.h4, li.h5, li.h6 } /************************ -* GitHub Ribbon * +* Share Buttons * ************************/ -.share-box{ - width:100%; - display: inline-block; - vertical-align:top; - box-sizing:border-box; - background: transparent; - overflow:hidden; - height: auto; -} -.share-button{ - display:inline-block; - height: auto; - text-align: center; -} -.grid-1 .share-button{ width: 100%; } -.grid-2 .share-button{ width: 49.7%; } -.grid-3 .share-button{ width: 33.2%; } -.grid-4 .share-button{ width: 24.9%; } -.grid-5 .share-button{ width: 19.9%; } -.grid-6 .share-button{ width: 16.5%; } -.share-button a,.share-button a:link,.share-button a:visited{ - display: block; +.meta-info{ + position: relative; + display: inline-block; width: 100%; - background: transparent; +} +.meta-info .share-icons{ + position: absolute; + right: 0px; + display: inline-block; + background: #fff; +} +.meta-info .share-link, .meta-info .share-button{ + display: inline-block; + text-align: right; +} +.meta-info .hide .share-link{ + width: 0px; + opacity: 1; +} +.meta-info .hide .share-link a{ color: #fff; - font-size: 1.3em; - line-height: 1.7em; } -.share-button.twitter a{ - background:#C8E0EF; +.meta-info .show .share-link{ + width: 30px; + opacity: 1; } -.share-button.twitter a:hover{ - background:#1DA1F2; +.share-link{ + transition: width 0.25s ease out; } -.share-button.facebook a{ - background:#CDD3DE; -} -.share-button.facebook a:hover{ - background: #3B5998; -} -.share-button.xing a{ - background: #E8EBC3; -} -.share-button.xing a:hover{ - background: #cfdc00; +.share-icons .share-button{ + cursor: pointer; } /* for test only */ @@ -736,6 +722,9 @@ img.myClass{ width: 19%; text-align: right; } + .meta-info .show .share-link{ + width: 40px; + } } @media only screen and (min-width: 980px) { header p{ diff --git a/themes/typemill/page.twig b/themes/typemill/page.twig index 232eef4..9ee14c8 100644 --- a/themes/typemill/page.twig +++ b/themes/typemill/page.twig @@ -5,17 +5,50 @@ {% endif %}

{{ title }}

- + +{% if (settings.themes.typemill.socialPosition.top or settings.themes.typemill.modifiedPosition.top or settings.themes.typemill.authorPosition.top) %} +
+ {% if settings.themes.typemill.authorPosition.top %} + {{ settings.themes.typemill.authorIntro }}: {{ settings.author }} + {% endif %} + {% if settings.themes.typemill.modifiedPosition.top %} + {{ settings.themes.typemill.modifiedText }}: {{ item.modified|date(settings.themes.typemill.modifiedFormat) }} + {% endif %} + {% if settings.themes.typemill.socialPosition.top %} + + {% endif %} +
+{% endif %} + {{ content }} -{% if settings.themes.typemill.modified %} -

{{ settings.themes.typemill.modifiedText }}: {{ item.modified|date(settings.themes.typemill.modifiedFormat) }}

+ +{% if (settings.themes.typemill.socialPosition.bottom or settings.themes.typemill.modifiedPosition.bottom or settings.themes.typemill.authorPosition.bottom) %} +
+ {% if settings.themes.typemill.authorPosition.bottom %} + {{ settings.themes.typemill.authorIntro }}: {{ settings.author }} + {% endif %} + {% if settings.themes.typemill.modifiedPosition.bottom %} + {{ settings.themes.typemill.modifiedText }}: {{ item.modified|date(settings.themes.typemill.modifiedFormat) }} + {% endif %} + {% if settings.themes.typemill.socialPosition.bottom %} + + {% endif %} +
{% endif %} -{% if settings.themes.typemill.social %} - {% include 'partials/share.twig' with {'share' : settings.themes.typemill.socialbuttons } %} -{% endif %} - + + {% if item.prevItem or item.nextItem %}
@@ -27,4 +60,4 @@ {% endif %}
-{% endif %} +{% endif %} \ No newline at end of file diff --git a/themes/typemill/partials/footer.twig b/themes/typemill/partials/footer.twig index 79f4a3a..9ccc247 100644 --- a/themes/typemill/partials/footer.twig +++ b/themes/typemill/partials/footer.twig @@ -5,4 +5,4 @@ {% set copyrightYears = settings.year ~ ' - ' ~ nowYear %} {% endif %} -

{{ settings.copyright }} by {{ settings.author }}, {{ copyrightYears }}. All Rights Reserved. Built with TYPEMILL.

\ No newline at end of file +

{{ settings.copyright }} by {{ settings.author }}, {{ copyrightYears }}. All Rights Reserved. Built with TYPEMILL.

\ No newline at end of file diff --git a/themes/typemill/partials/layout.twig b/themes/typemill/partials/layout.twig index 9fe0a57..e7ab893 100644 --- a/themes/typemill/partials/layout.twig +++ b/themes/typemill/partials/layout.twig @@ -73,6 +73,40 @@ } }); } + + var shareButton = document.getElementById("share-button"); + var shareIcons = document.getElementById("share-icons"); + + if(shareButton) + { + shareButton.addEventListener("click", function(){ + if(shareIcons.className == "share-icons show") + { + shareIcons.className = "share-icons hide"; + } + else + { + shareIcons.className = "share-icons show"; + } + }); + } + + var shareButtonBottom = document.getElementById("share-button-bottom"); + var shareIconsBottom = document.getElementById("share-icons-bottom"); + + if(shareButtonBottom) + { + shareButtonBottom.addEventListener("click", function(){ + if(shareIconsBottom.className == "share-icons show") + { + shareIconsBottom.className = "share-icons hide"; + } + else + { + shareIconsBottom.className = "share-icons show"; + } + }); + } {{ assets.renderJS() }} diff --git a/themes/typemill/partials/share.twig b/themes/typemill/partials/share.twig index 3ce8c32..2cad42a 100644 --- a/themes/typemill/partials/share.twig +++ b/themes/typemill/partials/share.twig @@ -1,11 +1,15 @@ - {% endif %}{% if share.linkedin %}{% endif %}{% if share.whatsapp %}{% endif %}{% if share.mail %} +{% endif %} \ No newline at end of file diff --git a/themes/typemill/typemill.yaml b/themes/typemill/typemill.yaml index 613283f..06ffb99 100644 --- a/themes/typemill/typemill.yaml +++ b/themes/typemill/typemill.yaml @@ -1,8 +1,8 @@ name: Typemill Theme -version: 1.0.9 +version: 1.1.0 description: The standard theme for Typemill. Responsive, minimal and without any dependencies. It uses the system fonts Calibri and Helvetica. No JavaScript is used. author: Sebastian Schürmanns -homepage: http://typemill.net +homepage: https://typemill.net licence: MIT settings: @@ -11,6 +11,7 @@ settings: modified: true modifiedText: 'Last updated' modifiedFormat: 'd.m.Y' + authorIntro: 'Author' forms: fields: @@ -27,14 +28,32 @@ forms: placeholder: Add Label for Start-Button required: true + fieldset0: + type: fieldset + legend: Author + fields: + authorPosition: + type: checkboxlist + label: Position of Author + options: + top: Top + bottom: Bottom + + authorIntro: + type: text + label: Author Intro + placeholder: Author + fieldset1: type: fieldset legend: Last Modified fields: - modified: - type: checkbox - label: Activate Last Modified - description: Show last modified date at the end of each page? + modifiedPosition: + type: checkboxlist + label: Position of Modified Text + options: + top: Top + bottom: Bottom modifiedText: type: text @@ -53,15 +72,20 @@ forms: type: fieldset legend: Share fields: - social: - type: checkbox - label: Activate Share - description: Activate Share Buttons On Page? + socialPosition: + type: checkboxlist + label: Position of Share-Buttons + options: + top: Top + bottom: Bottom - socialbuttons: + socialButtons: type: checkboxlist label: Select Share Buttons options: facebook: Facebook twitter: Twitter - xing: Xing \ No newline at end of file + xing: Xing + linkedin: Linkedin + whatsapp: WhatsApp + mail: Mail \ No newline at end of file