From 6d1dab07eb550540f4447dbeec8cc7ed9d0df131 Mon Sep 17 00:00:00 2001 From: Isiah Meadows Date: Mon, 14 Sep 2020 18:54:47 -0700 Subject: [PATCH] Fix assets [skip ci] --- .gitattributes | 5 +++ assets/16.png | Bin 0 -> 703 bytes assets/32.png | Bin 0 -> 1352 bytes assets/48.png | Bin 0 -> 1990 bytes assets/README.md | 94 +++++++++++++++++++++++++++++++++++++++++ assets/github-logo.png | Bin 0 -> 15399 bytes assets/gitter-logo.png | Bin 0 -> 3482 bytes assets/logo.svg | 79 ++++++++++++++++++++++++++++++++++ docs/16.png | Bin 0 -> 1580 bytes docs/32.png | Bin 0 -> 4242 bytes docs/48.png | Bin 0 -> 8298 bytes docs/favicon.ico | Bin 15086 -> 15086 bytes docs/favicon.png | Bin 1697 -> 1352 bytes docs/logo.svg | 56 +----------------------- 14 files changed, 180 insertions(+), 54 deletions(-) create mode 100644 assets/16.png create mode 100644 assets/32.png create mode 100644 assets/48.png create mode 100644 assets/README.md create mode 100644 assets/github-logo.png create mode 100644 assets/gitter-logo.png create mode 100644 assets/logo.svg create mode 100644 docs/16.png create mode 100644 docs/32.png create mode 100644 docs/48.png diff --git a/.gitattributes b/.gitattributes index 7296866f..bc1c2b0d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,3 +3,8 @@ /mithril.min.js binary /package-lock.json binary /yarn.lock binary + +# Assets +*.png binary +*.svg binary +*.ico binary diff --git a/assets/16.png b/assets/16.png new file mode 100644 index 0000000000000000000000000000000000000000..4a67c770b7386785cedd8b6a1214efc0646c877b GIT binary patch literal 703 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 literal 0 HcmV?d00001 diff --git a/assets/README.md b/assets/README.md new file mode 100644 index 00000000..ba6f41b6 --- /dev/null +++ b/assets/README.md @@ -0,0 +1,94 @@ +This contains general base image assets for docs and such. + +- `logo.svg` is the logo source file, the base asset. It's an Inkscape SVG file, complete with relevant metadata. +- `github-logo.png` is the logo export used for the GitHub profile picture. +- `gitter-logo.png` is the logo export used for the Gitter avatar picture. +- `16.png`, `32.png`, and `48.png` are the logo exports used for the favicon. They are generated separately by Inkscape as ImageMagick's output is horrendously blurry. (I don't get how such a powerful image manipulation library can be so bad at rasterizing an SVG file, but apparently it's possible.) + +In the docs, some of the logos are stored there directly rather than being first generated here. + +- `docs/logo.svg` is just the `logo.svg` here, but size-optimized with metadata and Inkscape-specific stuff such stripped. I generated this from Inkscape as it's easier than installing npm modules and there's little point in installing a whole development dependency just to minify one (already small) SVG file. +- `docs/favicon.ico` is `16.png`, `32.png`, and `48.png` from here combined into a single `.ico` file. + +The other favicon file, `docs/favicon.png`, is simply copied from `32.png` directly. + +### Generating + +If you want to generate all these yourself from the originals and replicate everything for yourself: + +1. Open `assets/logo.svg` in Inkscape. + +1. Save an optimized SVG copy to `docs/logo.svg` with the following settings (irrelevant ones omitted): + + - "Options" tab: + - Shorten color values: checked + - Convert CSS attributes to XML attributes: checked + - Collapse groups: checked + - Create groups for similar attributes: checked + - Keep editor data: unchecked + - Keep unreferenced definitions: unchecked + - Work around renderer bugs: checked + - "SVG Output" tab: + - Remove the XML declaration: unchecked + - Remove metadata: checked + - Remove comments: checked + - Embed raster images: checked + - Enable viewboxing: unchecked + - Format output with line-breaks and indentation: unchecked + - Strip the "xml:space" attribute from the root SVG element: checked + - "IDs" tab: + - Remove unused IDs: checked + +1. Export as a PNG to `assets/github-logo.png` with the following settings: + + - Export area: page + - Image width: 500 pixels + - Image height: 500 pixels + +1. Export as a PNG to `assets/gitter-logo.png` with the following settings: + + - Export area: page + - Image width: 96 pixels + - Image height: 96 pixels + +1. Export as a PNG to `assets/16.png` with the following settings: + + - Export area: page + - Image width: 16 pixels + - Image height: 16 pixels + +1. Export as a PNG to `assets/32.png` with the following settings: + + - Export area: page + - Image width: 32 pixels + - Image height: 32 pixels + +1. Export as a PNG to `assets/48.png` with the following settings: + + - Export area: page + - Image width: 48 pixels + - Image height: 48 pixels + +1. Run the following ImageMagick commands from the repo's root: + + ```sh + magick convert assets/github-logo.png -background white -flatten assets/github-logo.png + magick convert assets/gitter-logo.png -background white -flatten assets/gitter-logo.png + magick convert -background none assets/16.png assets/32.png assets/48.png docs/favicon.ico + ``` + +1. Verify the icon has the expected sizes contained within it by running the following ImageMagick command from the root: + + ```sh + magick identify docs/favicon.ico + ``` + + This should print something along the lines of this: + + ``` + docs/favicon.ico[0] ICO 16x16 16x16+0+0 8-bit sRGB 0.000u 0:00.000 + docs/favicon.ico[1] ICO 32x32 32x32+0+0 8-bit sRGB 0.000u 0:00.006 + docs/favicon.ico[2] ICO 48x48 48x48+0+0 8-bit sRGB 15086B 0.000u 0:00.008 + ``` + +1. Copy `assets/32.png` to `docs/favicon.png`. diff --git a/assets/github-logo.png b/assets/github-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..994f6eb04550ca70b268c7dc40008dc96f86b1df GIT binary patch literal 15399 zcmY+rW0Yn+*EL#Zm+k7ZZM)0%Rkm&0wr$&Xmu=fNzrLUI=e$2McGg^(d##<3jEp3E zhRe(TfrG(@0RjSolMokC1Oftn{I5WP{zE>Y=-d81z)S^Y1c89+V_`q_!T;HWhT@7c zKtLX3KtO&$KtS*RAiq-}AZG?3pmRMSAg(kZAPl>#4h0?{AW$HAX=Tx$pP$>?+w1G= zySuyl`}>83h4%K2l9JNI#3VmIe;aEXfF?lvk2o_E3o#K10X`uz5(+dF3@{J~9xgs5 z1r-Z3tEh;mlA@A@xrL9nPeMXsPfzdK+S<#@%j)WCcXv;5aY=l9g1MQwqJm;aN9X(d z`^w5nQ&V$NQnIs?vx>3`Dhe7V1{Ny|n~SqcMn+~|U*GZZ@zK#yZ*OmUdWM3$0tPxJ z8Y+5na!PY^%g4vZ>FH@?WR$LsE)yd&Bm@*Z9D=ctaesgR&CQLWfg#*4cqm9{Jzc%% z=$OvVuCuc!9c+s9UNO*+wAS^ z85x*xuyM7uv@b3$zP`RDCnv+g!g;uPx3;!aRaD(v-5wtw%gV|%)HNu`Dc#-N$H&LN zzrROEM@fiDD=Vw2s;XgOepy*s;o{(FYG}T`zBV*8>S*gAz$4=05!l+;PESuSE-w1| z`n|oqAtE5f#KcBKMAFjGSzB4p&CPv&em*=rjE#*M85$A&CJqe^3k(c0H8Gu-n3$QF z;p64!du<>h5f zO|6uq6cr`4w3IX(D?17@s*s>iW@eU&u?agH2Nx%|zkfh^d4;QsYjAMLz`(#Cu|Kh~ zaU#MZCnqP_**VHe%DK6D^YimE(lX1-%TrTRsi|p=jZFmwg>7x^rKM#lDXGFj!uopp zq$Ff=vT_?68)T&96&028a`GV|q37r44D^g%o?dBb>0MpjygYm(BO?I;fgJ3db#?Uy z`UZJ<`My5B0{nvNYU(*TxkW|Av$M0ZGP0HymQIdNjb5Nt|0W5rfz%%npfGSe@qY%i zow$Z05YPbhe+766n4$b12=+aP^QmtRPxw)a@I-=k5fR^Z}liB1u>Sv1GZ;#BOY7fMfQHoLPf z*ElL|W!hG$@v{_ZF70{+s{{m6t5vAyd$l*Lq_!V*C~l@af(~G_SUFi9#F0^jm$WX~ zx_CaIn?zczQGG6R3u!K}w6s^-H*()pp!8d7Sk6DExLk3I%+s7njBZ@l%#}A{VN11i zyye8vd9aA7biMS{Y_(ZikxH_4@h80w-c5lbY_D{O@f zJ9i9N5H&K8gpe`xS{cG5i~qd`+xADC16DVV4WXp&RCHjbdt-k*3!B@dXNXsl2->p? zw3Jm_x&6dg{ZQ(vu#L6iw{gS-RgFkz#pZ}pqmg_Uee_+T&YtQ?$x7C~9m5I{?`j*R z2%~-Z%F|p`&r)0R(E{U@$~7bNSi^n&rr4v=y0;;$CCyXD>y)0bNK5S?uMLD7FLTU> zpQw4_^&KRai@B1GsAxTDPd~2abg@af69pK^JEZ09<$^!8>ro2Stwy(ToJgTI1K$~pX(Y)6dI5_Y+bTH60$@yc=wCma=@mKCAp~cf!zA9m-hDSZ)+=g!M2nI#n>-y

