al_folio_core 1.0.11 → 1.0.12

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a0caf83b1d9690592f8f86b5043c6840a1a3adf995c721dd719661acbdf0655
4
- data.tar.gz: 45c30b4f1347f32dfa7989d4f8bf05e3cde2b850902ca8a88a90b80c5e44fffe
3
+ metadata.gz: 5387437a7b8347fc9e93b04cdeba7c8c1dfb465b93fcd38bf15b8f8bccba5e82
4
+ data.tar.gz: 9788c8d4bfa98fffcaa773a498a90a05f184cb5a9f64b2efee7122b684777953
5
5
  SHA512:
6
- metadata.gz: 577bd3d1712aaa79bc38dbfd052ad54640114543cb06359c746ef4890d1276715e828f8a576a6c8d18422bd59b02cab12c8576f97fd8ac50e26ce8319a1db53b
7
- data.tar.gz: 2314d6fcb4fa89a1df8df8d11961db663d3737e4cb4e38d60499652b412cd2f01846ec8f529fc54395c17e3eb00145a24372c31af092790dec463d72d88cbdcd
6
+ metadata.gz: fd3e8be0858390fa7b6737da0fbd9c2679525d949d8de240b8252219bff7fd0cc5f74b45a1f9e01cef300c3355d1bea3f047b93062f20310297780e5743f3133
7
+ data.tar.gz: ca219b220b25f6ef0162c34eaed26cce81df78f6ab49c1cce68140a82c70f30224d1053544ca9a35997c3d0bd9ae1230a8ef829d8fac6761fca7d67ed467d6ab
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.12 - 2026-07-27
4
+
5
+ - Switched the default repository/user stat-card service from the unmaintained `github-readme-stats.vercel.app` to the actively maintained `github-stats-extended.vercel.app` fork (`_includes/repository/repo.liquid`, `_includes/repository/repo_user.liquid`). The public github-readme-stats instance has been unreliable for a long time, leaving repository cards blank; the fork is API-compatible, so every existing query parameter (`theme`, `locale`, `show_owner`, `description_lines_count`, `show_icons`) keeps working and the cards render identically. Requested upstream by a github-stats-extended maintainer in alshedivat/al-folio#3629.
6
+ - Stat-card service URLs now resolve through a `default:` fallback instead of interpolating `site.external_services.*` directly. Previously a site without an `external_services` block emitted a relative `/api/pin/?…` URL and every card 404'd; the service is still fully overridable for self-hosting. Applied to the trophy card as well (`_includes/repository/repo_trophies.liquid`), which keeps `github-profile-trophy.vercel.app`.
7
+ - Updated the in-template locale-code documentation links to the fork's `docs/advanced_documentation.md#available-locales`.
8
+ - Fixed `og:image` and `twitter:image` emitting relative asset paths (`_includes/metadata.liquid`). External scrapers (Discord, LinkedIn, Mastodon, Slack) cannot resolve a relative image URL, so shared link previews rendered without an image. Relative values are now prefixed with `site.url` + `site.baseurl`, matching how `og:url` is already built; values that are already absolute (contain `://`) are left untouched so a user-supplied CDN URL is not double-prefixed. Fixes alshedivat/al-folio#3666.
9
+ - Fixed mobile submenus rendering off-screen (`_sass/_navbar.scss`). Inside the collapsed navbar the dropdown inherited `position: absolute` and `right: 0` from the base Tailwind rule, which anchored it past the left edge of the viewport — measured at `left: -85.7px` on a 393px screen, leaving the menu items unreadable. Below the `sm` breakpoint the menu is now statically positioned, left-aligned, and wraps long entries. Fixes alshedivat/al-folio#3663. Thanks to @bibliophilecoder.
10
+ - Made those mobile submenus span the full navbar width. The mobile block sets `align-items: flex-start` on `.navbar-menu-list`, so each nav item is a shrink-to-fit flex item and the dropdown's `width: 100%` resolved against the toggle link rather than the navbar (102.5px inside a 361px navbar). The item owning a dropdown is now stretched, and the two adjacent `max-width: 575.98px` blocks are merged into one.
11
+
3
12
  ## 1.0.11 - 2026-06-02
