From fc476ec89f95a8011ae132dfda05d05ff4642d7a Mon Sep 17 00:00:00 2001 From: Ekaitz Zárraga Date: Fri, 6 Apr 2018 12:01:09 +0200 Subject: Template V1 --- .gitignore | 2 + .gitlab-ci.yml | 9 + README.md | 14 + content/.gitkeep | 0 pelicanconf.py | 63 ++++ publishconf.py | 19 + requirements.txt | 3 + themes/elenq/static/css/fonts.css | 23 ++ themes/elenq/static/css/news.css | 27 ++ themes/elenq/static/css/normalize.css | 427 ++++++++++++++++++++++ themes/elenq/static/css/skeleton.css | 418 +++++++++++++++++++++ themes/elenq/static/css/style.css | 315 ++++++++++++++++ themes/elenq/static/fonts/LatoLatin-Light.eot | Bin 0 -> 67508 bytes themes/elenq/static/fonts/LatoLatin-Light.ttf | Bin 0 -> 151856 bytes themes/elenq/static/fonts/LatoLatin-Light.woff | Bin 0 -> 72604 bytes themes/elenq/static/fonts/LatoLatin-Light.woff2 | Bin 0 -> 43468 bytes themes/elenq/static/fonts/LatoLatin-Regular.eot | Bin 0 -> 68135 bytes themes/elenq/static/fonts/LatoLatin-Regular.ttf | Bin 0 -> 148540 bytes themes/elenq/static/fonts/LatoLatin-Regular.woff | Bin 0 -> 72456 bytes themes/elenq/static/fonts/LatoLatin-Regular.woff2 | Bin 0 -> 43760 bytes themes/elenq/static/fonts/OFL.txt | 94 +++++ themes/elenq/static/img/ElenQTechLogo.png | Bin 0 -> 7320 bytes themes/elenq/static/img/ElenQTechLogo.svg | 143 ++++++++ themes/elenq/static/img/ElenQTechLogoSimple.png | Bin 0 -> 9569 bytes themes/elenq/templates/archives.html | 11 + themes/elenq/templates/article.html | 44 +++ themes/elenq/templates/author.html | 7 + themes/elenq/templates/authors.html | 13 + themes/elenq/templates/base.html | 81 ++++ themes/elenq/templates/categories.html | 8 + themes/elenq/templates/category.html | 5 + themes/elenq/templates/index.html | 28 ++ themes/elenq/templates/page.html | 15 + themes/elenq/templates/pagination.html | 11 + themes/elenq/templates/period_archives.html | 11 + themes/elenq/templates/tag.html | 0 themes/elenq/templates/tags.html | 10 + themes/elenq/templates/translations.html | 9 + 38 files changed, 1810 insertions(+) create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 README.md create mode 100644 content/.gitkeep create mode 100644 pelicanconf.py create mode 100644 publishconf.py create mode 100644 requirements.txt create mode 100644 themes/elenq/static/css/fonts.css create mode 100644 themes/elenq/static/css/news.css create mode 100644 themes/elenq/static/css/normalize.css create mode 100644 themes/elenq/static/css/skeleton.css create mode 100644 themes/elenq/static/css/style.css create mode 100644 themes/elenq/static/fonts/LatoLatin-Light.eot create mode 100644 themes/elenq/static/fonts/LatoLatin-Light.ttf create mode 100644 themes/elenq/static/fonts/LatoLatin-Light.woff create mode 100644 themes/elenq/static/fonts/LatoLatin-Light.woff2 create mode 100644 themes/elenq/static/fonts/LatoLatin-Regular.eot create mode 100644 themes/elenq/static/fonts/LatoLatin-Regular.ttf create mode 100644 themes/elenq/static/fonts/LatoLatin-Regular.woff create mode 100644 themes/elenq/static/fonts/LatoLatin-Regular.woff2 create mode 100644 themes/elenq/static/fonts/OFL.txt create mode 100644 themes/elenq/static/img/ElenQTechLogo.png create mode 100644 themes/elenq/static/img/ElenQTechLogo.svg create mode 100644 themes/elenq/static/img/ElenQTechLogoSimple.png create mode 100644 themes/elenq/templates/archives.html create mode 100644 themes/elenq/templates/article.html create mode 100644 themes/elenq/templates/author.html create mode 100644 themes/elenq/templates/authors.html create mode 100644 themes/elenq/templates/base.html create mode 100644 themes/elenq/templates/categories.html create mode 100644 themes/elenq/templates/category.html create mode 100644 themes/elenq/templates/index.html create mode 100644 themes/elenq/templates/page.html create mode 100644 themes/elenq/templates/pagination.html create mode 100644 themes/elenq/templates/period_archives.html create mode 100644 themes/elenq/templates/tag.html create mode 100644 themes/elenq/templates/tags.html create mode 100644 themes/elenq/templates/translations.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6d16296 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +public/ +*.pyc diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..4bb1c43 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,9 @@ +image: python:2.7-alpine + +pages: + script: + - pip install -r requirements.txt + - pelican -s publishconf.py + artifacts: + paths: + - output/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..05a6197 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Ekaitz's official but not really official tech blog + +This blog is made to explain what I do at ElenQ Technology in a simple way and +in multiple languages. + +I hope it's cool enough for everyone and I hope to write some stuff here but +sometimes is really difficult to translate everything to the three languages I +speak. It's also really difficult for me to write everything in English first. + +I don't know. + +We'll see what happens. + +:) diff --git a/content/.gitkeep b/content/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pelicanconf.py b/pelicanconf.py new file mode 100644 index 0000000..e8d1d44 --- /dev/null +++ b/pelicanconf.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- # +from __future__ import unicode_literals + +AUTHOR = u'Ekaitz Zárraga' +SITENAME = u'Ekaitz\'s tech blog' +SITESUBTITLE = u'' +SITEURL = '' + +PATH = 'content' +OUTPUT_PATH = 'output' +STATIC_PATHS = ('static',) +PAGE_PATHS = ('pages',) +ARTICLE_PATHS = ('posts',) + +TIMEZONE = 'Europe/Athens' + +DEFAULT_LANG = u'en' +LOCALE = ('en_US.UTF8',) + +# Feed generation is usually not desired when developing +FEED_ALL_ATOM = None +CATEGORY_FEED_ATOM = None +TRANSLATION_FEED_ATOM = None +AUTHOR_FEED_ATOM = None +AUTHOR_FEED_RSS = None + +# Blogroll +LINKS = (('ElenQ Technology', 'https://elenq.tech/'),) +MENUITEMS = (('Home','/'),) + +# Social widget +SOCIAL = () + +DEFAULT_PAGINATION = 5 + +# Uncomment following line if you want document-relative URLs when developing +#RELATIVE_URLS = True + +# Tipography improvements +TYPOGRIFY = True + +# Theme +THEME = 'themes/elenq' + +# Menu +DISPLAY_CATEGORIES_ON_MENU = True +DISPLAY_PAGES_ON_MENU = True + +# Markdown extras +MARKDOWN = { + 'extension_configs': { + 'markdown.extensions.codehilite': { + 'css_class': 'highlight', + 'noclasses': True, + }, + 'markdown.extensions.footnotes': {}, + 'markdown.extensions.tables': {}, + # optionally, more extensions, + # e.g. markdown.extensions.meta + }, + 'output_format': 'html5', +} diff --git a/publishconf.py b/publishconf.py new file mode 100644 index 0000000..82acae8 --- /dev/null +++ b/publishconf.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- # +from __future__ import unicode_literals + +# This file is only used if you use `make publish` or +# explicitly specify it as your config file. + +import os +import sys +sys.path.append(os.curdir) +from pelicanconf import * + +SITEURL = '' +RELATIVE_URLS = False + +FEED_ALL_ATOM = 'feeds/all.atom.xml' +CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml' + +DELETE_OUTPUT_DIRECTORY = True diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..97026e7 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +pelican +markdown +typogrify diff --git a/themes/elenq/static/css/fonts.css b/themes/elenq/static/css/fonts.css new file mode 100644 index 0000000..90740da --- /dev/null +++ b/themes/elenq/static/css/fonts.css @@ -0,0 +1,23 @@ +/* Webfont: LatoLatin-Regular */@font-face { + font-family: 'LatoLatinWeb'; + src: url('/theme/fonts/LatoLatin-Regular.eot'); /* IE9 Compat Modes */ + src: url('/theme/fonts/LatoLatin-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('/theme/fonts/LatoLatin-Regular.woff2') format('woff2'), /* Modern Browsers */ + url('/theme/fonts/LatoLatin-Regular.woff') format('woff'), /* Modern Browsers */ + url('/theme/fonts/LatoLatin-Regular.ttf') format('truetype'); + font-style: normal; + font-weight: normal; + text-rendering: optimizeLegibility; +} + +/* Webfont: LatoLatin-Light */@font-face { + font-family: 'LatoLatinLightWeb'; + src: url('/theme/fonts/LatoLatin-Light.eot'); /* IE9 Compat Modes */ + src: url('/theme/fonts/LatoLatin-Light.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('/theme/fonts/LatoLatin-Light.woff2') format('woff2'), /* Modern Browsers */ + url('/theme/fonts/LatoLatin-Light.woff') format('woff'), /* Modern Browsers */ + url('/theme/fonts/LatoLatin-Light.ttf') format('truetype'); + font-style: normal; + font-weight: normal; + text-rendering: optimizeLegibility; +} diff --git a/themes/elenq/static/css/news.css b/themes/elenq/static/css/news.css new file mode 100644 index 0000000..957978b --- /dev/null +++ b/themes/elenq/static/css/news.css @@ -0,0 +1,27 @@ +/* News section in the first page + */ + +.news p{ /* Reduce margin in the news section*/ + margin-bottom: 1ex; +} + +.news_date{ + font-style: italic; +} +@media (min-width: 800px){ /*more than a tablet*/ + .news_header{ + width: 100%; + min-width: 100%; + display: inline-flex; + flex: 1; + -webkit-flex: 1; /* Safari 6.1+ */ + -ms-flex: 1; /* IE 10 */ + justify-content: space-between; + flex-wrap: nowrap; + align-items: baseline; + } + .news_date{ + font-style: normal; + font-size: 110%; + } +} diff --git a/themes/elenq/static/css/normalize.css b/themes/elenq/static/css/normalize.css new file mode 100644 index 0000000..81c6f31 --- /dev/null +++ b/themes/elenq/static/css/normalize.css @@ -0,0 +1,427 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `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 + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve 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], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 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; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} \ No newline at end of file diff --git a/themes/elenq/static/css/skeleton.css b/themes/elenq/static/css/skeleton.css new file mode 100644 index 0000000..f28bf6c --- /dev/null +++ b/themes/elenq/static/css/skeleton.css @@ -0,0 +1,418 @@ +/* +* Skeleton V2.0.4 +* Copyright 2014, Dave Gamache +* www.getskeleton.com +* Free to use under the MIT license. +* http://www.opensource.org/licenses/mit-license.php +* 12/29/2014 +*/ + + +/* Table of contents +–––––––––––––––––––––––––––––––––––––––––––––––––– +- Grid +- Base Styles +- Typography +- Links +- Buttons +- Forms +- Lists +- Code +- Tables +- Spacing +- Utilities +- Clearing +- Media Queries +*/ + + +/* Grid +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +.container { + position: relative; + width: 100%; + max-width: 960px; + margin: 0 auto; + padding: 0 20px; + box-sizing: border-box; } +.column, +.columns { + width: 100%; + float: left; + box-sizing: border-box; } + +/* For devices larger than 400px */ +@media (min-width: 400px) { + .container { + width: 85%; + padding: 0; } +} + +/* For devices larger than 550px */ +@media (min-width: 550px) { + .container { + width: 80%; } + .column, + .columns { + margin-left: 4%; } + .column:first-child, + .columns:first-child { + margin-left: 0; } + + .one.column, + .one.columns { width: 4.66666666667%; } + .two.columns { width: 13.3333333333%; } + .three.columns { width: 22%; } + .four.columns { width: 30.6666666667%; } + .five.columns { width: 39.3333333333%; } + .six.columns { width: 48%; } + .seven.columns { width: 56.6666666667%; } + .eight.columns { width: 65.3333333333%; } + .nine.columns { width: 74.0%; } + .ten.columns { width: 82.6666666667%; } + .eleven.columns { width: 91.3333333333%; } + .twelve.columns { width: 100%; margin-left: 0; } + + .one-third.column { width: 30.6666666667%; } + .two-thirds.column { width: 65.3333333333%; } + + .one-half.column { width: 48%; } + + /* Offsets */ + .offset-by-one.column, + .offset-by-one.columns { margin-left: 8.66666666667%; } + .offset-by-two.column, + .offset-by-two.columns { margin-left: 17.3333333333%; } + .offset-by-three.column, + .offset-by-three.columns { margin-left: 26%; } + .offset-by-four.column, + .offset-by-four.columns { margin-left: 34.6666666667%; } + .offset-by-five.column, + .offset-by-five.columns { margin-left: 43.3333333333%; } + .offset-by-six.column, + .offset-by-six.columns { margin-left: 52%; } + .offset-by-seven.column, + .offset-by-seven.columns { margin-left: 60.6666666667%; } + .offset-by-eight.column, + .offset-by-eight.columns { margin-left: 69.3333333333%; } + .offset-by-nine.column, + .offset-by-nine.columns { margin-left: 78.0%; } + .offset-by-ten.column, + .offset-by-ten.columns { margin-left: 86.6666666667%; } + .offset-by-eleven.column, + .offset-by-eleven.columns { margin-left: 95.3333333333%; } + + .offset-by-one-third.column, + .offset-by-one-third.columns { margin-left: 34.6666666667%; } + .offset-by-two-thirds.column, + .offset-by-two-thirds.columns { margin-left: 69.3333333333%; } + + .offset-by-one-half.column, + .offset-by-one-half.columns { margin-left: 52%; } + +} + + +/* Base Styles +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +/* NOTE +html is set to 62.5% so that all the REM measurements throughout Skeleton +are based on 10px sizing. So basically 1.5rem = 15px :) */ +html { + font-size: 62.5%; } +body { + font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */ + line-height: 1.6; + font-weight: 400; + font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #222; } + + +/* Typography +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 2rem; + font-weight: 300; } +h1 { font-size: 4.0rem; line-height: 1.2; letter-spacing: -.1rem;} +h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; } +h3 { font-size: 3.0rem; line-height: 1.3; letter-spacing: -.1rem; } +h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; } +h5 { font-size: 1.8rem; line-height: 1.5; letter-spacing: -.05rem; } +h6 { font-size: 1.5rem; line-height: 1.6; letter-spacing: 0; } + +/* Larger than phablet */ +@media (min-width: 550px) { + h1 { font-size: 5.0rem; } + h2 { font-size: 4.2rem; } + h3 { font-size: 3.6rem; } + h4 { font-size: 3.0rem; } + h5 { font-size: 2.4rem; } + h6 { font-size: 1.5rem; } +} + +p { + margin-top: 0; } + + +/* Links +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +a { + color: #1EAEDB; } +a:hover { + color: #0FA0CE; } + + +/* Buttons +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +.button, +button, +input[type="submit"], +input[type="reset"], +input[type="button"] { + display: inline-block; + height: 38px; + padding: 0 30px; + color: #555; + text-align: center; + font-size: 11px; + font-weight: 600; + line-height: 38px; + letter-spacing: .1rem; + text-transform: uppercase; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border-radius: 4px; + border: 1px solid #bbb; + cursor: pointer; + box-sizing: border-box; } +.button:hover, +button:hover, +input[type="submit"]:hover, +input[type="reset"]:hover, +input[type="button"]:hover, +.button:focus, +button:focus, +input[type="submit"]:focus, +input[type="reset"]:focus, +input[type="button"]:focus { + color: #333; + border-color: #888; + outline: 0; } +.button.button-primary, +button.button-primary, +input[type="submit"].button-primary, +input[type="reset"].button-primary, +input[type="button"].button-primary { + color: #FFF; + background-color: #33C3F0; + border-color: #33C3F0; } +.button.button-primary:hover, +button.button-primary:hover, +input[type="submit"].button-primary:hover, +input[type="reset"].button-primary:hover, +input[type="button"].button-primary:hover, +.button.button-primary:focus, +button.button-primary:focus, +input[type="submit"].button-primary:focus, +input[type="reset"].button-primary:focus, +input[type="button"].button-primary:focus { + color: #FFF; + background-color: #1EAEDB; + border-color: #1EAEDB; } + + +/* Forms +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +input[type="email"], +input[type="number"], +input[type="search"], +input[type="text"], +input[type="tel"], +input[type="url"], +input[type="password"], +textarea, +select { + height: 38px; + padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */ + background-color: #fff; + border: 1px solid #D1D1D1; + border-radius: 4px; + box-shadow: none; + box-sizing: border-box; } +/* Removes awkward default styles on some inputs for iOS */ +input[type="email"], +input[type="number"], +input[type="search"], +input[type="text"], +input[type="tel"], +input[type="url"], +input[type="password"], +textarea { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } +textarea { + min-height: 65px; + padding-top: 6px; + padding-bottom: 6px; } +input[type="email"]:focus, +input[type="number"]:focus, +input[type="search"]:focus, +input[type="text"]:focus, +input[type="tel"]:focus, +input[type="url"]:focus, +input[type="password"]:focus, +textarea:focus, +select:focus { + border: 1px solid #33C3F0; + outline: 0; } +label, +legend { + display: block; + margin-bottom: .5rem; + font-weight: 600; } +fieldset { + padding: 0; + border-width: 0; } +input[type="checkbox"], +input[type="radio"] { + display: inline; } +label > .label-body { + display: inline-block; + margin-left: .5rem; + font-weight: normal; } + + +/* Lists +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +ul { + list-style: circle inside; } +ol { + list-style: decimal inside; } +ol, ul { + padding-left: 0; + margin-top: 0; } +ul ul, +ul ol, +ol ol, +ol ul { + margin: 1.5rem 0 1.5rem 3rem; + font-size: 90%; } +li { + margin-bottom: 1rem; } + + +/* Code +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +code { + padding: .2rem .5rem; + margin: 0 .2rem; + font-size: 90%; + white-space: nowrap; + background: #F1F1F1; + border: 1px solid #E1E1E1; + border-radius: 4px; } +pre > code { + display: block; + padding: 1rem 1.5rem; + white-space: pre; } + + +/* Tables +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +th, +td { + padding: 12px 15px; + text-align: left; + border-bottom: 1px solid #E1E1E1; } +th:first-child, +td:first-child { + padding-left: 0; } +th:last-child, +td:last-child { + padding-right: 0; } + + +/* Spacing +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +button, +.button { + margin-bottom: 1rem; } +input, +textarea, +select, +fieldset { + margin-bottom: 1.5rem; } +pre, +blockquote, +dl, +figure, +table, +p, +ul, +ol, +form { + margin-bottom: 2.5rem; } + + +/* Utilities +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +.u-full-width { + width: 100%; + box-sizing: border-box; } +.u-max-full-width { + max-width: 100%; + box-sizing: border-box; } +.u-pull-right { + float: right; } +.u-pull-left { + float: left; } + + +/* Misc +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +hr { + margin-top: 3rem; + margin-bottom: 3.5rem; + border-width: 0; + border-top: 1px solid #E1E1E1; } + + +/* Clearing +–––––––––––––––––––––––––––––––––––––––––––––––––– */ + +/* Self Clearing Goodness */ +.container:after, +.row:after, +.u-cf { + content: ""; + display: table; + clear: both; } + + +/* Media Queries +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +/* +Note: The best way to structure the use of media queries is to create the queries +near the relevant code. For example, if you wanted to change the styles for buttons +on small devices, paste the mobile query code up in the buttons section and style it +there. +*/ + + +/* Larger than mobile */ +@media (min-width: 400px) {} + +/* Larger than phablet (also point when grid becomes active) */ +@media (min-width: 550px) {} + +/* Larger than tablet */ +@media (min-width: 750px) {} + +/* Larger than desktop */ +@media (min-width: 1000px) {} + +/* Larger than Desktop HD */ +@media (min-width: 1200px) {} diff --git a/themes/elenq/static/css/style.css b/themes/elenq/static/css/style.css new file mode 100644 index 0000000..0f27a5f --- /dev/null +++ b/themes/elenq/static/css/style.css @@ -0,0 +1,315 @@ +body{ + font-family: "LatoLatinWeb", Helvetica, Arial, sans-serif; + line-height: 1.6; + color: #222; +} + +.text-center{ + text-align: center; +} + +.text-right{ + text-align: right; +} + +.text-justify{ + text-align: justify; +} + +.text-nodeco{ + text-decoration: none; +} +.text-nodeco-black{ + text-decoration: none; + color: #222; +} + +.text-minimal{ + font-size: 0.7em; +} + +.text-small{ + font-size: 0.9em; +} + +.only-reader{ + font-size: 0; +} + +section{ + padding-top: 2rem; + padding-bottom: 2rem; + margin-bottom: 0; +} +q, blockquote{ + font-style: italic; +} + + +img { + display: block; + margin-left: auto; + margin-right: auto; + margin-top: 3ex; + margin-bottom: 3ex; +} +img.round{ + border-radius: 50%; +} + + +hr.short{ + width: 100px; +} + + +.bar-bottom { + border-top: 1px solid #eee; + position: relative; + width: 100%; + margin: 0 auto; + margin-top: 10ex; + padding: 1rem 0; + box-sizing: border-box; + + font-size: 70%; +} + + + + +/* + * Container + */ +.container { + max-width: 800px; + margin: auto; +} + + + +.mainheader{ + top: 0; + display: block; + width: 100%; + background: #fff; + z-index: 99; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; + margin-bottom: 3ex; +} +.navbar { + width: 100%; + } +.navbar-link, +.navbar-control{ + text-transform: uppercase; + font-size: 11px; + font-weight: 600; + letter-spacing: .2rem; + text-decoration: none; + line-height: 6.5rem; + display: inline-block; + color: #222; + } +.navbar-right, +.navbar-left{ + display: inline; +} +.navbar-link.active, +.navbar-link:active { + color: #33C3F0; +} +.navbar-separator{ + margin: 0 auto; +} + + +/* Large devices everything inline and the header floating fixed on top + */ +@media (min-width: 801px) { + .mainheader{ + position: fixed; + height: 6.5rem; + } + + /* Push content down, because the header is floating over it */ + .content:before{ + display: block; + content: " "; + height: 10rem; + visibility: hidden; + } + + .link-right { + margin-left: 15px; + margin-right: 0px; + } + .link-left{ + margin-right: 25px; + } + .nav-right{ + text-align: right; + } + .navbar-right{ + float: right; + } + .navbar-separator{ + display: none; + } + +} + +/* Smaller devices leave the header at the top of the page and make it more + * vertical */ +@media (max-width: 800px){ + /* Main navbar toggle */ + .navbar-link{ + margin-left: 3ex; + margin-right: 3ex; + } + .navbar-right, + .navbar-left{ + width: 100%; + min-width: 100%; + display: inline-flex; + flex: 1; + -webkit-flex: 1; /* Safari 6.1+ */ + -ms-flex: 1; /* IE 10 */ + justify-content: space-around; + flex-flow: row; + } + .navbar-left{ + flex-flow: row wrap; + } + + .link-right{ + margin: auto; + line-height: 5rem; + } +} + +/* Typography (overrides skeleton) + */ +h1, h2, h3, h4, h5, h6 { + text-decoration: none; + margin-top: 1ex; + margin-bottom: 0; + line-height: 2; + font-weight: 300; +} +h1.main-title { + font-size: 4.5rem; line-height: 1.2; text-align: center; + margin-bottom: 2rem; + margin-top: 2rem; + font-family: "LatoLatinLightWeb", Helvetica, Arial, sans-serif; +} +h2.entry-title{ + font-size: 4.0rem; line-height: 1.2; +} +h1 { font-size: 3.0rem; } +h2 { font-size: 2.8rem; } +h3 { font-size: 2.3rem; } +h4 { font-size: 2.1rem; } +h5 { font-size: 1.8rem; } +h6 { font-size: 1.5rem; } +.hentry .entry-content h1{ font-size: 2.2rem; } +.hentry .entry-content h2{ font-size: 2.0rem; } +.hentry .entry-content h3{ font-size: 1.8rem; } +.hentry .entry-content h4{ font-size: 1.6rem; } +.hentry .entry-content h5{ font-size: 1.4rem; } +.hentry .entry-content h6{ font-size: 1.2rem; } + +@media (min-width: 550px) { + h1.main-title { + font-size: 5.0rem; + } + h2.entry-title{ + font-size: 5.0rem; + } + h1 { font-size: 4.2rem; } + h2 { font-size: 3.2rem; } + h3 { font-size: 2.7rem; } + h4 { font-size: 2.2rem; } + h5 { font-size: 2.0rem; } + h6 { font-size: 1.7rem; } +} + +p { + font-size: 1.7rem; + text-align: justify; +} + +/* Image | text + */ +.card-picture *{ + height: auto; + width: 100%; +} +.card-picture{ + margin-left: auto; + margin-right: auto; + margin-top: 2ex; + margin-bottom: 2ex; + height: auto; + width: 150px; + min-width: 150px; +} +@media (min-width: 800px){ /*more than a tablet*/ + .card{ + margin-top: 3ex; + margin-bottom: 3ex; + + width: 100%; + min-width: 100%; + display: inline-flex; + flex: 1; + -webkit-flex: 1; /* Safari 6.1+ */ + -ms-flex: 1; /* IE 10 */ + justify-content: space-around; + align-items: center; + } + + .card-picture{ + margin: 2ex; + } + + .card-data{ + flex-grow: 2; + flex-shrink: 2; + margin-left: 3ex; + } +} + + +.entry-content{ + margin-top: 3rem; +} + +.entry-content table{ + margin-left: auto; + margin-right: auto; +} + +ol, ul { + font-size: 1.7rem; + list-style-position: outside; + margin-left: 3rem; + margin-right: 3rem; +} +li{ + padding-left: 1ex; +} +#post-list{ + list-style: none; + margin-left: 0; + margin-right: 0; +} +#post-list li{ + padding-left: 0; +} + +.footer-logo{ + width: 120px; + margin-top: 0; +} diff --git a/themes/elenq/static/fonts/LatoLatin-Light.eot b/themes/elenq/static/fonts/LatoLatin-Light.eot new file mode 100644 index 0000000..865537d Binary files /dev/null and b/themes/elenq/static/fonts/LatoLatin-Light.eot differ diff --git a/themes/elenq/static/fonts/LatoLatin-Light.ttf b/themes/elenq/static/fonts/LatoLatin-Light.ttf new file mode 100644 index 0000000..6af1b85 Binary files /dev/null and b/themes/elenq/static/fonts/LatoLatin-Light.ttf differ diff --git a/themes/elenq/static/fonts/LatoLatin-Light.woff b/themes/elenq/static/fonts/LatoLatin-Light.woff new file mode 100644 index 0000000..e7d4278 Binary files /dev/null and b/themes/elenq/static/fonts/LatoLatin-Light.woff differ diff --git a/themes/elenq/static/fonts/LatoLatin-Light.woff2 b/themes/elenq/static/fonts/LatoLatin-Light.woff2 new file mode 100644 index 0000000..b6d0288 Binary files /dev/null and b/themes/elenq/static/fonts/LatoLatin-Light.woff2 differ diff --git a/themes/elenq/static/fonts/LatoLatin-Regular.eot b/themes/elenq/static/fonts/LatoLatin-Regular.eot new file mode 100644 index 0000000..96a9035 Binary files /dev/null and b/themes/elenq/static/fonts/LatoLatin-Regular.eot differ diff --git a/themes/elenq/static/fonts/LatoLatin-Regular.ttf b/themes/elenq/static/fonts/LatoLatin-Regular.ttf new file mode 100644 index 0000000..bcc5778 Binary files /dev/null and b/themes/elenq/static/fonts/LatoLatin-Regular.ttf differ diff --git a/themes/elenq/static/fonts/LatoLatin-Regular.woff b/themes/elenq/static/fonts/LatoLatin-Regular.woff new file mode 100644 index 0000000..bf73a6d Binary files /dev/null and b/themes/elenq/static/fonts/LatoLatin-Regular.woff differ diff --git a/themes/elenq/static/fonts/LatoLatin-Regular.woff2 b/themes/elenq/static/fonts/LatoLatin-Regular.woff2 new file mode 100644 index 0000000..a4d084b Binary files /dev/null and b/themes/elenq/static/fonts/LatoLatin-Regular.woff2 differ diff --git a/themes/elenq/static/fonts/OFL.txt b/themes/elenq/static/fonts/OFL.txt new file mode 100644 index 0000000..6d2c416 --- /dev/null +++ b/themes/elenq/static/fonts/OFL.txt @@ -0,0 +1,94 @@ +Copyright (c) 2010-2015, Łukasz Dziedzic (dziedzic@typoland.com), +with Reserved Font Name Lato. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/themes/elenq/static/img/ElenQTechLogo.png b/themes/elenq/static/img/ElenQTechLogo.png new file mode 100644 index 0000000..e45870a Binary files /dev/null and b/themes/elenq/static/img/ElenQTechLogo.png differ diff --git a/themes/elenq/static/img/ElenQTechLogo.svg b/themes/elenq/static/img/ElenQTechLogo.svg new file mode 100644 index 0000000..846154d --- /dev/null +++ b/themes/elenq/static/img/ElenQTechLogo.svg @@ -0,0 +1,143 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/elenq/static/img/ElenQTechLogoSimple.png b/themes/elenq/static/img/ElenQTechLogoSimple.png new file mode 100644 index 0000000..36e86ed Binary files /dev/null and b/themes/elenq/static/img/ElenQTechLogoSimple.png differ diff --git a/themes/elenq/templates/archives.html b/themes/elenq/templates/archives.html new file mode 100644 index 0000000..050f268 --- /dev/null +++ b/themes/elenq/templates/archives.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} +{% block content %} +

