jekyll-theme-editorial 1.0.1

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 (234) hide show
  1. checksums.yaml +7 -0
  2. data/404.html +6 -0
  3. data/LICENSE.txt +63 -0
  4. data/README.md +1213 -0
  5. data/_config.yml +306 -0
  6. data/_data/categories.yml +38 -0
  7. data/_data/comments/posts/amet-varius-aliquam/20200511110657-jimbob-hexagonpants.yml +8 -0
  8. data/_data/comments/posts/amet-varius-aliquam/20200513010934-isabella-roundtoes.yml +15 -0
  9. data/_data/comments/posts/amet-varius-aliquam/20200514191919-hakira-tusunaba.yaml +8 -0
  10. data/_data/comments/posts/amet-varius-aliquam/20200515235959-jimbob-hexagonpants.yml +8 -0
  11. data/_data/features.yml +15 -0
  12. data/_data/menus.yml +42 -0
  13. data/_data/scripts.yml +13 -0
  14. data/_data/social.yml +140 -0
  15. data/_data/tags.yml +50 -0
  16. data/_data/taxonomy.yml +87 -0
  17. data/_includes/404.html +20 -0
  18. data/_includes/archives_menu.html +61 -0
  19. data/_includes/article.html +47 -0
  20. data/_includes/articles.html +42 -0
  21. data/_includes/author.html +73 -0
  22. data/_includes/authors.html +21 -0
  23. data/_includes/authors_byline.html +63 -0
  24. data/_includes/banner.html +10 -0
  25. data/_includes/categories.html +15 -0
  26. data/_includes/comment.html +43 -0
  27. data/_includes/comment_form.html +43 -0
  28. data/_includes/comments.html +20 -0
  29. data/_includes/contact.html +42 -0
  30. data/_includes/custom_head.html +6 -0
  31. data/_includes/date_modified.html +6 -0
  32. data/_includes/disqus_comments.html +19 -0
  33. data/_includes/feature.html +7 -0
  34. data/_includes/features.html +10 -0
  35. data/_includes/footer.html +4 -0
  36. data/_includes/head.html +20 -0
  37. data/_includes/item_authors.html +27 -0
  38. data/_includes/item_date.html +32 -0
  39. data/_includes/item_image.html +30 -0
  40. data/_includes/list_item.html +12 -0
  41. data/_includes/menu.html +110 -0
  42. data/_includes/mini-posts.html +32 -0
  43. data/_includes/modal.html +12 -0
  44. data/_includes/more_button.html +3 -0
  45. data/_includes/newsletter_signup.html +22 -0
  46. data/_includes/page_header.html +77 -0
  47. data/_includes/pages.html +79 -0
  48. data/_includes/pagination.html +22 -0
  49. data/_includes/post_header.html +52 -0
  50. data/_includes/post_nav.html +14 -0
  51. data/_includes/posts.html +62 -0
  52. data/_includes/projects.html +90 -0
  53. data/_includes/responsive_banner.html +20 -0
  54. data/_includes/scripts.html +22 -0
  55. data/_includes/search.html +11 -0
  56. data/_includes/section_header.html +3 -0
  57. data/_includes/series.html +32 -0
  58. data/_includes/sidebar.html +11 -0
  59. data/_includes/signin_button.html +4 -0
  60. data/_includes/site_header.html +9 -0
  61. data/_includes/social_media.html +14 -0
  62. data/_includes/social_media_list.html +14 -0
  63. data/_includes/submenu.html +25 -0
  64. data/_includes/tags.html +15 -0
  65. data/_layouts/archive.html +32 -0
  66. data/_layouts/author.html +19 -0
  67. data/_layouts/category.html +23 -0
  68. data/_layouts/default.html +29 -0
  69. data/_layouts/home.html +6 -0
  70. data/_layouts/page.html +16 -0
  71. data/_layouts/post.html +35 -0
  72. data/_layouts/project.html +24 -0
  73. data/_layouts/tag.html +23 -0
  74. data/_pages/about.md +37 -0
  75. data/_pages/archives.html +134 -0
  76. data/_pages/categories.html +94 -0
  77. data/_pages/elements.html +403 -0
  78. data/_pages/people.html +26 -0
  79. data/_pages/posts.html +11 -0
  80. data/_pages/privacy.md +52 -0
  81. data/_pages/projects.html +9 -0
  82. data/_pages/signin.md +31 -0
  83. data/_pages/tags.html +133 -0
  84. data/_pages/terms.md +44 -0
  85. data/_people/augustus.md +27 -0
  86. data/_people/aurelius.md +29 -0
  87. data/_people/julia.md +36 -0
  88. data/_people/petunia.md +26 -0
  89. data/_posts/2020-01-01-Interdum-aenean.md +47 -0
  90. data/_posts/2020-01-02-mulla-amet-dolore.md +38 -0
  91. data/_posts/2020-01-03-tempus-ullamcorper.md +122 -0
  92. data/_posts/2020-01-04-feugiat-lorem-aenean.md +35 -0
  93. data/_posts/2020-01-04-sed-etiam-facilis.md +72 -0
  94. data/_posts/2020-02-01-amet-varius-aliquam.md +27 -0
  95. data/_posts/2020-02-03-cranky-polar-bears-play-hooky-from-fishing-school.md +35 -0
  96. data/_posts/2020-02-07-high-septon-or-should-we-all-just-go-marching-along.md +43 -0
  97. data/_posts/2020-02-14-stupid-computers-and-the-games-they-play-with-our-emotions.md +30 -0
  98. data/_posts/2020-02-28-look-at-my-great-tatoos-everybody.md +31 -0
  99. data/_projects/feugiat_valley.md +32 -0
  100. data/_projects/ipsum_flats.md +42 -0
  101. data/_projects/lorem_heights.md +36 -0
  102. data/_projects/tempus_hills.md +37 -0
  103. data/_samples/page-template.md +48 -0
  104. data/_samples/people-template.md +51 -0
  105. data/_samples/post-template.md +38 -0
  106. data/_samples/project-template.md +47 -0
  107. data/_sass/base/_page.scss +42 -0
  108. data/_sass/base/_reset.scss +70 -0
  109. data/_sass/base/_typography.scss +186 -0
  110. data/_sass/components/_actions.scss +57 -0
  111. data/_sass/components/_box.scss +20 -0
  112. data/_sass/components/_button.scss +79 -0
  113. data/_sass/components/_contact.scss +41 -0
  114. data/_sass/components/_features.scss +150 -0
  115. data/_sass/components/_form.scss +173 -0
  116. data/_sass/components/_icon.scss +27 -0
  117. data/_sass/components/_icons.scss +24 -0
  118. data/_sass/components/_image.scss +68 -0
  119. data/_sass/components/_list.scss +50 -0
  120. data/_sass/components/_mini-posts.scss +25 -0
  121. data/_sass/components/_pagination.scss +64 -0
  122. data/_sass/components/_posts.scss +173 -0
  123. data/_sass/components/_row.scss +25 -0
  124. data/_sass/components/_section.scss +39 -0
  125. data/_sass/components/_table.scss +75 -0
  126. data/_sass/layout/_banner.scss +69 -0
  127. data/_sass/layout/_footer.scss +12 -0
  128. data/_sass/layout/_header.scss +54 -0
  129. data/_sass/layout/_main.scss +67 -0
  130. data/_sass/layout/_menu.scss +92 -0
  131. data/_sass/layout/_sidebar.scss +217 -0
  132. data/_sass/layout/_wrapper.scss +7 -0
  133. data/_sass/libs/_breakpoints.scss +223 -0
  134. data/_sass/libs/_functions.scss +90 -0
  135. data/_sass/libs/_html-grid.scss +149 -0
  136. data/_sass/libs/_mixins.scss +78 -0
  137. data/_sass/libs/_vars.scss +44 -0
  138. data/_sass/libs/_vendor.scss +376 -0
  139. data/_sass/main.scss +61 -0
  140. data/assets/css/fontawesome-all.min.css +7 -0
  141. data/assets/css/fonts.css +140 -0
  142. data/assets/css/github.css +61 -0
  143. data/assets/css/main.css +2276 -0
  144. data/assets/css/user.css +640 -0
  145. data/assets/images/logo.png +0 -0
  146. data/assets/images/pic01-thumb.jpg +0 -0
  147. data/assets/images/pic01.jpg +0 -0
  148. data/assets/images/pic02.jpg +0 -0
  149. data/assets/images/pic03-thumb.jpg +0 -0
  150. data/assets/images/pic03.jpg +0 -0
  151. data/assets/images/pic04.jpg +0 -0
  152. data/assets/images/pic05-avatar.jpg +0 -0
  153. data/assets/images/pic05-thumb.jpg +0 -0
  154. data/assets/images/pic05.jpg +0 -0
  155. data/assets/images/pic06.jpg +0 -0
  156. data/assets/images/pic07.jpg +0 -0
  157. data/assets/images/pic08.jpg +0 -0
  158. data/assets/images/pic09.jpg +0 -0
  159. data/assets/images/pic10.jpg +0 -0
  160. data/assets/images/pic11.jpg +0 -0
  161. data/assets/images/placeholder.png +0 -0
  162. data/assets/js/breakpoints.min.js +2 -0
  163. data/assets/js/browser.min.js +2 -0
  164. data/assets/js/comments.js +189 -0
  165. data/assets/js/email-obfuscation.js +54 -0
  166. data/assets/js/jquery.min.js +2 -0
  167. data/assets/js/main.js +263 -0
  168. data/assets/js/util.js +592 -0
  169. data/assets/webfonts/OpenSans-Bold.eot +0 -0
  170. data/assets/webfonts/OpenSans-Bold.svg +21062 -0
  171. data/assets/webfonts/OpenSans-Bold.ttf +0 -0
  172. data/assets/webfonts/OpenSans-Bold.woff +0 -0
  173. data/assets/webfonts/OpenSans-BoldItalic.eot +0 -0
  174. data/assets/webfonts/OpenSans-BoldItalic.svg +21121 -0
  175. data/assets/webfonts/OpenSans-BoldItalic.ttf +0 -0
  176. data/assets/webfonts/OpenSans-BoldItalic.woff +0 -0
  177. data/assets/webfonts/OpenSans-Italic.eot +0 -0
  178. data/assets/webfonts/OpenSans-Italic.svg +21164 -0
  179. data/assets/webfonts/OpenSans-Italic.ttf +0 -0
  180. data/assets/webfonts/OpenSans-Italic.woff +0 -0
  181. data/assets/webfonts/OpenSans-Light.eot +0 -0
  182. data/assets/webfonts/OpenSans-Light.svg +21034 -0
  183. data/assets/webfonts/OpenSans-Light.ttf +0 -0
  184. data/assets/webfonts/OpenSans-Light.woff +0 -0
  185. data/assets/webfonts/OpenSans-LightItalic.eot +0 -0
  186. data/assets/webfonts/OpenSans-LightItalic.svg +21161 -0
  187. data/assets/webfonts/OpenSans-LightItalic.ttf +0 -0
  188. data/assets/webfonts/OpenSans-LightItalic.woff +0 -0
  189. data/assets/webfonts/OpenSans-Regular.eot +0 -0
  190. data/assets/webfonts/OpenSans-Regular.svg +21064 -0
  191. data/assets/webfonts/OpenSans-Regular.ttf +0 -0
  192. data/assets/webfonts/OpenSans-Regular.woff +0 -0
  193. data/assets/webfonts/OpenSans-SemiBold.eot +0 -0
  194. data/assets/webfonts/OpenSans-SemiBold.svg +21055 -0
  195. data/assets/webfonts/OpenSans-SemiBold.ttf +0 -0
  196. data/assets/webfonts/OpenSans-SemiBold.woff +0 -0
  197. data/assets/webfonts/OpenSans-SemiBoldItalic.eot +0 -0
  198. data/assets/webfonts/OpenSans-SemiBoldItalic.svg +21154 -0
  199. data/assets/webfonts/OpenSans-SemiBoldItalic.ttf +0 -0
  200. data/assets/webfonts/OpenSans-SemiBoldItalic.woff +0 -0
  201. data/assets/webfonts/RobotoSlab-Bold.eot +0 -0
  202. data/assets/webfonts/RobotoSlab-Bold.svg +334 -0
  203. data/assets/webfonts/RobotoSlab-Bold.ttf +0 -0
  204. data/assets/webfonts/RobotoSlab-Bold.woff +0 -0
  205. data/assets/webfonts/RobotoSlab-Bold.woff2 +0 -0
  206. data/assets/webfonts/RobotoSlab-Regular +0 -0
  207. data/assets/webfonts/RobotoSlab-Regular.svg +337 -0
  208. data/assets/webfonts/RobotoSlab-Regular.ttf +0 -0
  209. data/assets/webfonts/RobotoSlab-Regular.woff +0 -0
  210. data/assets/webfonts/RobotoSlab-Regular.woff2 +0 -0
  211. data/assets/webfonts/fa-brands-400.eot +0 -0
  212. data/assets/webfonts/fa-brands-400.svg +3633 -0
  213. data/assets/webfonts/fa-brands-400.ttf +0 -0
  214. data/assets/webfonts/fa-brands-400.woff +0 -0
  215. data/assets/webfonts/fa-brands-400.woff2 +0 -0
  216. data/assets/webfonts/fa-regular-400.eot +0 -0
  217. data/assets/webfonts/fa-regular-400.svg +803 -0
  218. data/assets/webfonts/fa-regular-400.ttf +0 -0
  219. data/assets/webfonts/fa-regular-400.woff +0 -0
  220. data/assets/webfonts/fa-regular-400.woff2 +0 -0
  221. data/assets/webfonts/fa-solid-900.eot +0 -0
  222. data/assets/webfonts/fa-solid-900.svg +5000 -0
  223. data/assets/webfonts/fa-solid-900.ttf +0 -0
  224. data/assets/webfonts/fa-solid-900.woff +0 -0
  225. data/assets/webfonts/fa-solid-900.woff2 +0 -0
  226. data/favicon-apple-touch-114.png +0 -0
  227. data/favicon-apple-touch-144.png +0 -0
  228. data/favicon.icns +0 -0
  229. data/favicon.ico +0 -0
  230. data/favicon.png +0 -0
  231. data/index.md +28 -0
  232. data/robots.txt +8 -0
  233. data/staticman.yml +109 -0
  234. metadata +347 -0