4
13
 
5
14
  - Added `onerror` handlers to all repository stat-card images (`repo.liquid`, `repo_user.liquid`, `repo_trophies.liquid`). When the external github-readme-stats or github-profile-trophy service is unavailable the entire card is now hidden gracefully instead of showing broken alt-text.
@@ -59,7 +59,13 @@
59
59
  <meta property="og:url" content="{{ page.url | prepend: site.baseurl | prepend: site.url | remove_first: 'index.html' }}">
60
60
  <meta property="og:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
61
61
  {% if page.og_image or site.og_image %}
62
- <meta property="og:image" content="{% if page.og_image %}{{ page.og_image }}{% else %}{{ site.og_image }}{% endif %}">
62
+ {% assign og_image_source = page.og_image | default: site.og_image %}
63
+ {% if og_image_source contains '://' %}
64
+ {% assign og_image_url = og_image_source %}
65
+ {% else %}
66
+ {% assign og_image_url = og_image_source | prepend: site.baseurl | prepend: site.url %}
67
+ {% endif %}
68
+ <meta property="og:image" content="{{ og_image_url }}">
63
69
  {% endif %}
64
70
  <meta property="og:locale" content="{{ site.lang }}">
65
71
 
@@ -68,7 +74,7 @@
68
74
  <meta name="twitter:title" content="{% if page.title %}{{ page.title }}{% else %}{{ title }}{% endif %}">
69
75
  <meta name="twitter:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
70
76
  {% if page.og_image or site.og_image %}
71
- <meta name="twitter:image" content="{% if page.og_image %}{{ page.og_image }}{% else %}{{ site.og_image }}{% endif %}">
77
+ <meta name="twitter:image" content="{{ og_image_url }}">
72
78
  {% endif %}
73
79
  {% if site.x_username %}
74
80
  <meta name="twitter:site" content="@{{ site.x_username }}">
@@ -21,8 +21,8 @@
21
21
  {% endcase %}
22
22
 
23
23
  {% comment %} Add a new language using when... if needed {% endcomment %}
24
- {% comment %} If you still encounter language-display issues, check the available locale codes in github-readme-stats (different from ISO-639 standard used in your website) {% endcomment %}
25
- {% comment %} https://github.com/anuraghazra/github-readme-stats?tab=readme-ov-file#available-locales {% endcomment %}
24
+ {% comment %} If you still encounter language-display issues, check the available locale codes in github-stats-extended (different from ISO-639 standard used in your website) {% endcomment %}
25
+ {% comment %} https://github.com/stats-organization/github-stats-extended/blob/master/docs/advanced_documentation.md#available-locales {% endcomment %}
26
26
  {% endcase %}
27
27
 
28
28
  {% if site.data.repositories.repo_description_lines_max %}
@@ -31,18 +31,21 @@
31
31
  {% assign max_lines = 2 %}
32
32
  {% endif %}
33
33
 
34
+ {% comment %} Defaults to the maintained github-stats-extended fork; override via `external_services.github_readme_stats_url` to self-host. {% endcomment %}
35
+ {% assign stats_url = site.external_services.github_readme_stats_url | default: 'https://github-stats-extended.vercel.app' %}
36
+
34
37
  <div class="repo p-2 text-center">
35
38
  <a href="https://github.com/{{ include.repository }}">
36
39
  <img
37
40
  class="only-light w-100"
38
41
  alt="{{ include.repository }}"