UQCKVdrknOvU8Lx?aKAdRRo-4v7-NXA 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 Gd-8wc9BQ)w literal 0 HcmV?d00001 diff --git a/assets/logo.svg b/assets/logo.svg new file mode 100644 index 00000000..e87cff88 --- /dev/null +++ b/assets/logo.svg @@ -0,0 +1,79 @@ + + + + + + image/svg+xml + + + + + + Leo Horie + + + + + + + + + + + + + + + + + + + diff --git a/docs/16.png b/docs/16.png new file mode 100644 index 0000000000000000000000000000000000000000..f1794514f0eef90999713088f73184ebbabd63a6 GIT binary patch literal 1580 zcmV+{2GjY8P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 QnC}Mw3sZs#^BkG>AArNSfB*mh literal 0 HcmV?d00001 diff --git a/docs/48.png b/docs/48.png new file mode 100644 index 0000000000000000000000000000000000000000..8da689d8c76b0a01b596fc2902285d67731ed17b GIT binary patch literal 8298 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 literal 0 HcmV?d00001 diff --git a/docs/favicon.ico b/docs/favicon.ico index 61807fae19adedb602ddd0dae259131a9ed7e63c..961f6c3a5fb98e377c004ed13aaf6fe1b263eba9 100644 GIT binary patch literal 15086 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 O@tH9_t;Y0CHs*g3ezns8 diff --git a/docs/favicon.png b/docs/favicon.png index 507126309faa675212895b7f9dc54e215e5f4da8..0bb23f41993df64647837ee297dd461e53f97de7 100644 GIT binary patch delta 1308 zcmV+%1>^dm4af?R865@y0047(dh`GQ010qNS#tmY3~K-Y3~K?v<;X#k4F)KG5OhUY zbU}4=Xm4@=Ol5B%NN;j!Wr${F@Bjb+Sad~LbVF}&d2(rIXmkKWLogsvbz*F3V<1Ft zZDDC{AVg(kX=7n@X>V>IXmoUNIxjC{a%Ew3X?A5}Z*6UFZgVbga%V4abz*F3V`Oh_ zVQFqJdS!BNFEK7KFUI4&`2YZa1XW2yK~z|UotIyTRaF$mf8W~oYAB8qnT`1mg>oDm zp{S5-sE5*2B9NfyC5a${42?4Cr3fqtB8akHs)r~{&6i50ziLB4h)!d{XqHqqI%%de zI>vSGoF2|PbI+W6@3}Mc!QsH#Ykhm|wbxpEZ_yaDfrSue0%a(l0J?#HQbunw&<*yW?dm5NhYa&&P!hIro9hl{U zqk;p#-@vqpXdb8oxFTctA4J~@{Q(RB*F+$O zi-lcGM+8`0N4MRuj}l&gu;=SdzR}6fLs*mJjw&&Rb%YJak~#YrZd! zH87kZtR(CNapnb>jIWi=_5m+A0h}4jp*j!ci=KabMUa9X<#r-XiuiY zof6jN`+0Wsn05ev#XLe`{|GA~>`dGssybVOc45Dy$ahicZfV>o^i@SKd`}$RTA1RE z=`)zN9#%T9V2XaQ!Wwko@g64vcGwg~J=w>?XBf)-YI zNsc5@owK2Tm@3I%lQTeQ4>d|J<#3n(OHjD81}{KZl^mJAqRqgyStaj^nfpLkjps@V zvkZG9rPmLIm7_vb!;6K&I;q@`OT^pLLgj$#i5Ol@ zd{4}W(C0}G2s@hTfCEC`fUPI4nkKL(MA++znASai>hj32Hycizz_9l`2iCf%NSrh? z$Um~pb!G#TT(rqc_t`N!0AXFGEGG=1FTDzukH;=K`_EImm5vpy-sDcw;IdN%!?t)7 z-kRX#68gf!zi}c2Eq=@nLs&On!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+081LKbXpAgso|NjHkFfahk zWPvak85kKEm>`G=iGj?9sRStl>jeuiFhg`fI6yW~3y=-b2p0qj07bxpj1WPf31}LD z;y`DBw1Q257y?uV*9cY*bSEQF1gse9V7NJ8afpwA@*wl!?gX6WdPz_3`!i)mB92n^V%TEaa?Os+A;Ca8VSdP{zm z5NE&7qE&ld?AzNU{rK;Vch_wvI`FE*e2G=Ic~C#&qNT`_d3rZ<-f9(o{JKQ+kcmRD z#54ZZHo2$5lC|vzHLk4RZg|3AhqFx3u?5VmD=wv-+4k`E$y5*b!*12a*&EmVwkW># zy@=_E=I7I|Kk3Q`xGHH@sci-YVUoAI3quF1tOt<8S>O>_%)r3C1cVvaTx?$j6l5>) z^mS!_$jZcHA<23AgfcK(!aZFaLo80024^}4Ig0FU5nLiBsVN~Q@JwvR%o~p;2`!s8 zwJ~Yhnq^a>XNp`*O5Hs*yQ^#Wy!$uLJl@N)>Zd{Rxt*Kul%KD4(RAMCKhN>M>~B$a z28~emr~i3Qi#Vi(eOq`qOQZkEA6ffV2RGia>D#iaM&|nRRBkpQW~1Og>YrbM4a=;q<_XKIa!2*=mZWc)qb&)sb^mXzez^*aJtG z@J=t-xlC-u+RKtWyR6ziy?$Mos(?pRztwf3>~EsM&^niE$vQ6!B;EA|mgZ#$m$@{~ zntoC~`f`A$+4O`qed8HZbHWp6 zW$>LGblHQ!T6l3SVlD7(S*5zlT#p7I-#8=0~{?ww~`z38>gmc%=E zO!5l0$bFr0`BzPLb$a-PGrO&CN7p~Oucmf*H^<~|P^wccag8WRNi0dVN-jzTQVd20 zhUU5krn&}3A%;d)re;<~rrHKZRt5%hTNc`*Xvob^$xN%nt>Mj0$!4GiNstY}`DrEP ziAAXl<>lpinR(g8$%zH2dih1^v)|cB0TqQ;g+!DDC6+4`6y>L7=A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +