jekyll-theme-eva 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/app/index.js ADDED
@@ -0,0 +1,20 @@
1
+ import * as $ from 'jquery';
2
+ import { getmail } from './mail';
3
+ import { initnav } from './nav';
4
+
5
+
6
+ $(document).ready(() => {
7
+ const protectedEmailLinks = $('[data-fill-email]');
8
+ const email = window.emailc || '';
9
+ if (
10
+ email.indexOf(':') >= 0 &&
11
+ email.replace(':', '').length > 0 &&
12
+ protectedEmailLinks.length > 0
13
+ ) {
14
+ const ct = email.split(':')[0];
15
+ const key = email.split(':')[1];
16
+ protectedEmailLinks.attr('href', 'mailto:' + getmail(ct, key) + '');
17
+ }
18
+
19
+ initnav('body', 'a[href^="/"]');
20
+ });
data/app/mail.js ADDED
@@ -0,0 +1,18 @@
1
+ // Simple anti-spam
2
+
3
+ export const getmail = (ciphertext, key) => {
4
+ const shift = ciphertext.length;
5
+ var result = "";
6
+ for (var i = 0; i < ciphertext.length; i++) {
7
+ var ltr;
8
+ if (key.indexOf(ciphertext.charAt(i)) == -1) {
9
+ ltr = ciphertext.charAt(i);
10
+ result += (ltr);
11
+ }
12
+ else {
13
+ ltr = (key.indexOf(ciphertext.charAt(i)) - shift + key.length) % key.length;
14
+ result += (key.charAt(ltr));
15
+ }
16
+ }
17
+ return result;
18
+ };
data/app/nav.js ADDED
@@ -0,0 +1,13 @@
1
+ import * as $ from 'jquery';
2
+
3
+
4
+ export const initnav = (containerSelector, navLinkSelector) => {
5
+ $(navLinkSelector).on('click', (e) => {
6
+ // On navigation link click,
7
+ // adds .out class to container
8
+ // and .selected class to triggering link
9
+ const $triggeredBy = $(e.target).closest(navLinkSelector);
10
+ $triggeredBy.addClass('selected');
11
+ $(containerSelector).addClass('out');
12
+ });
13
+ };
@@ -0,0 +1,4 @@
1
+ ---
2
+ ---
3
+
4
+ @import 'jekyll-theme-eva';
Binary file
Binary file
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ var $buo_show = function() {
3
+ var op=window._buorgres;
4
+ var bb=$bu_getBrowser();
5
+ var burl=op.burl || ("http"+(/MSIE/i.test(navigator.userAgent)?"":"s")+"://outdatedbrowser.com/");
6
+ if (!op.url) {
7
+ op.url= burl+((op.l && (op.l+"/"))||"")+""+(op.test?"":"");
8
+ }
9
+ function busprintf() {
10
+ var args=arguments;
11
+ var data = args[ 0 ];
12
+ for( var k=1; k<args.length; ++k ) {
13
+ data = data.replace( /%s/, args[ k ] );
14
+ }
15
+ return data;
16
+ }
17
+
18
+
19
+ var t={},ta;
20
+ t.en={msg:'Your web browser ({brow_name}) is out of date.',msgmore:'Update your browser for more security, speed and the best experience on this site.',bupdate:'Update browser',bignore:'Ignore',remind:'You will be reminded in a week.',bnever:'Never show again'}
21
+ //t.af='';
22
+ t.ar='<b> متصفح الويب ({brow_name}) الخاص بك قديم.</b> قُم بتحديث متصفحك للحصول على مزيدٍ من الحماية والراحة وتجربة أفضل على هذا الموقع. <a{up_but}> تحديث المتصفح</a> <a{ignore_but}> تجاهل</a>';
23
+ t.bg='<b>Вашият браузър ({brow_name}) не е актуализиран.</b> Актуализирайте го за повече сигурност, удобство и най-добро изживяване на сайта. <a{up_but}>Актуализирайте браузъра</a> <a{ignore_but}>Игнорирайте</a>';
24
+ t.ca='El teu navegador (%s) està <b>desactualitzat.</b> Té <b>vulnerabilitats</b> conegudes i pot <b>no mostrar totes les característiques</b> d\'aquest i altres llocs web. <a%s>Aprèn a actualitzar el navegador</a>';
25
+ t.cs='<b>Váš webový prohlížeč ({brow_name}) je zastaralý .</b> Pro větší bezpečnost, pohodlí a optimální zobrazení této stránky si prosím svůj prohlížeč aktualizujte. <a{up_but}>Aktualizovat prohlížeč</a> <a{ignore_but}>Ignorovat</a>';
26
+ t.da='<b>Din netbrowser ({brow_name}) er forældet.</b> Opdater din browser for mere sikkerhed, komfort og den bedste oplevelse på denne side. <a{up_but}>Opdater browser</a> <a{ignore_but}>Ignorer</a>';
27
+ t.de={msg:'Ihr Browser ({brow_name}) ist veraltet.',msgmore:'Aktualisieren Sie Ihren Browser für mehr Sicherheit, Komfort und die einwandfreie Nutzung dieser Webseite.',bupdate:'Browser aktualisieren',bignore:'Ignorieren'}//,mr:'Sie werden in einer Woche errinnert',bn:'Nicht mehr benachrichtigen'}
28
+ t.el='<b>Η έκδοση του προγράμματος περιήγησής σας ({brow_name}) είναι παλιά.</b> Ενημερώστε τον περιηγητή σας για περισσότερη ασφάλεια, άνεση και την βέλτιστη εμπειρία σε αυτή την ιστοσελίδα. <a{up_but}>Αναβάθμιση περιηγητή</a> <a{ignore_but}>Παράβλεψη</a>';
29
+ t.es='<b>Tu navegador web ({brow_name}) no está actualizado.</b> Actualiza tu navegador para tener más seguridad y comodidad y tener la mejor experiencia en este sitio. <a{up_but}>Actualizar navegador</a> <a{ignore_but}>Ignorar</a>';
30
+ //t.et='';
31
+ t.fa = 'مرورگر شما (%s) <b>از رده خارج شده</b> می باشد. این مرورگر دارای <b>مشکلات امنیتی شناخته شده</b> می باشد و <b>نمی تواند تمامی ویژگی های این</b> وب سایت و دیگر وب سایت ها را به خوبی نمایش دهد. <a%s>در خصوص گرفتن راهنمایی درخصوص نحوه ی به روز رسانی مرورگر خود اینجا کلیک کنید.</a>';
32
+ t.fi='<b>Selaimesi ({brow_name}) on vanhentunut.</b> Päivitä selaimesi parantaaksesi turvallisuutta, mukavuutta ja käyttökokemusta tällä sivustolla. <a{up_but}>Päivitä selain</a> <a{ignore_but}>Ohita</a>';
33
+ t.fr='<b>Votre navigateur web ({brow_name}) n\'est pas à jour.</b> Mettez votre navigateur à jour pour plus de sécurité, de confort et une expérience optimale sur ce site. <a{up_but}>Mettre le navigateur à jour</a> <a{ignore_but}>Ignorer</a>';
34
+ t.gl='Tá an líonléitheoir agat (%s) <b>as dáta.</b> Tá <b>laigeachtaí slándála</b> a bhfuil ar eolas ann agus b\'fhéidir <b>nach taispeánfaidh sé gach gné</b> den suíomh gréasáin seo ná cinn eile. <a%s>Foghlaim conas do líonléitheoir a nuashonrú</a>';
35
+ t.he='<b>הדפדפן שלך ({brow_name}) אינו מעודכן.</b> עדכן את הדפדפן שלך בשביל אבטחה טובה יותר, נוחיות והחוויה הטובה ביותר באתר הזה.<a{up_but}>עדכן דפדפן</a> <a{ignore_but}>התעלם</a>';
36
+ t.hi='यह वेबसाइट आपको याद दिलाना चाहती हैं: आपका ब्राउज़र (%s) <b> आउट ऑफ़ डेट </b> हैं। <a%s> और अधिक सुरक्षा, आराम और इस साइट पर सबसे अच्छा अनुभव करने लिए आपके ब्राउज़र को अपडेट करें</a>।';
37
+ //t.hr='';
38
+ t.hu='<b>Az ön ({brow_name}) böngészője elavult.</b> Frissítse a böngészőjét több biztonság, kényelem és a legjobb felhasználói élmény érdekében ezen az oldalon. <a{up_but}>Böngésző frissítése</a> <a{ignore_but}>Mellőzés</a>';
39
+ t.id='<b>Browser Anda ({brow_name}) sudah usang.</b> Perbarui browser Anda untuk pengalaman terbaik yang lebih aman dan nyaman di situs ini. <a{up_but}>Perbarui Browser</a> <a{ignore_but}>Abaikan</a>';
40
+ t.it='<b>Il suo browser web ({brow_name}) non è aggiornato.</b> Aggiorni il suo browser per ottenere maggiore sicurezza, comfort, e la migliore esperienza possibile su questo sito. <a{up_but}>Aggiorna il browser</a> <a{ignore_but}>Ignora</a>';
41
+ t.ja='<b>お使いのウェブブラウザ ({brow_name}) は古すぎます</b>。安全性と快適さを向上させ、このサイトで最高の体験が出来るよう、お使いのブラウザをアップデートしましょう。<a{up_but}>ブラウザをアップデートする</a> <a{ignore_but}>無視する</a>';
42
+ t.ko='<b>현재 당신의 웹브라우저 ({brow_name})은(는) 구 버전입니다.</b> 본 사이트에서 향상된 보안 및 편안함과 최상의 경험을 위해 브라우저를 업데이트해 주세요. <a{up_but}>브라우저 업데이트</a> <a{ignore_but}>무시하기</a>';
43
+ //t.lt='';
44
+ t.lv='Jūsu pārlūkprogramma (%s) ir <b>novecojusi.</b> Tai ir zināmas <b>drošības problēmas</b>, un tā var attēlot šo un citas tīmekļa lapas <b>nekorekti.</b> <a%s>Uzzini, kā atjaunot savu pārlūkprogrammu</a>';
45
+ t.ms='<b>Pelayar web ({brow_name}) anda sudah usang.</b> Kemas kini pelayar anda untuk memperoleh lebih keselamatan, keselesaan dan pengalaman terbaik di tapak ini. <a{up_but}>Kemas kini pelayar</a> <a{ignore_but}>Abaikan</a>';
46
+ t.nl='<b>Uw webbrowser ({brow_name}) is verouderd.</b> Update uw browser voor meer veiligheid, comfort en de beste ervaring op deze site. <a{up_but}>Update browser</a> <a{ignore_but}>Negeer</a>';
47
+ t.no='<b>Nettleseren din,({brow_name}), er utdatert.</b> Oppdater nettleseren din for mer sikkerhet, komfort og den beste opplevelsen på denne siden. <a{up_but}>Oppdater nettleser</a> <a{ignore_but}>Ignorer</a>';
48
+ t.pl='<b>Twoja przeglądarka ({brow_name}) jest nieaktualna.</b> Zaktualizuj swoją przeglądarkę, by zapewnić większe bezpieczeństwo i wygodę oraz lepsze wrażenia w tej witrynie. <a{up_but}>Zaktualizuj</a> <a{ignore_but}>Zignoruj</a>';
49
+ t.pt='<b>Seu navegador de internet ({brow_name}) está desatualizado.</b> Atualize seu navegador para obter mais segurança, conforto e a melhor experiência neste site. <a{up_but}>Atualizar navegador</a> <a{ignore_but}>Ignorar</a>';
50
+ t.ro='<b>Browserul dumneavoastră ({brow_name}) nu este actualizat.</b> Actualizați-vă browserul pentru securitate sporită, confort și cea mai bună experiență pe site. <a{up_but}>Actualizează browser</a><a{ignore_but}>Ignoră</a>';
51
+ t.ru='<b>Ваш веб-браузер ({brow_name}) устарел.</b> Обновите свой браузер, чтобы сделать пребывание на этом сайте более безопасным, комфортным и продуктивным. <a{up_but}>Обновить браузер</a> <a{ignore_but}>Игнорировать</a>';
52
+ t.sk='<b> Váš internetový prehliadač ({brow_name}) je zastaraný.</b> Aktualizujte váš prehliadač pre vyššiu bezpečnosť, komfort a najlepší zážitok na tejto stránke. <a{up_but}>Aktualizovať prehliadač</a><a{ignore_but}>Ignorovať</a>';
53
+ t.sl='Vaš brskalnik (%s) je <b>zastarel.</b> Ima več <b>varnostnih pomankljivosti</b> in morda <b>ne bo pravilno prikazal</b> te ali drugih strani. <a%s>Poglejte kako lahko posodobite svoj brskalnik</a>';
54
+ t.sq='<b>Shfletuesi juaj ({brow_name}) është i vjetruar.</b> Përditësojeni shfletuesin tuaj për më tepër siguri, rehati dhe për funksionimin më të mirë në këtë sajt. <a{up_but}>Përditësojeni shfletuesin</a> <a{ignore_but}>Shpërfille</a>';
55
+ //sr-cs"]='';
56
+ t.sr='Vaš pretraživač (%s) je <b>zastareo.</b> Ima poznate <b>sigurnosne probleme</b> i najverovatnije <b>neće prikazati sve funkcionalnisti</b> ovog i drugih sajtova. <a%s>Nauči više o nadogradnji svog pretraživača</a>';
57
+ t.sv='<b>Din webbläsare ({brow_name}) är föråldrad.</b> Uppdatera din webbläsare för bättre säkerhet, bekvämlighet och den bästa upplevelsen på den här sidan. <a{up_but}>Uppdatera webbläsare</a> <a{ignore_but}>Avstå</a>';
58
+ t.th='<b>เว็บเบราว์เซอร์ ({brow_name}) ของคุณตกรุ่นแล้ว </b> อัพเดทเบราว์เซอร์ของคุณเพื่อเพิ่มความปลอดภัย ความสะดวกและประสบการณ์การใช้งานที่ดีที่สุดในเว็บไซท์นี้ <a{up_but}>อัพเดทเบราว์เซอร์</a> <a{ignore_but}>ไม่สนใจ</a>';
59
+ t.tr='<b>({brow_name}) internet tarayıcınız güncel değil.</b> Bu sitede daha fazla güvenlik, konfor ve en iyi deneyim için tarayıcınızı güncelleyin. <a{up_but}>Tarayıcıyı güncelle</a> <a{ignore_but}>Yoksay</a>';
60
+ t.uk='<b>Ваш браузер ({brow_name}) є застарілим.</b> Оновіть його заради безпечнішого, зручнішого та приємнішого перегляду цього та інших сайтів. <a{up_but}>Оновити</a> <a{ignore_but}>Скасувати</a>';
61
+ t.vi='<b>Trình duyệt web của bạn ({brow_name}) đã cũ.</b> Hãy nâng cấp trình duyệt của bạn để được an toàn và thuận lợi hơn đồng thời có được trải nghiệm tốt nhất với trang này';
62
+ t.zh='<b>您的网页浏览器 ({brow_name}) 已过期。</b>更新您的浏览器,以提高安全性和舒适性,并获得访问本网站的最佳体验。<a{up_but}>更新浏览器</a> <a{ignore_but}>忽略</a>';
63
+ t["zh-tw"]='<b>您的網頁瀏覽器 ({brow_name}) 已經過時。</b> 請更新您的瀏覽器,以在此網站取得更安全、舒適的最佳瀏覽體驗。<a{up_but}>更新瀏覽器</a><a{ignore_but}>忽略</a>';
64
+ t=ta=op["text_"+op.ll]||op.text||t[op.llfull]||t[op.ll]||t.en;
65
+ if (ta.msg)
66
+ t='<b class="buorg-mainmsg">'+t.msg+'</b> <span class="buorg-moremsg">'+t.msgmore+'</span> <span class="buorg-buttons"><a{up_but}>'+t.bupdate+'</a> <a{ignore_but}>'+t.bignore+'</a></span>'
67
+
68
+ var tar="";
69
+ if (op.newwindow)
70
+ tar=' target="_blank" rel="noopener"';
71
+
72
+ var div = op.div = document.createElement("div");
73
+ div.id="buorg";
74
+ div.className="buorg";
75
+
76
+ var style='<style>.buorg-icon {width: 22px; height: 16px; vertical-align: middle; position: relative; top: -0.05em; display: inline-block; background: no-repeat 0px center;}</style>';
77
+ var style2='<style>.buorg {position:absolute;position:fixed;z-index:111111; width:100%; top:0px; left:0px; border-bottom:1px solid #A29330; text-align:center; cursor:pointer; color:#000; background-color: #fff8ea; font: 18px Calibri,Helvetica,Arial,sans-serif; box-shadow: 0 0 5px rgba(0,0,0,0.2);}'
78
+ +'.buorg-pad { padding: 9px; line-height: 1.7em; }'
79
+ +'.buorg-buttons { display: block; text-align: center; }'
80
+ +'.buorg div a { color: #fff; text-decoration: none; box-shadow: 0 0 2px rgba(0,0,0,0.4); padding: 1px 10px; border-radius: 4px; font-weight: normal; background: #5ab400; white-space: nowrap; margin: 0 2px; display: inline-block;}'
81
+ +'#buorgig { background-color: #edbc68; position: relative;}'
82
+ +'@media only screen and (max-width: 700px){.buorg div { padding:5px 12px 5px 9px; line-height: 1.3em;}}'
83
+ +'@keyframes buorgfly {from {opacity:0;transform:translateY(-50px)} to {opacity:1;transform:translateY(0px)}}'
84
+ +'.buorg { animation: 1s ease-out 0s buorgfly} .buorg-fadeout {transition: visibility 0s 8.5s, opacity 8s ease-out .5s;}</style>';
85
+
86
+ if (!ta.msg && t.indexOf && t.indexOf("{brow_name}")===-1) {//legacy style
87
+ t=busprintf(t,bb.t,' id="buorgul" href="'+op.url+'"'+tar);
88
+
89
+ style += '<style>.buorg {position:absolute;position:fixed;z-index:111111; width:100%; top:0px; left:0px; border-bottom:1px solid #A29330; text-align:left; cursor:pointer; color:#000; font: 13px Arial,sans-serif;color:#000;}'
90
+ +'.buorg div { padding:5px 36px 5px 40px; }'
91
+ +'.buorg>div>a,.buorg>div>a:visited{color:#E25600; text-decoration: underline;}'
92
+ +'#buorgclose{position:absolute;right:6px;top:0px;height:20px;width:12px;font:18px bold;padding:0;}'
93
+ +'#buorga{display:block;}'
94
+ +'@media only screen and (max-width: 700px){.buorg div { padding:5px 15px 5px 9px; }}</style>';
95
+ div.innerHTML= '<div>'+t+'<div id="buorgclose"><a id="buorga">&times;</a></div></div>'+style;
96
+ op.addmargin=true;
97
+ }
98
+ else {
99
+ if (op.style === "bottom") {
100
+ style2 += '<style>.buorg {bottom:0; top:auto; border-top:1px solid #A29330; } @keyframes buorgfly {from {opacity:0;transform:translateY(50px)} to {opacity:1;transform:translateY(0px)}}</style>';
101
+ }
102
+ else if (op.style === "corner") {
103
+ style2 += '<style> .buorg { text-align: left; width:300px; top:50px; right:50px; left:auto; border:1px solid #A29330; } .buorg div b {display:block;} .buorg-buttons { display: block; } .buorg div a {margin: 4px 2px;} .buorg-icon {display: none;}</style>';
104
+ }
105
+ else {
106
+ op.addmargin=true;
107
+ }
108
+ t = t.replace("{brow_name}", bb.t).replace("{up_but}", ' id="buorgul" href="' + op.url + '"' + tar).replace("{ignore_but}", ' id="buorgig"');
109
+ div.innerHTML = '<div class="buorg-pad"><span class="buorg-icon"> </span>' + t + '</div>';
110
+ }
111
+
112
+ op.text=t;
113
+ if (op.container) {
114
+ op.container.appendChild(div);
115
+ op.addmargin=false;
116
+ }
117
+ else
118
+ document.body.insertBefore(div,document.body.firstChild);
119
+
120
+ div.onclick=function(){
121
+ if (op.newwindow)
122
+ window.open(op.url,"_blank");
123
+ else
124
+ window.location.href=op.url;
125
+ op.setCookie(op.reminderClosed);
126
+ op.onclick(op);
127
+ return false;
128
+ };
129
+ try {
130
+ document.getElementById("buorgul").onclick = function(e) {
131
+ e = e || window.event;
132
+ if (e.stopPropagation) e.stopPropagation();
133
+ else e.cancelBubble = true;
134
+ op.div.style.display = "none";
135
+ hm.style.marginTop = op.bodymt;
136
+ op.onclick(op);
137
+ return true;
138
+ };
139
+ }
140
+ catch(e) {}
141
+
142
+ if (op.addmargin && op.shift_page_down!==false) {
143
+ var hm=document.getElementsByTagName("html")[0]||document.body;
144
+ op.bodymt = hm.style.marginTop;
145
+ hm.style.marginTop = (div.clientHeight)+"px";
146
+ }
147
+ (document.getElementById("buorga")||document.getElementById("buorgig")).onclick = function(e) {
148
+ e = e || window.event;
149
+ if (e.stopPropagation) e.stopPropagation();
150
+ else e.cancelBubble = true;
151
+ op.onclose(op);
152
+ if (op.addmargin && op.shift_page_down!==false)
153
+ hm.style.marginTop = op.bodymt;
154
+ op.setCookie(op.reminderClosed);
155
+ if(!op.no_permanent_hide && ta.bnever && op.reminderClosed==24*7) {
156
+ op.div.innerHTML='<div><span class="buorg-moremsg">'+ta.remind+'</span> <span class="buorg-buttons"><a id="buorgpermanent" href="javascript: void 0;" target="_blank">'+ta.bnever+'</a></span></div>' + style+style2;
157
+ div.onclick=null;
158
+ div.className="buorg buorg-fadeout";
159
+ document.getElementById("buorgpermanent").onclick = function(e) {
160
+ op.setCookie(24*365);
161
+ op.div.style.display = "none";
162
+ }
163
+ op.div.style.opacity=0;
164
+ op.div.style.visibility="hidden";
165
+ return false;
166
+ }
167
+ op.div.style.display = "none";
168
+ return false;
169
+ }
170
+
171
+ if (op.noclose) {
172
+ var el=(document.getElementById("buorga")||document.getElementById("buorgig"));
173
+ el.parentNode.removeChild(el);
174
+ }
175
+ op.onshow(op);
176
+
177
+ if (op.test && !op.dont_show_debuginfo) {
178
+ var e=document.createElement("script");
179
+ e.src = op.domain+"/update.test.js";
180
+ document.body.appendChild(e);
181
+ }
182
+
183
+ };
184
+
185
+ $buo_show();
@@ -0,0 +1,75 @@
1
+ "use strict";var $bu_=new function(){var s=this;this.vsakt={e:16,i:14,f:59,o:52,o_a:45.1,s:11.1,c:66,y:"18.2",v:1.14,uc:11.5,samsung:6.4,ios:11.3};this.vsinsecure_below={i:11,e:13,c:62,f:56,y:17.1,s:"10.1.2",ios:"9.3.5",v:"1.12",uc:"11.3",samsung:"5.0",o_a:40,o:45};this.vsdefault={e:-3,i:11,f:-3,o:-3,o_a:-3,s:-1,c:-3,a:535,y:18.1,v:1.12,uc:11.4,samsung:6.1,ios:9};this.names={i:'Internet Explorer',e:"Edge",f:'Firefox',o:'Opera',o_a:'Opera',s:'Safari',c:"Chrome",a:"Android Browser",y:"Yandex Browser",v:"Vivaldi",uc:"UC Browser",samsung:"Samsung Internet",x:"Other",ios:"iOS",silk:"Silk"};this.get_browser=function(ua){var n,ua=(ua||navigator.userAgent).replace("_","."),r={n:"x",v:0,t:"other browser",age_years:undefined,no_os_update:false};function ignore(reason,pattern){if(new RegExp(pattern,"i").test(ua))return reason;return false}
2
+ r.other=ignore("bot","bot|spider|archiver|transcoder|crawl|checker|monitoring|screenshot|python-|php|uptime|validator|fetcher|facebook|slurp|google|yahoo|microsoft|node|mail.ru|github|cloudflare|addthis|thumb|proxy|feed|fetch|favicon|link|http|scrape|seo|page|search console|AOLBuild|Teoma|Gecko Expeditor")||ignore("TV","SMART-TV|SmartTV")||ignore("niche browser","Dorado|Whale|MIDP|k-meleon|wii|Chromium|Puffin|Opera Mini|maxthon|maxton|dolfin|dolphin|seamonkey|opera mini|netfront|moblin|maemo|arora|kazehakase|epiphany|konqueror|rekonq|symbian|webos|PaleMoon|QupZilla|Otter|Midori|qutebrowser")||ignore("mobile without upgrade path or landing page","kindle|tizen|silk|blackberry|bb10|RIM|PlayBook|meego|nokia|ucweb|ZuneWP7|537.85.10");r.mobile=(/iphone|ipod|ipad|android|mobile|phone|ios|iemobile/i.test(ua));var pats=[["CriOS.VV","c",'ios'],["FxiOS.VV","f",'ios'],["Trident.*rv:VV","i",'i'],["Trident.VV","io",'i'],["UCBrowser.VV","uc",'c'],["MSIE.VV","i",'i'],["Edge.VV","e",'e'],["Vivaldi.VV","v",'c'],["Android.*OPR.VV","o_a",'c'],["OPR.VV","o",'c'],["YaBrowser.VV","y",'c'],["SamsungBrowser.VV","samsung",'c'],["Silk.VV","silk",'c'],["Chrome.VV","c",'c'],["Firefox.VV","f",'f'],[" OS.VV.*Safari","ios",'ios'],["Version.VV.*Safari","s",'s'],["Safari.VV","so",'s'],["Opera.*Version.VV","o"],["Opera.VV","o"]];var VV="(\\d+\\.?\\d+\\.?\\d*\\.?\\d*)";for(var i=0;i<pats.length;i++){if(ua.match(new RegExp(pats[i][0].replace("VV",VV),"i"))){r.n=pats[i][1];r.engine=pats[i][2];break;}}
3
+ r.fullv=RegExp.$1;r.v=parseFloat(r.fullv);if(/windows.nt.5.0|windows.nt.4.0|windows.95|windows.98|os x 10.2|os x 10.3|os x 10.4|os x 10.5|os x 10.6|os x 10.7/i.test(ua))
4
+ r.no_os_update=true;if(/iphone|ipod|ipad|ios/i.test(ua)){ua.match(new RegExp("OS."+VV,"i"));r.n="ios";r.fullv=RegExp.$1;r.v=parseFloat(r.fullv);r.engine='ios';var h=Math.max(window.screen.height,window.screen.width);if(!r.v>11.0&&(h<=480||window.devicePixelRatio<2)||r.v<8)
5
+ r.no_os_update=true;}
6
+ if(ua.indexOf('Android')>-1&&r.n==="s"){var v=parseInt((/WebKit\/([0-9]+)/i.exec(ua)||0)[1],10)||2000;if(v<=534){r.n="a";r.fullv=r.v=v;}}
7
+ if(r.n==="so"){r.v=r.fullv=4.0;r.n="s";}
8
+ if(r.n==="io"){r.n="i";if(r.v>6)r.v=11;else if(r.v>5)r.v=10;else if(r.v>4)r.v=9;else if(r.v>3.1)r.v=8;else if(r.v>3)r.v=7;else r.v=9;r.fullv=r.v;}
9
+ r.t=s.names[r.n]+" "+r.v;r.is_supported=r.is_latest=!s.vsakt[r.n]?undefined:s.less(r.fullv,s.vsakt[r.n])<=0;r.vmaj=Math.round(r.v);r.is_insecure=!s.vsinsecure_below[r.n]?undefined:s.less(r.fullv,s.vsinsecure_below[r.n])===1;if((r.n==="f"&&(r.vmaj===52||r.vmaj===60))||(r.n==="i"&&r.vmaj===11)){r.is_supported=true;r.is_insecure=false;if(r.n==="f")
10
+ r.lts=true;}
11
+ if((r.n==="c"||r.n==="f"||r.n==="o")&&s.less(r.fullv,parseFloat(s.vsakt[r.n])-1)<=0)
12
+ r.is_supported=true;if(r.n==="ios"&&r.v>10.3)
13
+ r.is_supported=true;if(r.n==="a"||r.n==="x")
14
+ r.t=s.names[r.n];if(r.n==="e")
15
+ r.t=s.names[r.n]+" "+r.vmaj;var releases_per_year={'f':7,'c':8,'o':8,'i':1,'e':1,'s':1}
16
+ if(releases_per_year[r.n]){r.age_years=Math.round(((s.vsakt[r.n]-r.v)/releases_per_year[r.n])*10)/10||0}
17
+ var engines={e:"Edge.VV",c:"Chrome.VV",f:"Firefox.VV",s:"Version.VV",i:"MSIE.VV","ios":" OS.VV"}
18
+ if(r.engine){ua.match(new RegExp(engines[r.engine].replace("VV",VV),"i"))
19
+ r.engine_version=parseFloat(RegExp.$1)}
20
+ return r;}
21
+ this.semver=function(vstr){if(vstr instanceof Array)
22
+ return vstr
23
+ var x=(vstr+(".0.0.0")).split('.')
24
+ return[parseInt(x[0])||0,parseInt(x[1])||0,parseInt(x[2])||0,parseInt(x[3])||0]}
25
+ this.less=function(v1,v2){v1=s.semver(v1)
26
+ v2=s.semver(v2)
27
+ for(var i=0;;i++){if(i>=v1.length)return i>=v2.length?0:1;if(i>=v2.length)return-1;var diff=v2[i]-v1[i]
28
+ if(diff)return diff>0?1:-1;}}}
29
+ window.$bu_getBrowser=$bu_.get_browser;var $buo=function(op,test){var n=window.navigator,b;op=window._buorgres=op||{};var ll=op.l||(n.languages?n.languages[0]:null)||n.language||n.browserLanguage||n.userLanguage||document.documentElement.getAttribute("lang")||"en";op.llfull=ll.replace("_","-").toLowerCase().substr(0,5);op.ll=op.llfull.substr(0,2);op.domain=op.domain!==undefined?op.domain:(/file:/.test(location.href)?"https:":"")+"//"+document.location.hostname+"";op.apiver=op.api||op.c||-1;op.jsv="3.0.6";var required_min={i:10,f:11,o:21,s:8,c:30}
30
+ var vs=op.notify||op.vs||{};vs.e=vs.e||vs.i;var required=op.required||{};required.e=required.e||required.i;for(b in $bu_.vsdefault){if(vs[b]){if($bu_.less(vs[b],0)>=0)
31
+ required[b]=parseFloat($bu_.vsakt[b])+parseFloat(vs[b])+0.01
32
+ else
33
+ required[b]=parseFloat(vs[b])+0.01}
34
+ if(!required[b])
35
+ required[b]=$bu_.vsdefault[b]
36
+ if($bu_.less(required[b],0)>=0)
37
+ required[b]=$bu_.vsakt[b]+required[b]
38
+ if(required_min[b]&&$bu_.less(required[b],required_min[b])===1)
39
+ required[b]=required_min[b]}
40
+ required.i=required.i||required.e;required.ios=required.ios||required.s;op.required=required;if(op.reminder<0.1||op.reminder===0)
41
+ op.reminder=0;else
42
+ op.reminder=op.reminder||24;op.reminderClosed=op.reminderClosed||(24*7);op.onshow=op.onshow||function(o){};op.onclick=op.onclick||function(o){};op.onclose=op.onclose||function(o){};op.pageurl=op.pageurl||location.hostname||"x";op.newwindow=(op.newwindow!==false);op.test=test||op.test||(location.hash==="#test-bu")||false;
43
+ op.test=test||op.test||location.hash==="#test-bu";op.reasons=[];function check_show(op){var bb=$bu_.get_browser(op.override_ua);op.is_below_required=required[bb.n]&&$bu_.less(bb.fullv,required[bb.n])===1;if(bb.other!==false||bb.lts)
44
+ return false
45
+ if(bb.mobile&&op.mobile===false)
46
+ return false
47
+ if(bb.no_os_update)
48
+ return false
49
+ if(op.is_below_required)
50
+ op.reasons.push("below required")
51
+ if((op.insecure||op.unsecure)&&bb.is_insecure)
52
+ op.reasons.push("insecure")
53
+ if(op.unsupported&&!bb.is_supported)
54
+ op.reasons.push("no vendor support")
55
+ if(op.reasons.length>0)
56
+ return true
57
+ return false}
58
+ op.notified=check_show(op);op.already_shown=document.cookie.indexOf("browserupdateorg=pause")>-1&&op.reminder>0;if(!op.test&&(!op.notified||op.already_shown))
59
+ return;op.setCookie=function(hours){document.cookie='browserupdateorg=pause; expires='+(new Date(new Date().getTime()+3600000*hours)).toGMTString()+'; path=/';};if(op.reminder>0)
60
+ op.setCookie(op.reminder);if(op.nomessage){op.onshow(op);return;}
61
+
62
+ var e=document.createElement("script");e.src="/assets/js/browser-update-show.js";document.body.appendChild(e);
63
+ };
64
+
65
+ $buo({
66
+ notify: {e:-6,f:-4,o:-4,s:-2,c:-4},
67
+ insecure: true,
68
+ api: 5,
69
+ no_permanent_hide: true,
70
+ text:
71
+ "This browser might be a bit old for my site. " +
72
+ "Sorry if things look broken. " +
73
+ "<br>" +
74
+ "(You’re on {brow_name}. <a{ignore_but}>Ignore this</a>)"});
75
+
data/favicon.png ADDED
Binary file
data/favicon.svg ADDED
@@ -0,0 +1,54 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="255.99" height="255.99" viewBox="0 0 1050 1050">
2
+ <metadata><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
3
+ <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 ">
4
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
5
+ <rdf:Description rdf:about=""/>
6
+ </rdf:RDF>
7
+ </x:xmpmeta>
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+ <?xpacket end="w"?></metadata>
30
+ <defs>
31
+ <style>
32
+ .cls-1 {
33
+ fill: #dfeafb;
34
+ }
35
+
36
+ .cls-1, .cls-2, .cls-3 {
37
+ fill-rule: evenodd;
38
+ }
39
+
40
+ .cls-2 {
41
+ fill: #c3d2da;
42
+ }
43
+
44
+ .cls-3 {
45
+ fill: #8fa3bb;
46
+ }
47
+ </style>
48
+ </defs>
49
+ <path id="moon" class="cls-1" d="M360.554,470.372C432.111,526.48,521.424,562,661.353,546.2c67.786-7.656,183.133-32.828,216.969-98.775,27.188-52.989,65.79-142.9,43.389-228.19-13.9-52.92,123.819,115.931,126.859,289.282,2.11,119.662-62.4,310-253.029,418.212C632.481,1019.29,197.806,1036.5,69.1,753.934-25.34,546.6-6.328,377.587,36.333,247.651,69.931,145.321,243.965,7.1,193.078,83.984c-36.85,55.676,3.6,155,21.385,199.916C237.452,341.951,299.786,422.723,360.554,470.372Z"/>
50
+ <path id="legs" class="cls-2" d="M296.963,655.074c0,43.542-6.322,89.983-3.331,133.509s71.788,47.8,56.016,1.234c-16.575-48.939-13.692-100.159-13.692-142.19S296.963,611.533,296.963,655.074Zm474.294,0c0,43.542,6.321,89.983,3.33,133.509s-71.788,47.8-56.015,1.234c16.574-48.939,13.691-100.159,13.691-142.19S771.257,611.533,771.257,655.074Z"/>
51
+ <path id="wool" class="cls-3" d="M224.465,357.682c-92.265,13.954-80.223,144.487,8.788,149.9C156.007,573.033,238.264,654,288.775,619.566c-34.059,74.008,35.293,133.6,93.036,80.253C369.383,769.3,470.3,808.134,506.839,737.425c29.635,68.15,138.089,42.077,160.075-8.928,46.749,65.113,119.987-3.253,96.952-66.931,88.687,35.03,127.773-45.655,94.993-99.666,65.653-20.2,56.684-144.1-3.864-149.559,43.064-54.952-2.067-166.366-61.3-125.43,47.2-51.883-43.7-118.244-85.589-95.348,1.049-98.786-174.581-126.255-182.555-31.253-43.573-45.069-138.581-36.635-142.035,38.854C318.446,148.915,228.864,241.8,256.078,306.369,221.016,294.081,205.053,316.561,224.465,357.682Z"/>
52
+ <path id="head" class="cls-2" d="M467.278,776.742c-18.7-31.053-55.653-85.506-42.527-142.3,22.474-97.235,197.559-97.235,220.033,0,13.126,56.792-23.827,111.245-42.527,142.3C572.031,826.934,497.5,826.934,467.278,776.742ZM414.328,599c-18.81,11.688-44.914,39.765-39.147,81.194,2.243,16.119,38.323-27.569,50.973-49C455.388,581.667,433.139,587.31,414.328,599Zm239.563,0c18.81,11.688,44.914,39.765,39.148,81.194-2.244,16.119-38.324-27.569-50.974-49C612.831,581.667,635.08,587.31,653.891,599Z"/>
53
+ <path id="top_fluff" data-name="top fluff" class="cls-3" d="M439.285,604.953c-6.105,46.992,53.767,42.158,51.551,2.3,5.8,49.406,73.712,37.114,77.941,9.68,13.266,25.265,83.907,30.2,72.082-17.649,22.9,24.153,82.85-36.45,12-64.019-26.128-10.167-48.879-39.422-81.867-24.891-56.775,25.009-127.078-13.687-130.183,24.6C395.27,549.383,366.664,584,394.672,581.176,375.266,616.625,415.871,648.641,439.285,604.953Z"/>
54
+ </svg>
data/favicon@4x.png ADDED
Binary file
data/index.md ADDED
@@ -0,0 +1,3 @@
1
+ ---
2
+ layout: home
3
+ ---
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = "jekyll-theme-eva"
5
+ spec.version = "0.1.0"
6
+ spec.authors = ["Anton Strogonoff"]
7
+ spec.email = ["anton@strogonoff.name"]
8
+
9
+ spec.summary = "Artist’s site theme."
10
+ spec.license = "MIT"
11
+
12
+ spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r!^(assets|_layouts|_includes|_sass|LICENSE|README|app|_plugins|)!i) }
13
+
14
+ spec.add_runtime_dependency "jekyll", "~> 3.8"
15
+ spec.add_runtime_dependency "jekyll-responsive-image", "~> 1.5"
16
+
17
+ spec.add_development_dependency "bundler", "~> 1.16"
18
+ spec.add_development_dependency "rake", "~> 12.0"
19
+ end
data/webpack.config.js ADDED
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ const webpack = require('webpack');
4
+ const path = require('path');
5
+
6
+ module.exports = {
7
+
8
+ entry: './app/index.js',
9
+
10
+ mode: 'production',
11
+
12
+ output: {
13
+ publicPath: '/assets/',
14
+ filename: 'eva.js'
15
+ },
16
+
17
+ module: {
18
+ rules: [
19
+ {
20
+ test: [ /\.vert$/, /\.frag$/ ],
21
+ use: 'raw-loader'
22
+ }
23
+ ]
24
+ },
25
+
26
+ plugins: [
27
+ new webpack.DefinePlugin({
28
+ 'CANVAS_RENDERER': JSON.stringify(true),
29
+ 'WEBGL_RENDERER': JSON.stringify(true)
30
+ })
31
+ ]
32
+
33
+ };