@@ -0,0 +1,73 @@
1
+ {%-comment-%}
2
+ inputs:
3
+ include.url: override the author's displayed url
4
+ include.name: override the author's displayed name
5
+ include.image: override the author's displayed image
6
+ include.handle: override the author's displayed handle
7
+ include.position: override the author's displayed position
8
+ include.excerpt: override the author's displayed excerpt
9
+ include.show_social: boolean for whether to show social icon links or not
10
+ include.show_next: boolean for whether to show the next post line or not
11
+ dependencies:
12
+ site.posts: used to find `next_post` by author
13
+ local:
14
+ authored: calculated boolean that determines <article> layout
15
+ author the author object to render
16
+ auth the author's handle, included only on authored pages;
17
+ `auth` also determines the `authored` boolean value
18
+ {%-endcomment-%}
19
+ {%-assign peeps = site.collections | find: "label", 'people'-%}
20
+ {%-assign next_post = site.posts | find_exp: 'item', "item.author contains auth and item.url != page.url" %}
21
+ {%-assign authored = !!auth-%}
22
+ {%-if include.show_next == false %-}{%-assign show_next = false-%}{%-else-%}{%-assign show_next = true-%}{%-endif-%}
23
+ {%-if include.show_social == false %-}{%-assign show_social = false-%}{%-else-%}{%-assign show_social = true-%}{%-endif-%}
24
+ <!-- Author - {{ author.handle | default: auth }} -->
25
+ <article id="{{-author.handle | default: auth-}}" class="h-card author-card row gtr-100 gtr-uniform"{%-if authored %} itemid="{{-author.url | absolute_url-}}" itemprop="author" itemscope itemtype="http://schema.org/Person"{% endif-%}>
26
+ <figure class="image {%-unless authored %} col-4 col-12-small{%-endunless-%}">
27
+ {%-if author.published and site.show.authors and include.url or author.url %}
28
+ <a href="{{-include.url | default: author.url-}}"{%-if authored %} rel="author"{%-endif %} class="image fit u-url" title="Read more about {{-include.name | default: author.name | split: ' ' | first-}}">
29
+ <img src="{{-author.image_path-}}{{-include.image | default: author.images.thumbnail.file | default: author.images.default.file | default: author.image | default: 'placeholder.png'-}}" itemprop="thumbnail" class="u-photo" title="{{-author.images.thumbnail.title | default: author.images.default.title | default: author.images.title | default: author.image_title-}}" alt="{{-author.images.thumbnail.alt_text | default: author.images.default.alt_text | default: author.images.alt_text | default: author.alt_text-}}"/>
30
+ </a>
31
+ {%-elsif author.published!=true and site.show.authors-%}
32
+ <img src="{{-site.image_path-}}{{-include.image | default: 'placeholder.png'-}}" itemprop="thumbnail" class="image fit u-photo" title="{{-include.image_title | default: 'Placeholder image'-}}" alt="{{-include.image_alt_text | default: 'Placeholder image of author'-}}"/>
33
+ {%-else-%}
34
+ <img src="{{-site.image_path-}}{{-include.image | default: author.images.thumbnail.file | default: author.images.default.file | default: author.image | default: 'placeholder.png'-}}" itemprop="thumbnail" class="image fit u-photo" title="{{-author.images.thumbnail.title | default: author.images.default.title | default: author.images.title | default: author.image_title-}}" alt="{{-author.images.thumbnail.alt_text | default: author.images.default.alt_text | default: author.images.alt_text | default: author.alt_text-}}"/>
35
+ {%-endif %}
36
+ {%-if author.series and author.published %}
37
+ <div class="snug series" style="margin-top: -1.5em;" title="This author is part of a group">{{ author.series | replace: '-',' ' | split: " " | join: "-----" | camelcase | split: "-----" | join: " "-}}</div>
38
+ {%-endif %}
39
+ </figure>
40
+ <div{%-unless authored %} class="col-8 col-12-small"{%-endunless-%}>
41
+ {%-if show_social and author.social %}
42
+ {% include social_media.html %}
43
+ {%-endif %}
44
+ <header>
45
+ <h3>
46
+ {%-if author.published and peeps.output and site.show.authors and include.url or author.url-%}
47
+ <a href="{{-author.url-}}"{%-if authored %} rel="author"{%-endif %} class="{%-if authored-%}p-author {% endif-%}p-name u-url"{%-if authored %} itemprop="name"{%-endif %} title="Read more about {{ include.name | default: author.name | split: ' ' | first-}}">{{-include.name | default: author.name | default: auth }} <span class="header-aside">| {{ include.handle | default: author.handle-}}</span></a>
48
+ {%-elsif author.published != true and site.show.authors-%}
49
+ <span class="{%-if authored-%}p-author {% endif-%}p-name"{%-if authored %} itemprop="name"{%-endif-%}>{{ include.handle | default: author.handle | default: auth-}}</span>
50
+ {%-else-%}
51
+ <span class="{%-if authored-%}p-author {% endif-%}p-name"{%-if authored %} itemprop="name"{%-endif-%}>{{-include.name | default: author.name | default: auth | split: " " | join: "-----" | camelcase | split: "-----" | join: " "-}}</span>
52
+ {%-endif-%}
53
+ </h3>
54
+ {%-if author.published %}
55
+ <p class="header-subtitle" itemprop="jobTitle">{{-include.position | default: author.position-}}</p>
56
+ {%-endif %}
57
+ </header>
58
+ {%-comment-%}BUG: can't add class p-summary/p-note to generated <p> tag, e.g., {:.p-note}{%-endcomment %}
59
+ <div class="p-summary p-note" itemprop="abstract">
60
+ {%-if author.published and site.show.authors-%}
61
+ {{ include.excerpt | default: author.excerpt }}
62
+ {%-else-%}
63
+ {{ include.excerpt | default: author.summary | default: page.author_bio }}
64
+ {%-endif-%}
65
+ {%-if show_next and next_post %}
66
+ <span> More by {{ include.name | default: author.name | split: ' ' | first | default: auth | capitalize-}}:
67
+ <a href="{{-next_post.url-}}" title="Read '{{-next_post.title-}}'">{{-next_post.title-}}</a>
68
+ {% include item_date.html lead_in='on ' item_date=next_post.date hide_schema=true %}
69
+ </span>
70
+ {%-endif %}
71
+ </div>
72
+ </div>
73
+ </article>
@@ -0,0 +1,21 @@
1
+ <!-- Authors -->
2
+ <section class="authors">
3
+ {%-if include.section_title %}
4
+ <header class="section-header">
5
+ <h3>{{-include.section_title | default: "&nbsp;"-}}</h3>
6
+ </header>
7
+ {%-else %}
8
+ <hr class="sigil"/>
9
+ {%-endif %}
10
+ {%-for auth in page.author %}
11
+ {%-assign author = site.people | find: 'handle', auth-%}
12
+ {%-if author.published %}
13
+ {% include author.html %}
14
+ {%-else-%}
15
+ {% include author.html excerpt=page.author_bio %}
16
+ {%-endif %}
17
+ {% unless forloop.last %}<hr class="compact"/>{% endunless %}
18
+ {%-else-%}
19
+ {{ site.title }}
20
+ {%-endfor %}
21
+ </section>
@@ -0,0 +1,63 @@
1
+ {%-comment-%}
2
+ inputs:
3
+ include.author: optional array of author handles to look up in the site.people collection, with which to create an unordered list
4
+ dependencies:
5
+ site.people: people collection with `[handle, published, name, url]` elements to populate list elements
6
+ site.title: default `author` if otherwise not specified or available
7
+ site.collections: used to determine if the people collection is set to be output on the site
8
+ site.show.authors
9
+ site.show.post_authors
10
+ site.show.project_authors
11
+ site.show.page_authors
12
+ page.type
13
+ page.author
14
+ page.show_authors
15
+ local:
16
+ peeps: the sites's people collection, for determining whether author pages are rendered (`output`) or not
17
+ authors: array of author handles, either from `include.author` or `page.author`
18
+ show_authors: should authors be shown, based on site configuration?
19
+ has_author_cards: does the page include author cards?
20
+ {%-endcomment-%}
21
+
22
+ {%-assign authors = include.author | default: page.author-%}
23
+ {%-assign peeps = site.collections | find: "label", 'people'-%}
24
+
25
+ {%-if site.show.post_authors and page.type=="posts"-%}
26
+ {%-assign show_authors = true-%}
27
+ {%-assign has_author_cards = true-%}
28
+ {%-elsif site.show.project_authors and page.type=="projects"-%}
29
+ {%-assign show_authors = true-%}
30
+ {%-assign has_author_cards = true-%}
31
+ {%-elsif site.show.page_authors and page.type=="pages"-%}
32
+ {%-if page.show_authors == true-%}
33
+ {%-assign show_authors = true-%}
34
+ {%-else-%}
35
+ {%-assign show_authors = false-%}
36
+ {%-endif-%}
37
+ {%-assign has_author_cards = false-%}
38
+ {%-else-%}
39
+ {%-assign show_authors = false-%}
40
+ {%-assign has_author_cards = false-%}
41
+ {%-endif-%}
42
+
43
+ {%-if site.show.authors and show_authors-%}
44
+ <ul class="inline csv authors">
45
+ {%-for slug in authors-%}
46
+ {%-assign author = site.people | find: 'handle', slug-%}
47
+ {%-assign author_name = author.name | default: slug-%}
48
+ {%-if author.published and has_author_cards %}
49
+ <li><a href="#{{-author.handle-}}" class="p-author" title="Read {{ author.handle-}}'s excerpt below">{{-author_name-}}</a></li>
50
+ {%-elsif author.published and peeps.output-%}
51
+ <li><a href="{{-author.url-}}" rel="author" class="p-author u-author" title="Read {{ author.handle-}}'s bio">{{-author_name-}}</a></li>
52
+ {%-elsif author.published-%}
53
+ <li class="p-author">{{-author_name-}}</li>
54
+ {%-elsif has_author_cards %}
55
+ <li><a href="#{{-slug-}}" class="p-author" title="Read {{ slug-}}'s excerpt below">{{-slug-}}</a></li>
56
+ {%-else-%}
57
+ <li class="p-author">{{-slug-}}</li>
58
+ {%-endif-%}
59
+ {%-else-%}
60
+ <li class="p-author">{{-site.title-}}</li>
61
+ {%-endfor %}
62
+ </ul>
63
+ {%-endif %}
@@ -0,0 +1,10 @@
1
+ {%-assign static_file_names = site.static_files | map: 'name'-%}
2
+ {%-if static_file_names contains page.image or static_file_names contains page.images.banner.file or static_file_names contains page.images.default.file or static_file_names contains page.images.file %}
3
+ <!-- Banner Image -->
4
+ <figure class="image main">
5
+ <img src="{{-page.image_path-}}{{-page.image | default: page.images.banner.file | default: page.images.default.file-}}" title="{{-page.images.banner.title | default: page.images.default.title | default: page.images.title | default: page.image_title-}}" alt="{{-page.images.banner.alt_text | default: page.images.default.alt_text | default: page.images.alt_text | default: page.alt_text-}}"/>
6
+ {%-if page.caption or page.images.banner.caption or page.images.default.caption or page.images.caption or page.caption %}
7
+ <figcaption>{{-page.images.banner.caption | default: page.images.default.caption | default: page.images.caption | default: page.caption | markdownify-}}</figcaption>
8
+ {%-endif %}
9
+ </figure>
10
+ {%-endif %}
@@ -0,0 +1,15 @@
1
+ {%-if site.plugins contains 'jekyll-archives'-%}{%-assign archives_available = true-%}{%-else-%}{%-assign archives_available = false-%}{%-endif-%}
2
+ {%-assign categories = post.categories | default: project.categories | default: pg.categories | default: item.categories | default: page.categories-%}
3
+ {%-assign include_category_links = "posts" | split: ', '-%}
4
+ {%-if categories.first and categories != empty %}
5
+ <!-- Categories -->
6
+ <ul class="{{-include.list_class | append: ' '-}}inline csv categories">
7
+ {%-for category in categories %}
8
+ {%-if archives_available and site.categories contains category or include_category_links contains page.collection %}
9
+ <li><a href="/categories/{{-category | slugify-}}" rel="tag" class="p-category" title="Articles filed under '{{-category | capitalize-}}'">{{-category | capitalize-}}</a></li>
10
+ {%-else-%}
11
+ <li class="p-category">{{-category | capitalize-}}</li>
12
+ {%-endif %}
13
+ {%-endfor %}
14
+ </ul>
15
+ {%-endif %}
@@ -0,0 +1,43 @@
1
+ {%-comment-%} determininng the admin should not be tied to name (or email address)--maybe use a secret site.comment_key? {%-endcomment-%}
2
+ {% assign comment_fragment = include.comment_fragment | append: "-" | append: forloop.index %}
3
+ {%-assign nesting = include.nesting | plus: 1 %}
4
+
5
+ <!-- {{ include.nesting }} - {{ comment_fragment }} -->
6
+ <article id="{{-comment_fragment-}}"
7
+ class="js-comment p-comment h-entry {%-if comment.name == site.author.name-%} admin{%-endif-%}{%-unless include.comment_fragment == 'comment' %} child{%-endunless-%}"
8
+ data-id="{{-comment._id-}}"{%-if comment.parent_id != empty %} data-parent-id="{{-comment.parent_id-}}"{%-endif-%}>
9
+ <header class="comment-meta">
10
+ <h3>
11
+ <span class="p-author h-card" itemprop="name">{{-comment.name-}}</span>
12
+ <span class="header-aside">
13
+ {%-if comment.date-%}
14
+ {%-if comment_fragment-%}
15
+ <a href="{{-page.url-}}#{{-comment_fragment-}}" class="u-url" title="Permalink to this comment">{% include item_date.html date_format='%-d %b %Y' date_class=' ' %}</a>
16
+ {%-else-%}
17
+ {% include item_date.html date_format='%-d %b %Y' date_class=' ' %}
18
+ {%-endif-%}
19
+ {%-endif-%}
20
+ </span>
21
+ </h3>
22
+ <a class="u-in-reply-to url" rel="in-reply-to" href="{{-page.url-}}{%-if comment.parent_fragment != empty-%}#{{-comment.parent_fragment-}}{%-endif-%}" hidden></a>
23
+ </header>
24
+ {% if site.comments.allow_markdown == true-%}
25
+ <section class="p-name e-content">
26
+ {{ comment.message | markdownify }}
27
+ </section>
28
+ {% else -%}
29
+ <section class="p-name p-content">
30
+ {{ comment.message }}
31
+ </section>
32
+ {%- endif %}
33
+ {%-if include.nesting < site.comments.max_nesting-%}
34
+ <div class="actions">
35
+ <a rel="nofollow" class="js-reply button small solid icon fa-reply">Reply</a>&nbsp; to {{ comment.name }}
36
+ </div>
37
+ {% assign replies = site.data.comments[page.type][page.slug] | where: "parent_id", comment._id-%}
38
+ {%-assign replies = replies | sort: 'date'-%}
39
+ {% for comment in replies %}
40
+ {% include comment.html comment_fragment=comment_fragment parent_id=comment._id nesting=nesting %}
41
+ {% endfor %}
42
+ {%-endif %}
43
+ </article>
@@ -0,0 +1,43 @@
1
+ <!-- Comment Form -->
2
+ <form name="comment-form" method="post" action="{{-site.staticman_url | default: site.comments.form_action-}}" class="js-form comment-form row gtr-uniform" autocomplete="off">
3
+ <input type="hidden" name="options[type]" value="{{-page.type-}}" />
4
+ <input type="hidden" name="options[slug]" value="{{-page.slug-}}" />
5
+ <input type="hidden" name="fields[parent_id]" value="" id="comment-parent-id" />
6
+ <input type="hidden" name="fields[page_url]" value="{{-page.url-}}" />
7
+ <input type="hidden" name="fields[parent_fragment]" value="" id="comment-parent-fragment" />
8
+
9
+ <div class="col-6 col-12-medium">
10
+ <label for="comment-body" class="col-12 col-12-small"><span class="float-right"><a href="#comment-form" id="cancel-comment-reply-link" rel="nofollow" class="button icon solid fa-ban" style="display:none;">cancel reply</a></span><h2>Add Comment</h2>
11
+ <textarea name="fields[message]" id="comment-body" rows="4" placeholder="{%-if site.comments.allow_markdown == true-%}Style your comments with markdown: **bold**, _italics_, * list items, etc.{%-else-%}Type in your comment here!{%-endif-%}" required></textarea>
12
+ </label>
13
+ </div>
14
+
15
+ <div class="col-6 col-12-medium">
16
+ <label for="comment-url" class="col-7 col-12-small">
17
+ <input type="text" id="comment-url" name="fields[url]" placeholder="Leave me empty, not even a space, unless you're malicious."/>
18
+ </label>
19
+
20
+ <label for="comment-name" class="col-7 col-12-small">Name
21
+ <input type="text" id="comment-name" name="fields[name]" placeholder="Your name" required/>
22
+ </label>
23
+
24
+ <label for="comment-email" class="col-7 col-12-small">E-mail
25
+ <input type="email" id="comment-email" name="fields[email]" placeholder="Your email (optional)"/>
26
+ </label>
27
+ </div>
28
+ <div class="col-7 col-12-small">
29
+ {% include modal.html %}
30
+ <button type="submit" class="button" id="comment-form-submit">Submit</button> <!-- id is for Spinner -->
31
+ </div>
32
+ <p>
33
+ <small>Comments are held for moderation. There will be a delay before they appear.<br>
34
+ {% if site.comments.allow_markdown == true-%}Comments may include <a href="https://kramdown.gettalong.org/syntax.html" rel="external nofollow"><strong>Markdown</strong></a>.<br>{%-endif %}
35
+ For private discussion:&nbsp;
36
+ {%-if site.contact.obfuscated_email and site.show.email_address-%}
37
+ <a href="[obfuscated]" data-code="{{-site.contact.obfuscated_email-}}" class="eml-protected" title="{{-site.comments.email_title | default: 'Send a message!'-}}">{{-site.comments.contact_text | default: "Send a message"-}}</a>.
38
+ {%-elsif site.email and site.show.email_address-%}
39
+ <a href="mailto:{{-site.email-}}" title="{{-site.comments.email_title | default: 'Send a message!'-}}">{{-site.comments.contact_text | default: "Send a message"-}}</a>.
40
+ {%-endif-%}
41
+ </small>
42
+ </p>
43
+ </form>
@@ -0,0 +1,20 @@
1
+ {%-if site.show.comments == true-%}
2
+ <!-- Section - Comments -->
3
+ <section class="comments h-feed p-comments">
4
+ {% assign comments = site.data.comments[page.type][page.slug]-%}
5
+ {%-if comments %}
6
+ <h2>Comments ({{-comments.size-}})</h2>
7
+ {%-assign comments = comments | where: "parent_id", ""-%}
8
+ {%-assign comments = comments | sort: 'date'-%}
9
+ {% for comment in comments-%}
10
+ {% include comment.html comment_fragment="comment" nesting=0 %}
11
+ {%-endfor %}
12
+ {%-else %}
13
+ <p class="box add-comment-message">{{ site.comments.add_comment_message | default: "Woohoo, looks like you'll be the first to comment!" }}</p>
14
+ {%-endif %}
15
+ <!-- Comment Form -->
16
+ <div id="comment-form">
17
+ {% include comment_form.html %}
18
+ </div>
19
+ </section> <!-- End Section - Comments -->
20
+ {%-endif %}
@@ -0,0 +1,42 @@
1
+ {%-assign title = site.contact.heading | default: "Contact"-%}
2
+ {%-assign message = site.contact.message | default: "Get in touch with us to start a conversation or to let us know about a bug on the site."-%}
3
+ {%-assign email_title = site.contact.email_title | default: 'Send us an email!'-%}
4
+ <!-- Section - Contact -->
5
+ <section id="contact-info" class="h-card">
6
+ <header class="major">
7
+ <h2>{{-title-}}</h2>
8
+ </header>
9
+ <p>{{-message-}}</p>
10
+ <data class="u-url" href="{{-'/' | absolute_url-}}" hidden></data>
11
+ {%-if site.contact.name-%}<data class="p-name" value="{{-site.contact.name-}}" hidden></data>{%-endif-%}
12
+ <ul class="contact">
13
+ {% if site.contact.obfuscated_email and site.show.email_address-%}
14
+ <li class="icon solid fa-envelope"><a href="[obfuscated]" data-code="{{-site.contact.obfuscated_email-}}" class="u-email eml-protected" title="{{-email_title-}}">[contact email]</a></li>
15
+ {% elsif site.email and site.show.email_address-%}
16
+ <li class="icon solid fa-envelope"><a href="mailto:{{-site.email-}}" class="u-email" title="{{-email_title-}}">{{-site.email-}}</a></li>
17
+ {%-endif-%}
18
+ {% if site.contact.phone-%}
19
+ <li class="icon solid fa-phone p-tel">{{-site.contact.phone-}}</li>
20
+ {%-endif-%}
21
+ {% if site.contact.address-%}
22
+ <li class="icon solid fa-home p-adr h-adr">
23
+ <address>
24
+ {% if site.contact.address.line1-%}
25
+ <span class="p-street-address">{{ site.contact.address.line1 }}</span><br />
26
+ {%-endif-%}
27
+ {% if site.contact.address.line2 or site.contact.address.line3-%}
28
+ <span class="p-extended-address">
29
+ {{-site.contact.address.line2 }}
30
+ {%-if site.contact.address.line3-%}{{ site.contact.address.line3 | prepend: "<br />" }}{%-endif-%}
31
+ </span><br />
32
+ {%-endif-%}
33
+ {% if site.contact.address.city or site.contact.address.state or site.contact.address.zipcode-%}
34
+ <span class="p-locality">{{ site.contact.address.city }}</span>
35
+ <span class="p-region">{{ site.contact.address.state }}</span>
36
+ <span class="p-postal-code">{{-site.contact.address.zipcode-}}</span><br />
37
+ {%-endif %}
38
+ </address>
39
+ </li>
40
+ {% endif-%}
41
+ </ul>
42
+ </section> <!-- End Section - Contact -->
@@ -0,0 +1,6 @@
1
+ {% comment %} (Cribbed from Minima)
2
+ Placeholder to allow defining custom head, including analytics; in principle, you can add anything here, e.g. favicons:
3
+
4
+ 1. Head over to https://realfavicongenerator.net/ to add your own favicons.
5
+ 2. Customize default _includes/custom-head.html in your source directory and insert the given code snippet.
6
+ {% endcomment %}
@@ -0,0 +1,6 @@
1
+ {%-assign dt_format = include.date_format | site.date_format | default: "%b %-d, %Y"-%}
2
+ {%-assign lead_in = include.lead_in | default: '<i class="far fa-edit"></i> &nbsp;'-%}
3
+ {%-assign date_modified = include.item_date | default: page.last_modified_at | default: page.modified_date | date_to_xmlschema-%}
4
+ {%-comment-%}{% include item_date.html item_date=modified_date date_format='%b %-d, %Y' lead_in='last modified: ' itemprop='dateModified' date_class='modified-dateline dt-modified' %}{%-endcomment-%}
5
+
6
+ {% include item_date.html item_date=date_modified date_format=dt_format lead_in=lead_in itemprop='dateModified' date_class='modified-dateline dt-modified' %}
@@ -0,0 +1,19 @@
1
+ {%-if page.disqus_comments != false and jekyll.environment == "production"-%}
2
+ <div id="disqus_thread"></div>
3
+ <script>
4
+ var disqus_config = function () {
5
+ this.page.url = '{{-page.url | absolute_url-}}';
6
+ this.page.identifier = '{{-page.url | absolute_url-}}';
7
+ };
8
+
9
+ (function() {
10
+ var d = document, s = d.createElement('script');
11
+
12
+ s.src = 'https://{{-site.disqus.shortname-}}.disqus.com/embed.js';
13
+
14
+ s.setAttribute('data-timestamp', +new Date());
15
+ (d.head || d.body).appendChild(s);
16
+ })();
17
+ </script>
18
+ <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
19
+ {%-endif-%}
@@ -0,0 +1,7 @@
1
+ <article>
2
+ <span class="icon {{ feature.icon-}}"></span>
3
+ <div class="content">
4
+ <h3>{{-feature.name-}}</h3>
5
+ <p>{{-feature.description-}}</p>
6
+ </div>
7
+ </article>
@@ -0,0 +1,10 @@
1
+ <section>
2
+ <header class="major">
3
+ <h2>{{ include.section_title | default: "Features" }}</h2>
4
+ </header>
5
+ <div class="features">
6
+ {%- for feature in site.data.features -%}
7
+ {% include feature.html %}
8
+ {%- endfor -%}
9
+ </div>
10
+ </section>
@@ -0,0 +1,4 @@
1
+ <!-- Footer -->
2
+ <footer id="footer">
3
+ <p class="copyright">&copy; {{ site.title-}}. All rights reserved. Demo Images: <a href="https://unsplash.com" rel="external">Unsplash</a>. Design: <a href="https://html5up.net" rel="external">HTML5 UP</a>. Jekyll integration: <a href="https://middlebear.org/" rel="external" title="Visit us at Middle Bear!">Middle Bear</a>. <br><a href="/terms" title="Go to our Terms of Use page">Terms of Use</a> | <a href="/privacy" title="Go to our Privacy Policy page">Privacy Policy</a></p>
4
+ </footer> <!-- End Footer -->
@@ -0,0 +1,20 @@
1
+ <!-- head -->
2
+ <meta charset="utf-8" />
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+ <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
5
+ <!--
6
+ <link rel="preload" href="assets/fonts/open_sans.woff2" as="font" type="font/woff2" crossorigin>
7
+ <link rel="preload" href="assets/fonts/roboto_slab.woff2" as="font" type="font/woff2" crossorigin>
8
+ -->
9
+ <link rel="apple-touch-icon-precomposed" sizes="57x57" href="/favicon-apple-touch-114.png">
10
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/favicon-apple-touch-114.png">
11
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/favicon-apple-touch-144.png">
12
+ <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/favicon-apple-touch-144.png">
13
+ <link rel="icon" type="image/vnd.microsoft.icon" sizes="32x32 48x48" href="/favicon.ico">
14
+ <link rel="icon" sizes="128x128" href="/favicon.icns">
15
+ <link rel="icon" href="/favicon.png" type="image/x-icon">
16
+ <link rel="stylesheet" href="{{-site.style_path-}}main.css" />
17
+ <link rel="stylesheet" href="{{-site.style_path-}}user.css" />
18
+ {%-include custom_head.html %}
19
+ {% feed_meta %}
20
+ {% seo-%}
@@ -0,0 +1,27 @@
1
+ {%-comment-%}
2
+ inputs:
3
+ authors the author array to render
4
+ item_type [post, project, page, author] - the type of item to render authors for
5
+ dependencies:
6
+ post post object that has one or more `author`s
7
+ site.people people collection with `[handle, published, name]` elements
8
+ site.title default `author` if none is specified
9
+ local:
10
+ author for-loop author looked up in site.people to render
11
+ {%-endcomment-%}
12
+
13
+ {%-assign item = article | default: post | default: project | default: page-%}
14
+ {%-assign authors = include.authors | default: item.author-%}
15
+
16
+ <ul class="inline csv authors">
17
+ {%-for auth in authors-%}
18
+ {%-assign author = site.people | find: 'handle', auth-%}
19
+ {%-if author.published-%}
20
+ <li>{{-author.name-}}</li>
21
+ {%-elsif auth-%}
22
+ <li>{{-auth-}}</li>
23
+ {%-endif-%}
24
+ {%-else-%}
25
+ <li>{{-site.title-}}</li>
26
+ {%-endfor-%}
27
+ </ul>