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.
Files changed (50) hide show
  1. checksums.yaml +5 -5
  2. data/404.html +13 -0
  3. data/{LICENSE.txt → LICENSE} +14 -5
  4. data/README.md +207 -203
  5. data/_data/ui-text.yml +494 -0
  6. data/_includes/comments.html +6 -0
  7. data/_includes/disqus.html +16 -14
  8. data/_includes/ext-css.html +7 -0
  9. data/_includes/ext-js.html +7 -0
  10. data/_includes/fb-comment.html +14 -0
  11. data/_includes/footer-minimal.html +6 -7
  12. data/_includes/footer-scripts.html +14 -16
  13. data/_includes/footer.html +23 -168
  14. data/_includes/google_analytics.html +13 -11
  15. data/_includes/gtag.html +11 -0
  16. data/_includes/gtm_body.html +6 -0
  17. data/_includes/gtm_head.html +9 -0
  18. data/_includes/head.html +41 -19
  19. data/_includes/header.html +37 -29
  20. data/_includes/matomo.html +17 -0
  21. data/_includes/nav.html +21 -23
  22. data/_includes/readtime.html +16 -0
  23. data/_includes/social-networks-links.html +207 -0
  24. data/_includes/social-share.html +25 -22
  25. data/_includes/staticman-comment.html +22 -0
  26. data/_includes/staticman-comments.html +83 -0
  27. data/_includes/utterances-comment.html +13 -0
  28. data/_layouts/base.html +4 -2
  29. data/_layouts/default.html +1 -1
  30. data/_layouts/home.html +75 -0
  31. data/_layouts/minimal.html +3 -3
  32. data/_layouts/page.html +1 -5
  33. data/_layouts/post.html +35 -11
  34. data/assets/css/main.css +233 -74
  35. data/assets/css/normalize.css +1 -1
  36. data/assets/css/pygment_highlights.css +0 -5
  37. data/assets/css/staticman.css +180 -0
  38. data/assets/img/404-southpark.jpg +0 -0
  39. data/assets/img/avatar-icon.png +0 -0
  40. data/assets/img/bgimage.png +0 -0
  41. data/assets/img/hello_world.jpeg +0 -0
  42. data/assets/img/install-steps.gif +0 -0
  43. data/assets/img/path.jpg +0 -0
  44. data/assets/js/main.js +21 -19
  45. data/assets/js/staticman.js +54 -0
  46. data/{assets/feed.xml → feed.xml} +8 -4
  47. data/tags.html +36 -0
  48. metadata +53 -17
  49. data/_includes/navbarlink.html +0 -16
  50. 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
+
@@ -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
- - "//maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css"
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
 
@@ -6,4 +6,4 @@ layout: base
6
6
 
7
7
  <div role="main" class="container">
8
8
  {{ content }}
9
- </div>
9
+ </div>
@@ -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&nbsp;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 }}">&larr; 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 &rarr;</a>
72
+ </li>
73
+ {% endif %}
74
+ </ul>
75
+ {% endif %}
@@ -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>
@@ -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
- {% if page.comments %}
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>
@@ -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
- {{ page.tags | join: ", " }}
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
- {% unless page.social-share == false %}
51
+ {% if page.social-share %}
23
52
  {% include social-share.html %}
24
- {% endunless %}
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 | replace: '//', '/' }}" data-toggle="tooltip" data-placement="top" title="{{page.previous.title}}">&larr; Previous Post</a>
58
+ <a href="{{ page.previous.url | relative_url }}" data-toggle="tooltip" data-placement="top" title="{{page.previous.title}}">&larr; 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 | replace: '//', '/' }}" data-toggle="tooltip" data-placement="top" title="{{page.next.title}}">Next Post &rarr;</a>
63
+ <a href="{{ page.next.url | relative_url }}" data-toggle="tooltip" data-placement="top" title="{{page.next.title}}">Next Post &rarr;</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>
@@ -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: #FFF;
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: #0085a1;
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: #0085a1;
71
+ background-color: {{ site.hover-col | default: "#0085A1" }};
68
72
  }
69
73
  ::selection {
70
74
  color: white;
71
75
  text-shadow: none;
72
- background: #0085a1;
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: #0085a1;
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 .avatar-img-border {
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 .avatar-img {
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-short .avatar-container{
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 .avatar-img-border {
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 .avatar-img {
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: #f5f5f5;
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: #eee;
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: #eee;
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: #0085a1;
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: #008AFF;
371
- background-color: #CCC;
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 .big-img-transition {
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; /* Full navbar is small navbar + 20px padding on each side when expanded */
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
- background: #0085a1;
554
- border: 1px solid #0085a1;
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 code {
614
- white-space: pre;
689
+ .highlight pre {
690
+ border: none;
691
+ background: none;
692
+ margin: 0;
615
693
  }
616
- pre.highlight, .highlight > pre, td.code pre {
617
- background: #FAFAFA;
618
- background-image: linear-gradient(#F9F9F9 50%, #FDFDFD 50%);
619
- background-repeat: repeat;
620
- background-size: 3em 3em;
621
- background-position: 0px 10px;
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
- code table, code table td, code table th, code table tbody, code table tr,
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 > pre {
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
- td.code pre {
634
- border-width: 0 0 0 2px;
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
- td.gutter {
640
- padding-top: 3px;
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
+ }