beautiful-jekyll-theme 1.1.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/404.html +13 -0
- data/{LICENSE.txt → LICENSE} +14 -5
- data/README.md +207 -203
- data/_data/ui-text.yml +494 -0
- data/_includes/comments.html +6 -0
- data/_includes/disqus.html +16 -14
- data/_includes/ext-css.html +7 -0
- data/_includes/ext-js.html +7 -0
- data/_includes/fb-comment.html +14 -0
- data/_includes/footer-minimal.html +6 -7
- data/_includes/footer-scripts.html +14 -16
- data/_includes/footer.html +23 -168
- data/_includes/google_analytics.html +13 -11
- data/_includes/gtag.html +11 -0
- data/_includes/gtm_body.html +6 -0
- data/_includes/gtm_head.html +9 -0
- data/_includes/head.html +41 -19
- data/_includes/header.html +37 -29
- data/_includes/matomo.html +17 -0
- data/_includes/nav.html +21 -23
- data/_includes/readtime.html +16 -0
- data/_includes/social-networks-links.html +207 -0
- data/_includes/social-share.html +25 -22
- data/_includes/staticman-comment.html +22 -0
- data/_includes/staticman-comments.html +83 -0
- data/_includes/utterances-comment.html +13 -0
- data/_layouts/base.html +4 -2
- data/_layouts/default.html +1 -1
- data/_layouts/home.html +75 -0
- data/_layouts/minimal.html +3 -3
- data/_layouts/page.html +1 -5
- data/_layouts/post.html +35 -11
- data/assets/css/main.css +233 -74
- data/assets/css/normalize.css +1 -1
- data/assets/css/pygment_highlights.css +0 -5
- data/assets/css/staticman.css +180 -0
- data/assets/img/404-southpark.jpg +0 -0
- data/assets/img/avatar-icon.png +0 -0
- data/assets/img/bgimage.png +0 -0
- data/assets/img/hello_world.jpeg +0 -0
- data/assets/img/install-steps.gif +0 -0
- data/assets/img/path.jpg +0 -0
- data/assets/js/main.js +21 -19
- data/assets/js/staticman.js +54 -0
- data/{assets/feed.xml → feed.xml} +8 -4
- data/tags.html +36 -0
- metadata +53 -17
- data/_includes/navbarlink.html +0 -16
- data/_layouts/tag_index.html +0 -41
@@ -0,0 +1,22 @@
|
|
1
|
+
<article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="https://schema.org/Comment">
|
2
|
+
<div class="comment__avatar-wrapper">
|
3
|
+
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80" alt="{{ include.name }}">
|
4
|
+
</div>
|
5
|
+
<div class="comment__content-wrapper">
|
6
|
+
<h4 class="comment__author" itemprop="author" itemscope itemtype="https://schema.org/Person">
|
7
|
+
{% unless include.url == blank %}
|
8
|
+
<span itemprop="name"><a rel="external nofollow" itemprop="url" href="{{ include.url }}">{{ include.name }}</a></span>
|
9
|
+
{% else %}
|
10
|
+
<span itemprop="name">{{ include.name }}</span>
|
11
|
+
{% endunless %}
|
12
|
+
</h4>
|
13
|
+
<p class="comment__date">
|
14
|
+
{% if include.date %}
|
15
|
+
{% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %}
|
16
|
+
<time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %d, %Y at %I:%M %p" }}</time>
|
17
|
+
{% if include.index %}</a>{% endif %}
|
18
|
+
{% endif %}
|
19
|
+
</p>
|
20
|
+
<div itemprop="text">{{ include.message | markdownify }}</div>
|
21
|
+
</div>
|
22
|
+
</article>
|
@@ -0,0 +1,83 @@
|
|
1
|
+
{% if site.staticman.repository and site.staticman.branch %}
|
2
|
+
<div class="staticman-comments">
|
3
|
+
<div class="page__comments">
|
4
|
+
<!-- Start static comments -->
|
5
|
+
<div class="js-comments">
|
6
|
+
{% if site.data.comments[page.slug] %}
|
7
|
+
<h3 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h3>
|
8
|
+
{% assign comments = site.data.comments[page.slug] | sort %}
|
9
|
+
{% for comment in comments %}
|
10
|
+
{% assign email = comment[1].email %}
|
11
|
+
{% assign name = comment[1].name %}
|
12
|
+
{% assign url = comment[1].url %}
|
13
|
+
{% assign date = comment[1].date %}
|
14
|
+
{% assign message = comment[1].message %}
|
15
|
+
{% include staticman-comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
16
|
+
{% endfor %}
|
17
|
+
{% endif %}
|
18
|
+
</div>
|
19
|
+
<!-- End static comments -->
|
20
|
+
<!-- Start new comment form -->
|
21
|
+
<div class="page__comments-form">
|
22
|
+
<h3 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h3>
|
23
|
+
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
|
24
|
+
<form id="new_comment" class="page__comments-form js-form form" method="post">
|
25
|
+
<div class="form-group">
|
26
|
+
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label><br>
|
27
|
+
<textarea type="text" rows="12" cols="36" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
|
28
|
+
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
|
29
|
+
</div>
|
30
|
+
<div class="form-group">
|
31
|
+
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
|
32
|
+
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
|
33
|
+
</div>
|
34
|
+
<div class="form-group">
|
35
|
+
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
|
36
|
+
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
|
37
|
+
</div>
|
38
|
+
<div class="form-group">
|
39
|
+
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
|
40
|
+
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
|
41
|
+
</div>
|
42
|
+
<div class="form-group hidden" style="display: none;">
|
43
|
+
<input type="hidden" name="options[origin]" value="{{ page.url | absolute_url }}">
|
44
|
+
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
|
45
|
+
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
|
46
|
+
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
|
47
|
+
{% if site.staticman.reCaptcha.siteKey %}<input type="hidden" name="options[reCaptcha][siteKey]" value="{{ site.staticman.reCaptcha.siteKey }}">{% endif %}
|
48
|
+
{% if site.staticman.reCaptcha.secret %}<input type="hidden" name="options[reCaptcha][secret]" value="{{ site.staticman.reCaptcha.secret }}">{% endif %}
|
49
|
+
</div>
|
50
|
+
<!-- Start comment form alert messaging -->
|
51
|
+
<p class="hidden js-notice">
|
52
|
+
<strong class="js-notice-text-success hidden">{{ site.data.ui-text[site.locale].comment_success_msg | default: "Thanks for your comment! It will show on the site once it has been approved." }}</strong>
|
53
|
+
<strong class="js-notice-text-failure hidden">{{ site.data.ui-text[site.locale].comment_error_msg | default: "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again." }}</strong>
|
54
|
+
</p>
|
55
|
+
<!-- End comment form alert messaging -->
|
56
|
+
{% if site.staticman.reCaptcha.siteKey %}
|
57
|
+
<div class="form-group">
|
58
|
+
<div class="g-recaptcha" data-sitekey="{{ site.staticman.reCaptcha.siteKey }}"></div>
|
59
|
+
</div>
|
60
|
+
{% endif %}
|
61
|
+
<div class="form-group">
|
62
|
+
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
|
63
|
+
<button type="submit" id="comment-form-submitted" tabindex="5" class="btn btn--primary btn--large hidden" disabled>{{ site.data.ui-text[site.locale].comment_btn_submitted | default: "Submitted" }}</button>
|
64
|
+
</div>
|
65
|
+
</form>
|
66
|
+
</div>
|
67
|
+
<!-- End new comment form -->
|
68
|
+
<!-- Load reCaptcha if site key is set -->
|
69
|
+
{% if site.staticman.reCaptcha.siteKey %}
|
70
|
+
<script async src="https://www.google.com/recaptcha/api.js"></script>
|
71
|
+
{% endif %}
|
72
|
+
</div>
|
73
|
+
|
74
|
+
<!-- Load script to handle comment form submission -->
|
75
|
+
<!-- doing something a bit funky here because I want to be careful not to include JQuery twice! -->
|
76
|
+
<script>
|
77
|
+
if (typeof jQuery == 'undefined') {
|
78
|
+
document.write('<script src="{{ "/js/jquery-1.11.2.min.js" | relative_url }}"></scr' + 'ipt>');
|
79
|
+
}
|
80
|
+
</script>
|
81
|
+
<script src="{{ "/js/staticman.js" | relative_url }}"></script>
|
82
|
+
</div>
|
83
|
+
{% endif %}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{% if site.utterances.repository and site.utterances.issue-term %}
|
2
|
+
|
3
|
+
<script src="https://utteranc.es/client.js"
|
4
|
+
repo="{{ site.utterances.repository }}"
|
5
|
+
issue-term="{{ site.utterances.issue-term }}"
|
6
|
+
theme="{{ site.utterances.theme}}"
|
7
|
+
label="{{ site.utterances.label}}"
|
8
|
+
crossorigin="anonymous"
|
9
|
+
async>
|
10
|
+
</script>
|
11
|
+
|
12
|
+
{% endif %}
|
13
|
+
|
data/_layouts/base.html
CHANGED
@@ -4,7 +4,7 @@ common-css:
|
|
4
4
|
- "/assets/css/bootstrap-social.css"
|
5
5
|
- "/assets/css/main.css"
|
6
6
|
common-ext-css:
|
7
|
-
- "//
|
7
|
+
- "//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css"
|
8
8
|
common-googlefonts:
|
9
9
|
- "Lora:400,700,400italic,700italic"
|
10
10
|
- "Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800"
|
@@ -15,11 +15,13 @@ common-js:
|
|
15
15
|
---
|
16
16
|
|
17
17
|
<!DOCTYPE html>
|
18
|
-
<html lang="en">
|
18
|
+
<html lang="{{ page.language | default: site.language | default: 'en' }}">
|
19
19
|
<!-- Beautiful Jekyll | MIT license | Copyright Dean Attali 2016 -->
|
20
20
|
{% include head.html %}
|
21
21
|
|
22
22
|
<body>
|
23
|
+
|
24
|
+
{% include gtm_body.html %}
|
23
25
|
|
24
26
|
{% include nav.html %}
|
25
27
|
|
data/_layouts/default.html
CHANGED
data/_layouts/home.html
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
---
|
2
|
+
layout: page
|
3
|
+
---
|
4
|
+
|
5
|
+
{{ content }}
|
6
|
+
|
7
|
+
{% assign posts = paginator.posts | default: site.posts %}
|
8
|
+
|
9
|
+
<div class="posts-list">
|
10
|
+
{% for post in posts %}
|
11
|
+
<article class="post-preview">
|
12
|
+
<a href="{{ post.url | relative_url }}">
|
13
|
+
<h2 class="post-title">{{ post.title }}</h2>
|
14
|
+
|
15
|
+
{% if post.subtitle %}
|
16
|
+
<h3 class="post-subtitle">
|
17
|
+
{{ post.subtitle }}
|
18
|
+
</h3>
|
19
|
+
{% endif %}
|
20
|
+
</a>
|
21
|
+
|
22
|
+
<p class="post-meta">
|
23
|
+
{% assign date_format = site.date_format | default: "%B %-d, %Y" %}
|
24
|
+
Posted on {{ post.date | date: date_format }}
|
25
|
+
</p>
|
26
|
+
|
27
|
+
<div class="post-entry-container">
|
28
|
+
{% if post.image %}
|
29
|
+
<div class="post-image">
|
30
|
+
<a href="{{ post.url | relative_url }}">
|
31
|
+
<img src="{{ post.image | relative_url }}">
|
32
|
+
</a>
|
33
|
+
</div>
|
34
|
+
{% endif %}
|
35
|
+
<div class="post-entry">
|
36
|
+
{% assign excerpt_length = site.excerpt_length | default: 50 %}
|
37
|
+
{{ post.excerpt | strip_html | xml_escape | truncatewords: excerpt_length }}
|
38
|
+
{% assign excerpt_word_count = post.excerpt | number_of_words %}
|
39
|
+
{% if post.content != post.excerpt or excerpt_word_count > excerpt_length %}
|
40
|
+
<a href="{{ post.url | relative_url }}" class="post-read-more">[Read More]</a>
|
41
|
+
{% endif %}
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
{% if post.tags.size > 0 %}
|
46
|
+
<div class="blog-tags">
|
47
|
+
Tags:
|
48
|
+
{% if site.link-tags %}
|
49
|
+
{% for tag in post.tags %}
|
50
|
+
<a href="{{ '/tags' | relative_url }}#{{- tag -}}">{{- tag -}}</a>
|
51
|
+
{% endfor %}
|
52
|
+
{% else %}
|
53
|
+
{{ post.tags | join: ", " }}
|
54
|
+
{% endif %}
|
55
|
+
</div>
|
56
|
+
{% endif %}
|
57
|
+
|
58
|
+
</article>
|
59
|
+
{% endfor %}
|
60
|
+
</div>
|
61
|
+
|
62
|
+
{% if paginator.total_pages > 1 %}
|
63
|
+
<ul class="pager main-pager">
|
64
|
+
{% if paginator.previous_page %}
|
65
|
+
<li class="previous">
|
66
|
+
<a href="{{ paginator.previous_page_path | relative_url }}">← Newer Posts</a>
|
67
|
+
</li>
|
68
|
+
{% endif %}
|
69
|
+
{% if paginator.next_page %}
|
70
|
+
<li class="next">
|
71
|
+
<a href="{{ paginator.next_page_path | relative_url }}">Older Posts →</a>
|
72
|
+
</li>
|
73
|
+
{% endif %}
|
74
|
+
</ul>
|
75
|
+
{% endif %}
|
data/_layouts/minimal.html
CHANGED
@@ -8,7 +8,7 @@ common-js:
|
|
8
8
|
---
|
9
9
|
|
10
10
|
<!DOCTYPE html>
|
11
|
-
<html lang="en">
|
11
|
+
<html lang="{{ page.language | default: site.language | default: 'en' }}">
|
12
12
|
|
13
13
|
{% include head.html %}
|
14
14
|
|
@@ -19,8 +19,8 @@ common-js:
|
|
19
19
|
</div>
|
20
20
|
|
21
21
|
{% include footer-minimal.html %}
|
22
|
-
|
22
|
+
|
23
23
|
{% include footer-scripts.html %}
|
24
|
-
|
24
|
+
|
25
25
|
</body>
|
26
26
|
</html>
|
data/_layouts/page.html
CHANGED
@@ -8,11 +8,7 @@ layout: base
|
|
8
8
|
<div class="row">
|
9
9
|
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
10
10
|
{{ content }}
|
11
|
-
|
12
|
-
<div class="disqus-comments">
|
13
|
-
{% include disqus.html %}
|
14
|
-
</div>
|
15
|
-
{% endif %}
|
11
|
+
{% include comments.html %}
|
16
12
|
</div>
|
17
13
|
</div>
|
18
14
|
</div>
|
data/_layouts/post.html
CHANGED
@@ -8,6 +8,29 @@ layout: base
|
|
8
8
|
<div class="row">
|
9
9
|
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
10
10
|
|
11
|
+
{% if page.gh-repo %}
|
12
|
+
{% assign gh_split = page.gh-repo | split:'/' %}
|
13
|
+
{% assign gh_user = gh_split[0] %}
|
14
|
+
{% assign gh_repo = gh_split[1] %}
|
15
|
+
|
16
|
+
<div id="header-gh-btns">
|
17
|
+
{% if page.gh-badge.size > 0 %}
|
18
|
+
{% for badge in page.gh-badge %}
|
19
|
+
{% case badge %}
|
20
|
+
{% when 'star'%}
|
21
|
+
<iframe src="https://ghbtns.com/github-btn.html?user={{ gh_user }}&repo={{ gh_repo }}&type=star&count=true" frameborder="0" scrolling="0" width="120px" height="20px"></iframe>
|
22
|
+
{% when 'watch'%}
|
23
|
+
<iframe src="https://ghbtns.com/github-btn.html?user={{ gh_user }}&repo={{ gh_repo }}&type=watch&v=2&count=true" frameborder="0" scrolling="0" width="120px" height="20px"></iframe>
|
24
|
+
{% when 'fork'%}
|
25
|
+
<iframe src="https://ghbtns.com/github-btn.html?user={{ gh_user }}&repo={{ gh_repo }}&type=fork&count=true" frameborder="0" scrolling="0" width="120px" height="20px"></iframe>
|
26
|
+
{% when 'follow'%}
|
27
|
+
<iframe src="https://ghbtns.com/github-btn.html?user={{ gh_user }}&type=follow&count=true" frameborder="0" scrolling="0" width="220px" height="20px"></iframe>
|
28
|
+
{% endcase %}
|
29
|
+
{% endfor %}
|
30
|
+
{% endif %}
|
31
|
+
</div>
|
32
|
+
{% endif %}
|
33
|
+
|
11
34
|
<article role="main" class="blog-post">
|
12
35
|
{{ content }}
|
13
36
|
</article>
|
@@ -15,32 +38,33 @@ layout: base
|
|
15
38
|
{% if page.tags.size > 0 %}
|
16
39
|
<div class="blog-tags">
|
17
40
|
Tags:
|
18
|
-
{
|
41
|
+
{% if site.link-tags %}
|
42
|
+
{% for tag in page.tags %}
|
43
|
+
<a href="{{ '/tags' | relative_url }}#{{- tag -}}">{{- tag -}}</a>
|
44
|
+
{% endfor %}
|
45
|
+
{% else %}
|
46
|
+
{{ page.tags | join: ", " }}
|
47
|
+
{% endif %}
|
19
48
|
</div>
|
20
49
|
{% endif %}
|
21
50
|
|
22
|
-
{%
|
51
|
+
{% if page.social-share %}
|
23
52
|
{% include social-share.html %}
|
24
|
-
{%
|
53
|
+
{% endif %}
|
25
54
|
|
26
55
|
<ul class="pager blog-pager">
|
27
56
|
{% if page.previous.url %}
|
28
57
|
<li class="previous">
|
29
|
-
<a href="{{ page.previous.url |
|
58
|
+
<a href="{{ page.previous.url | relative_url }}" data-toggle="tooltip" data-placement="top" title="{{page.previous.title}}">← Previous Post</a>
|
30
59
|
</li>
|
31
60
|
{% endif %}
|
32
61
|
{% if page.next.url %}
|
33
62
|
<li class="next">
|
34
|
-
<a href="{{ page.next.url |
|
63
|
+
<a href="{{ page.next.url | relative_url }}" data-toggle="tooltip" data-placement="top" title="{{page.next.title}}">Next Post →</a>
|
35
64
|
</li>
|
36
65
|
{% endif %}
|
37
66
|
</ul>
|
38
|
-
|
39
|
-
{% unless page.comments == false %}
|
40
|
-
<div class="disqus-comments">
|
41
|
-
{% include disqus.html %}
|
42
|
-
</div>
|
43
|
-
{% endunless %}
|
67
|
+
{% include comments.html %}
|
44
68
|
</div>
|
45
69
|
</div>
|
46
70
|
</div>
|
data/assets/css/main.css
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
---
|
2
|
+
layout: null
|
3
|
+
---
|
4
|
+
|
1
5
|
@import url("pygment_highlights.css");
|
2
6
|
|
3
7
|
/* --- General --- */
|
@@ -7,26 +11,26 @@ body {
|
|
7
11
|
font-size: 18px;
|
8
12
|
color: #404040;
|
9
13
|
position: relative;
|
10
|
-
background: #
|
14
|
+
background-color: {{ site.page-col | default: "#FFFFFF" }};
|
15
|
+
{% if site.page-img %}
|
16
|
+
background-image: url({{ site.page-img | relative_url }});
|
17
|
+
background-attachment: fixed;
|
18
|
+
{% endif %}
|
11
19
|
}
|
12
20
|
p {
|
13
21
|
line-height: 1.5;
|
14
22
|
margin: 30px 0;
|
15
23
|
}
|
16
|
-
p a {
|
17
|
-
/* text-decoration: underline */
|
18
|
-
color: #008AFF;
|
19
|
-
}
|
20
24
|
h1,h2,h3,h4,h5,h6 {
|
21
25
|
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
22
26
|
font-weight: 800;
|
23
27
|
}
|
24
28
|
a {
|
25
|
-
color: #008AFF;
|
29
|
+
color: {{ site.link-col | default: "#008AFF" }};
|
26
30
|
}
|
27
31
|
a:hover,
|
28
32
|
a:focus {
|
29
|
-
color: #
|
33
|
+
color: {{ site.hover-col | default: "#0085A1" }};
|
30
34
|
}
|
31
35
|
blockquote {
|
32
36
|
color: #808080;
|
@@ -64,12 +68,12 @@ hr.small {
|
|
64
68
|
::-moz-selection {
|
65
69
|
color: white;
|
66
70
|
text-shadow: none;
|
67
|
-
background: #
|
71
|
+
background-color: {{ site.hover-col | default: "#0085A1" }};
|
68
72
|
}
|
69
73
|
::selection {
|
70
74
|
color: white;
|
71
75
|
text-shadow: none;
|
72
|
-
background: #
|
76
|
+
background-color: {{ site.hover-col | default: "#0085A1" }};
|
73
77
|
}
|
74
78
|
img::selection {
|
75
79
|
color: white;
|
@@ -94,12 +98,21 @@ img {
|
|
94
98
|
}
|
95
99
|
}
|
96
100
|
|
101
|
+
.linked-section {
|
102
|
+
padding-top: 60px;
|
103
|
+
margin-top: -25px;
|
104
|
+
}
|
105
|
+
|
97
106
|
/* --- Navbar --- */
|
98
107
|
|
99
108
|
.navbar-custom {
|
100
|
-
background: #F5F5F5;
|
109
|
+
background-color: {{ site.navbar-col | default: "#F5F5F5" }};
|
101
110
|
border-bottom: 1px solid #EAEAEA;
|
102
111
|
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
112
|
+
{% if site.navbar-img %}
|
113
|
+
background-image: url({{ site.navbar-img | relative_url }});
|
114
|
+
background-attachment: fixed;
|
115
|
+
{% endif %}
|
103
116
|
}
|
104
117
|
|
105
118
|
.navbar-custom .nav li a {
|
@@ -111,21 +124,21 @@ img {
|
|
111
124
|
.navbar-custom .navbar-brand,
|
112
125
|
.navbar-custom .nav li a {
|
113
126
|
font-weight: 800;
|
114
|
-
color: #404040;
|
127
|
+
color: {{ site.navbar-text-col | default: "#404040" }};
|
115
128
|
}
|
116
129
|
|
117
130
|
.navbar-custom .navbar-brand:hover,
|
118
131
|
.navbar-custom .navbar-brand:focus ,
|
119
132
|
.navbar-custom .nav li a:hover,
|
120
133
|
.navbar-custom .nav li a:focus {
|
121
|
-
color: #
|
134
|
+
color: {{ site.hover-col | default: "#0085A1" }};
|
122
135
|
}
|
123
136
|
|
124
137
|
.navbar-custom .navbar-brand-logo {
|
125
138
|
padding-top: 0;
|
126
139
|
-webkit-transition: padding .5s ease-in-out;
|
127
140
|
-moz-transition: padding .5s ease-in-out;
|
128
|
-
transition: padding .5s ease-in-out;
|
141
|
+
transition: padding .5s ease-in-out;
|
129
142
|
}
|
130
143
|
.navbar-custom .navbar-brand-logo img {
|
131
144
|
height: 50px;
|
@@ -154,35 +167,31 @@ img {
|
|
154
167
|
}
|
155
168
|
|
156
169
|
.navbar-custom .avatar-container {
|
157
|
-
opacity: 1;
|
158
170
|
position: absolute;
|
159
|
-
-webkit-transition: opacity 0.5s ease-in-out;
|
160
|
-
-moz-transition: opacity 0.5s ease-in-out;
|
161
|
-
transition: opacity 0.5s ease-in-out;
|
162
171
|
left: 50%;
|
163
172
|
width: 50px;
|
164
173
|
margin-top: -25px;
|
165
174
|
}
|
166
|
-
.navbar-custom .avatar-container
|
175
|
+
.navbar-custom .avatar-container .avatar-img-border {
|
167
176
|
width: 100%;
|
168
|
-
border-radius: 50%;
|
169
|
-
margin-left: -50%;
|
170
177
|
display: inline-block;
|
178
|
+
margin-left: -50%;
|
179
|
+
{% unless site.round-avatar == false %}
|
180
|
+
border-radius: 50%;
|
171
181
|
box-shadow: 0 0 8px rgba(0, 0, 0, .8);
|
172
182
|
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .8);
|
173
183
|
-moz-box-shadow: 0 0 8px rgba(0, 0, 0, .8);
|
184
|
+
{% endunless %}
|
174
185
|
}
|
175
|
-
.navbar-custom .avatar-container
|
186
|
+
.navbar-custom .avatar-container .avatar-img {
|
176
187
|
width: 100%;
|
188
|
+
{% unless site.round-avatar == false %}
|
177
189
|
border-radius: 50%;
|
190
|
+
{% endunless %}
|
178
191
|
display: block;
|
179
192
|
}
|
180
193
|
|
181
|
-
.navbar-custom.top-nav-
|
182
|
-
opacity: 0;
|
183
|
-
}
|
184
|
-
|
185
|
-
.navbar-custom.top-nav-expanded .avatar-container {
|
194
|
+
.navbar-custom.top-nav-expanded .avatar-container {
|
186
195
|
display: none;
|
187
196
|
}
|
188
197
|
|
@@ -191,15 +200,17 @@ img {
|
|
191
200
|
width: 100px;
|
192
201
|
margin-top: -50px;
|
193
202
|
}
|
194
|
-
|
195
|
-
.navbar-custom .avatar-container
|
203
|
+
|
204
|
+
.navbar-custom .avatar-container .avatar-img-border {
|
196
205
|
width: 100%;
|
206
|
+
{% unless site.round-avatar == false %}
|
197
207
|
box-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
|
198
208
|
-webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
|
199
209
|
-moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
|
210
|
+
{% endunless %}
|
200
211
|
}
|
201
|
-
|
202
|
-
.navbar-custom .avatar-container
|
212
|
+
|
213
|
+
.navbar-custom .avatar-container .avatar-img {
|
203
214
|
width: 100%;
|
204
215
|
}
|
205
216
|
}
|
@@ -220,14 +231,14 @@ img {
|
|
220
231
|
display: block;
|
221
232
|
padding: 10px;
|
222
233
|
padding-left: 30px;
|
223
|
-
background: #
|
234
|
+
background-color: {{ site.navbar-children-col | default: "#F5F5F5" }};
|
224
235
|
text-decoration: none !important;
|
225
236
|
border-width: 0 1px 1px 1px;
|
226
237
|
font-weight: normal;
|
227
238
|
}
|
228
239
|
@media only screen and (max-width: 767px) {
|
229
240
|
.navbar-custom .nav .navlinks-container.show-children {
|
230
|
-
background:
|
241
|
+
background: rgba(0, 0, 0, 0.2);
|
231
242
|
}
|
232
243
|
.navbar-custom .nav .navlinks-container.show-children .navlinks-children {
|
233
244
|
display: block;
|
@@ -236,9 +247,9 @@ img {
|
|
236
247
|
@media only screen and (min-width: 768px) {
|
237
248
|
.navbar-custom .nav .navlinks-container {
|
238
249
|
text-align: center;
|
239
|
-
}
|
250
|
+
}
|
240
251
|
.navbar-custom .nav .navlinks-container:hover {
|
241
|
-
background:
|
252
|
+
background: rgba(0, 0, 0, 0.1);
|
242
253
|
}
|
243
254
|
.navbar-custom .nav .navlinks-container:hover .navlinks-children {
|
244
255
|
display: block;
|
@@ -257,14 +268,22 @@ img {
|
|
257
268
|
|
258
269
|
footer {
|
259
270
|
padding: 30px 0;
|
260
|
-
background: #F5F5F5;
|
261
271
|
border-top: 1px #EAEAEA solid;
|
262
272
|
margin-top: 50px;
|
263
273
|
font-size: 14px;
|
274
|
+
background-color: {{ site.footer-col | default: "#F5F5F5" }};
|
275
|
+
{% if site.footer-img %}
|
276
|
+
background-image: url({{ site.footer-img | relative_url }});
|
277
|
+
background-attachment: fixed;
|
278
|
+
{% endif %}
|
279
|
+
}
|
280
|
+
|
281
|
+
footer p.text-muted {
|
282
|
+
color: {{ site.footer-text-col | default: "#777777" }};
|
264
283
|
}
|
265
284
|
|
266
285
|
footer a {
|
267
|
-
color: #404040;
|
286
|
+
color: {{ site.footer-link-col | default: "#404040" }};
|
268
287
|
}
|
269
288
|
|
270
289
|
footer .list-inline {
|
@@ -272,7 +291,7 @@ footer .list-inline {
|
|
272
291
|
padding: 0;
|
273
292
|
}
|
274
293
|
footer .copyright {
|
275
|
-
font-family: Open Sans;
|
294
|
+
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
276
295
|
text-align: center;
|
277
296
|
margin-bottom: 0;
|
278
297
|
}
|
@@ -292,7 +311,7 @@ footer .theme-by {
|
|
292
311
|
font-size: 16px;
|
293
312
|
}
|
294
313
|
}
|
295
|
-
|
314
|
+
|
296
315
|
/* --- Post preview --- */
|
297
316
|
|
298
317
|
.post-preview {
|
@@ -318,7 +337,7 @@ footer .theme-by {
|
|
318
337
|
.post-preview a:focus,
|
319
338
|
.post-preview a:hover {
|
320
339
|
text-decoration: none;
|
321
|
-
color: #
|
340
|
+
color: {{ site.hover-col | default: "#0085A1" }};
|
322
341
|
}
|
323
342
|
|
324
343
|
.post-preview .post-title {
|
@@ -340,6 +359,28 @@ footer .theme-by {
|
|
340
359
|
.post-preview .post-entry {
|
341
360
|
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
342
361
|
}
|
362
|
+
.post-entry-container {
|
363
|
+
display: inline-block;
|
364
|
+
width: 100%;
|
365
|
+
}
|
366
|
+
.post-entry {
|
367
|
+
width: 100%;
|
368
|
+
}
|
369
|
+
.post-image {
|
370
|
+
float: right;
|
371
|
+
height: 192px;
|
372
|
+
width: 192px;
|
373
|
+
margin-top: -35px;
|
374
|
+
filter: grayscale(90%);
|
375
|
+
}
|
376
|
+
.post-image:hover {
|
377
|
+
filter: grayscale(0%);
|
378
|
+
}
|
379
|
+
.post-image img {
|
380
|
+
border-radius: 100px;
|
381
|
+
height: 192px;
|
382
|
+
width: 192px;
|
383
|
+
}
|
343
384
|
.post-preview .post-read-more {
|
344
385
|
font-weight: 800;
|
345
386
|
}
|
@@ -360,15 +401,15 @@ footer .theme-by {
|
|
360
401
|
}
|
361
402
|
|
362
403
|
.blog-tags a {
|
363
|
-
color: #008AFF;
|
404
|
+
color: {{ site.link-col | default: "#008AFF" }};
|
364
405
|
text-decoration: none;
|
365
406
|
padding: 0px 5px;
|
366
407
|
}
|
367
408
|
|
368
409
|
.blog-tags a:hover {
|
369
410
|
border-radius: 2px;
|
370
|
-
color: #
|
371
|
-
background-color: #
|
411
|
+
color: {{ site.hover-col | default: "#0085A1" }};
|
412
|
+
background-color: #EEE;
|
372
413
|
}
|
373
414
|
|
374
415
|
.post-preview .blog-tags {
|
@@ -382,6 +423,19 @@ footer .theme-by {
|
|
382
423
|
}
|
383
424
|
}
|
384
425
|
|
426
|
+
@media only screen and (max-width: 500px) {
|
427
|
+
.post-image, .post-image img {
|
428
|
+
height: 100px;
|
429
|
+
width: 100px;
|
430
|
+
}
|
431
|
+
|
432
|
+
.post-image {
|
433
|
+
width: 100%;
|
434
|
+
text-align: center;
|
435
|
+
margin-top: 0;
|
436
|
+
float: left;
|
437
|
+
}
|
438
|
+
}
|
385
439
|
/* --- Post and page headers --- */
|
386
440
|
|
387
441
|
.intro-header {
|
@@ -397,7 +451,7 @@ footer .theme-by {
|
|
397
451
|
margin-top: 51px; /* The small navbar is 50px tall + 1px border */
|
398
452
|
margin-bottom: 35px;
|
399
453
|
}
|
400
|
-
.intro-header.big-img
|
454
|
+
.intro-header.big-img .big-img-transition {
|
401
455
|
position: absolute;
|
402
456
|
width: 100%;
|
403
457
|
height: 100%;
|
@@ -468,12 +522,12 @@ footer .theme-by {
|
|
468
522
|
margin-top: 130px;
|
469
523
|
}
|
470
524
|
.intro-header.big-img {
|
471
|
-
margin-top: 91px;
|
472
|
-
}
|
525
|
+
margin-top: 91px; /* Full navbar is small navbar + 20px padding on each side when expanded */
|
526
|
+
}
|
473
527
|
.intro-header.big-img .page-heading,
|
474
|
-
.intro-header.big-img .post-heading
|
528
|
+
.intro-header.big-img .post-heading {
|
475
529
|
padding: 150px 0;
|
476
|
-
}
|
530
|
+
}
|
477
531
|
.intro-header .page-heading h1 {
|
478
532
|
font-size: 80px;
|
479
533
|
}
|
@@ -487,7 +541,7 @@ footer .theme-by {
|
|
487
541
|
|
488
542
|
.header-section.has-img .no-img {
|
489
543
|
margin-top: 0;
|
490
|
-
background: #FCFCFC;
|
544
|
+
background-color: #FCFCFC;
|
491
545
|
margin: 0 0 40px;
|
492
546
|
padding: 20px 0;
|
493
547
|
box-shadow: 0 0 5px #AAA;
|
@@ -510,9 +564,9 @@ footer .theme-by {
|
|
510
564
|
}
|
511
565
|
.header-section.has-img .big-img {
|
512
566
|
margin-bottom: 0;
|
513
|
-
}
|
514
|
-
}
|
515
|
-
@media only screen and (max-width: 325px) {
|
567
|
+
}
|
568
|
+
}
|
569
|
+
@media only screen and (max-width: 325px) {
|
516
570
|
.intro-header.big-img {
|
517
571
|
height: 200px;
|
518
572
|
}
|
@@ -529,6 +583,28 @@ footer .theme-by {
|
|
529
583
|
border-bottom-left-radius: 5px;
|
530
584
|
}
|
531
585
|
|
586
|
+
#header-gh-btns {
|
587
|
+
margin-bottom: 15px;
|
588
|
+
}
|
589
|
+
@media only screen and (max-width: 500px) {
|
590
|
+
#header-gh-btns > iframe {
|
591
|
+
display: block;
|
592
|
+
margin-bottom: 5px;
|
593
|
+
}
|
594
|
+
}
|
595
|
+
|
596
|
+
.reader-time {
|
597
|
+
display: inline-block;
|
598
|
+
}
|
599
|
+
@media (max-width: 767px) {
|
600
|
+
.reader-time {
|
601
|
+
display: block;
|
602
|
+
}
|
603
|
+
}
|
604
|
+
.reader-time .middot {
|
605
|
+
margin: 0 10px;
|
606
|
+
}
|
607
|
+
|
532
608
|
/* --- Pager --- */
|
533
609
|
|
534
610
|
.pager li a {
|
@@ -538,7 +614,7 @@ footer .theme-by {
|
|
538
614
|
font-weight: 800;
|
539
615
|
letter-spacing: 1px;
|
540
616
|
padding: 10px 5px;
|
541
|
-
background: #FFF;
|
617
|
+
background-color: #FFF;
|
542
618
|
border-radius: 0;
|
543
619
|
color: #404040;
|
544
620
|
}
|
@@ -550,8 +626,8 @@ footer .theme-by {
|
|
550
626
|
.pager li a:hover,
|
551
627
|
.pager li a:focus {
|
552
628
|
color: #FFF;
|
553
|
-
|
554
|
-
|
629
|
+
border: 1px solid {{ site.hover-col | default: "#0085A1" }};
|
630
|
+
background-color: {{ site.hover-col | default: "#0085A1" }};
|
555
631
|
}
|
556
632
|
|
557
633
|
.pager {
|
@@ -563,7 +639,7 @@ footer .theme-by {
|
|
563
639
|
}
|
564
640
|
|
565
641
|
@media only screen and (min-width: 768px) {
|
566
|
-
.pager.blog-pager
|
642
|
+
.pager.blog-pager {
|
567
643
|
margin-top: 10px;
|
568
644
|
}
|
569
645
|
}
|
@@ -610,34 +686,43 @@ pre {
|
|
610
686
|
font-size: 16px;
|
611
687
|
line-height: 1.5em;
|
612
688
|
}
|
613
|
-
pre
|
614
|
-
|
689
|
+
.highlight pre {
|
690
|
+
border: none;
|
691
|
+
background: none;
|
692
|
+
margin: 0;
|
615
693
|
}
|
616
|
-
|
617
|
-
background:
|
618
|
-
|
619
|
-
background-
|
620
|
-
background-
|
621
|
-
|
694
|
+
.highlight > pre {
|
695
|
+
background-image: linear-gradient(
|
696
|
+
rgba(0,0,0,0.06), rgba(0,0,0,0.06) 1.5em, rgba(0,0,0,0.03) 1.5em, rgba(0,0,0,0.03) 3em);
|
697
|
+
background-size: auto 3em;
|
698
|
+
background-position-y: 10px;
|
699
|
+
border: 1px solid rgba(0,0,0,0.1);
|
622
700
|
border-left: 7px solid #444;
|
623
701
|
}
|
624
|
-
|
625
|
-
td.gutter pre {
|
702
|
+
.highlight > pre:not([class~="highlight"]) { /* code block with line number */
|
626
703
|
padding: 0;
|
627
|
-
border: none;
|
628
|
-
background-color: #fff;
|
629
704
|
}
|
630
|
-
.highlight
|
705
|
+
.highlight table, .highlight tr, .highlight td { /* to be removed after fixing table styles */
|
706
|
+
border: none;
|
707
|
+
background: none;
|
631
708
|
padding: 0;
|
709
|
+
margin: 0;
|
632
710
|
}
|
633
|
-
|
634
|
-
|
635
|
-
border-style: solid;
|
636
|
-
border-color: #444;
|
711
|
+
.highlight pre.lineno {
|
712
|
+
color: rgba(0,0,0,0.3);
|
637
713
|
border-radius: 0;
|
714
|
+
border-right: 2px solid #444;
|
715
|
+
}
|
716
|
+
|
717
|
+
/* Make line numbers unselectable: excludes line numbers from copy-paste user ops */
|
718
|
+
.lineno {
|
719
|
+
-webkit-user-select: none;
|
720
|
+
-moz-user-select: none;
|
721
|
+
-ms-user-select: none;
|
722
|
+
user-select: none;
|
638
723
|
}
|
639
|
-
|
640
|
-
|
724
|
+
.lineno::selection, .lineno::-moz-selection {
|
725
|
+
background: none;
|
641
726
|
}
|
642
727
|
|
643
728
|
/* --- Social media sharing section --- */
|
@@ -645,3 +730,77 @@ td.gutter {
|
|
645
730
|
#social-share-section {
|
646
731
|
margin-bottom: 30px;
|
647
732
|
}
|
733
|
+
|
734
|
+
/* --- Notification boxes --- */
|
735
|
+
.box-note, .box-warning, .box-error, .box-success {
|
736
|
+
padding: 15px 15px 15px 10px;
|
737
|
+
margin: 20px 20px 20px 5px;
|
738
|
+
border: 1px solid #eee;
|
739
|
+
border-left-width: 5px;
|
740
|
+
border-radius: 5px 3px 3px 5px;
|
741
|
+
}
|
742
|
+
|
743
|
+
.box-note {
|
744
|
+
background-color: #eee;
|
745
|
+
border-left-color: #2980b9;
|
746
|
+
}
|
747
|
+
|
748
|
+
.box-warning {
|
749
|
+
background-color: #fdf5d4;
|
750
|
+
border-left-color: #f1c40f;
|
751
|
+
}
|
752
|
+
|
753
|
+
.box-error {
|
754
|
+
background-color: #f4dddb;
|
755
|
+
border-left-color: #c0392b;
|
756
|
+
}
|
757
|
+
|
758
|
+
.box-success {
|
759
|
+
background-color: #98FB98;
|
760
|
+
border-left-color: #3CB371;
|
761
|
+
}
|
762
|
+
|
763
|
+
/* Fix table border github gist snippets */
|
764
|
+
|
765
|
+
.gist, .gist-file table tr {
|
766
|
+
border: unset;
|
767
|
+
}
|
768
|
+
|
769
|
+
.gist, .gist-file table tr td {
|
770
|
+
border: unset;
|
771
|
+
}
|
772
|
+
|
773
|
+
/* Fix .navbar-toggle */
|
774
|
+
|
775
|
+
.navbar-default button.navbar-toggle:focus,
|
776
|
+
.navbar-default button.navbar-toggle:hover {
|
777
|
+
background-color: initial;
|
778
|
+
}
|
779
|
+
|
780
|
+
.navbar-default button.navbar-toggle[aria-expanded="true"] {
|
781
|
+
background-color: rgba(0, 0, 0, 0.2);
|
782
|
+
}
|
783
|
+
|
784
|
+
/* Tags page */
|
785
|
+
|
786
|
+
.tag-btn {
|
787
|
+
margin: 5px;
|
788
|
+
}
|
789
|
+
|
790
|
+
#full-tags-list {
|
791
|
+
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
792
|
+
}
|
793
|
+
|
794
|
+
#full-tags-list .tag-entry {
|
795
|
+
margin: 0 0 15px 25px;
|
796
|
+
}
|
797
|
+
|
798
|
+
#full-tags-list .tag-entry a {
|
799
|
+
font-size: 20px;
|
800
|
+
}
|
801
|
+
|
802
|
+
#full-tags-list .tag-entry .entry-date {
|
803
|
+
color: #808080;
|
804
|
+
font-style: italic;
|
805
|
+
font-size: 16px;
|
806
|
+
}
|