From ddfde3282cf9488371e7b45edd9875e63563d3d6 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Mon, 5 Apr 2021 20:06:54 +0200 Subject: [PATCH 001/167] added separate contact page and added xmpp (closes #48) and threema --- src/_includes/layouts/base.njk | 2 +- src/de/contact.html | 43 ++++++++++++++++++++++++++++++++++ src/de/donate.html | 2 +- src/de/imprint.html | 36 ++++++++++------------------ src/de/privacy.html | 3 ++- src/en/contact.html | 41 ++++++++++++++++++++++++++++++++ src/en/donate.html | 2 +- src/en/imprint.html | 34 ++++++++++----------------- src/img/threema.svg | 1 + src/img/xmpp.svg | 1 + 10 files changed, 117 insertions(+), 48 deletions(-) create mode 100644 src/de/contact.html create mode 100644 src/en/contact.html create mode 100644 src/img/threema.svg create mode 100644 src/img/xmpp.svg diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index fd358e0..31b61d6 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -96,7 +96,7 @@ title: sp-codes diff --git a/src/en/contact.html b/src/en/contact.html new file mode 100644 index 0000000..dd16f0b --- /dev/null +++ b/src/en/contact.html @@ -0,0 +1,41 @@ +--- +layout: base.njk +key: contact +title: Contact +eleventyNavigation: + key: contact + title: Contact + icon: comment-dots + order: 3 +--- +

Contact Information

+

You want to contact me, report a problem, have a question about a service or would like to support me? Please + send me your message in any of the following ways. I am looking forward to receive your message.

+
+ +
diff --git a/src/en/donate.html b/src/en/donate.html index 1d727b3..63041fd 100644 --- a/src/en/donate.html +++ b/src/en/donate.html @@ -6,7 +6,7 @@ eleventyNavigation: key: donate title: Donate icon: hand-holding-heart - order: 3 + order: 4 ---

Donate

diff --git a/src/en/imprint.html b/src/en/imprint.html index 2d722a4..9b4d755 100644 --- a/src/en/imprint.html +++ b/src/en/imprint.html @@ -11,25 +11,17 @@ title: sp-codes Deutschland

-

Contact Information

-

You want to contact me, report a problem, have a question about a service or would like to support me? Please - send me your message in any of the following ways. I am looking forward to receive your message.

- +

Contact

+

+ E-Mail-Address: mail@sp-codes.de
+ More contact options: https://sp-codes.de/{{locale}}/contact
+

+
+
+

Domains

+
diff --git a/src/img/threema.svg b/src/img/threema.svg new file mode 100644 index 0000000..7b89b35 --- /dev/null +++ b/src/img/threema.svg @@ -0,0 +1 @@ +Threema icon diff --git a/src/img/xmpp.svg b/src/img/xmpp.svg new file mode 100644 index 0000000..5a0b67c --- /dev/null +++ b/src/img/xmpp.svg @@ -0,0 +1 @@ +XMPP icon From 4448b13580a28a63f964679ba87578003e8212ca Mon Sep 17 00:00:00 2001 From: samuel-p Date: Mon, 5 Apr 2021 21:46:34 +0200 Subject: [PATCH 002/167] minor bug fix in translation urls added more heading icons --- .eleventy.js | 3 +++ src/_includes/layouts/base.njk | 17 +++-------------- src/de/contact.html | 2 +- src/de/imprint.html | 2 +- src/de/privacy.html | 2 +- src/en/contact.html | 2 +- src/en/imprint.html | 2 +- src/en/privacy.html | 6 ++---- 8 files changed, 13 insertions(+), 23 deletions(-) diff --git a/.eleventy.js b/.eleventy.js index 9a02e4b..df43924 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -11,6 +11,9 @@ module.exports = function(eleventyConfig) { "node_modules/@fortawesome/fontawesome-free/webfonts/": "font", "node_modules/flag-icon-css/flags/4x3/(de|us)*": "flags" }); + eleventyConfig.addShortcode("translatedUrl", function(currentLocale, newLocale) { + return this.page.url.replace(new RegExp(`\/${currentLocale}\/`), `/${newLocale}/`); + }); return { dir: { diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index 31b61d6..98618b1 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -43,14 +43,8 @@ title: sp-codes
{% for language in site.languages %} - {% set translatedUrl = "/" + language.code + "/" %} - {% for item in collections.all %} - {% if item.data.key == key and item.data.locale == language.code and not item.data.hidden %} - {% set translatedUrl = item.url %} - {% endif %} - {% endfor%} @@ -74,20 +68,15 @@ title: sp-codes
{% for language in site.languages %} - {% set translatedUrl = "/" + language.code + "/" %} - {% for item in collections.all %} - {% if item.data.key == key and item.data.locale == language.code and not item.data.hidden %} - {% set translatedUrl = item.url %} - {% endif %} - {% endfor%} {% endfor %}
+

{{url}}

{{ content | safe }} diff --git a/src/de/contact.html b/src/de/contact.html index b79223a..2d31e59 100644 --- a/src/de/contact.html +++ b/src/de/contact.html @@ -8,7 +8,7 @@ eleventyNavigation: icon: comment-dots order: 3 --- -

Kontaktmöglichkeiten

+

Kontaktmöglichkeiten

Du möchtest mit mir in Kontakt treten, mir einen Fehler mitteilen, hast eine Frage zu einem Dienst oder möchtest mich unterstützen? Schick mir gerne deine Nachricht auf einem der folgenden Wege. Ich freue mich von dir zu hören.

diff --git a/src/de/imprint.html b/src/de/imprint.html index 647cea9..a2fc900 100644 --- a/src/de/imprint.html +++ b/src/de/imprint.html @@ -2,7 +2,7 @@ layout: base.njk title: Impressum --- -

Impressum

+

Impressum

Angaben gemäß § 5 TMG:

Samuel Philipp
diff --git a/src/de/privacy.html b/src/de/privacy.html index 336d9c7..008d443 100644 --- a/src/de/privacy.html +++ b/src/de/privacy.html @@ -2,7 +2,7 @@ layout: base.njk title: Datenschutzerklärung --- -

Datenschutzerklärung

+

Datenschutzerklärung

Verantwortlicher

diff --git a/src/en/contact.html b/src/en/contact.html index dd16f0b..22a4f6c 100644 --- a/src/en/contact.html +++ b/src/en/contact.html @@ -8,7 +8,7 @@ eleventyNavigation: icon: comment-dots order: 3 --- -

Contact Information

+

Contact Information

You want to contact me, report a problem, have a question about a service or would like to support me? Please send me your message in any of the following ways. I am looking forward to receive your message.

diff --git a/src/en/imprint.html b/src/en/imprint.html index 9b4d755..3e0e9e5 100644 --- a/src/en/imprint.html +++ b/src/en/imprint.html @@ -2,7 +2,7 @@ layout: base.njk title: sp-codes --- -

Imprint

+

Imprint

Information as per § 5 TMG:

Samuel Philipp
diff --git a/src/en/privacy.html b/src/en/privacy.html index 439cb13..d540d21 100644 --- a/src/en/privacy.html +++ b/src/en/privacy.html @@ -1,8 +1,6 @@ --- layout: base.njk -title: sp-codes +title: Privacy --- - -

Privacy

+

Privacy

Sorry, this document is only available in German so far. Read it here.

- From 3aadfeeaf982383cd2c57e208de344410195eb76 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 6 Apr 2021 12:41:01 +0200 Subject: [PATCH 003/167] updated contact links --- src/de/donate.html | 2 +- src/en/donate.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/de/donate.html b/src/de/donate.html index 151b8d8..4ac4214 100644 --- a/src/de/donate.html +++ b/src/de/donate.html @@ -24,7 +24,7 @@ eleventyNavigation:

Banküberweisung

-
Wenn Du mir etwas überweisen willst, schreib mir einfach eine kurze Nachricht. +
Wenn Du mir etwas überweisen willst, schreib mir einfach eine kurze Nachricht. Ich schicke dir dann schnellstmöglich meine Bankverbindung zu. Ganz besonders freue ich mich auch über einen Dauerauftrag.
diff --git a/src/en/donate.html b/src/en/donate.html index 63041fd..40bb010 100644 --- a/src/en/donate.html +++ b/src/en/donate.html @@ -23,7 +23,7 @@ eleventyNavigation:

Bank transfer

-
If you want to transfer some money to me, just write me a short message. I +
If you want to transfer some money to me, just write me a short message. I will then send you my bank details as soon as possible. I am especially happy about a standing order.
Bank transfer {{ strings.supporters[locale] }} Date: Sat, 10 Apr 2021 01:09:45 +0200 Subject: [PATCH 004/167] updated logo --- src/_includes/layouts/base.njk | 2 +- src/_includes/layouts/home.njk | 6 ++++-- src/img/samuel.png | Bin 86203 -> 0 bytes src/img/sp-codes.ico | Bin 0 -> 11121 bytes src/img/sp-codes.png | Bin 0 -> 22849 bytes src/img/sp-codes.svg | 1 + src/scss/main.scss | 16 +++++++++------- 7 files changed, 15 insertions(+), 10 deletions(-) delete mode 100644 src/img/samuel.png create mode 100644 src/img/sp-codes.ico create mode 100644 src/img/sp-codes.png create mode 100644 src/img/sp-codes.svg diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index 98618b1..6de20f9 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -31,7 +31,7 @@ title: sp-codes - + diff --git a/src/_includes/layouts/home.njk b/src/_includes/layouts/home.njk index 246a92a..fee4d7d 100644 --- a/src/_includes/layouts/home.njk +++ b/src/_includes/layouts/home.njk @@ -1,9 +1,11 @@ --- layout: base.njk --- -
+
- +
diff --git a/src/img/samuel.png b/src/img/samuel.png deleted file mode 100644 index 45d5f76f2ae1150bd25377b39c6e3b92813a75cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86203 zcmYhi1zc2L)CD>)gc2f3cSv_g#~>+6OE*ZDbTc5LNGlBjBO)Q)T}pT7z#!cXL(IUt z{=e^g@4=7X9WHm6d(PQ+@3q!m=d-4|G9exn9tZ>?e5s1K=XY1d}}{XbD-Ro)Tlp$@8bSEhn>2A{HI8m$`>ZZ zC=!kvH!TSk%zv-6^HexM|8xAp^b^Dm{QmEfB+UQ2R2wh!zqkDVFU$@6Fu_I4u6>U9 zxzy|nB?4^>rn-@nk>z9Ms*FP;rSNbeUvls1hI3?deD>$U@l$vUHp@;Oo{{lJ|-6m-oX!S3%cIEx!7xPUsD>WlCP~T?bx!FzEBb9CZy1K~i)p@v@t_4|=zGX#5wYy-HTd_WvkSZ_O#X~TGmsaP2UjTB+SHN+K{pSNc0E*)iO+BZa5O%{=6qg;TF2vdMdoQ}O>k zhy6`g!M^wI)MqjtqYr0WqhL^mFos^q*r?FacJNQPc5L-;ARI!g&T!CJsj=w!{`{m) zuEN6$VqiA^Th|wI@lvM`To7%v0UdOpu3jOXko?z|(gkkj7E|nrn5$n%iT~XlbzT*) z08Pp}=R1?zOU+#e$ zOyWofUcQL}B32bcGfzc}Kk3`I7_XfPIo#8~J6XP=?rSe*>poyv9GN*`KNAobe@aJJ zCIe$q^yMg`0G8o!g0@|~y!FxuFUov#2$Ct%L%lm{_i@q zjGwIaYPI;epZZC0G;jK!h1w2>_Nkn}zsrXa$?)?{sgH*f39_tjs-5`PyMcFpF65p{ zn70OacXf3YPMd$pZT^si4?L93AMWmM-Do7d3bjvGyB}Ia--i=bVP6&%3`NU=2&lT^ zQhD%6c%8XhBJeOi5iJ%F>@RftTsX~Eb<3JcSe)7VK$*@~%kSHq$loD?n=Y)VrRa!; zvm{gRZuZLCcB8qp^SFU*g0_1p`Wbn+l({*Q75zgw9`hI$68u}9sB$UTh&|-y1fM)D zaAk;c&7e1~<9sKq-mU+M?Jm7w*Okk;ef~SClMhG8Ym{fG4G)$5`&X&F-G7K=OSmzC zEQS3qudtHxnSG0+m(4y!%HCJddcR4!M@m4mldpNSyRJ&#zRZ8na^F_2`cQ}c5gpb* zl0b;tA{m7Y4Z9w91yU*?iGxTdzoK2pZY1V)y5Qf{?r1zU&Hs67&k-;nW`VO2KqA5o z<+<`b2oLP9$A=b zGN*3j?wM7mgfR+O_UQ-W!0jEh* zU){P{*N+}ym<9A3psL?uEYyN|&26LGO#`u+R%Uo?wffQ%m%M=aw4eS(8hpKx>ZqLi zKM{9+#IRHo3}g|WG6%bCC-$dKvzUA>9SlJjwhQrbIOq8-r+DwS z9~ZO0CciL;PIlk<9N89qh^3}(f9^Cxz}I%gB;mCU`+ui7FjLTGK;hxTha3*U{-^xV z);;jDHCj}bklXM#C>ZY5TW*XibsTzS{QC7!G7$F4Maw@_z6j-+0HYRH3BJ8#0n)(9 z$q7d^G)T%Am6*6xr@$}cKM@IDF$HO9?cWb)HaA~^A?Ta^dA`;>E>Jp zJZ!o7^_TTsX2@N7GF1xs4b^kUw{G)QEUl>1!MrLg5{|0)e~$r^F`2>UR=d~ElhdtH zjsE`r2G6ZWAdB5MIFp&u&3?n77#*MJn`V0ovN31M$zNSP!H^CB<%BruQM~Q$eEIWP za6r$)hxxs|u)-~IW{gxo*9eRgzhnlosZ1RTe%`kP01GBDGVj!SFOm_^7N%8K;goI0vh9aI$ zI>RjZLKica9ex9Shek@*@Qu!J|~IuBd|kEF+9 zC^tPX><$q`y9o1^O*B$YCx4Es>F*yo4Otf{W=_1R>VigTDIy9`zz)mfm6wgK`*W3E z*QYj*iN78^`DWF9Ppn4N5*%zG572U3uj@fc)^v>n>(pc}eU+<$egVzKJ zJk)`{=5Kvgu{3{1X(bfC?f=@BE#1s141g6640i2x8kT3zR!%nt*)?I1fsU7{kJ3a4 zx5pSG!?rPg|E8c~0G%HUa-t(X-TLN`@q~6q4@bMf&POCW$jvF*{6iZb9>Ou0n1Z~& zR3H=3*IANa^I%fH#WE9tA5`k;g4hR(^~kqFX&mc7{hYnbT@9L&PROND@xFHyfTEOvZswfcAW4d9^+EU0(4GyI2-L-vls4{5q~)Z(AsAGo8vW_Z&+m?|`h z;%lea8qFS_*r5`saZ2pS_C8_aI-sU@q6s{GNyaVam~`Eg!b7>-*%P~e)Tgr2OHbLS zd2@a_;BshUv8QLz^}x*4-+jH0SmW*6y#H^;B}+{jzh($KST!<8I3-)-TYr9H6$DZE zU>}9_n|l#(D{^~V*&B+D|IH_ipXQ!MybB?F`yF=1onsSqnyR#u7yoU;RU=DEYfGn-k1QYw6l#ON)t z++-(7)DPwPc9vIFyZ)a)EB%CIxgl)HFq!JEB$w(4C<(ec+JeJ&r{|B{T5W1}Hd14K z&iDK8azx9kqh&kDpiE>m6x4$yr1frWE59S~kNu>CLr{JTZNaw>rw2(nROemTWh1RN zwr20me<%@lniGb~Tt7P>hF4*)pL9&sDaEGcAPz2%+isUzhYv6zllk+RGZYW_%tsbh zPbf|>(6`8c7?4*p*t{|dLz5SHIF38OL}Qd+CdVPvvH~O*69jf@qI>2447l~12ErJxkD&7%?b(A3t}#&fO)ATu`1;H3SVeu;q`fS5^N&zLqx z6}c$D(uL$qn%qPKsWyog-iI__8!3nUhg57*y>7M7N^F~ z-*5PzL7uYxekN*2m&lrKiWyBNz8BZv_4zx^>1fcU;m4-F!Gj4F%{$bpKR`d&xKa~< z^kb{{LKBs9c5wt?MKypUs2*Mo@`dY_s-jQJ+XT1f=_TGGUJN3BcsZOH3J3sWEzR-1 z7>%8475tD{w+kRVG|InH5L^l=H9VX0CaCd6qtyw zbYKW9ESE8!uSRzu5z!%D&_iiAI#1$buYC%xvZp1oS-xKarS`?8E+Ixq%(#!q?NC|I zxxzUgrLbz?GMYL+Ou|JDFahL)10W=3(MW_jhk$^R>s-R9MPm?`2iDC{sP9Y> z0L+IZIwz5cYP-N!cH9ODHuT$N;X~>3i2nZ9n?7GrC;&%U+~1)&^)>%dA-$mb({v%b zcUQ-M_gA9+2s>?#tnEz;8Dl+p(zShewk7xFOV7zrdRFwp>``jkgMma`5;|8Y->wH^ zo#8!=Z0Z#j@@)qJopfy1)B18hRX>kP`^G8mp1Bm8BgC?W*x237wghR<1G6Q%tFZl? z{tTrH>3(7C=KNQ-nt7U_KsiYgbz4r_zROpmRL!Ec_qss`UOXW$W>SRELkXy4zA0{= z;V<1Dh4Y&GXuPSmO(#uqU!$<=vp`+KJz*i}Z>iMKqZFQQpXox3n{DQ?mCn^8`HvOb z!J@=CviEQkmv?`EM{pWLD*qK`FHuc^X6%UJUIVpT$Z*l2?lKvGw)s1`imkY40MY!~ zZd3ybf3d#Men@)NTT2EN|I>;Eu&cHele{sv;n(!@YloMkk#jASKv@+=J0V>+bH|G5 zY=_c_{ZH3Bfm|xp#G?ECA!pOnitoh=h=zu)wKSmFYlv(>kXBB4aDtz`c6{40A zIcknEX2bLIUO$v>Gj3y)$PqqgxNU~cR?Dmkl?P$*6dp*Hnks{CLyuR2ki?VQC>`&x&3X|37J=Vxs7UPqmc~h8BZL03N zILK$5RE26wv~BlMd@_pNeL>VB1lKaSgx5x{tzg zZ+F-unw7(1o|Ib9%>)3ntI5`sUSXW7xZI+B0~P9R@VC?LV(K=qwq>G4{MK%NA_vmO z3zZ)ey zW;G80E#m_qW=$LD{dZfz8-O}8*?iRI^rAmg76Cm&7HSQVc4+LHHeI;|Y>lpwKLnjW zgZ!8@cvE_17uus5eb9VV^+F;nt-)^OZBb;$<6qQH~ z9ies${iQ2(sGm>p>I*>^wxA2utB31|YG1dH!W5D4o_O5Wixj_hzBbUo^1*#`9PMDq z)0^Pk*>VljCNC{AjBY?RDG}q5g#rp1yP%+US_~8=(6DIUjMEgL`)viE)T+%DdN|o2 zP-r1{A~OqWBJNlnJrfV53o{tzH5R!iN#r){3JL+$i1hh%I|>k>r18ngNDFHkH0XU| z`xUL^>#tY9C)wg2p}9YTQx~U;Uyrl|Vpz;%Su9+P%EH?3Q*MnJsl+|zG9 z-?rU=v)sgHojfKD{H9YiY`XR;l`k;goaf{M(&Kn9Jv8QGZ?*tc=fU!rmhjE5b#>~Q za=UHUc685OT%4`{O@BYZxZ8cm8r%oe1S&lG8sq~KBU&K_d*TpMW4?SzP}mE~!w>;S zVrnk@taF)pTd8*2tjYK>NCoSg_@5{=2$C+?F_eDDbmg*4KqK*N6|(Jd<`?R{7lZIU zeB1pUkKCsKpzRp(vLl*A7_c`*+L2LFzf*XON!}+g&AtROvq^!Z@8Jqih!s^+d4u2I z2j2yWh<|kE&lAM{6p&N{s+b$B%mQ(K@_2G`8t5k$enrTl`>SguwsiY9HiPfsSk2z0 z3oCuLQVc~{2>ONt5I~*s5eGvthL2VPU*eCE7R6G_bJef)QvQaKUhLX%-+kY9YrlUK zL(O(K(+-6K>2;yTA#ov@!{bvDy+S4R7qr3$fYcXUnNAkiu{+LJQ@70l;IY4C-PU?)H&_w(PZ8B#V86Vl=<&Y4}ciFwYJ^1{~TwHnkrVf>15M;5=WhaJ= zr)U*SQp^D9Msmxd&nJ_l1APWbDx78wYQ&)2p0;DD=1r4Q_9{U))#j^Y4Su27s|(4D zq#tD28pt5?EqNoRjlVI;uC0kdJf1H(Fj7lFp*W9(7kq9-3LSOV4Dw$SG>-DH!0ffO zcy}hFLFz3`D<>8EAJDg1`l`HU!c~mtTN+uMxwM=8U|tH5uerIoZx&!yKG$U& zA?vmoZJ)B)gPBrrGCSkn?Q#p^4Rv8Y?7m*`0JdhQFj))D#0&UTXM|7oc?p2?Bz+79 zU1qp7cP3V^B|#F0kmf_s8SRUG+d4GD6CpE}#9=jH`TYe9 zpS)z_a$K4FCMR|A3p2Mb;;@c|RS;VRs{VxuHjvypSo+RVi@4CBl8JU}k{i%P@IqIc zr{V1(=zxC-#$saKH?ruY!V;#Q)%Dqbj=#>c`bRn#_kDIq#$py`4IklTh#=%4C>VB7 zb>U<_7Eqcl6u>RA}>Rt%=)YasQp+Ic_0F>J6atRKxuir}x^kByp)E zroQFKIwnbzg$3V2n3bcDP^9Tt*XK4+w1+5Kqd2h~K;811h197}9c_BY8(rlU7{j{+mOv!oro{ z^Cq~T!HQhC!M7+`w9Dz+6Li}(tDlo{y(=vi@kbh0c$w)L~&v6UiO|_X;2h*+a_~p_2z;PbLvC64bhke+$wW_ zqsdK}{C%6w=$CNCpNo|2Y<8j`n4v?3ABys`Cm&pTUs zabMkjvM0p;Z;{S$)Kacuk-6sz$o|meB!k?n0vDYCEeEKRbC}1*z_@qm>mOAQ*n!}) zn)T}l#rXXJc{U2Gb;|OG=c`S;$I;vMJv6cYy1vzZd${J<3$D>VTU$);DL`!DK#KFQ zfAB(hTBVM39kk2<@$%_f3|y}iGx)xBu1*=W&{Z4jMo+)4U%_C1?QzTKadFFS%!tpF+Rg!stDzz$L+ObD}5Lo`Q6FYbp3 zf!U}K^)i!v(Pi4dDR5qM5oAGsA{&?De*v{P2*}NIwNA50Vq#(r*1jlGO27C_wQ;r$ z+hGIF2sH(-}i-!z_s#Lc2HBx3yyjc8mu_a^#{TA##LQL zw&m?~ROu)GBoa%*K9^!m#&eI`zqqCk`Aa;On!K4?*DIokG@ZMDQ6%KP*_qZi|EU;F z_7{j+%o$1I1TOLfj;HTVpWQC5c~BVFElJ_AeoG(5a^3CaOj<~_jW9O?Z4z*RW=|C03ff{lqI-*&cG;aHHmJlD3tq6ISs#etHmv$rp?~!yFzMn$ z+!uoGQ2sPheicvJ2m4cr&JXJMllJEo3GNqaDTj)vhnwGpU0?er+TpnLO4GyO{989U zo({cG9N5Lgndb&(soC%X9VJJ8N3CObs0Tb@abpm6y3t*?Q{?%SP4JEE-Q4G=cUvX6 zzsdQk*hBpFr2}fd9Ht5t_?77MAyNDK<${9`?oq!Z=1*jT74qamTjLM$-hCa-u@fV% zf`?p%(T=955s+X(p0d8yJi&-c1{iK_(fvr4WEz0eZ2G?{syq)^Bdiwp+S3yuK6^T( zOkWx4S&$*&Q$l%rr^eHigFN%a-FD!3?#2WWr5(VG#J2w$F@MvF96GA-6Dag`^S2UV z_?oqXM2K>++=y=Q{4s3`r4l6@rIuZ8Za{+of+Gsz|`|%$o_C(NSfH$|@ z3>b>OoGs&*GX!wrJn6}TlM)KEgW;n;mU8ok&oNA#=d!fkfRXjCMJ@A6V0WCPcwE?N zh8t)G|H~6kG;5NJ|IZ5$gi7YpCj;*|7G!1Dxic@8obxb*;|BLa?SGN9j?z-Q0TSLbJ;pDB#vbAfUxWJdiwwLr3f_B(~n! zQhaZ@>~rk%Bkp2dYXgvvPvbzcVJx^f0C(AMkZkOH$7&Jit5V$g47jX7s^LJZNRQZU z_M2qyd$wyQ$LS}@c9Kb7JvP#wt3#F0H?Ju*oMPfAI)8S5{G=0sN4ov-V_V)T7%&lB z$qo#r^3}&QTq5;oB@FTqS}PIe=X+PT5#V!$&?0|JcyP8CLx+Y2_8C%|`uP+5?rr1) z;kjW|S4&IhPZSR_7|a{X0+B1^g3DCI_U6o1R~SA6JRG0Hl>7C*xv!y`M~5>vUw=GV z3+D@+D$A1g7|b@MDF~>Q`-#Pl4LN~E0`Tx(3yx$cTtljJYzDQYcCsbn%zn84PZPVk z^31tDlOvMlKKwNpSTwO!oE}09iGP)NOA|VC-FRG%V_)Z$(@O_NU)vpf3}zWCAZ`yt z?|E2AxiWmecc$gG-z~%})O&H*-})eqDg#BqBwxvAIdtA5hzDh^T$h4UGe-b6T!jm; zZYc`|{~Ylc0^k=M9VX9&;ob z32XB1W|G&C`cenCvKk7xD{oV!{yL|Bx5pO}6CifAO3u#8%Bnt`4isq=-V2`J8RHu>b)^@Lbny*Wv&CC94PzI3GyH?~!gB1h zq5n|LpB6VnTb<|T5HXJLOv#YfE}7#zwOi!#ag2PL{durNuo1U`jyl)ZH5{v)xZs>{ zr`e|aOUfWtJdU7u~sZlA{vYC@T=3= z8w&4Nt{a2Zmpf!(g@x=AK(9izR^wm23W`4l6h(f&V+&X0!ONG^p1(9-8b$YXgl$so zyl~F}p;4Wuj-g6{4muL?mUYW5fH^1)+OyKR=_M{Rw*NB~Zp!YJEvga2TVHi~MRjjk z4}bC`jXs<2Gk5*LLA|_?RDlL=@Nrlz{M@a{)zp67=P#!Hx=N*5dD{&qA+^YBK;r?P zwbs?G(KLY{4jzW>cZc?lUN!!!f&09nhf5oZ55H5Vmj7Z^wT zm^LzD>PCFZWJVy5?6x9|T(z`@cv7FFW%SQeBu-uR5RO%kQn~aebaK}N*U_PZOWfWyYE4~owBAwCU2b1&7Tlxi`!!A8Wa@_jP?=H$)tEZK4=s5aS$N*2Sb z>t_U%6GHUvU?6jLuCdM$n^UvHewH~tG+*6Y-!en^Wm0V15b|=7TUYaASnIn^+WM{- zN^WvBQuJxQKHcmArkb?1ocq)(2kVyjP7^)upbQWR| zqF19P&17EN3F4-^qq5y+8KSDU#UMgyHcdVl4rV98gb__m@a zTRE_q(pXxkdg!mKhQ!(UoXOKuY?T=Xabf^mdAW_`HhBD|_LrNaHu@@#cC!#^5iJDRogfZZfg<)Df=^M6@i9>aYov2utT@Rf zPQBSinb}XHVR1eb++!n6-nNa`#m=+kZaqW~gk8gWm;F{Bp0tJKIfh&$UuU{5)V$=t z1QN&o8!zZ^#`B03MmqKB*|5PJQFkU|`}4pQE?h^148KmH$%ZQx#0k@+q8?LNUW5@W zEFKzkF9}Ni@~bKM&i|dq?JB;249wM3vo|iR|6p3b8~IHDT;rr~fi$Z8EhW%?oe%8` zybVZlwdvDFXpS zCYRNGwM?Ls*{DW5<5Ni>Y1Gni^mOXx!iq%by}^}@4AGco5rgIj`brGa8fUQIw=bD3 z;9sVTzKz2fHX{?qxLh(k`Wgl5Obi-+4M+G&cPOhxkM#<^0Vx@?pe-qXh=%k==1?4s zB}f4k7d%2Uc71kP!^f*0;~p9Fw(3mRb-wCzH1zuPvSx2rx2FYux~bOOm$r_oKgmzxh<|`+Swn51`du%peEoCXYVqmzg+FolB@hE_wG@ThA+u;^qXOL|_zf zdcJrcxvFn~U*gGR)J_Ufe4E1#(bwrjZT(39@gvrw%xBQ$$jmlib5R7^hFmI?`a;e# zkUN>R{o-OT6MxeL5PF(QM(($n1-y9!eJ-=I5{&Dda|f+fAV(~|K+~1W__>n=IfZ_H zjF!*rn&rD8clTu-s%9_Z$*U@xYS}`5@$^Qub%C3U+2!8C5@(Dd+O;G&9?9e07vEn* zY)|}rrTXySQvfBu8dw~K0}6_BX7>9{VT!nYi3~9< ztWv7y116SL#-jfx0Ez3k*Qd zl<5RiB_ufjaZm23jjQh9e>Ih&D-bZ{>Vvc9zus^}MMXW~-0ALWSp3Fg+=a~u*t+VA z^~up+K--TY`X*QhjaFgVdau@A!`)f~tC8BB%G(T&UNtxb!zjOUcL5o5ED=ATM!6Xl3mrYxe7LYvS`=}c^^ zrun)%bhiizcb_0+y=v^!BZ0xhOqa#xS?+rGwH^+Z6<#YMVmYnt9e~k1z{d~oT_cw1 zTRQfyvcm<8Gxu%Skm1L5dk;dj&El2_Jzk}bG|}3P0OasfnJHj5jioY#ZZ$NF4FLY2 zm9B?-)_^I{((=30q9_7HE13c1)4`c*m#y&_{E7`YZVzej!*Rj#A0ykldwT>1x3sKQd-ezCy@zvAuZt4!rvU-!cGd~`E;$6!#n z*g~shjfZh7)fL+JrK^$T)-b*<)cSt80Yli$RVF(Li$f>bD;tB|H0Tz8 zxpRf-AFPB{j11e5c_y1wmA`&iNoJ}z@Yo$gyas8XD@$RVSgp-!@UON z&Kf1O!OgjnQSKyu&-qTznU{=bk9{iq5Ag5O z4xwN{-}1yl3JlGKtRKl*`jXkpY^(Jqv1j{1q+%WjiAPZDHp;=Oed7`&g&(;QZ_}3$ zCWAVb2ly%W3St=WH-g1T+68SWUZjcgH2JxwunmJp_LufvpZOdnVa|a#Q&hd~2SK_i ztR2=M^jaw9yO#m#-BH|Mmoni|WTae^wXQCqdvn9hzSR+CP`#0F+>T3&uE*ob>Ds^B zM^Dy9upF{vcw`DxN%!FHt+Cxvm5Q%r+x7XjFc0?2O^^=H4yo%Ru34Q`KMLnh~yFA233sdyD;i;ML4qkxUUOt77s4*bxZl- zrYuCx`RGJtGerqI@C_VKK1U-i1W8cu=Wi+ov38Y zcYGdzVW`OOWcBw7;J=1m4VyL(v2N0bJaAr}9KGM;JCokRsjy%(OxtwAYTScrj$UuE zPQ6M+AudV{EL}5Ac81Iwc}yMKwmuTx`NkX9Yx`1TP1K!kC?4k=znej{gw5sQoN?Ck zX!5hrcCl*E32Yn}gH&bBakk%2l|5mhIJM;W;4(3&sUw|nRJkhdiu=&mr^#=jD(Nfu zR_QJ~TG%PGy)dJIXZ^Ahx3ize*OfO!UWZpb=TTdkyn+Ijp-UdnC|t>20bIhCfVE+@ z!<3}us46({qjN7pl(7>TA;2j2LT@taa;lz@(Kr2_pO!FB7Pa;F&t1Q)jM<0E2sN0VzxQBrZ>WyC>gf^@6qxS} zzsBj>{-2j$BH*YUr+PP`&9$WcD317;siVE|m83zPpr96Q%p}ZrZpU>li|Rr5XyosX zZ8)W{!`D{gIzsBG@N%Q)U;`yOt{X%mTlhll8h&y zcAqUV9m@3a6Ay}SfxG?=R9l;n`N;C1)MYY1{mY$M$b8?MsvqsNQubwhfk z+PpXmJ%oz`4o;SzlQQRz?Kf2I=&0#O@dA#=mvoD(A_jI*`ep)ryuCCr@O#r}Y?aRm zGpKshvmy;!$r=bh8XiY`a3-Fp*qO>>tROyB1P(Y9-#g0*7~rn=-1_z^$EfoCPuCN< z2&uzhk1F@W)o!LY2Y`d2A87qn!>NQV#IE$VMC}=}n-!}ci%%o;93; zjgrot+xX*?;Q>u^b?#(nQ@){RN5B4_QY7a9yD?hGDljp*+-cYcy@}GAF&gk2 z^vlgSvIL#<$d+=F*6Bd8fEpD>_58`%PaVuJHSIZ%Fzn;o77GD$V)SPmi!cS$@1uNp zzJ_Sfmf&3&Z||&`XS>smV4-2+wPNYIUcZT2Axg9@ z!($xrqGJi<$PoLgQvx(*$M|)TF?2VO@&~BU!)7d;=%ei~m+2@&Rs*OtSr|a!v`aPv zH3a|)@-7+Jl%q;3;dR_3k577k9DcDvTR?a!$(V7a68&q$alG#GK%P&uIE$-;bK?Z0 z_I)KBmxs)dKe1#Hza7=`_fP4@<{NJns9$tygtJd%4<=tUT|?kT-S1b6=S*6z@z`zc zwJu!E->EcjFAtIx0g`Zdbv>FR8xH^+pb?$r5SphkdNn|bWV4xA3H02mTkhVRI=zs$ z!I&%S#>lHqGhkwx!z7RDj*0A6?@K3bf_rRWPM6b5;CHn6TN&z8`tx#gdwFoZ>HEeA zYYz0lI1hS2UU_1aQ~%ZY8HDmh!a2%u6p0^(IgNq*(ACnOO8QyYg-P=)dP2!dI8CpmUUI9sFGk>BS z@j9{cZ89;T8C*(T%vWBXEgK%XuYw1uIS_mV_O$>`1+(*V$9H4nMx2Eq&I+K$yRcJP zP*!c9H_*A9xt#df{q08OAmbVNg3lXp?N?C(1(;3&1rEkh)2(`Q4`E~0cpEXI&Z^rW z-Ihr+40E+7_YH>~re*0>*FynzJ^i516qib2n5QlE@8k9`IDpDyfg5F>DdO@$U9Xmt z>y#<;Prx}yw~!&bAk!ghEW_GrC|aRC1a{Q+G^akGmh!;u8AMjhc{8Zb>hJ6%%&)Qa zEKV#T^ZC;aTT$aMFd>b-*~-??--N%ybdo6;7~-{S8md+y!FTDSGEUr9O>n^9eX+yb zgInY9=k=+2|3Rv`g1H2UsxW=wTIM*pE_wrDDdlTc1rBzhfY{{O)j3$#n5HiNeDy>% z7k7#jCh&;2!u*xsq>xA)?bD6hlitnHdJT}oJ`Ap8uz!W{`vd1AqJ8o=^P;hbS3#SL zPI5*{{r2*Ccpn?K0PI7sS^V>!b0FlsK3WWe@XN3`Rs{{{jktPu=o@52``j`n#iU zAZL2N#~S&t>(WGz3!*Wxo8vftZ0h(9yn#!{zxIP(+EF1YFq&wtraz|hZc^j2|DcCZ z?}S$h?$@K7Va!$=Qh^Io3aVh6MeOf7WnE{G00i#4d{Ow}{?cG*qhDk4toG%;kwyG_ zY`}S&CN6Z~-UO9hv?*9ow?|g$xW?~UCnXwRpA!6#Ev@8t$+%KSF7=jB_*~S>-jj%G zgYZ27E%<1bm8H@@)t5L4*k1SRP0@@0NaJYG-VDz-nP94fUk*FXj^@`BES?|EYaEI+ zHrtN>5JmHshcUfVREkO-!NU^ogk#wkM>Lw_=AC$>4(6>#-d>@R9UJ+w_0EO@n-I}< zoUa+Z`j*AITn$J5YdAnFwwliXL3_g~>MsDEdrMacKc^Ksk{Kwxo<<)~U)MV6{A!XmBgindkX3Qh%E_VJb z^dh(f#zD+ysTV^WhOV*HxUxzBek!&CS{(@zY^Lm+yo{Q>inMW(FfA_6W(&3Cx4DssQ6JmRG{5V;&0*^e zgKG#?+h&vK_Amk}S`dmpe=3wX&-ihvxm3X7=pb54;Yd)L~1~ydinycTot~0cinI0q>2TAGhUj3H5*t^9c z6Sj?+A8jXqfko1@@5eCVSdW>@s!TmNgGhzfJVrGzE+d9c==^h74Fi+c_E;FOvB84V@vqy3FjU*{ z%Fd>b0cWW%pPO!1H0`&LgS!<|I9oFAkNPYP=HVo+K{e40@z|(T8EG!#y#tewlfC67 zBolYo>-V&hMvTdZo;wq{hWfIzMVE#@UmGSXwE0i&S5XmZzMl+pzd^pnMjv9Q-e!n4 zx>VUO3UHu_Ee6_jC@DQO9UE9Bxf-XDOrixh3&~tFMKyY=V;RqFuY0<%4qvE5+n_>$ z4aHG$ajZ5NS45{_U|hO6!248`7WXJ;FG;%)fy{xXX=LO$%ihKihDrx2$U@6ZhKyEN z7mT~3tOCp!T?&Z7V^8qC_?M{u*1&xZtX$S|?$1VFyWS$B^ZVXor^hT|aWo#uj2me+ zi{P6?eZ~kri=FTCUyqdZFs_L-RKMCPH|k#S-cH!Y;l$9?B|jT+!hB;CMI=^oQG20n zj!$GK2n;sMo!=&^(Qitm)Wu`Lq|u|~F3fn+;QAEU#3`m9Zu|2yhJ9E};A4j&M%TUr zG;%nd8)&!O`K(9!-}!A)B75w2CSWc8-B+RiZOy>zfOf�X_E%;NgA3z=BKkNUa)Z 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