39
- src="{{ site.external_services.github_readme_stats_url }}/api/pin/?username={{ repo_url[0] }}&repo={{ repo_url[1] }}&theme={{ site.repo_theme_light }}&locale={{ lang }}&show_owner={{ show_owner }}&description_lines_count={{ max_lines }}"
42
+ src="{{ stats_url }}/api/pin/?username={{ repo_url[0] }}&repo={{ repo_url[1] }}&theme={{ site.repo_theme_light }}&locale={{ lang }}&show_owner={{ show_owner }}&description_lines_count={{ max_lines }}"
40
43
  onerror="this.closest('.repo').style.display='none'"
41
44
  >
42
45
  <img
43
46
  class="only-dark w-100"
44
47
  alt="{{ include.repository }}"
45
- src="{{ site.external_services.github_readme_stats_url }}/api/pin/?username={{ repo_url[0] }}&repo={{ repo_url[1] }}&theme={{ site.repo_theme_dark }}&locale={{ lang }}&show_owner={{ show_owner }}&description_lines_count={{ max_lines }}"
48
+ src="{{ stats_url }}/api/pin/?username={{ repo_url[0] }}&repo={{ repo_url[1] }}&theme={{ site.repo_theme_dark }}&locale={{ lang }}&show_owner={{ show_owner }}&description_lines_count={{ max_lines }}"
46
49
  onerror="this.closest('.repo').style.display='none'"
47
50
  >
48
51
  </a>
@@ -1,16 +1,19 @@
1
+ {% comment %} Service URL is overridable via `external_services.github_profile_trophy_url` for self-hosting. {% endcomment %}
2
+ {% assign trophy_url = site.external_services.github_profile_trophy_url | default: 'https://github-profile-trophy.vercel.app' %}
3
+
1
4
  <div class="repo p-2 text-center">
2
5
  <a href="https://github.com/ryo-ma/github-profile-trophy">
3
6
  <span class="d-none d-sm-none d-md-block">
4
7
  <img
5
8
  class="only-light"
6
9
  alt="{{ include.username }}"
7
- src="{{ site.external_services.github_profile_trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=6"
10
+ src="{{ trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=6"
8
11
  onerror="this.closest('.repo').style.display='none'"
9
12
  >
10
13
  <img
11
14
  class="only-dark"
12
15
  alt="{{ include.username }}"
13
- src="{{ site.external_services.github_profile_trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=6"
16
+ src="{{ trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=6"
14
17
  onerror="this.closest('.repo').style.display='none'"
15
18
  >
16
19
  </span>
@@ -19,13 +22,13 @@
19
22
  <img
20
23
  class="only-light"
21
24
  alt="{{ include.username }}"
22
- src="{{ site.external_services.github_profile_trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=4"
25
+ src="{{ trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=4"
23
26
  onerror="this.closest('.repo').style.display='none'"
24
27
  >
25
28
  <img
26
29
  class="only-dark"
27
30
  alt="{{ include.username }}"
28
- src="{{ site.external_services.github_profile_trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=4"
31
+ src="{{ trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=4"
29
32
  onerror="this.closest('.repo').style.display='none'"
30
33
  >
31
34
  </span>
@@ -34,13 +37,13 @@
34
37
  <img
35
38
  class="only-light"
36
39
  alt="{{ include.username }}"
37
- src="{{ site.external_services.github_profile_trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=3"
40
+ src="{{ trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=3"
38
41
  onerror="this.closest('.repo').style.display='none'"
39
42
  >
40
43
  <img
41
44
  class="only-dark"
42
45
  alt="{{ include.username }}"
43
- src="{{ site.external_services.github_profile_trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=3"
46
+ src="{{ trophy_url }}/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=3"
44
47
  onerror="this.closest('.repo').style.display='none'"
45
48
  >
46
49
  </span>
@@ -14,22 +14,25 @@
14
14
  {% endcase %}
15
15
 
16
16
  {% comment %} Add a new language using when... if needed {% endcomment %}
