@@ -100,6 +100,77 @@ headWidget projectNameEv = do
100100 projectNameDyn <- holdDyn "Octopod" $ ("Octopod – " <>) . uProjectName <$> projectNameEv
101101 el "title" $ dynText projectNameDyn
102102
103+ -- favicon attributes
104+
105+ elAttr "link"
106+ ( "href" =: "/apple-icon-57x57.png"
107+ <> "rel" =: "apple-touch-icon"
108+ <> "sizes" =: "57x57") blank
109+ elAttr "link"
110+ ( "href" =: "/apple-icon-60x60.png"
111+ <> "rel" =: "apple-touch-icon"
112+ <> "sizes" =: "60x60") blank
113+ elAttr "link"
114+ ( "href" =: "/apple-icon-72x72.png"
115+ <> "rel" =: "apple-touch-icon"
116+ <> "sizes" =: "72x72") blank
117+ elAttr "link"
118+ ( "href" =: "/apple-icon-76x76.png"
119+ <> "rel" =: "apple-touch-icon"
120+ <> "sizes" =: "76x76") blank
121+ elAttr "link"
122+ ( "href" =: "/apple-icon-114x114.png"
123+ <> "rel" =: "apple-touch-icon"
124+ <> "sizes" =: "114x114") blank
125+ elAttr "link"
126+ ( "href" =: "/apple-icon-120x120.png"
127+ <> "rel" =: "apple-touch-icon"
128+ <> "sizes" =: "120x120") blank
129+ elAttr "link"
130+ ( "href" =: "/apple-icon-144x144.png"
131+ <> "rel" =: "apple-touch-icon"
132+ <> "sizes" =: "144x144") blank
133+ elAttr "link"
134+ ( "href" =: "/apple-icon-152x152.png"
135+ <> "rel" =: "apple-touch-icon"
136+ <> "sizes" =: "152x152") blank
137+ elAttr "link"
138+ ( "href" =: "/apple-icon-180x180.png"
139+ <> "rel" =: "apple-touch-icon"
140+ <> "sizes" =: "180x180") blank
141+ elAttr "link"
142+ ( "href" =: "/android-icon-192x192.png"
143+ <> "rel" =: "icon"
144+ <> "sizes" =: "192x192"
145+ <> "type" =: "image/png") blank
146+ elAttr "link"
147+ ( "href" =: "/favicon-32x32.png"
148+ <> "rel" =: "icon"
149+ <> "sizes" =: "32x32"
150+ <> "type" =: "image/png") blank
151+ elAttr "link"
152+ ( "href" =: "/favicon-96x96.png"
153+ <> "rel" =: "icon"
154+ <> "sizes" =: "96x96"
155+ <> "type" =: "image/png") blank
156+ elAttr "link"
157+ ( "href" =: "/favicon-16x16.png"
158+ <> "rel" =: "icon"
159+ <> "sizes" =: "16x16"
160+ <> "type" =: "image/png") blank
161+ elAttr "link"
162+ ( "href" =: "/manifest.json"
163+ <> "rel" =: "manifest") blank
164+ elAttr "meta"
165+ ( "content" =: "#ffffff"
166+ <> "name" =: "msapplication-TileColor") blank
167+ elAttr "meta"
168+ ( "content" =: "/ms-icon-144x144.png"
169+ <> "name" =: "msapplication-TileImage") blank
170+ elAttr "meta"
171+ ( "content" =: "#ffffff"
172+ <> "name" =: "theme-color") blank
173+
103174-- | Common headers of all pages. Displays the project name.
104175headerWidget :: (MonadWidget t m, EventWriter t (Last ProjectName) m) => m ()
105176headerWidget =