Archives for {{ SITENAME }}

+ +
+{% for article in dates %} +
{{ article.locale_date }}
+
{{ article.title }}
+{% endfor %} +
+{% endblock %} diff --git a/themes/elenq/templates/article.html b/themes/elenq/templates/article.html new file mode 100644 index 0000000..a2b5635 --- /dev/null +++ b/themes/elenq/templates/article.html @@ -0,0 +1,44 @@ +{% extends "base.html" %} +{% block head %} + {{ super() }} + {% if article.description %} + + {% endif %} + + {% for tag in article.tags %} + + {% endfor %} + +{% endblock %} + +{% block content %} +
+
+

+ {{ article.title }}

+ {% import 'translations.html' as translations with context %} + {{ translations.translations_for(article) }} +
+
+ + {% if article.modified %} + + {% endif %} + {% if article.authors %} +
+ By {% for author in article.authors %} + {{ author }} + {% endfor %} +
+ {% endif %} +
+
+ {{ article.content }} +
+
+{% endblock %} diff --git a/themes/elenq/templates/author.html b/themes/elenq/templates/author.html new file mode 100644 index 0000000..e9f7870 --- /dev/null +++ b/themes/elenq/templates/author.html @@ -0,0 +1,7 @@ +{% extends "index.html" %} + +{% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %} +{% block content_title %} +

