blob: 67221f72bb2948c173348c8696f8a6425d6afbce [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">
pR0Ps18abba62014-01-31 01:29:07 -05009 <script src="//cdnjs.cloudflare.com/ajax/libs/less.js/1.6.1/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">
pR0Psfee52252013-12-11 11:47:26 -050013 <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet">
Giulio Fidente8305e742013-03-22 23:17:45 +010014
Giulio Fidente8305e742013-03-22 23:17:45 +010015 <meta charset="utf-8" />
pR0Ps8c524632013-12-11 13:04:15 -050016 <meta name="viewport" id="viewport" content="width=device-width, initial-scale=1.0">
Giulio Fidente663537a2013-04-17 16:48:53 +020017 <meta name="author" content="{{ AUTHOR }}">
18 <meta name="description" content="Posts and writings by {{ AUTHOR }}">
Giulio Fidentea3296652013-03-28 11:30:46 +010019
pR0Ps440764b2013-12-05 16:27:12 -050020 {% if GOOGLE_PLUS_URL %}
21 <link rel="author" href="{{ GOOGLE_PLUS_URL }}?rel=author">
22 {% endif %}
23
Giulio Fidente44ccac72013-03-21 18:51:03 +010024 {% if FEED_ALL_ATOM %}
Giulio Fidente8305e742013-03-22 23:17:45 +010025 <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 +010026 {% endif %}
27 {% if FEED_ALL_RSS %}
Giulio Fidente8305e742013-03-22 23:17:45 +010028 <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 +010029 {% endif %}
Giulio Fidentea3296652013-03-28 11:30:46 +010030
Giulio Fidente44ccac72013-03-21 18:51:03 +010031 {% block head %}
pR0Ps02550b72013-12-17 17:03:38 -050032 <meta name="keywords" content="
33 {%- if GLOBAL_KEYWORDS -%}
34 {{ GLOBAL_KEYWORDS|join(', ') }}
35 {%- if tags -%}
36 {{', '}}
37 {%- endif -%}
38 {%- endif -%}
39 {{tags|join(', ', attribute='0') }}">
Giulio Fidente44ccac72013-03-21 18:51:03 +010040 {% endblock %}
Giulio Fidentea3296652013-03-28 11:30:46 +010041
Giulio Fidenteda4d95b2013-04-29 15:59:35 +020042 <title>
43 {% block title %}{{ SITENAME }}{% endblock %}
44 </title>
Giulio Fidentefbc35fb2013-04-05 11:26:07 +020045
Giulio Fidente180d1722013-06-14 09:29:38 +020046 {% include "modules/analytics.html" %}
Giulio Fidente44ccac72013-03-21 18:51:03 +010047</head>
48
49<body>
Giulio Fidentefc3b4d02013-03-26 15:23:42 +010050 <aside>
Giulio Fidente44ccac72013-03-21 18:51:03 +010051 <div id="user_meta">
Giulio Fidente5c9ed782013-03-27 11:20:31 +010052 <a href="{{ SITEURL }}">
53 {% if USER_LOGO_URL %}
pR0Ps27341772013-12-20 09:20:32 -050054 <img src="{{ USER_LOGO_URL }}" alt="logo" id="logo">
Giulio Fidente5c9ed782013-03-27 11:20:31 +010055 {% endif %}
56 </a>
pR0Ps41bf7d32013-12-05 16:33:55 -050057 <h2><a href="{{ SITEURL }}" class="nohover">{{ AUTHOR }}</a></h2>
Giulio Fidentea6c58672013-03-30 14:55:03 +010058 <p>{{ TAGLINE }}</p>
Giulio Fidente44ccac72013-03-21 18:51:03 +010059 <ul>
Giulio Fidente44ccac72013-03-21 18:51:03 +010060 {% for name, link in SOCIAL %}
pR0Ps433d1da2013-12-17 01:32:15 -050061
pR0Ps75ee6e02014-03-09 13:12:13 -040062 {# Attempt to normalize link URLs #}
63 {% set temp = link|lower|replace('http://', '')|replace('https://', '')|replace('www.', '') %}
64
pR0Ps433d1da2013-12-17 01:32:15 -050065 {% set class = 'fa-external-link-square' %}
66
67 {% if MANGLE_EMAILS and temp.startswith('mailto:') %}
pR0Ps23cfbaa2013-12-11 13:06:06 -050068 <li><a data-email="{{ link|reverse }}" title="You need javascript enabled to view this email" href="#" class="email" target="_blank">{{ name }}<i class="fa fa-envelope fa-lg"></i></a></li>
69 {% else %}
pR0Ps433d1da2013-12-17 01:32:15 -050070
71 {# Choosing a specific link icon #}
72 {% if temp.startswith('bitbucket.org') %}{% set class = 'fa-bitbucket' %}
73 {% elif temp.startswith('facebook.com') %}{% set class = 'fa-facebook' %}
74 {% elif temp.startswith('github.com') %}{% set class = 'fa-github' %}
75 {% elif temp.startswith('linkedin.com') %}{% set class = 'fa-linkedin' %}
76 {% elif temp.startswith('pinterest.com') %}{% set class = 'fa-pinterest' %}
77 {% elif temp.startswith('plus.google.com') %}{% set class = 'fa-google-plus' %}
78 {% elif temp.startswith('stackoverflow.com') %}{% set class = 'fa-stack-overflow' %}
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('youtube.com') %}{% set class = 'fa-youtube' %}
82
pR0Ps8dbfbd82013-12-18 17:46:54 -050083 {% elif temp.endswith('.pdf') %}{% set class = 'fa-file-text' %}
84
pR0Ps433d1da2013-12-17 01:32:15 -050085 {% elif '.stackexchange.com' in temp %}{% set class = 'fa-stack-exchange' %}
86 {% elif '.tumblr.com' in temp %}{% set class = 'fa-tumblr' %}
87
88 {% elif temp.startswith('bitcoin:') %}{% set class = 'fa-bitcoin' %}
89 {% elif temp.startswith('irc:') %}{% set class = 'fa-comments' %}
90 {% elif temp.startswith('mailto:') %}{% set class = 'fa-envelope' %}
91 {% elif temp.startswith('skype:') %}{% set class = 'fa-skype' %}
pR0Ps23cfbaa2013-12-11 13:06:06 -050092 {% endif %}
pR0Ps433d1da2013-12-17 01:32:15 -050093
94 <li><a href="{{ link }}" target="_blank">{{ name }}<i class="fa {{ class }} fa-lg"></i></a></li>
pR0Ps23cfbaa2013-12-11 13:06:06 -050095 {% endif %}
Giulio Fidente44ccac72013-03-21 18:51:03 +010096 {% endfor %}
pR0Pse5f49ca2014-03-04 01:47:54 -050097 </ul>
98 <ul>
Vincent Cheng713daa22014-02-21 04:49:15 -080099 {% for name, link in LINKS %}
100 <li><a href="{{ link }}" target="_blank">{{ name }}<i class="fa fa-external-link-square fa-lg"></i></a></li>
101 {% endfor %}
Giulio Fidente44ccac72013-03-21 18:51:03 +0100102 </ul>
103 </div>
Giulio Fidentefc3b4d02013-03-26 15:23:42 +0100104 </aside>
Giulio Fidente44ccac72013-03-21 18:51:03 +0100105
pR0Ps6c173152013-12-11 12:13:15 -0500106 <main id="main">
Giulio Fidentea3296652013-03-28 11:30:46 +0100107 <header>
Giulio Fidenteda4d95b2013-04-29 15:59:35 +0200108 {% block header %}
pR0Ps09af9c42013-12-06 04:51:29 -0500109 <p id="header">
pR0Ps90df6e92013-12-05 15:17:52 -0500110 <a href="{{ SITEURL }}">Home</a>
111
pR0Ps8096f8f2013-12-11 12:56:28 -0500112 {% for p in pages|sort %}
pR0Ps90df6e92013-12-05 15:17:52 -0500113 {% if p.url != "index.html" %}
114 &#124; <a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a>
115 {% endif %}
116 {% endfor %}
pR0Ps8096f8f2013-12-11 12:56:28 -0500117 {% if INDEX_SAVE_AS and INDEX_SAVE_AS != "index.html" %}
118 &#124; <a href="{{ SITEURL }}/{{ INDEX_SAVE_AS }}">Blog</a>
119 {% endif %}
Giulio Fidenteda4d95b2013-04-29 15:59:35 +0200120 {% if FEED_ALL_ATOM %}
121 &#124; <a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}">Atom Feed</a>
122 {% endif %}
123 {% if FEED_ALL_RSS %}
124 &#124; <a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}">RSS Feed</a>
125 {% endif %}
Giulio Fidentea6c58672013-03-30 14:55:03 +0100126 </p>
Giulio Fidenteda4d95b2013-04-29 15:59:35 +0200127 {% endblock header %}
pR0Ps09af9c42013-12-06 04:51:29 -0500128 {% block subheader %}
129 {% endblock subheader %}
Giulio Fidentea3296652013-03-28 11:30:46 +0100130 </header>
131
Giulio Fidente44ccac72013-03-21 18:51:03 +0100132 {% block content %}
133 {% endblock %}
Giulio Fidentea3296652013-03-28 11:30:46 +0100134
pR0Ps721949b2013-12-11 13:09:22 -0500135 {% block footer %}
136 {% endblock %}
Giulio Fidentea3296652013-03-28 11:30:46 +0100137
Giulio Fidentebc2f70a2013-03-27 15:41:07 +0100138 <div id="ending_message">
pR0Ps27bc7532014-09-25 01:47:02 -0400139 <p>&copy; {{ AUTHOR }}. Built using <a href="http://getpelican.com" target="_blank">Pelican</a>. Theme by <a href="http://cmetcalfe.ca" target="_blank">Carey Metcalfe</a>, available on <a href="https://github.com/pR0Ps/pelican-svbhack" target="_blank">GitHub</a>. Based on <a href="https://github.com/giulivo/pelican-svbhack" target="_blank">svbhack</a> by Giulio Fidente.</p>
Giulio Fidentebc2f70a2013-03-27 15:41:07 +0100140 </div>
Giulio Fidentefc3b4d02013-03-26 15:23:42 +0100141 </main>
pR0Ps6c173152013-12-11 12:13:15 -0500142
143 {% if SCROLL_TO_CONTENT %}
144 <script type="text/javascript">
145 if (window.location.pathname != '/' && window.location.pathname != '/index.html'){
146 window.scroll(0, document.getElementById('main').offsetTop);
147 }
148 </script>
149 {% endif %}
pR0Ps8c524632013-12-11 13:04:15 -0500150
pR0Ps23cfbaa2013-12-11 13:06:06 -0500151 {% if MANGLE_EMAILS %}
152 <script type="text/javascript">
153 window.onload = function(){
154 var e = document.querySelectorAll(".email");
155 for (var i = 0; i < e.length; i++) {
156 e[i].href = e[i].getAttribute("data-email").split("").reverse().join("");
157 e[i].removeAttribute("data-email");
158 e[i].removeAttribute("title");
159 e[i].removeAttribute("class");
160 }
161 };
162 </script>
163 {% endif %}
164
pR0Ps8c524632013-12-11 13:04:15 -0500165 {% if FORCE_PIXELS %}
166 <script type="text/javascript">
167 var ratio = 1/window.devicePixelRatio;
168 var tag = document.getElementById("viewport")
169 if (ratio != 1 && tag != null){
170 tag.content = "width=device-width, initial-scale=" + ratio;
171 }
172 </script>
173 {% endif %}
Giulio Fidente44ccac72013-03-21 18:51:03 +0100174</body>
175</html>