blob: de81270712f7c674d367823e7f89978389ff1edd [file] [log] [blame]
Giulio Fidente44ccac72013-03-21 18:51:03 +01001<!DOCTYPE html>
2<html lang="{{ DEFAULT_LANG }}">
3
4<head>
pR0Ps26d70872014-01-31 01:42:14 -05005 {% if SERVER_LESS %}
6 <link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/style.css">
7 {% else %}
Giulio Fidente0161f712013-04-13 02:55:10 +02008 <link rel="stylesheet/less" type="text/css" href="{{ SITEURL }}/theme/css/style.less">
pR0Ps2afe4262015-01-12 19:38:09 -05009 <script src="//cdnjs.cloudflare.com/ajax/libs/less.js/2.2.0/less.min.js" type="text/javascript"></script>
pR0Ps26d70872014-01-31 01:42:14 -050010 {% endif %}
Giulio Fidente8305e742013-03-22 23:17:45 +010011
Giulio Fidente44ccac72013-03-21 18:51:03 +010012 <link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/pygments.css">
pR0Ps45d33822015-01-11 20:59:19 -050013 <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
Giulio Fidente8305e742013-03-22 23:17:45 +010014
pR0Ps6d648322015-01-15 01:34:55 -050015 <meta charset="utf-8">
pR0Psb1beb102015-01-11 22:19:11 -050016 <meta name="viewport" content="width=device-width, initial-scale=1.0">
Giulio Fidente663537a2013-04-17 16:48:53 +020017 <meta name="author" content="{{ AUTHOR }}">
pR0Ps277fab82014-09-25 01:52:29 -040018 <meta name="description" content="{% block description %}Posts by {{ AUTHOR }}{% endblock %}">
Giulio Fidentea3296652013-03-28 11:30:46 +010019
Giulio Fidente44ccac72013-03-21 18:51:03 +010020 {% if FEED_ALL_ATOM %}
Giulio Fidente8305e742013-03-22 23:17:45 +010021 <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Full Atom Feed" />
Giulio Fidente44ccac72013-03-21 18:51:03 +010022 {% endif %}
23 {% if FEED_ALL_RSS %}
Giulio Fidente8305e742013-03-22 23:17:45 +010024 <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Full RSS Feed" />
Giulio Fidente44ccac72013-03-21 18:51:03 +010025 {% endif %}
Giulio Fidentea3296652013-03-28 11:30:46 +010026
Giulio Fidente44ccac72013-03-21 18:51:03 +010027 {% block head %}
pR0Ps02550b72013-12-17 17:03:38 -050028 <meta name="keywords" content="
29 {%- if GLOBAL_KEYWORDS -%}
30 {{ GLOBAL_KEYWORDS|join(', ') }}
pR0Ps86b80862014-09-25 02:41:07 -040031 {%- if tags -%}{{', '}}{%- endif -%}
pR0Ps02550b72013-12-17 17:03:38 -050032 {%- endif -%}
33 {{tags|join(', ', attribute='0') }}">
Giulio Fidente44ccac72013-03-21 18:51:03 +010034 {% endblock %}
Giulio Fidentea3296652013-03-28 11:30:46 +010035
Giulio Fidenteda4d95b2013-04-29 15:59:35 +020036 <title>
37 {% block title %}{{ SITENAME }}{% endblock %}
38 </title>
Giulio Fidentefbc35fb2013-04-05 11:26:07 +020039
Giulio Fidente180d1722013-06-14 09:29:38 +020040 {% include "modules/analytics.html" %}
Giulio Fidente44ccac72013-03-21 18:51:03 +010041</head>
42
pR0Ps58acb372015-03-05 00:18:35 -050043{% macro get_icon(link) %}
44 {%- set class = 'fa-external-link-square' -%}
45
46 {# Attempt to normalize link URLs #}
47 {%- set temp = link|lower|replace('http://', '')|replace('https://', '')|replace('www.', '') -%}
48
49 {# Choosing a specific link icon #}
50 {%- if temp.startswith('bitcoin:') %}{% set class = 'fa-btc' %}
51 {% elif temp.startswith('irc:') %}{% set class = 'fa-comments' %}
52 {% elif temp.startswith('mailto:') %}{% set class = 'fa-envelope' %}
53 {% elif temp.startswith('skype:') %}{% set class = 'fa-skype' -%}
54
55 {%- elif temp.endswith('.pdf') or
56 temp.endswith('.txt') or
57 temp.endswith('.doc') or
58 temp.endswith('.docx') %}{% set class = 'fa-file-text' -%}
59
60 {%- elif temp.startswith('bitbucket.org') %}{% set class = 'fa-bitbucket' %}
61 {% elif temp.startswith('delicious.com') %}{% set class = 'fa-delicious' %}
62 {% elif temp.startswith('deviantart.com') %}{% set class = 'fa-deviantart' %}
63 {% elif temp.startswith('facebook.com') %}{% set class = 'fa-facebook' %}
64 {% elif temp.startswith('flickr.com') %}{% set class = 'fa-flickr' %}
65 {% elif temp.startswith('foursquare.com') %}{% set class = 'fa-foursquare' %}
66 {% elif temp.startswith('github.com') %}{% set class = 'fa-github' %}
67 {% elif temp.startswith('instagram.com') %}{% set class = 'fa-instagram' %}
68 {% elif temp.startswith('last.fm') %}{% set class = 'fa-lastfm' %}
69 {% elif temp.startswith('linkedin.com') %}{% set class = 'fa-linkedin' %}
70 {% elif temp.startswith('news.ycombinator.com') %}{% set class = 'fa-hacker-news' %}
71 {% elif temp.startswith('pinterest.com') %}{% set class = 'fa-pinterest' %}
72 {% elif temp.startswith('plus.google.com') %}{% set class = 'fa-google-plus' %}
73 {% elif temp.startswith('reddit.com') %}{% set class = 'fa-reddit' %}
74 {% elif temp.startswith('spotify.com') %}{% set class = 'fa-spotify' %}
75 {% elif temp.startswith('stackoverflow.com') %}{% set class = 'fa-stack-overflow' %}
76 {% elif temp.startswith('steamcommunity.com') %}{% set class = 'fa-steam' %}
77 {% elif temp.startswith('soundcloud.com') %}{% set class = 'fa-soundcloud' %}
78 {% elif temp.startswith('twitch.tv') %}{% set class = 'fa-twitch' %}
79 {% elif temp.startswith('twitter.com') %}{% set class = 'fa-twitter' %}
80 {% elif temp.startswith('vimeo.com') %}{% set class = 'fa-vimeo-square' %}
81 {% elif temp.startswith('vine.co') %}{% set class = 'fa-vine' %}
82 {% elif temp.startswith('youtube.com') %}{% set class = 'fa-youtube' -%}
83
84 {%- elif '.stackexchange.com' in temp %}{% set class = 'fa-stack-exchange' %}
85 {% elif '.tumblr.com' in temp %}{% set class = 'fa-tumblr' %}
86 {% endif -%}
87
88 <i class="fa {{ class }} fa-lg"></i>
89{%- endmacro -%}
90
pR0Psf072a8c2015-03-05 01:28:24 -050091{%- macro display_link(name, link, text) -%}
92 {%- if MANGLE_EMAILS and link.startswith('mailto:') -%}
93 <a data-email="{{ link|reverse }}"{% if not text %} data-title="{{ name }}"{% endif %} title="You need javascript enabled to view this email" class="email">{{ text }}{{ get_icon(link) }}</a>
94 {%- else -%}
95 <a href="{{ link }}"{% if not text %} title="{{ name }}"{% endif %}>{{ text }}{{ get_icon(link) }}</a>
96 {%- endif -%}
97{%- endmacro -%}
98
Giulio Fidente44ccac72013-03-21 18:51:03 +010099<body>
Giulio Fidentefc3b4d02013-03-26 15:23:42 +0100100 <aside>
Giulio Fidente44ccac72013-03-21 18:51:03 +0100101 <div id="user_meta">
Giulio Fidente5c9ed782013-03-27 11:20:31 +0100102 <a href="{{ SITEURL }}">
103 {% if USER_LOGO_URL %}
pR0Ps27341772013-12-20 09:20:32 -0500104 <img src="{{ USER_LOGO_URL }}" alt="logo" id="logo">
Giulio Fidente5c9ed782013-03-27 11:20:31 +0100105 {% endif %}
106 </a>
Carey Metcalfe9a4c7512014-09-25 13:35:55 -0400107 <h2><a href="{{ SITEURL }}" class="nohover">{{ SITENAME }}</a></h2>
Giulio Fidentea6c58672013-03-30 14:55:03 +0100108 <p>{{ TAGLINE }}</p>
pR0Ps58acb372015-03-05 00:18:35 -0500109 <div class="social">
Giulio Fidente44ccac72013-03-21 18:51:03 +0100110 {% for name, link in SOCIAL %}
pR0Psf072a8c2015-03-05 01:28:24 -0500111 {{ display_link(name, link, "") }}
Giulio Fidente44ccac72013-03-21 18:51:03 +0100112 {% endfor %}
pR0Ps58acb372015-03-05 00:18:35 -0500113 </div>
pR0Pse5f49ca2014-03-04 01:47:54 -0500114 <ul>
Vincent Cheng713daa22014-02-21 04:49:15 -0800115 {% for name, link in LINKS %}
pR0Psf072a8c2015-03-05 01:28:24 -0500116 <li>{{ display_link(name, link, name) }}</li>
Vincent Cheng713daa22014-02-21 04:49:15 -0800117 {% endfor %}
Giulio Fidente44ccac72013-03-21 18:51:03 +0100118 </ul>
119 </div>
Giulio Fidentefc3b4d02013-03-26 15:23:42 +0100120 </aside>
Giulio Fidente44ccac72013-03-21 18:51:03 +0100121
pR0Ps6c173152013-12-11 12:13:15 -0500122 <main id="main">
Giulio Fidentea3296652013-03-28 11:30:46 +0100123 <header>
Giulio Fidenteda4d95b2013-04-29 15:59:35 +0200124 {% block header %}
pR0Ps09af9c42013-12-06 04:51:29 -0500125 <p id="header">
pR0Ps90df6e92013-12-05 15:17:52 -0500126 <a href="{{ SITEURL }}">Home</a>
127
pR0Ps8096f8f2013-12-11 12:56:28 -0500128 {% for p in pages|sort %}
pR0Ps90df6e92013-12-05 15:17:52 -0500129 {% if p.url != "index.html" %}
130 &#124; <a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a>
131 {% endif %}
132 {% endfor %}
pR0Ps8096f8f2013-12-11 12:56:28 -0500133 {% if INDEX_SAVE_AS and INDEX_SAVE_AS != "index.html" %}
134 &#124; <a href="{{ SITEURL }}/{{ INDEX_SAVE_AS }}">Blog</a>
135 {% endif %}
Giulio Fidenteda4d95b2013-04-29 15:59:35 +0200136 {% if FEED_ALL_ATOM %}
137 &#124; <a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}">Atom Feed</a>
138 {% endif %}
139 {% if FEED_ALL_RSS %}
140 &#124; <a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}">RSS Feed</a>
141 {% endif %}
Giulio Fidentea6c58672013-03-30 14:55:03 +0100142 </p>
Giulio Fidenteda4d95b2013-04-29 15:59:35 +0200143 {% endblock header %}
pR0Psccef5bd2015-01-11 14:33:01 -0500144 {% block subheader %}{% include "modules/blogsubheader.html" %}{% endblock subheader %}
Giulio Fidentea3296652013-03-28 11:30:46 +0100145 </header>
146
Giulio Fidente44ccac72013-03-21 18:51:03 +0100147 {% block content %}
148 {% endblock %}
Giulio Fidentea3296652013-03-28 11:30:46 +0100149
pR0Ps721949b2013-12-11 13:09:22 -0500150 {% block footer %}
151 {% endblock %}
Giulio Fidentea3296652013-03-28 11:30:46 +0100152
Giulio Fidentebc2f70a2013-03-27 15:41:07 +0100153 <div id="ending_message">
Carey Metcalfef80588d2015-01-27 10:58:18 -0500154 <p>&copy; {{ AUTHOR }}. Built using <a href="http://getpelican.com">Pelican</a>. Theme is <a href="https://github.com/pR0Ps/pelican-subtle">subtle</a> by <a href="http://cmetcalfe.ca">Carey Metcalfe</a>. Based on <a href="https://github.com/giulivo/pelican-svbhack">svbhack</a> by Giulio Fidente.</p>
Giulio Fidentebc2f70a2013-03-27 15:41:07 +0100155 </div>
Giulio Fidentefc3b4d02013-03-26 15:23:42 +0100156 </main>
pR0Ps6c173152013-12-11 12:13:15 -0500157
pR0Ps2fd93002015-01-11 13:46:27 -0500158 {% block scripts %}
pR0Ps6c173152013-12-11 12:13:15 -0500159 <script type="text/javascript">
pR0Ps44f29b22015-01-11 22:20:52 -0500160 window.addEventListener('load', function(){
pR0Ps6c173152013-12-11 12:13:15 -0500161 if (window.location.pathname != '/' && window.location.pathname != '/index.html'){
162 window.scroll(0, document.getElementById('main').offsetTop);
pR0Ps44f29b22015-01-11 22:20:52 -0500163 }})
pR0Ps6c173152013-12-11 12:13:15 -0500164 </script>
pR0Ps8c524632013-12-11 13:04:15 -0500165
pR0Ps23cfbaa2013-12-11 13:06:06 -0500166 {% if MANGLE_EMAILS %}
167 <script type="text/javascript">
pR0Ps44f29b22015-01-11 22:20:52 -0500168 window.addEventListener('load', function(){
pR0Ps23cfbaa2013-12-11 13:06:06 -0500169 var e = document.querySelectorAll(".email");
170 for (var i = 0; i < e.length; i++) {
pR0Pse0255f62015-01-11 21:00:15 -0500171 var email = e[i].getAttribute("data-email")
pR0Psf072a8c2015-03-05 01:28:24 -0500172 var title = e[i].getAttribute("data-title")
pR0Pse0255f62015-01-11 21:00:15 -0500173 if (email){
174 e[i].href = email.split("").reverse().join("");
175 e[i].removeAttribute("data-email");
pR0Ps58acb372015-03-05 00:18:35 -0500176 e[i].removeAttribute("data-title");
pR0Pse0255f62015-01-11 21:00:15 -0500177 e[i].removeAttribute("class");
pR0Psf072a8c2015-03-05 01:28:24 -0500178 if (title){
179 e[i].setAttribute("title", title);
180 }
181 else{
182 e[i].removeAttribute("title");
183 }
pR0Pse0255f62015-01-11 21:00:15 -0500184 }
pR0Ps23cfbaa2013-12-11 13:06:06 -0500185 }
pR0Ps44f29b22015-01-11 22:20:52 -0500186 })
pR0Ps23cfbaa2013-12-11 13:06:06 -0500187 </script>
188 {% endif %}
pR0Ps2fd93002015-01-11 13:46:27 -0500189 {% endblock scripts %}
Giulio Fidente44ccac72013-03-21 18:51:03 +0100190</body>
191</html>