diff --git a/.gitignore b/.gitignore
index 6679283..cdca930 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
*.pyc
*_flymake
.coverage
+.sass-cache/
.ropeproject/
nose.cfg
MANIFEST
diff --git a/sigal/themes/Makefile b/sigal/themes/Makefile
new file mode 100644
index 0000000..5098343
--- /dev/null
+++ b/sigal/themes/Makefile
@@ -0,0 +1,9 @@
+GALLERIA_PATH=galleria/static/css
+
+all: galleria
+
+galleria:
+ sass --watch $(GALLERIA_PATH)/style.scss:$(GALLERIA_PATH)/style.min.css \
+ --style compressed
+
+.PHONY: galleria
diff --git a/sigal/themes/galleria/static/css/normalize.css b/sigal/themes/galleria/static/css/normalize.css
new file mode 100644
index 0000000..57b5d26
--- /dev/null
+++ b/sigal/themes/galleria/static/css/normalize.css
@@ -0,0 +1,375 @@
+/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
+
+/* ==========================================================================
+ HTML5 display definitions
+ ========================================================================== */
+
+/*
+ * Corrects `block` display not defined in IE 8/9.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/*
+ * Corrects `inline-block` display not defined in IE 8/9.
+ */
+
+audio,
+canvas,
+video {
+ display: inline-block;
+}
+
+/*
+ * Prevents modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/*
+ * Addresses styling for `hidden` attribute not present in IE 8/9.
+ */
+
+[hidden] {
+ display: none;
+}
+
+/* ==========================================================================
+ Base
+ ========================================================================== */
+
+/*
+ * 1. Sets default font family to sans-serif.
+ * 2. Prevents iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-family: sans-serif; /* 1 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+ -ms-text-size-adjust: 100%; /* 2 */
+}
+
+/*
+ * Removes default margin.
+ */
+
+body {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Links
+ ========================================================================== */
+
+/*
+ * Addresses `outline` inconsistency between Chrome and other browsers.
+ */
+
+a:focus {
+ outline: thin dotted;
+}
+
+/*
+ * Improves readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/* ==========================================================================
+ Typography
+ ========================================================================== */
+
+/*
+ * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
+ * Safari 5, and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+}
+
+/*
+ * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/*
+ * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+/*
+ * Addresses styling not present in Safari 5 and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/*
+ * Addresses styling not present in IE 8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+
+/*
+ * Corrects font family set oddly in Safari 5 and Chrome.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, serif;
+ font-size: 1em;
+}
+
+/*
+ * Improves readability of pre-formatted text in all browsers.
+ */
+
+pre {
+ white-space: pre;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+
+/*
+ * Sets consistent quote types.
+ */
+
+q {
+ quotes: "\201C" "\201D" "\2018" "\2019";
+}
+
+/*
+ * Addresses inconsistent and variable font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/*
+ * Prevents `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+/* ==========================================================================
+ Embedded content
+ ========================================================================== */
+
+/*
+ * Removes border when inside `a` element in IE 8/9.
+ */
+
+img {
+ border: 0;
+}
+
+/*
+ * Corrects overflow displayed oddly in IE 9.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* ==========================================================================
+ Figures
+ ========================================================================== */
+
+/*
+ * Addresses margin not present in IE 8/9 and Safari 5.
+ */
+
+figure {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Forms
+ ========================================================================== */
+
+/*
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/*
+ * 1. Corrects color not being inherited in IE 8/9.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/*
+ * 1. Corrects font family not being inherited in all browsers.
+ * 2. Corrects font size not being inherited in all browsers.
+ * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
+ */
+
+button,
+input,
+select,
+textarea {
+ font-family: inherit; /* 1 */
+ font-size: 100%; /* 2 */
+ margin: 0; /* 3 */
+}
+
+/*
+ * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+button,
+input {
+ line-height: normal;
+}
+
+/*
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Corrects inability to style clickable `input` types in iOS.
+ * 3. Improves usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+}
+
+/*
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+input[disabled] {
+ cursor: default;
+}
+
+/*
+ * 1. Addresses box sizing set to `content-box` in IE 8/9.
+ * 2. Removes excess padding in IE 8/9.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/*
+ * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/*
+ * Removes inner padding and search cancel button in Safari 5 and Chrome
+ * on OS X.
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/*
+ * Removes inner padding and border in Firefox 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/*
+ * 1. Removes default vertical scrollbar in IE 8/9.
+ * 2. Improves readability and alignment in all browsers.
+ */
+
+textarea {
+ overflow: auto; /* 1 */
+ vertical-align: top; /* 2 */
+}
+
+/* ==========================================================================
+ Tables
+ ========================================================================== */
+
+/*
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
diff --git a/sigal/themes/galleria/static/css/style.css b/sigal/themes/galleria/static/css/style.css
deleted file mode 100644
index b410012..0000000
--- a/sigal/themes/galleria/static/css/style.css
+++ /dev/null
@@ -1,116 +0,0 @@
-/* reset */
-html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
-body { line-height: 1; }
-ol, ul { list-style: none; }
-blockquote, q { quotes: none; }
-table { border-collapse: collapse; border-spacing: 0; }
-
-
-body {
- font: 14px/1.5 Molengo, sans-serif;
- margin: 0;
- padding: 0;
- background-color: #242424;
- color: #aaa;
- text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
-}
-
-a, a:link, a:visited {
- color: #999;
- text-decoration: underline;
-}
-a:hover {
- color: #dadada;
-}
-
-.container {
- margin: 0 auto;
- text-align: left;
- width: 960px;
-}
-
-/* header */
-
-header {
- padding: 3em 0;
- color: #dadada;
-}
-
-header h1 {
- font-size: 2.2em;
- font-weight: bold;
- margin-left: 20px;
- color: #eee;
-}
-header h1 a, header h1 a:link, header h1 a:visited {
- color: #eee;
- text-shadow: 0 2px 0 #000;
- text-decoration: none;
-}
-header h1 a:hover {
- color: #fff;
- text-decoration: none;
-}
-
-/* gallery */
-
-#albums ul {
- list-style-type: none;
- margin-left: 20px;
-}
-#albums ul li {
- display: inline-block;
- margin: 0 40px 30px 0;
- text-align: center;
-}
-#albums ul li:nth-child(3n+3) {
- margin-right: 0;
-}
-
-#albums ul li a img {
- opacity: 1;
- -webkit-transition: opacity 0.2s ease-in;
- -moz-transition-property: opacity;
- -moz-transition-duration: 0.2s;
- -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
- -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
- -o-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
- box-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
-}
-#albums ul li a:hover img {
- opacity: .5;
-}
-
-.album_thumb {}
-.album_title {
- display: block;
- color: #dadada;
- font-size: 1.3em;
- font-variant: small-caps;
- font-weight: bold;
-}
-
-#description {}
-
-#gallery {
- line-height: 0;
- margin: 0 0 40px -10px;
- width: 980px;
- height: 600px;
-}
-
-footer {
- clear: both;
- display: block;
- font-size: 1em;
- margin: 1em 0;
- text-align: center;
-}
-footer a:link, footer a:visited {
- font-weight: bold;
- text-decoration: none;
-}
-footer a:hover {
- border-bottom: 1px solid;
- text-decoration: none;
-}
diff --git a/sigal/themes/galleria/static/css/style.min.css b/sigal/themes/galleria/static/css/style.min.css
new file mode 100644
index 0000000..c194d0f
--- /dev/null
+++ b/sigal/themes/galleria/static/css/style.min.css
@@ -0,0 +1 @@
+@import url(normalize.css);@import url(../js/galleria.classic.css);body{font:16px/1.5 Molengo,sans-serif;background-color:#242424;color:#aaa;text-shadow:0 1px 3px rgba(0,0,0,0.7)}.container{margin:0 auto;text-align:left;width:960px}a,a:link,a:visited{color:#999;text-decoration:underline}a:hover{color:#dadada}header{padding:1em 0;color:#dadada}header h1{color:#eee}header h1 a,header h1 a:link,header h1 a:visited{color:#eee;text-shadow:0 2px 0 #000;text-decoration:none}header h1 a:hover{color:#fff;text-decoration:none}#albums ul{list-style-type:none;padding-left:0}#albums ul li{display:inline-block;margin:0 40px 30px 0;text-align:center}#albums ul li:nth-child(3n+3){margin-right:0}#albums ul li a img{opacity:1;-webkit-transition:opacity 0.2s ease-in;-moz-transition-property:opacity;-moz-transition-duration:0.2s;-moz-box-shadow:0 1px 6px rgba(0,0,0,0.6);-webkit-box-shadow:0 1px 6px rgba(0,0,0,0.6);-o-box-shadow:0 1px 6px rgba(0,0,0,0.6);box-shadow:0 1px 6px rgba(0,0,0,0.6)}#albums ul li a:hover img{opacity:.5}.album_title{display:block;color:#dadada;font-size:1.3em;font-variant:small-caps;font-weight:bold}#gallery{line-height:0;margin:0 0 40px -10px;width:980px;height:600px}footer{clear:both;display:block;margin:1em 0;text-align:center}footer a:link,footer a:visited{font-weight:bold;text-decoration:none}footer a:hover{border-bottom:1px solid;text-decoration:none}
diff --git a/sigal/themes/galleria/static/css/style.scss b/sigal/themes/galleria/static/css/style.scss
new file mode 100644
index 0000000..dd0e6f6
--- /dev/null
+++ b/sigal/themes/galleria/static/css/style.scss
@@ -0,0 +1,113 @@
+/* -*- scss-compile-at-save: nil -*- */
+
+@import "normalize.css";
+
+body {
+ font: 16px/1.5 Molengo, sans-serif;
+ background-color: #242424;
+ color: #aaa;
+ text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
+}
+
+.container {
+ margin: 0 auto;
+ text-align: left;
+ width: 960px;
+}
+
+a, a:link, a:visited {
+ color: #999;
+ text-decoration: underline;
+}
+a:hover {
+ color: #dadada;
+}
+
+/* header */
+
+header {
+ padding: 1em 0;
+ color: #dadada;
+
+ h1 {
+ color: #eee;
+
+ a, a:link, a:visited {
+ color: #eee;
+ text-shadow: 0 2px 0 #000;
+ text-decoration: none;
+ }
+ a:hover {
+ color: #fff;
+ text-decoration: none;
+ }
+ }
+}
+
+/* gallery */
+
+#albums ul {
+ list-style-type: none;
+ padding-left: 0;
+
+ li {
+ display: inline-block;
+ margin: 0 40px 30px 0;
+ text-align: center;
+ }
+ li:nth-child(3n+3) {
+ margin-right: 0;
+ }
+
+ li a img {
+ opacity: 1;
+ -webkit-transition: opacity 0.2s ease-in;
+ -moz-transition-property: opacity;
+ -moz-transition-duration: 0.2s;
+ -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
+ -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
+ -o-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
+ box-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
+ }
+ li a:hover img {
+ opacity: .5;
+ }
+}
+
+.album_thumb {}
+.album_title {
+ display: block;
+ color: #dadada;
+ font-size: 1.3em;
+ font-variant: small-caps;
+ font-weight: bold;
+}
+
+/* galleria */
+
+#gallery {
+ line-height: 0;
+ margin: 0 0 40px -10px;
+ width: 980px;
+ height: 600px;
+}
+
+@import "../js/galleria.classic.css";
+
+/* footer */
+
+footer {
+ clear: both;
+ display: block;
+ margin: 1em 0;
+ text-align: center;
+
+ a:link, a:visited {
+ font-weight: bold;
+ text-decoration: none;
+ }
+ a:hover {
+ border-bottom: 1px solid;
+ text-decoration: none;
+ }
+}
diff --git a/sigal/themes/galleria/templates/index.html b/sigal/themes/galleria/templates/index.html
index fefa997..7d01685 100644
--- a/sigal/themes/galleria/templates/index.html
+++ b/sigal/themes/galleria/templates/index.html
@@ -10,8 +10,7 @@
-
-
+
@@ -57,7 +56,7 @@