jekyll-theme-profile 1.12.5 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +21 -0
  3. data/_config.yml +6 -4
  4. data/_includes/breadcrumbs.html +4 -1
  5. data/_includes/category_index.html +18 -0
  6. data/_includes/collection-menu.html +1 -1
  7. data/_includes/custom-colors.html +2 -2
  8. data/_includes/footer.html +1 -1
  9. data/_includes/head.html +4 -2
  10. data/_includes/header-appbar.html +3 -3
  11. data/_includes/header-sidebar.html +4 -4
  12. data/_includes/header-stacked.html +1 -1
  13. data/_includes/header-topbar.html +4 -4
  14. data/_includes/link-card.html +16 -2
  15. data/_includes/mini-repo-info-card.html +6 -4
  16. data/_includes/nav-overlay.html +2 -2
  17. data/_includes/navbar-underline.html +8 -5
  18. data/_includes/post-card.html +1 -0
  19. data/_includes/post-feature-card.html +4 -4
  20. data/_includes/post-gallery.html +15 -11
  21. data/_includes/post-index.html +13 -8
  22. data/_includes/post-timeline-card.html +26 -3
  23. data/_includes/post-timeline.html +15 -22
  24. data/_includes/related.html +1 -1
  25. data/_includes/repo-card.html +16 -12
  26. data/_includes/user-metadata.html +12 -6
  27. data/_layouts/category_index.html +3 -2
  28. data/_layouts/category_layout.html +1 -1
  29. data/_layouts/default.html +7 -6
  30. data/_layouts/docs.html +126 -81
  31. data/_layouts/docs_index.html +32 -0
  32. data/_layouts/page.html +8 -8
  33. data/_layouts/paginate.html +1 -1
  34. data/_layouts/post.html +18 -19
  35. data/_layouts/profile.html +32 -32
  36. data/_layouts/tag_index.html +3 -2
  37. data/_layouts/tags.html +1 -1
  38. data/_sass/_main.scss +10 -0
  39. data/assets/css/theme.scss +4 -1
  40. data/assets/js/topbar.js +19 -0
  41. metadata +12 -67
  42. data/README.md +0 -32
  43. data/_includes/thumbnail.html +0 -19
  44. data/assets/js/timeline.js +0 -49
data/_sass/_main.scss CHANGED
@@ -1,3 +1,6 @@
1
+ :root {
2
+ --topbar-height: 150px;
3
+ }
1
4
  // Needed for setting the background overlay