Articles by {{ author }}

+{% endblock %} + diff --git a/themes/elenq/templates/authors.html b/themes/elenq/templates/authors.html new file mode 100644 index 0000000..4914904 --- /dev/null +++ b/themes/elenq/templates/authors.html @@ -0,0 +1,13 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }} - Authors{% endblock %} + +{% block content %} +

Authors on {{ SITENAME }}

+ + +{% endblock %} diff --git a/themes/elenq/templates/base.html b/themes/elenq/templates/base.html new file mode 100644 index 0000000..d591ee5 --- /dev/null +++ b/themes/elenq/templates/base.html @@ -0,0 +1,81 @@ + + + + {% block head %} + {% block title %}{{ SITENAME }}{% endblock title %} + + {% if FEED_ALL_ATOM %} + + {% endif %} + {% if FEED_ALL_RSS %} + + {% endif %} + {% if FEED_ATOM %} + + {% endif %} + {% if FEED_RSS %} + + {% endif %} + {% if CATEGORY_FEED_ATOM and category %} + + {% endif %} + {% if CATEGORY_FEED_RSS and category %} + + {% endif %} + {% if TAG_FEED_ATOM and tag %} + + {% endif %} + {% if TAG_FEED_RSS and tag %} + + {% endif %} + {% endblock head %} + + + + + + + + +
+
+ +
+
+
+

