From ab65ca20e8ab7e61c7cb8a66227e90b9eebebe2e Mon Sep 17 00:00:00 2001 From: Jason Miller <contact@jasonmiller.nl> Date: Wed, 14 Apr 2021 19:19:05 +0200 Subject: [PATCH] Add favicons --- .../assets/favicon/android-chrome-192x192.png | Bin 0 -> 4655 bytes ui/frontend/assets/favicon/apple-touch-icon.png | Bin 0 -> 1831 bytes ui/frontend/assets/favicon/browserconfig.xml | 9 +++++++++ ui/frontend/assets/favicon/favicon-16x16.png | Bin 0 -> 417 bytes ui/frontend/assets/favicon/favicon-32x32.png | Bin 0 -> 648 bytes ui/frontend/assets/favicon/favicon.ico | Bin 0 -> 15086 bytes ui/frontend/assets/favicon/mstile-150x150.png | Bin 0 -> 1870 bytes .../assets/favicon/safari-pinned-tab.svg | 1 + ui/frontend/assets/favicon/site.webmanifest | 13 +++++++++++++ ui/frontend/index.ejs | 7 +++++++ ui/frontend/webpack.config.js | 1 + 11 files changed, 31 insertions(+) create mode 100644 ui/frontend/assets/favicon/android-chrome-192x192.png create mode 100644 ui/frontend/assets/favicon/apple-touch-icon.png create mode 100644 ui/frontend/assets/favicon/browserconfig.xml create mode 100644 ui/frontend/assets/favicon/favicon-16x16.png create mode 100644 ui/frontend/assets/favicon/favicon-32x32.png create mode 100644 ui/frontend/assets/favicon/favicon.ico create mode 100644 ui/frontend/assets/favicon/mstile-150x150.png create mode 100644 ui/frontend/assets/favicon/safari-pinned-tab.svg create mode 100644 ui/frontend/assets/favicon/site.webmanifest diff --git a/ui/frontend/assets/favicon/android-chrome-192x192.png b/ui/frontend/assets/favicon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..1f57d14a001094aef7385519dcd3c9d98cdbbea0 GIT binary patch literal 4655 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 literal 0 HcmV?d00001 diff --git a/ui/frontend/assets/favicon/apple-touch-icon.png b/ui/frontend/assets/favicon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b5cd90310e79fcb60d12aa91fd2cd1a3e45aaf01 GIT binary patch literal 1831 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 V5p?oGHI)DW002ovPDHLkV1l32bs+!% literal 0 HcmV?d00001 diff --git a/ui/frontend/assets/favicon/browserconfig.xml b/ui/frontend/assets/favicon/browserconfig.xml new file mode 100644 index 000000000..2aa8f8a85 --- /dev/null +++ b/ui/frontend/assets/favicon/browserconfig.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<browserconfig> + <msapplication> + <tile> + <square150x150logo src="/mstile-150x150.png"/> + <TileColor>#e5e5e5</TileColor> + </tile> + </msapplication> +</browserconfig> diff --git a/ui/frontend/assets/favicon/favicon-16x16.png b/ui/frontend/assets/favicon/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..54c7507649465913f7f14e264ff017e2f91f27fb GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF<Nq6*hWMJ6X&;2Kn7072S4sv&5 zSa(k5C6J>V;1lBd-J5}UBsa@B5~z{CB*-tA@qg6*9CP>glb0*ETzVj=V7a0eC^f~? z#W95AdU8TS#nX+MvdjV-wsFg^;bSl=X|dfVW5UcOQ<4ySKxt1yWAKJOF(0}fv$fqY z7Ee9PIy>LcWV;&I#!m0}#Eg)DDJ5bdlhS7Fa0vX<$GO_%up6tZA{(2SV4K6@&Pj1R zXM%Y2Sy@?+?huidxRI6Ku9|U0&A{MC#4%fAJC-foCj$ZkEErS%ZaR0fkcWq1{te}x zq-R`SK=*}Lg+!DDC6+4`6y>L7=A<f=R2HNvWEPYpGcZ)ldHjioqcBWE<COpDGoDX_ z7?_p0^^&=Tm4&@0i!ci-xHOm?PGMHw9HMag#+4IC&K!|B!hX8JV}X|*!z*#Yl21;i RQ-M}6c)I$ztaD0e0szgsk>vmY literal 0 HcmV?d00001 diff --git a/ui/frontend/assets/favicon/favicon-32x32.png b/ui/frontend/assets/favicon/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..311a457a3aee3b020e2a9e0079684cab72c57168 GIT binary patch literal 648 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NS%G}U;vjb? zhIQv;UIIB<0X`wF-@O@pG7EtuK_s;HWin6~UrCT(@IQu6PnJmUjdSn6Qm)Up`s|Ly zK(p&TT^vI+&bv-L>&@gSaZJAKbkR$r2fKc-dS`gX`lu`sF?thlF_G7Ly_4YFvX?R$ zakeW2RN}b0bvW)U*`>u&d7|0H<)ZxMH$B&iCGP$FSa-%opX2iE^E#h7zCF}8<JMii zsJHP=;fjV8vu|;vY-@0lw%GAR;Wlg7BsVz^J_!S*9g<;(ir63VFteT!Ui8IdLDK|Y zFL5Ws*;nm0IkR3eWtHT(7#V$fS))wje~DyE8;dIs4(%@siI^as)ho3j>U!gYwJslw zo^H(u>$|aXT3y?=EqS*T9xPtpzw+{jg!vnK@)I_(2+NA(8kCDH6t&y3pg19W;*SSQ zRC$h=z2@y@5?;Qcf<IbM<--B>q7Qu*PdqwyG*+{5@i|p@l$SKz*rIVElV8>Tm&epu zO%Z}etl5h4#Wi2KGX|``^m5BfvCu5Z6a9*nK{+n+4;hUke|c>ZtSy)v&&zT9=|5qC z`X}A5+$wLsxRg;mU#~Ha_3IHC{pgz=>sZylRn^~Ce{wU{_W4D9;j?jKC!Vaa0Y*}I zRY*ihP-3}4K~a8MW=^U?No7H*LS{h;Fa|5;JpRPPQ5dG7amxSn8PBId49v>hddb|v z%EI20MVN&ZTpCOcr!XsT4pBIL<I0I6XO74mVL#pAvA|1@;gz^x$tNe%sX!|jJYD@< J);T3K0RVSX2TcF~ literal 0 HcmV?d00001 diff --git a/ui/frontend/assets/favicon/favicon.ico b/ui/frontend/assets/favicon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..917eb9ad602859439a800868b3d04820ebe4b21d GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/ui/frontend/assets/favicon/mstile-150x150.png b/ui/frontend/assets/favicon/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..70ad11dd53c06dab2e53df179e0df8f2c38a9a09 GIT binary patch literal 1870 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 AV*mgE literal 0 HcmV?d00001 diff --git a/ui/frontend/assets/favicon/safari-pinned-tab.svg b/ui/frontend/assets/favicon/safari-pinned-tab.svg new file mode 100644 index 000000000..9f6e852f6 --- /dev/null +++ b/ui/frontend/assets/favicon/safari-pinned-tab.svg @@ -0,0 +1 @@ +<svg version="1" xmlns="http://www.w3.org/2000/svg" width="281.333" height="281.333" viewBox="0 0 211.000000 211.000000"><path d="M99.9 7c-1.7 2.7-3.6 5-4.3 5-.6 0-3-1.8-5.1-4-5.2-5.3-7.1-4.9-9.9 1.7-1.2 2.9-2.5 5.5-2.8 5.9-.4.4-3-.8-5.7-2.6-6.7-4.2-8.2-3.8-9.9 3-.7 3-1.7 5.9-2.2 6.4-.5.5-3.2-.1-6.5-1.4-6.9-2.8-7.9-2.1-8.2 5.7-.1 3-.5 5.9-1 6.3-.4.5-3.1.4-6-.2-7.5-1.5-8.5-.9-7.7 4.9 1.3 9.2 1.6 8.8-5.3 9.1-8 .4-8.9 1.5-6.3 7.7 3.1 7.3 2.9 7.9-4.1 9.3-3.4.8-6.2 1.9-6.6 2.7-.3.8.9 3.7 2.7 6.5 1.8 2.8 3 5.6 2.7 6.3-.2.6-2.7 2-5.5 3C1.4 84.6 1 86.4 6 91.5c2.2 2.2 4 4.7 4 5.5 0 .8-2 2.8-4.5 4.3-2.5 1.6-4.7 3.3-5 3.8-1 1.5 1.2 4.3 5.4 6.9 2.3 1.4 4.1 3.1 4.1 3.9 0 .7-1.8 3.3-4 5.7-2.2 2.4-4 4.8-4 5.5 0 .6 2.7 2.2 6 3.6 3.3 1.5 6 3.1 6 3.7 0 .6-1.4 3.1-3 5.6-1.6 2.5-3 5-3 5.7 0 1.7 2.7 2.9 8.3 3.7 5.5.8 5.8 1.9 2.8 8.8-2.7 6.3-1.6 7.8 5.9 7.8 3.2 0 6.2.5 6.5 1 .4.6.1 3.5-.5 6.6-1.5 7.4-.9 8 7 6.7 5.8-.9 6.2-.9 6.9 1.1.5 1.1.6 3.9.5 6.2-.5 6.3 1.3 7.3 8.3 4.4 5.4-2.2 5.6-2.3 6.9-.5.8 1.1 1.4 2.6 1.5 3.4 0 .9.2 2.4.4 3.4 1.1 5.7 2.8 6 9.7 1.6 2.7-1.7 5.2-2.8 5.6-2.5.3.4 1.6 3.1 2.7 5.9 2.7 6.7 4.8 7.1 10 1.7 2.1-2.2 4.4-4 5-4 .7 0 2.6 2.3 4.4 5 4.3 6.7 5.5 6.6 10.5-.7 1.6-2.4 3.4-4.3 3.9-4.3.6 0 3 1.9 5.3 4.1 2.8 2.7 4.8 4 5.8 3.6.9-.4 2.7-3.1 4-6.2 1.4-3 2.9-5.5 3.4-5.5s2.8 1.4 5 3c5.7 4.1 7.8 3.9 9.1-.8.6-2 1.1-4.4 1.1-5.2.1-4 1.6-4.4 8-2 3.9 1.5 6.5 1.9 7.1 1.3.5-.5 1-3.4 1.1-6.4.2-7.4.6-7.7 7.8-6.5 5.1.8 6.3.7 7.1-.4.5-.8.7-2.1.4-2.7-.2-.7-.7-3.5-1.1-6.2l-.6-5 6.8-.3c8.1-.4 8.8-1.5 5.5-8.8-1-2.3-1.7-4.9-1.4-5.6.3-.8 2.7-1.7 5.5-2 2.7-.4 5.6-1.3 6.4-2.1 1.5-1.6 1.1-2.7-4.1-10.6l-1.7-2.6 5.8-2.8c3.5-1.7 6-3.6 6.2-4.7.3-1.1-1.2-3.5-3.8-6.1-2.3-2.4-3.9-4.8-3.6-5.4.4-.6 2.7-2.2 5.2-3.7 5.8-3.4 5.9-6 .3-9.4-6.2-3.8-6.4-5.1-1.9-9.5 5.4-5.3 5.2-7.5-.8-9.9-7.2-2.9-7.6-3.8-3.6-9.7 3-4.5 3.6-7.7 1.3-8-.5-.1-1.2-.2-1.6-.3-.5-.1-2.7-.6-5-1s-4.4-1.3-4.6-2c-.3-.7.3-3.2 1.4-5.6 3.5-7.8 2.6-9-6.7-9-6 0-6.1-.2-4.5-8.7 1.2-6.1.4-6.8-6.8-5.6-3.3.5-6.4.7-6.9.4-.5-.3-.9-3.2-1-6.5-.1-7.8-.9-8.5-7.5-5.8-2.9 1.2-5.8 2.2-6.4 2.2-1.1 0-1.9-2.2-3.7-10.3-.8-3.6-3.5-3.5-8.7.2-2.2 1.7-4.6 2.8-5.4 2.5-.7-.3-2.2-2.8-3.3-5.5-2.8-6.7-4.4-7.1-9.6-2-2.3 2.2-4.7 4.1-5.4 4.1-.6 0-2.7-2.2-4.4-5-1.9-2.8-4.1-5-5.1-5s-3 2-4.8 5zm9.4 16.2c2.1 2.5 1.6 6.4-1.1 8.5-2.7 2-6.9 1.6-8.6-.9-2.2-3.1-2-5.8.6-8.5 2.6-2.8 6.3-2.4 9.1.9zM96.3 37c3.4 3.3 7 6 8 6 .9 0 4.5-2.7 8-6 3.4-3.3 6.7-6 7.3-6 .7 0 4.3.9 8 2.1 16.1 4.9 31 16 41.1 30.7l3.6 5.2-2.3 5.1-2.4 5.1-1.4-4c-1.6-4.8-8-12.4-13.3-15.8-2.1-1.3-6.6-3.3-10.1-4.5-6.1-2.1-7.7-2.2-49-2.3-23.6 0-42.8-.4-42.8-.8 0-1.6 11.8-10 19.5-13.9 7.4-3.6 15.2-6.6 18.3-6.8.7-.1 4 2.6 7.5 5.9zM32.2 77.4c4.8 3.6 1.2 12.1-4.8 11-3.4-.6-5.3-3-5.4-6.6 0-4.7 6.3-7.4 10.2-4.4zm27.4 0c1.8 1.4 1.9 2.9 2 26.8.1 29.7-.2 32.5-2.7 33.9-1.1.5-6.7 1.1-12.7 1.2l-10.7.1-1.8-3.7c-3.3-7.1-5.5-18.7-5.3-29l.1-9.8 6.5-3.5c10.3-5.6 10.2-5.3 5.2-16.6-.7-1.5 17.3-.9 19.4.6zm60.8-.4c7.1 1.6 10 7.2 7.5 14.8-2.3 7-5.2 8.2-19.9 8.2H97.1V76h9.7c5.3 0 11.5.5 13.6 1zm63.9.4c3 2.3 3.1 6.3.3 9.1-4.2 4.2-9 2.7-10.2-3.1-1.1-5.5 5.4-9.4 9.9-6zm-3.1 21c.4.6.5 5.6.3 11.1-.5 11.3-3 21.6-7.6 30.8-3 6-10.1 16.4-12.3 18-1 .7-5.4.5-14.8-.8-4.9-.7-6.3.9-7.8 9.2-.6 3.7-1.4 7.6-1.6 8.5-.4 1.4-4 3.1-11.9 5.5-.5.2-4.4.9-8.6 1.6-12.8 2.3-29.5.5-40.7-4.3-5.2-2.3-5.4-2.6-6.8-12l-.5-3.5H95c14.4 0 26.4-.3 26.7-.8.5-.8.6-7.3.4-18.4l-.1-4.2-10.7.1c-13.8 0-14-.2-13.9-13.4l.1-9.3 3-.2c1.7 0 10.9-.2 20.6-.3 13.4-.2 18.9-.7 23.2-2 10.4-3.2 20.1-12.5 22.2-21.3l.7-2.7 6.7 3.6c3.6 2.1 6.9 4.2 7.3 4.8zM61.4 166.5c3.5 2.6 1.8 10-2.4 10.5-4.9.7-8-1.6-8-5.7 0-5.4 6-8.1 10.4-4.8zm93.9-.2c4.6 3.3 1.4 12.1-4.1 11.1-5.7-1.1-7.8-5.7-4.6-10.2 1.7-2.5 6-2.9 8.7-.9z"/></svg> \ No newline at end of file diff --git a/ui/frontend/assets/favicon/site.webmanifest b/ui/frontend/assets/favicon/site.webmanifest new file mode 100644 index 000000000..d27fcc3b2 --- /dev/null +++ b/ui/frontend/assets/favicon/site.webmanifest @@ -0,0 +1,13 @@ +{ + "name": "Rust Playground", + "short_name": "Rust Playground", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + } + ], + "theme_color": "#e5e5e5", + "background_color": "#e5e5e5" +} diff --git a/ui/frontend/index.ejs b/ui/frontend/index.ejs index 07e3a2c88..3ae940db6 100644 --- a/ui/frontend/index.ejs +++ b/ui/frontend/index.ejs @@ -5,6 +5,13 @@ <meta name="description" content="A browser interface to the Rust compiler to experiment with the language" /> <title><%= htmlWebpackPlugin.options.title %></title> <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600,700%7CSource+Code+Pro:400,700&subset=latin-ext" rel="stylesheet"> + <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> + <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> + <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> + <link rel="manifest" href="/site.webmanifest"> + <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#f74c00"> + <meta name="msapplication-TileColor" content="#e5e5e5"> + <meta name="theme-color" content="#e5e5e5"> </head> <main> <body> diff --git a/ui/frontend/webpack.config.js b/ui/frontend/webpack.config.js index e5d6d7076..82581c49a 100644 --- a/ui/frontend/webpack.config.js +++ b/ui/frontend/webpack.config.js @@ -129,6 +129,7 @@ module.exports = function(_, argv) { new CopyPlugin({ patterns: [ { from: 'robots.txt', to: '..' }, + { from: 'assets/favicon', to: '..' }, ], }), new MiniCssExtractPlugin({