pretty favicon crap
This commit is contained in:
parent
741df5b88c
commit
33fa3a69d0
@ -1,11 +1,11 @@
|
|||||||
{ mkDerivation, base, filepath, hakyll, stdenv }:
|
{ mkDerivation, base, filepath, hakyll, hakyll-favicon, stdenv }:
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
pname = "rf";
|
pname = "rf";
|
||||||
version = "0.1.1.1";
|
version = "0.1.1.1";
|
||||||
src = ./.;
|
src = ./.;
|
||||||
isLibrary = false;
|
isLibrary = false;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
executableHaskellDepends = [ base filepath hakyll ];
|
executableHaskellDepends = [ base filepath hakyll hakyll-favicon ];
|
||||||
homepage = "regularflolloping.com";
|
homepage = "regularflolloping.com";
|
||||||
description = "tA's blog";
|
description = "tA's blog";
|
||||||
license = stdenv.lib.licenses.bsd3;
|
license = stdenv.lib.licenses.bsd3;
|
||||||
|
87
icons/favicon.svg
Normal file
87
icons/favicon.svg
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="100mm"
|
||||||
|
height="100mm"
|
||||||
|
viewBox="0 0 100 100"
|
||||||
|
version="1.1"
|
||||||
|
id="svg8"
|
||||||
|
inkscape:version="0.92.1 r15371"
|
||||||
|
sodipodi:docname="favicon.svg">
|
||||||
|
<defs
|
||||||
|
id="defs2" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="1.4"
|
||||||
|
inkscape:cx="253.61209"
|
||||||
|
inkscape:cy="209.82653"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1021"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="1080"
|
||||||
|
inkscape:window-maximized="1" />
|
||||||
|
<metadata
|
||||||
|
id="metadata5">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-197)">
|
||||||
|
<rect
|
||||||
|
id="rect3680"
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
x="0"
|
||||||
|
y="197"
|
||||||
|
style="fill:#333333;stroke-width:0.26458332"
|
||||||
|
ry="26.458338" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:132.40678406px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#5599ff;fill-opacity:1;stroke:none;stroke-width:0.52821857"
|
||||||
|
x="8.2092199"
|
||||||
|
y="341.92728"
|
||||||
|
id="text3684"
|
||||||
|
transform="scale(1.2181424,0.82092205)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan3682"
|
||||||
|
x="8.2092199"
|
||||||
|
y="341.92728"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:132.40678406px;font-family:Inconsolata;-inkscape-font-specification:Inconsolata;fill:#5599ff;stroke-width:0.52821857">@</tspan></text>
|
||||||
|
<flowRoot
|
||||||
|
xml:space="preserve"
|
||||||
|
id="flowRoot3686"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><flowRegion
|
||||||
|
id="flowRegion3688"><rect
|
||||||
|
id="rect3690"
|
||||||
|
width="47.142857"
|
||||||
|
height="42.857143"
|
||||||
|
x="347.14285"
|
||||||
|
y="626.09113" /></flowRegion><flowPara
|
||||||
|
id="flowPara3692" /></flowRoot> </g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
1
rf.cabal
1
rf.cabal
@ -23,5 +23,6 @@ executable site
|
|||||||
build-depends: base
|
build-depends: base
|
||||||
, hakyll
|
, hakyll
|
||||||
, filepath
|
, filepath
|
||||||
|
, hakyll-favicon
|
||||||
-- hs-source-dirs:
|
-- hs-source-dirs:
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
|
12
site.hs
12
site.hs
@ -1,15 +1,17 @@
|
|||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
|
||||||
import Hakyll
|
|
||||||
import Data.Monoid ((<>))
|
import Data.Monoid ((<>))
|
||||||
import Data.List (sortBy,isSuffixOf)
|
import Data.List (sortBy,isSuffixOf)
|
||||||
import System.FilePath.Posix (takeBaseName,takeDirectory,(</>))
|
|
||||||
import GHC.IO.Encoding
|
import GHC.IO.Encoding
|
||||||
|
import Hakyll
|
||||||
|
import Hakyll.Favicon (faviconsRules, faviconsField)
|
||||||
|
import System.FilePath.Posix (takeBaseName,takeDirectory,(</>))
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = do
|
main = do
|
||||||
setLocaleEncoding utf8
|
setLocaleEncoding utf8
|
||||||
hakyll $ do
|
hakyll $ do
|
||||||
|
faviconsRules "icons/favicon.svg"
|
||||||
match "humans.txt" $ do
|
match "humans.txt" $ do
|
||||||
route idRoute
|
route idRoute
|
||||||
compile copyFileCompiler
|
compile copyFileCompiler
|
||||||
@ -57,8 +59,7 @@ main = do
|
|||||||
compile $ do
|
compile $ do
|
||||||
posts <- recentFirst =<< loadAll "posts/*"
|
posts <- recentFirst =<< loadAll "posts/*"
|
||||||
let indexCtx =
|
let indexCtx =
|
||||||
listField "posts" postCtx (return posts) <>
|
listField "posts" postCtx (return posts) <> ctx
|
||||||
defaultContext
|
|
||||||
getResourceBody
|
getResourceBody
|
||||||
>>= applyAsTemplate indexCtx
|
>>= applyAsTemplate indexCtx
|
||||||
>>= loadAndApplyTemplate "templates/default.html" indexCtx
|
>>= loadAndApplyTemplate "templates/default.html" indexCtx
|
||||||
@ -69,7 +70,8 @@ main = do
|
|||||||
match "templates/*" $ compile templateBodyCompiler
|
match "templates/*" $ compile templateBodyCompiler
|
||||||
|
|
||||||
ctx :: Context String
|
ctx :: Context String
|
||||||
ctx = defaultContext
|
ctx = defaultContext <>
|
||||||
|
faviconsField
|
||||||
|
|
||||||
postCtx :: Context String
|
postCtx :: Context String
|
||||||
postCtx =
|
postCtx =
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<title>rf - $title$</title>
|
<title>rf - $title$</title>
|
||||||
<link rel="stylesheet" href="/css/default.css" />
|
<link rel="stylesheet" href="/css/default.css" />
|
||||||
|
$favicons$
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
|
Loading…
Reference in New Issue
Block a user