{{ SITENAME }}{% if SITESUBTITLE %}:
{{ SITESUBTITLE }}{% endif %}

+ {% block content %} + {% endblock content %} +
+ + + diff --git a/themes/elenq/templates/categories.html b/themes/elenq/templates/categories.html new file mode 100644 index 0000000..e29be0c --- /dev/null +++ b/themes/elenq/templates/categories.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} +{% block content %} + +{% endblock %} diff --git a/themes/elenq/templates/category.html b/themes/elenq/templates/category.html new file mode 100644 index 0000000..4e6fd24 --- /dev/null +++ b/themes/elenq/templates/category.html @@ -0,0 +1,5 @@ +{% extends "index.html" %} +{% block content_title %} +

Articles in the {{ category }} category

+{% endblock %} + diff --git a/themes/elenq/templates/index.html b/themes/elenq/templates/index.html new file mode 100644 index 0000000..169e661 --- /dev/null +++ b/themes/elenq/templates/index.html @@ -0,0 +1,28 @@ +{% extends "base.html" %} +{% block content %} +
+{% block content_title %} +

Home

+{% endblock %} + +
    +{% for article in articles_page.object_list %} +
  1. +

    {{ article.title }}

    +
    + +
    By + {% for author in article.authors %} + {{ author }} + {% endfor %} +
    +
    +
    {{ article.summary }}
    +
  2. +{% endfor %} +
