Skip to content

Commit 5601622

Browse files
dalekunceDale Kunce
andauthored
Modernize 2025 (#530)
* fix: Implement mobile navigation menu functionality - Add mobile-menu.js with touch/click event handling for mobile devices - Replace CSS-only hover behavior with JavaScript-based menu toggle - Add touch-friendly styling with proper cursor and tap highlight removal - Implement menu auto-close on outside click, escape key, and window resize - Ensure mobile menu works properly on devices where hover doesn't function - Mobile menu activates at screen width < 650px as per existing breakpoints * Remove legacy i18n code and implement Jekyll Polyglot date localization - Remove i18n_filter.rb plugin and get_locale.html include (no longer needed) - Replace all localize filter usage with Jekyll Polyglot approach - Fix blog post date localization using site.data[site.active_lang].months array - Update month data structure with null placeholder for 1-based indexing - Replace get_locale.html includes with direct locale = site.active_lang assignment - All date localization now works correctly across EN/FR/ES/CS languages - Blog posts and listings display proper localized month names - Mobile menu JavaScript functionality preserved and working * Implement multilingual blog post deduplication and language links - Add post grouping logic to avoid duplicate posts on same day - Include language links for posts available in multiple languages - Add translation strings for 'also available in' text across all languages - Style language links with professional appearance - Maintain backward compatibility with single-language posts * Ignore auto-generated files to prevent merge conflicts - Add events.json to .gitignore since it's generated during build - Add .jekyll-metadata to .gitignore since it changes on every build - Remove these files from git tracking while keeping them in working directory - This prevents merge conflicts on files that are automatically regenerated * Fix JavaScript linting errors - Auto-fix indentation, spacing, and code style issues Resolves CI build failure due to linting errors * Fix npm deprecation warnings and update dependencies - Update ESLint from 8.x to 9.x to resolve deprecation warnings - Update glob from 7.x to 10.x for better performance and security - Update js-yaml from 3.x to 4.x for latest security patches - Update node-fetch from 2.x to 3.x with dynamic import support - Replace gulp-clean with modern 'del' package to avoid rimraf issues - Remove unused glob-all dependency - Fix unused error variables in events.js for ESLint compliance - Update fetch-events.cjs to work with node-fetch v3 ESM format All builds and linting now pass without warnings * Fix ESM import error in gulpfile for del package - del package is now ESM-only and requires dynamic imports in CommonJS files * Update GitHub Actions to v5 for improved security and performance - Update actions/checkout from v4 to v5 across all workflows - Keep upload/download-artifact at v4 (v5 not yet available) * Add blog pagination with multilingual support - Configure pagination to display 15 posts per page with proper URL structure - Add pagination navigation with Previous/Next buttons and page info Closes #411 * feat: comprehensive mobile improvements across site - Improved mobile blog layout with responsive cards and pagination - Added mobile-first breakpoints (768px, 480px) throughout - Increased button touch targets - Enhanced mobile footer and landing page responsiveness - Improved mobile typography scaling and spacing - Added better mobile menu interactions and accessibility features - All components now fully responsive with touch-friendly interfaces * fix: improve French navigation URLs - Replace special characters in French URLs to prevent encoding issues * fix: resolve linting issues across JavaScript and CSS - Fix ESLint errors in mobile-menu.js: spacing and formatting --------- Co-authored-by: Dale Kunce <[email protected]>
1 parent e756381 commit 5601622

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1956
-1011
lines changed

.github/workflows/deploy.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- name: Checkout
18-
uses: actions/checkout@v4
18+
uses: actions/checkout@v5
1919
with:
2020
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
2121

@@ -26,7 +26,7 @@ jobs:
2626
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
2727

2828
- name: Setup Node.js
29-
uses: actions/setup-node@v4
29+
uses: actions/setup-node@v5
3030
with:
3131
node-version-file: '.nvmrc'
3232
cache: 'npm'
@@ -56,9 +56,7 @@ jobs:
5656
if: github.ref == 'refs/heads/publish' && github.event_name == 'push'
5757
steps:
5858
- name: Checkout master branch
59-
uses: actions/checkout@v4
60-
- name: Checkout master branch
61-
uses: actions/checkout@v4
59+
uses: actions/checkout@v5
6260
with:
6361
ref: master
6462
token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/manual-deploy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424

2525
steps:
2626
- name: Checkout
27-
uses: actions/checkout@v4
27+
uses: actions/checkout@v5
2828

2929
- name: Setup Ruby
3030
uses: ruby/setup-ruby@v1
@@ -33,7 +33,7 @@ jobs:
3333
bundler-cache: true
3434

3535
- name: Setup Node.js
36-
uses: actions/setup-node@v4
36+
uses: actions/setup-node@v5
3737
with:
3838
node-version-file: '.nvmrc'
3939
cache: 'npm'

.github/workflows/security.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ jobs:
1919

2020
steps:
2121
- name: Checkout code
22-
uses: actions/checkout@v4
22+
uses: actions/checkout@v5
2323

2424
- name: Setup Node.js
25-
uses: actions/setup-node@v4
25+
uses: actions/setup-node@v5
2626
with:
2727
node-version-file: '.nvmrc'
2828
cache: 'npm'
@@ -56,10 +56,10 @@ jobs:
5656

5757
steps:
5858
- name: Checkout code
59-
uses: actions/checkout@v4
59+
uses: actions/checkout@v5
6060

6161
- name: Setup Node.js
62-
uses: actions/setup-node@v4
62+
uses: actions/setup-node@v5
6363
with:
6464
node-version-file: '.nvmrc'
6565
cache: 'npm'

.github/workflows/test-multilingual.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212

1313
steps:
1414
- name: Checkout repository
15-
uses: actions/checkout@v4
15+
uses: actions/checkout@v5
1616

1717
- name: Setup Ruby
1818
uses: ruby/setup-ruby@v1
@@ -21,7 +21,7 @@ jobs:
2121
bundler-cache: true
2222

2323
- name: Setup Node.js
24-
uses: actions/setup-node@v4
24+
uses: actions/setup-node@v5
2525
with:
2626
node-version: '20.18.0'
2727
cache: 'npm'

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010

1111
steps:
1212
- name: Checkout code
13-
uses: actions/checkout@v4
13+
uses: actions/checkout@v5
1414

1515
- name: Setup Ruby
1616
uses: ruby/setup-ruby@v1
@@ -19,7 +19,7 @@ jobs:
1919
bundler-cache: true
2020

2121
- name: Setup Node.js
22-
uses: actions/setup-node@v4
22+
uses: actions/setup-node@v5
2323
with:
2424
node-version-file: '.nvmrc'
2525
cache: 'npm'

.github/workflows/update-events.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ jobs:
2020

2121
steps:
2222
- name: Checkout repository
23-
uses: actions/checkout@v4
23+
uses: actions/checkout@v5
2424
with:
2525
token: ${{ secrets.GITHUB_TOKEN }}
2626

2727
- name: Setup Node.js
28-
uses: actions/setup-node@v4
28+
uses: actions/setup-node@v5
2929
with:
3030
node-version: '20'
3131
cache: 'npm'

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ app/assets/scripts/config/local.js
1515
app/_data/events
1616
app/_posts
1717
app/.jekyll-cache
18+
app/.jekyll-metadata
19+
app/assets/data/events.json
1820

1921

2022
#Foundation additions

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ gem "jekyll", "~> 4.3.4"
1010
gem "jekyll-feed", "~> 0.17"
1111
gem "jekyll-sitemap", "~> 1.4"
1212
gem "jekyll-polyglot", "~> 1.8"
13+
gem "jekyll-paginate-v2", "~> 3.0"
1314

1415
# Additional gems for security and performance
1516
gem "webrick", "~> 1.8" # Required for Ruby 3.0+

Gemfile.lock

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ GEM
4646
webrick (~> 1.7)
4747
jekyll-feed (0.17.0)
4848
jekyll (>= 3.7, < 5.0)
49+
jekyll-paginate-v2 (3.0.0)
50+
jekyll (>= 3.0, < 5.0)
4951
jekyll-polyglot (1.11.0)
5052
jekyll (>= 4.0, >= 3.0)
5153
jekyll-sass-converter (3.1.0)
@@ -98,6 +100,7 @@ DEPENDENCIES
98100
csv (~> 3.3)
99101
jekyll (~> 4.3.4)
100102
jekyll-feed (~> 0.17)
103+
jekyll-paginate-v2 (~> 3.0)
101104
jekyll-polyglot (~> 1.8)
102105
jekyll-sitemap (~> 1.4)
103106
logger (~> 1.6)

_config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,14 @@ plugins:
5050
- jekyll-feed
5151
- jekyll-sitemap
5252
- jekyll-polyglot
53+
- jekyll-paginate-v2
54+
55+
# Pagination configuration
56+
pagination:
57+
enabled: true
58+
per_page: 15
59+
permalink: '/blog/page/:num/'
60+
title: ':title - page :num of :max'
61+
limit: 0
62+
sort_field: 'date'
63+
sort_reverse: true

0 commit comments

Comments
 (0)