jekyll-theme-primerpages 2.3.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.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +65 -0
- data/_config.yml +149 -0
- data/_includes/awesome-nav-breadcrumb-trail.html +33 -0
- data/_includes/awesome-nav-breadcrumbs.html +51 -0
- data/_includes/awesome-nav-menu-tree.html +21 -0
- data/_includes/awesome-nav-menu.html +68 -0
- data/_includes/awesome-nav-sidebar.html +7 -0
- data/_includes/awesome-nav-tree.html +52 -0
- data/_includes/breadcrumbs.html +62 -0
- data/_includes/category_index.html +18 -0
- data/_includes/collection-menu.html +79 -0
- data/_includes/collection-sidebar.html +23 -0
- data/_includes/custom-colors.html +99 -0
- data/_includes/footer.html +13 -0
- data/_includes/head.html +43 -0
- data/_includes/header-appbar.html +53 -0
- data/_includes/header-sidebar.html +60 -0
- data/_includes/header-stacked.html +33 -0
- data/_includes/header-topbar.html +59 -0
- data/_includes/link-card.html +52 -0
- data/_includes/links.html +12 -0
- data/_includes/masthead.html +18 -0
- data/_includes/mini-repo-info-card.html +30 -0
- data/_includes/nav-overlay.html +53 -0
- data/_includes/nav.html +51 -0
- data/_includes/navbar-underline.html +51 -0
- data/_includes/paginator_nav.html +28 -0
- data/_includes/post-card.html +27 -0
- data/_includes/post-feature-card.html +24 -0
- data/_includes/post-gallery.html +52 -0
- data/_includes/post-index.html +35 -0
- data/_includes/post-tease-image-card.html +22 -0
- data/_includes/post-tease-text-card.html +12 -0
- data/_includes/post-timeline-card.html +84 -0
- data/_includes/post-timeline.html +31 -0
- data/_includes/posts.html +12 -0
- data/_includes/related.html +116 -0
- data/_includes/repo-card.html +43 -0
- data/_includes/repositories.html +27 -0
- data/_includes/resolve-versioning.html +16 -0
- data/_includes/social.html +390 -0
- data/_includes/toggle.html +4 -0
- data/_includes/user-metadata.html +36 -0
- data/_includes/version-selector.html +22 -0
- data/_includes/version-warning.html +15 -0
- data/_layouts/category_index.html +16 -0
- data/_layouts/category_layout.html +33 -0
- data/_layouts/default.html +33 -0
- data/_layouts/docs.html +189 -0
- data/_layouts/docs_index.html +32 -0
- data/_layouts/home.html +3 -0
- data/_layouts/landing.html +38 -0
- data/_layouts/linktree.html +36 -0
- data/_layouts/page.html +22 -0
- data/_layouts/paginate.html +16 -0
- data/_layouts/paginate_timeline.html +17 -0
- data/_layouts/post.html +136 -0
- data/_layouts/profile.html +48 -0
- data/_layouts/repositories.html +11 -0
- data/_layouts/tag_index.html +16 -0
- data/_layouts/tags.html +12 -0
- data/_sass/_admonitions.scss +69 -0
- data/_sass/_highlight-syntax.scss +96 -0
- data/_sass/_language-colors.scss +1443 -0
- data/_sass/_main.scss +274 -0
- data/_sass/jekyll-theme-primerpages-compat.scss +5 -0
- data/_sass/jekyll-theme-primerpages.scss +7 -0
- data/assets/css/style.scss +2 -0
- data/assets/css/theme.scss +16 -0
- data/assets/img/default.png +0 -0
- data/assets/img/favicon.ico +0 -0
- data/assets/img/social-preview.png +0 -0
- data/assets/img/user-image.jpg +0 -0
- data/assets/js/anchor-links.js +47 -0
- data/assets/js/mermaid.js +61 -0
- data/assets/js/theme-toggle.js +84 -0
- data/assets/js/topbar.js +19 -0
- data/assets/js/versioning.js +300 -0
- metadata +184 -0
data/_layouts/docs.html
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
style: appbar
|
|
4
|
+
toc: true
|
|
5
|
+
---
|
|
6
|
+
{% comment %}
|
|
7
|
+
Docs utilize collections to display content
|
|
8
|
+
{% endcomment %}
|
|
9
|
+
{% comment %}
|
|
10
|
+
===================================
|
|
11
|
+
Get the collection
|
|
12
|
+
===================================
|
|
13
|
+
{% endcomment %}
|
|
14
|
+
{%- assign collection_name = page.collection %}
|
|
15
|
+
{%- assign docs_name = page.docs_name | default: page.collection_name | default: "Documentation" %}
|
|
16
|
+
{%- assign docs = site[collection_name]%}
|
|
17
|
+
{%- assign default_collection_index = site.baseurl | append: "/" | append: page.collection | append: "/index.html" %}
|
|
18
|
+
{%- assign collection_index = page.index | default: default_collection_index %}
|
|
19
|
+
{%- assign collection_page = docs | where_exp: "item", "item.url == collection_index" | first %}
|
|
20
|
+
{% assign filtered_docs = site.docs | where_exp: "item", "item.url != collection_page.url" %}
|
|
21
|
+
{% comment %}
|
|
22
|
+
===================================
|
|
23
|
+
Group by category
|
|
24
|
+
===================================
|
|
25
|
+
{% endcomment %}
|
|
26
|
+
{% assign doc_categories = filtered_docs | group_by: "category" %}
|
|
27
|
+
{%- assign default_category = page.default_category | default: "" %}
|
|
28
|
+
{% comment %}
|
|
29
|
+
===================================
|
|
30
|
+
Set display info
|
|
31
|
+
===================================
|
|
32
|
+
{% endcomment %}
|
|
33
|
+
{%- assign h_height = 150 %}{% comment %}The height of the header{% endcomment %}
|
|
34
|
+
{%- assign c_height = 0 %}{% comment %}The height of the collection link {% endcomment %}
|
|
35
|
+
{%- assign s_height = 0 %}{% comment %} The height of the section header {% endcomment %}
|
|
36
|
+
{% comment %}
|
|
37
|
+
===================================
|
|
38
|
+
Set edit url
|
|
39
|
+
===================================
|
|
40
|
+
{% endcomment %}
|
|
41
|
+
{%- assign github_edit_url = nil %}
|
|
42
|
+
{%- if site.repository %}
|
|
43
|
+
{%- assign github_edit_url = "https://www.github.com/" | append: site.repository | append: "/edit/main" %}
|
|
44
|
+
{%- endif %}
|
|
45
|
+
{%- assign edit_url = page.edit_url | default: site.edit_url | default: github_edit_url %}
|
|
46
|
+
{%- assign show_edit_url = page.show_edit_url | default: site.show_edit_url | default: true %}
|
|
47
|
+
{%- assign awesome_nav_enabled = false %}
|
|
48
|
+
{%- if site.awesome_nav and site.awesome_nav.enabled and page.awesome_nav %}
|
|
49
|
+
{%- assign awesome_nav_enabled = true %}
|
|
50
|
+
{%- endif %}
|
|
51
|
+
{%- assign awesome_nav_root = site.awesome_nav.root %}
|
|
52
|
+
{%- assign awesome_nav_root_url = awesome_nav_root | append: "/" %}
|
|
53
|
+
{%- assign awesome_nav_index = site.pages | where: "url", awesome_nav_root_url | first %}
|
|
54
|
+
<div class="d-xl-flex">
|
|
55
|
+
<div class="Layout bgColor-default border-right d-none d-xl-block">
|
|
56
|
+
<div class="Layout-sidebar position-sticky"
|
|
57
|
+
style="top: var(--topbar-height, 150px); height: calc(100vh - var(--topbar-height, 150px));"
|
|
58
|
+
>
|
|
59
|
+
<nav>
|
|
60
|
+
{%- assign c_height = 38 %}{% comment %}The height of the collection link {% endcomment %}
|
|
61
|
+
{%- assign s_height = 55 %}{% comment %} The height of the section header {% endcomment %}
|
|
62
|
+
{% if awesome_nav_enabled %}
|
|
63
|
+
<div class="d-none px-4 pb-3 border-bottom d-xl-block"
|
|
64
|
+
style="height: calc({{c_height}}px + {{s_height}}px);">
|
|
65
|
+
<div class="pt-3">
|
|
66
|
+
<a class="f6 pl-2 pr-5 ml-n1 pb-1 color-fg-default"
|
|
67
|
+
href="{{ awesome_nav_root_url | relative_url }}">
|
|
68
|
+
<span class="octicon octicon-arrow-left-16 mr-1"></span>
|
|
69
|
+
{{ docs_name }}
|
|
70
|
+
</a>
|
|
71
|
+
</div>
|
|
72
|
+
<h2 class="pt-3">
|
|
73
|
+
<div class="d-block pl-1 mb-2 h3 color-fg-default no-underline">
|
|
74
|
+
{{ awesome_nav_index.title | default: "Docs" }}
|
|
75
|
+
</div>
|
|
76
|
+
</h2>
|
|
77
|
+
</div>
|
|
78
|
+
{% elsif collection_page %}
|
|
79
|
+
<div class="d-none px-4 pb-3 border-bottom d-xl-block"
|
|
80
|
+
style="height: calc({{c_height}}px + {{s_height}}px);">
|
|
81
|
+
<div class="pt-3">
|
|
82
|
+
|
|
83
|
+
<a class="f6 pl-2 pr-5 ml-n1 pb-1 color-fg-default"
|
|
84
|
+
href="{{ collection_page.url | relative_url }}">
|
|
85
|
+
<span class="octicon octicon-arrow-left-16 mr-1"></span>
|
|
86
|
+
{{ docs_name }}
|
|
87
|
+
</a>
|
|
88
|
+
|
|
89
|
+
</div>
|
|
90
|
+
<h2 class="pt-3">
|
|
91
|
+
<div class="d-block pl-1 mb-2 h3 color-fg-default no-underline">
|
|
92
|
+
{{ collection_page.title | capitalize }}
|
|
93
|
+
</div>
|
|
94
|
+
</h2>
|
|
95
|
+
</div>
|
|
96
|
+
{% endif %}
|
|
97
|
+
<div class="d-none d-xl-block bg-primary overflow-y-auto flex-shrink-0 pb-3"
|
|
98
|
+
style="height: calc(100vh - var(--topbar-height, 150px) - {{c_height}}px - {{s_height}}px);">
|
|
99
|
+
<div class="pt-3">
|
|
100
|
+
{% if awesome_nav_enabled %}
|
|
101
|
+
{% include awesome-nav-sidebar.html nav=page.awesome_nav %}
|
|
102
|
+
{% else %}
|
|
103
|
+
{% include collection-sidebar.html categories=doc_categories current_page_url=page.url excluded_url=category_page.url default_category=default_category %}
|
|
104
|
+
{% endif %}
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
</nav>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="container-xl flex-1 p-responsive pb-6">
|
|
111
|
+
{% include version-warning.html %}
|
|
112
|
+
<div class="py-4 d-flex">
|
|
113
|
+
<div class="d-xl-none">
|
|
114
|
+
{% if awesome_nav_enabled %}
|
|
115
|
+
{% include awesome-nav-menu.html nav=page.awesome_nav name=docs_name index_url=awesome_nav_root_url %}
|
|
116
|
+
{% else %}
|
|
117
|
+
{% include collection-menu.html collection=docs name=docs_name index=collection_page %}
|
|
118
|
+
{% endif %}
|
|
119
|
+
</div>
|
|
120
|
+
{% if awesome_nav_enabled %}
|
|
121
|
+
{% include awesome-nav-breadcrumbs.html %}
|
|
122
|
+
{% else %}
|
|
123
|
+
{% include breadcrumbs.html %}
|
|
124
|
+
{% endif %}
|
|
125
|
+
</div>
|
|
126
|
+
<div class="pb-5 p-responsive">
|
|
127
|
+
<h1 class="border-bottom-0">{{ page.title }}</h1>
|
|
128
|
+
<h3 class="f3 color-fg-muted pb-3">{{ page.description }}</h3>
|
|
129
|
+
</div>
|
|
130
|
+
<div class="d-flex flex-wrap-reverse">
|
|
131
|
+
<div class="col-12 col-md-8 markdown-body p-responsive">
|
|
132
|
+
{{ content }}
|
|
133
|
+
|
|
134
|
+
<!-- Pagination links -->
|
|
135
|
+
<div class="paginate-container py-3">
|
|
136
|
+
<div role="navigation" aria-label="Pagination" class="d-inline-block pagination">
|
|
137
|
+
{% if awesome_nav_enabled %}
|
|
138
|
+
{% if page.awesome_nav_previous %}
|
|
139
|
+
<a class="previous_page" rel="prev" href="{{ page.awesome_nav_previous.url | relative_url }}"
|
|
140
|
+
aria-disabled="false">{{ page.awesome_nav_previous.title | truncate: 20 }}</a>
|
|
141
|
+
{% else %}
|
|
142
|
+
<span class="previous_page disabled" aria-disabled="true">Previous</span>
|
|
143
|
+
{% endif %}
|
|
144
|
+
|
|
145
|
+
{% if page.awesome_nav_next %}
|
|
146
|
+
<a class="next_page" rel="next" href="{{ page.awesome_nav_next.url | relative_url }}"
|
|
147
|
+
aria-disabled="false">{{ page.awesome_nav_next.title | truncate: 20 }}</a>
|
|
148
|
+
{% else %}
|
|
149
|
+
<span class="next_page disabled" aria-disabled="true">Next</span>
|
|
150
|
+
{% endif %}
|
|
151
|
+
{% else %}
|
|
152
|
+
{% if page.previous.url %}
|
|
153
|
+
<a class="previous_page" rel="prev" href="{{ page.previous.url | relative_url }}"
|
|
154
|
+
aria-disabled="false">{{page.previous.title | truncate: 20 }}</a>
|
|
155
|
+
{% else %}
|
|
156
|
+
<span class="previous_page disabled" aria-disabled="true">Previous</span>
|
|
157
|
+
{% endif %}
|
|
158
|
+
|
|
159
|
+
{% if page.next.url %}
|
|
160
|
+
<a class="next_page" rel="next" href="{{ page.next.url | relative_url }}"
|
|
161
|
+
aria-disabled="false">{{page.next.title | truncate: 20 }}</a>
|
|
162
|
+
{% else %}
|
|
163
|
+
<span class="next_page disabled" aria-disabled="true">Next</span>
|
|
164
|
+
{% endif %}
|
|
165
|
+
{% endif %}
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
168
|
+
|
|
169
|
+
<!-- Edit link -->
|
|
170
|
+
{% if show_edit_url and edit_url %}
|
|
171
|
+
<div class="doc-footer border-top my-8 py-5">
|
|
172
|
+
<a href="{{ edit_url }}/{{ page.path }}">
|
|
173
|
+
<span class="octicon octicon-pencil-16"></span>
|
|
174
|
+
Edit this page</a>
|
|
175
|
+
</div>
|
|
176
|
+
{% endif %}
|
|
177
|
+
</div>
|
|
178
|
+
<div class="col-12 col-md-4 markdown-body">
|
|
179
|
+
{% capture page_toc %}{{ content | toc_only }}{% endcapture %}
|
|
180
|
+
{% if page.toc and layout.toc and page_toc != content and page_toc contains "/li" %}
|
|
181
|
+
<div class="position-sticky top-12 ml-5 pb-5">
|
|
182
|
+
<h4 class="ml-3 mb-1">In this article</h4>
|
|
183
|
+
{{ page_toc }}
|
|
184
|
+
</div>
|
|
185
|
+
{% endif %}
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: page
|
|
3
|
+
toc: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
{% comment %} Ensure collection is defined {% endcomment %}
|
|
7
|
+
{% unless page.collection %}
|
|
8
|
+
<p><strong>Error:</strong> This layout requires a <code>collection</code> in front matter.</p>
|
|
9
|
+
{% assign filtered_docs = "" | split: "" %}
|
|
10
|
+
{% else %}
|
|
11
|
+
{% assign docs = site[page.collection] %}
|
|
12
|
+
{% assign filtered_docs = docs | where_exp: "item", "item.url != page.url" %}
|
|
13
|
+
|
|
14
|
+
{% comment %} Filter docs by category if provided {% endcomment %}
|
|
15
|
+
{% if page.category %}
|
|
16
|
+
{% assign filtered_docs = filtered_docs | where_exp: "doc", "doc.category == page.category" %}
|
|
17
|
+
{% endif %}
|
|
18
|
+
{% endunless %}
|
|
19
|
+
|
|
20
|
+
{{ content }}
|
|
21
|
+
|
|
22
|
+
{% comment %} Group filtered docs by category {% endcomment %}
|
|
23
|
+
{% assign grouped_docs = filtered_docs | group_by: "category"%}
|
|
24
|
+
<div class="d-flex flex-wrap gutter">
|
|
25
|
+
{% for group in grouped_docs %}
|
|
26
|
+
{% assign category_name = group.name | default: page.default_category %}
|
|
27
|
+
{% assign docs_in_category = group.items %}
|
|
28
|
+
{% include category_index.html
|
|
29
|
+
category=category_name
|
|
30
|
+
pages=group.items %}
|
|
31
|
+
{% endfor %}
|
|
32
|
+
</div>
|
data/_layouts/home.html
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
style: none
|
|
4
|
+
---
|
|
5
|
+
{%- assign style = page.style | default: layout.style | default: site.style %}
|
|
6
|
+
{%- assign repo_info = page.repo_info | default: site.repo_info | default: false %}
|
|
7
|
+
{%- assign nav = page.nav | default: site.nav | default: false %}
|
|
8
|
+
{%- assign social_media = page.social_media | default: site.social_media | default: false %}
|
|
9
|
+
<div class="Header d-flex p-0 flex-1">
|
|
10
|
+
<div class="container-lg flex-column position-sticky top-0">
|
|
11
|
+
<div class="d-flex flex-row py-3 flex-justify-end">
|
|
12
|
+
<div class="d-flex flex-justify-center">
|
|
13
|
+
{% if style == 'none' %}{% include toggle.html %}{% endif %}
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="text-center flex-1">
|
|
17
|
+
<div class="px-5 py-2 height-full">
|
|
18
|
+
{%- include masthead.html %}
|
|
19
|
+
</div>
|
|
20
|
+
{%- if repo_info and site.repository %}
|
|
21
|
+
<div class="py-2">
|
|
22
|
+
{% include mini-repo-info-card.html class="Header-link no-underline" %}
|
|
23
|
+
</div>
|
|
24
|
+
{%- endif %}
|
|
25
|
+
{{ content }}
|
|
26
|
+
{%- if nav %}
|
|
27
|
+
<div class="d-flex flex-column">
|
|
28
|
+
{%- include nav.html nav=nav %}
|
|
29
|
+
</div>
|
|
30
|
+
{%- endif %}
|
|
31
|
+
{%- if social_media %}
|
|
32
|
+
<div class="py-2 px-2">
|
|
33
|
+
{%- include social.html %}
|
|
34
|
+
</div>
|
|
35
|
+
{%- endif %}
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
style: none
|
|
4
|
+
---
|
|
5
|
+
{%- assign socials = page.socials | default: layout.socials | default: nil %}
|
|
6
|
+
{%- assign links = page.links | default: site.links | default: nil %}
|
|
7
|
+
{%- assign style = page.style | default: layout.style | default: site.style %}
|
|
8
|
+
{%- assign title = page.title %}
|
|
9
|
+
<div class="flex-column flex-1 min-width-0 py-4">
|
|
10
|
+
{%- if page.style == 'none' %}
|
|
11
|
+
<div class="d-flex p-responsive container-md flex-row py-3 flex-justify-end">
|
|
12
|
+
<div class="d-flex flex-justify-center">
|
|
13
|
+
{% include toggle.html %}
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
{%- endif %}
|
|
17
|
+
{%- if style != "sidebar" and style != "stacked" %}
|
|
18
|
+
<div class="mt-4">
|
|
19
|
+
{%- include masthead.html size="96px" %}
|
|
20
|
+
</div>
|
|
21
|
+
{%- endif %}
|
|
22
|
+
{%- if title %}
|
|
23
|
+
<div class="mt-4"><h1 class="f3 mb-2">{{ title }}</h1></div>
|
|
24
|
+
{%- endif %}
|
|
25
|
+
{%- if socials == "top" %}
|
|
26
|
+
{%- include social.html %}
|
|
27
|
+
{%- endif %}
|
|
28
|
+
{%- if links %}
|
|
29
|
+
<div class="d-flex mt-4 p-responsive container-md">
|
|
30
|
+
{%- include links.html links=links %}
|
|
31
|
+
</div>
|
|
32
|
+
{%- endif %}
|
|
33
|
+
{%- if socials == "bottom" %}
|
|
34
|
+
{%- include social.html %}
|
|
35
|
+
{%- endif %}
|
|
36
|
+
</div>
|
data/_layouts/page.html
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
---
|
|
4
|
+
{%- assign title = page.title | default: page.tag %}
|
|
5
|
+
{%- assign subtype = page.subtype %}
|
|
6
|
+
{%- if title == page.tag %}
|
|
7
|
+
{%- assign subtype = "tag" %}
|
|
8
|
+
{%- endif %}
|
|
9
|
+
<div class="Page flex-column flex-1 min-width-0 py-6">
|
|
10
|
+
<div class="container-xl mx-auto p-responsive">
|
|
11
|
+
{% if title %}
|
|
12
|
+
{% if subtype %}
|
|
13
|
+
<p class="f4-mktg color-text-tertiary mb-n4">{{ subtype | downcase }}</p>
|
|
14
|
+
{% endif %}
|
|
15
|
+
<h1 class="h3-mktg mt-6 mb-4">{{ title | capitalize }}</h1>
|
|
16
|
+
{% endif %}
|
|
17
|
+
<div class="markdown-body">
|
|
18
|
+
{{ content }}
|
|
19
|
+
</div>
|
|
20
|
+
<div class="flex-1"></div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: page
|
|
3
|
+
---
|
|
4
|
+
{{ content }}
|
|
5
|
+
<div class="d-flex flex-wrap gutter">
|
|
6
|
+
<!-- This loops through the paginated posts -->
|
|
7
|
+
{%- for post in paginator.posts %}
|
|
8
|
+
{%- if post.feature or post == site.posts[0] %}
|
|
9
|
+
{%- include post-feature-card.html %}
|
|
10
|
+
{%- else %}
|
|
11
|
+
{%- include post-card.html border="border-top" %}
|
|
12
|
+
{%- endif %}
|
|
13
|
+
{% endfor %}
|
|
14
|
+
</div>
|
|
15
|
+
<!-- Pagination links -->
|
|
16
|
+
{% include paginator_nav.html %}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: page
|
|
3
|
+
---
|
|
4
|
+
{% comment %} For post timeline {% endcomment %}
|
|
5
|
+
{% assign limit = page.posts_limit | default: site.paginate %}
|
|
6
|
+
{% assign posts = paginator.posts | default: site.posts %}
|
|
7
|
+
{% comment %} For controls below timeline {% endcomment %}
|
|
8
|
+
{% assign paginate_path = page.pagination.permalink | default: site.pagination.permalink | default: site.paginate_path %}
|
|
9
|
+
{% assign paginate_first_page_path = paginate_path | relative_url | replace: 'page:num', '' %}
|
|
10
|
+
{% assign first_page_path = page.first_page_path | default: paginator.first_page_path | default: paginate_first_page_path%}
|
|
11
|
+
|
|
12
|
+
{{ content }}
|
|
13
|
+
|
|
14
|
+
<!-- This loops through the paginated posts -->
|
|
15
|
+
{% include post-timeline.html posts=posts limit=limit %}
|
|
16
|
+
<!-- Pagination links -->
|
|
17
|
+
{% include paginator_nav.html %}
|
data/_layouts/post.html
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
---
|
|
4
|
+
{%- assign user = site.github.owner %}
|
|
5
|
+
{%- assign name = page.author | default: user.name | default: user.login %}
|
|
6
|
+
{%- assign image = page.image | default: site.image | default: "/assets/img/default.png" %}
|
|
7
|
+
<div class="Blog flex-column flex-1 min-width-0">
|
|
8
|
+
<div class="BlogHeader position-relative border-top">
|
|
9
|
+
<div class="container-xl p-responsive">
|
|
10
|
+
<div class="col-12 offset-lg-1 col-lg-10 col-xl-7 mt-5 mt-lg-10 mb-6 mb-lg-8">
|
|
11
|
+
<div class="h3-mktg lh-condensed mb-3 color-header-default">{{ page.title }}</div>
|
|
12
|
+
<p class="f4-mktg color-header-default">{{ page.description }}</p>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="offset-lg-1 col-lg-10">
|
|
15
|
+
<div class="position-relative z-1">
|
|
16
|
+
<div class="image-container">
|
|
17
|
+
<img src="{{ image | relative_url }}" class="cover-image rounded-2" alt="{{ page.title }}" />
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="Blog position-absolute bottom-0 width-full border-top" style="height:88px">
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="pb-5">
|
|
26
|
+
<div class="container-xl mx-auto p-responsive">
|
|
27
|
+
<!-- Post metadata -->
|
|
28
|
+
<div class="pt-5">
|
|
29
|
+
<div class="col-12 offset-lg-1 col-lg-10">
|
|
30
|
+
<div class="text-mono f5-mktg color-fg-muted mb-12px">Author</div>
|
|
31
|
+
<div class="d-flex flex-nowrap pb-1 flex-items-start">
|
|
32
|
+
<div class="d-flex flex-wrap">{{ name }}</div>
|
|
33
|
+
<div
|
|
34
|
+
class="d-block border-left flex-shrink-0 text-mono f5-mktg color-fg-muted mb-3 ml-auto pl-5">
|
|
35
|
+
{{ page.date | date: "%b %d, %Y" }}
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="color-border-accent-emphasis border-bottom"></div>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="mx-auto p-responsive pt-4 pt-md-7 pb-7 pb-md-9">
|
|
42
|
+
<div class="d-flex flex-wrap">
|
|
43
|
+
<div class="col-12 offset-lg-1 col-lg-1">
|
|
44
|
+
<ul class="list-style-none d-flex flex-lg-column position-sticky top-12">
|
|
45
|
+
<li class="mr-4 mr-lg-0 mb-4">
|
|
46
|
+
<a href="https://x.com/share?text={{ page.title | url_encode }}&url={{ page.url | absolute_url | url_encode }}"
|
|
47
|
+
target="_blank"
|
|
48
|
+
class="d-flex flex-justify-center flex-items-center border circle social-aside"
|
|
49
|
+
data-proofer-ignore>
|
|
50
|
+
<svg width="20" height="20" viewBox="0 0 1200 1227" fill="currentColor"
|
|
51
|
+
xmlns="http://www.w3.org/2000/svg">
|
|
52
|
+
<path
|
|
53
|
+
d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" />
|
|
54
|
+
</svg>
|
|
55
|
+
</a>
|
|
56
|
+
</li>
|
|
57
|
+
<li class="mr-4 mr-lg-0 mb-4">
|
|
58
|
+
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }};t={{ page.title | url_encode }}"
|
|
59
|
+
target="_blank"
|
|
60
|
+
class="d-flex flex-justify-center flex-items-center border circle social-aside"
|
|
61
|
+
data-proofer-ignore>
|
|
62
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15.3 15.4" height="18">
|
|
63
|
+
<path
|
|
64
|
+
d="M14.5 0H.8a.88.88 0 0 0-.8.9v13.6a.88.88 0 0 0 .8.9h7.3v-6h-2V7.1h2V5.4a2.87 2.87 0 0 1 2.5-3.1h.5a10.87 10.87 0 0 1 1.8.1v2.1h-1.3c-1 0-1.1.5-1.1 1.1v1.5h2.3l-.3 2.3h-2v5.9h3.9a.88.88 0 0 0 .9-.8V.8a.86.86 0 0 0-.8-.8z"
|
|
65
|
+
fill="currentColor"></path>
|
|
66
|
+
</svg>
|
|
67
|
+
</a>
|
|
68
|
+
</li>
|
|
69
|
+
<li class="mr-4 mr-lg-0 mb-4">
|
|
70
|
+
<a href="https://www.linkedin.com/shareArticle?url={{ page.url | absolute_url | url_encode }}%2F&title={{ page.title | url_encode }}"
|
|
71
|
+
target="_blank"
|
|
72
|
+
class="d-flex flex-justify-center flex-items-center border circle social-aside"
|
|
73
|
+
data-proofer-ignore>
|
|
74
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 18" height="18">
|
|
75
|
+
<path
|
|
76
|
+
d="M3.94 2A2 2 0 1 1 2 0a2 2 0 0 1 1.94 2zM4 5.48H0V18h4zm6.32 0H6.34V18h3.94v-6.57c0-3.66 4.77-4 4.77 0V18H19v-7.93c0-6.17-7.06-5.94-8.72-2.91z"
|
|
77
|
+
fill="currentColor"></path>
|
|
78
|
+
</svg>
|
|
79
|
+
</a>
|
|
80
|
+
</li>
|
|
81
|
+
</ul>
|
|
82
|
+
</div>
|
|
83
|
+
<div class="col-12 col-lg-7 col-md-8 markdown-body">
|
|
84
|
+
{% if page.video %}
|
|
85
|
+
<div class="image-container mb-5">
|
|
86
|
+
<iframe
|
|
87
|
+
class="rounded-2"
|
|
88
|
+
src="{{ page.video }}"
|
|
89
|
+
frameborder="0"
|
|
90
|
+
allowfullscreen
|
|
91
|
+
title="{{ page.title }}"
|
|
92
|
+
></iframe>
|
|
93
|
+
</div>
|
|
94
|
+
{% endif %}
|
|
95
|
+
{{ content }}
|
|
96
|
+
{%- if page.tags.size > 0 and site.tag_page_dir %}
|
|
97
|
+
<div class="post-tags text-mono f4-mktg mt-8">
|
|
98
|
+
<span class="post-tags-label flex-shrink-0 d-inline-block mt-2">Tags: </span>
|
|
99
|
+
<ul class="d-inline-block list-style-none color-text-link mb-0">
|
|
100
|
+
{% for tag in page.tags %}
|
|
101
|
+
{%- if site.tag_page_dir -%}
|
|
102
|
+
{%- capture tag_link %}/{{site.tag_page_dir}}/{{ tag | jekyll_tagging_slug }}{%
|
|
103
|
+
endcapture %}
|
|
104
|
+
{%- else -%}
|
|
105
|
+
{%- capture tag_link %}{{site.tag_archive_path}}{{ tag | slugify }}{% endcapture %}
|
|
106
|
+
{%- endif -%}
|
|
107
|
+
<li class="d-inline-block mt-2 mb-0"><a href="{{ tag_link | relative_url }}">{{ tag
|
|
108
|
+
}}</a></li>
|
|
109
|
+
{% endfor %}
|
|
110
|
+
</ul>
|
|
111
|
+
</div>
|
|
112
|
+
{%- endif %}
|
|
113
|
+
</div>
|
|
114
|
+
<div class="col-12 col-md-4 col-lg-3 markdown-body">
|
|
115
|
+
<div class="d-none d-md-block position-sticky top-12 ml-5">
|
|
116
|
+
{% capture page_toc %}{{ content | toc_only }}{% endcapture %}
|
|
117
|
+
{% if page.toc and page_toc != content %}
|
|
118
|
+
<div class="mb-8 table-of-contents ">
|
|
119
|
+
<h2 class="h6-mktg pt-1">
|
|
120
|
+
Table of Contents
|
|
121
|
+
</h2>
|
|
122
|
+
<div id="table-of-contents">
|
|
123
|
+
{{ page_toc }}
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
{%- endif %}
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
</div>
|
|
132
|
+
<div class="Related container-xl mx-auto p-responsive">
|
|
133
|
+
{% include related.html %}
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: page
|
|
3
|
+
---
|
|
4
|
+
{%- assign user = site.github.owner %}
|
|
5
|
+
{%- assign name = site.title | default: user.name | default: user.login %}
|
|
6
|
+
{%- assign user_img = site.user_image | default: user.avatar_url | default: "/assets/img/user-image.jpg" %}
|
|
7
|
+
{%- assign style = page.style | default: layout.style | default: site.style %}
|
|
8
|
+
{%- assign links = page.links | default: site.links | default: nill %}
|
|
9
|
+
{%- assign posts = page.posts | default: site.posts %}
|
|
10
|
+
{%- assign posts_limit = page.posts_limit | default: site.posts_limit | default: site.paginate %}
|
|
11
|
+
{% assign paginate_path = page.pagination.permalink | default: site.pagination.permalink | default: site.paginate_path
|
|
12
|
+
%}
|
|
13
|
+
{% assign paginate_first_page_path = paginate_path | replace: 'page:num', '' %}
|
|
14
|
+
{% assign first_page_path = page.first_page_path | default: paginator.first_page_path | default:
|
|
15
|
+
paginate_first_page_path %}
|
|
16
|
+
|
|
17
|
+
<div class="Profile d-lg-flex flex-justify-center">
|
|
18
|
+
{%- if style != "sidebar" and style != "stacked" %}
|
|
19
|
+
<div class="col-lg-4 border-gray-light px-6 pb-6 text-center">
|
|
20
|
+
{%- include masthead.html %}
|
|
21
|
+
{%- include social.html %}
|
|
22
|
+
</div>
|
|
23
|
+
{%- endif %}
|
|
24
|
+
|
|
25
|
+
<div class="col-lg-8 color-bg-default">
|
|
26
|
+
{%- if content != blank %}
|
|
27
|
+
<div class="mb-8">
|
|
28
|
+
{{ content }}
|
|
29
|
+
</div>
|
|
30
|
+
{%- endif %}
|
|
31
|
+
{%- if links %}
|
|
32
|
+
{%- include links.html links=links %}
|
|
33
|
+
{%- endif %}
|
|
34
|
+
{%- if posts.size > 0 %}
|
|
35
|
+
<div class="mb-8">
|
|
36
|
+
<div class="pb-3">
|
|
37
|
+
<h2>Latest posts</h2>
|
|
38
|
+
</div>
|
|
39
|
+
{%- include post-timeline.html posts=posts limit=posts_limit index=first_page_path %}
|
|
40
|
+
</div>
|
|
41
|
+
{%- endif %}
|
|
42
|
+
|
|
43
|
+
{%- if site.repositories and site.github.public_repositories.size > 0 %}
|
|
44
|
+
<h2 class="mb-3">Repositories</h2>
|
|
45
|
+
{%- include repositories.html %}
|
|
46
|
+
{%- endif %}
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Tags
|
|
3
|
+
layout: page
|
|
4
|
+
---
|
|
5
|
+
{%- assign tags = page.tags | default: site.tags %}
|
|
6
|
+
{%- assign tag_path = page.tag_path | default: site.tag_page_dir %}
|
|
7
|
+
{%- if tag_path %}{%- assign tag_permalink = tag_path | append: '/:tag' %}{% endif %}
|
|
8
|
+
{%- assign tag_permalink = page.pagination.permalink | default: site.autopages.tags.permalink | default: tag_permalink %}
|
|
9
|
+
{%- assign per_section = page.per_section | default: page.pagination.per_page %}
|
|
10
|
+
|
|
11
|
+
{% include post-index.html
|
|
12
|
+
sections=tags
|
|
13
|
+
section_permalink=tag_permalink
|
|
14
|
+
replace_value=":tag"
|
|
15
|
+
per_section=per_section
|
|
16
|
+
%}
|
data/_layouts/tags.html
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: page
|
|
3
|
+
---
|
|
4
|
+
<div class="d-flex flex-wrap gutter border-top">
|
|
5
|
+
{% for post in page.posts %}
|
|
6
|
+
{%- if post.feature or forloop.first %}
|
|
7
|
+
{%- include post-feature-card.html %}
|
|
8
|
+
{%- else %}
|
|
9
|
+
{%- include post-card.html border="border-top" %}
|
|
10
|
+
{%- endif %}
|
|
11
|
+
{% endfor %}
|
|
12
|
+
</div>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
.markdown-alert {
|
|
2
|
+
padding: 0.5rem 1rem;
|
|
3
|
+
margin-bottom: 1rem;
|
|
4
|
+
color: inherit;
|
|
5
|
+
border-left: .25em solid #30363d;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.markdown-alert > :first-child {
|
|
9
|
+
margin-top: 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.markdown-alert > :last-child {
|
|
13
|
+
margin-bottom: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.markdown-alert .markdown-alert-title {
|
|
17
|
+
display: flex;
|
|
18
|
+
font-weight: 500;
|
|
19
|
+
align-items: center;
|
|
20
|
+
line-height: 1;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.markdown-alert svg {
|
|
24
|
+
margin-right: 0.5rem !important;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.markdown-alert svg path {
|
|
28
|
+
fill: currentColor;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.markdown-alert.markdown-alert-note {
|
|
32
|
+
border-left-color: #4493f8;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.markdown-alert.markdown-alert-note .markdown-alert-title {
|
|
36
|
+
color: #4493f8;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.markdown-alert.markdown-alert-important {
|
|
40
|
+
border-left-color: #ab7df8;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.markdown-alert.markdown-alert-important .markdown-alert-title {
|
|
44
|
+
color: #ab7df8;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.markdown-alert.markdown-alert-warning {
|
|
48
|
+
border-left-color: #9e6a03;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.markdown-alert.markdown-alert-warning .markdown-alert-title {
|
|
52
|
+
color: #d29922;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.markdown-alert.markdown-alert-tip {
|
|
56
|
+
border-left-color: #238636;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.markdown-alert.markdown-alert-tip .markdown-alert-title {
|
|
60
|
+
color: #3fb950;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.markdown-alert.markdown-alert-caution {
|
|
64
|
+
border-left-color: #da3633;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.markdown-alert.markdown-alert-caution .markdown-alert-title {
|
|
68
|
+
color: #f85149;
|
|
69
|
+
}
|