17
- {% comment %} If you still encounter language-display issues, check the available locale codes in github-readme-stats (different from ISO-639 standard used in your website) {% endcomment %}
18
- {% comment %} https://github.com/anuraghazra/github-readme-stats?tab=readme-ov-file#available-locales {% endcomment %}
17
+ {% comment %} If you still encounter language-display issues, check the available locale codes in github-stats-extended (different from ISO-639 standard used in your website) {% endcomment %}
18
+ {% comment %} https://github.com/stats-organization/github-stats-extended/blob/master/docs/advanced_documentation.md#available-locales {% endcomment %}
19
19
  {% endcase %}
20
20
 
21
+ {% comment %} Defaults to the maintained github-stats-extended fork; override via `external_services.github_readme_stats_url` to self-host. {% endcomment %}
22
+ {% assign stats_url = site.external_services.github_readme_stats_url | default: 'https://github-stats-extended.vercel.app' %}
23
+
21
24
  <div class="repo p-2 text-center">
22
25
  <a href="https://github.com/{{ include.username }}">
23
26
  <img
24
27
  class="only-light w-100"
25
28
  alt="{{ include.username }}"
26
- src="{{ site.external_services.github_readme_stats_url }}/api/?username={{ include.username }}&theme={{ site.repo_theme_light }}&locale={{ lang }}&show_icons=true"
29
+ src="{{ stats_url }}/api/?username={{ include.username }}&theme={{ site.repo_theme_light }}&locale={{ lang }}&show_icons=true"
27
30
  onerror="this.closest('.repo').style.display='none'"
28
31
  >
29
32
  <img
30
33
  class="only-dark w-100"
31
34
  alt="{{ include.username }}"
32
- src="{{ site.external_services.github_readme_stats_url }}/api/?username={{ include.username }}&theme={{ site.repo_theme_dark }}&locale={{ lang }}&show_icons=true"
35
+ src="{{ stats_url }}/api/?username={{ include.username }}&theme={{ site.repo_theme_dark }}&locale={{ lang }}&show_icons=true"
33
36
  onerror="this.closest('.repo').style.display='none'"
34
37
  >
35
38
  </a>
data/_sass/_navbar.scss CHANGED
@@ -35,6 +35,28 @@
35
35
  align-items: flex-start;
36
36
  width: 100%;
37
37
  }
38
+
39
+ // `align-items: flex-start` above makes every nav item shrink to the width
40
+ // of its own label, so the dropdown's `width: 100%` would otherwise resolve
41
+ // against the toggle link rather than the menu. Stretch the item that owns
42
+ // a dropdown so the open menu spans the collapsed navbar.
43
+ .navbar-menu-list > .nav-item.dropdown {
44
+ width: 100%;
45
+ }
46
+
47
+ .dropdown-menu {
48
+ position: static;
49
+ width: 100%;
50
+ min-width: 100%;
51
+ margin-top: 0;
52
+ text-align: left;
53
+ box-shadow: none;
54
+ }
55
+
56
+ .dropdown-item {
57
+ white-space: normal;
58
+ text-align: left;
59
+ }
38
60
  }
39
61
  }
40
62
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AlFolioCore
4
- VERSION = "1.0.11"
4
+ VERSION = "1.0.12"
5
5
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: al_folio_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.11
4
+ version: 1.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - al-folio maintainers
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-07-29 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: jekyll
@@ -198,6 +199,7 @@ metadata:
198
199
  allowed_push_host: https://rubygems.org
199
200
  homepage_uri: https://github.com/al-org-dev/al-folio-core
200
201
  source_code_uri: https://github.com/al-org-dev/al-folio-core
202
+ post_install_message:
201
203
  rdoc_options: []
202
204
  require_paths:
203
205
  - lib
@@ -212,7 +214,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
212
214
  - !ruby/object:Gem::Version
213
215
  version: '0'
214
216
  requirements: []
215
- rubygems_version: 4.0.10
217
+ rubygems_version: 3.5.22
218
+ signing_key:
216
219
  specification_version: 4
217
220
  summary: Core runtime plugin for al-folio v1.x
218
221
  test_files: []