diff --git a/nix/default.nix b/nix/default.nix index 7b9b1f5..c943abb 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -53,6 +53,7 @@ with { cp -av ${octopod-css}/production/images/* /www/static/images/ cp -av ${octopod-css}/production/styles/* /www/static/styles/ cp -av ${octopod-css}/production/vendors/outline/* /www/static/vendors/outline/ + cp -av ${octopod-css}/favicons/* /www/ ''; config = { diff --git a/octopod-css/favicons/android-icon-144x144.png b/octopod-css/favicons/android-icon-144x144.png new file mode 100644 index 0000000..fc5507d Binary files /dev/null and b/octopod-css/favicons/android-icon-144x144.png differ diff --git a/octopod-css/favicons/android-icon-192x192.png b/octopod-css/favicons/android-icon-192x192.png new file mode 100644 index 0000000..cf01250 Binary files /dev/null and b/octopod-css/favicons/android-icon-192x192.png differ diff --git a/octopod-css/favicons/android-icon-36x36.png b/octopod-css/favicons/android-icon-36x36.png new file mode 100644 index 0000000..58e240c Binary files /dev/null and b/octopod-css/favicons/android-icon-36x36.png differ diff --git a/octopod-css/favicons/android-icon-48x48.png b/octopod-css/favicons/android-icon-48x48.png new file mode 100644 index 0000000..581da51 Binary files /dev/null and b/octopod-css/favicons/android-icon-48x48.png differ diff --git a/octopod-css/favicons/android-icon-72x72.png b/octopod-css/favicons/android-icon-72x72.png new file mode 100644 index 0000000..7471247 Binary files /dev/null and b/octopod-css/favicons/android-icon-72x72.png differ diff --git a/octopod-css/favicons/android-icon-96x96.png b/octopod-css/favicons/android-icon-96x96.png new file mode 100644 index 0000000..906b2fa Binary files /dev/null and b/octopod-css/favicons/android-icon-96x96.png differ diff --git a/octopod-css/favicons/apple-icon-114x114.png b/octopod-css/favicons/apple-icon-114x114.png new file mode 100644 index 0000000..3878584 Binary files /dev/null and b/octopod-css/favicons/apple-icon-114x114.png differ diff --git a/octopod-css/favicons/apple-icon-120x120.png b/octopod-css/favicons/apple-icon-120x120.png new file mode 100644 index 0000000..f3ac6a1 Binary files /dev/null and b/octopod-css/favicons/apple-icon-120x120.png differ diff --git a/octopod-css/favicons/apple-icon-144x144.png b/octopod-css/favicons/apple-icon-144x144.png new file mode 100644 index 0000000..fc5507d Binary files /dev/null and b/octopod-css/favicons/apple-icon-144x144.png differ diff --git a/octopod-css/favicons/apple-icon-152x152.png b/octopod-css/favicons/apple-icon-152x152.png new file mode 100644 index 0000000..6103cec Binary files /dev/null and b/octopod-css/favicons/apple-icon-152x152.png differ diff --git a/octopod-css/favicons/apple-icon-180x180.png b/octopod-css/favicons/apple-icon-180x180.png new file mode 100644 index 0000000..1a56e7c Binary files /dev/null and b/octopod-css/favicons/apple-icon-180x180.png differ diff --git a/octopod-css/favicons/apple-icon-57x57.png b/octopod-css/favicons/apple-icon-57x57.png new file mode 100644 index 0000000..22c4f84 Binary files /dev/null and b/octopod-css/favicons/apple-icon-57x57.png differ diff --git a/octopod-css/favicons/apple-icon-60x60.png b/octopod-css/favicons/apple-icon-60x60.png new file mode 100644 index 0000000..4e0a0fe Binary files /dev/null and b/octopod-css/favicons/apple-icon-60x60.png differ diff --git a/octopod-css/favicons/apple-icon-72x72.png b/octopod-css/favicons/apple-icon-72x72.png new file mode 100644 index 0000000..7471247 Binary files /dev/null and b/octopod-css/favicons/apple-icon-72x72.png differ diff --git a/octopod-css/favicons/apple-icon-76x76.png b/octopod-css/favicons/apple-icon-76x76.png new file mode 100644 index 0000000..b304701 Binary files /dev/null and b/octopod-css/favicons/apple-icon-76x76.png differ diff --git a/octopod-css/favicons/apple-icon-precomposed.png b/octopod-css/favicons/apple-icon-precomposed.png new file mode 100644 index 0000000..cf01250 Binary files /dev/null and b/octopod-css/favicons/apple-icon-precomposed.png differ diff --git a/octopod-css/favicons/apple-icon.png b/octopod-css/favicons/apple-icon.png new file mode 100644 index 0000000..cf01250 Binary files /dev/null and b/octopod-css/favicons/apple-icon.png differ diff --git a/octopod-css/favicons/browserconfig.xml b/octopod-css/favicons/browserconfig.xml new file mode 100644 index 0000000..c554148 --- /dev/null +++ b/octopod-css/favicons/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/octopod-css/favicons/favicon-16x16.png b/octopod-css/favicons/favicon-16x16.png new file mode 100644 index 0000000..34fd29a Binary files /dev/null and b/octopod-css/favicons/favicon-16x16.png differ diff --git a/octopod-css/favicons/favicon-32x32.png b/octopod-css/favicons/favicon-32x32.png new file mode 100644 index 0000000..1be13ad Binary files /dev/null and b/octopod-css/favicons/favicon-32x32.png differ diff --git a/octopod-css/favicons/favicon-96x96.png b/octopod-css/favicons/favicon-96x96.png new file mode 100644 index 0000000..906b2fa Binary files /dev/null and b/octopod-css/favicons/favicon-96x96.png differ diff --git a/octopod-css/favicons/favicon.ico b/octopod-css/favicons/favicon.ico new file mode 100644 index 0000000..3ddc196 Binary files /dev/null and b/octopod-css/favicons/favicon.ico differ diff --git a/octopod-css/favicons/manifest.json b/octopod-css/favicons/manifest.json new file mode 100644 index 0000000..013d4a6 --- /dev/null +++ b/octopod-css/favicons/manifest.json @@ -0,0 +1,41 @@ +{ + "name": "App", + "icons": [ + { + "src": "\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff --git a/octopod-css/favicons/ms-icon-144x144.png b/octopod-css/favicons/ms-icon-144x144.png new file mode 100644 index 0000000..fc5507d Binary files /dev/null and b/octopod-css/favicons/ms-icon-144x144.png differ diff --git a/octopod-css/favicons/ms-icon-150x150.png b/octopod-css/favicons/ms-icon-150x150.png new file mode 100644 index 0000000..af30f86 Binary files /dev/null and b/octopod-css/favicons/ms-icon-150x150.png differ diff --git a/octopod-css/favicons/ms-icon-310x310.png b/octopod-css/favicons/ms-icon-310x310.png new file mode 100644 index 0000000..2aeb5b7 Binary files /dev/null and b/octopod-css/favicons/ms-icon-310x310.png differ diff --git a/octopod-css/favicons/ms-icon-70x70.png b/octopod-css/favicons/ms-icon-70x70.png new file mode 100644 index 0000000..3eb9cbe Binary files /dev/null and b/octopod-css/favicons/ms-icon-70x70.png differ diff --git a/octopod-frontend/src/Main.hs b/octopod-frontend/src/Main.hs index ecbda9d..66d00b9 100644 --- a/octopod-frontend/src/Main.hs +++ b/octopod-frontend/src/Main.hs @@ -100,6 +100,77 @@ headWidget projectNameEv = do projectNameDyn <- holdDyn "Octopod" $ ("Octopod – " <>) . uProjectName <$> projectNameEv el "title" $ dynText projectNameDyn + -- favicon attributes + + elAttr "link" + ( "href" =: "/apple-icon-57x57.png" + <> "rel" =: "apple-touch-icon" + <> "sizes" =: "57x57") blank + elAttr "link" + ( "href" =: "/apple-icon-60x60.png" + <> "rel" =: "apple-touch-icon" + <> "sizes" =: "60x60") blank + elAttr "link" + ( "href" =: "/apple-icon-72x72.png" + <> "rel" =: "apple-touch-icon" + <> "sizes" =: "72x72") blank + elAttr "link" + ( "href" =: "/apple-icon-76x76.png" + <> "rel" =: "apple-touch-icon" + <> "sizes" =: "76x76") blank + elAttr "link" + ( "href" =: "/apple-icon-114x114.png" + <> "rel" =: "apple-touch-icon" + <> "sizes" =: "114x114") blank + elAttr "link" + ( "href" =: "/apple-icon-120x120.png" + <> "rel" =: "apple-touch-icon" + <> "sizes" =: "120x120") blank + elAttr "link" + ( "href" =: "/apple-icon-144x144.png" + <> "rel" =: "apple-touch-icon" + <> "sizes" =: "144x144") blank + elAttr "link" + ( "href" =: "/apple-icon-152x152.png" + <> "rel" =: "apple-touch-icon" + <> "sizes" =: "152x152") blank + elAttr "link" + ( "href" =: "/apple-icon-180x180.png" + <> "rel" =: "apple-touch-icon" + <> "sizes" =: "180x180") blank + elAttr "link" + ( "href" =: "/android-icon-192x192.png" + <> "rel" =: "icon" + <> "sizes" =: "192x192" + <> "type" =: "image/png") blank + elAttr "link" + ( "href" =: "/favicon-32x32.png" + <> "rel" =: "icon" + <> "sizes" =: "32x32" + <> "type" =: "image/png") blank + elAttr "link" + ( "href" =: "/favicon-96x96.png" + <> "rel" =: "icon" + <> "sizes" =: "96x96" + <> "type" =: "image/png") blank + elAttr "link" + ( "href" =: "/favicon-16x16.png" + <> "rel" =: "icon" + <> "sizes" =: "16x16" + <> "type" =: "image/png") blank + elAttr "link" + ( "href" =: "/manifest.json" + <> "rel" =: "manifest") blank + elAttr "meta" + ( "content" =: "#ffffff" + <> "name" =: "msapplication-TileColor") blank + elAttr "meta" + ( "content" =: "/ms-icon-144x144.png" + <> "name" =: "msapplication-TileImage") blank + elAttr "meta" + ( "content" =: "#ffffff" + <> "name" =: "theme-color") blank + -- | Common headers of all pages. Displays the project name. headerWidget :: (MonadWidget t m, EventWriter t (Last ProjectName) m) => m () headerWidget =