jekyll-theme-profile 1.10.1 → 1.10.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -337
- data/_config.yml +9 -32
- data/_includes/collection-menu.html +57 -33
- data/_includes/custom-colors.html +99 -0
- data/_includes/head.html +2 -14
- data/_includes/header-appbar.html +3 -15
- data/_includes/header-sidebar.html +4 -13
- data/_includes/header-stacked.html +2 -15
- data/_includes/link-card.html +10 -23
- data/_includes/links.html +4 -4
- data/_includes/nav-overlay.html +41 -29
- data/_includes/paginator_nav.html +28 -0
- data/_includes/post-timeline-card.html +28 -9
- data/_includes/post-timeline.html +23 -17
- data/_includes/posts.html +1 -1
- data/_includes/repositories.html +1 -1
- data/_includes/thumbnail.html +19 -0
- data/_layouts/category_index.html +0 -2
- data/_layouts/category_layout.html +23 -46
- data/_layouts/default.html +1 -1
- data/_layouts/docs.html +10 -16
- data/_layouts/home.html +0 -1
- data/_layouts/landing.html +3 -2
- data/_layouts/linktree.html +5 -3
- data/_layouts/page.html +14 -1
- data/_layouts/paginate.html +1 -27
- data/_layouts/paginate_timeline.html +7 -31
- data/_layouts/post.html +11 -5
- data/_layouts/profile.html +22 -7
- data/_layouts/repositories.html +0 -1
- data/_layouts/tag_index.html +0 -2
- data/_layouts/tags.html +1 -4
- data/_sass/_main.scss +11 -50
- data/assets/css/theme.scss +0 -77
- metadata +19 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a1d2f9e2a913ba7deee4135f8a164a850828e6614ff37a775e5f4938ad3330f
|
4
|
+
data.tar.gz: ec9bb4bc55e8ffd6038d3baaba11a66ea8c86a21ae24a3e50374a9df229d8820
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3054ab265121c2c8132d7dee6c483d5092c8bfd07a54397ccc76a961f558291200037699f3f8ae52ec36be38ebeda03e43a3157b2f099d78916ac0265dc66528
|
7
|
+
data.tar.gz: 7fcb2884718ae5ce88847198d116b5175519c0989f6961df1b155810861b42f9a9b4fd4d2016daa37faa102dea137832b5ddb27e6d9f12ea5266fbb626a79dff
|
data/README.md
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
This theme is based on GitHub's primer style. It supports both light and dark modes, and four style options: appbar, sidebar, topbar, and stacked. Setting up is a breeze, as it automatically populates your profile using your GitHub user info. Add custom links like Linktree and share engaging blog posts effortlessly.
|
7
7
|
|
8
|
-
##
|
8
|
+
## Quickstart
|
9
9
|
|
10
10
|
Add this line to your Jekyll site's `Gemfile`:
|
11
11
|
|
@@ -19,342 +19,7 @@ And add this line to your Jekyll site's `_config.yml`:
|
|
19
19
|
theme: jekyll-theme-profile
|
20
20
|
```
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
$ bundle
|
25
|
-
|
26
|
-
Or install it yourself as:
|
27
|
-
|
28
|
-
$ gem install jekyll-theme-profile
|
29
|
-
|
30
|
-
## Usage
|
31
|
-
|
32
|
-
Start with a [sample config](https://github.com/athackst/jekyll-theme-profile/blob/main/demo/_config.yml) that you can copy and customize.
|
33
|
-
|
34
|
-
|
35
|
-
You can also use this with github acions. Below is a typical worfklow file
|
36
|
-
|
37
|
-
```yaml
|
38
|
-
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
|
39
|
-
name: Docs
|
40
|
-
|
41
|
-
on:
|
42
|
-
# Runs on pushes targeting the default branch
|
43
|
-
push:
|
44
|
-
branches: ["main"]
|
45
|
-
|
46
|
-
# Run on every pull request
|
47
|
-
pull_request:
|
48
|
-
types: [opened, reopened, synchronize ]
|
49
|
-
|
50
|
-
# Allows you to run this workflow manually from the Actions tab
|
51
|
-
workflow_dispatch:
|
52
|
-
|
53
|
-
schedule:
|
54
|
-
# This will refresh your repositories and other user information every day
|
55
|
-
# * is a special character in YAML so you have to quote this string
|
56
|
-
# Generate from https://crontab.guru/
|
57
|
-
# ┌───────────── minute (0 - 59)
|
58
|
-
# │ ┌───────────── hour (0 - 23)
|
59
|
-
# │ │ ┌───────────── day of the month (1 - 31)
|
60
|
-
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
|
61
|
-
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
|
62
|
-
# │ │ │ │ │
|
63
|
-
# │ │ │ │ │
|
64
|
-
# │ │ │ │ │
|
65
|
-
# * * * * *
|
66
|
-
- cron: "0 0 * * *"
|
67
|
-
|
68
|
-
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
69
|
-
permissions:
|
70
|
-
contents: read # needed to read your repository
|
71
|
-
pages: write # needed to enable and deploy github pages
|
72
|
-
id-token: write
|
73
|
-
|
74
|
-
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
75
|
-
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
76
|
-
concurrency:
|
77
|
-
group: "pages"
|
78
|
-
cancel-in-progress: false
|
79
|
-
|
80
|
-
jobs:
|
81
|
-
# Build job
|
82
|
-
build:
|
83
|
-
runs-on: ubuntu-latest
|
84
|
-
steps:
|
85
|
-
- name: Checkout
|
86
|
-
uses: actions/checkout@v3
|
87
|
-
- name: Setup Ruby
|
88
|
-
uses: ruby/setup-ruby@v1.152.0
|
89
|
-
with:
|
90
|
-
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
91
|
-
- name: Setup Pages
|
92
|
-
id: pages
|
93
|
-
uses: actions/configure-pages@v3
|
94
|
-
with:
|
95
|
-
enablement: true # Enable github pages if it's not
|
96
|
-
- name: Build
|
97
|
-
run: bundle exec jekyll build
|
98
|
-
env:
|
99
|
-
JEKYLL_ENV: production
|
100
|
-
JEKYLL_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
101
|
-
- name: Upload artifact
|
102
|
-
uses: actions/upload-pages-artifact@v3
|
103
|
-
|
104
|
-
# Deployment job
|
105
|
-
deploy:
|
106
|
-
if: github.ref == 'refs/heads/main' # Only deploy from the main branch
|
107
|
-
environment:
|
108
|
-
name: github-pages
|
109
|
-
url: ${{ steps.deployment.outputs.page_url }}
|
110
|
-
runs-on: ubuntu-latest
|
111
|
-
needs: build
|
112
|
-
steps:
|
113
|
-
- name: Deploy to GitHub Pages
|
114
|
-
id: deployment
|
115
|
-
uses: actions/deploy-pages@v4
|
116
|
-
|
117
|
-
```
|
118
|
-
|
119
|
-
### Choose your style
|
120
|
-
|
121
|
-
Select the default style for your theme by adding `style` to your config file:
|
122
|
-
|
123
|
-
```yaml
|
124
|
-
style: sidebar # One of "stacked", "sidebar", "topbar", "appbar"
|
125
|
-
```
|
126
|
-
|
127
|
-
You can also set the style of a particular page by adding `style` to your frontmatter.
|
128
|
-
|
129
|
-
```yaml
|
130
|
-
---
|
131
|
-
style: sidebar # One of "stacked", "sidebar", "topbar", "appbar
|
132
|
-
---
|
133
|
-
```
|
134
|
-
|
135
|
-
#### [Sidebar](https://www.althack.dev/jekyll-theme-profile/sidebar.html)
|
136
|
-
|
137
|
-

|
138
|
-
|
139
|
-
#### [Stacked](https://www.althack.dev/jekyll-theme-profile/stacked.html)
|
140
|
-
|
141
|
-

|
142
|
-
|
143
|
-
#### [Topbar](https://www.althack.dev/jekyll-theme-profile/topbar.html)
|
144
|
-
|
145
|
-

|
146
|
-
|
147
|
-
#### [Appbar](https://www.althack.dev/jekyll-theme-profile/appbar.html)
|
148
|
-
|
149
|
-

|
150
|
-
|
151
|
-
#### Background
|
152
|
-
|
153
|
-
You can even change the background by adding the following to your `_config.yml` file.
|
154
|
-
|
155
|
-
```yaml
|
156
|
-
background:
|
157
|
-
image: /media/background-img.jpg
|
158
|
-
overlay: rgba(0, 0, 0, 0.5) # Overlay for both light and dark styles
|
159
|
-
```
|
160
|
-
|
161
|
-
or
|
162
|
-
|
163
|
-
```yaml
|
164
|
-
background:
|
165
|
-
image: /media/background-img.jpg
|
166
|
-
light: # custom overlay for light and dark styles
|
167
|
-
overlay: rgba(255, 255, 255, 0.5)
|
168
|
-
dark:
|
169
|
-
overlay: rgba(0, 0, 0, 0.5)
|
170
|
-
```
|
171
|
-
|
172
|
-
[Example page](https://www.althack.dev/jekyll-theme-profile/page/background)
|
173
|
-
|
174
|
-
#### Header
|
175
|
-
|
176
|
-
You can change the header color by adding the following to your `_config.yml` file
|
177
|
-
|
178
|
-
```yaml
|
179
|
-
header:
|
180
|
-
color: "#4051b5"
|
181
|
-
text: "rgba(255,255,255,0.7)"
|
182
|
-
accent: "#ffffff"
|
183
|
-
```
|
184
|
-
|
185
|
-
### Nav
|
186
|
-
|
187
|
-
In the `nav` section, you can add navigation links that will show up on every page of your website.
|
188
|
-
|
189
|
-
{: .border}
|
190
|
-
|
191
|
-
```yaml
|
192
|
-
nav:
|
193
|
-
- name: Topbar
|
194
|
-
url: /demo/topbar.html
|
195
|
-
- name: Sidebar
|
196
|
-
url: /demo/sidebar.html
|
197
|
-
- name: Stacked
|
198
|
-
url: /demo/stacked.html
|
199
|
-
```
|
200
|
-
|
201
|
-
### Links
|
202
|
-
|
203
|
-
In the `links` section, you can add links to showcase various pages on the web or your website.
|
204
|
-
|
205
|
-
{: .border}
|
206
|
-
|
207
|
-
```yaml
|
208
|
-
links:
|
209
|
-
- name: Example full entry
|
210
|
-
url: https://www.example.com
|
211
|
-
thumbnail: /media/icon-topbar.png
|
212
|
-
description: Example description
|
213
|
-
- name: Example entry with url and image
|
214
|
-
url: https://www.example.com
|
215
|
-
thumbnail: /media/icon-sidebar.png
|
216
|
-
- name: Example entry with image
|
217
|
-
thumbnail: /media/icon-stacked.png
|
218
|
-
- name: Example entry with description
|
219
|
-
description: Example Description
|
220
|
-
- name: Example entry with only a name
|
221
|
-
```
|
222
|
-
|
223
|
-
### Repositories
|
224
|
-
|
225
|
-
The `repositories` section allows you to display your GitHub repositories on your page. You can sort them by stars or latest pushes, set a limit to the number of repositories displayed, and exclude archived, forked, or specific repositories from the list
|
226
|
-
|
227
|
-
{: .border}
|
228
|
-
|
229
|
-
```yaml
|
230
|
-
repositories:
|
231
|
-
sort_by: stars
|
232
|
-
# sort_by options:
|
233
|
-
# - pushed
|
234
|
-
# - stars
|
235
|
-
limit: 24
|
236
|
-
exclude:
|
237
|
-
archived: true
|
238
|
-
forks: true
|
239
|
-
repositories:
|
240
|
-
# - respositories to exclude
|
241
|
-
```
|
242
|
-
|
243
|
-
### Social media and SEO
|
244
|
-
|
245
|
-
#### Setting the social media card
|
246
|
-
|
247
|
-
You can set the social media image for your site with the setting
|
248
|
-
|
249
|
-
```yaml
|
250
|
-
image: /screenshot.jpg
|
251
|
-
```
|
252
|
-
|
253
|
-
This works on both yaml frontmatter for a page and in the `_config.yml` file. Page settings will override site settings.
|
254
|
-
|
255
|
-
Set the default for posts through the default settings in the `_config.yml` file.
|
256
|
-
|
257
|
-
```yaml
|
258
|
-
defaults:
|
259
|
-
- scope:
|
260
|
-
path: "" # an empty string here means all files in the project
|
261
|
-
type: "posts"
|
262
|
-
values:
|
263
|
-
layout: "post"
|
264
|
-
permalink: /blog/:year/:month/:day/:title.html
|
265
|
-
image: /assets/img/default.png # The default image used for social and posts.
|
266
|
-
toc: true
|
267
|
-
```
|
268
|
-
|
269
|
-
#### Adding your socials
|
270
|
-
|
271
|
-
Utilize the `social_media` section to add links to your various social media profiles. For each platform simply provide your username or user ID to have the corresponding icon and link appear on your profile.
|
272
|
-
|
273
|
-
{: .border}
|
274
|
-
|
275
|
-
```yaml
|
276
|
-
social_media:
|
277
|
-
behance: your_username
|
278
|
-
dribbble: your_username
|
279
|
-
docker: your_username
|
280
|
-
facebook: your_username
|
281
|
-
github: your_username
|
282
|
-
hackerrank: your_username
|
283
|
-
instagram: your_username
|
284
|
-
keybase: your_username
|
285
|
-
linkedin: your_username
|
286
|
-
mail: email@address
|
287
|
-
mastodon: your_username
|
288
|
-
medium: your_username
|
289
|
-
stackoverflow: your_user_id
|
290
|
-
telegram: your_username
|
291
|
-
threads: your_username
|
292
|
-
tiktok: your_username
|
293
|
-
twitter: your_username
|
294
|
-
unsplash: your_username
|
295
|
-
vk: your_username
|
296
|
-
vscode: your_username
|
297
|
-
youtube: your_username
|
298
|
-
x: your_username
|
299
|
-
```
|
300
|
-
|
301
|
-
You can also set the icon color. If you don't set an icon color, the original icon colors will be used.
|
302
|
-
|
303
|
-
```yaml
|
304
|
-
icon_color: "#959da5"
|
305
|
-
```
|
306
|
-
|
307
|
-
### Blog timeline
|
308
|
-
|
309
|
-
Make entries for the blog the same way you normally would by placing entries in the `_posts` folder. You can adjust the number of entries that show up in the main page by adjusting `posts_limit` in the `_config.yml` file. If you have paginate installed and more posts than the limit, a `Read more` button will link to the paginated blog post page /blog/index.html.
|
310
|
-
|
311
|
-
{: .border}
|
312
|
-
|
313
|
-
```yaml
|
314
|
-
posts_limit: 3
|
315
|
-
```
|
316
|
-
|
317
|
-
Additionally, the theme provides a paginate layout you can use.
|
318
|
-
|
319
|
-
To use, add `gem jekyll-paginate` to your gemfile and the following lines to your `_config.yml`
|
320
|
-
|
321
|
-
```yaml
|
322
|
-
paginate: 6
|
323
|
-
paginate_path: "/blog/page:num"
|
324
|
-
```
|
325
|
-
|
326
|
-
And adding a `index.html` page at the `pagenate_path`
|
327
|
-
|
328
|
-
```yaml
|
329
|
-
---
|
330
|
-
layout: paginate
|
331
|
-
title: My Blog
|
332
|
-
---
|
333
|
-
```
|
334
|
-
|
335
|
-
## Custom styles
|
336
|
-
|
337
|
-
### Site style
|
338
|
-
|
339
|
-
You can override any style with styles defined in `/assets/css/style.css` or `/assets/css/style.scss` files. This is to support config based styling which needs jekyll variables.
|
340
|
-
|
341
|
-
### Page style
|
342
|
-
|
343
|
-
You can add css to any page through the `css_style` variable in front matter.
|
344
|
-
|
345
|
-
```yaml
|
346
|
-
---
|
347
|
-
css_style: |
|
348
|
-
.Link-btn {
|
349
|
-
background: rgba(0.1, 0.1, 0.1, 0.4);
|
350
|
-
color: #FFFF;
|
351
|
-
}
|
352
|
-
h1 {
|
353
|
-
color: #FFFF;
|
354
|
-
}
|
355
|
-
---
|
356
|
-
|
357
|
-
```
|
22
|
+
See the [documentation](https://www.althack.dev/jekyll-theme-profile/docs) for additional details.
|
358
23
|
|
359
24
|
## Contributing
|
360
25
|
|
data/_config.yml
CHANGED
@@ -4,12 +4,6 @@ title: Jekyll Theme Profile
|
|
4
4
|
description: Theme built with jekyll-theme-profile
|
5
5
|
# image: /assets/img/social-preview.png
|
6
6
|
# repository: athackst/jekyll-theme-profile
|
7
|
-
# base_url: "jekyll-theme-profile"
|
8
|
-
|
9
|
-
collections:
|
10
|
-
docs:
|
11
|
-
output: true
|
12
|
-
sort_by: order
|
13
7
|
|
14
8
|
defaults:
|
15
9
|
- scope:
|
@@ -22,13 +16,10 @@ defaults:
|
|
22
16
|
toc: true
|
23
17
|
- scope:
|
24
18
|
path: "" # an empty string here means all files in the project
|
25
|
-
type: "
|
19
|
+
type: "pages"
|
26
20
|
values:
|
27
|
-
layout: "
|
21
|
+
layout: "page"
|
28
22
|
image: /assets/img/default.png # The default image used for social and posts.
|
29
|
-
index: /docs/index.html
|
30
|
-
permalink: /docs/:path:output_ext
|
31
|
-
toc: true
|
32
23
|
|
33
24
|
# ########### Theme settings ###############
|
34
25
|
# The style of the website
|
@@ -36,8 +27,8 @@ style: appbar # One of "stacked", "sidebar", "topbar", "appbar"
|
|
36
27
|
# The user/project avatar. If not set the avatar of the project owner will be used.
|
37
28
|
# user_image: /assets/img/user-image.jpg
|
38
29
|
# The themes to use for dark and light
|
39
|
-
dark_theme: dark_dimmed
|
40
|
-
light_theme: light
|
30
|
+
dark_theme: dark # One of dark, dark_dimmed, dark_colorblind, dark_high_contrast, dark_tritanopia
|
31
|
+
light_theme: light # One of light, light_colorblind, light_high_contrast, light_tritanopia
|
41
32
|
|
42
33
|
repo_info: true # Show the information for the source of this project
|
43
34
|
user_metadata: true # Show the metadata associated with the user
|
@@ -91,36 +82,29 @@ profile_link: true # Show a link to the github profile for the user
|
|
91
82
|
###################
|
92
83
|
# Repositories to show on home page
|
93
84
|
repositories:
|
94
|
-
sort_by: stars
|
95
|
-
# sort_by options:
|
96
|
-
# - pushed
|
97
|
-
# - stars
|
85
|
+
sort_by: stars #pushed or stars
|
98
86
|
limit: 24
|
99
87
|
exclude:
|
100
88
|
archived: true
|
101
89
|
forks: true
|
102
90
|
repositories:
|
103
|
-
# - list of
|
104
|
-
|
105
|
-
########################
|
106
|
-
# Post timeline
|
107
|
-
# posts_limit: 3 # The number of posts to show in home (also can be defined in page)
|
91
|
+
# - list of repositories to exclude
|
108
92
|
|
109
93
|
########################
|
110
|
-
# Post
|
94
|
+
# Post settings
|
111
95
|
related_by: "tags or categories"
|
112
96
|
|
113
97
|
# ########### Plugin settings ###############
|
114
98
|
plugins:
|
115
99
|
- jekyll-github-metadata
|
116
100
|
- jekyll-octicons
|
117
|
-
- jekyll-relative-links
|
118
101
|
- jekyll-seo-tag
|
119
102
|
- jekyll-toc
|
120
103
|
- jemoji
|
121
104
|
|
122
105
|
####################
|
123
106
|
# jekyll-paginate settings
|
107
|
+
# Include `gem jekyll-paginate` in your gemfile
|
124
108
|
# paginate: 6 # The number of posts to show per page of pagination of blog posts
|
125
109
|
# paginate_path: "/blog/page:num"
|
126
110
|
# ###################
|
@@ -130,19 +114,12 @@ plugins:
|
|
130
114
|
# tag_page_dir: tags
|
131
115
|
# ####################
|
132
116
|
# jekyll-category-pages settings
|
117
|
+
# Include `gem jekyll-category-pages` in your gemfile
|
133
118
|
# category_path: category
|
134
119
|
# category_layout: category_layout.html
|
135
120
|
######################
|
136
|
-
# jekyll-relative-links settings
|
137
|
-
relative_links:
|
138
|
-
enabled: true
|
139
|
-
collections: true
|
140
121
|
|
141
122
|
# ########### Build settings ###############
|
142
123
|
exclude:
|
143
124
|
- spec
|
144
|
-
- vendor
|
145
|
-
- .jekyll-cache
|
146
|
-
- _site
|
147
|
-
- node_modules
|
148
125
|
- demo
|
@@ -1,53 +1,77 @@
|
|
1
|
+
{%- comment -%}
|
2
|
+
collection-menu.html
|
3
|
+
|
4
|
+
Generates a dropdown menu for a Jekyll collection, grouping items by their "category" front matter.
|
5
|
+
Useful for documentation, guides, or any collection-based navigation.
|
6
|
+
|
7
|
+
Parameters:
|
8
|
+
- collection (defaults to site.docs): The Jekyll collection to display.
|
9
|
+
- name: Display name for the collection header.
|
10
|
+
- index: Optional index page object for the collection (e.g., site.docs_index).
|
11
|
+
- id (default: "collection-menu"): HTML ID for the menu container (useful when multiple menus are present).
|
12
|
+
|
13
|
+
Example Usage:
|
14
|
+
{% include collection-menu.html collection=site.docs name="Documentation" index=site.docs_index id="docs-menu" %}
|
15
|
+
{%- endcomment -%}
|
16
|
+
|
1
17
|
{%- assign collection = include.collection | default: site.docs %}
|
2
18
|
{%- assign collection_name = include.name %}
|
3
19
|
{%- assign collection_index = include.index %}
|
20
|
+
{%- assign collection_id = include.id | default: "collection-menu" %}
|
21
|
+
{% comment %}computed variables{% endcomment %}
|
4
22
|
{%- assign index_url = collection_index.url %}
|
5
23
|
{%- assign collection_without_index = collection | where_exp: "item", "item.url != index_url" %}
|
6
24
|
|
7
|
-
<
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
25
|
+
<script>
|
26
|
+
$(document).ready(function () {
|
27
|
+
const $menu = $("#{{ collection_id }}");
|
28
|
+
const $closeButton = $(".close-menu");
|
29
|
+
|
30
|
+
if ($menu.length && $closeButton.length) {
|
31
|
+
$closeButton.click(() => $menu.removeAttr("open")); // Properly closes the dropdown
|
32
|
+
}
|
33
|
+
});
|
34
|
+
</script>
|
35
|
+
|
36
|
+
<details class="details-reset details-overlay" id="{{ collection_id }}">
|
37
|
+
<summary class="btn btn-invisible" aria-haspopup="true">
|
38
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
39
|
+
<path d="M4 6H20M4 12H20M4 18H20" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
|
40
|
+
</svg>
|
41
|
+
</summary>
|
42
|
+
<details-menu class="SelectMenu" role="menu">
|
43
|
+
<div class="SelectMenu-modal">
|
44
|
+
|
45
|
+
<div class="SelectMenu-header">
|
46
|
+
<div tabindex="-1" class="SelectMenu-title" id="github-logo">
|
47
|
+
{%- if collection_index %}
|
13
48
|
<a href="{{ collection_index.url | relative_url }}"
|
14
49
|
class="AppHeader-link d-flex flex-items-center no-underline mr-3">
|
15
50
|
<span class="h3 color-fg-default text-bold">{{ collection_name }}</span>
|
16
51
|
</a>
|
17
|
-
{
|
52
|
+
{%- else %}
|
18
53
|
<div class="AppHeader-link d-flex flex-items-center no-underline mr-3">
|
19
54
|
<span class="h3 color-fg-default text-bold">{{ collection_name }}</span>
|
20
55
|
</div>
|
21
|
-
{
|
56
|
+
{%- endif %}
|
57
|
+
</div>
|
58
|
+
<div class="d-flex flex-justify-end">
|
59
|
+
<button class="SelectMenu-closeButton close-menu" type="button">
|
60
|
+
{% octicon x height: 16 %}
|
61
|
+
</button>
|
22
62
|
</div>
|
23
63
|
</div>
|
24
|
-
<div class="
|
25
|
-
<button id="close-contents-btn" class="close-button Overlay-closeButton">
|
26
|
-
{% octicon x height: 16 %}
|
27
|
-
</button>
|
28
|
-
</div>
|
29
|
-
</div>
|
30
|
-
<div class="Overlay-body d-flex flex-column p-2">
|
31
|
-
<ul data-overflow-nav class="ActionList border-0">
|
64
|
+
<div class="SideNav border overflow-y-auto">
|
32
65
|
{%- assign collection_categories = collection_without_index | group_by: "category" %}
|
33
66
|
{%- for category in collection_categories %}
|
34
67
|
{%- assign category_name = category.name | default: collection_name %}
|
35
|
-
<
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
<li class="menu-item ActionList-item border-0" {% if page.url==nav_item.url %}
|
41
|
-
aria-current="page" {% endif %}>
|
42
|
-
{{ nav_item.title }}
|
43
|
-
</li>
|
44
|
-
</a>
|
45
|
-
{%- endif %}
|
46
|
-
{%- endfor %}
|
47
|
-
</ul>
|
48
|
-
</li>
|
68
|
+
<div class="SideNav-item no-underline h4">{{ category_name | capitalize }}</div>
|
69
|
+
{%- for nav_item in category.items %}
|
70
|
+
<a href="{{ nav_item.url }}" class="SideNav-item" role="menuitem" {% if page.url contains nav_item.url
|
71
|
+
%} aria-current="page" {% endif %}>{{ nav_item.title }}</a>
|
72
|
+
{%- endfor %}
|
49
73
|
{%- endfor %}
|
50
|
-
</
|
74
|
+
</div>
|
51
75
|
</div>
|
52
|
-
</
|
53
|
-
</
|
76
|
+
</details-menu>
|
77
|
+
</details>
|
@@ -0,0 +1,99 @@
|
|
1
|
+
{%- assign bg_image = page.background.image | default: site.background.image %}
|
2
|
+
{%- assign dark_overlay = page.background.dark.overlay | default: page.background.overlay | default: site.background.dark.overlay | default: site.background.overlay %}
|
3
|
+
{%- assign light_overlay = page.background.light.overlay | default: page.background.overlay | default: site.background.light.overlay | default: site.background.overlay %}
|
4
|
+
{%- assign header_color = page.header.color | default: site.header.color %}
|
5
|
+
{%- assign header_text = page.header.text | default: site.header.text %}
|
6
|
+
{%- assign header_accent = page.header.accent | default: site.header.accent %}
|
7
|
+
{%- assign header_image = page.header.image | default: site.header.image %}
|
8
|
+
{%- assign header_overlay = page.header.overlay | default: site.header.overlay %}
|
9
|
+
<style>
|
10
|
+
{%- if bg_image %}
|
11
|
+
body {
|
12
|
+
position: relative;
|
13
|
+
background-image: url('{{ bg_image | relative_url }}');
|
14
|
+
background-size: cover;
|
15
|
+
background-repeat: no-repeat;
|
16
|
+
background-attachment: fixed;
|
17
|
+
z-index: -10;
|
18
|
+
}
|
19
|
+
{%- endif %}
|
20
|
+
{%- if dark_overlay %}
|
21
|
+
/* Dark mode styles */
|
22
|
+
[data-color-mode='dark'] {
|
23
|
+
--overlay-color: {{ dark_overlay }};
|
24
|
+
}
|
25
|
+
@media(prefers-color-scheme: dark) {
|
26
|
+
[data-color-mode='auto'][data-dark-theme='dark_dimmed'] {
|
27
|
+
--overlay-color: {{ dark_overlay }};
|
28
|
+
}
|
29
|
+
}
|
30
|
+
{%- endif %}
|
31
|
+
{%- if light_overlay %}
|
32
|
+
/* Light mode styles */
|
33
|
+
[data-color-mode='light'] {
|
34
|
+
--overlay-color: {{ light_overlay }};
|
35
|
+
}
|
36
|
+
|
37
|
+
@media(prefers-color-scheme: light) {
|
38
|
+
[data-color-mode='auto'][data-light-theme='light'] {
|
39
|
+
--overlay-color: {{ light_overlay }};
|
40
|
+
}
|
41
|
+
}
|
42
|
+
{%- endif %}
|
43
|
+
{%- if header_color %}
|
44
|
+
.Header {
|
45
|
+
--color-header-bg: {{ header_color }};
|
46
|
+
}
|
47
|
+
/* Light mode styles */
|
48
|
+
[data-color-mode='light'] {
|
49
|
+
--color-header-bg: {{ header_color }};
|
50
|
+
}
|
51
|
+
|
52
|
+
@media(prefers-color-scheme: light) {
|
53
|
+
[data-color-mode='auto'][data-light-theme='light'] {
|
54
|
+
--color-header-bg: {{ header_color }};
|
55
|
+
}
|
56
|
+
}
|
57
|
+
/* Dark mode styles */
|
58
|
+
[data-color-mode='dark'] {
|
59
|
+
--color-header-bg: {{ header_color }};
|
60
|
+
}
|
61
|
+
@media(prefers-color-scheme: dark) {
|
62
|
+
[data-color-mode='auto'][data-dark-theme='dark_dimmed'] {
|
63
|
+
--color-header-bg: {{ header_color }};
|
64
|
+
}
|
65
|
+
}
|
66
|
+
{%- endif %}
|
67
|
+
{%- if header_text %}
|
68
|
+
.Header {
|
69
|
+
--color-header-logo: {{ header_text }};
|
70
|
+
--color-fg-muted: {{ header_text }};
|
71
|
+
}
|
72
|
+
{%- endif %}
|
73
|
+
{%- if header_accent %}
|
74
|
+
.Header {
|
75
|
+
--color-header-text: {{ header_accent }};
|
76
|
+
--color-accent-fg: {{ header_accent }};
|
77
|
+
}
|
78
|
+
{%- endif %}
|
79
|
+
{%- if header_image %}
|
80
|
+
.Header {
|
81
|
+
position: relative;
|
82
|
+
background-image: url('{{ header_image | relative_url }}');
|
83
|
+
background-size: cover;
|
84
|
+
background-repeat: no-repeat;
|
85
|
+
}
|
86
|
+
{%- endif %}
|
87
|
+
{%- if header_overlay %}
|
88
|
+
.Header::before {
|
89
|
+
content: "";
|
90
|
+
position: absolute;
|
91
|
+
top: 0;
|
92
|
+
right: 0;
|
93
|
+
bottom: 0;
|
94
|
+
left: 0;
|
95
|
+
z-index: -1;
|
96
|
+
background-color: {{ header_overlay }};
|
97
|
+
}
|
98
|
+
{%- endif %}
|
99
|
+
</style>
|