2
5
  body::before {
3
6
  content: "";
@@ -11,6 +14,13 @@ body::before {
11
14
  /* Use the --overlay-color variable here */
12
15
  }
13
16
 
17
+ .topbar-aware-height {
18
+ height: calc(100vh - var(--topbar-height, 150px));
19
+ }
20
+ .topbar-aware-top {
21
+ top: var(--topbar-height, 150px);
22
+ }
23
+
14
24
  .avatar-user {
15
25
  border-radius: 50% !important;
16
26
  }
@@ -1,8 +1,11 @@
1
1
  ---
2
2
  ---
3
- {% if site.github.versions != blank %}
3
+ {% assign jekyll_version=jekyll.version | split: "." | first %}
4
+ {% if jekyll_version == '3' %}
5
+ /* Jekyll version 3 detected */
4
6
  @import 'jekyll-theme-profile-compat';
5
7
  {% else %}
8
+ /* Jekyll version 4+ detected */
6
9
  @use 'jekyll-theme-profile';
7
10
  {% endif %}
8
11
 
@@ -0,0 +1,19 @@
1
+ document.addEventListener("DOMContentLoaded", function () {
2
+ function updateTopBarHeight() {
3
+ const topBar = document.querySelector('.topbar');
4
+ const topBarHeight = topBar ? topBar.offsetHeight : 0;
5
+
6
+ // 1. Set CSS variable for layout
7
+ document.documentElement.style.setProperty('--topbar-height', `${topBarHeight}px`);
8
+
9
+ // 2. Dispatch event for any JS-based listeners (timeline cards, etc)
10
+ document.dispatchEvent(new CustomEvent('topbarHeightUpdated', {
11
+ detail: { topBarHeight }
12
+ }));
13
+
14
+ console.log("[topbar.js] --topbar-height set to", topBarHeight);
15
+ }
16
+
17
+ updateTopBarHeight();
18
+ window.addEventListener('resize', updateTopBarHeight);
19
+ });
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-profile
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.5
4
+ version: 1.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Allison Thackston
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-24 00:00:00.000000000 Z
11
+ date: 2026-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: csv
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 3.3.0
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 3.3.0
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: jekyll
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -44,76 +30,34 @@ dependencies:
44
30
  - - "<"
45
31
  - !ruby/object:Gem::Version
46
32
  version: '5.0'
47
- - !ruby/object:Gem::Dependency
48
- name: jekyll-github-metadata
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '2.9'
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '2.9'
61
- - !ruby/object:Gem::Dependency
62
- name: jekyll-octicons
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '19.4'
68
- type: :runtime
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '19.4'
75
33
  - !ruby/object:Gem::Dependency
76
34
  name: jekyll-seo-tag
77
35
  requirement: !ruby/object:Gem::Requirement
78
36
  requirements:
79
37
  - - "~>"
80
38
  - !ruby/object:Gem::Version
81
- version: '2.0'
82
- type: :runtime
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - "~>"
87
- - !ruby/object:Gem::Version
88
- version: '2.0'
89
- - !ruby/object:Gem::Dependency
90
- name: jekyll-toc
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: '0.18'
39
+ version: '2.8'
96
40
  type: :runtime
97
41
  prerelease: false
98
42
  version_requirements: !ruby/object:Gem::Requirement
99
43
  requirements:
100
44
  - - "~>"
101
45
  - !ruby/object:Gem::Version
102
- version: '0.18'
46
+ version: '2.8'
103
47
  - !ruby/object:Gem::Dependency
104
48
  name: jemoji
105
49
  requirement: !ruby/object:Gem::Requirement
106
50
  requirements:
107
51
  - - "~>"
108
52
  - !ruby/object:Gem::Version
109
- version: '0.11'
53
+ version: '0.13'
110
54
  type: :runtime
111
55
  prerelease: false
112
56
  version_requirements: !ruby/object:Gem::Requirement
113
57
  requirements:
114
58
  - - "~>"
115
59
  - !ruby/object:Gem::Version
116
- version: '0.11'
60
+ version: '0.13'
117
61
  - !ruby/object:Gem::Dependency
118
62
  name: kramdown-parser-gfm
119
63
  requirement: !ruby/object:Gem::Requirement
@@ -135,9 +79,10 @@ executables: []
135
79
  extensions: []
136
80
  extra_rdoc_files: []
137
81
  files:
138
- - README.md
82
+ - LICENSE
139
83
  - _config.yml
140
84
  - _includes/breadcrumbs.html
85
+ - _includes/category_index.html
141
86
  - _includes/collection-menu.html
142
87
  - _includes/custom-colors.html
143
88
  - _includes/footer.html
@@ -167,13 +112,13 @@ files:
167
112
  - _includes/repo-card.html
168
113
  - _includes/repositories.html
169
114
  - _includes/social.html
170
- - _includes/thumbnail.html
171
115
  - _includes/toggle.html
172
116
  - _includes/user-metadata.html
173
117
  - _layouts/category_index.html
174
118
  - _layouts/category_layout.html
175
119
  - _layouts/default.html
176
120
  - _layouts/docs.html
121
+ - _layouts/docs_index.html
177
122
  - _layouts/home.html
178
123
  - _layouts/landing.html
179
124
  - _layouts/linktree.html
@@ -198,8 +143,8 @@ files:
198
143
  - assets/img/user-image.jpg
199
144
  - assets/js/anchor-links.js
200
145
  - assets/js/theme-toggle.js
201
- - assets/js/timeline.js
202
- homepage: https://www.althack.dev/jekyll-theme-profile
146
+ - assets/js/topbar.js
147
+ homepage: https://www.primerpages.com
203
148
  licenses:
204
149
  - MIT
205
150
  metadata: {}
@@ -218,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
163
  - !ruby/object:Gem::Version
219
164
  version: '0'
220
165
  requirements: []
221
- rubygems_version: 3.5.22
166
+ rubygems_version: 3.4.20
222
167
  signing_key:
223
168
  specification_version: 4
224
169
  summary: Jekyll theme built off of Github's personal website template and primer.
data/README.md DELETED
@@ -1,32 +0,0 @@
1
- # jekyll-theme-profile
2
-
3
- ![jekyll-theme-profile](https://raw.githubusercontent.com/athackst/jekyll-theme-profile/main/screenshot.png)
4
-
5
-
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
-
8
- ## Quickstart
9
-
10
- Add this line to your Jekyll site's `Gemfile`:
11
-
12
- ```ruby
13
- gem "jekyll-theme-profile"
14
- ```
15
-
16
- And add this line to your Jekyll site's `_config.yml`:
17
-
18
- ```yaml
19
- theme: jekyll-theme-profile
20
- ```
21
-
22
- See the [documentation](https://www.althack.dev/jekyll-theme-profile/docs) for additional details.
23
-
24
- ## Contributing
25
-
26
- Bug reports and pull requests are welcome on GitHub at https://github.com/athackst/jekyll-theme-profile. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](https://www.contributor-covenant.org/) code of conduct.
27
-
28
- See [Contributing](/CONTRIBUTING.md) for more information on contributing to this theme.
29
-
30
- ## License
31
-
32
- The theme is available as open source under the terms of the [MIT License](https://opensource.org/license/mit/).
@@ -1,19 +0,0 @@
1
- {%- comment %}
2
- This creates a thumbnail image. Thumbnail images can either be set to an image or an octicon
3
-
4
- ## Inputs
5
-
6
- - thumbnail (optional)
7
- - octicon (optional)
8
-
9
- {%- endcomment %}
10
-
11
- {%- assign thumbnail = include.thumbnail %}
12
- {%- assign octicon = include.octicon %}
13
-
14
- {%- if include.thumbnail %}
15
- <img src="{{ thumbnail | relative_url }}" width="48" height="48"
16
- class="rounded-2 box-shadow-none img-cover float-left" alt="{{ name }}">
17
- {% elsif octicon %}
18
- {% octicon {{ octicon }} height:48 %}
19
- {% endif %}
@@ -1,49 +0,0 @@
1
- document.addEventListener("DOMContentLoaded", function () {
2
- console.log("Timeline script is running!");
3
-
4
- function updateTopBarHeight() {
5
- // Recalculate topBarHeight
6
- var topBarElement = document.querySelector('.topbar');
7
- topBarHeight = topBarElement ? topBarElement.offsetHeight : 0;
8
-
9
- // Update styles for each timeline title
10
- timelineTitles.forEach(function (title) {
11
- title.style.top = topBarHeight + "px";
12
- });
13
- console.log("Updated offsetHeight!");
14
- }
15
-
16
- // Set dimensions for all iframes with the same ID
17
- function setIframeDimensions() {
18
- var iframes = document.querySelectorAll('iframe[id="Timeline-video"]');
19
- console.log(iframes.length);
20
- var container = document.getElementById('Timeline-video-container');
21
-
22
- // Get the container's dimensions
23
- var containerWidth = container.offsetWidth;
24
- var containerHeight = container.offsetHeight;
25
- if (iframes) {
26
- iframes.forEach(function (iframe) {
27
- iframe.style.width = containerWidth + 'px';
28
- iframe.style.height = containerHeight + 'px';
29
- });
30
- console.log("Updated iframes width x height: " + containerWidth + " x " + containerHeight);
31
- }
32
- }
33
-
34
- // Default topBarHeight to 0 if .topbar doesn't exist
35
- var topBarHeight = 0;
36
- var timelineTitles = document.querySelectorAll(".TimelineItem-title");
37
-
38
- // Initial update
39
- updateTopBarHeight();
40
- setIframeDimensions();
41
-
42
- // Add event listener for window resize
43
- window.addEventListener('resize', function () {
44
- // Call the function to update topBarHeight and adjust styles
45
- console.log("resizing elements");
46
- updateTopBarHeight();
47
- setIframeDimensions();
48
- });
49
- });