+{% if articles_page.has_other_pages() %} + {% include 'pagination.html' %} +{% endif %} +
+{% endblock content %} diff --git a/themes/elenq/templates/page.html b/themes/elenq/templates/page.html new file mode 100644 index 0000000..5ceb779 --- /dev/null +++ b/themes/elenq/templates/page.html @@ -0,0 +1,15 @@ +{% extends "base.html" %} +{% block title %}{{ page.title }}{%endblock%} +{% block content %} +

{{ page.title }}

+ {% import 'translations.html' as translations with context %} + {{ translations.translations_for(page) }} + + {{ page.content }} + + {% if page.modified %} +

+ Last updated: {{ page.locale_modified }} +

+ {% endif %} +{% endblock %} diff --git a/themes/elenq/templates/pagination.html b/themes/elenq/templates/pagination.html new file mode 100644 index 0000000..4219a5c --- /dev/null +++ b/themes/elenq/templates/pagination.html @@ -0,0 +1,11 @@ +{% if DEFAULT_PAGINATION %} +

+ {% if articles_page.has_previous() %} + « + {% endif %} + Page {{ articles_page.number }} / {{ articles_paginator.num_pages }} + {% if articles_page.has_next() %} + » + {% endif %} +

+{% endif %} diff --git a/themes/elenq/templates/period_archives.html b/themes/elenq/templates/period_archives.html new file mode 100644 index 0000000..d930dbb --- /dev/null +++ b/themes/elenq/templates/period_archives.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} +{% block content %} +

