beautiful-jekyll-theme 1.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ }