summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2016-07-03 21:38:03 +0200
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2016-07-03 21:38:03 +0200
commit74f353bea50895bee0f95cb8771ca43119e7436b (patch)
treefc91579e7dbfa22d5b12b518aca44b6ec7113dc5
parent649247898e9d8e450b49f74f129222bb4fe42af2 (diff)
downloadmutti-web-74f353bea50895bee0f95cb8771ca43119e7436b.tar.gz
mutti-web-74f353bea50895bee0f95cb8771ca43119e7436b.tar.bz2
mutti-web-74f353bea50895bee0f95cb8771ca43119e7436b.zip
Postcss (for css3 variables) and minify our stylesshet
We do need a css3 variable transformation for internet explorer. We do check in the minifed sourcecode into git. We don't want to have to install node_modules on our deployment server. Note that the *.xml files opened directly in the browser will not use the minified, but the original stylesheet (thus there's no need for a watcher script while development)
-rw-r--r--.gitignore1
-rw-r--r--Makefile7
-rw-r--r--package.json10
-rw-r--r--style/style.min.css1
-rw-r--r--xsl/common.xsl1
-rw-r--r--xsl/layout.xsl2
6 files changed, 19 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 91062ac..86929b7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@ inception.xhtml
index.xhtml
services.xhtml
checkmark.png
+node_modules
diff --git a/Makefile b/Makefile
index 4fc5526..ecfe00f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,13 +1,13 @@
suffix = .xhtml
-xsltproc=xsltproc --stringparam suffix $(suffix)
+xsltproc=xsltproc --stringparam suffix $(suffix) --stringparam stylesheet style.min.css
svg2png=rsvg-convert -f png
pages=$(shell xsltproc xsl/main_filenames.xsl main.xml)
pages_gen=$(pages:%.xml=%$(suffix))
-common_depend=main.xml $(wildcard xsl/*.xsl)
+common_depend=main.xml $(wildcard xsl/*.xsl) Makefile
DEFAULT_VERBOSITY=0
@@ -32,5 +32,8 @@ all: $(pages_gen) checkmark.png
%$(suffix): %.xml $(common_depend)
$(V_XSLT) $(xsltproc) $< > $@
+style/style.min.css: style/style.css
+ node_modules/.bin/postcss -u postcss-css-variables style/style.css | node_modules/.bin/cleancss > style/style.min.css
+
clean:
rm -f $(pages_gen) checkmark.png
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..c4bc739
--- /dev/null
+++ b/package.json
@@ -0,0 +1,10 @@
+{
+ "name": "angelika-franzke-de",
+ "version": "1.0.0",
+ "private": true,
+ "devDependencies": {
+ "clean-css": "^3.4.18",
+ "postcss-cli": "^2.5.2",
+ "postcss-css-variables": "^0.5.1"
+ }
+}
diff --git a/style/style.min.css b/style/style.min.css
new file mode 100644
index 0000000..508c911
--- /dev/null
+++ b/style/style.min.css
@@ -0,0 +1 @@
+h1,h2{font-weight:500}a,a:hover{text-decoration:none}footer,header,header svg{position:relative}.logos,footer,nav>ul>li a{text-align:center}@font-face{font-family:Cantarell;font-style:normal;font-weight:400;src:local('Cantarell Regular'),local('Cantarell-Regular'),url(https://fonts.gstatic.com/s/cantarell/v6/V86VyqXbc09Sss3BPsMj16CWcynf_cDxXwCLxiixG1c.ttf) format('truetype')}@font-face{font-family:Cantarell;font-style:normal;font-weight:700;src:local('Cantarell Bold'),local('Cantarell-Bold'),url(https://fonts.gstatic.com/s/cantarell/v6/Yir4ZDsCn4g1kWopdg-ehInF5uFdDttMLvmWuJdhhgs.ttf) format('truetype')}@font-face{font-family:Cantarell;font-style:italic;font-weight:400;src:local('Cantarell Oblique'),local('Cantarell-Oblique'),url(https://fonts.gstatic.com/s/cantarell/v6/Qd6zZq_wf1596L3V_8MIs50EAVxt0G0biEntp43Qt6E.ttf) format('truetype')}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url(https://fonts.gstatic.com/s/roboto/v15/zN7GBFwfMP4uA6AR0HCoLQ.ttf) format('truetype')}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(https://fonts.gstatic.com/s/roboto/v15/RxZJdnzeo3R5zSexge8UUaCWcynf_cDxXwCLxiixG1c.ttf) format('truetype')}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(https://fonts.gstatic.com/s/roboto/v15/d-6IYplOFocCacKzxwXSOKCWcynf_cDxXwCLxiixG1c.ttf) format('truetype')}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(https://fonts.gstatic.com/s/roboto/v15/W4wDsBUluyw0tK3tykhXEfesZW2xOQ-xsNqO47m55DA.ttf) format('truetype')}@font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;src:local('Archivo Black Regular'),local('ArchivoBlack-Regular'),url(https://fonts.gstatic.com/s/archivoblack/v4/WoAoVT7K3k7hHfxKbvB6B0FBUwxZoPEX5aisj8qBSHE.ttf) format('truetype')}@font-face{font-family:'Rammetto One';font-style:normal;font-weight:400;src:local('Rammetto One Regular'),local('RammettoOne-Regular'),url(https://fonts.gstatic.com/s/rammettoone/v5/mh0uQ1tV8QgSx9v_KyEYPInF5uFdDttMLvmWuJdhhgs.ttf) format('truetype')}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url(https://fonts.gstatic.com/s/roboto/v15/zN7GBFwfMP4uA6AR0HCoLQ.ttf) format('truetype')}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(https://fonts.gstatic.com/s/roboto/v15/RxZJdnzeo3R5zSexge8UUaCWcynf_cDxXwCLxiixG1c.ttf) format('truetype')}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(https://fonts.gstatic.com/s/roboto/v15/d-6IYplOFocCacKzxwXSOKCWcynf_cDxXwCLxiixG1c.ttf) format('truetype')}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(https://fonts.gstatic.com/s/roboto/v15/W4wDsBUluyw0tK3tykhXEfesZW2xOQ-xsNqO47m55DA.ttf) format('truetype')}*{margin:0;padding:0}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{background:#eee;//font-family:Helvetica,Arial,sans-serif;font-family:Cantarell,sans-serif;font-family:Roboto,sans-serif;font-size:16px;line-height:1.35;color:#333;display:flex;flex-direction:column;min-height:100vh}footer:before,header:before{position:absolute}body>*{flex:none}body>.outer{flex:1 0 auto}input,textarea{padding:2px 5px;color:#333}h2,h3{margin-top:1.5em}h1{font-size:2em;margin-bottom:.67em}h2{font-size:1.5em;margin-bottom:.75em}h3{font-size:1.2em;font-weight:700;margin-bottom:.8em}ol,p,ul{margin-bottom:1em}ol,ul{margin-left:1.2em}blockquote{margin-left:3em;margin-right:3em}a{color:#973c39}a:hover{color:#6e2c2a}a img{border:none}img.left{float:left;margin:5px 2em 0 0}img.right{float:right;margin:5px 0 2em 2em}label{display:inline-block;margin-left:20px;min-width:90px}footer,header,main,nav{width:65em;max-width:65em;margin:0 auto}header{margin-bottom:1em;padding:2em 0 .5em;//font-family:'Cantarell',sans-serif;//font-family:'Archivo Black',sans-serif}header h1,header h2{margin:0;letter-spacing:-.025em;font-weight:400}header svg{bottom:-7px;margin-right:1em;width:3.5em;height:3.5em}header h1{display:inline;font-size:3em;color:#444}header h2{display:inline;padding-left:.5em;font-size:1.5em;color:#858585}nav>uli{margin-bottom:1.5em;padding:0;list-style:none;line-height:normal}nav>ul:after{content:'';display:block;clear:both}.outer{background:#fff;border-top:2px #973c39 solid;padding:2em 0;backgound:#fff}nav>ul{padding-left:0;margin-left:0}nav>ul>li{display:block;float:left;width:20%}.redbox,a.redbox:hover,nav>ul>li a{display:inline-block;text-decoration:none;width:100%}nav>ul>li+li{padding-left:2px}nav>ul>li a{padding:.7em 1.5em;background:#4c4d51;text-transform:uppercase;font-weight:700;color:#fff;letter-spacing:.05em}.redbox,a.redbox:hover,nav>ul a.active,nav>ul a:focus,nav>ul a:hover{background:#973c39;color:#fff}article,aside{margin:2em 0}article{padding-right:1em}aside{padding-left:1em}.redbox,a.redbox:hover{padding:1em;margin-top:.5em;margin-bottom:1em;border:2px solid rgba(0,0,0,.02)}main{display:flex;flex-direction:row}main>article{flex:1 1 45em}main>aside{flex:1 1 18em}article h1{color:#973c39}article .intro{font-size:1.1em;margin:10px 0}footer{margin:0 auto;padding:20px 0}footer p{margin:0;font-size:.8em;color:#666}footer p a{color:inherit}.logos{background:#fff}.logos img{vertical-align:middle;margin:1.5em 3em}.social-icon{width:auto;height:2em}.info:after{content:'*';display:inline}.small{font-size:.875em;color:#555} \ No newline at end of file
diff --git a/xsl/common.xsl b/xsl/common.xsl
index b0fa8b1..f9387dc 100644
--- a/xsl/common.xsl
+++ b/xsl/common.xsl
@@ -15,6 +15,7 @@
<xsl:variable name="filename" select="/s:html/@name" />
<xsl:variable name="title" select="document('../main.xml')/s:site/s:page[@filename = $filename]/@title" />
<xsl:param name="suffix" select="'.xml'" />
+ <xsl:param name="stylesheet" select="'style.css'" />
<xsl:output method="xml" indent="no" encoding="utf-8"
cdata-section-elements="script style"
diff --git a/xsl/layout.xsl b/xsl/layout.xsl
index 65f5825..2b21d37 100644
--- a/xsl/layout.xsl
+++ b/xsl/layout.xsl
@@ -19,7 +19,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="viewport" content="width=device-width" />
- <link rel="stylesheet" type="text/css" href="style/style.css" />
+ <link rel="stylesheet" type="text/css" href="style/{$stylesheet}" />
</head>
<body>
<header>