Archives for {{ period | reverse | join(' ') }}

+ +
+{% for article in dates %} +
{{ article.locale_date }}
+
{{ article.title }}
+{% endfor %} +
+{% endblock %} diff --git a/themes/elenq/templates/tag.html b/themes/elenq/templates/tag.html new file mode 100644 index 0000000..e69de29 diff --git a/themes/elenq/templates/tags.html b/themes/elenq/templates/tags.html new file mode 100644 index 0000000..b5d1482 --- /dev/null +++ b/themes/elenq/templates/tags.html @@ -0,0 +1,10 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }} - Tags{% endblock %} + +{% block content %} +

Tags for {{ SITENAME }}

+ {%- for tag, articles in tags|sort %} +
  • {{ tag }} ({{ articles|count }})
  • + {% endfor %} +{% endblock %} diff --git a/themes/elenq/templates/translations.html b/themes/elenq/templates/translations.html new file mode 100644 index 0000000..db8c372 --- /dev/null +++ b/themes/elenq/templates/translations.html @@ -0,0 +1,9 @@ +{% macro translations_for(article) %} +{% if article.translations %} +Translations: +{% for translation in article.translations %} +{{ translation.lang }} +{% endfor %} +{% endif %} +{% endmacro %} + -- cgit v1.2.3