kacademic 0.5.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +338 -0
- data/_data/academic_i18n.yml +61 -0
- data/_includes/_i18n/date.html +11 -0
- data/_includes/_i18n/i18n.html +17 -0
- data/_includes/_i18n/lang_selector.html +42 -0
- data/_includes/_i18n/last_modified_at.html +29 -0
- data/_includes/_i18n/link.html +10 -0
- data/_includes/_i18n/sitetitle.html +19 -0
- data/_includes/_icons/Spotify-Icon-Black-Logo.wine.svg +1 -0
- data/_includes/_icons/email.html +1 -0
- data/_includes/_icons/email.svg +1 -0
- data/_includes/_icons/file.html +11 -0
- data/_includes/_icons/file.svg +1 -0
- data/_includes/_icons/github.html +1 -0
- data/_includes/_icons/github.svg +1 -0
- data/_includes/_icons/keybase.html +1 -0
- data/_includes/_icons/keybase.svg +1 -0
- data/_includes/_icons/linkedin.html +1 -0
- data/_includes/_icons/linkedin.svg +1 -0
- data/_includes/_icons/rss.html +7 -0
- data/_includes/_icons/rss.svg +5 -0
- data/_includes/_icons/spotify.html +1 -0
- data/_includes/_icons/spotify.svg +2 -0
- data/_includes/_icons/website.html +2 -0
- data/_includes/_icons/website.svg +6 -0
- data/_includes/calltoaction.html +19 -0
- data/_includes/contactlist.html +34 -0
- data/_includes/footer.html +80 -0
- data/_includes/head.html +77 -0
- data/_includes/header.html +35 -0
- data/_includes/image.html +9 -0
- data/_includes/nav_menu.html +26 -0
- data/_includes/piwik.html +15 -0
- data/_includes/post-li.html +19 -0
- data/_includes/post-ul.html +19 -0
- data/_includes/sitemap-url.html +30 -0
- data/_layouts/about.html +46 -0
- data/_layouts/archive.html +17 -0
- data/_layouts/default.html +24 -0
- data/_layouts/home.html +31 -0
- data/_layouts/page.html +7 -0
- data/_layouts/pagenotfound.html +11 -0
- data/_layouts/post.html +51 -0
- data/_layouts/sitemap.html +5 -0
- data/_sass/.DS_Store +0 -0
- data/_sass/academic/_base.scss +347 -0
- data/_sass/academic/_layout.scss +797 -0
- data/_sass/academic/_syntax-highlighting.scss +61 -0
- data/_sass/academic.scss +124 -0
- data/assets/main.scss +46 -0
- data/assets/opensans/OpenSans-Bold.ttf +0 -0
- data/assets/opensans/OpenSans-Italic.ttf +0 -0
- data/assets/opensans/OpenSans-Regular.ttf +0 -0
- metadata +153 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
{% assign plang = page.lang | default: site.langs[0] | default: "en" %}
|
2
|
+
<div class="colored-block">
|
3
|
+
{% assign cta = site.data.academic_i18n.cta %}
|
4
|
+
{% if page.layout == "home" or page.layout == "archive" %}
|
5
|
+
{{ cta.like[plang] | escape }}
|
6
|
+
{% else if page.layout == "post" %}
|
7
|
+
{{ cta.post[plang] | escape }}
|
8
|
+
{% else %}
|
9
|
+
{% endif %}
|
10
|
+
|
11
|
+
{{ cta.rss[plang][0] }}
|
12
|
+
<a href="/feed.xml">{{ cta.rss[plang][1] }}</a>
|
13
|
+
{{ cat.rss[plang][2]}}
|
14
|
+
|
15
|
+
{% if site.spotify_username %}
|
16
|
+
{{ cta.spotify[plang][0] }}
|
17
|
+
<a href="https://open.spotify.com/user/{{ site.spotify_username }}">at {{ site.spotify_username }}</a>
|
18
|
+
{{ cta.spotify[plang][1] }}{% endif %}.
|
19
|
+
</div>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
{% assign plang = page.lang | default: site.langs[0] | default: "en" %}
|
2
|
+
<span class="contact-list-title">
|
3
|
+
{{ site.data.academic_i18n.links[plang] }}
|
4
|
+
</span>
|
5
|
+
<ul class="contact-list {{ include.class }}">
|
6
|
+
<li>
|
7
|
+
{% include _icons/rss.html %}
|
8
|
+
</li>
|
9
|
+
|
10
|
+
{% if site.github_username %}
|
11
|
+
<li>
|
12
|
+
{% include _icons/github.html username=site.github_username %}
|
13
|
+
</li>
|
14
|
+
{% endif %}
|
15
|
+
|
16
|
+
{% if site.spotify_username %}
|
17
|
+
<li>
|
18
|
+
{% include _icons/spotify.html username=site.spotify_username %}
|
19
|
+
</li>
|
20
|
+
{% endif %}
|
21
|
+
|
22
|
+
{% if site.linkedin_username %}
|
23
|
+
<li>
|
24
|
+
{% include _icons/linkedin.html username=site.linkedin_username %}
|
25
|
+
</li>
|
26
|
+
{% endif %}
|
27
|
+
|
28
|
+
{% if site.keybase_username %}
|
29
|
+
<li>
|
30
|
+
{% include _icons/keybase.html username=site.keybase_username %}
|
31
|
+
</li>
|
32
|
+
{% endif %}
|
33
|
+
|
34
|
+
</ul>
|
@@ -0,0 +1,80 @@
|
|
1
|
+
{% assign plang = page.lang | default: site.langs[0] | default: "en" %}
|
2
|
+
{% assign i18n = site.data.academic_i18n %}
|
3
|
+
<footer class="site-footer">
|
4
|
+
|
5
|
+
<div class="wrapper">
|
6
|
+
|
7
|
+
<ul class="footer-col footer-col-1">
|
8
|
+
<li>
|
9
|
+
{% include _i18n/sitetitle.html %}
|
10
|
+
|
11
|
+
{% if site.author_display %}
|
12
|
+
<span class="author">
|
13
|
+
{{ i18n.by[plang] }}
|
14
|
+
{% if site.author_website %}
|
15
|
+
<a target="_blank" href="{% include _i18n/i18n.html value=site.author_website %}">{{ site.author }}</a>
|
16
|
+
{% else %}
|
17
|
+
{{ site.author }}
|
18
|
+
{% endif %}
|
19
|
+
</span>
|
20
|
+
</li>
|
21
|
+
{% endif %}
|
22
|
+
|
23
|
+
{% if site.description %}
|
24
|
+
<li>{% include _i18n/i18n.html value=site.description %}</li>
|
25
|
+
{% endif %}
|
26
|
+
|
27
|
+
</ul>
|
28
|
+
|
29
|
+
{% if site.pitch %}
|
30
|
+
<nav>
|
31
|
+
{% include nav_menu.html class="footer-col footer-col-2"%}
|
32
|
+
{% include contactlist.html class="single-col" %}
|
33
|
+
</nav>
|
34
|
+
{% else %}
|
35
|
+
{% include contactlist.html class="footer-col footer-col-2" %}
|
36
|
+
{% endif %}
|
37
|
+
|
38
|
+
<div class="bottom">
|
39
|
+
|
40
|
+
{% assign nblangs = site.langs | size %}
|
41
|
+
{% if nblangs > 1 %}
|
42
|
+
{% include _i18n/lang_selector.html %}
|
43
|
+
{% endif %}
|
44
|
+
|
45
|
+
<div class="tech">
|
46
|
+
<a target="_blank" href="https://jekyllrb.com/">Jekyll</a> + <a target="_blank" href="https://github.com/gaalcaras/academic">Academic</a>
|
47
|
+
{% if site.repo %}
|
48
|
+
+ <a target="_blank" href="{{ site.repo }}">Source</a>
|
49
|
+
{% endif %}
|
50
|
+
</div>
|
51
|
+
|
52
|
+
<div class="legal">
|
53
|
+
{% if site.cc == null %}©{% endif %}
|
54
|
+
{% include _i18n/sitetitle.html %}
|
55
|
+
{% assign oldest_post = site.posts reversed | first %}
|
56
|
+
{% assign oldest = oldest_post.date | date: "%Y" %}
|
57
|
+
{% assign newest = site.time | date: "%Y" %}
|
58
|
+
({% if oldest != newest %}{{ oldest }}-{% endif %}{{ newest }})
|
59
|
+
{% if site.author and site.author_display %}
|
60
|
+
{{ i18n.legal[plang][0] }}
|
61
|
+
<a target="_blank" href="{% include _i18n/i18n.html value=site.author_website %}">{{ site.author }}</a>
|
62
|
+
{% endif %}
|
63
|
+
{% if site.cc %}
|
64
|
+
{{ i18n.legal[plang][1] }}
|
65
|
+
<a target="_blank" rel="license" href="https://creativecommons.org/licenses/{{ site.cc }}/4.0/" class="cc-licence">
|
66
|
+
CC {{ site.cc }}
|
67
|
+
</a>
|
68
|
+
{% endif %}
|
69
|
+
</div>
|
70
|
+
</div>
|
71
|
+
|
72
|
+
</div>
|
73
|
+
</footer>
|
74
|
+
|
75
|
+
{% if page.layout == "post" %}
|
76
|
+
<script type="text/javascript" async
|
77
|
+
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
|
78
|
+
</script>
|
79
|
+
{% endif %}
|
80
|
+
|
data/_includes/head.html
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
{% assign plang = page.lang | default: site.langs[0] | default: "en" %}
|
2
|
+
<head>
|
3
|
+
<meta charset="utf-8">
|
4
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
6
|
+
|
7
|
+
{% if page.seo.title %}
|
8
|
+
<title>{{ page.seo.title }}</title>
|
9
|
+
{% else %}
|
10
|
+
<title>{{ page.title | append: " | " | default:"" }}{% include _i18n/i18n.html value=site.title %}</title>
|
11
|
+
{% endif %}
|
12
|
+
|
13
|
+
{% if page.seo.description %}
|
14
|
+
<meta name="description" content="{{ page.seo.description | truncate: 160 }}">
|
15
|
+
{% elsif page.summary %}
|
16
|
+
<meta name="description" content="{{ page.summary | truncate: 160 }}">
|
17
|
+
{% else %}
|
18
|
+
<meta name="description" content="{% include _i18n/i18n.html value=site.description %}">
|
19
|
+
{% endif %}
|
20
|
+
|
21
|
+
<link rel="stylesheet" href="{{ "/assets/main.css" | relative_url }}">
|
22
|
+
<link rel="canonical" href="{{ page.url | replace:'index.html','' | absolute_url }}">
|
23
|
+
<link rel="alternate" type="application/rss+xml" title="{% include _i18n/i18n.html value=site.title %}" href="{{ "/feed.xml" | relative_url }}">
|
24
|
+
|
25
|
+
{% capture favicons %}
|
26
|
+
{% for file in site.static_files %}
|
27
|
+
{% if file.path contains "apple-touch-icon.png" %}
|
28
|
+
<link rel="apple-touch-icon" sizes="180x180" href="{{ file.path }}">
|
29
|
+
{% endif %}
|
30
|
+
|
31
|
+
{% if file.path contains "favicon-16x16.png" %}
|
32
|
+
<link rel="icon" type="image/png" href="{{ file.path }}" sizes="16x16">
|
33
|
+
{% endif %}
|
34
|
+
|
35
|
+
{% if file.path contains "favicon-32x32.png" %}
|
36
|
+
<link rel="icon" type="image/png" href="{{ file.path }}" sizes="32x32">
|
37
|
+
{% endif %}
|
38
|
+
|
39
|
+
{% if file.path contains "manifest.json" %}
|
40
|
+
<link rel="manifest" href="{{ file.path }}">
|
41
|
+
{% endif %}
|
42
|
+
|
43
|
+
{% if file.path contains "safari-pinned-tab.svg" %}
|
44
|
+
<link rel="mask-icon" href="{{ file.path }}" color="#{{ site.favicon.safari | default:"ffffff" }}">
|
45
|
+
{% endif %}
|
46
|
+
|
47
|
+
{% endfor %}
|
48
|
+
{% endcapture %}
|
49
|
+
{{ favicons | strip_newlines | lstrip }}
|
50
|
+
<meta name="theme-color" content="#{{ site.favicon.theme | default:"ffffff" }}">
|
51
|
+
|
52
|
+
{% assign pagename = page.path | split:"." | first %}
|
53
|
+
|
54
|
+
{% if page.layout == "post" %}
|
55
|
+
{% assign i18n_posts = site.posts | where_exp:"p","p.path contains pagename" %}
|
56
|
+
{% else %}
|
57
|
+
{% assign i18n_posts = site.pages | where_exp:"p","p.path contains pagename" %}
|
58
|
+
{% endif %}
|
59
|
+
|
60
|
+
{% for t_lang in site.langs %}
|
61
|
+
{% unless t_lang == plang %}
|
62
|
+
{% assign t = i18n_posts | where:"lang",t_lang | first %}
|
63
|
+
|
64
|
+
{% if t %}
|
65
|
+
<link rel="alternate" hreflang="{{ t_lang }}" href="{{ site.url }}{{ t.url }}" />
|
66
|
+
{% endif %}
|
67
|
+
{% endunless %}
|
68
|
+
{% endfor %}
|
69
|
+
|
70
|
+
{% if site.piwik %}
|
71
|
+
{% include piwik.html %}
|
72
|
+
{% endif %}
|
73
|
+
|
74
|
+
{% if jekyll.environment == 'production' %}
|
75
|
+
{% endif %}
|
76
|
+
</head>
|
77
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<header class="site-header" role="banner">
|
2
|
+
|
3
|
+
<div class="wrapper">
|
4
|
+
|
5
|
+
<div class="site-header-float">
|
6
|
+
{% include _i18n/sitetitle.html class=true %}
|
7
|
+
{% if site.pitch %}
|
8
|
+
<span class="site-pitch">{% include _i18n/i18n.html value=site.pitch %}</span>
|
9
|
+
{% endif %}
|
10
|
+
|
11
|
+
{% if site.pitch == null %}
|
12
|
+
<nav class="site-nav">
|
13
|
+
<span class="menu-icon">
|
14
|
+
<svg viewBox="0 0 18 15" width="18px" height="15px">
|
15
|
+
<path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
|
16
|
+
<path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
|
17
|
+
<path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
|
18
|
+
</svg>
|
19
|
+
</span>
|
20
|
+
|
21
|
+
<div class="trigger">
|
22
|
+
{% include nav_menu.html %}
|
23
|
+
</div>
|
24
|
+
</nav>
|
25
|
+
{% endif %}
|
26
|
+
</div>
|
27
|
+
|
28
|
+
{% assign nblangs = site.langs | size %}
|
29
|
+
{% if nblangs > 1 %}
|
30
|
+
{% include _i18n/lang_selector.html %}
|
31
|
+
{% endif %}
|
32
|
+
|
33
|
+
</div>
|
34
|
+
|
35
|
+
</header>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<figure>
|
2
|
+
<img src="{{ include.src }}" title="{{ include.caption }}" alt="{{ include.desc }}">
|
3
|
+
<figcaption>{{ include.caption }}{% if include.source %} @
|
4
|
+
{% if include.href %}<a href="{{ include.href }}">{% endif %}
|
5
|
+
{{ include.source }}
|
6
|
+
{% if include.href %}</a>{% endif %}
|
7
|
+
{% endif %}
|
8
|
+
</figcaption>
|
9
|
+
</figure>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{% assign plang = page.lang | default: site.langs[0] | default: "en" %}
|
2
|
+
{% assign nblangs = site.langs | size %}
|
3
|
+
<span class="nav-list-title">{{ site.data.academic_i18n.menu[plang] }}</span>
|
4
|
+
<ul class="nav-list {{ include.class }}">
|
5
|
+
{% for link in site.nav_ext_links %}
|
6
|
+
{% if link.url and link.name %}
|
7
|
+
<li><a target="_blank" class="page-link" href="{% include _i18n/i18n.html value=link.url %}">
|
8
|
+
{% include _i18n/i18n.html value=link.name %}
|
9
|
+
</a></li>
|
10
|
+
{% endif %}
|
11
|
+
{% endfor %}
|
12
|
+
|
13
|
+
{% if nblangs > 1 %}
|
14
|
+
{% assign pages = site.pages | where:"lang",plang %}
|
15
|
+
{% else %}
|
16
|
+
{% assign pages = site.pages %}
|
17
|
+
{% endif %}
|
18
|
+
|
19
|
+
{% for my_page in pages %}
|
20
|
+
{% unless my_page.invisible %}
|
21
|
+
{% if my_page.title %}
|
22
|
+
<li><a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a></li>
|
23
|
+
{% endif %}
|
24
|
+
{% endunless %}
|
25
|
+
{% endfor %}
|
26
|
+
</ul>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!-- Piwik -->
|
2
|
+
<script type="text/javascript">
|
3
|
+
var _paq = _paq || [];
|
4
|
+
// tracker methods like "setCustomDimension" should be called before "trackPageView"
|
5
|
+
_paq.push(['trackPageView']);
|
6
|
+
_paq.push(['enableLinkTracking']);
|
7
|
+
(function() {
|
8
|
+
var u=(("https:" == document.location.protocol) ? "https" : "http") + "://{{ site.piwik.url }}/";
|
9
|
+
_paq.push(['setTrackerUrl', u+'piwik.php']);
|
10
|
+
_paq.push(['setSiteId', '{{ site.piwik.site_id }}']);
|
11
|
+
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
12
|
+
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
|
13
|
+
})();
|
14
|
+
</script>
|
15
|
+
<!-- End Piwik Code -->
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<li>
|
2
|
+
<h2>
|
3
|
+
<a class="post-link" href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
|
4
|
+
</h2>
|
5
|
+
<span class="post-meta">
|
6
|
+
<span class="date">
|
7
|
+
{% include _i18n/date.html date=post.date %}
|
8
|
+
{% include _i18n/last_modified_at.html object=post %}
|
9
|
+
</span>
|
10
|
+
</span>
|
11
|
+
|
12
|
+
{% if post.thumbnail %}
|
13
|
+
<div class="post-thumbnail-wrapper">
|
14
|
+
<a href="{{ post.url | relative_url }}"><img class="post-thumbnail" src="/assets/{{ post.thumbnail }}" alt="{{ post.title | escape }}"/></a>
|
15
|
+
</div>
|
16
|
+
{% endif %}
|
17
|
+
|
18
|
+
<p>{{ post.summary }}</p>
|
19
|
+
</li>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{% assign plang = page.lang | default: site.langs[0] | default: "none" %}
|
2
|
+
{% assign nblang = site.langs | size %}
|
3
|
+
{% if include.limit %}
|
4
|
+
{% assign limit = site.nb_posts_page %}
|
5
|
+
{% else %}
|
6
|
+
{% assign limit = 1000000 %}
|
7
|
+
{% endif %}
|
8
|
+
|
9
|
+
<ul class="post-list">
|
10
|
+
{% if plang != "none" and nblang > 1 %}
|
11
|
+
{% assign posts = site.posts | where:"lang",plang %}
|
12
|
+
{% else %}
|
13
|
+
{% assign posts = site.posts %}
|
14
|
+
{% endif %}
|
15
|
+
|
16
|
+
{% for post in posts limit:limit %}
|
17
|
+
{% include post-li.html %}
|
18
|
+
{% endfor %}
|
19
|
+
</ul>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
{% assign p_done = "404" %}
|
2
|
+
{% for p in include.objects %}
|
3
|
+
{% unless p.path contains ".xml" %}
|
4
|
+
{% unless p.path contains ".scss" %}
|
5
|
+
{% assign pname = p.path | split:"." | first %}
|
6
|
+
{% assign p_done_arr = p_done | split:"," %}
|
7
|
+
{% unless p_done_arr contains pname %}
|
8
|
+
<url>
|
9
|
+
<loc>{{ site.url }}{{ p.url | url_escape }}</loc>
|
10
|
+
{% assign versions = include.objects | where_exp:"p","p.path contains pname" %}
|
11
|
+
{% for v in versions %}
|
12
|
+
<xhtml:link
|
13
|
+
rel="alternate"
|
14
|
+
hreflang="{{ v.lang }}"
|
15
|
+
href="{{ site.url }}{{ v.url | url_escape }}"
|
16
|
+
/>
|
17
|
+
{% endfor %}
|
18
|
+
{% assign p_done = p_done | append:"," | append:pname %}
|
19
|
+
{% if p.layout == "post" %}
|
20
|
+
<lastmod>{{ p.last_modified_at | default:p.date | date_to_xmlschema }}</lastmod>
|
21
|
+
{% endif %}
|
22
|
+
<changefreq>weekly</changefreq>
|
23
|
+
{% if p.layout == "home" %}
|
24
|
+
<priority>1</priority>
|
25
|
+
{% endif %}
|
26
|
+
</url>
|
27
|
+
{% endunless %}
|
28
|
+
{% endunless %}
|
29
|
+
{% endunless %}
|
30
|
+
{% endfor %}
|
data/_layouts/about.html
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<div class="about-col-wrapper">
|
6
|
+
<div class="about-col about-col-1">
|
7
|
+
|
8
|
+
{% if site.github_username %}
|
9
|
+
<img class="user-picture" src="https://github.com/{{ site.github_username }}.png" alt="{{ site.author }}">
|
10
|
+
{% endif %}
|
11
|
+
|
12
|
+
<ul class="contact-list">
|
13
|
+
{% if site.email %}
|
14
|
+
<li>
|
15
|
+
{% include _icons/email.html username=site.email %}
|
16
|
+
</li>
|
17
|
+
{% endif %}
|
18
|
+
|
19
|
+
{% if site.curriculum.url %}
|
20
|
+
<li>
|
21
|
+
{% include _icons/file.html curriculum=site.curriculum %}
|
22
|
+
</li>
|
23
|
+
{% endif %}
|
24
|
+
</ul>
|
25
|
+
|
26
|
+
<ul class="contact-list">
|
27
|
+
{% if site.author_website %}
|
28
|
+
<li>
|
29
|
+
{% include _icons/website.html url=site.author_website %}
|
30
|
+
</li>
|
31
|
+
{% endif %}
|
32
|
+
</ul>
|
33
|
+
|
34
|
+
{% include contactlist.html %}
|
35
|
+
|
36
|
+
</div>
|
37
|
+
<article class="about-col about-col-2" itemscope itemtype="http://schema.org/BlogPosting">
|
38
|
+
|
39
|
+
<h1>{{ page.title }}</h1>
|
40
|
+
|
41
|
+
<div class="post-content" itemprop="articleBody">
|
42
|
+
{{ content }}
|
43
|
+
</div>
|
44
|
+
|
45
|
+
</article>
|
46
|
+
</div>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
{% assign plang = page.lang | default: site.langs[0] | default: "en" %}
|
6
|
+
<div class="home">
|
7
|
+
<div class="colored-block">
|
8
|
+
{{ site.data.academic_i18n.archive[plang] }}
|
9
|
+
</div>
|
10
|
+
|
11
|
+
{{ content }}
|
12
|
+
|
13
|
+
{% include post-ul.html %}
|
14
|
+
|
15
|
+
{% include calltoaction.html %}
|
16
|
+
|
17
|
+
</div>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="{{ page.lang | default: site.langs[0] | default: "en" }}">
|
3
|
+
|
4
|
+
{% include head.html %}
|
5
|
+
|
6
|
+
<body>
|
7
|
+
|
8
|
+
{% include header.html %}
|
9
|
+
|
10
|
+
{% if page.layout == "post" %}
|
11
|
+
<main class="post-content" aria-label="Content">
|
12
|
+
{% else %}
|
13
|
+
<main class="page-content" aria-label="Content">
|
14
|
+
{% endif %}
|
15
|
+
<div class="wrapper">
|
16
|
+
{{ content }}
|
17
|
+
</div>
|
18
|
+
</main>
|
19
|
+
|
20
|
+
{% include footer.html %}
|
21
|
+
|
22
|
+
</body>
|
23
|
+
|
24
|
+
</html>
|
data/_layouts/home.html
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
{% assign plang = page.lang | default: site.langs[0] | default: "en" %}
|
6
|
+
{% if site.pitch == null %}
|
7
|
+
{% assign div_class = "home" %}
|
8
|
+
{% else %}
|
9
|
+
{% assign div_class = "home pitch" %}
|
10
|
+
{% endif %}
|
11
|
+
|
12
|
+
<div class="{{ div_class }}">
|
13
|
+
{% unless site.pitch %}
|
14
|
+
<p>{% include _i18n/i18n.html value=site.description %}</p>
|
15
|
+
{% endunless %}
|
16
|
+
|
17
|
+
{{ content }}
|
18
|
+
|
19
|
+
{% include post-ul.html limit=true %}
|
20
|
+
|
21
|
+
{% include calltoaction.html %}
|
22
|
+
|
23
|
+
{% assign nb_posts = site.posts | size %}
|
24
|
+
|
25
|
+
{% if nb_posts > site.nb_posts_page %}
|
26
|
+
<div class="archive">
|
27
|
+
{{ site.data.academic_i18n.all_posts[plang][0] }}
|
28
|
+
<a href="{% include _i18n/link.html path="archive" %}">{{ site.data.academic_i18n.all_posts[plang][1] }}</a>.</div>
|
29
|
+
{% endif %}
|
30
|
+
|
31
|
+
</div>
|
data/_layouts/page.html
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
{% assign plang = page.lang | default: site.langs[0] | default: "en" %}
|
6
|
+
<div class="msg-404">
|
7
|
+
<div class="title">404</div>
|
8
|
+
<div class="description">{{ site.data.academic_i18n.notfound[plang] }}</div>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
{{ page.content }}
|
data/_layouts/post.html
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
|
5
|
+
|
6
|
+
{% if page.thumbnail %}
|
7
|
+
<header class="post-header with-thumbnail">
|
8
|
+
{% else %}
|
9
|
+
<header class="post-header">
|
10
|
+
{% endif %}
|
11
|
+
{% if page.thumbnail %}
|
12
|
+
<img class="post-thumbnail" src="/assets/{{ page.thumbnail }}" alt="{{ page.title | escape }}"/>
|
13
|
+
{% endif %}
|
14
|
+
<div class="wrapper">
|
15
|
+
<h1 class="post-title" itemprop="name headline">{{ page.title | escape }}</h1>
|
16
|
+
<p class="post-meta">
|
17
|
+
<time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
|
18
|
+
{% include _i18n/date.html date=page.date %}
|
19
|
+
</time>
|
20
|
+
{% include _i18n/last_modified_at.html object=page %}
|
21
|
+
{% if page.author %} •
|
22
|
+
<span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">{{ page.author }}</span></span>
|
23
|
+
{% endif %}
|
24
|
+
</p>
|
25
|
+
<h3 class="post-summary">{{ page.summary }}</h3>
|
26
|
+
</div>
|
27
|
+
</header>
|
28
|
+
|
29
|
+
<div class="post-content" itemprop="articleBody">
|
30
|
+
{{ content }}
|
31
|
+
</div>
|
32
|
+
|
33
|
+
{% include calltoaction.html %}
|
34
|
+
|
35
|
+
{% if site.shortbio %}
|
36
|
+
<div class="post-author">
|
37
|
+
{% if site.github_username %}
|
38
|
+
<a href="{% include _i18n/i18n.html value=site.author_website %}">
|
39
|
+
<img class="user-picture" src="https://github.com/{{ site.github_username }}.png" alt="{{ site.author }}">
|
40
|
+
</a>
|
41
|
+
{% endif %}
|
42
|
+
<ul class="user-info">
|
43
|
+
<li class="user-name">
|
44
|
+
{{ site.author }}
|
45
|
+
</li>
|
46
|
+
<li class="user-shortbio">{% include _i18n/i18n.html value=site.shortbio %}</li>
|
47
|
+
</ul>
|
48
|
+
</div>
|
49
|
+
{% endif %}
|
50
|
+
|
51
|
+
</article>
|
data/_sass/.DS_Store
ADDED
Binary file
|