First commit
This commit is contained in:
commit
ed39bee596
34 changed files with 6149 additions and 0 deletions
2
.ghci
Executable file
2
.ghci
Executable file
|
@ -0,0 +1,2 @@
|
|||
:set -isrc
|
||||
:set -hide-package monads-tf
|
9
.gitignore
vendored
Normal file
9
.gitignore
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
*.o
|
||||
*.hi
|
||||
*~
|
||||
dist/
|
||||
cabal-dev/
|
||||
.hsenv
|
||||
TAGS
|
||||
tags
|
||||
*.tag
|
24
LICENSE
Normal file
24
LICENSE
Normal file
|
@ -0,0 +1,24 @@
|
|||
Copyright (c) 2014, haskell-lang
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of haskell-lang nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
4
README.md
Normal file
4
README.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
haskell-lang
|
||||
=====
|
||||
|
||||
Haskell web site.
|
2
Setup.hs
Normal file
2
Setup.hs
Normal file
|
@ -0,0 +1,2 @@
|
|||
import Distribution.Simple
|
||||
main = defaultMain
|
2
config/routes
Normal file
2
config/routes
Normal file
|
@ -0,0 +1,2 @@
|
|||
/static StaticR Static appStatic
|
||||
/ HomeR GET
|
867
design/design.svg
Normal file
867
design/design.svg
Normal file
|
@ -0,0 +1,867 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
|
||||
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:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="1852.36"
|
||||
height="1488.189"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="design.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient6175">
|
||||
<stop
|
||||
style="stop-color:#f9f6ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6177" />
|
||||
<stop
|
||||
style="stop-color:#f9f6ff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop6179" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6027">
|
||||
<stop
|
||||
style="stop-color:#4f4371;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6029" />
|
||||
<stop
|
||||
style="stop-color:#6e5d9d;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop6031" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6021"
|
||||
osb:paint="solid">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6023" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4579">
|
||||
<stop
|
||||
id="stop4581"
|
||||
offset="0"
|
||||
style="stop-color:#4f4371;stop-opacity:0.24705882;" />
|
||||
<stop
|
||||
id="stop4583"
|
||||
offset="1"
|
||||
style="stop-color:#4f4371;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4567">
|
||||
<stop
|
||||
style="stop-color:#4f4371;stop-opacity:0.24705882;"
|
||||
offset="0"
|
||||
id="stop4577" />
|
||||
<stop
|
||||
style="stop-color:#4f4371;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4571" />
|
||||
</linearGradient>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3848">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 1353,-1167.6374 143,217.99996 -139,218 26,12 434,2 -74,-113 c 0,0 161,-27 157,-26 -4,1 -54,-203.99996 -54,-203.99996 l -298,-92 -57,-26 z"
|
||||
id="path3850"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924-0">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8-0">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9-1">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6-8"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9-1-9">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6-8-0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8-0-2">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8-7-6"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924-0-8">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926-1-5"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9-1-1">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6-8-8"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8-0-9">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8-7-8"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924-0-2">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926-1-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924-0-1">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926-1-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8-0-29">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8-7-4"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9-1-5">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6-8-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924-0-1-0">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926-1-2-4"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8-0-29-5">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8-7-4-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9-1-5-7">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6-8-1-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
id="filter4426"
|
||||
color-interpolation-filters="sRGB">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="4.4552154"
|
||||
id="feGaussianBlur4428" />
|
||||
</filter>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter4426-1">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="4.4552154"
|
||||
id="feGaussianBlur4428-1" />
|
||||
</filter>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924-0-1-0-7">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926-1-2-4-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8-0-29-5-3">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8-7-4-2-0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9-1-5-7-5">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6-8-1-7-6"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924-0-1-2">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926-1-2-6"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8-0-29-50">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8-7-4-6"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9-1-5-0">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6-8-1-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6027"
|
||||
id="linearGradient6035"
|
||||
x1="1345.6873"
|
||||
y1="-946.31982"
|
||||
x2="1792.3591"
|
||||
y2="-946.31982"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9-1-5-0-2">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6-8-1-2-4"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8-0-29-50-9">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8-7-4-6-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6027-6"
|
||||
id="linearGradient6035-0"
|
||||
x1="1345.6873"
|
||||
y1="-946.31982"
|
||||
x2="1792.3591"
|
||||
y2="-946.31982"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient6027-6">
|
||||
<stop
|
||||
style="stop-color:#4f4371;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6029-6" />
|
||||
<stop
|
||||
style="stop-color:#6e5d9d;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop6031-0" />
|
||||
</linearGradient>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924-0-1-2-5">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926-1-2-6-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6027-6"
|
||||
id="linearGradient6057"
|
||||
x1="1345.6873"
|
||||
y1="-946.31982"
|
||||
x2="1792.3591"
|
||||
y2="-946.31982"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient6059">
|
||||
<stop
|
||||
style="stop-color:#4f4371;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6061" />
|
||||
<stop
|
||||
style="stop-color:#6e5d9d;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop6063" />
|
||||
</linearGradient>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter4426-1-7">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="4.4552154"
|
||||
id="feGaussianBlur4428-1-9" />
|
||||
</filter>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924-0-1-0-7-6">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926-1-2-4-1-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8-0-29-5-3-7">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8-7-4-2-0-9"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9-1-5-7-5-0">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6-8-1-7-6-0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6187-2"
|
||||
id="linearGradient6193-8"
|
||||
x1="1020"
|
||||
y1="101.86254"
|
||||
x2="1085"
|
||||
y2="101.86254"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.4307693,0,0,2.7118644,-1624.7472,-1379.2373)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient6187-2">
|
||||
<stop
|
||||
style="stop-color:#f1eff6;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6189-1" />
|
||||
<stop
|
||||
style="stop-color:#f1eff6;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop6191-7" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6027"
|
||||
id="linearGradient6264"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="1345.6873"
|
||||
y1="-946.31982"
|
||||
x2="1792.3591"
|
||||
y2="-946.31982" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6027"
|
||||
id="linearGradient6266"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="1345.6873"
|
||||
y1="-946.31982"
|
||||
x2="1792.3591"
|
||||
y2="-946.31982" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6027-6"
|
||||
id="linearGradient6268"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="1345.6873"
|
||||
y1="-946.31982"
|
||||
x2="1792.3591"
|
||||
y2="-946.31982" />
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter7536">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="4.2040901"
|
||||
id="feGaussianBlur7538" />
|
||||
</filter>
|
||||
<filter
|
||||
color-interpolation-filters="sRGB"
|
||||
inkscape:collect="always"
|
||||
id="filter4426-1-0">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="4.4552154"
|
||||
id="feGaussianBlur4428-1-3" />
|
||||
</filter>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924-0-1-0-7-90">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926-1-2-4-1-42"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8-0-29-5-3-9">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8-7-4-2-0-8"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9-1-5-7-5-0-4">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6-8-1-7-6-9"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6027-3"
|
||||
id="linearGradient6266-6"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="1345.6873"
|
||||
y1="-946.31982"
|
||||
x2="1792.3591"
|
||||
y2="-946.31982" />
|
||||
<linearGradient
|
||||
id="linearGradient6027-3">
|
||||
<stop
|
||||
style="stop-color:#4f4371;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6029-4" />
|
||||
<stop
|
||||
style="stop-color:#6e5d9d;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop6031-0-2" />
|
||||
</linearGradient>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3924-0-1-2-76">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none"
|
||||
d="m 1354.5147,-1165.4256 144.7711,218.92217 -153.5986,231.28072 446.6719,-5.2965 -28.2481,-35.31004 -293.0732,-434.31345 z"
|
||||
id="path3926-1-2-6-6"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6027-3"
|
||||
id="linearGradient7510"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="1345.6873"
|
||||
y1="-946.31982"
|
||||
x2="1792.3591"
|
||||
y2="-946.31982" />
|
||||
<linearGradient
|
||||
id="linearGradient7586">
|
||||
<stop
|
||||
style="stop-color:#4f4371;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop7588" />
|
||||
<stop
|
||||
style="stop-color:#6e5d9d;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop7590" />
|
||||
</linearGradient>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3854-8-0-29-50-0">
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
d="m 575,-882.63744 -148,-230.99996 -136,5 7,27 130,200.99996 -140,226 145,0 143,-219 z"
|
||||
id="path3856-8-7-4-6-2-4"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3953-0-9-1-5-0-5">
|
||||
<path
|
||||
style="fill:#4f4371;fill-opacity:1;stroke:none"
|
||||
d="m 1375.3258,-1364.6093 -150.0676,-234.8117 287.7767,12.3585 1.7656,213.6257 z"
|
||||
id="path3955-1-6-8-1-2-3"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#f1eff6"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="1081.9173"
|
||||
inkscape:cy="739.33059"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g3901-3"
|
||||
showgrid="false"
|
||||
width="1852.36px"
|
||||
inkscape:window-width="2880"
|
||||
inkscape:window-height="1760"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="40"
|
||||
inkscape:window-maximized="0"
|
||||
showguides="false"
|
||||
inkscape:guide-bbox="true">
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="88,2443"
|
||||
id="guide3766" />
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="1972,2045"
|
||||
id="guide3768" />
|
||||
<sodipodi:guide
|
||||
orientation="0,1"
|
||||
position="527,2419"
|
||||
id="guide3770" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<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,435.82642)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:88.67983246px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#323232;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Medium"
|
||||
x="833.70312"
|
||||
y="201.72296"
|
||||
id="text6272"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6274"
|
||||
x="833.70312"
|
||||
y="201.72296">Haskell</tspan></text>
|
||||
<g
|
||||
id="g6233"
|
||||
transform="translate(-348,142)">
|
||||
<g
|
||||
style="opacity:0.15522389;fill:#000000;stroke:none;filter:url(#filter4426-1)"
|
||||
transform="matrix(0.37113195,0,0,0.35490421,827.14867,354.13139)"
|
||||
id="g3901-3-6">
|
||||
<g
|
||||
id="text2990-9-7"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3924-0-1-0-7)"
|
||||
transform="matrix(0.58399349,0,0,0.58399349,-155.23786,-363.83566)">
|
||||
<path
|
||||
style="fill:#000000;stroke:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4234-0-4"
|
||||
d="m 1238.7188,-737.50216 138.6679,-208.81769 -138.6679,-208.81765 104.4088,0 138.668,208.81765 -138.668,208.81769 -104.4088,0 m 0,0 0,0 m 138.6679,0 139.4837,-208.81769 -139.4837,-208.81765 104.4089,0 278.1517,417.63534 -104.4089,0 -86.4635,-130.51105 -87.2793,130.51105 -104.4089,0 m 0,0 0,0 m 336.066,-121.53842 -46.4946,-70.14969 162.3232,0 0,70.14969 -115.8286,0 m 0,0 0,0 m -69.334,-104.40884 -46.4945,-70.14968 231.6571,0 0,70.14968 -185.1626,0 m 0,0 0,0" />
|
||||
</g>
|
||||
<g
|
||||
id="text2990-2-1-2"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3854-8-0-29-5-3)"
|
||||
transform="matrix(0.58399349,0,0,0.58399349,379.97409,-402.37923)">
|
||||
<path
|
||||
style="fill:#000000;stroke:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4237-4-8"
|
||||
d="m 319.71875,-671.81973 138.668,-208.81768 -138.668,-208.81769 104.40884,0 138.668,208.81769 -138.668,208.81768 -104.40884,0 m 0,0 0,0 m 138.668,0 139.48369,-208.81768 -139.48369,-208.81769 104.40884,0 278.15169,417.63537 -104.40885,0 -86.46357,-130.51105 -87.27927,130.51105 -104.40884,0 m 0,0 0,0 m 336.06596,-121.53841 -46.49456,-70.1497 162.32312,0 0,70.1497 -115.82856,0 m 0,0 0,0 m -69.334,-104.40885 -46.49456,-70.14969 231.65712,0 0,70.14969 -185.16256,0 m 0,0 0,0" />
|
||||
</g>
|
||||
<g
|
||||
id="text2990-27-8-7"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3953-0-9-1-5-7-5)"
|
||||
transform="matrix(0.58399349,0,0,0.58399349,43.373964,-49.619889)">
|
||||
<path
|
||||
style="fill:#000000;stroke:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4240-0-3"
|
||||
d="m 896.43237,-1273.5352 138.66803,-208.8177 -138.66803,-208.8177 104.40883,0 138.668,208.8177 -138.668,208.8177 -104.40883,0 m 0,0 0,0 m 138.66803,0 139.4837,-208.8177 -139.4837,-208.8177 104.4088,0 278.1517,417.6354 -104.4088,0 -86.4636,-130.5111 -87.2793,130.5111 -104.4088,0 m 0,0 0,0 m 336.0659,-121.5385 -46.4945,-70.1497 162.3231,0 0,70.1497 -115.8286,0 m 0,0 0,0 m -69.334,-104.4088 -46.4945,-70.1497 231.6571,0 0,70.1497 -185.1626,0 m 0,0 0,0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
style="stroke:#ffffff;stroke-width:4.11809635;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
transform="matrix(0.37113195,0,0,0.35490421,827.8207,354.45165)"
|
||||
id="g3901-3">
|
||||
<g
|
||||
id="text2990-9"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient6266);fill-opacity:1;stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3924-0-1-2)"
|
||||
transform="matrix(0.58399349,0,0,0.58399349,-155.23786,-363.83566)">
|
||||
<path
|
||||
style="fill:url(#linearGradient6264);fill-opacity:1;stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4234-0"
|
||||
d="m 1238.7188,-737.50216 138.6679,-208.81769 -138.6679,-208.81765 104.4088,0 138.668,208.81765 -138.668,208.81769 -104.4088,0 m 0,0 0,0 m 138.6679,0 139.4837,-208.81769 -139.4837,-208.81765 104.4089,0 278.1517,417.63534 -104.4089,0 -86.4635,-130.51105 -87.2793,130.51105 -104.4089,0 m 0,0 0,0 m 336.066,-121.53842 -46.4946,-70.14969 162.3232,0 0,70.14969 -115.8286,0 m 0,0 0,0 m -69.334,-104.40884 -46.4945,-70.14968 231.6571,0 0,70.14968 -185.1626,0 m 0,0 0,0" />
|
||||
</g>
|
||||
<g
|
||||
id="text2990-2-1"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#453a62;fill-opacity:1;stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3854-8-0-29-50)"
|
||||
transform="matrix(0.58399349,0,0,0.58399349,379.97409,-402.37923)">
|
||||
<path
|
||||
style="stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4237-4"
|
||||
d="m 319.71875,-671.81973 138.668,-208.81768 -138.668,-208.81769 104.40884,0 138.668,208.81769 -138.668,208.81768 -104.40884,0 m 0,0 0,0 m 138.668,0 139.48369,-208.81768 -139.48369,-208.81769 104.40884,0 278.15169,417.63537 -104.40885,0 -86.46357,-130.51105 -87.27927,130.51105 -104.40884,0 m 0,0 0,0 m 336.06596,-121.53841 -46.49456,-70.1497 162.32312,0 0,70.1497 -115.82856,0 m 0,0 0,0 m -69.334,-104.40885 -46.49456,-70.14969 231.65712,0 0,70.14969 -185.16256,0 m 0,0 0,0" />
|
||||
</g>
|
||||
<g
|
||||
id="text2990-27-8"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#8f4e8b;fill-opacity:1;stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3953-0-9-1-5-0)"
|
||||
transform="matrix(0.58399349,0,0,0.58399349,43.373964,-49.619889)">
|
||||
<path
|
||||
style="stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4240-0"
|
||||
d="m 896.43237,-1273.5352 138.66803,-208.8177 -138.66803,-208.8177 104.40883,0 138.668,208.8177 -138.668,208.8177 -104.40883,0 m 0,0 0,0 m 138.66803,0 139.4837,-208.8177 -139.4837,-208.8177 104.4088,0 278.1517,417.6354 -104.4088,0 -86.4636,-130.5111 -87.2793,130.5111 -104.4088,0 m 0,0 0,0 m 336.0659,-121.5385 -46.4945,-70.1497 162.3231,0 0,70.1497 -115.8286,0 m 0,0 0,0 m -69.334,-104.4088 -46.4945,-70.1497 231.6571,0 0,70.1497 -185.1626,0 m 0,0 0,0" />
|
||||
</g>
|
||||
<rect
|
||||
style="opacity:0.45373134;color:#000000;fill:#323232;fill-opacity:0.09717868;fill-rule:nonzero;stroke:none;stroke-width:7;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect7376"
|
||||
width="6"
|
||||
height="11"
|
||||
x="1089"
|
||||
y="662.18896"
|
||||
transform="matrix(2.6944595,0,0,2.8176617,-1292.8574,-2626.8442)"
|
||||
rx="14.002699"
|
||||
ry="11" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:137.18835449px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;line-height:125%;letter-spacing:6.6699996px;word-spacing:0px;opacity:0.25400002;fill:#323232;fill-opacity:1;stroke:#ffffff;stroke-width:0;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter7536);font-family:Ubuntu;-inkscape-font-specification:Ubuntu Medium"
|
||||
x="228.27711"
|
||||
y="126.65849"
|
||||
id="text6272-8"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="matrix(2.6944595,0,0,2.8176617,183.60222,-549.34544)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6274-2"
|
||||
x="228.27711"
|
||||
y="126.65849">Haskell</tspan></text>
|
||||
<g
|
||||
style="opacity:0.15522389;fill:#000000;stroke:none;filter:url(#filter4426-1-0)"
|
||||
transform="matrix(1.5470073,0,0,1.5470073,-676.52644,1073.9393)"
|
||||
id="g3901-3-6-6">
|
||||
<g
|
||||
id="text2990-9-7-1"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3924-0-1-0-7-90)"
|
||||
transform="matrix(0.58399349,0,0,0.58399349,-155.23786,-363.83566)">
|
||||
<path
|
||||
style="fill:#000000;stroke:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4234-0-4-9"
|
||||
d="m 1238.7188,-737.50216 138.6679,-208.81769 -138.6679,-208.81765 104.4088,0 138.668,208.81765 -138.668,208.81769 -104.4088,0 m 0,0 0,0 m 138.6679,0 139.4837,-208.81769 -139.4837,-208.81765 104.4089,0 278.1517,417.63534 -104.4089,0 -86.4635,-130.51105 -87.2793,130.51105 -104.4089,0 m 0,0 0,0 m 336.066,-121.53842 -46.4946,-70.14969 162.3232,0 0,70.14969 -115.8286,0 m 0,0 0,0 m -69.334,-104.40884 -46.4945,-70.14968 231.6571,0 0,70.14968 -185.1626,0 m 0,0 0,0" />
|
||||
</g>
|
||||
<g
|
||||
id="text2990-2-1-2-7"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3854-8-0-29-5-3-9)"
|
||||
transform="matrix(0.58399349,0,0,0.58399349,379.97409,-402.37923)">
|
||||
<path
|
||||
style="fill:#000000;stroke:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4237-4-8-8"
|
||||
d="m 319.71875,-671.81973 138.668,-208.81768 -138.668,-208.81769 104.40884,0 138.668,208.81769 -138.668,208.81768 -104.40884,0 m 0,0 0,0 m 138.668,0 139.48369,-208.81768 -139.48369,-208.81769 104.40884,0 278.15169,417.63537 -104.40885,0 -86.46357,-130.51105 -87.27927,130.51105 -104.40884,0 m 0,0 0,0 m 336.06596,-121.53841 -46.49456,-70.1497 162.32312,0 0,70.1497 -115.82856,0 m 0,0 0,0 m -69.334,-104.40885 -46.49456,-70.14969 231.65712,0 0,70.14969 -185.16256,0 m 0,0 0,0" />
|
||||
</g>
|
||||
<g
|
||||
id="text2990-27-8-7-3"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3953-0-9-1-5-7-5-0-4)"
|
||||
transform="matrix(0.58399349,0,0,0.58399349,43.373964,-49.619889)">
|
||||
<path
|
||||
style="fill:#000000;stroke:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4240-0-3-6"
|
||||
d="m 896.43237,-1273.5352 138.66803,-208.8177 -138.66803,-208.8177 104.40883,0 138.668,208.8177 -138.668,208.8177 -104.40883,0 m 0,0 0,0 m 138.66803,0 139.4837,-208.8177 -139.4837,-208.8177 104.4088,0 278.1517,417.6354 -104.4088,0 -86.4636,-130.5111 -87.2793,130.5111 -104.4088,0 m 0,0 0,0 m 336.0659,-121.5385 -46.4945,-70.1497 162.3231,0 0,70.1497 -115.8286,0 m 0,0 0,0 m -69.334,-104.4088 -46.4945,-70.1497 231.6571,0 0,70.1497 -185.1626,0 m 0,0 0,0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="text2990-9-4"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:url(#linearGradient6266-6);fill-opacity:1;stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3924-0-1-2-76)"
|
||||
transform="matrix(0.90344221,0,0,0.90344226,-913.87934,512.47886)">
|
||||
<path
|
||||
style="fill:url(#linearGradient7510);fill-opacity:1;stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4234-0-1"
|
||||
d="m 1238.7188,-737.50216 138.6679,-208.81769 -138.6679,-208.81765 104.4088,0 138.668,208.81765 -138.668,208.81769 -104.4088,0 m 0,0 0,0 m 138.6679,0 139.4837,-208.81769 -139.4837,-208.81765 104.4089,0 278.1517,417.63534 -104.4089,0 -86.4635,-130.51105 -87.2793,130.51105 -104.4089,0 m 0,0 0,0 m 336.066,-121.53842 -46.4946,-70.14969 162.3232,0 0,70.14969 -115.8286,0 m 0,0 0,0 m -69.334,-104.40884 -46.4945,-70.14968 231.6571,0 0,70.14968 -185.1626,0 m 0,0 0,0" />
|
||||
</g>
|
||||
<g
|
||||
id="text2990-2-1-6"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#453a62;fill-opacity:1;stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3854-8-0-29-50-0)"
|
||||
transform="matrix(0.90344221,0,0,0.90344226,-85.902439,452.85176)">
|
||||
<path
|
||||
style="stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4237-4-9"
|
||||
d="m 319.71875,-671.81973 138.668,-208.81768 -138.668,-208.81769 104.40884,0 138.668,208.81769 -138.668,208.81768 -104.40884,0 m 0,0 0,0 m 138.668,0 139.48369,-208.81768 -139.48369,-208.81769 104.40884,0 278.15169,417.63537 -104.40885,0 -86.46357,-130.51105 -87.27927,130.51105 -104.40884,0 m 0,0 0,0 m 336.06596,-121.53841 -46.49456,-70.1497 162.32312,0 0,70.1497 -115.82856,0 m 0,0 0,0 m -69.334,-104.40885 -46.49456,-70.14969 231.65712,0 0,70.14969 -185.16256,0 m 0,0 0,0" />
|
||||
</g>
|
||||
<g
|
||||
id="text2990-27-8-4"
|
||||
style="font-size:417.63537598px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#8f4e8b;fill-opacity:1;stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Haskell;-inkscape-font-specification:Haskell"
|
||||
clip-path="url(#clipPath3953-0-9-1-5-0-5)"
|
||||
transform="matrix(0.90344221,0,0,0.90344226,-606.62534,998.57303)">
|
||||
<path
|
||||
style="stroke:#ffffff;stroke-width:7.05161333;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4240-0-8"
|
||||
d="m 896.43237,-1273.5352 138.66803,-208.8177 -138.66803,-208.8177 104.40883,0 138.668,208.8177 -138.668,208.8177 -104.40883,0 m 0,0 0,0 m 138.66803,0 139.4837,-208.8177 -139.4837,-208.8177 104.4088,0 278.1517,417.6354 -104.4088,0 -86.4636,-130.5111 -87.2793,130.5111 -104.4088,0 m 0,0 0,0 m 336.0659,-121.5385 -46.4945,-70.1497 162.3231,0 0,70.1497 -115.8286,0 m 0,0 0,0 m -69.334,-104.4088 -46.4945,-70.1497 231.6571,0 0,70.1497 -185.1626,0 m 0,0 0,0" />
|
||||
</g>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text7524"
|
||||
y="-188.20992"
|
||||
x="816.74115"
|
||||
style="font-size:378.00497437px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;line-height:125%;letter-spacing:18.37833023px;word-spacing:0px;fill:#323232;fill-opacity:1;stroke:#ffffff;stroke-width:4.68413258;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Medium"
|
||||
xml:space="preserve"
|
||||
transform="scale(0.97789316,1.0226066)"><tspan
|
||||
y="-188.20992"
|
||||
x="816.74115"
|
||||
id="tspan7526"
|
||||
sodipodi:role="line"
|
||||
style="stroke-width:4.68413258">Haskell</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 39 KiB |
1110
design/drawing.svg
Normal file
1110
design/drawing.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 39 KiB |
2338
design/landing.svg
Normal file
2338
design/landing.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 703 KiB |
1315
design/layout.svg
Normal file
1315
design/layout.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 51 KiB |
27
hl.cabal
Normal file
27
hl.cabal
Normal file
|
@ -0,0 +1,27 @@
|
|||
name: hl
|
||||
version: 0.0.0
|
||||
synopsis: Haskell web site.
|
||||
description: Haskell web site.
|
||||
license: BSD3
|
||||
license-file: LICENSE
|
||||
author: Chris Done
|
||||
maintainer: chrisdone@gmail.com
|
||||
copyright: 2014 Chris Done
|
||||
category: Web
|
||||
build-type: Simple
|
||||
cabal-version: >=1.8
|
||||
|
||||
executable hl
|
||||
hs-source-dirs: src/
|
||||
ghc-options: -Wall -O2
|
||||
main-is: Main.hs
|
||||
build-depends: wai-logger == 2.1.1,
|
||||
fast-logger == 2.1.5,
|
||||
yesod-core == 1.2.6.4,
|
||||
text == 0.11.3.1,
|
||||
lifted-base == 0.2.1.1,
|
||||
yesod == 1.2.4,
|
||||
yesod-static == 1.2.2.1,
|
||||
base >= 4 && < 5,
|
||||
foreign-store == 0.0,
|
||||
blaze == 0.0.2
|
75
hl.org
Normal file
75
hl.org
Normal file
|
@ -0,0 +1,75 @@
|
|||
* What do all existing language sites have?
|
||||
** A theme
|
||||
** Logo
|
||||
** Menu
|
||||
*** Download
|
||||
- Platform http://www.haskell.org/platform/
|
||||
- GHC https://www.haskell.org/ghc/
|
||||
- Hackage http://hackage.haskell.org/
|
||||
*** Community
|
||||
*** Documentation
|
||||
*** News
|
||||
** Visual things
|
||||
*** Opening paragraph
|
||||
**** Python
|
||||
Python is a programming language that lets you work quickly and
|
||||
integrate systems more effectively.
|
||||
**** Ruby
|
||||
Ruby is...
|
||||
A dynamic, open source programming language with a focus on simplicity
|
||||
and productivity. It has an elegant syntax that is natural to read and
|
||||
easy to write.
|
||||
**** Clojure
|
||||
Clojure is a dynamic programming language that targets the Java
|
||||
Virtual Machine (and the CLR, and JavaScript). It is designed to be a
|
||||
general-purpose language, combining the approachability and
|
||||
interactive development of a scripting language with an efficient and
|
||||
robust infrastructure for multithreaded programming. Clojure is a
|
||||
compiled language - it compiles directly to JVM bytecode, yet remains
|
||||
completely dynamic. Every feature supported by Clojure is supported at
|
||||
runtime. Clojure provides easy access to the Java frameworks, with
|
||||
optional type hints and type inference, to ensure that calls to Java
|
||||
can avoid reflection.
|
||||
**** F#
|
||||
F# is a mature, open source, cross-platform, functional-first
|
||||
programming language which empowers users and organizations to tackle
|
||||
complex computing problems with simple, maintainable and robust code.
|
||||
|
||||
F# runs on Linux, Mac OS X, Android, iOS, Windows as well as HTML5 and
|
||||
GPUs. F# is free to use and has an OSI-approved open source license.
|
||||
|
||||
F# is used in a wide range of application areas and is supported by
|
||||
both industry-leading companies providing professional tools, and by
|
||||
an active open community.
|
||||
|
||||
The F# Software Foundation exists to promote, protect, and advance F#,
|
||||
and to support and foster the growth of a diverse international
|
||||
community of F# users.
|
||||
**** Haskell.org
|
||||
Haskell is an advanced purely-functional programming language. An
|
||||
open-source product of more than twenty years of cutting-edge
|
||||
research, it allows rapid development of robust, concise, correct
|
||||
software. With strong support for integration with other languages,
|
||||
built-in concurrency and parallelism, debuggers, profilers, rich
|
||||
libraries and an active community, Haskell makes it easier to produce
|
||||
flexible, maintainable, high-quality software.
|
||||
**** Scala
|
||||
Have the best of both worlds. Construct elegant class hierarchies for
|
||||
maximum code reuse and extensibility, implement their behavior using
|
||||
higher-order functions. Or anything in-between.
|
||||
*** Code sample
|
||||
*** Thumbnails of videos
|
||||
*** Pictures of community stuff
|
||||
*** Screenshots
|
||||
*** Selling points
|
||||
- I like python.org's menu which shows Web Programming, GUI
|
||||
Development, etc. and then next to each the library one would use
|
||||
to accomplish that task.
|
||||
- Linux, OS X, Windows.
|
||||
*** News
|
||||
*** Twitter
|
||||
*** Supporters
|
||||
** Other links
|
||||
*** Application areas / success stories
|
||||
*** Language options
|
||||
** Footer with more links
|
2
src/.dir-locals.el
Normal file
2
src/.dir-locals.el
Normal file
|
@ -0,0 +1,2 @@
|
|||
((haskell-mode . ((haskell-process-use-ghci . t)
|
||||
(haskell-indent-spaces . 2))))
|
9
src/Blaze/Prelude.hs
Normal file
9
src/Blaze/Prelude.hs
Normal file
|
@ -0,0 +1,9 @@
|
|||
-- | A prelude for when using blaze-html.
|
||||
|
||||
module Blaze.Prelude
|
||||
(module Blaze
|
||||
,module Prelude)
|
||||
where
|
||||
|
||||
import Blaze
|
||||
import Prelude hiding (head,div,max,span,id)
|
3
src/HL.hs
Normal file
3
src/HL.hs
Normal file
|
@ -0,0 +1,3 @@
|
|||
-- | Haskell web site.
|
||||
|
||||
module HL where
|
10
src/HL/C/Home.hs
Normal file
10
src/HL/C/Home.hs
Normal file
|
@ -0,0 +1,10 @@
|
|||
-- | Home page controller.
|
||||
|
||||
module HL.C.Home where
|
||||
|
||||
import HL.Foundation
|
||||
import HL.V.Home
|
||||
|
||||
-- | Home controller.
|
||||
getHomeR :: Handler Html
|
||||
getHomeR = blaze homeV
|
11
src/HL/Dispatch.hs
Normal file
11
src/HL/Dispatch.hs
Normal file
|
@ -0,0 +1,11 @@
|
|||
{-# OPTIONS -fno-warn-orphans -fno-warn-name-shadowing #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
-- | Make the dispatcher.
|
||||
|
||||
module HL.Dispatch where
|
||||
|
||||
import HL.Foundation
|
||||
import HL.C.Home
|
||||
|
||||
mkYesodDispatch "App" resourcesApp
|
39
src/HL/Foundation.hs
Normal file
39
src/HL/Foundation.hs
Normal file
|
@ -0,0 +1,39 @@
|
|||
{-# LANGUAGE TypeFamilies #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# OPTIONS -fno-warn-name-shadowing #-}
|
||||
|
||||
-- | Yesod foundation.
|
||||
|
||||
module HL.Foundation
|
||||
(module HL.Static
|
||||
,module Yesod.Blaze
|
||||
,App(..)
|
||||
,Route(..)
|
||||
,Handler
|
||||
,Widget
|
||||
,resourcesApp)
|
||||
where
|
||||
|
||||
import HL.Static
|
||||
|
||||
import Network.Wai.Logger
|
||||
import System.Log.FastLogger
|
||||
import Yesod
|
||||
import Yesod.Blaze
|
||||
import Yesod.Core.Types
|
||||
import Yesod.Static
|
||||
|
||||
-- | Application state.
|
||||
data App = App
|
||||
{ appStatic :: Static
|
||||
}
|
||||
|
||||
-- | Generate boilerplate.
|
||||
mkYesodData "App" $(parseRoutesFile "config/routes")
|
||||
|
||||
-- | Don't log anything to stdout.
|
||||
instance Yesod App where
|
||||
makeLogger _ = do set <- newFileLoggerSet 1000 "/dev/null"
|
||||
(date,_) <- clockDateCacher
|
||||
return (Logger {loggerSet = set
|
||||
,loggerDate = date})
|
17
src/HL/Server.hs
Normal file
17
src/HL/Server.hs
Normal file
|
@ -0,0 +1,17 @@
|
|||
{-# LANGUAGE TypeFamilies #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
-- | Web server.
|
||||
|
||||
module HL.Server where
|
||||
|
||||
import HL.Foundation
|
||||
import HL.Dispatch ()
|
||||
|
||||
import Yesod.Static
|
||||
|
||||
-- | Start the web server.
|
||||
startServer :: IO ()
|
||||
startServer =
|
||||
do s <- static "static"
|
||||
warp 1990 (App s)
|
7
src/HL/Static.hs
Normal file
7
src/HL/Static.hs
Normal file
|
@ -0,0 +1,7 @@
|
|||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
-- | Static files.
|
||||
module HL.Static where
|
||||
|
||||
import Yesod.Static
|
||||
staticFiles "static/"
|
23
src/HL/V/Home.hs
Normal file
23
src/HL/V/Home.hs
Normal file
|
@ -0,0 +1,23 @@
|
|||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE NoImplicitPrelude #-}
|
||||
|
||||
-- | Home page view.
|
||||
|
||||
module HL.V.Home where
|
||||
|
||||
import HL.Foundation
|
||||
import HL.V.Template
|
||||
import Blaze.Elements as E
|
||||
import Blaze.Prelude
|
||||
import Blaze.Bootstrap
|
||||
|
||||
-- | Home view.
|
||||
homeV :: Blaze App
|
||||
homeV =
|
||||
template
|
||||
(\url ->
|
||||
container
|
||||
(row
|
||||
(span12
|
||||
(do h1 "hi"
|
||||
with a [class_ "btn btn-primary"] "test"))))
|
52
src/HL/V/Template.hs
Normal file
52
src/HL/V/Template.hs
Normal file
|
@ -0,0 +1,52 @@
|
|||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE NoImplicitPrelude #-}
|
||||
|
||||
-- | Templates.
|
||||
|
||||
module HL.V.Template where
|
||||
|
||||
import HL.Foundation
|
||||
import Blaze.Elements as E
|
||||
import Blaze.Attributes as A
|
||||
import Blaze.Prelude
|
||||
import Blaze.Bootstrap
|
||||
|
||||
-- | Render a template.
|
||||
template :: Blaze App -- ^ Content.
|
||||
-> Blaze App
|
||||
template content url =
|
||||
docTypeHtml
|
||||
(do head
|
||||
(do E.title "Haskell"
|
||||
with meta [charset "utf-8"]
|
||||
with meta [httpEquiv "X-UA-Compatible",A.content "IE edge"]
|
||||
with meta [name "viewport",A.content "width=device-width, initial-scale=1"]
|
||||
styles [css_bootstrap_min_css
|
||||
,css_bootstrap_theme_min_css])
|
||||
body
|
||||
(do with div
|
||||
[class_ "wrap"]
|
||||
(do content url
|
||||
with div
|
||||
[class_ "footer"]
|
||||
(container
|
||||
(row
|
||||
(span12
|
||||
(with div
|
||||
[class_ "muted credit"]
|
||||
"Footer")))))
|
||||
scripts [js_jquery_js
|
||||
,js_jquery_cookie_js
|
||||
,js_bootstrap_min_js]))
|
||||
where
|
||||
scripts =
|
||||
mapM_ (\route ->
|
||||
with script
|
||||
[src (url (StaticR route))]
|
||||
(return ()))
|
||||
styles =
|
||||
mapM_ (\route ->
|
||||
with link
|
||||
[rel "stylesheet"
|
||||
,type_ "text/css"
|
||||
,href (url (StaticR route))])
|
12
src/Main.hs
Normal file
12
src/Main.hs
Normal file
|
@ -0,0 +1,12 @@
|
|||
-- | Main entry point to haskell-lang.
|
||||
--
|
||||
-- Haskell web site.
|
||||
|
||||
module Main where
|
||||
|
||||
import HL.Server
|
||||
|
||||
-- | Main entry point.
|
||||
main :: IO ()
|
||||
main =
|
||||
startServer
|
18
src/Yesod/Blaze.hs
Normal file
18
src/Yesod/Blaze.hs
Normal file
|
@ -0,0 +1,18 @@
|
|||
-- | Useful utilities for using blaze-html with Yesod.
|
||||
|
||||
module Yesod.Blaze
|
||||
(module Yesod.Blaze
|
||||
,module Yesod
|
||||
,module Blaze)
|
||||
where
|
||||
|
||||
import Yesod hiding (object)
|
||||
import Blaze
|
||||
|
||||
type Blaze a = (Route a -> AttributeValue) -> Html
|
||||
|
||||
-- | Output some blaze, passes a URL renderer to the continuation.
|
||||
blaze :: MonadHandler m => ((Route (HandlerSite m) -> AttributeValue) -> b) -> m b
|
||||
blaze f =
|
||||
do render <- getUrlRender
|
||||
return (f (toValue . render))
|
7
static/css/bootstrap-theme.min.css
vendored
Normal file
7
static/css/bootstrap-theme.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
7
static/css/bootstrap.min.css
vendored
Normal file
7
static/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
6
static/js/bootstrap.min.js
vendored
Normal file
6
static/js/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
117
static/js/jquery.cookie.js
Normal file
117
static/js/jquery.cookie.js
Normal file
|
@ -0,0 +1,117 @@
|
|||
/*!
|
||||
* jQuery Cookie Plugin v1.4.0
|
||||
* https://github.com/carhartl/jquery-cookie
|
||||
*
|
||||
* Copyright 2013 Klaus Hartl
|
||||
* Released under the MIT license
|
||||
*/
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD
|
||||
define(['jquery'], factory);
|
||||
} else if (typeof exports === 'object') {
|
||||
// CommonJS
|
||||
factory(require('jquery'));
|
||||
} else {
|
||||
// Browser globals
|
||||
factory(jQuery);
|
||||
}
|
||||
}(function ($) {
|
||||
|
||||
var pluses = /\+/g;
|
||||
|
||||
function encode(s) {
|
||||
return config.raw ? s : encodeURIComponent(s);
|
||||
}
|
||||
|
||||
function decode(s) {
|
||||
return config.raw ? s : decodeURIComponent(s);
|
||||
}
|
||||
|
||||
function stringifyCookieValue(value) {
|
||||
return encode(config.json ? JSON.stringify(value) : String(value));
|
||||
}
|
||||
|
||||
function parseCookieValue(s) {
|
||||
if (s.indexOf('"') === 0) {
|
||||
// This is a quoted cookie as according to RFC2068, unescape...
|
||||
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
|
||||
}
|
||||
|
||||
try {
|
||||
// Replace server-side written pluses with spaces.
|
||||
// If we can't decode the cookie, ignore it, it's unusable.
|
||||
// If we can't parse the cookie, ignore it, it's unusable.
|
||||
s = decodeURIComponent(s.replace(pluses, ' '));
|
||||
return config.json ? JSON.parse(s) : s;
|
||||
} catch(e) {}
|
||||
}
|
||||
|
||||
function read(s, converter) {
|
||||
var value = config.raw ? s : parseCookieValue(s);
|
||||
return $.isFunction(converter) ? converter(value) : value;
|
||||
}
|
||||
|
||||
var config = $.cookie = function (key, value, options) {
|
||||
|
||||
// Write
|
||||
|
||||
if (value !== undefined && !$.isFunction(value)) {
|
||||
options = $.extend({}, config.defaults, options);
|
||||
|
||||
if (typeof options.expires === 'number') {
|
||||
var days = options.expires, t = options.expires = new Date();
|
||||
t.setTime(+t + days * 864e+5);
|
||||
}
|
||||
|
||||
return (document.cookie = [
|
||||
encode(key), '=', stringifyCookieValue(value),
|
||||
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
|
||||
options.path ? '; path=' + options.path : '',
|
||||
options.domain ? '; domain=' + options.domain : '',
|
||||
options.secure ? '; secure' : ''
|
||||
].join(''));
|
||||
}
|
||||
|
||||
// Read
|
||||
|
||||
var result = key ? undefined : {};
|
||||
|
||||
// To prevent the for loop in the first place assign an empty array
|
||||
// in case there are no cookies at all. Also prevents odd result when
|
||||
// calling $.cookie().
|
||||
var cookies = document.cookie ? document.cookie.split('; ') : [];
|
||||
|
||||
for (var i = 0, l = cookies.length; i < l; i++) {
|
||||
var parts = cookies[i].split('=');
|
||||
var name = decode(parts.shift());
|
||||
var cookie = parts.join('=');
|
||||
|
||||
if (key && key === name) {
|
||||
// If second argument (value) is a function it's a converter...
|
||||
result = read(cookie, value);
|
||||
break;
|
||||
}
|
||||
|
||||
// Prevent storing a cookie that we couldn't decode.
|
||||
if (!key && (cookie = read(cookie)) !== undefined) {
|
||||
result[name] = cookie;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
config.defaults = {};
|
||||
|
||||
$.removeCookie = function (key, options) {
|
||||
if ($.cookie(key) === undefined) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Must not alter options, thus extending a fresh object...
|
||||
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
|
||||
return !$.cookie(key);
|
||||
};
|
||||
|
||||
}));
|
4
static/js/jquery.js
vendored
Normal file
4
static/js/jquery.js
vendored
Normal file
File diff suppressed because one or more lines are too long
15
themes/purple/fonts/Haskell.dev.svg
Normal file
15
themes/purple/fonts/Haskell.dev.svg
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>
|
||||
This is a custom SVG font generated by IcoMoon.
|
||||
<iconset grid="16"></iconset>
|
||||
</metadata>
|
||||
<defs>
|
||||
<font id="Haskell" horiz-adv-x="512" >
|
||||
<font-face units-per-em="512" ascent="480" descent="-32" />
|
||||
<missing-glyph horiz-adv-x="512" />
|
||||
<glyph class="hidden" unicode="" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
|
||||
<glyph unicode="" d="M 0-31.643 L 170.431,224.002 L 0,479.646 L 127.822,479.646 L 298.254,224.002 L 127.822-31.643 L 0-31.643 Z M 0-31.643 M 170.431-31.643 L 340.864,224.002 L 170.431,479.646 L 298.254,479.646 L 639.112-31.643 L 511.289-31.643 L 404.775,128.131 L 298.254-31.643 L 170.431-31.643 Z M 170.431-31.643 M 582.305,117.481 L 525.499,202.693 L 724.331,202.699 L 724.331,117.481 L 582.305,117.481 Z M 582.305,117.481 M 497.092,245.304 L 440.279,330.516 L 724.331,330.522 L 724.331,245.304 L 497.092,245.304 Z M 497.092,245.304 " horiz-adv-x="724.329" data-tags="Haskell-Logo" />
|
||||
<glyph unicode=" " horiz-adv-x="256" />
|
||||
</font></defs></svg>
|
After Width: | Height: | Size: 1.1 KiB |
BIN
themes/purple/fonts/Haskell.eot
Normal file
BIN
themes/purple/fonts/Haskell.eot
Normal file
Binary file not shown.
15
themes/purple/fonts/Haskell.svg
Normal file
15
themes/purple/fonts/Haskell.svg
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>
|
||||
This is a custom SVG font generated by IcoMoon.
|
||||
<iconset grid="16"></iconset>
|
||||
</metadata>
|
||||
<defs>
|
||||
<font id="Haskell" horiz-adv-x="512" >
|
||||
<font-face units-per-em="512" ascent="480" descent="-32" />
|
||||
<missing-glyph horiz-adv-x="512" />
|
||||
<glyph class="hidden" unicode="" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
|
||||
<glyph unicode="" d="M 0-31.643 L 170.431,224.002 L 0,479.646 L 127.822,479.646 L 298.254,224.002 L 127.822-31.643 L 0-31.643 Z M 0-31.643 M 170.431-31.643 L 340.864,224.002 L 170.431,479.646 L 298.254,479.646 L 639.112-31.643 L 511.289-31.643 L 404.775,128.131 L 298.254-31.643 L 170.431-31.643 Z M 170.431-31.643 M 582.305,117.481 L 525.499,202.693 L 724.331,202.699 L 724.331,117.481 L 582.305,117.481 Z M 582.305,117.481 M 497.092,245.304 L 440.279,330.516 L 724.331,330.522 L 724.331,245.304 L 497.092,245.304 Z M 497.092,245.304 " horiz-adv-x="724.329" />
|
||||
<glyph unicode=" " horiz-adv-x="256" />
|
||||
</font></defs></svg>
|
After Width: | Height: | Size: 1.1 KiB |
BIN
themes/purple/fonts/Haskell.ttf
Normal file
BIN
themes/purple/fonts/Haskell.ttf
Normal file
Binary file not shown.
BIN
themes/purple/fonts/Haskell.woff
Normal file
BIN
themes/purple/fonts/Haskell.woff
Normal file
Binary file not shown.
Loading…
Reference in a new issue