txB0{ 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 diff --git a/src/img/sp-codes.ico b/src/img/sp-codes.ico new file mode 100644 index 0000000000000000000000000000000000000000..afa20293435a01c55f9c0aee280ef4432d6585a8 GIT binary patch literal 11121 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 Gfc+n&^$ literal 0 HcmV?d00001 diff --git a/src/img/sp-codes.png b/src/img/sp-codes.png new file mode 100644 index 0000000000000000000000000000000000000000..41f3dbf12d93a79068546bb991414ef210070137 GIT binary patch literal 22849 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 ScmcX&h_S&n{bzsQy!#)zk|S0C literal 0 HcmV?d00001 diff --git a/src/img/sp-codes.svg b/src/img/sp-codes.svg new file mode 100644 index 0000000..604edd3 --- /dev/null +++ b/src/img/sp-codes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/scss/main.scss b/src/scss/main.scss index 7bb1a57..a126aee 100644 --- a/src/scss/main.scss +++ b/src/scss/main.scss @@ -54,11 +54,13 @@ a { .logo { display: block; margin: 0 auto; - max-width: 256px; - max-height: 256px; - background-color: #fff; - border-radius: 50%; - border: 2px solid #000; + max-width: 128px; + max-height: 128px; + transition: transform .5s ease-in-out; + + &:hover { + transform: rotate(360deg); + } } .nav { @@ -265,8 +267,8 @@ pre { @media (max-width: 767.98px) { .logo { - max-width: 128px; - max-height: 128px; + max-width: 64px; + max-height: 64px; } .fa-4x { font-size: 2em; From d60ec50cc6fdfb06e3fc81916d6f70e662eb1e01 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sat, 10 Apr 2021 01:37:08 +0200 Subject: [PATCH 005/167] updated logo animation styles --- package.json | 2 +- src/_includes/layouts/base.njk | 1 + src/_includes/layouts/home.njk | 2 +- src/scss/logo.scss | 49 ++++++++++++++++++++++++++++++++++ 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 src/scss/logo.scss diff --git a/package.json b/package.json index 0780854..6965376 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "website for sp-codes.de", "scripts": { - "compile-sass": "node-sass --output-style compressed --importer=node_modules/node-sass-tilde-importer src/scss/main.scss dist/css/main.css", + "compile-sass": "node-sass --output-style compressed --importer=node_modules/node-sass-tilde-importer src/scss/ -o dist/css/", "watch:eleventy": "eleventy --serve", "watch:sass": "npm run compile-sass -- --watch", "start": "npm-run-all compile-sass --parallel watch:*", diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index 6de20f9..338d3a6 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -32,6 +32,7 @@ title: sp-codes + diff --git a/src/_includes/layouts/home.njk b/src/_includes/layouts/home.njk index fee4d7d..6c2b6bc 100644 --- a/src/_includes/layouts/home.njk +++ b/src/_includes/layouts/home.njk @@ -4,7 +4,7 @@ layout: base.njk
diff --git a/src/scss/logo.scss b/src/scss/logo.scss new file mode 100644 index 0000000..1172ba0 --- /dev/null +++ b/src/scss/logo.scss @@ -0,0 +1,49 @@ +// vivus instant logo animation + +.cEsZQnrx_0 { + stroke-dasharray: 1405 1407; + stroke-dashoffset: 1406; + animation: cEsZQnrx_draw 1300ms ease-out 0ms forwards; +} + +.cEsZQnrx_1 { + stroke-dasharray: 572 574; + stroke-dashoffset: 573; + animation: cEsZQnrx_draw 1300ms ease-out 175ms forwards; +} + +.cEsZQnrx_2 { + stroke-dasharray: 530 532; + stroke-dashoffset: 531; + animation: cEsZQnrx_draw 1300ms ease-out 350ms forwards; +} + +.cEsZQnrx_3 { + stroke-dasharray: 620 622; + stroke-dashoffset: 621; + animation: cEsZQnrx_draw 1300ms ease-out 525ms forwards; +} + +.cEsZQnrx_4 { + stroke-dasharray: 1088 1090; + stroke-dashoffset: 1089; + animation: cEsZQnrx_draw 1300ms ease-out 700ms forwards; +} + +@keyframes cEsZQnrx_draw { + 100% { + stroke-dashoffset: 0; + } +} + +@keyframes cEsZQnrx_fade { + 0% { + stroke-opacity: 1; + } + 93.54838709677419% { + stroke-opacity: 1; + } + 100% { + stroke-opacity: 0; + } +} From 11b2b78cc7dc5a1d3a886dd3d1173a913bd585c6 Mon Sep 17 00:00:00 2001 From: Samuel Philipp Date: Sat, 10 Apr 2021 02:46:01 +0000 Subject: [PATCH 006/167] Changed logo size on mobile --- src/scss/main.scss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/scss/main.scss b/src/scss/main.scss index a126aee..ebbac55 100644 --- a/src/scss/main.scss +++ b/src/scss/main.scss @@ -267,8 +267,8 @@ pre { @media (max-width: 767.98px) { .logo { - max-width: 64px; - max-height: 64px; + max-width: 96px; + max-height: 96px; } .fa-4x { font-size: 2em; @@ -287,4 +287,4 @@ pre { width: 2em; height: 2em; } -} +} \ No newline at end of file From 0c9d862c9e10b4800a98ba6da973d7af909f2b73 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sat, 10 Apr 2021 13:40:58 +0200 Subject: [PATCH 007/167] improved logo --- src/_includes/layouts/home.njk | 2 +- src/img/sp-codes.svg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_includes/layouts/home.njk b/src/_includes/layouts/home.njk index 6c2b6bc..d4d76f6 100644 --- a/src/_includes/layouts/home.njk +++ b/src/_includes/layouts/home.njk @@ -4,7 +4,7 @@ layout: base.njk
diff --git a/src/img/sp-codes.svg b/src/img/sp-codes.svg index 604edd3..10d6a99 100644 --- a/src/img/sp-codes.svg +++ b/src/img/sp-codes.svg @@ -1 +1 @@ - \ No newline at end of file + From 7684a70f99f52383e7fbf1c00b9b99074dae8fda Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sat, 10 Apr 2021 13:46:16 +0200 Subject: [PATCH 008/167] improved logo again --- src/_includes/layouts/home.njk | 2 +- src/img/sp-codes.svg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_includes/layouts/home.njk b/src/_includes/layouts/home.njk index d4d76f6..b74ed9c 100644 --- a/src/_includes/layouts/home.njk +++ b/src/_includes/layouts/home.njk @@ -4,7 +4,7 @@ layout: base.njk
diff --git a/src/img/sp-codes.svg b/src/img/sp-codes.svg index 10d6a99..d0b5348 100644 --- a/src/img/sp-codes.svg +++ b/src/img/sp-codes.svg @@ -1 +1 @@ - + From 729f8b364b72e305088932969f1d040a498eaf99 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sat, 10 Apr 2021 22:20:22 +0200 Subject: [PATCH 009/167] added experimental light mode --- src/_includes/layouts/base.njk | 1 + src/_includes/profiles.html | 4 +-- src/de/contact.html | 10 ++++---- src/en/contact.html | 10 ++++---- src/img/bg-light.png | Bin 0 -> 66117 bytes src/img/gitea-white.svg | 1 + src/img/gitea.svg | 2 +- src/img/matrix-white.svg | 1 + src/img/matrix.svg | 2 +- src/img/opencollective-white.svg | 1 + src/img/opencollective.svg | 2 +- src/img/threema-white.svg | 1 + src/img/threema.svg | 2 +- src/img/xmpp-white.svg | 1 + src/img/xmpp.svg | 2 +- src/scss/icons.scss | 41 +++++++++++++++++++++++++++++++ 16 files changed, 64 insertions(+), 17 deletions(-) create mode 100644 src/img/bg-light.png create mode 100644 src/img/gitea-white.svg create mode 100644 src/img/matrix-white.svg create mode 100644 src/img/opencollective-white.svg create mode 100644 src/img/threema-white.svg create mode 100644 src/img/xmpp-white.svg create mode 100644 src/scss/icons.scss diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index 338d3a6..4d3ad77 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -33,6 +33,7 @@ title: sp-codes + diff --git a/src/_includes/profiles.html b/src/_includes/profiles.html index 8c580be..1c01622 100644 --- a/src/_includes/profiles.html +++ b/src/_includes/profiles.html @@ -2,14 +2,14 @@
diff --git a/src/de/contact.html b/src/de/contact.html index 2d31e59..15d3d1d 100644 --- a/src/de/contact.html +++ b/src/de/contact.html @@ -15,28 +15,28 @@ eleventyNavigation:
diff --git a/src/en/contact.html b/src/en/contact.html index 22a4f6c..881d8ca 100644 --- a/src/en/contact.html +++ b/src/en/contact.html @@ -14,27 +14,27 @@ eleventyNavigation:
diff --git a/src/img/bg-light.png b/src/img/bg-light.png new file mode 100644 index 0000000000000000000000000000000000000000..190b85acf2c2f010e61c2ab90cede33c53d00bd9 GIT binary patch literal 66117 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 KdkbyP-1t9YFil1P literal 0 HcmV?d00001 diff --git a/src/img/gitea-white.svg b/src/img/gitea-white.svg new file mode 100644 index 0000000..17188ec --- /dev/null +++ b/src/img/gitea-white.svg @@ -0,0 +1 @@ +Gitea icon diff --git a/src/img/gitea.svg b/src/img/gitea.svg index 17188ec..6ff0f33 100644 --- a/src/img/gitea.svg +++ b/src/img/gitea.svg @@ -1 +1 @@ -Gitea icon +Gitea icon diff --git a/src/img/matrix-white.svg b/src/img/matrix-white.svg new file mode 100644 index 0000000..a0b2d62 --- /dev/null +++ b/src/img/matrix-white.svg @@ -0,0 +1 @@ +Matrix icon diff --git a/src/img/matrix.svg b/src/img/matrix.svg index a0b2d62..1dcf4b6 100644 --- a/src/img/matrix.svg +++ b/src/img/matrix.svg @@ -1 +1 @@ -Matrix icon +Matrix icon diff --git a/src/img/opencollective-white.svg b/src/img/opencollective-white.svg new file mode 100644 index 0000000..dcf7bd2 --- /dev/null +++ b/src/img/opencollective-white.svg @@ -0,0 +1 @@ +Open Collective icon diff --git a/src/img/opencollective.svg b/src/img/opencollective.svg index dcf7bd2..eea0b36 100644 --- a/src/img/opencollective.svg +++ b/src/img/opencollective.svg @@ -1 +1 @@ -Open Collective icon +Open Collective icon diff --git a/src/img/threema-white.svg b/src/img/threema-white.svg new file mode 100644 index 0000000..7b89b35 --- /dev/null +++ b/src/img/threema-white.svg @@ -0,0 +1 @@ +Threema icon diff --git a/src/img/threema.svg b/src/img/threema.svg index 7b89b35..a2e3619 100644 --- a/src/img/threema.svg +++ b/src/img/threema.svg @@ -1 +1 @@ -Threema icon +Threema icon diff --git a/src/img/xmpp-white.svg b/src/img/xmpp-white.svg new file mode 100644 index 0000000..5a0b67c --- /dev/null +++ b/src/img/xmpp-white.svg @@ -0,0 +1 @@ +XMPP icon diff --git a/src/img/xmpp.svg b/src/img/xmpp.svg index 5a0b67c..1b5e5b1 100644 --- a/src/img/xmpp.svg +++ b/src/img/xmpp.svg @@ -1 +1 @@ -XMPP icon +XMPP icon diff --git a/src/scss/icons.scss b/src/scss/icons.scss new file mode 100644 index 0000000..3caf123 --- /dev/null +++ b/src/scss/icons.scss @@ -0,0 +1,41 @@ +.si { + display: inline-block; + background-repeat: no-repeat; + background-position: center; + margin: 0 8px; + width: 4em; + height: 4em; +} + +@media (max-width: 767.98px) { + .si { + margin: 0 4px; + width: 2em; + height: 2em; + } +} + +.h2si { + margin: 0; + width: 30px; + height: 24px; +} + +@mixin svg-icon($name) { + .si-#{$name} { + content: ' '; + background-image: url("../img/#{$name}-white.svg"); + } + + @media screen and (prefers-color-scheme: light) { + .si-#{$name} { + background-image: url("../img/#{$name}.svg"); + } + } +} + +@include svg-icon('matrix'); +@include svg-icon('gitea'); +@include svg-icon('xmpp'); +@include svg-icon('threema'); +@include svg-icon('opencollective'); From a89ed38280197bc6777848ca511c256a06ecec1d Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sat, 10 Apr 2021 22:20:57 +0200 Subject: [PATCH 010/167] added experimental light mode --- src/scss/main.scss | 107 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 81 insertions(+), 26 deletions(-) diff --git a/src/scss/main.scss b/src/scss/main.scss index ebbac55..ddaae5d 100644 --- a/src/scss/main.scss +++ b/src/scss/main.scss @@ -17,6 +17,9 @@ $fa-font-path: "../font"; $flag-icon-rect-path: ''; @import "node_modules/flag-icon-css/sass/flag-icon"; +$primary: #fea500; +$primary_dark: #e5a52e; + html, body { height: 100%; display: flex; @@ -26,6 +29,7 @@ html, body { body { background-image: url("../img/bg.png"); color: #fff; + font-weight: 300; min-height: 100vh; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } @@ -40,14 +44,18 @@ ul { } .highlight { - color: #fea500; + color: $primary; +} + +.text-foreground { + color: #fff; } a { - color: #fea500; + color: $primary; &:hover { - color: #d78c00; + color: $primary_dark; } } @@ -155,7 +163,7 @@ a { } .card { - background-color: #222; + background-color: #111; border: 1px solid #fff; padding: 1rem; } @@ -183,10 +191,10 @@ a { top: 0; bottom: 0; right: 0; - color: #fea500 !important; + color: $primary !important; &[href]:hover { - color: #d78c00 !important; + color: $primary_dark !important; } } @@ -195,8 +203,8 @@ a { top: 0; right: -1rem; font-weight: bold; - background-color: #fea500; - color: #000000; + background-color: $primary; + color: #000; padding: .5rem 1rem; border-radius: 10px; transform: rotate(20deg); @@ -220,10 +228,10 @@ a { } &.flat { - color: #fea500 !important; + color: $primary !important; &:hover { - color: #d78c00 !important; + color: $primary_dark !important; } .inner { @@ -242,19 +250,19 @@ a { } .contact-links a { - color: #ffffff !important; + color: #fff !important; } code { - background-color: #fea500; - color: #000000; + background-color: $primary; + color: #000; padding: 1px 3px; border-radius: 4px; } pre { - background-color: #fea500; - color: #000000; + background-color: $primary; + color: #000; padding: 1px 3px; border-radius: 4px; @@ -275,16 +283,63 @@ pre { } } -.svg-icon { - margin: 0 8px; - width: 4em; - height: 4em; -} +@media screen and (prefers-color-scheme: light) { + $primary: #0059fe; + $primary_dark: #2e6ee5; -@media (max-width: 767.98px) { - .svg-icon { - margin: 0 4px; - width: 2em; - height: 2em; + body { + background-image: url("../img/bg-light.png"); + color: #000; } -} \ No newline at end of file + .border-top, .border-bottom { + border-color: #000; + } + .heading a, .menu a, .contact-links a, .service.flat .inner a, .text-foreground { + color: #000 !important; + } + .card { + background-color: #eee; + border-color: #000; + } + .service { + .link { + color: $primary !important; + + &[href]:hover { + color: $primary_dark !important; + } + } + + .beta { + background-color: $primary; + box-shadow: -1px 8px 5px rgba(127, 127, 127, 0.3); + color: #fff; + } + + &.flat { + color: $primary !important; + + &:hover { + color: $primary_dark !important; + } + } + } + .highlight { + color: $primary; + } + a { + color: $primary; + + &:hover { + color: $primary_dark; + } + } + code { + background-color: $primary; + color: #fff; + } + pre { + background-color: $primary; + color: #fff; + } +} From 9c721f57b00474e8aac8408b37413c2f8c3227c7 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sun, 11 Apr 2021 02:54:43 +0200 Subject: [PATCH 011/167] removed light mode fixed open collective icon --- src/scss/icons.scss | 20 ++++++--------- src/scss/main.scss | 61 --------------------------------------------- 2 files changed, 8 insertions(+), 73 deletions(-) diff --git a/src/scss/icons.scss b/src/scss/icons.scss index 3caf123..caccf33 100644 --- a/src/scss/icons.scss +++ b/src/scss/icons.scss @@ -1,36 +1,32 @@ -.si { +.si, .si::before { display: inline-block; - background-repeat: no-repeat; - background-position: center; margin: 0 8px; width: 4em; height: 4em; + line-height: 1; + box-sizing: border-box; } @media (max-width: 767.98px) { - .si { + .si, .si::before { margin: 0 4px; width: 2em; height: 2em; } } -.h2si { +.h2si, .h2si::before { margin: 0; width: 30px; height: 24px; } @mixin svg-icon($name) { - .si-#{$name} { + .si-#{$name}::before { content: ' '; background-image: url("../img/#{$name}-white.svg"); - } - - @media screen and (prefers-color-scheme: light) { - .si-#{$name} { - background-image: url("../img/#{$name}.svg"); - } + background-repeat: no-repeat; + background-position: center; } } diff --git a/src/scss/main.scss b/src/scss/main.scss index ddaae5d..1aa1db9 100644 --- a/src/scss/main.scss +++ b/src/scss/main.scss @@ -282,64 +282,3 @@ pre { font-size: 2em; } } - -@media screen and (prefers-color-scheme: light) { - $primary: #0059fe; - $primary_dark: #2e6ee5; - - body { - background-image: url("../img/bg-light.png"); - color: #000; - } - .border-top, .border-bottom { - border-color: #000; - } - .heading a, .menu a, .contact-links a, .service.flat .inner a, .text-foreground { - color: #000 !important; - } - .card { - background-color: #eee; - border-color: #000; - } - .service { - .link { - color: $primary !important; - - &[href]:hover { - color: $primary_dark !important; - } - } - - .beta { - background-color: $primary; - box-shadow: -1px 8px 5px rgba(127, 127, 127, 0.3); - color: #fff; - } - - &.flat { - color: $primary !important; - - &:hover { - color: $primary_dark !important; - } - } - } - .highlight { - color: $primary; - } - a { - color: $primary; - - &:hover { - color: $primary_dark; - } - } - code { - background-color: $primary; - color: #fff; - } - pre { - background-color: $primary; - color: #fff; - } -} From 0b322213a7bb9d9f189edd21bc56301dadf4d4d8 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sun, 11 Apr 2021 03:06:42 +0200 Subject: [PATCH 012/167] updated donate stuff --- src/de/donate.html | 2 +- src/en/donate.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/de/donate.html b/src/de/donate.html index 4ac4214..f0bad9a 100644 --- a/src/de/donate.html +++ b/src/de/donate.html @@ -44,7 +44,7 @@ eleventyNavigation:
-

Open Collective

+

Open Collective

Gerne kannst du mir auch über Open Collective einen kleinen Betrag zukommen lassen. Wenn du willst, kannst du mich dort auch mit einer regelmäßigen Spende unterstützen. diff --git a/src/en/donate.html b/src/en/donate.html index 40bb010..4bc8d77 100644 --- a/src/en/donate.html +++ b/src/en/donate.html @@ -42,7 +42,7 @@ eleventyNavigation:
-

Open Collective

+

Open Collective

You are also welcome to send me a small amount via Open Collective. If you like you can also support me with a regular donation. From 441d92b3682756ba3beaafa7caa441a14c9f0209 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sun, 11 Apr 2021 03:39:32 +0200 Subject: [PATCH 013/167] fixed icons --- src/scss/icons.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scss/icons.scss b/src/scss/icons.scss index caccf33..82fed8a 100644 --- a/src/scss/icons.scss +++ b/src/scss/icons.scss @@ -23,7 +23,7 @@ @mixin svg-icon($name) { .si-#{$name}::before { - content: ' '; + content: '\200b'; background-image: url("../img/#{$name}-white.svg"); background-repeat: no-repeat; background-position: center; From 57c6f246a796a81a5276ebb9707dcaa5c09ea194 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 13 Apr 2021 04:01:46 +0000 Subject: [PATCH 014/167] Update dependency @11ty/eleventy-navigation to ^0.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6965376..470832d 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@11ty/eleventy": "^0.12.1", - "@11ty/eleventy-navigation": "^0.1.6", + "@11ty/eleventy-navigation": "^0.2.0", "cpx": "^1.5.0", "node-sass": "^5.0.0", "node-sass-tilde-importer": "^1.0.2", From 05359267e038d9e032b02100a73a2dfdca5a3c8b Mon Sep 17 00:00:00 2001 From: samuel-p Date: Thu, 13 May 2021 20:39:30 +0200 Subject: [PATCH 015/167] added libretranslate service added register button for matrix --- src/_data/services.json | 12 ++++++++++++ src/de/services/matrix.md | 4 ++++ src/en/services/matrix.md | 4 ++++ 3 files changed, 20 insertions(+) diff --git a/src/_data/services.json b/src/_data/services.json index 2f3272a..0b0d104 100644 --- a/src/_data/services.json +++ b/src/_data/services.json @@ -107,5 +107,17 @@ "de": "Ein alternatives Twitter- und YouTube-Frontend.", "en": "An alternative Twitter- and YouTube-Frontend." } + }, + { + "id": "translate", + "name": "LibreTranslate", + "icon": "fas fa-language", + "url": "https://translate.sp-codes.de", + "status": "https://translate.sp-codes.de", + "beta": true, + "summary": { + "de": "Eine freie und quelloffene API für Übersetzung.", + "en": "A free and Open Source Machine Translation API." + } } ] diff --git a/src/de/services/matrix.md b/src/de/services/matrix.md index 702e16a..6e5c13f 100644 --- a/src/de/services/matrix.md +++ b/src/de/services/matrix.md @@ -22,6 +22,10 @@ eine öffentliche Element-Web Instanz: [chat.sp-codes.de](https://chat.sp-codes. Die Serverregeln kannst du gerne [hier](https://matrix.sp-codes.de/_matrix/consent) nachlesen. Melde dich gerne auf meinem Server an oder suche dir einen aus den unten verlinkten Listen heraus. Ich freue mich auf deine Nachricht an [@samuel-p:matrix.sp-codes.de](https://matrix.to/#/@samuel-p:matrix.sp-codes.de). + + ## Einstieg Auf meinem Blog findest du eine Artikelserie für einen einfachen Einstieg in Matrix: diff --git a/src/en/services/matrix.md b/src/en/services/matrix.md index 80147c4..22eeced 100644 --- a/src/en/services/matrix.md +++ b/src/en/services/matrix.md @@ -13,6 +13,10 @@ __Since the beginning of 2020 I run a public Matrix server: [matrix.sp-codes.de] You can read the server rules [here](https://matrix.sp-codes.de/_matrix/consent) (German). Feel free to create an account on my server or choose one from the lists linked below. I look forward to hear from you [@samuel-p:matrix.sp-codes.de](https://matrix.to/#/@samuel-p:matrix.sp-codes.de). + + On my blog (German) you will find an article series for an easy start to Matrix: [Werde Teil der Matrix](https://blog.sp-codes.de/werde-teil-der-matrix-matrix-teil-1/) ## Why Matrix? From 77fe53e383687f0ad6a9d21be2fc3077d3254ec2 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 13 May 2021 19:02:41 +0000 Subject: [PATCH 016/167] Update dependency node-sass to v6 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 470832d..3fff056 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@11ty/eleventy": "^0.12.1", "@11ty/eleventy-navigation": "^0.2.0", "cpx": "^1.5.0", - "node-sass": "^5.0.0", + "node-sass": "^6.0.0", "node-sass-tilde-importer": "^1.0.2", "npm-run-all": "^4.1.5" }, From 71151375ce3248cf470e89b9aba22839d14e1b9d Mon Sep 17 00:00:00 2001 From: samuel-p Date: Thu, 13 May 2021 21:22:32 +0200 Subject: [PATCH 017/167] updated --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 470832d..3fff056 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@11ty/eleventy": "^0.12.1", "@11ty/eleventy-navigation": "^0.2.0", "cpx": "^1.5.0", - "node-sass": "^5.0.0", + "node-sass": "^6.0.0", "node-sass-tilde-importer": "^1.0.2", "npm-run-all": "^4.1.5" }, From bd08e27ab3482ed9caddd871e1adb24fe460e658 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sat, 29 May 2021 18:15:13 +0200 Subject: [PATCH 018/167] added mastodon --- src/_data/services.json | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/src/_data/services.json b/src/_data/services.json index 0b0d104..b7469a5 100644 --- a/src/_data/services.json +++ b/src/_data/services.json @@ -32,6 +32,18 @@ "en": "A secure, simple and scalable platform for video conferencing." } }, + { + "id": "mastodon", + "name": "Mastodon", + "icon": "fab fa-mastodon", + "url": "https://social.sp-codes.de", + "status": "https://social.sp-codes.de/health", + "beta": true, + "summary": { + "de": "Das dezentrale, soziale Netzwerk der Zukunft: Keine Werbung und keine Überwachung durch Unternehmen.", + "en": "The decentralized social network of the future: No ads, no corporate surveillance." + } + }, { "id": "gitea", "name": "Gitea", @@ -74,6 +86,18 @@ "en": "Concise, consistent, and legible badges in SVG and raster format." } }, + { + "id": "translate", + "name": "LibreTranslate", + "icon": "fas fa-language", + "url": "https://translate.sp-codes.de", + "status": "https://translate.sp-codes.de", + "beta": true, + "summary": { + "de": "Eine freie und quelloffene API für Übersetzung.", + "en": "A free and Open Source Machine Translation API." + } + }, { "id": "invidious", "name": "Invidious", @@ -107,17 +131,5 @@ "de": "Ein alternatives Twitter- und YouTube-Frontend.", "en": "An alternative Twitter- and YouTube-Frontend." } - }, - { - "id": "translate", - "name": "LibreTranslate", - "icon": "fas fa-language", - "url": "https://translate.sp-codes.de", - "status": "https://translate.sp-codes.de", - "beta": true, - "summary": { - "de": "Eine freie und quelloffene API für Übersetzung.", - "en": "A free and Open Source Machine Translation API." - } } ] From 65e80e9396fea11f2c40c6a8441249ad5a2bd77a Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sat, 29 May 2021 18:25:06 +0200 Subject: [PATCH 019/167] updated social links --- src/_includes/profiles.html | 2 +- src/de/contact.html | 4 ++-- src/de/index.html | 8 ++++++-- src/en/contact.html | 4 ++-- src/en/index.html | 8 ++++++-- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/_includes/profiles.html b/src/_includes/profiles.html index 1c01622..0187277 100644 --- a/src/_includes/profiles.html +++ b/src/_includes/profiles.html @@ -4,7 +4,7 @@ -
diff --git a/src/de/contact.html b/src/de/contact.html index 15d3d1d..0d13762 100644 --- a/src/de/contact.html +++ b/src/de/contact.html @@ -19,10 +19,10 @@ eleventyNavigation:
Schicke mir eine E-Mail an mail@sp-codes.de
+ href="https://social.sp-codes.de/@samuel_p">
Folge mir auf Mastodon oder schicke mir dort eine Nachricht an - @samuel_p@social.tchncs.de
+ @samuel_p@social.sp-codes.de
diff --git a/src/de/index.html b/src/de/index.html index caebdc7..a3ce08f 100644 --- a/src/de/index.html +++ b/src/de/index.html @@ -23,8 +23,12 @@ eleventyNavigation:

Dienste

Für die Nutzer:innen der Dienste und Interessierte gibt es einen öffentlichen Matrix-Raum als - Austauschort für Fragen, Ideen und Probleme: #sp-codes:matrix.sp-codes.de + Austauschort für Fragen, Ideen und Probleme: #sp-codes:matrix.sp-codes.de +

+

+ Folge sp-codes auf Mastodon: @sp_codes@social.sp-codes.de

{% include services-simple.html %} diff --git a/src/en/contact.html b/src/en/contact.html index 881d8ca..d645678 100644 --- a/src/en/contact.html +++ b/src/en/contact.html @@ -18,9 +18,9 @@ eleventyNavigation:
Send me an email to mail@sp-codes.de
+ href="https://social.sp-codes.de/@samuel_p">
-
Follow me on Mastodon or send me a message to @samuel_p@social.tchncs.de
+
Follow me on Mastodon or send me a message to @samuel_p@social.sp-codes.de
diff --git a/src/en/index.html b/src/en/index.html index dfdff13..fae8684 100644 --- a/src/en/index.html +++ b/src/en/index.html @@ -22,8 +22,12 @@ eleventyNavigation:

Services

For users of the services and anyone interested, there is a public matrix room as a place to share - questions, ideas and problems: #sp-codes:matrix.sp-codes.de + questions, ideas and problems: #sp-codes:matrix.sp-codes.de +

+

+ Follow sp-codes on Mastodon: @sp_codes@social.sp-codes.de

{% include services-simple.html %} From 8ea94e9597a124e0d735e11f6140210e42a9f4f5 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sun, 30 May 2021 15:07:48 +0200 Subject: [PATCH 020/167] updated .drone.yml --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 987e834..41c30f6 100644 --- a/.drone.yml +++ b/.drone.yml @@ -4,7 +4,7 @@ name: default steps: - name: build - image: node + image: node:lts commands: - npm install - npm run build From a4c044a09e5d3a75ffdeecf0c8b4ce9ec838f1c8 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 1 Jun 2021 22:11:01 +0200 Subject: [PATCH 021/167] updated donations.json and typo --- src/_data/donations.json | 2 +- src/en/services/shields.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_data/donations.json b/src/_data/donations.json index 6e22d35..51e2993 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -1,6 +1,6 @@ { "banktransfer": { - "number": 4, + "number": 5, "color": "success" }, "cash": { diff --git a/src/en/services/shields.md b/src/en/services/shields.md index 8487733..a39ee29 100644 --- a/src/en/services/shields.md +++ b/src/en/services/shields.md @@ -9,7 +9,7 @@ Shields is a service for concise, consistent and legible badges in SVG and raste __Since August 2020 I run a public Shields instance.__ Feel free to visit it and use the bagdes in your own projects. It is possible that not all integrations are activated. -__Here is the link to Shelds: [shields.sp-codes.de](https://shields.sp-codes.de)__ +__Here is the link to Shields: [shields.sp-codes.de](https://shields.sp-codes.de)__ ## More useful links From c5b781fde1d6d74a2b3db65529cd08fdc1ca8c0c Mon Sep 17 00:00:00 2001 From: samuel-p Date: Wed, 2 Jun 2021 22:50:52 +0200 Subject: [PATCH 022/167] removed yotter from the list --- src/_data/services.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/_data/services.json b/src/_data/services.json index b7469a5..e29b754 100644 --- a/src/_data/services.json +++ b/src/_data/services.json @@ -119,17 +119,5 @@ "de": "Ein alternatives Twitter-Frontend.", "en": "An alternative Twitter-Frontend." } - }, - { - "id": "yotter", - "name": "Yotter", - "icon": "fas fa-desktop", - "url": "https://yotter.sp-codes.de", - "status": "https://yotter.sp-codes.de", - "beta": true, - "summary": { - "de": "Ein alternatives Twitter- und YouTube-Frontend.", - "en": "An alternative Twitter- and YouTube-Frontend." - } } ] From a5aa3cc0145bfacb415833546c271a60728f5cec Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 8 Jun 2021 00:16:21 +0200 Subject: [PATCH 023/167] major improvements added expenses and donations replaced some icons with svgs --- .eleventy.js | 36 ++++++++- src/_data/donations.json | 74 ++++++++++++++++-- src/_data/expenses.json | 50 ++++++++++++ src/_data/services.json | 8 +- src/_data/strings.json | 44 +++++++++++ src/_includes/donations-current.html | 34 ++++++++ src/_includes/donations.html | 38 +++++++++ src/_includes/expenses-current.html | 33 ++++++++ src/_includes/layouts/services.njk | 2 +- src/_includes/profiles.html | 30 ++++--- src/_includes/services-extended.html | 4 + src/_includes/services-simple.html | 4 + src/de/all-donations.html | 10 +++ src/de/contact.html | 8 +- src/de/donate.html | 20 ++--- src/de/index.html | 4 +- src/de/services/gitea.md | 2 +- src/de/services/jitsi.md | 2 +- src/de/services/matrix.md | 2 +- src/en/all-donations.html | 10 +++ src/en/contact.html | 8 +- src/en/donate.html | 16 ++-- src/en/index.html | 4 +- src/en/services/gitea.md | 2 +- src/en/services/jitsi.md | 2 +- src/en/services/matrix.md | 2 +- src/img/bg-light.png | Bin 66117 -> 0 bytes src/img/gitea.svg | 1 - src/img/{gitea-white.svg => icon/gitea.svg} | 0 src/img/icon/jitsi.svg | 1 + src/img/icon/mastodon.svg | 1 + src/img/{matrix-white.svg => icon/matrix.svg} | 0 .../opencollective.svg} | 0 .../{threema-white.svg => icon/threema.svg} | 0 src/img/{xmpp-white.svg => icon/xmpp.svg} | 0 src/img/matrix.svg | 1 - src/img/opencollective.svg | 1 - src/img/threema.svg | 1 - src/img/xmpp.svg | 1 - src/scss/icons.scss | 41 +++++----- src/scss/main.scss | 26 +++--- 41 files changed, 428 insertions(+), 95 deletions(-) create mode 100644 src/_data/expenses.json create mode 100644 src/_includes/donations-current.html create mode 100644 src/_includes/donations.html create mode 100644 src/_includes/expenses-current.html create mode 100644 src/de/all-donations.html create mode 100644 src/en/all-donations.html delete mode 100644 src/img/bg-light.png delete mode 100644 src/img/gitea.svg rename src/img/{gitea-white.svg => icon/gitea.svg} (100%) create mode 100644 src/img/icon/jitsi.svg create mode 100644 src/img/icon/mastodon.svg rename src/img/{matrix-white.svg => icon/matrix.svg} (100%) rename src/img/{opencollective-white.svg => icon/opencollective.svg} (100%) rename src/img/{threema-white.svg => icon/threema.svg} (100%) rename src/img/{xmpp-white.svg => icon/xmpp.svg} (100%) delete mode 100644 src/img/matrix.svg delete mode 100644 src/img/opencollective.svg delete mode 100644 src/img/threema.svg delete mode 100644 src/img/xmpp.svg diff --git a/.eleventy.js b/.eleventy.js index df43924..f330d76 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -1,6 +1,10 @@ const eleventyNavigationPlugin = require("@11ty/eleventy-navigation"); -module.exports = function(eleventyConfig) { +module.exports = function (eleventyConfig) { + eleventyConfig.setLiquidOptions({ + dynamicPartials: true, + // strict_filters: true, + }); eleventyConfig.addWatchTarget("./src/scss/"); eleventyConfig.addPlugin(eleventyNavigationPlugin); @@ -11,10 +15,38 @@ module.exports = function(eleventyConfig) { "node_modules/@fortawesome/fontawesome-free/webfonts/": "font", "node_modules/flag-icon-css/flags/4x3/(de|us)*": "flags" }); - eleventyConfig.addShortcode("translatedUrl", function(currentLocale, newLocale) { + eleventyConfig.addShortcode("translatedUrl", function (currentLocale, newLocale) { return this.page.url.replace(new RegExp(`\/${currentLocale}\/`), `/${newLocale}/`); }); + eleventyConfig.addFilter('year', function (value) { + return value * 12; + }); + + eleventyConfig.addFilter("sum", function (value) { + return value.map(d => d.amount).reduce((a, b) => a + b); + }); + + eleventyConfig.addFilter("amount", function (value, locale) { + return value.toLocaleString(locale, {minimumFractionDigits: 2}); + }); + + eleventyConfig.addFilter("banktransfers", function (donations) { + return donations + .flatMap(y => y.donations) + .filter(d => d.via === 'banktransfer') + .filter(d => d.first) + .length; + }); + + eleventyConfig.addFilter("cash", function (donations) { + return donations + .flatMap(y => y.donations) + .filter(d => d.via === 'cash') + .filter(d => d.first) + .length; + }); + return { dir: { input: "src", diff --git a/src/_data/donations.json b/src/_data/donations.json index 51e2993..e9b4451 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -1,10 +1,68 @@ -{ - "banktransfer": { - "number": 5, - "color": "success" +[ + { + "year": 2021, + "donations": [ + { + "date": "01.06.2021", + "amount": 20, + "via": "banktransfer", + "from": "Rumo", + "first": true + }, + { + "date": "26.04.2021", + "amount": 8.96, + "via": "banktransfer", + "from": null, + "first": false + }, + { + "date": "23.03.2021", + "amount": 30, + "via": "banktransfer", + "from": null, + "first": true + }, + { + "date": "19.02.2021", + "amount": 20, + "via": "banktransfer", + "from": null, + "first": true + }, + { + "date": "02.02.2021", + "amount": 9.01, + "via": "opencollective", + "from": "Dennis H.", + "first": true + }, + { + "date": "20.01.2021", + "amount": 10, + "via": "banktransfer", + "from": null, + "first": true + }, + { + "date": "17.01.2021", + "amount": 4.41, + "via": "opencollective", + "from": "Michael Haak", + "first": true + } + ] }, - "cash": { - "number": 0, - "color": "inactive" + { + "year": 2020, + "donations": [ + { + "date": "04.12.2020", + "amount": 10, + "via": "banktransfer", + "from": null, + "first": true + } + ] } -} +] diff --git a/src/_data/expenses.json b/src/_data/expenses.json new file mode 100644 index 0000000..fc616d1 --- /dev/null +++ b/src/_data/expenses.json @@ -0,0 +1,50 @@ +[ + { + "name": { + "en": "Websites", + "de": "Webseiten" + }, + "type": "Webhosting", + "provider": "netcup", + "amount": 1.99 + }, + { + "name": "Diana", + "type": "VPS", + "provider": "Hetzner", + "amount": 2.96 + }, + { + "name": "Ceres", + "type": "VPS", + "provider": "netcup", + "amount": 5.5 + }, + { + "name": "Venus", + "type": "VPS", + "provider": "netcup", + "amount": 3.33 + }, + { + "name": "Luna", + "type": "Root-Server", + "provider": "netcup", + "amount": 14 + }, + { + "name": "Vesta", + "type": "Root-Server", + "provider": "netcup", + "amount": 11.49 + }, + { + "name": { + "en": "Additional IPv4", + "de": "Zusätzliche IPv4" + }, + "type": "IPv4", + "provider": "netcup", + "amount": 1 + } +] diff --git a/src/_data/services.json b/src/_data/services.json index e29b754..cb03dbe 100644 --- a/src/_data/services.json +++ b/src/_data/services.json @@ -13,7 +13,7 @@ { "id": "matrix", "name": "Matrix", - "icon": "fas fa-comments", + "si": "matrix", "url": "https://chat.sp-codes.de", "status": "https://matrix.sp-codes.de/_matrix/static/", "summary": { @@ -24,7 +24,7 @@ { "id": "jitsi", "name": "Jitsi Meet", - "icon": "fas fa-users", + "si": "jitsi", "url": "https://jitsi.sp-codes.de", "status": "https://jitsi.sp-codes.de", "summary": { @@ -35,7 +35,7 @@ { "id": "mastodon", "name": "Mastodon", - "icon": "fab fa-mastodon", + "si": "mastodon", "url": "https://social.sp-codes.de", "status": "https://social.sp-codes.de/health", "beta": true, @@ -47,7 +47,7 @@ { "id": "gitea", "name": "Gitea", - "icon": "fas fa-code", + "si": "gitea", "url": "https://git.sp-codes.de", "status": "https://git.sp-codes.de", "summary": { diff --git a/src/_data/strings.json b/src/_data/strings.json index 5748020..244dd09 100644 --- a/src/_data/strings.json +++ b/src/_data/strings.json @@ -38,5 +38,49 @@ "maintenance": { "de": "Wartung", "en": "Maintenance" + }, + "date": { + "de": "Datum", + "en": "Date" + }, + "amount": { + "de": "Betrag", + "en": "Amount" + }, + "via": { + "de": "Via", + "en": "Via" + }, + "from": { + "de": "Von", + "en": "Form" + }, + "banktransfer": { + "de": "Überweisung", + "en": "Bank transfer" + }, + "total": { + "de": "Gesamt", + "en": "Total" + }, + "name": { + "de": "Name", + "en": "Name" + }, + "type": { + "de": "Typ", + "en": "Type" + }, + "provider": { + "de": "Anbieter", + "en": "Provider" + }, + "month": { + "de": "Monat", + "en": "Month" + }, + "year": { + "de": "Jahr", + "en": "Year" } } diff --git a/src/_includes/donations-current.html b/src/_includes/donations-current.html new file mode 100644 index 0000000..dc9e88e --- /dev/null +++ b/src/_includes/donations-current.html @@ -0,0 +1,34 @@ + + + + + + + + + + + {% for donation in donations[0].donations %} + + + {% if donation.via == 'opencollective' %} + + {% else %} + + {% endif %} + {% if donation.from %} + + {% else %} + + {% endif %} + + + {% endfor %} + + + + + + + +
{{strings.date[locale]}}{{strings.via[locale]}}{{strings.from[locale]}}{{strings.amount[locale]}}
{{donation.date}}Open Collective{{strings[donation.via][locale]}}{{donation.from}}***{{donation.amount | amount(locale)}} €
{{strings.total[locale]}}{{donations[0].donations | sum | amount(locale)}} €
diff --git a/src/_includes/donations.html b/src/_includes/donations.html new file mode 100644 index 0000000..685dc46 --- /dev/null +++ b/src/_includes/donations.html @@ -0,0 +1,38 @@ +{% for year in donations %} +

{{year.year}}

+ + + + + + + + + + + + {% for donation in year.donations %} + + + {% if donation.via == 'opencollective' %} + + {% else %} + + {% endif %} + {% if donation.from %} + + {% else %} + + {% endif %} + + + {% endfor %} + + + + + + + +
{{strings.date[locale]}}{{strings.via[locale]}}{{strings.from[locale]}}{{strings.amount[locale]}}
{{donation.date}}Open Collective{{strings[donation.via][locale]}}{{donation.from}}***{{donation.amount | amount(locale)}} €
{{strings.total[locale]}}{{year.donations | sum | amount(locale)}} €
+{% endfor %} diff --git a/src/_includes/expenses-current.html b/src/_includes/expenses-current.html new file mode 100644 index 0000000..2810feb --- /dev/null +++ b/src/_includes/expenses-current.html @@ -0,0 +1,33 @@ + + + + + + + + + + + + {% for expense in expenses %} + + {% if expense.name[locale] %} + + {% else %} + + {% endif %} + + + + + + {% endfor %} + + + + + + + + +
{{strings.name[locale]}}{{strings.type[locale]}}{{strings.provider[locale]}}{{strings.amount[locale]}} / {{strings.month[locale]}}{{strings.amount[locale]}} / {{strings.year[locale]}}
{{expense.name[locale]}}{{expense.name}}{{expense.type}}{{expense.provider}}{{expense.amount | amount(locale)}} €{{expense.amount | year | amount(locale)}} €
{{strings.total[locale]}}{{expenses | sum | amount(locale)}} €{{expenses | sum | year | amount(locale)}} €
diff --git a/src/_includes/layouts/services.njk b/src/_includes/layouts/services.njk index 2ea3600..f15e7d6 100644 --- a/src/_includes/layouts/services.njk +++ b/src/_includes/layouts/services.njk @@ -6,5 +6,5 @@ layout: base.njk {{ content | safe }}
- {% include 'services-extended.html' %} + {% include "services-extended.html" %}
diff --git a/src/_includes/profiles.html b/src/_includes/profiles.html index 0187277..dba4605 100644 --- a/src/_includes/profiles.html +++ b/src/_includes/profiles.html @@ -1,18 +1,28 @@
diff --git a/src/_includes/services-extended.html b/src/_includes/services-extended.html index 97d7eef..ac4801c 100644 --- a/src/_includes/services-extended.html +++ b/src/_includes/services-extended.html @@ -6,7 +6,11 @@
TEST-PHASE
{% endif %}
+ {% if service.si %} + + {% else %} + {% endif %}

{{service.name}}{% if service.url %} {% endif %}

{% if service.status %} diff --git a/src/_includes/services-simple.html b/src/_includes/services-simple.html index 85f29bd..e0d1c44 100644 --- a/src/_includes/services-simple.html +++ b/src/_includes/services-simple.html @@ -6,7 +6,11 @@ {% if service.beta == true %}
TEST-PHASE
{% endif %} + {% if service.si %} + + {% else %} + {% endif %}

{{service.name}}{% if service.url %} {% endif %}

diff --git a/src/de/all-donations.html b/src/de/all-donations.html new file mode 100644 index 0000000..ef5510f --- /dev/null +++ b/src/de/all-donations.html @@ -0,0 +1,10 @@ +--- +layout: base.njk +key: all-donations +title: Unterstützen +--- +

Alle Spenden

+ +

➔ Unterstützen

+ +{% include "donations.html" %} diff --git a/src/de/contact.html b/src/de/contact.html index 0d13762..80879f4 100644 --- a/src/de/contact.html +++ b/src/de/contact.html @@ -20,23 +20,23 @@ eleventyNavigation: -
+
Folge mir auf Mastodon oder schicke mir dort eine Nachricht an @samuel_p@social.sp-codes.de
-
+
Schreibe mir auf Matrix an @samuel-p:matrix.sp-codes.de
-
+
Schreibe mir auf XMPP an @samuel-p:dismail.de
-
+
Schreibe mir auf Threema an die ID YSCU6F6U
diff --git a/src/de/donate.html b/src/de/donate.html index f0bad9a..f299062 100644 --- a/src/de/donate.html +++ b/src/de/donate.html @@ -14,7 +14,7 @@ eleventyNavigation: beteiligen oder mir eine kleine Anerkennung für meinen Blog zukommen lassen willst, kannst du mich über die folgenden Wege unterstützen1:

-
+

Empfehlen

@@ -29,7 +29,7 @@ eleventyNavigation: einen Dauerauftrag.
Banküberweisung {{ strings.supporters[locale] }} + src="https://shields.sp-codes.de/badge/{{ strings.supporters[locale] }}-{{ donations | banktransfers }}-active">
@@ -39,12 +39,12 @@ eleventyNavigation: href="/{{locale}}/imprint">Impressum senden.
Bargeld {{ strings.supporters[locale] }} + src="https://shields.sp-codes.de/badge/{{ strings.supporters[locale] }}-{{ donations | cash }}-inactive">
-

Open Collective

+

Open Collective

Gerne kannst du mir auch über Open Collective einen kleinen Betrag zukommen lassen. Wenn du willst, kannst du mich dort auch mit einer regelmäßigen Spende unterstützen. @@ -72,11 +72,13 @@ eleventyNavigation:
-
-

Eine aktuelle Liste aller eingegangenen Spenden pflege ich hier. -

-
+

Aktuelle Ausgaben

+{% include "expenses-current.html" %} + +

Spenden {{donations[0].year}}

+{% include "donations-current.html" %} + +

➔ Alle Spenden

1 Bei den geleisteten Zahlungen handelt sich um Schenkungen im Sinne von § 516 BGB, diff --git a/src/de/index.html b/src/de/index.html index a3ce08f..833ea88 100644 --- a/src/de/index.html +++ b/src/de/index.html @@ -31,7 +31,7 @@ eleventyNavigation: href="https://social.sp-codes.de/@sp_codes">@sp_codes@social.sp-codes.de

- {% include services-simple.html %} + {% include "services-simple.html" %}
@@ -44,4 +44,4 @@ eleventyNavigation:

-{% include profiles.html %} +{% include "profiles.html" %} diff --git a/src/de/services/gitea.md b/src/de/services/gitea.md index 77b3b2a..c6bed8e 100644 --- a/src/de/services/gitea.md +++ b/src/de/services/gitea.md @@ -3,7 +3,7 @@ layout: base.njk key: gitea title: Gitea --- -# Gitea +# Gitea Gitea ist eine einfache Code-Hosting-Plattform wie GitHub oder GitLab. Sie ist opensource und wird kontinuierlich weiterentwickelt. __Seit Ende 2019 betreibe ich eine eigene Gitea Instanz, in der ich meine Projekte verwalte.__ So zum Beispiel auch diese Webseite. Schau dir gerne mal den Quelltext an und lass mir Feedback da. diff --git a/src/de/services/jitsi.md b/src/de/services/jitsi.md index 854df79..d0171eb 100644 --- a/src/de/services/jitsi.md +++ b/src/de/services/jitsi.md @@ -3,7 +3,7 @@ layout: base.njk key: jitsi title: Jitsi Meet --- -# Jitsi Meet +# Jitsi Meet Jitsi-Meet ist eine Plattform für Videokonferenzen. Ohne Anmeldung können vollständig verschlüsselte Video-Chats gestartet werden. Zusätzlich bietet Jitsi-Meet die Möglichkeit den Bildschirm für die anderen Teilnehmer:innen freizugeben, neue Benutzer:innen einfach per Link einzuladen und Nachrichten im integrierten Chat zu verschicken. diff --git a/src/de/services/matrix.md b/src/de/services/matrix.md index 6e5c13f..3fb46bd 100644 --- a/src/de/services/matrix.md +++ b/src/de/services/matrix.md @@ -4,7 +4,7 @@ key: matrix title: Matrix --- -# Matrix +# Matrix [Matrix](https://matrix.org) ist eine moderne, quelloffene Software für dezentrale Kommunikation (wie E-Mail). Matrix bietet von Haus aus Sprach- und Videoanrufe, inklusive Ende-zu-Ende Verschlüsselung und vieles mehr. Das Entscheidende diff --git a/src/en/all-donations.html b/src/en/all-donations.html new file mode 100644 index 0000000..03ad175 --- /dev/null +++ b/src/en/all-donations.html @@ -0,0 +1,10 @@ +--- +layout: base.njk +key: all-donations +title: Unterstützen +--- +

All Donations

+ +

➔ Donate

+ +{% include "donations.html" %} diff --git a/src/en/contact.html b/src/en/contact.html index d645678..b48b357 100644 --- a/src/en/contact.html +++ b/src/en/contact.html @@ -19,22 +19,22 @@ eleventyNavigation: -
+
Follow me on Mastodon or send me a message to @samuel_p@social.sp-codes.de
-
+
Write me on Matrix to @samuel-p:matrix.sp-codes.de
-
+
Write me on XMPP to @samuel-p:dismail.de
-
+
Write me on Threema to the ID YSCU6F6U
diff --git a/src/en/donate.html b/src/en/donate.html index 4bc8d77..9d9103f 100644 --- a/src/en/donate.html +++ b/src/en/donate.html @@ -27,7 +27,7 @@ eleventyNavigation: will then send you my bank details as soon as possible. I am especially happy about a standing order.
Bank transfer {{ strings.supporters[locale] }} + src="https://shields.sp-codes.de/badge/{{ strings.supporters[locale] }}-{{ donations | banktransfers }}-active">

@@ -37,12 +37,12 @@ eleventyNavigation: href="/en/imprint">imprint.
Cash {{ strings.supporters[locale] }} + src="https://shields.sp-codes.de/badge/{{ strings.supporters[locale] }}-{{ donations | cash }}-inactive">
-

Open Collective

+

Open Collective

You are also welcome to send me a small amount via Open Collective. If you like you can also support me with a regular donation. @@ -70,9 +70,13 @@ eleventyNavigation:
-
-

I maintain a list of all received donations here.

-
+

Current Expenses

+{% include "expenses-current.html" %} + +

Donations {{donations[0].year}}

+{% include "donations-current.html" %} + +

➔ All Donations

1 The payments made are donations in terms of § 516 BGB, not tax-deductible donations in terms diff --git a/src/en/index.html b/src/en/index.html index fae8684..5f43784 100644 --- a/src/en/index.html +++ b/src/en/index.html @@ -30,7 +30,7 @@ eleventyNavigation: href="https://social.sp-codes.de/@sp_codes">@sp_codes@social.sp-codes.de

- {% include services-simple.html %} + {% include "services-simple.html" %}
@@ -44,4 +44,4 @@ eleventyNavigation:
-{% include profiles.html %} +{% include "profiles.html" %} diff --git a/src/en/services/gitea.md b/src/en/services/gitea.md index 8ed3185..2c240cb 100644 --- a/src/en/services/gitea.md +++ b/src/en/services/gitea.md @@ -3,7 +3,7 @@ layout: base.njk key: gitea title: Gitea --- -# Gitea +# Gitea Gitea is a simple code hosting platform like GitHub or GitLab. It is open source and under continuous development. __Since the end of 2019 I have my own Gitea instance, to manage my projects.__ For example this website. Feel free to have a look at the source code and leave some feedback. diff --git a/src/en/services/jitsi.md b/src/en/services/jitsi.md index 3737603..126ecb4 100644 --- a/src/en/services/jitsi.md +++ b/src/en/services/jitsi.md @@ -3,7 +3,7 @@ layout: base.njk key: jitsi title: Jitsi Meet --- -# Jitsi Meet +# Jitsi Meet Jitsi-Meet is a platform for video conferences. You can start fully encrypted video chats without registration. Additionally, Jitsi-Meet offers the possibility to share the screen with other participants, invite new users with a simple link and send messages in the integrated chat. diff --git a/src/en/services/matrix.md b/src/en/services/matrix.md index 22eeced..9699a97 100644 --- a/src/en/services/matrix.md +++ b/src/en/services/matrix.md @@ -3,7 +3,7 @@ layout: base.njk key: matrix title: Matrix --- -# Matrix +# Matrix Matrix is a modern, open source software for decentralized communication (like e-mail). Matrix offers end-to-end encryption, voice and video calls and much more. However, the most important thing is that there is not one Matrix server that all users have to use, like WhatsApp, Telegram and many other popular messengers. diff --git a/src/img/bg-light.png b/src/img/bg-light.png deleted file mode 100644 index 190b85acf2c2f010e61c2ab90cede33c53d00bd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66117 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 KdkbyP-1t9YFil1P diff --git a/src/img/gitea.svg b/src/img/gitea.svg deleted file mode 100644 index 6ff0f33..0000000 --- a/src/img/gitea.svg +++ /dev/null @@ -1 +0,0 @@ -Gitea icon diff --git a/src/img/gitea-white.svg b/src/img/icon/gitea.svg similarity index 100% rename from src/img/gitea-white.svg rename to src/img/icon/gitea.svg diff --git a/src/img/icon/jitsi.svg b/src/img/icon/jitsi.svg new file mode 100644 index 0000000..f4b23b5 --- /dev/null +++ b/src/img/icon/jitsi.svg @@ -0,0 +1 @@ +Jitsi diff --git a/src/img/icon/mastodon.svg b/src/img/icon/mastodon.svg new file mode 100644 index 0000000..388ee96 --- /dev/null +++ b/src/img/icon/mastodon.svg @@ -0,0 +1 @@ +Mastodon diff --git a/src/img/matrix-white.svg b/src/img/icon/matrix.svg similarity index 100% rename from src/img/matrix-white.svg rename to src/img/icon/matrix.svg diff --git a/src/img/opencollective-white.svg b/src/img/icon/opencollective.svg similarity index 100% rename from src/img/opencollective-white.svg rename to src/img/icon/opencollective.svg diff --git a/src/img/threema-white.svg b/src/img/icon/threema.svg similarity index 100% rename from src/img/threema-white.svg rename to src/img/icon/threema.svg diff --git a/src/img/xmpp-white.svg b/src/img/icon/xmpp.svg similarity index 100% rename from src/img/xmpp-white.svg rename to src/img/icon/xmpp.svg diff --git a/src/img/matrix.svg b/src/img/matrix.svg deleted file mode 100644 index 1dcf4b6..0000000 --- a/src/img/matrix.svg +++ /dev/null @@ -1 +0,0 @@ -Matrix icon diff --git a/src/img/opencollective.svg b/src/img/opencollective.svg deleted file mode 100644 index eea0b36..0000000 --- a/src/img/opencollective.svg +++ /dev/null @@ -1 +0,0 @@ -Open Collective icon diff --git a/src/img/threema.svg b/src/img/threema.svg deleted file mode 100644 index a2e3619..0000000 --- a/src/img/threema.svg +++ /dev/null @@ -1 +0,0 @@ -Threema icon diff --git a/src/img/xmpp.svg b/src/img/xmpp.svg deleted file mode 100644 index 1b5e5b1..0000000 --- a/src/img/xmpp.svg +++ /dev/null @@ -1 +0,0 @@ -XMPP icon diff --git a/src/scss/icons.scss b/src/scss/icons.scss index 82fed8a..306e856 100644 --- a/src/scss/icons.scss +++ b/src/scss/icons.scss @@ -1,37 +1,38 @@ .si, .si::before { display: inline-block; - margin: 0 8px; - width: 4em; - height: 4em; + width: 1.25em; line-height: 1; box-sizing: border-box; } -@media (max-width: 767.98px) { - .si, .si::before { - margin: 0 4px; - width: 2em; - height: 2em; - } +.si-2x { + font-size: 2em; } -.h2si, .h2si::before { - margin: 0; - width: 30px; - height: 24px; +.si-3x { + font-size: 3em; +} + +.si-4x { + font-size: 4em; +} + +.si::before { + content: '\200b'; + background-repeat: no-repeat; + background-position: center; } @mixin svg-icon($name) { .si-#{$name}::before { - content: '\200b'; - background-image: url("../img/#{$name}-white.svg"); - background-repeat: no-repeat; - background-position: center; + background-image: url("../img/icon/#{$name}.svg"); } } -@include svg-icon('matrix'); @include svg-icon('gitea'); -@include svg-icon('xmpp'); -@include svg-icon('threema'); +@include svg-icon('jitsi'); +@include svg-icon('mastodon'); +@include svg-icon('matrix'); @include svg-icon('opencollective'); +@include svg-icon('threema'); +@include svg-icon('xmpp'); diff --git a/src/scss/main.scss b/src/scss/main.scss index 1aa1db9..07512ef 100644 --- a/src/scss/main.scss +++ b/src/scss/main.scss @@ -228,12 +228,6 @@ a { } &.flat { - color: $primary !important; - - &:hover { - color: $primary_dark !important; - } - .inner { flex-direction: row; text-decoration: none; @@ -241,10 +235,6 @@ a { h2 { margin-left: 0.5rem; } - - a { - color: #fff; - } } } } @@ -278,7 +268,19 @@ pre { max-width: 96px; max-height: 96px; } - .fa-4x { - font-size: 2em; +} + +table.table { + width: 100%; + margin-bottom: 16px; + background-color: #111; + + tr:nth-child(2n) { + background-color: #ffffff0b; + } + + td, th { + padding: 6px 13px; + border: 1px solid #444; } } From 18fed7eb15bf8b7aa2a8db1b88db9b6ec893447b Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 8 Jun 2021 09:22:38 +0200 Subject: [PATCH 024/167] updated icons added some licenses --- src/_data/services.json | 4 ++-- src/_includes/licenses.html | 8 ++++++++ src/de/imprint.html | 5 +++++ src/de/services/jitsi.md | 2 +- src/de/services/matrix.md | 2 +- src/en/imprint.html | 5 +++++ src/en/services/jitsi.md | 2 +- src/en/services/matrix.md | 2 +- src/img/icon/comments.svg | 1 + src/img/icon/users.svg | 1 + src/scss/icons.scss | 7 ++++++- 11 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 src/_includes/licenses.html create mode 100644 src/img/icon/comments.svg create mode 100644 src/img/icon/users.svg diff --git a/src/_data/services.json b/src/_data/services.json index cb03dbe..f441329 100644 --- a/src/_data/services.json +++ b/src/_data/services.json @@ -13,7 +13,7 @@ { "id": "matrix", "name": "Matrix", - "si": "matrix", + "si": "comments", "url": "https://chat.sp-codes.de", "status": "https://matrix.sp-codes.de/_matrix/static/", "summary": { @@ -24,7 +24,7 @@ { "id": "jitsi", "name": "Jitsi Meet", - "si": "jitsi", + "si": "users", "url": "https://jitsi.sp-codes.de", "status": "https://jitsi.sp-codes.de", "summary": { diff --git a/src/_includes/licenses.html b/src/_includes/licenses.html new file mode 100644 index 0000000..80c8a1e --- /dev/null +++ b/src/_includes/licenses.html @@ -0,0 +1,8 @@ + diff --git a/src/de/imprint.html b/src/de/imprint.html index a2fc900..57c01fd 100644 --- a/src/de/imprint.html +++ b/src/de/imprint.html @@ -25,3 +25,8 @@ title: Impressum
  • sp-magic.de
  • +
    +

    Lizenzen

    +

    Diese Webseite nutzt die folgenden Bibliotheken mit ihren entsprechenden Lizenzen:

    + {% include "licenses.html" %} +
    diff --git a/src/de/services/jitsi.md b/src/de/services/jitsi.md index d0171eb..80a6643 100644 --- a/src/de/services/jitsi.md +++ b/src/de/services/jitsi.md @@ -3,7 +3,7 @@ layout: base.njk key: jitsi title: Jitsi Meet --- -# Jitsi Meet +# Jitsi Meet Jitsi-Meet ist eine Plattform für Videokonferenzen. Ohne Anmeldung können vollständig verschlüsselte Video-Chats gestartet werden. Zusätzlich bietet Jitsi-Meet die Möglichkeit den Bildschirm für die anderen Teilnehmer:innen freizugeben, neue Benutzer:innen einfach per Link einzuladen und Nachrichten im integrierten Chat zu verschicken. diff --git a/src/de/services/matrix.md b/src/de/services/matrix.md index 3fb46bd..66bab50 100644 --- a/src/de/services/matrix.md +++ b/src/de/services/matrix.md @@ -4,7 +4,7 @@ key: matrix title: Matrix --- -# Matrix +# Matrix [Matrix](https://matrix.org) ist eine moderne, quelloffene Software für dezentrale Kommunikation (wie E-Mail). Matrix bietet von Haus aus Sprach- und Videoanrufe, inklusive Ende-zu-Ende Verschlüsselung und vieles mehr. Das Entscheidende diff --git a/src/en/imprint.html b/src/en/imprint.html index 3e0e9e5..dad79ec 100644 --- a/src/en/imprint.html +++ b/src/en/imprint.html @@ -25,3 +25,8 @@ title: sp-codes
  • sp-magic.de
  • +
    +

    Licenses

    +

    This Website uses the following libraries with their respective licenses:

    + {% include "licenses.html" %} +
    diff --git a/src/en/services/jitsi.md b/src/en/services/jitsi.md index 126ecb4..9185af4 100644 --- a/src/en/services/jitsi.md +++ b/src/en/services/jitsi.md @@ -3,7 +3,7 @@ layout: base.njk key: jitsi title: Jitsi Meet --- -# Jitsi Meet +# Jitsi Meet Jitsi-Meet is a platform for video conferences. You can start fully encrypted video chats without registration. Additionally, Jitsi-Meet offers the possibility to share the screen with other participants, invite new users with a simple link and send messages in the integrated chat. diff --git a/src/en/services/matrix.md b/src/en/services/matrix.md index 9699a97..d035256 100644 --- a/src/en/services/matrix.md +++ b/src/en/services/matrix.md @@ -3,7 +3,7 @@ layout: base.njk key: matrix title: Matrix --- -# Matrix +# Matrix Matrix is a modern, open source software for decentralized communication (like e-mail). Matrix offers end-to-end encryption, voice and video calls and much more. However, the most important thing is that there is not one Matrix server that all users have to use, like WhatsApp, Telegram and many other popular messengers. diff --git a/src/img/icon/comments.svg b/src/img/icon/comments.svg new file mode 100644 index 0000000..7446b65 --- /dev/null +++ b/src/img/icon/comments.svg @@ -0,0 +1 @@ + diff --git a/src/img/icon/users.svg b/src/img/icon/users.svg new file mode 100644 index 0000000..10b64b5 --- /dev/null +++ b/src/img/icon/users.svg @@ -0,0 +1 @@ + diff --git a/src/scss/icons.scss b/src/scss/icons.scss index 306e856..4896a79 100644 --- a/src/scss/icons.scss +++ b/src/scss/icons.scss @@ -29,10 +29,15 @@ } } +@include svg-icon('comments'); @include svg-icon('gitea'); -@include svg-icon('jitsi'); @include svg-icon('mastodon'); @include svg-icon('matrix'); @include svg-icon('opencollective'); @include svg-icon('threema'); +@include svg-icon('users'); @include svg-icon('xmpp'); + +:root { + --currentColor: #fff; +} From d3ec7b98524f6033b61ab96b00c9059a8cf85875 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 8 Jun 2021 23:14:41 +0200 Subject: [PATCH 025/167] replaced some more icons with svg --- src/_data/services.json | 14 +++++++------- src/_includes/profiles.html | 12 ++++++------ src/de/contact.html | 2 +- src/de/services/connectivitycheck.md | 2 +- src/de/services/firefox-sync.md | 2 +- src/de/services/invidious.md | 2 +- src/de/services/nitter.md | 2 +- src/de/services/searx.md | 2 +- src/de/services/shields.md | 2 +- src/en/contact.html | 2 +- src/en/services/connectivitycheck.md | 2 +- src/en/services/firefox-sync.md | 2 +- src/en/services/invidious.md | 2 +- src/en/services/nitter.md | 2 +- src/en/services/searx.md | 2 +- src/en/services/shields.md | 2 +- src/img/icon/envelope.svg | 1 + src/img/icon/firefox-browser.svg | 1 + src/img/icon/github.svg | 1 + src/img/icon/jitsi.svg | 1 - src/img/icon/language.svg | 1 + src/img/icon/search.svg | 1 + src/img/icon/stackoverflow.svg | 1 + src/img/icon/tags.svg | 1 + src/img/icon/twitter.svg | 1 + src/img/icon/wifi.svg | 1 + src/img/icon/youtube.svg | 1 + src/scss/icons.scss | 14 ++++++++++---- 28 files changed, 47 insertions(+), 32 deletions(-) create mode 100644 src/img/icon/envelope.svg create mode 100644 src/img/icon/firefox-browser.svg create mode 100644 src/img/icon/github.svg delete mode 100644 src/img/icon/jitsi.svg create mode 100644 src/img/icon/language.svg create mode 100644 src/img/icon/search.svg create mode 100644 src/img/icon/stackoverflow.svg create mode 100644 src/img/icon/tags.svg create mode 100644 src/img/icon/twitter.svg create mode 100644 src/img/icon/wifi.svg create mode 100644 src/img/icon/youtube.svg diff --git a/src/_data/services.json b/src/_data/services.json index f441329..937cae3 100644 --- a/src/_data/services.json +++ b/src/_data/services.json @@ -2,7 +2,7 @@ { "id": "searx", "name": "Searx", - "icon": "fas fa-search", + "si": "search", "url": "https://searx.sp-codes.de", "status": "https://searx.sp-codes.de", "summary": { @@ -58,7 +58,7 @@ { "id": "connectivitycheck", "name": "Captive Portal Check", - "icon": "fas fa-wifi", + "si": "wifi", "status": "https://connectivitycheck.sp-codes.de/generate204", "summary": { "de": "Eine datenschutzfreundliches Tool, um Anmeldeseiten in WLAN-Netzwerken zu erkennen.", @@ -68,7 +68,7 @@ { "id": "firefox-sync", "name": "Firefox Sync", - "icon": "fab fa-firefox-browser", + "si": "firefox-browser", "status": "https://sync.firefox.sp-codes.de/token/", "summary": { "de": "Ein Service um Firefox Einstellungen, Lesezeichen, offene Tabs und vieles mehr über verschiedene Geräte zu synchronisieren.", @@ -78,7 +78,7 @@ { "id": "shields", "name": "Shields", - "icon": "fas fa-tags", + "si": "tags", "url": "https://shields.sp-codes.de", "status": "https://shields.sp-codes.de", "summary": { @@ -89,7 +89,7 @@ { "id": "translate", "name": "LibreTranslate", - "icon": "fas fa-language", + "si": "language", "url": "https://translate.sp-codes.de", "status": "https://translate.sp-codes.de", "beta": true, @@ -101,7 +101,7 @@ { "id": "invidious", "name": "Invidious", - "icon": "fab fa-youtube", + "si": "youtube", "url": "https://invidious.sp-codes.de", "status": "https://invidious.sp-codes.de", "summary": { @@ -112,7 +112,7 @@ { "id": "nitter", "name": "Nitter", - "icon": "fab fa-twitter", + "si": "twitter", "url": "https://nitter.sp-codes.de", "status": "https://nitter.sp-codes.de", "summary": { diff --git a/src/_includes/profiles.html b/src/_includes/profiles.html index dba4605..b065b4d 100644 --- a/src/_includes/profiles.html +++ b/src/_includes/profiles.html @@ -1,7 +1,7 @@
    diff --git a/src/de/contact.html b/src/de/contact.html index 80879f4..28d7be3 100644 --- a/src/de/contact.html +++ b/src/de/contact.html @@ -15,7 +15,7 @@ eleventyNavigation:
    -
    +
    Schicke mir eine E-Mail an mail@sp-codes.de
    Captive Portal Check +# Captive Portal Check Ein Captive Portal ist eine Anmeldeseite in öffentlichen WLAN-Netzwerken, um den Internet-Zugriff an die Zustimmung bestimmter Nutzungsregeln zu binden. Wenn du in einem öffentlichen Netzwerk eine Anmeldeseite angezeigt bekommst, nutzt dein Gerät dafür einen Captive Portal Check. Dieser ermöglicht es dem Gerät, herauszufinden, ob du einen direkten Internetzugang hast oder nicht. Unter Android wird hierfür beispielsweise eine Anfrage an einen Google-Server gestellt. diff --git a/src/de/services/firefox-sync.md b/src/de/services/firefox-sync.md index 7efa089..9a3601b 100644 --- a/src/de/services/firefox-sync.md +++ b/src/de/services/firefox-sync.md @@ -3,7 +3,7 @@ layout: base.njk key: firefox-sync title: Firefox Sync --- -# Firefox Sync +# Firefox Sync Nutzt du Firefox auf mehreren Geräten zum Surfen? Dann kannst du mit Firefox Sync deine Browserdaten (Lesezeichen, offene Tabs, die Suchhistorie, uvm.) zwischen all deinen Geräten synchronisieren. diff --git a/src/de/services/invidious.md b/src/de/services/invidious.md index 25f5c94..fc2e52c 100644 --- a/src/de/services/invidious.md +++ b/src/de/services/invidious.md @@ -3,7 +3,7 @@ layout: base.njk key: invidious title: Invidious --- -# Invidious +# Invidious Invidious ist ein alternatives Frontend für YouTube. Da nur die nötigsten Verbindungen zu YouTube aufgebaut werden und viele sogar vom Server selber übernommen werden, erhöht Invidious die Privatsphäre der Nutzer:innen. diff --git a/src/de/services/nitter.md b/src/de/services/nitter.md index a0c7e6c..202afbd 100644 --- a/src/de/services/nitter.md +++ b/src/de/services/nitter.md @@ -3,7 +3,7 @@ layout: base.njk key: nitter title: Nitter --- -# Nitter +# Nitter Eine freies und quelloffenes Twitter-Frontend, das auf Privatsphäre der Nutzer ausgerichtet ist. Die Verbindungen zu Twitter werden vom Server selber übernommen, um Tracking über IP oder JavaScript zu verhindern. diff --git a/src/de/services/searx.md b/src/de/services/searx.md index 789b21e..13e2a32 100644 --- a/src/de/services/searx.md +++ b/src/de/services/searx.md @@ -3,7 +3,7 @@ layout: base.njk key: searx title: Searx --- -# Searx +# Searx Searx ist eine freie Metasuchmaschine, das heißt sie nutzt für die Suche öffentliche Suchmaschinen, wie Google, DuckDuckGo, StartPage und viele andere. diff --git a/src/de/services/shields.md b/src/de/services/shields.md index d88549e..a4aaaa7 100644 --- a/src/de/services/shields.md +++ b/src/de/services/shields.md @@ -3,7 +3,7 @@ layout: base.njk key: shields title: Shields --- -# Shields +# Shields Shields ist ein Service für prägnante, konsistente und lesbare Badges im SVG- und Rasterformat. Über eine URL können sie sehr einfach in Readmes oder jede andere Webseite eingebunden werden. Außerdem werden Integrationen zu verschiedenen Diensten oder Netzwerken bereitgestellt. diff --git a/src/en/contact.html b/src/en/contact.html index b48b357..52dbb3e 100644 --- a/src/en/contact.html +++ b/src/en/contact.html @@ -14,7 +14,7 @@ eleventyNavigation:
    -
    +
    Send me an email to mail@sp-codes.de
    Captive Portal Check +# Captive Portal Check A captive portal is a login page in public WLAN networks to restrict Internet access to the approval of certain terms of use. When you see a login page on a public network, your device uses a captive portal check. This allows the device to find out whether you have direct Internet access or not. In Android, for example, your device sends a request to a Google server. diff --git a/src/en/services/firefox-sync.md b/src/en/services/firefox-sync.md index a39c7b6..7866066 100644 --- a/src/en/services/firefox-sync.md +++ b/src/en/services/firefox-sync.md @@ -3,7 +3,7 @@ layout: base.njk key: firefox-sync title: Firefox Sync --- -# Firefox Sync +# Firefox Sync Do you use Firefox on more than one device for surfing? Then Firefox Sync lets you synchronize your browser data (bookmarks, open tabs, search history, and more) between all your devices. diff --git a/src/en/services/invidious.md b/src/en/services/invidious.md index 3012741..1dd21a4 100644 --- a/src/en/services/invidious.md +++ b/src/en/services/invidious.md @@ -3,7 +3,7 @@ layout: base.njk key: invidious title: Invidious --- -# Invidious +# Invidious Invidious is an alternative YouTube-Frontend. It establishes only the most necessary connections to YouTube and many of them are even made by the server itself. So Invidious increases the privacy of the users. diff --git a/src/en/services/nitter.md b/src/en/services/nitter.md index b911927..d826f4e 100644 --- a/src/en/services/nitter.md +++ b/src/en/services/nitter.md @@ -3,7 +3,7 @@ layout: base.njk key: nitter title: Nitter --- -# Nitter +# Nitter A free and open source Twitter frontend that is focussed on user privacy. Connections to Twitter are handled by the server itself to prevent tracking by IP or JavaScript. diff --git a/src/en/services/searx.md b/src/en/services/searx.md index 30d7926..3c08d3a 100644 --- a/src/en/services/searx.md +++ b/src/en/services/searx.md @@ -3,7 +3,7 @@ layout: base.njk key: searx title: Searx --- -# Searx +# Searx Searx is a free meta search engine, which uses other public search engines like Google, DuckDuckGo, StartPage and many others. diff --git a/src/en/services/shields.md b/src/en/services/shields.md index a39ee29..d00a30f 100644 --- a/src/en/services/shields.md +++ b/src/en/services/shields.md @@ -3,7 +3,7 @@ layout: base.njk key: shields title: Shields --- -# Shields +# Shields Shields is a service for concise, consistent and legible badges in SVG and raster format. Via a URL they can be easily embedded in readmes or any other website. In addition, integrations to various services or networks are provided. diff --git a/src/img/icon/envelope.svg b/src/img/icon/envelope.svg new file mode 100644 index 0000000..3400159 --- /dev/null +++ b/src/img/icon/envelope.svg @@ -0,0 +1 @@ + diff --git a/src/img/icon/firefox-browser.svg b/src/img/icon/firefox-browser.svg new file mode 100644 index 0000000..f11b3b1 --- /dev/null +++ b/src/img/icon/firefox-browser.svg @@ -0,0 +1 @@ +Firefox Browser diff --git a/src/img/icon/github.svg b/src/img/icon/github.svg new file mode 100644 index 0000000..8949c5a --- /dev/null +++ b/src/img/icon/github.svg @@ -0,0 +1 @@ +GitHub diff --git a/src/img/icon/jitsi.svg b/src/img/icon/jitsi.svg deleted file mode 100644 index f4b23b5..0000000 --- a/src/img/icon/jitsi.svg +++ /dev/null @@ -1 +0,0 @@ -Jitsi diff --git a/src/img/icon/language.svg b/src/img/icon/language.svg new file mode 100644 index 0000000..b1b3f1d --- /dev/null +++ b/src/img/icon/language.svg @@ -0,0 +1 @@ + diff --git a/src/img/icon/search.svg b/src/img/icon/search.svg new file mode 100644 index 0000000..494940d --- /dev/null +++ b/src/img/icon/search.svg @@ -0,0 +1 @@ + diff --git a/src/img/icon/stackoverflow.svg b/src/img/icon/stackoverflow.svg new file mode 100644 index 0000000..fd0a699 --- /dev/null +++ b/src/img/icon/stackoverflow.svg @@ -0,0 +1 @@ +Stack Overflow diff --git a/src/img/icon/tags.svg b/src/img/icon/tags.svg new file mode 100644 index 0000000..295aa1c --- /dev/null +++ b/src/img/icon/tags.svg @@ -0,0 +1 @@ + diff --git a/src/img/icon/twitter.svg b/src/img/icon/twitter.svg new file mode 100644 index 0000000..70967cd --- /dev/null +++ b/src/img/icon/twitter.svg @@ -0,0 +1 @@ +Twitter diff --git a/src/img/icon/wifi.svg b/src/img/icon/wifi.svg new file mode 100644 index 0000000..27af0a5 --- /dev/null +++ b/src/img/icon/wifi.svg @@ -0,0 +1 @@ + diff --git a/src/img/icon/youtube.svg b/src/img/icon/youtube.svg new file mode 100644 index 0000000..8fca435 --- /dev/null +++ b/src/img/icon/youtube.svg @@ -0,0 +1 @@ +YouTube diff --git a/src/scss/icons.scss b/src/scss/icons.scss index 4896a79..ce0dfcc 100644 --- a/src/scss/icons.scss +++ b/src/scss/icons.scss @@ -30,14 +30,20 @@ } @include svg-icon('comments'); +@include svg-icon('envelope'); +@include svg-icon('firefox-browser'); @include svg-icon('gitea'); +@include svg-icon('github'); +@include svg-icon('language'); @include svg-icon('mastodon'); @include svg-icon('matrix'); @include svg-icon('opencollective'); +@include svg-icon('search'); +@include svg-icon('stackoverflow'); +@include svg-icon('tags'); @include svg-icon('threema'); +@include svg-icon('twitter'); @include svg-icon('users'); +@include svg-icon('wifi'); @include svg-icon('xmpp'); - -:root { - --currentColor: #fff; -} +@include svg-icon('youtube'); From 848289cdc0a7e65cdd5cfecda9e680c9d721ccc2 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Wed, 9 Jun 2021 00:58:35 +0200 Subject: [PATCH 026/167] replaced some more icons with svg some more improvements --- src/_data/services.json | 22 +++++++++++----------- src/_includes/layouts/base.njk | 4 ++-- src/_includes/services-extended.html | 6 +----- src/_includes/services-simple.html | 6 +----- src/de/all-donations.html | 2 +- src/de/blog.md | 2 +- src/de/contact.html | 4 ++-- src/de/donate.html | 6 +++--- src/de/index.html | 2 +- src/de/services.html | 4 ++-- src/en/all-donations.html | 2 +- src/en/blog.md | 2 +- src/en/contact.html | 4 ++-- src/en/donate.html | 6 +++--- src/en/index.html | 2 +- src/en/services.html | 4 ++-- src/img/icon/bars.svg | 1 + src/img/icon/book.svg | 1 + src/img/icon/comment-dots.svg | 1 + src/img/icon/hand-holding-heart.svg | 1 + src/img/icon/home.svg | 1 + src/img/icon/server.svg | 1 + src/scss/icons.scss | 6 ++++++ 23 files changed, 47 insertions(+), 43 deletions(-) create mode 100644 src/img/icon/bars.svg create mode 100644 src/img/icon/book.svg create mode 100644 src/img/icon/comment-dots.svg create mode 100644 src/img/icon/hand-holding-heart.svg create mode 100644 src/img/icon/home.svg create mode 100644 src/img/icon/server.svg diff --git a/src/_data/services.json b/src/_data/services.json index 937cae3..4021de7 100644 --- a/src/_data/services.json +++ b/src/_data/services.json @@ -2,7 +2,7 @@ { "id": "searx", "name": "Searx", - "si": "search", + "icon": "si si-search", "url": "https://searx.sp-codes.de", "status": "https://searx.sp-codes.de", "summary": { @@ -13,7 +13,7 @@ { "id": "matrix", "name": "Matrix", - "si": "comments", + "icon": "si si-comments", "url": "https://chat.sp-codes.de", "status": "https://matrix.sp-codes.de/_matrix/static/", "summary": { @@ -24,7 +24,7 @@ { "id": "jitsi", "name": "Jitsi Meet", - "si": "users", + "icon": "si si-users", "url": "https://jitsi.sp-codes.de", "status": "https://jitsi.sp-codes.de", "summary": { @@ -35,7 +35,7 @@ { "id": "mastodon", "name": "Mastodon", - "si": "mastodon", + "icon": "si si-mastodon", "url": "https://social.sp-codes.de", "status": "https://social.sp-codes.de/health", "beta": true, @@ -47,7 +47,7 @@ { "id": "gitea", "name": "Gitea", - "si": "gitea", + "icon": "si si-gitea", "url": "https://git.sp-codes.de", "status": "https://git.sp-codes.de", "summary": { @@ -58,7 +58,7 @@ { "id": "connectivitycheck", "name": "Captive Portal Check", - "si": "wifi", + "icon": "si si-wifi", "status": "https://connectivitycheck.sp-codes.de/generate204", "summary": { "de": "Eine datenschutzfreundliches Tool, um Anmeldeseiten in WLAN-Netzwerken zu erkennen.", @@ -68,7 +68,7 @@ { "id": "firefox-sync", "name": "Firefox Sync", - "si": "firefox-browser", + "icon": "si si-firefox-browser", "status": "https://sync.firefox.sp-codes.de/token/", "summary": { "de": "Ein Service um Firefox Einstellungen, Lesezeichen, offene Tabs und vieles mehr über verschiedene Geräte zu synchronisieren.", @@ -78,7 +78,7 @@ { "id": "shields", "name": "Shields", - "si": "tags", + "icon": "si si-tags", "url": "https://shields.sp-codes.de", "status": "https://shields.sp-codes.de", "summary": { @@ -89,7 +89,7 @@ { "id": "translate", "name": "LibreTranslate", - "si": "language", + "icon": "si si-language", "url": "https://translate.sp-codes.de", "status": "https://translate.sp-codes.de", "beta": true, @@ -101,7 +101,7 @@ { "id": "invidious", "name": "Invidious", - "si": "youtube", + "icon": "si si-youtube", "url": "https://invidious.sp-codes.de", "status": "https://invidious.sp-codes.de", "summary": { @@ -112,7 +112,7 @@ { "id": "nitter", "name": "Nitter", - "si": "twitter", + "icon": "si si-twitter", "url": "https://nitter.sp-codes.de", "status": "https://nitter.sp-codes.de", "summary": { diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index 4d3ad77..fc410de 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -40,7 +40,7 @@ title: sp-codes
    diff --git a/src/en/donate.html b/src/en/donate.html index 8a7eebf..450fcfe 100644 --- a/src/en/donate.html +++ b/src/en/donate.html @@ -62,9 +62,7 @@ eleventyNavigation:
    - zu netcup - + target="_blank">Use voucher
    diff --git a/src/img/netcup-setC-234x60.png b/src/img/netcup-setC-234x60.png deleted file mode 100644 index 52a1abbbba55964f576f8dddad4d32873b0407ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9091 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 B8lM0F From 36e55616758eabea37ffcd36a0d218cef3dfdd36 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 4 Sep 2021 04:02:51 +0000 Subject: [PATCH 050/167] Update dependency @11ty/eleventy to ^1.0.0-canary.42 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3f7e94c..0b2443f 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "browser-sync": "^2.27.5" }, "devDependencies": { - "@11ty/eleventy": "^1.0.0-canary.41", + "@11ty/eleventy": "^1.0.0-canary.42", "@11ty/eleventy-navigation": "^0.3.2", "@node-minify/core": "^6.2.0", "@node-minify/crass": "^6.2.0", From d31882f3190e8e59357cb5f37d7f6135834c8173 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 8 Sep 2021 19:01:35 +0000 Subject: [PATCH 051/167] Update dependency @11ty/eleventy to ^1.0.0-canary.44 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0b2443f..8e10446 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "browser-sync": "^2.27.5" }, "devDependencies": { - "@11ty/eleventy": "^1.0.0-canary.42", + "@11ty/eleventy": "^1.0.0-canary.44", "@11ty/eleventy-navigation": "^0.3.2", "@node-minify/core": "^6.2.0", "@node-minify/crass": "^6.2.0", From 10a852d88e6661c2b7e46a4f822521df75fd82e5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 16 Sep 2021 16:01:35 +0000 Subject: [PATCH 052/167] Update dependency minify to ^7.1.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8e10446..554a0cd 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@node-minify/html-minifier": "^6.2.0", "cpx": "^1.5.0", "glob": "^7.1.7", - "minify": "^7.0.2", + "minify": "^7.1.0", "node-sass": "^6.0.1", "node-sass-tilde-importer": "^1.0.2", "npm-run-all": "^4.1.5", From 15a235262ea18f0b2954f06e0df2bb4cac2ac4eb Mon Sep 17 00:00:00 2001 From: samuel-p Date: Mon, 20 Sep 2021 20:07:55 +0200 Subject: [PATCH 053/167] updated donations.json --- src/_data/donations.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/_data/donations.json b/src/_data/donations.json index d778498..567d199 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,13 @@ { "year": 2021, "donations": [ + { + "date": "20.09.2021", + "amount": 20, + "via": "banktransfer", + "from": "Clemi", + "first": true + }, { "date": "26.08.2021", "amount": 18.27, From 468dd9d9ceafba15fe3b143b37d578e7842e16a9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 23 Sep 2021 04:01:28 +0000 Subject: [PATCH 054/167] Update dependency glob to ^7.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 554a0cd..7db2367 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@node-minify/crass": "^6.2.0", "@node-minify/html-minifier": "^6.2.0", "cpx": "^1.5.0", - "glob": "^7.1.7", + "glob": "^7.2.0", "minify": "^7.1.0", "node-sass": "^6.0.1", "node-sass-tilde-importer": "^1.0.2", From 09dbe34126ca2423261ec7ff2c1677bc9b7b98fc Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 28 Sep 2021 16:01:27 +0000 Subject: [PATCH 055/167] Update dependency minify to ^7.2.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7db2367..aedc474 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@node-minify/html-minifier": "^6.2.0", "cpx": "^1.5.0", "glob": "^7.2.0", - "minify": "^7.1.0", + "minify": "^7.2.1", "node-sass": "^6.0.1", "node-sass-tilde-importer": "^1.0.2", "npm-run-all": "^4.1.5", From d3b77bd8b404ccfa0c5705e6c19c7347e218668b Mon Sep 17 00:00:00 2001 From: samuel-p Date: Fri, 1 Oct 2021 19:19:31 +0200 Subject: [PATCH 056/167] added umami.js added .woodpecker.yml --- .woodpecker.yml | 44 ++++++++++++++++++++++++++++++++++ src/_includes/layouts/base.njk | 1 + 2 files changed, 45 insertions(+) create mode 100644 .woodpecker.yml diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..41c30f6 --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,44 @@ +kind: pipeline +type: docker +name: default + +steps: + - name: build + image: node:lts + commands: + - npm install + - npm run build + - name: deploy-dev + image: alpine + environment: + FTP_HOST: + from_secret: FTP_HOST + FTP_USERNAME: + from_secret: FTP_USERNAME + FTP_PASSWORD: + from_secret: FTP_PASSWORD + commands: + - which lftp || ( apk --update add lftp ) + - lftp -e "set ftp:ssl-force true; set ssl:verify-certificate no; mirror -R ./dist/ dev.sp-codes.de/; bye" -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST + when: + branch: + - develop + event: + - push + - name: deploy + image: alpine + environment: + FTP_HOST: + from_secret: FTP_HOST + FTP_USERNAME: + from_secret: FTP_USERNAME + FTP_PASSWORD: + from_secret: FTP_PASSWORD + commands: + - which lftp || ( apk --update add lftp ) + - lftp -e "set ftp:ssl-force true; set ssl:verify-certificate no; mirror -R ./dist/ sp-codes.de/; bye" -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST + when: + branch: + - main + event: + - push diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index 6b154a2..297a629 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -35,6 +35,7 @@ title: sp-codes +
    -
    diff --git a/src/de/privacy.html b/src/de/privacy.html index ccb0b16..f65b7e2 100644 --- a/src/de/privacy.html +++ b/src/de/privacy.html @@ -12,7 +12,8 @@ title: Datenschutzerklärung

    E-Mail-Adresse: mail@sp-codes.de
    - Kontaktmöglichkeiten: https://sp-codes.de/{{locale}}/contact
    + Kontaktmöglichkeiten: https://sp-codes.de/{{locale}}/contact
    Impressum: https://sp-codes.de/{{locale}}/imprint

    @@ -38,19 +39,18 @@ title: Datenschutzerklärung

    Analysedienste

    - Wir verwenden die Open-Source-Software Plausible Analytics, bereitgestellt - von plausible.sp-codes.de, um Website-Besuche, Seitenaufrufe usw. zu + Wir verwenden die Open-Source-Software umami, bereitgestellt + von umami.sp-codes.de, um Website-Besuche, Seitenaufrufe usw. zu zählen. Auf unseren öffentlichen Dashboards kannst du die gleichen Daten sehen wie wir:

    - Es werden keine Cookies verwendet und keine persönlichen Daten; nicht einmal deine IP-Adresse - oder dein User-Agent wird gespeichert. Weitere Informationen findest du in der Plausible Datenschutzerklärung. + Es werden keine Cookies verwendet und keine persönlich identifizierbaren Informationen gespeichert. Weitere + Informationen findest du in den FAQ von umami.

    From f8739a76573ccd1722efa8bd889f11491b4bceaf Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sun, 24 Oct 2021 20:59:37 +0200 Subject: [PATCH 063/167] updated minify --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9dbd1f8..f3913b6 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@node-minify/html-minifier": "^6.2.0", "cpx": "^1.5.0", "glob": "^7.2.0", - "minify": "^8.0.0", + "minify": "^8.0.3", "node-sass": "^6.0.1", "node-sass-tilde-importer": "^1.0.2", "npm-run-all": "^4.1.5", From c9f1c89ca5aa811b2ddbe7660d2b052118f19c63 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sun, 24 Oct 2021 21:43:59 +0200 Subject: [PATCH 064/167] updated .eleventy.js --- .eleventy.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.eleventy.js b/.eleventy.js index 2cd5a68..4ca320e 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -44,10 +44,18 @@ module.exports = function (eleventyConfig) { }); return { + // Pre-process *.md files with: (default: `liquid`) + markdownTemplateEngine: "njk", + // Pre-process *.html files with: (default: `liquid`) + htmlTemplateEngine: "njk", + // Opt-out of pre-processing global data JSON files: (default: `liquid`) + dataTemplateEngine: false, + dir: { input: "src", includes: "_includes", layouts: "_includes/layouts", + data: "_data", output: "dist" } }; From b309817ce496187b54c7d6182d42e77eb5fe1aab Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 26 Oct 2021 13:02:02 +0000 Subject: [PATCH 065/167] Update dependency browser-sync to ^2.27.6 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f3913b6..c06bac0 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "url": "https://git.sp-codes.de/samuel-p/sp-codes.de" }, "optionalDependencies": { - "browser-sync": "^2.27.5" + "browser-sync": "^2.27.6" }, "devDependencies": { "@11ty/eleventy": "^1.0.0-canary.44", From e325848dc1900a661780b934f4bbaf0ffefd9d07 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 28 Oct 2021 04:03:02 +0000 Subject: [PATCH 066/167] Update dependency browser-sync to ^2.27.7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c06bac0..5fae753 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "url": "https://git.sp-codes.de/samuel-p/sp-codes.de" }, "optionalDependencies": { - "browser-sync": "^2.27.6" + "browser-sync": "^2.27.7" }, "devDependencies": { "@11ty/eleventy": "^1.0.0-canary.44", From eca633357e10f93da6a264f23ff3cd7b8505d603 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 5 Nov 2021 05:02:08 +0000 Subject: [PATCH 067/167] Update dependency bootstrap to ^4.6.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5fae753..5fec6f5 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,6 @@ "uncss": "^0.17.3" }, "dependencies": { - "bootstrap": "^4.6.0" + "bootstrap": "^4.6.1" } } From edf7709df1be167bbd320c0c0428f213fbd62253 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 16 Nov 2021 16:45:37 +0100 Subject: [PATCH 068/167] updated donations.json --- src/_data/donations.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/_data/donations.json b/src/_data/donations.json index 567d199..f56334d 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,20 @@ { "year": 2021, "donations": [ + { + "date": "16.11.2021", + "amount": 120, + "via": "banktransfer", + "from": "poetaster", + "first": true + }, + { + "date": "16.11.2021", + "amount": 25, + "via": "banktransfer", + "from": null, + "first": true + }, { "date": "20.09.2021", "amount": 20, From ee85b963b19517d06ddf9ab16316f68a870fa9bb Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 16 Nov 2021 16:52:59 +0100 Subject: [PATCH 069/167] updated README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b43715..8e9e175 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # sp-codes.de -[![Build Status](https://ci.sp-codes.de/api/badges/samuel-p/sp-codes.de/status.svg)](https://ci.sp-codes.de/samuel-p/sp-codes.de) +[![Build Status](https://ci.sp-codes.de/api/badges/samuel-p/sp-codes.de/status.svg?branch=main)](https://ci.sp-codes.de/samuel-p/sp-codes.de) Website for [sp-codes.de](https://sp-codes.de) From 0b80f1906c3f0e3ae20945603830faa61d4bf1d1 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sat, 4 Dec 2021 01:48:49 +0100 Subject: [PATCH 070/167] updated donations.json --- src/_data/donations.json | 7 +++++++ src/_includes/layouts/base.njk | 1 - 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/_data/donations.json b/src/_data/donations.json index f56334d..d1d5acf 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,13 @@ { "year": 2021, "donations": [ + { + "date": "30.11.2021", + "amount": 5, + "via": "banktransfer", + "from": "Rumo", + "first": false + }, { "date": "16.11.2021", "amount": 120, diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index 80ff588..f012dea 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -77,7 +77,6 @@ title: sp-codes {% endfor %}
    -

    {{url}}

    {{ content | safe }} From 21cab43e256cacb2200bc1cb6052973e1ed5289f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 6 Dec 2021 14:01:11 +0000 Subject: [PATCH 071/167] Update dependency node-sass to v7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5fec6f5..680b76d 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "cpx": "^1.5.0", "glob": "^7.2.0", "minify": "^8.0.3", - "node-sass": "^6.0.1", + "node-sass": "^7.0.0", "node-sass-tilde-importer": "^1.0.2", "npm-run-all": "^4.1.5", "uncss": "^0.17.3" From 257373b8348eb42bf02d203a3a9441736567f941 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 22 Dec 2021 20:01:02 +0000 Subject: [PATCH 072/167] Update dependency @11ty/eleventy to ^1.0.0-canary.49 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 680b76d..899bdf1 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "browser-sync": "^2.27.7" }, "devDependencies": { - "@11ty/eleventy": "^1.0.0-canary.44", + "@11ty/eleventy": "^1.0.0-canary.49", "@11ty/eleventy-navigation": "^0.3.2", "@node-minify/core": "^6.2.0", "@node-minify/crass": "^6.2.0", From 42858fde2a0bca43acb96e40f6c47de5f6a60fa1 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 11 Jan 2022 16:36:01 +0100 Subject: [PATCH 073/167] updated donations.json and removed nitter --- src/_data/donations.json | 12 +++++++++ src/_data/services.json | 53 ++++++++++++++++------------------------ 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/src/_data/donations.json b/src/_data/donations.json index d1d5acf..87eaea2 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -1,4 +1,16 @@ [ + { + "year": 2022, + "donations": [ + { + "date": "03.01.2022", + "amount": 10, + "via": "banktransfer", + "from": "TeomaHK", + "first": true + } + ] + }, { "year": 2021, "donations": [ diff --git a/src/_data/services.json b/src/_data/services.json index 343d5fd..842e7ce 100644 --- a/src/_data/services.json +++ b/src/_data/services.json @@ -1,15 +1,4 @@ [ - { - "id": "searx", - "name": "Searx", - "icon": "i-search", - "url": "https://searx.sp-codes.de", - "status": "https://searx.sp-codes.de", - "summary": { - "de": "Eine privatsphären-respektierende, hackbare Metasuchmaschine.", - "en": "A privacy-respecting, hackable metasearch engine." - } - }, { "id": "matrix", "name": "Matrix", @@ -66,6 +55,16 @@ "en": "A lightweight code hosting platform for git." } }, + { + "id": "connectivitycheck", + "name": "Captive Portal Check", + "icon": "i-wifi", + "status": "https://connectivitycheck.sp-codes.de/generate204", + "summary": { + "de": "Eine datenschutzfreundliches Tool, um Anmeldeseiten in WLAN-Netzwerken zu erkennen.", + "en": "A privacy friendly Service to detect captive portals in WIFI networks." + } + }, { "id": "gotify", "name": "Gotify", @@ -78,16 +77,6 @@ "en": "A simple service for sending and receiving messages in real-time." } }, - { - "id": "connectivitycheck", - "name": "Captive Portal Check", - "icon": "i-wifi", - "status": "https://connectivitycheck.sp-codes.de/generate204", - "summary": { - "de": "Eine datenschutzfreundliches Tool, um Anmeldeseiten in WLAN-Netzwerken zu erkennen.", - "en": "A privacy friendly Service to detect captive portals in WIFI networks." - } - }, { "id": "firefox-sync", "name": "Firefox Sync", @@ -109,6 +98,17 @@ "en": "Concise, consistent, and legible badges in SVG and raster format." } }, + { + "id": "searx", + "name": "Searx", + "icon": "i-search", + "url": "https://searx.sp-codes.de", + "status": "https://searx.sp-codes.de", + "summary": { + "de": "Eine privatsphären-respektierende, hackbare Metasuchmaschine.", + "en": "A privacy-respecting, hackable metasearch engine." + } + }, { "id": "translate", "name": "Translate", @@ -131,16 +131,5 @@ "de": "Ein alternatives YouTube-Frontend.", "en": "An alternative YouTube-Frontend." } - }, - { - "id": "nitter", - "name": "Nitter", - "icon": "i-twitter", - "url": "https://nitter.sp-codes.de", - "status": "https://nitter.sp-codes.de", - "summary": { - "de": "Ein alternatives Twitter-Frontend.", - "en": "An alternative Twitter-Frontend." - } } ] From 76100a3e86d226d7639180df9c7838b82ace52cd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 11 Jan 2022 17:01:02 +0000 Subject: [PATCH 074/167] Update dependency @11ty/eleventy to ^1.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 899bdf1..6552295 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "browser-sync": "^2.27.7" }, "devDependencies": { - "@11ty/eleventy": "^1.0.0-canary.49", + "@11ty/eleventy": "^1.0.0", "@11ty/eleventy-navigation": "^0.3.2", "@node-minify/core": "^6.2.0", "@node-minify/crass": "^6.2.0", From 4a1fdc4afcabdb4980760114051b57e12deb7419 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 11 Jan 2022 17:01:08 +0000 Subject: [PATCH 075/167] Update dependency node-sass to ^7.0.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 899bdf1..c67d90c 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "cpx": "^1.5.0", "glob": "^7.2.0", "minify": "^8.0.3", - "node-sass": "^7.0.0", + "node-sass": "^7.0.1", "node-sass-tilde-importer": "^1.0.2", "npm-run-all": "^4.1.5", "uncss": "^0.17.3" From 188f80550486cc62f917734f58e5cc2f0810d90a Mon Sep 17 00:00:00 2001 From: samuel-p Date: Mon, 31 Jan 2022 12:48:46 +0100 Subject: [PATCH 076/167] updated donations.json --- src/_data/donations.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/_data/donations.json b/src/_data/donations.json index 87eaea2..601ab88 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,13 @@ { "year": 2022, "donations": [ + { + "date": "17.01.2022", + "amount": 1, + "via": "banktransfer", + "from": "Jonathan Klatt", + "first": true + }, { "date": "03.01.2022", "amount": 10, From 9d9934ef4f51dd3492ab3dccdd137f9841bc2459 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 15 Feb 2022 20:22:58 +0100 Subject: [PATCH 077/167] updated donations.json --- src/_data/donations.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/_data/donations.json b/src/_data/donations.json index 601ab88..b001bfb 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,13 @@ { "year": 2022, "donations": [ + { + "date": "14.02.2022", + "amount": 10, + "via": "banktransfer", + "from": "TeomaHK", + "first": false + }, { "date": "17.01.2022", "amount": 1, From 0488982bbd5d13f49b2208c278f8ff089df58b1e Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 8 Mar 2022 18:20:59 +0100 Subject: [PATCH 078/167] updated donations.json --- src/de/index.html | 10 ++++++++++ src/de/services.html | 16 ++++++++++++++-- src/de/services/matrix.md | 11 +++++++++-- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/de/index.html b/src/de/index.html index 15e95a6..1e6bd35 100644 --- a/src/de/index.html +++ b/src/de/index.html @@ -16,6 +16,16 @@ eleventyNavigation: bereitgestellten Dienste. Schau dich gerne um, lies meinen Blog oder nutze die verschiedenen Tools.

    +

    + Seit April 2022 biete ich mit meiner Firma Ossrox auch professionelles + Hosting von Open-Source-Tools für Unternehmen, Privatpersonen und andere Organisationen an. Solltest du + daran Interesse haben schau gerne auf unserer Webseite vorbei oder schreibe mir eine Nachricht. +

    +

    + + Ossrox + +

    diff --git a/src/de/services.html b/src/de/services.html index 17ba592..a262934 100644 --- a/src/de/services.html +++ b/src/de/services.html @@ -13,6 +13,18 @@ eleventyNavigation: Übersicht der einzelnen Services und jeweils eine kurze Beschreibung. Alle Services werden in Deutschland gehostet. Fühl dich frei, davon Gebrauch zu machen.

    -

    Für die Nutzer:innen der Dienste gibt es einen öffentlichen Matrix-Raum als Austauschort für Fragen, Ideen und Probleme. Komm gerne vorbei, wenn du einen der hier aufgelisteten Dienste nutzt oder einfach so mal vorbeischauen willst:

    +

    Für die Nutzer:innen der Dienste gibt es einen öffentlichen Matrix-Raum als Austauschort für Fragen, Ideen und + Probleme. Komm gerne vorbei, wenn du einen der hier aufgelisteten Dienste nutzt oder einfach so mal vorbeischauen + willst:

    -

    #sp-codes:matrix.sp-codes.de

    +

    #sp-codes:matrix.sp-codes.de +

    + +
    +

    Du willst dein eigenes Open-Source-Project umsetzen, um deine digitale Souveränität zurückzuerlangen? Gerne stehe + ich dir dafür persönlich mit meiner Firma zur Seite. Schau gerne auf ossrox.org + vorbei oder schreib mir eine Nachricht.

    + + Ossrox + +
    diff --git a/src/de/services/matrix.md b/src/de/services/matrix.md index 15a455a..c81dfe5 100644 --- a/src/de/services/matrix.md +++ b/src/de/services/matrix.md @@ -16,8 +16,7 @@ erstellen und trotzdem mit allen Matrix-Nutzern:innen kommunizieren, nicht nur m verschickten Nachrichten werden so nur auf den beteiligten Servern gespeichert. Auch die Anrufe laufen nur über die beteiligten Server. -__Seit Anfang 2020 betreibe ich einen öffentlichen Matrix-Server: [matrix.sp-codes.de](https://matrix.sp-codes.de/) und -eine öffentliche Element-Web Instanz: [chat.sp-codes.de](https://chat.sp-codes.de/)__ +__Seit Anfang 2020 betreibe ich einen öffentlichen Matrix-Server: [matrix.sp-codes.de](https://matrix.sp-codes.de/) und eine öffentliche Element-Web Instanz: [chat.sp-codes.de](https://chat.sp-codes.de/)__ Die Serverregeln kannst du gerne [hier](https://matrix.sp-codes.de/_matrix/consent) nachlesen. Melde dich gerne auf meinem Server an oder suche dir einen aus den unten verlinkten Listen heraus. Ich freue mich auf deine Nachricht an [@samuel-p:matrix.sp-codes.de](https://matrix.to/#/@samuel-p:matrix.sp-codes.de). @@ -26,6 +25,14 @@ deine Nachricht an [@samuel-p:matrix.sp-codes.de](https://matrix.to/#/@samuel-p: Jetzt registrieren
    +Wenn du einen eigenen Matrix-Server für dich, deine Familie oder deine Firma betreiben willst unterstütze ich dich gerne mit meiner Firma Ossrox damit. Schau dir gerne unser Angebot dazu auf unserer Webseite an oder schreib mir eine Nachricht dazu. + + + ## Einstieg Auf meinem Blog findest du eine Artikelserie für einen einfachen Einstieg in Matrix: From e066dd3dc0bc45f72bd91f9fa99a118f61d590f5 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 8 Mar 2022 18:21:49 +0100 Subject: [PATCH 079/167] updated donations.json --- src/_data/donations.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/_data/donations.json b/src/_data/donations.json index b001bfb..0b8b541 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,13 @@ { "year": 2022, "donations": [ + { + "date": "03.03.2022", + "amount": 10, + "via": "banktransfer", + "from": "TeomaHK", + "first": false + }, { "date": "14.02.2022", "amount": 10, From 0456cbaf1fd97641a7490b9b42b6864ff95d0138 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 8 Mar 2022 20:01:51 +0000 Subject: [PATCH 080/167] Update dependency minify to ^8.0.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b5731eb..4f4bedc 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@node-minify/html-minifier": "^6.2.0", "cpx": "^1.5.0", "glob": "^7.2.0", - "minify": "^8.0.3", + "minify": "^8.0.4", "node-sass": "^7.0.1", "node-sass-tilde-importer": "^1.0.2", "npm-run-all": "^4.1.5", From 9ce8648379e948c30ed27f6c23b6262f8aa4031e Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sun, 13 Mar 2022 15:22:17 +0100 Subject: [PATCH 081/167] updated ossrox banners --- src/de/index.html | 4 +-- src/de/services.html | 4 +-- src/de/services/jitsi.md | 8 +++++ src/de/services/matrix.md | 6 ++-- src/en/index.html | 10 ++++++ src/en/services.html | 15 ++++++-- src/en/services/jitsi.md | 8 +++++ src/en/services/matrix.md | 23 ++++++++++++- src/img/ossrox.svg | 72 +++++++++++++++++++++++++++++++++++++++ src/scss/main.scss | 9 +++++ 10 files changed, 149 insertions(+), 10 deletions(-) create mode 100644 src/img/ossrox.svg diff --git a/src/de/index.html b/src/de/index.html index 1e6bd35..b2ba2e0 100644 --- a/src/de/index.html +++ b/src/de/index.html @@ -19,11 +19,11 @@ eleventyNavigation:

    Seit April 2022 biete ich mit meiner Firma Ossrox auch professionelles Hosting von Open-Source-Tools für Unternehmen, Privatpersonen und andere Organisationen an. Solltest du - daran Interesse haben schau gerne auf unserer Webseite vorbei oder schreibe mir eine Nachricht. + daran Interesse haben, schau gerne auf unserer Webseite vorbei oder schreibe mir eine Nachricht.

    - Ossrox + Ossrox

    diff --git a/src/de/services.html b/src/de/services.html index a262934..33ab221 100644 --- a/src/de/services.html +++ b/src/de/services.html @@ -21,10 +21,10 @@ eleventyNavigation:
    -

    Du willst dein eigenes Open-Source-Project umsetzen, um deine digitale Souveränität zurückzuerlangen? Gerne stehe +

    Du willst dein eigenes Open-Source-Projekt umsetzen, um deine digitale Souveränität zurückzuerlangen? Gerne stehe ich dir dafür persönlich mit meiner Firma zur Seite. Schau gerne auf ossrox.org vorbei oder schreib mir eine Nachricht.

    - Ossrox + Ossrox
    diff --git a/src/de/services/jitsi.md b/src/de/services/jitsi.md index 9ff1629..af28f1f 100644 --- a/src/de/services/jitsi.md +++ b/src/de/services/jitsi.md @@ -11,6 +11,14 @@ __Seit Juli 2020 betreibe ich eine eigene Jitsi-Meet Instanz. Du findest sie unt Gerne darfst du die Instanz mit anderen Leuten nutzen. +Wenn du einen eigenen Jitsi-Server für dich, deine Familie oder deine Firma betreiben willst, unterstütze ich dich gerne mit meiner Firma Ossrox damit. Schau dir gerne unser Angebot dazu auf unserer Webseite an oder schreib mir eine Nachricht dazu. + + + ## Weitere nützliche Links * [Jitsi Webseite](https://jitsi.org/) diff --git a/src/de/services/matrix.md b/src/de/services/matrix.md index c81dfe5..8f85d7b 100644 --- a/src/de/services/matrix.md +++ b/src/de/services/matrix.md @@ -25,11 +25,11 @@ deine Nachricht an [@samuel-p:matrix.sp-codes.de](https://matrix.to/#/@samuel-p: Jetzt registrieren
    -Wenn du einen eigenen Matrix-Server für dich, deine Familie oder deine Firma betreiben willst unterstütze ich dich gerne mit meiner Firma Ossrox damit. Schau dir gerne unser Angebot dazu auf unserer Webseite an oder schreib mir eine Nachricht dazu. +Wenn du einen eigenen Matrix-Server für dich, deine Familie oder deine Firma betreiben willst, unterstütze ich dich gerne mit meiner Firma Ossrox damit. Schau dir gerne unser Angebot dazu auf unserer Webseite an oder schreib mir eine Nachricht dazu. diff --git a/src/en/index.html b/src/en/index.html index f08ccb0..e10e56e 100644 --- a/src/en/index.html +++ b/src/en/index.html @@ -15,6 +15,16 @@ eleventyNavigation: On this site you will find information about me and an overview of the services I provide. Feel free to look around, read my blog (German) or use the various services.

    +

    + Since April 2022 I also offer professional hosting of open source tools for companies, private persons and + other organizations with my company Ossrox. If you are + interested, feel free to visit our website or send me a message. +

    +

    + + Ossrox + +

    diff --git a/src/en/services.html b/src/en/services.html index 3914c56..a8aa42a 100644 --- a/src/en/services.html +++ b/src/en/services.html @@ -12,6 +12,17 @@ eleventyNavigation:

    In my spare time I provide various open source services for free. Here you can find an overview of the individual services and a short description for each of them. All services are hosted in Germany. Feel free to use it.

    -

    For the users of the services there is a public matrix room as a place to share questions, ideas and problems. Feel free to join us if you use one of the services listed here or just want to drop by:

    +

    For the users of the services there is a public matrix room as a place to share questions, ideas and problems. Feel + free to join us if you use one of the services listed here or just want to drop by:

    -

    #sp-codes:matrix.sp-codes.de

    +

    #sp-codes:matrix.sp-codes.de +

    + +
    +

    You want to realize your own open source project to regain your digital sovereignty? I would be happy to support + you personally with my company. Feel free to visit ossrox.org + or send me a message.

    + + Ossrox + +
    diff --git a/src/en/services/jitsi.md b/src/en/services/jitsi.md index 3c4151e..5fb0ef2 100644 --- a/src/en/services/jitsi.md +++ b/src/en/services/jitsi.md @@ -11,6 +11,14 @@ __Since July 2020 I run my own Jitsi-Meet instance. You can find it at [jitsi.sp You are welcome to use the instance with other people. +If you want to have your own Jitsi server for you, your family or your company, I would be happy to support you with my company Ossrox. Please have a look at our services on our website or send me a message. + + + ## More useful links * [Jitsi Website](https://jitsi.org/) diff --git a/src/en/services/matrix.md b/src/en/services/matrix.md index ae65aa3..662d321 100644 --- a/src/en/services/matrix.md +++ b/src/en/services/matrix.md @@ -17,7 +17,28 @@ You can read the server rules [here](https://matrix.sp-codes.de/_matrix/consent) Register now
    -On my blog (German) you will find an article series for an easy start to Matrix: [Werde Teil der Matrix](https://samuels-blog.de/werde-teil-der-matrix-matrix-teil-1/) +If you want to have your own matrix server for you, your family or your company, I would be happy to support you with my company Ossrox. Please have a look at our services on our website or send me a message. + + + +On my blog (German) you will find an article series for an easy start to Matrix: + + ## Why Matrix? diff --git a/src/img/ossrox.svg b/src/img/ossrox.svg new file mode 100644 index 0000000..11da94e --- /dev/null +++ b/src/img/ossrox.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + diff --git a/src/scss/main.scss b/src/scss/main.scss index dfad3b0..2c5c3e6 100644 --- a/src/scss/main.scss +++ b/src/scss/main.scss @@ -286,3 +286,12 @@ table.table { border: 1px solid #444; } } + +.ossrox { + background-color: #efefef; + border: 2px solid #000; + box-shadow: 0 0 0 2px rgba(255, 255, 255, .7); + padding: 5px; + margin: 5px; + max-width: 250px; +} From ff727bd1b4d066a354738e81739551e4d4cd0a77 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 15 Mar 2022 11:01:20 +0000 Subject: [PATCH 082/167] Update dependency browser-sync to ^2.27.9 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4f4bedc..bdead44 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "url": "https://git.sp-codes.de/samuel-p/sp-codes.de" }, "optionalDependencies": { - "browser-sync": "^2.27.7" + "browser-sync": "^2.27.9" }, "devDependencies": { "@11ty/eleventy": "^1.0.0", From 2147cb4f95f6851d897e760c2d17824993c5d30a Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 29 Mar 2022 20:59:41 +0200 Subject: [PATCH 083/167] fixed links removed jitsi ad --- src/de/services/jitsi.md | 8 -------- src/de/services/matrix.md | 2 +- src/en/services/jitsi.md | 8 -------- src/en/services/matrix.md | 2 +- 4 files changed, 2 insertions(+), 18 deletions(-) diff --git a/src/de/services/jitsi.md b/src/de/services/jitsi.md index af28f1f..9ff1629 100644 --- a/src/de/services/jitsi.md +++ b/src/de/services/jitsi.md @@ -11,14 +11,6 @@ __Seit Juli 2020 betreibe ich eine eigene Jitsi-Meet Instanz. Du findest sie unt Gerne darfst du die Instanz mit anderen Leuten nutzen. -Wenn du einen eigenen Jitsi-Server für dich, deine Familie oder deine Firma betreiben willst, unterstütze ich dich gerne mit meiner Firma Ossrox damit. Schau dir gerne unser Angebot dazu auf unserer Webseite an oder schreib mir eine Nachricht dazu. - - - ## Weitere nützliche Links * [Jitsi Webseite](https://jitsi.org/) diff --git a/src/de/services/matrix.md b/src/de/services/matrix.md index 8f85d7b..7b4542c 100644 --- a/src/de/services/matrix.md +++ b/src/de/services/matrix.md @@ -28,7 +28,7 @@ deine Nachricht an [@samuel-p:matrix.sp-codes.de](https://matrix.to/#/@samuel-p: Wenn du einen eigenen Matrix-Server für dich, deine Familie oder deine Firma betreiben willst, unterstütze ich dich gerne mit meiner Firma Ossrox damit. Schau dir gerne unser Angebot dazu auf unserer Webseite an oder schreib mir eine Nachricht dazu. diff --git a/src/en/services/jitsi.md b/src/en/services/jitsi.md index 5fb0ef2..3c4151e 100644 --- a/src/en/services/jitsi.md +++ b/src/en/services/jitsi.md @@ -11,14 +11,6 @@ __Since July 2020 I run my own Jitsi-Meet instance. You can find it at [jitsi.sp You are welcome to use the instance with other people. -If you want to have your own Jitsi server for you, your family or your company, I would be happy to support you with my company Ossrox. Please have a look at our services on our website or send me a message. - - - ## More useful links * [Jitsi Website](https://jitsi.org/) diff --git a/src/en/services/matrix.md b/src/en/services/matrix.md index 662d321..0f1f96a 100644 --- a/src/en/services/matrix.md +++ b/src/en/services/matrix.md @@ -20,7 +20,7 @@ You can read the server rules [here](https://matrix.sp-codes.de/_matrix/consent) If you want to have your own matrix server for you, your family or your company, I would be happy to support you with my company Ossrox. Please have a look at our services on our website or send me a message. From 35e82bf74bb436d0efd6c23331cf4e9f9b9b751a Mon Sep 17 00:00:00 2001 From: samuel-p Date: Tue, 29 Mar 2022 21:09:25 +0200 Subject: [PATCH 084/167] restored jitsi ad --- src/de/services/jitsi.md | 8 ++++++++ src/en/services/jitsi.md | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/de/services/jitsi.md b/src/de/services/jitsi.md index 9ff1629..8217642 100644 --- a/src/de/services/jitsi.md +++ b/src/de/services/jitsi.md @@ -11,6 +11,14 @@ __Seit Juli 2020 betreibe ich eine eigene Jitsi-Meet Instanz. Du findest sie unt Gerne darfst du die Instanz mit anderen Leuten nutzen. +Wenn du einen eigenen Jitsi-Server für dich, deine Familie oder deine Firma betreiben willst, unterstütze ich dich gerne mit meiner Firma Ossrox damit. Schau dir gerne unser Angebot dazu auf unserer Webseite an oder schreib mir eine Nachricht dazu. + + + ## Weitere nützliche Links * [Jitsi Webseite](https://jitsi.org/) diff --git a/src/en/services/jitsi.md b/src/en/services/jitsi.md index 3c4151e..4adbdcd 100644 --- a/src/en/services/jitsi.md +++ b/src/en/services/jitsi.md @@ -11,6 +11,14 @@ __Since July 2020 I run my own Jitsi-Meet instance. You can find it at [jitsi.sp You are welcome to use the instance with other people. +If you want to have your own Jitsi server for you, your family or your company, I would be happy to support you with my company Ossrox. Please have a look at our services on our website or send me a message. + + + ## More useful links * [Jitsi Website](https://jitsi.org/) From 3f6fcc700a8587a04688af07263cba5cfc86c800 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 11 Apr 2022 19:01:33 +0000 Subject: [PATCH 085/167] Update dependency glob to v8 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bdead44..32f78e1 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@node-minify/crass": "^6.2.0", "@node-minify/html-minifier": "^6.2.0", "cpx": "^1.5.0", - "glob": "^7.2.0", + "glob": "^8.0.1", "minify": "^8.0.4", "node-sass": "^7.0.1", "node-sass-tilde-importer": "^1.0.2", From d02d7042ac6336d067c027095c13b151c7dfaad4 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 18 Apr 2022 19:01:22 +0000 Subject: [PATCH 086/167] Update dependency @11ty/eleventy to ^1.0.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bdead44..28f07e7 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "browser-sync": "^2.27.9" }, "devDependencies": { - "@11ty/eleventy": "^1.0.0", + "@11ty/eleventy": "^1.0.1", "@11ty/eleventy-navigation": "^0.3.2", "@node-minify/core": "^6.2.0", "@node-minify/crass": "^6.2.0", From a00d9fe036ea3a26b0d5b151ea4c86e8f8ee8b00 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sun, 1 May 2022 21:15:40 +0200 Subject: [PATCH 087/167] updated donations.json --- src/_data/donations.json | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/_data/donations.json b/src/_data/donations.json index b001bfb..2490702 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,34 @@ { "year": 2022, "donations": [ + { + "date": "04.04.2022", + "amount": 10, + "via": "banktransfer", + "from": "TeomaHK", + "first": false + }, + { + "date": "15.03.2022", + "amount": 1, + "via": "banktransfer", + "from": "Jonathan Klatt", + "first": false + }, + { + "date": "10.03.2022", + "amount": 1.42, + "via": "banktransfer", + "from": "Jonathan Klatt", + "first": false + }, + { + "date": "03.03.2022", + "amount": 10, + "via": "banktransfer", + "from": "TeomaHK", + "first": false + }, { "date": "14.02.2022", "amount": 10, From 6d2ac07388b91b269287e489d6bc03889992e25c Mon Sep 17 00:00:00 2001 From: samuel-p Date: Sun, 1 May 2022 22:02:29 +0200 Subject: [PATCH 088/167] updated donations.json --- src/_data/donations.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/_data/donations.json b/src/_data/donations.json index 0b8b541..2490702 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,27 @@ { "year": 2022, "donations": [ + { + "date": "04.04.2022", + "amount": 10, + "via": "banktransfer", + "from": "TeomaHK", + "first": false + }, + { + "date": "15.03.2022", + "amount": 1, + "via": "banktransfer", + "from": "Jonathan Klatt", + "first": false + }, + { + "date": "10.03.2022", + "amount": 1.42, + "via": "banktransfer", + "from": "Jonathan Klatt", + "first": false + }, { "date": "03.03.2022", "amount": 10, From 067a4b58488956585e5846531b0c5b9241cbe61d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 7 May 2022 04:01:16 +0000 Subject: [PATCH 089/167] Update dependency @11ty/eleventy-navigation to ^0.3.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3e97428..176117a 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ }, "devDependencies": { "@11ty/eleventy": "^1.0.1", - "@11ty/eleventy-navigation": "^0.3.2", + "@11ty/eleventy-navigation": "^0.3.3", "@node-minify/core": "^6.2.0", "@node-minify/crass": "^6.2.0", "@node-minify/html-minifier": "^6.2.0", From ca480babaf0eadbe97d7a15104621c3d8057a723 Mon Sep 17 00:00:00 2001 From: samuel-p Date: Thu, 12 May 2022 12:25:22 +0200 Subject: [PATCH 090/167] updated donations.json --- src/_data/donations.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/_data/donations.json b/src/_data/donations.json index 2490702..f15f742 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,20 @@ { "year": 2022, "donations": [ + { + "date": "11.05.2022", + "amount": 20, + "via": "banktransfer", + "from": "ub1x", + "first": true + }, + { + "date": "03.05.2022", + "amount": 10, + "via": "banktransfer", + "from": "TeomaHK", + "first": false + }, { "date": "04.04.2022", "amount": 10, From 400f421b6aa25639d3c9b3b20e31def0610a1477 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 17 May 2022 04:02:08 +0000 Subject: [PATCH 091/167] Update dependency browser-sync to ^2.27.10 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 176117a..49885c0 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "url": "https://git.sp-codes.de/samuel-p/sp-codes.de" }, "optionalDependencies": { - "browser-sync": "^2.27.9" + "browser-sync": "^2.27.10" }, "devDependencies": { "@11ty/eleventy": "^1.0.1", From 823066f88c2388434c677e871f4d8269437ec25a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 19 Jul 2022 16:01:40 +0000 Subject: [PATCH 092/167] Update dependency bootstrap to ^4.6.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 49885c0..392be8c 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,6 @@ "uncss": "^0.17.3" }, "dependencies": { - "bootstrap": "^4.6.1" + "bootstrap": "^4.6.2" } } From 50ffc9bcc4bda63c2127e81129cb07aca5f17c6c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 21 Jul 2022 16:01:31 +0000 Subject: [PATCH 093/167] Update dependency minify to v9 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 392be8c..d74dab7 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@node-minify/html-minifier": "^6.2.0", "cpx": "^1.5.0", "glob": "^8.0.1", - "minify": "^8.0.4", + "minify": "^9.1.0", "node-sass": "^7.0.1", "node-sass-tilde-importer": "^1.0.2", "npm-run-all": "^4.1.5", From 780d383a62b558e09c41729b683d9d9174c1f2a6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 26 Jul 2022 04:01:24 +0000 Subject: [PATCH 094/167] Update dependency glob to ^8.0.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d74dab7..19773f5 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@node-minify/crass": "^6.2.0", "@node-minify/html-minifier": "^6.2.0", "cpx": "^1.5.0", - "glob": "^8.0.1", + "glob": "^8.0.3", "minify": "^9.1.0", "node-sass": "^7.0.1", "node-sass-tilde-importer": "^1.0.2", From d7d151373ba387bfc8a7fb8dc81fbb714c82981d Mon Sep 17 00:00:00 2001 From: samuel Date: Sat, 30 Jul 2022 17:37:00 +0200 Subject: [PATCH 095/167] updated donations.json --- src/_data/donations.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/_data/donations.json b/src/_data/donations.json index f15f742..418ec50 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,20 @@ { "year": 2022, "donations": [ + { + "date": "11.07.2022", + "amount": 10, + "via": "banktransfer", + "from": "TeomaHK", + "first": false + }, + { + "date": "03.06.2022", + "amount": 10, + "via": "banktransfer", + "from": "TeomaHK", + "first": false + }, { "date": "11.05.2022", "amount": 20, From a20bf8d5d8e6c18a4f0dea3dd4982b8ee8192d87 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 9 Aug 2022 16:01:01 +0000 Subject: [PATCH 096/167] Update dependency @node-minify/core to v7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 19773f5..ebf923c 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@11ty/eleventy": "^1.0.1", "@11ty/eleventy-navigation": "^0.3.3", - "@node-minify/core": "^6.2.0", + "@node-minify/core": "^7.0.0", "@node-minify/crass": "^6.2.0", "@node-minify/html-minifier": "^6.2.0", "cpx": "^1.5.0", From e84a7c11313f5c6e44d4baef84ebf1ddaf803e32 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 9 Aug 2022 16:01:17 +0000 Subject: [PATCH 097/167] Update dependency @node-minify/html-minifier to v7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 19773f5..e8a4304 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@11ty/eleventy-navigation": "^0.3.3", "@node-minify/core": "^6.2.0", "@node-minify/crass": "^6.2.0", - "@node-minify/html-minifier": "^6.2.0", + "@node-minify/html-minifier": "^7.0.0", "cpx": "^1.5.0", "glob": "^8.0.3", "minify": "^9.1.0", From b1ff7826e3c02ad222d430af5624191af30cd903 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 16 Aug 2022 16:01:01 +0000 Subject: [PATCH 098/167] Update dependency @11ty/eleventy to ^1.0.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 19773f5..b2c19d5 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "browser-sync": "^2.27.10" }, "devDependencies": { - "@11ty/eleventy": "^1.0.1", + "@11ty/eleventy": "^1.0.2", "@11ty/eleventy-navigation": "^0.3.3", "@node-minify/core": "^6.2.0", "@node-minify/crass": "^6.2.0", From 2d60a4798b40ca9331604658a731d8c97a5eaee1 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 27 Aug 2022 20:42:11 +0000 Subject: [PATCH 099/167] Update dependency @11ty/eleventy-navigation to ^0.3.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c2c29c5..f3cefea 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ }, "devDependencies": { "@11ty/eleventy": "^1.0.2", - "@11ty/eleventy-navigation": "^0.3.3", + "@11ty/eleventy-navigation": "^0.3.5", "@node-minify/core": "^7.0.0", "@node-minify/crass": "^6.2.0", "@node-minify/html-minifier": "^7.0.0", From cc9656f45dff62126e5d16d3d30f02b543e70778 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 27 Aug 2022 20:42:22 +0000 Subject: [PATCH 100/167] Update dependency @node-minify/crass to v7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c2c29c5..487e364 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@11ty/eleventy": "^1.0.2", "@11ty/eleventy-navigation": "^0.3.3", "@node-minify/core": "^7.0.0", - "@node-minify/crass": "^6.2.0", + "@node-minify/crass": "^7.0.0", "@node-minify/html-minifier": "^7.0.0", "cpx": "^1.5.0", "glob": "^8.0.3", From 8804db0088539857976fc7568643980d54df2f19 Mon Sep 17 00:00:00 2001 From: samuel Date: Fri, 16 Sep 2022 17:33:15 +0200 Subject: [PATCH 101/167] updated donations.json replaced invidious with piped --- src/_data/donations.json | 7 +++++++ src/_data/services.json | 8 ++++---- src/de/services/invidious.md | 18 ------------------ src/de/services/piped.md | 19 +++++++++++++++++++ src/en/services/invidious.md | 17 ----------------- src/en/services/piped.md | 18 ++++++++++++++++++ 6 files changed, 48 insertions(+), 39 deletions(-) delete mode 100644 src/de/services/invidious.md create mode 100644 src/de/services/piped.md delete mode 100644 src/en/services/invidious.md create mode 100644 src/en/services/piped.md diff --git a/src/_data/donations.json b/src/_data/donations.json index 418ec50..e35999d 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,13 @@ { "year": 2022, "donations": [ + { + "date": "11.08.2022", + "amount": 10, + "via": "banktransfer", + "from": "TeomaHK", + "first": false + }, { "date": "11.07.2022", "amount": 10, diff --git a/src/_data/services.json b/src/_data/services.json index 842e7ce..4de3c06 100644 --- a/src/_data/services.json +++ b/src/_data/services.json @@ -122,11 +122,11 @@ } }, { - "id": "invidious", - "name": "Invidious", + "id": "piped", + "name": "Piped", "icon": "i-youtube", - "url": "https://invidious.sp-codes.de", - "status": "https://invidious.sp-codes.de", + "url": "https://piped.sp-codes.de", + "status": "https://piped.sp-codes.de", "summary": { "de": "Ein alternatives YouTube-Frontend.", "en": "An alternative YouTube-Frontend." diff --git a/src/de/services/invidious.md b/src/de/services/invidious.md deleted file mode 100644 index 0f4ff66..0000000 --- a/src/de/services/invidious.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: base.njk -key: invidious -title: Invidious ---- -# Invidious - -Invidious ist ein alternatives Frontend für YouTube. -Da nur die nötigsten Verbindungen zu YouTube aufgebaut werden und viele sogar vom Server selber übernommen werden, erhöht Invidious die Privatsphäre der Nutzer:innen. - -__Seit Dezember 2019 betreibe ich eine öffentliche Invidious Instanz.__ Fühl dich frei, dort ein paar Videos anzuschauen. - -__Jetzt das erste Video schauen auf [invidious.sp-codes.de](https://invidious.sp-codes.de).__ - -## Weitere nützliche Links - -* [Liste weiterer öffentlicher Server](https://github.com/omarroth/invidious/wiki/Invidious-Instances) -* [Quellcode von Invidious](https://github.com/omarroth/invidious) diff --git a/src/de/services/piped.md b/src/de/services/piped.md new file mode 100644 index 0000000..a8f4967 --- /dev/null +++ b/src/de/services/piped.md @@ -0,0 +1,19 @@ +--- +layout: base.njk +key: piped +title: Piped +--- +# Piped + +Piped ist ein alternatives Frontend für YouTube. +Da nur die nötigsten Verbindungen zu YouTube aufgebaut werden und viele sogar vom Server selber übernommen werden, erhöht Piped die Privatsphäre der Nutzer:innen. + +__Von Dezember 2019 bis September 2022 habe ich eine öffentliche Invidious Instanz betrieben. Diese wurde zum Oktober 2022 durch Piped ersetzt.__ Fühl dich frei, dort ein paar Videos anzuschauen. + +__Jetzt das erste Video schauen auf [piped.sp-codes.de](https://piped.sp-codes.de).__ + +## Weitere nützliche Links + +* [Liste öffentlicher Piped-Instanzen](https://github.com/TeamPiped/Piped/wiki/Instances) +* [Quellcode von Piped](https://github.com/TeamPiped/Piped) +* [Liste öffentlicher Invidious-Instanzen](https://github.com/omarroth/invidious/wiki/Invidious-Instances) diff --git a/src/en/services/invidious.md b/src/en/services/invidious.md deleted file mode 100644 index 16b73ab..0000000 --- a/src/en/services/invidious.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: base.njk -key: invidious -title: Invidious ---- -# Invidious - -Invidious is an alternative YouTube-Frontend. It establishes only the most necessary connections to YouTube and many of them are even made by the server itself. So Invidious increases the privacy of the users. - -__Since December 2019 I run a public Invidious instance.__ Feel free to watch some videos there. - -__Watch your first video on [invidious.sp-codes.de](https://invidious.sp-codes.de).__ - -## More useful links - -* [List of other public servers](https://github.com/omarroth/invidious/wiki/Invidious-Instances) -* [Source code of Invidious](https://github.com/omarroth/invidious) diff --git a/src/en/services/piped.md b/src/en/services/piped.md new file mode 100644 index 0000000..1cd6960 --- /dev/null +++ b/src/en/services/piped.md @@ -0,0 +1,18 @@ +--- +layout: base.njk +key: piped +title: Piped +--- +# Piped + +Piped is an alternative YouTube-Frontend. It establishes only the most necessary connections to YouTube and many of them are even made by the server itself. So Piped increases the privacy of the users. + +__From December 2019 to September 2022, I ran a public Invidious instance. This was replaced by Piped as of October 2022.__ Feel free to watch some videos there. + +__Watch your first video on [piped.sp-codes.de](https://piped.sp-codes.de).__ + +## More useful links + +* [List of public Piped-Servers](https://github.com/TeamPiped/Piped/wiki/Instances) +* [Source code of Piped](https://github.com/TeamPiped/Piped) +* [List of public Invidious-Servers](https://github.com/omarroth/invidious/wiki/Invidious-Instances) From 5f87491fc88a4954adb0c77c8d60722d908cb0a7 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 16 Sep 2022 16:01:07 +0000 Subject: [PATCH 102/167] Update dependency node-sass to ^7.0.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9d44729..f573878 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "cpx": "^1.5.0", "glob": "^8.0.3", "minify": "^9.1.0", - "node-sass": "^7.0.1", + "node-sass": "^7.0.3", "node-sass-tilde-importer": "^1.0.2", "npm-run-all": "^4.1.5", "uncss": "^0.17.3" From 7ff0eee0883acb164bc37c15bcb8a679281d71aa Mon Sep 17 00:00:00 2001 From: samuel Date: Sun, 18 Sep 2022 17:42:36 +0200 Subject: [PATCH 103/167] removed peertube beta --- src/_data/services.json | 1 - src/de/services/mastodon.md | 8 ++++++++ src/de/services/peertube.md | 35 +++++++++++++++++++++++++++++++++++ src/en/services/mastodon.md | 10 +++++++++- src/en/services/peertube.md | 35 +++++++++++++++++++++++++++++++++++ 5 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 src/de/services/peertube.md create mode 100644 src/en/services/peertube.md diff --git a/src/_data/services.json b/src/_data/services.json index 4de3c06..10abf59 100644 --- a/src/_data/services.json +++ b/src/_data/services.json @@ -38,7 +38,6 @@ "icon": "i-peertube", "url": "https://tube.sp-codes.de", "status": "https://tube.sp-codes.de", - "beta": true, "summary": { "de": "Ein Netzwerk aus mehreren föderierten, interoperablen Video-Hosting-Anbietern. Werbefrei und ohne Bindung an einen bestimmten Anbieter.", "en": "A network of multiple federated, interoperable video hosting providers. Ad-free and without vendor lock-in." diff --git a/src/de/services/mastodon.md b/src/de/services/mastodon.md index c7e373a..3a111ef 100644 --- a/src/de/services/mastodon.md +++ b/src/de/services/mastodon.md @@ -18,6 +18,14 @@ deine Nachricht an [@samuel_p@matrix.sp-codes.de](https://social.sp-codes.de/@sa Jetzt registrieren +Wenn du einen eigenen Mastodon-Server für dich, deine Familie oder deine Firma betreiben willst, unterstütze ich dich gerne mit meiner Firma Ossrox damit. Schau dir gerne unser Angebot dazu auf unserer Webseite an oder schreib mir eine Nachricht dazu. + + + ## Interessante Accounts * [Bundesbeauftragte für Datenschutz und Informationsfreiheit](https://social.bund.de/@bfdi) diff --git a/src/de/services/peertube.md b/src/de/services/peertube.md new file mode 100644 index 0000000..28d3e90 --- /dev/null +++ b/src/de/services/peertube.md @@ -0,0 +1,35 @@ +--- +layout: base.njk +key: mastodon +title: Mastodon +--- +# PeerTube + +PeerTube ist ein Netzwerk aus mehreren föderierten, interoperablen Video-Hosting-Anbietern, vergleichbar mit YouTube. Allerdings basiert der Dienst nicht auf einer zentralen Plattform, sondern besteht aus vielen verschiedenen, dezentralen Instanzen, die von Privatpersonen, Vereinen oder sonstigen Stellen eigenverantwortlich betrieben werden. Dadurch machen sich die Nutzer:innen nicht von einem einzigen Anbieter abhängig, sondern können frei entscheiden, mit wem sie welche Informationen teilen. + +Da PeerTube auf offenen Web-Protokollen und freier, quelloffener Software basiert, kann auch mit anderen Diensten, wie Mastodon, Pleroma, Pixelfed, Friendica oder Hubzilla kommuniziert werden. Nutzer:innen können Accounts also dienst- und serverübergreifend folgen und Videos teilen. + +__Seit August 2021 betreibe ich eine öffentliche PeerTube-Instanz: [tube.sp-codes.de](https://tube.sp-codes.de/)__ + +Die Serverregeln und weitere Informationen kannst du gerne [hier](https://tube.sp-codes.de/about/instance) nachlesen. Melde dich gerne auf meinem Server an oder suche dir einen aus den unten verlinkten Listen heraus. + + + +## Interessante Kanäle + +* [GNU/Linux News Show](https://tube.sp-codes.de/c/gnulinuxnewsshow) +* [BigBrotherAwards](https://digitalcourage.video/c/bba) +* [mobilsicher](https://peertube.mobilsicher.de/c/mobilsicher) +* [Drohnenvideos](https://tube.sp-codes.de/c/drohne) +* [Artem Music](https://tube.anufrij.de/c/artem_music) +* [Es geht um Deine Daten](https://digitalcourage.video/c/es_geht_um_deine_daten) +* [Patrick Breyer](https://peertube.european-pirates.eu/c/patrick_breyer_mep_channel) + +## Weitere nützliche Links + +* [EU Video](https://tube.network.europa.eu) +* Listen mit öffentlichen PeerTube-Instanzen + * [joinpeertube.org](https://joinpeertube.org/instances) + * [instances.joinpeertube.org](https://instances.joinpeertube.org/instances) diff --git a/src/en/services/mastodon.md b/src/en/services/mastodon.md index 2bc293e..4962330 100644 --- a/src/en/services/mastodon.md +++ b/src/en/services/mastodon.md @@ -5,7 +5,7 @@ title: Mastodon --- # Mastodon -Mastodon is a federated microblogging service, similar to Twitter. However, the service is not based on a central platform, but consists of many different, decentralized instances that are run independently by private individuals, associations or other organizations. This means that users are not locked into a single provider, but are free to decide with whom they share what information. +Mastodon is a federated microblogging service, similar to Twitter. However, the service is not based on a central platform, but consists of many, decentralized instances that are run independently by private individuals, associations or other organizations. This means that users are not locked into a single provider, but are free to decide with whom they share what information. Since Mastodon is based on open web protocols and free, open source software, it is also possible to communicate with other services such as Pleroma, PeerTube, Pixelfed, Friendica or Hubzilla. Users can share text, image, video messages or polls across services and servers. @@ -17,6 +17,14 @@ Feel free to read the server rules and more information [here](https://social.sp Register now +If you want to have your own mastodon server for you, your family or your company, I would be happy to support you with my company Ossrox. Please have a look at our services on our website or send me a message. + + + ## Interesting Accounts * [Bundesbeauftragte für Datenschutz und Informationsfreiheit](https://social.bund.de/@bfdi) diff --git a/src/en/services/peertube.md b/src/en/services/peertube.md new file mode 100644 index 0000000..5467e8c --- /dev/null +++ b/src/en/services/peertube.md @@ -0,0 +1,35 @@ +--- +layout: base.njk +key: mastodon +title: Mastodon +--- +# PeerTube + +PeerTube is a network of several federated, interoperable video hosting providers, comparable to YouTube. However, the service is not based on a central platform, but consists of many, decentralized instances that are run independently by private individuals, associations or other organizations. This means that users are not locked into a single provider, but are free to decide with whom they share what information. + +Since PeerTube is based on open web protocols and free, open source software, it is also possible to communicate with other services such as Mastodon, Pleroma, Pixelfed, Friendica or Hubzilla. Users can share text, image, video messages or polls across services and servers. + +__Since August 2021 I run a public PeerTube instance: [tube.sp-codes.de](https://tube.sp-codes.de/)__ + +Feel free to read the server rules and more information [here](https://tube.sp-codes.de/about/instance) (German). Feel free to register on my server or pick one from the lists linked below. + + + +## Interesting Channels + +* [GNU/Linux News Show](https://tube.sp-codes.de/c/gnulinuxnewsshow) +* [BigBrotherAwards](https://digitalcourage.video/c/bba) +* [mobilsicher](https://peertube.mobilsicher.de/c/mobilsicher) +* [Drohnenvideos](https://tube.sp-codes.de/c/drohne) +* [Artem Music](https://tube.anufrij.de/c/artem_music) +* [Es geht um Deine Daten](https://digitalcourage.video/c/es_geht_um_deine_daten) +* [Patrick Breyer](https://peertube.european-pirates.eu/c/patrick_breyer_mep_channel) + +## More useful links + +* [EU Video](https://tube.network.europa.eu) +* Lists with public PeerTube instances + * [joinpeertube.org](https://joinpeertube.org/instances) + * [instances.joinpeertube.org](https://instances.joinpeertube.org/instances) From b11437e8211508b592abaab5a43e81ac8ebeb2f2 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 9 Nov 2022 11:01:33 +0000 Subject: [PATCH 104/167] Update dependency node-sass to v8 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f573878..70f49b3 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "cpx": "^1.5.0", "glob": "^8.0.3", "minify": "^9.1.0", - "node-sass": "^7.0.3", + "node-sass": "^8.0.0", "node-sass-tilde-importer": "^1.0.2", "npm-run-all": "^4.1.5", "uncss": "^0.17.3" From 8dabbd7e2dbd9c06fb8b7413f607dd3a4e6880e0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 30 Nov 2022 15:04:00 +0000 Subject: [PATCH 105/167] Update dependency @node-minify/core to ^7.1.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f573878..2c6c0d4 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@11ty/eleventy": "^1.0.2", "@11ty/eleventy-navigation": "^0.3.5", - "@node-minify/core": "^7.0.0", + "@node-minify/core": "^7.1.0", "@node-minify/crass": "^7.0.0", "@node-minify/html-minifier": "^7.0.0", "cpx": "^1.5.0", From 232f9787c289328ed83d7ce9d19312fb0e5ab75b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 30 Nov 2022 15:05:33 +0000 Subject: [PATCH 106/167] Update dependency @node-minify/html-minifier to ^7.1.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f573878..c8e9e50 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@11ty/eleventy-navigation": "^0.3.5", "@node-minify/core": "^7.0.0", "@node-minify/crass": "^7.0.0", - "@node-minify/html-minifier": "^7.0.0", + "@node-minify/html-minifier": "^7.1.0", "cpx": "^1.5.0", "glob": "^8.0.3", "minify": "^9.1.0", From fa284efdf57a1e317b89669bc90e980ddb0698f2 Mon Sep 17 00:00:00 2001 From: samuel Date: Thu, 8 Dec 2022 18:34:19 +0100 Subject: [PATCH 107/167] updated donations removed open collective --- src/_data/donations.json | 14 ++++++++++++++ src/_includes/donations-current.html | 2 +- src/_includes/donations.html | 2 +- src/de/donate.html | 12 ------------ src/en/donate.html | 12 ------------ 5 files changed, 16 insertions(+), 26 deletions(-) diff --git a/src/_data/donations.json b/src/_data/donations.json index e35999d..a5ba3fa 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -2,6 +2,20 @@ { "year": 2022, "donations": [ + { + "date": "16.11.2021", + "amount": 25, + "via": "banktransfer", + "from": null, + "first": false + }, + { + "date": "02.11.2021", + "amount": 30, + "via": "banktransfer", + "from": null, + "first": false + }, { "date": "11.08.2022", "amount": 10, diff --git a/src/_includes/donations-current.html b/src/_includes/donations-current.html index cf9dc75..16e3174 100644 --- a/src/_includes/donations-current.html +++ b/src/_includes/donations-current.html @@ -13,7 +13,7 @@ {{donation.date}} {% if donation.via == 'opencollective' %} - Open Collective + Open Collective {% else %} {{strings[donation.via][locale]}} {% endif %} diff --git a/src/_includes/donations.html b/src/_includes/donations.html index 7887454..1d3d07c 100644 --- a/src/_includes/donations.html +++ b/src/_includes/donations.html @@ -16,7 +16,7 @@ {{donation.date}} {% if donation.via == 'opencollective' %} - Open Collective + Open Collective {% else %} {{strings[donation.via][locale]}} {% endif %} diff --git a/src/de/donate.html b/src/de/donate.html index 07460cd..fc44e75 100644 --- a/src/de/donate.html +++ b/src/de/donate.html @@ -43,18 +43,6 @@ eleventyNavigation: -
    -

    Open Collective

    -
    Gerne kannst du mir auch über Open - Collective einen kleinen Betrag zukommen lassen. Wenn du willst, kannst du mich dort auch mit einer - regelmäßigen Spende unterstützen. -
    - Open Collective {{ strings.supporters[locale] }} -
    -
    -

    netcup

    Einige meiner Dienste hoste ich bei netcup. Wenn diff --git a/src/en/donate.html b/src/en/donate.html index 450fcfe..ef83671 100644 --- a/src/en/donate.html +++ b/src/en/donate.html @@ -41,18 +41,6 @@ eleventyNavigation:
    -
    -

    Open Collective

    -
    You are also welcome to send me a small amount via Open Collective. If you like - you can also support me with a regular donation. -
    - Open Collective {{ strings.supporters[locale] }} -
    -
    -

    netcup

    Some of my services are hosted at netcup. If you want to run your own server or website at Date: Thu, 8 Dec 2022 18:01:28 +0000 Subject: [PATCH 108/167] Update dependency @node-minify/crass to ^7.1.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 553e22e..98fe243 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@11ty/eleventy": "^1.0.2", "@11ty/eleventy-navigation": "^0.3.5", "@node-minify/core": "^7.1.0", - "@node-minify/crass": "^7.0.0", + "@node-minify/crass": "^7.1.0", "@node-minify/html-minifier": "^7.1.0", "cpx": "^1.5.0", "glob": "^8.0.3", From c77c0284045d3b746b6115ccd7cc29a008d4e978 Mon Sep 17 00:00:00 2001 From: samuel Date: Sat, 17 Dec 2022 16:23:52 +0100 Subject: [PATCH 109/167] added pixelfed beta --- src/_data/services.json | 12 ++ src/font/icomoon.eot | Bin 10512 -> 10412 bytes src/font/icomoon.svg | 2 +- src/font/icomoon.ttf | Bin 10348 -> 10248 bytes src/font/icomoon.woff | Bin 10424 -> 10324 bytes src/font/icomoon.woff2 | Bin 5812 -> 5780 bytes src/scss/icons/style.scss | 253 +++++++++++++++++----------------- src/scss/icons/variables.scss | 45 +++--- 8 files changed, 161 insertions(+), 151 deletions(-) diff --git a/src/_data/services.json b/src/_data/services.json index 10abf59..bc1f0f2 100644 --- a/src/_data/services.json +++ b/src/_data/services.json @@ -43,6 +43,18 @@ "en": "A network of multiple federated, interoperable video hosting providers. Ad-free and without vendor lock-in." } }, + { + "id": "pixelfed", + "name": "Pixelfed", + "icon": "i-pixelfed", + "url": "https://pixel.sp-codes.de", + "status": "https://pixel.sp-codes.de", + "beta": true, + "summary": { + "de": "Pixelfed ist ein kostenloses und ethisches, soziales Netzwerk für den Austausch von Fotos. Es ist dezentral und föderiert mit anderen Plattformen des Fediverse.", + "en": "Pixelfed is a free and ethical social network for sharing photos. It is decentralized and federated with other Fediverse platforms." + } + }, { "id": "gitea", "name": "Gitea", diff --git a/src/font/icomoon.eot b/src/font/icomoon.eot index ba40dd981efb50ca1480e7da494b60658b57f896..84f500be6522eace1c1473571a9256b4c448552d 100644 GIT binary patch delta 347 zcmbObv?h>sjRpe)$3#|hmWQ8ks zVqj2n0P+>`5_3~$dU5^+@)Lk|v=!tRmoP8`Wf;_7faDpNSvDs#-r^HrVqo~corQsU zJA*WXCIbWOoEj)kdXoDl8k7;UQhZ&3roW+lOUA~Ii#K0l1-xB1Gz%>r@_!~MgFAP0fz z%`$3?jGAif=QwmY_Hdrz`o}$whlwYNr;g_cuL5rs?+?Bie0TVb_&*3N5|j~~u-Q%h G6e9qB)nsk} delta 471 zcmZ1zI3b8tK$C$XXCkXP3wuov&qRkM^>+nTDi|0TFEB7Dw`8OyrpV3MGlhXcHH3kI z!7KwPz;TG>C6M0(8~Vw?=*ZvgTakmDk3h&C@yAfWMCB2HWCw82g;*pW?rgoV5rU5Dk3H(!rY=1sO@TP6D1`nDHUa7?W!H9!j#rx zJ0&P9Hm+L(2)g59vx27DF*PAHF+B##gT#QEb##Cl7};7yM5Ux6ZERdzY-}Q>q{KuR zTeS=|G`nMCv$Eo1fd(1qFgBs-+PqKTo`?)jPz`%Lzs*+$ZWd5TFx<7-BLJf}?@(oA z)QsR@;E3aR$N7)jfcpZE3C|Rs4Lsj?gLv2QY4M%n=i^TiP!hNz=qGq+^CPuWi~zt+ BZt?&C diff --git a/src/font/icomoon.svg b/src/font/icomoon.svg index 70fa188..0626486 100644 --- a/src/font/icomoon.svg +++ b/src/font/icomoon.svg @@ -22,7 +22,7 @@ - + diff --git a/src/font/icomoon.ttf b/src/font/icomoon.ttf index 799c7fa4fc3eaa38b5085aed0ff781bcda59d2e9..0e4b48e0663d97287aaed23a19ace18cd173c7fc 100644 GIT binary patch delta 332 zcmaD8&=D}fq5kR21@R0Fj29Rfloc{k6H}CzakwxrsC-~xU@*%73UC}^dC9<_ssZGy zWaO4q%<*EJ4CMO&`3rLLlM|Oo&0PZIzX9@tauX{G7>pQRF)*k(0Qm}eiMgpWy*PgZ z`3XQf+6wZEOBk4eG7Rc3K=KUCEF1UV;uBzEVEDhCg@JiHgEWIC0|V>icnRq+W@95W zQxi39MkO{;L31XCtk}424It=_i_Jn}PmXhrjdgBUH*52R$;EbSYG`P7$HLSxPKb7N zj5byMx2S<(bDh9F5t*+=pC88a+k9o~wFqmZk1vn0|yae)lfP9sV z+>(kpUW}80{0%_VZQ453n#WA7J2Tuwej7G0HKDimoJthPyU<1Yq=L5miP;%?J(#jyR5Yod38DxG(US l@J!*^!1Ikah<6R27T+m;KK>K|C4nn~eu9TK+o_#m1OSteYLfr} diff --git a/src/font/icomoon.woff b/src/font/icomoon.woff index 31cd05587fc06b0b75fa086aeb3c75eb6befe7aa..82629a3fcd4f14ebb4f42279bab209d92c599418 100644 GIT binary patch delta 371 zcmdlHcqKrr+~3WOfsp|SG(s4-!88X0lGLnlog)NTo9j;nwY}CplSnD zUBYtQyCA<9Xn}^w#y>Cl1eh2Y{%>bt zVBXFk&7jG^z&d%ggmf6Qv5}dniJCT}5}T-?ITJ%xY+Sbn5Ol}IW+AaB$2rHwI=8Ev zwRytiV!JgpG&H+oVd@wsL_0c0o2vd>)WER$l)ya^nXg5kAI9_Bd}ZKf0lJcb;r`*o z7chGB5miP;O*Qs&96B6(IL~nX~c+~3WOfsp|SGgXtUw#>tFKA``Vd>suHYlw0l!s#Ij8CZ;ejs4f61 zFau$^8GEK=00n_!H-LN<5au|<@-id0qyi}R2gqLl!gIVBC+FlR1J$X`0rG=Dc!k6K z8M%oS1wgS6K)wPP8!^1fOUzAWU{DueU|?(m;hA1soWBe5i%WoRo3ZiFOTKz$28RC! zSQwZOFz_?jF!%r!$uWwGu(6w~+cBD&sHuwzv+FS`E3xx2va^Ybh|4jGiy0f4nX`-Y z0Y%mI7}eEGP0Z~W&CQIB#KhHs@+g{_muedrYBRQqh>3|Xw(&5*?zq^jps99DO$bd)kAd?%3F@thiX9K?XXEO=!A+;lae9{Qn^HJ)lSZ8Gzx*XaaWp=6Zpn zA~HNdHSF>HHeVUIS%4}T81CBa0R|a_-khMy$fy~?!N3v6@s9H!w*mJB9uuA^JR5kv e@doj(;nU(f#m~o|BA_I2MbJ<1(B>|+Q;Yzw+joBe diff --git a/src/font/icomoon.woff2 b/src/font/icomoon.woff2 index e98470276cbda4dc09238d8d8332467446af5aba..3475206f26a65d8e8811175fdc480eb033de6cb6 100644 GIT binary patch literal 5780 zcmV;F7HjEuPew8T0RR9102Y)04FCWD04pp202Vv|0RR9100000000000000000000 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 S5U%J#ANHLmgz%=K0RRALi%f6; literal 5812 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 diff --git a/src/scss/icons/style.scss b/src/scss/icons/style.scss index c27057b..1299c7a 100644 --- a/src/scss/icons/style.scss +++ b/src/scss/icons/style.scss @@ -2,12 +2,11 @@ @font-face { font-family: '#{$icomoon-font-family}'; - src: url('#{$icomoon-font-path}/#{$icomoon-font-family}.eot?9r0igb'); - src: url('#{$icomoon-font-path}/#{$icomoon-font-family}.eot?9r0igb#iefix') format('embedded-opentype'), - url('#{$icomoon-font-path}/#{$icomoon-font-family}.woff2?9r0igb') format('woff2'), - url('#{$icomoon-font-path}/#{$icomoon-font-family}.woff?9r0igb') format('woff'), - url('#{$icomoon-font-path}/#{$icomoon-font-family}.ttf?9r0igb') format('truetype'), - url('#{$icomoon-font-path}/#{$icomoon-font-family}.svg?9r0igb##{$icomoon-font-family}') format('svg'); + src: url('#{$icomoon-font-path}/#{$icomoon-font-family}.eot?hi4hah'); + src: url('#{$icomoon-font-path}/#{$icomoon-font-family}.eot?hi4hah#iefix') format('embedded-opentype'), + url('#{$icomoon-font-path}/#{$icomoon-font-family}.ttf?hi4hah') format('truetype'), + url('#{$icomoon-font-path}/#{$icomoon-font-family}.woff?hi4hah') format('woff'), + url('#{$icomoon-font-path}/#{$icomoon-font-family}.svg?hi4hah##{$icomoon-font-family}') format('svg'); font-weight: normal; font-style: normal; font-display: block; @@ -48,183 +47,183 @@ font-size: 4em; } -.i-peertube { +.i-pixelfed { &:before { - content: $i-peertube; - } -} -.i-network-wired { - &:before { - content: $i-network-wired; - } -} -.i-money-bill { - &:before { - content: $i-money-bill; - } -} -.i-chart-line { - &:before { - content: $i-chart-line; - } -} -.i-info-circle { - &:before { - content: $i-info-circle; - } -} -.i-code { - &:before { - content: $i-code; - } -} -.i-xmpp { - &:before { - content: $i-xmpp; - } -} -.i-wifi { - &:before { - content: $i-wifi; - } -} -.i-youtube { - &:before { - content: $i-youtube; - } -} -.i-twitter { - &:before { - content: $i-twitter; - } -} -.i-threema { - &:before { - content: $i-threema; - } -} -.i-stackoverflow { - &:before { - content: $i-stackoverflow; - } -} -.i-search { - &:before { - content: $i-search; - } -} -.i-opencollective { - &:before { - content: $i-opencollective; - } -} -.i-mastodon { - &:before { - content: $i-mastodon; - } -} -.i-hand-holding-heart { - &:before { - content: $i-hand-holding-heart; - } -} -.i-github { - &:before { - content: $i-github; - } -} -.i-gitea { - &:before { - content: $i-gitea; - } -} -.i-firefox { - &:before { - content: $i-firefox; - } -} -.i-copyright { - &:before { - content: $i-copyright; - } -} -.i-book { - &:before { - content: $i-book; - } -} -.i-matrix { - &:before { - content: $i-matrix; + content: $i-pixelfed; } } .i-server { &:before { - content: $i-server; + content: $i-server; } } .i-credit-card { &:before { - content: $i-credit-card; + content: $i-credit-card; } } .i-external-link { &:before { - content: $i-external-link; + content: $i-external-link; } } .i-heart { &:before { - content: $i-heart; + content: $i-heart; } } .i-home { &:before { - content: $i-home; + content: $i-home; } } .i-tags { &:before { - content: $i-tags; + content: $i-tags; } } .i-comments { &:before { - content: $i-comments; + content: $i-comments; } } .i-users { &:before { - content: $i-users; + content: $i-users; } } .i-bars { &:before { - content: $i-bars; + content: $i-bars; } } .i-envelope { &:before { - content: $i-envelope; + content: $i-envelope; } } .i-language { &:before { - content: $i-language; + content: $i-language; } } .i-user-secret { &:before { - content: $i-user-secret; + content: $i-user-secret; } } .i-heartbeat { &:before { - content: $i-heartbeat; + content: $i-heartbeat; } } .i-commenting { &:before { - content: $i-commenting; + content: $i-commenting; + } +} +.i-peertube { + &:before { + content: $i-peertube; + } +} +.i-network-wired { + &:before { + content: $i-network-wired; + } +} +.i-money-bill { + &:before { + content: $i-money-bill; + } +} +.i-chart-line { + &:before { + content: $i-chart-line; + } +} +.i-info-circle { + &:before { + content: $i-info-circle; + } +} +.i-code { + &:before { + content: $i-code; + } +} +.i-xmpp { + &:before { + content: $i-xmpp; + } +} +.i-wifi { + &:before { + content: $i-wifi; + } +} +.i-youtube { + &:before { + content: $i-youtube; + } +} +.i-twitter { + &:before { + content: $i-twitter; + } +} +.i-threema { + &:before { + content: $i-threema; + } +} +.i-stackoverflow { + &:before { + content: $i-stackoverflow; + } +} +.i-search { + &:before { + content: $i-search; + } +} +.i-mastodon { + &:before { + content: $i-mastodon; + } +} +.i-hand-holding-heart { + &:before { + content: $i-hand-holding-heart; + } +} +.i-github { + &:before { + content: $i-github; + } +} +.i-gitea { + &:before { + content: $i-gitea; + } +} +.i-firefox { + &:before { + content: $i-firefox; + } +} +.i-copyright { + &:before { + content: $i-copyright; + } +} +.i-book { + &:before { + content: $i-book; + } +} +.i-matrix { + &:before { + content: $i-matrix; } } diff --git a/src/scss/icons/variables.scss b/src/scss/icons/variables.scss index 9911eea..35d9aec 100644 --- a/src/scss/icons/variables.scss +++ b/src/scss/icons/variables.scss @@ -1,28 +1,7 @@ $icomoon-font-family: "icomoon" !default; $icomoon-font-path: "fonts" !default; -$i-peertube: "\e918"; -$i-network-wired: "\e903"; -$i-money-bill: "\e904"; -$i-chart-line: "\e905"; -$i-info-circle: "\e906"; -$i-code: "\e907"; -$i-xmpp: "\e908"; -$i-wifi: "\e909"; -$i-youtube: "\e90a"; -$i-twitter: "\e90b"; -$i-threema: "\e90c"; -$i-stackoverflow: "\e90d"; -$i-search: "\e90e"; -$i-opencollective: "\e90f"; -$i-mastodon: "\e910"; -$i-hand-holding-heart: "\e911"; -$i-github: "\e912"; -$i-gitea: "\e913"; -$i-firefox: "\e914"; -$i-copyright: "\e915"; -$i-book: "\e916"; -$i-matrix: "\e900"; +$i-pixelfed: "\e90f"; $i-server: "\e901"; $i-credit-card: "\e902"; $i-external-link: "\e917"; @@ -37,4 +16,24 @@ $i-language: "\f1ab"; $i-user-secret: "\f21b"; $i-heartbeat: "\f21e"; $i-commenting: "\f27a"; - +$i-peertube: "\e918"; +$i-network-wired: "\e903"; +$i-money-bill: "\e904"; +$i-chart-line: "\e905"; +$i-info-circle: "\e906"; +$i-code: "\e907"; +$i-xmpp: "\e908"; +$i-wifi: "\e909"; +$i-youtube: "\e90a"; +$i-twitter: "\e90b"; +$i-threema: "\e90c"; +$i-stackoverflow: "\e90d"; +$i-search: "\e90e"; +$i-mastodon: "\e910"; +$i-hand-holding-heart: "\e911"; +$i-github: "\e912"; +$i-gitea: "\e913"; +$i-firefox: "\e914"; +$i-copyright: "\e915"; +$i-book: "\e916"; +$i-matrix: "\e900"; From 29f93a9e6fc984605199030cf9b2be6c9b27bf3b Mon Sep 17 00:00:00 2001 From: samuel Date: Thu, 12 Jan 2023 22:33:15 +0100 Subject: [PATCH 110/167] added articles other improvements --- .compress-all.js | 32 --------- .eleventy.js | 29 +++++++- package.json | 19 +++-- src/_data/donations.json | 11 +++ src/_includes/layouts/article.njk | 92 +++++++++++++++++++++++++ src/_includes/layouts/base.njk | 26 +++---- src/_includes/layouts/services.njk | 2 +- src/_includes/profiles.html | 4 ++ src/de/about.md | 11 +++ src/de/articles.html | 35 ++++++++++ src/de/blog.md | 11 --- src/de/services/matrix.md | 6 +- src/de/services/matrix/setup/part-1.md | 80 +++++++++++++++++++++ src/de/services/matrix/setup/part-2.md | 54 +++++++++++++++ src/de/services/searx.md | 2 +- src/de/services/searx/setup.md | 56 +++++++++++++++ src/en/about.md | 11 +++ src/en/blog.md | 11 --- src/en/services/matrix.md | 4 +- src/img/searx/setup/chrome-1.png | Bin 0 -> 20890 bytes src/img/searx/setup/firefox-1.png | Bin 0 -> 13301 bytes src/img/searx/setup/firefox-2.png | Bin 0 -> 27409 bytes src/scss/main.scss | 55 ++++++++++----- 23 files changed, 448 insertions(+), 103 deletions(-) delete mode 100644 .compress-all.js create mode 100644 src/_includes/layouts/article.njk create mode 100644 src/de/about.md create mode 100644 src/de/articles.html delete mode 100644 src/de/blog.md create mode 100644 src/de/services/matrix/setup/part-1.md create mode 100644 src/de/services/matrix/setup/part-2.md create mode 100644 src/de/services/searx/setup.md create mode 100644 src/en/about.md delete mode 100644 src/en/blog.md create mode 100644 src/img/searx/setup/chrome-1.png create mode 100644 src/img/searx/setup/firefox-1.png create mode 100644 src/img/searx/setup/firefox-2.png diff --git a/.compress-all.js b/.compress-all.js deleted file mode 100644 index dcbce1e..0000000 --- a/.compress-all.js +++ /dev/null @@ -1,32 +0,0 @@ -const glob = require("glob"); -const minify = require('@node-minify/core'); -const htmlMinifier = require('@node-minify/html-minifier'); -const crass = require('@node-minify/crass'); - -console.log('compress all html and css files'); - -glob("dist/**/*.html", function (er, files) { - files.forEach(file => { - console.log(file); - minify({ - compressor: htmlMinifier, - input: file, - output: file, - options: { - collapseWhitespace: true, - conservativeCollapse: true - }, - }); - }) -}); - -glob("dist/**/*.css", function (er, files) { - files.forEach(file => { - console.log(file); - minify({ - compressor: crass, - input: file, - output: file - }); - }) -}); diff --git a/.eleventy.js b/.eleventy.js index 4ca320e..6d93d7b 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -1,9 +1,28 @@ +const pluginRev = require("eleventy-plugin-rev"); +const eleventySass = require("eleventy-sass"); +const tinyHTML = require('@sardine/eleventy-plugin-tinyhtml'); const eleventyNavigationPlugin = require("@11ty/eleventy-navigation"); module.exports = function (eleventyConfig) { - eleventyConfig.addWatchTarget("./src/scss/"); - + eleventyConfig.addPlugin(pluginRev); + eleventyConfig.addPlugin(tinyHTML); + eleventyConfig.addPlugin(eleventySass, { + sass: { + loadPaths: ["node_modules"], + style: "compressed", + sourceMap: false, + }, + compileOptions: { + permalink: function (contents, inputPath) { + return (data) => { + return data.page.filePathStem.replace(/^\/scss\//, "/css/") + ".css"; + }; + } + }, + rev: true + }); eleventyConfig.addPlugin(eleventyNavigationPlugin); + eleventyConfig.setUseGitIgnore(false); eleventyConfig.addPassthroughCopy({ "src/img": "img", @@ -19,7 +38,7 @@ module.exports = function (eleventyConfig) { }); eleventyConfig.addFilter("sum", function (value) { - return value.map(d => d.amount).reduce((a, b) => a + b); + return value.map(d => d.amount).reduce((a, b) => a + b, 0); }); eleventyConfig.addFilter("amount", function (value) { @@ -43,6 +62,10 @@ module.exports = function (eleventyConfig) { .length; }); + eleventyConfig.addFilter('getServiceById', (services, serviceId) => { + return services.find(s => s.id === serviceId); + }); + return { // Pre-process *.md files with: (default: `liquid`) markdownTemplateEngine: "njk", diff --git a/package.json b/package.json index 98fe243..b08a1e1 100644 --- a/package.json +++ b/package.json @@ -3,12 +3,9 @@ "version": "1.0.0", "description": "website for sp-codes.de", "scripts": { - "compile-sass": "node-sass --output-style compressed --importer=node_modules/node-sass-tilde-importer src/scss/main.scss -o dist/css/", - "minify-css": "uncss -n -H dist/ -o dist/css/main.css dist/**/*.html dist/**/**/*.html dist/**/**/**/*.html", - "watch:eleventy": "eleventy --serve", - "watch:sass": "npm-run-all compile-sass minify-css -- --watch", - "start": "npm-run-all compile-sass minify-css --parallel watch:*", - "build": "npm run compile-sass && eleventy && npm run move-index && npm run minify-css && node .compress-all.js", + "minify-css": "uncss -n -H dist/ -o dist/css/main-*.css dist/**/*.html dist/**/**/*.html dist/**/**/**/*.html", + "start": "eleventy --serve --watch", + "build": "eleventy && npm run move-index && npm run minify-css", "move-index": "cpx dist/de/index.html dist/" }, "author": "samuel-p", @@ -25,15 +22,17 @@ "@node-minify/core": "^7.1.0", "@node-minify/crass": "^7.1.0", "@node-minify/html-minifier": "^7.1.0", + "@sardine/eleventy-plugin-tinyhtml": "^0.2.0", "cpx": "^1.5.0", + "eleventy-plugin-rev": "^1.0.2", + "eleventy-sass": "^2.1.6", "glob": "^8.0.3", "minify": "^9.1.0", - "node-sass": "^8.0.0", - "node-sass-tilde-importer": "^1.0.2", - "npm-run-all": "^4.1.5", + "postcss": "^8.4.21", + "sass": "^1.57.1", "uncss": "^0.17.3" }, "dependencies": { - "bootstrap": "^4.6.2" + "bootstrap": "^5.2.3" } } diff --git a/src/_data/donations.json b/src/_data/donations.json index a5ba3fa..8981452 100644 --- a/src/_data/donations.json +++ b/src/_data/donations.json @@ -1,7 +1,18 @@ [ + { + "year": 2023, + "donations": [] + }, { "year": 2022, "donations": [ + { + "date": "15.12.2022", + "amount": 20, + "via": "banktransfer", + "from": "ub1x", + "first": false + }, { "date": "16.11.2021", "amount": 25, diff --git a/src/_includes/layouts/article.njk b/src/_includes/layouts/article.njk new file mode 100644 index 0000000..13ec8ce --- /dev/null +++ b/src/_includes/layouts/article.njk @@ -0,0 +1,92 @@ +--- +layout: base.njk +--- + +
    +
    + {% if tags %} +
    + {% for tag in tags %} + {{tag}} + {% endfor %} +
    + {% endif %} + {{ content | safe }} +
    +
    + {% if series %} + + {% endif %} + {% set service = services | getServiceById(service) %} + {% if service %} +
    +
    Zugehöriger Dienst
    +
    + + {% if service.beta == true %} +
    TEST-PHASE
    + {% endif %} +
    + +

    {{service.name}}{% if service.url %} {% endif %}

    + {% if service.status %} +
    + + {{strings.state[locale]}} + +
    + {% endif %} +
    {{service.summary[locale]}}
    +
    +
    +
    + {% endif %} +
    +
    Über mich
    +
    +

    + Mein Name ist Samuel Philipp und ich bin ein Software Engineer aus Magdeburg. In meiner Freizeit + hoste ich verschiedene freie Dienste. Hier schreibe ich Artikel rund um + Sicherheit und Datenschutz. +

    + Mehr erfahren +
    +
    +
    +
    Schreib mir deine Meinung
    + +
    +
    +
    diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index f012dea..80c54fc 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -33,19 +33,19 @@ title: sp-codes - +