Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ orbs:
jobs:
lint:
docker:
- image: cimg/ruby:3.1
- image: cimg/ruby:3.2
steps:
- checkout
- ruby/install-deps
Expand All @@ -16,7 +16,7 @@ jobs:

test:
docker:
- image: cimg/ruby:3.1
- image: cimg/ruby:3.2
environment:
CI: 'true'
CODECOV_TOKEN: ${CODECOV_TOKEN}
Expand All @@ -34,7 +34,7 @@ jobs:

htmlproofer:
docker:
- image: cimg/ruby:3.1
- image: cimg/ruby:3.2
steps:
- checkout
- ruby/install-deps
Expand Down
6 changes: 3 additions & 3 deletions .github/agents/code-quality.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,22 @@ You are an expert Ruby code quality specialist for jekyll-polyglot, a Jekyll i18

## Your Expertise

- **Ruby standards knowledge:** You understand Ruby 3.1+ conventions and idioms
- **Ruby standards knowledge:** You understand Ruby 3.2+ conventions and idioms
- **RuboCop enforcement:** You can identify code that violates the project's specific `.rubocop.yml` rules
- **Jekyll plugin architecture:** You understand hooks, patches, and Liquid filters in the context of Jekyll plugins
- **Code smell detection:** You recognize anti-patterns and suggest idiomatic Ruby solutions
- **Test quality:** You evaluate RSpec test structure and effectiveness

## Project Knowledge

- **Tech Stack:** Ruby 3.1.0+, Jekyll >= 4.0, RSpec for testing, RuboCop for linting
- **Tech Stack:** Ruby 3.2.0+, Jekyll >= 4.0, RSpec for testing, RuboCop for linting
- **File Structure:**
- `lib/jekyll/polyglot/` – Core plugin code (hooks, patches, liquid filters)
- `lib/jekyll/polyglot/hooks/` – Jekyll hook integrations
- `lib/jekyll/polyglot/patches/` – Extensions to Jekyll core classes
- `lib/jekyll/polyglot/liquid/` – Liquid filters and custom tags
- `spec/` – RSpec test suite
- **Key Config:** `.rubocop.yml` (TargetRubyVersion: 3.1, LineLength disabled, specific indentation rules)
- **Key Config:** `.rubocop.yml` (TargetRubyVersion: 3.2, LineLength disabled, specific indentation rules)

## Commands You Can Run

Expand Down
2 changes: 1 addition & 1 deletion .github/agents/docs.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ You are a technical writer responsible for keeping jekyll-polyglot documentation

## Project knowledge

**Tech Stack:** Ruby 3.1.0+, Jekyll >= 4.0, RSpec, RuboCop
**Tech Stack:** Ruby 3.2.0+, Jekyll >= 4.0, RSpec, RuboCop

**Main Documentation Files** (root directory):

Expand Down
10 changes: 5 additions & 5 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

- **Type**: Ruby gem / Jekyll plugin
- **Size**: ~516 lines of source code across 11 files
- **Primary Language**: Ruby 3.1.0+
- **Primary Language**: Ruby 3.2.0+
- **Framework Dependencies**: Jekyll >= 4.0
- **Testing Framework**: RSpec with SimpleCov coverage
- **Linting**: RuboCop with performance and RSpec plugins
Expand Down Expand Up @@ -75,9 +75,9 @@ spec/
site/ # Example polyglot blog (multi-language demo)

Configuration & Build:
.rubocop.yml # RuboCop linting rules (TargetRubyVersion: 3.1)
.rubocop.yml # RuboCop linting rules (TargetRubyVersion: 3.2)
.rspec # RSpec configuration (outputs rspec.xml, rspec.json)
.circleci/config.yml # CircleCI pipeline (Ruby 3.1 Docker image)
.circleci/config.yml # CircleCI pipeline (Ruby 3.2 Docker image)
codecov.yml # Codecov coverage threshold (80% target)
jekyll-polyglot.gemspec # Gem specification (version, dependencies, metadata)
Gemfile # Development dependencies
Expand All @@ -87,7 +87,7 @@ Configuration & Build:

CircleCI automatically runs these steps on every PR:

1. **Build job**: Runs on Ruby 3.1 Docker image, installs dependencies via `ruby/install-deps` orb
1. **Build job**: Runs on Ruby 3.2 Docker image, installs dependencies via `ruby/install-deps` orb
2. **Test job**: Runs `./test.sh` which:
- Executes `bundle exec rubocop` (linting)
- Executes `COVERAGE=true bundle exec rspec` (tests + coverage)
Expand Down Expand Up @@ -124,7 +124,7 @@ The plugin groups Jekyll documents by their permalink across languages:

**RuboCop enforces all style rules.** Configuration in `.rubocop.yml` requires:

- Ruby 3.1+ syntax
- Ruby 3.2+ syntax
- 2-space indentation
- No line length limit (disabled in config)
- Specific method indentation rules (see config file)
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.1"
ruby-version: "3.2"
bundler-cache: true

- name: Verify setup with linting
Expand Down
2 changes: 1 addition & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ require:

AllCops:
NewCops: enable
TargetRubyVersion: 3.1
TargetRubyVersion: 3.2
Exclude:
- 'bin/**/*'
- 'db/**/*'
Expand Down
1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ruby 3.2.9
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ jekyll serve

## Key Requirements

- **Ruby 3.1.0 or higher**
- **Ruby 3.2.0 or higher**
- **Bundler** for dependency management
- All code must pass **RuboCop** linting
- New features must include tests (aim for >90% coverage)
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ group :test do
gem 'codecov', '~> 0.6.0'
gem 'html-proofer', '5.1.1'
gem 'minitest', '>= 5.16.3'
gem 'nokogiri', '>= 1.14.3'
gem 'nokogiri', '>= 1.19.3'
gem 'rspec', '>= 3.11.0'
gem 'rspec_junit_formatter', '>= 0.6.0'
gem 'rspec-mocks', '>= 3.11.0'
Expand Down
10 changes: 5 additions & 5 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
jekyll-polyglot (1.12.0)
jekyll-polyglot (1.13.0)
jekyll (>= 4.0, >= 3.0)

GEM
Expand Down Expand Up @@ -109,12 +109,12 @@ GEM
metrics (0.12.2)
mini_portile2 (2.8.9)
minitest (5.23.1)
nokogiri (1.18.10)
nokogiri (1.19.3)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nokogiri (1.18.10-x64-mingw-ucrt)
nokogiri (1.19.3-x64-mingw-ucrt)
racc (~> 1.4)
nokogiri (1.18.10-x86_64-darwin)
nokogiri (1.19.3-x86_64-darwin)
racc (~> 1.4)
parallel (1.26.3)
parser (3.3.7.0)
Expand Down Expand Up @@ -215,7 +215,7 @@ DEPENDENCIES
jekyll-redirect-from
jekyll-seo-tag (~> 2.9.0)
minitest (>= 5.16.3)
nokogiri (>= 1.14.3)
nokogiri (>= 1.19.3)
rake
rspec (>= 3.11.0)
rspec-mocks (>= 3.11.0)
Expand Down
2 changes: 1 addition & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ task :default => [:spec]
desc 'Build the example site at ./site'
task :site_build do
Dir.chdir('site') do
sh 'bundle exec jekyll build'
sh 'jekyll build'
end
end

Expand Down
2 changes: 1 addition & 1 deletion ai_docs/SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

### Ruby Compatibility

- Support **Ruby 3.1.0+**
- Support **Ruby 3.2.0+**
- Use syntax compatible with this version range
- Test code on the minimum supported version before release

Expand Down
4 changes: 2 additions & 2 deletions jekyll-polyglot.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.homepage = 'https://polyglot.untra.io/'
s.license = 'MIT'
s.add_dependency('jekyll', '>= 3.0', '>= 4.0')
s.required_ruby_version = '>= 3.1.0'
s.required_rubygems_version = '>= 3.1.0'
s.required_ruby_version = '>= 3.2.0'
s.required_rubygems_version = '>= 3.2.0'
s.metadata['rubygems_mfa_required'] = 'true'
end
11 changes: 11 additions & 0 deletions site/404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
layout: default
permalink: /404
title: 404
---

<div class="page">
<h1 class="page-title">404 - Page Not Found</h1>
<p class="lead">The page you were looking for doesn't exist.</p>
<p><a href="{{ site.baseurl }}/">Return home</a></p>
</div>
32 changes: 16 additions & 16 deletions site/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,22 +79,22 @@ sidebar:
uk: переглянути джерело цієї сторінки на github
hi: इस पृष्ठ का स्रोत github पर देखें
description:
zh-CN: 一款为 <a href="http://jekyllrb.com" target="_blank">Jekyll</a> 提供 i18n 多语言功能的插件,方便快捷,适用于各类大小博客。<a href="https://github.com/untra" target="_blank">@untra</a> 出品。
ko: <a href="https://github.com/untra" target="_blank">@untra</a>가 만든, 크고 작은 블로그 모두가 빠르고 직관적인 다국어 지원을 가능케 하는 i18n 지원 <a href="http://jekyllrb.com" target="_blank">Jekyll</a> 플러그인.
he: תוסף תמיכה ב-i18n עבור <a href="http://jekyllrb.com" target="_blank">Jekyll</a> שהופך את התמיכה מרובת שפות למהירה ואינטואיטיבית, עבור בלוגים גדולים וקטנים. תוצרת <a href="https://github.com/untra" target="_blank">@untra</a>.
nl: Een plug-in voor internationlisering van <a href="http://jekyllrb.com" target="_blank">Jekyll</a> die meertalige ondersteuning snel en intuïtief maakt, voor blogs groot en klein. Gemaakt door <a href="https://github.com/untra" target="_blank">@untra</a>.
ru: Плагин поддержки i18n для <a href="http://jekyllrb.com" target="_blank">Jekyll</a> что делает поддержку нескольких языков быстрой и интуитивно понятной, для больших и маленьких блогов. Сделано в <a href="https://github.com/untra" target="_blank">@untra</a>.
de: Ein sprachunterstützung plugin für <a href="http://jekyllrb.com" target="_blank">Jekyll</a>, die Unterstützung der Internationalisierung schnell und intuitiv macht, für Blogs groß und klein. Hergestellt von <a href="https://github.com/untra" target="_blank">@untra</a>.
es: Un plugin soporte de i18n para <a href="http://jekyllrb.com" target="_blank">Jekyll</a> que hace soporte de internacionalización rápida e intuitiva, para los blogs grandes y pequeños. Hecho por <a href="https://github.com/untra" target="_blank">@untra</a>.
fr: Un plugin de support de i18n pour <a href="http://jekyllrb.com" target="_blank">Jekyll</a> qui fait support de l'internationalisation rapide et intuitive, pour tous les blogs. Réalisé par <a href="https://github.com/untra" target="_blank">@untra</a>.
en: A i18n support plugin for <a href="http://jekyllrb.com" target="_blank">Jekyll</a> that makes multi-language support fast and intuitive, for blogs big and small. Made by <a href="https://github.com/untra" target="_blank">@untra</a>.
pt-BR: Um plugin de suporte i18n para <a href="http://jekyllrb.com" target="_blank">Jekyll</a> que torna o suporte a vários idiomas rápido e intuitivo, para blogs grandes e pequenos. Feito por <a href="https://github.com/untra" target="_blank">@untra</a>.
ar: إضافة دعم i18n لـ <a href="http://jekyllrb.com" target="_blank">Jekyll</a> تجعل دعم اللغات المتعددة سريعاً وبديهياً، للمدونات الكبيرة والصغيرة. من صنع <a href="https://github.com/untra" target="_blank">@untra</a>.
ja: <a href="http://jekyllrb.com" target="_blank">Jekyll</a>用のi18nサポートプラグインで、大小を問わずブログの多言語サポートを高速で直感的にします。<a href="https://github.com/untra" target="_blank">@untra</a>が作成。
it: Un plugin di supporto i18n per <a href="http://jekyllrb.com" target="_blank">Jekyll</a> che rende il supporto multilingue veloce e intuitivo, per blog grandi e piccoli. Realizzato da <a href="https://github.com/untra" target="_blank">@untra</a>.
tr: Büyük ve küçük bloglar için çoklu dil desteğini hızlı ve sezgisel hale getiren <a href="http://jekyllrb.com" target="_blank">Jekyll</a> için bir i18n destek eklentisi. <a href="https://github.com/untra" target="_blank">@untra</a> tarafından yapıldı.
uk: Плагін підтримки i18n для <a href="http://jekyllrb.com" target="_blank">Jekyll</a>, що робить багатомовну підтримку швидкою та інтуїтивно зрозумілою для блогів великих і малих. Створено <a href="https://github.com/untra" target="_blank">@untra</a>.
hi: <a href="http://jekyllrb.com" target="_blank">Jekyll</a> के लिए एक i18n समर्थन प्लगइन जो बहु-भाषा समर्थन को तेज़ और सहज बनाता है, छोटे और बड़े ब्लॉगों के लिए। <a href="https://github.com/untra" target="_blank">@untra</a> द्वारा निर्मित।
zh-CN: 一款为 <a href="https://jekyllrb.com" target="_blank">Jekyll</a> 提供 i18n 多语言功能的插件,方便快捷,适用于各类大小博客。<a href="https://github.com/untra" target="_blank">@untra</a> 出品。
ko: <a href="https://github.com/untra" target="_blank">@untra</a>가 만든, 크고 작은 블로그 모두가 빠르고 직관적인 다국어 지원을 가능케 하는 i18n 지원 <a href="https://jekyllrb.com" target="_blank">Jekyll</a> 플러그인.
he: תוסף תמיכה ב-i18n עבור <a href="https://jekyllrb.com" target="_blank">Jekyll</a> שהופך את התמיכה מרובת שפות למהירה ואינטואיטיבית, עבור בלוגים גדולים וקטנים. תוצרת <a href="https://github.com/untra" target="_blank">@untra</a>.
nl: Een plug-in voor internationlisering van <a href="https://jekyllrb.com" target="_blank">Jekyll</a> die meertalige ondersteuning snel en intuïtief maakt, voor blogs groot en klein. Gemaakt door <a href="https://github.com/untra" target="_blank">@untra</a>.
ru: Плагин поддержки i18n для <a href="https://jekyllrb.com" target="_blank">Jekyll</a> что делает поддержку нескольких языков быстрой и интуитивно понятной, для больших и маленьких блогов. Сделано в <a href="https://github.com/untra" target="_blank">@untra</a>.
de: Ein sprachunterstützung plugin für <a href="https://jekyllrb.com" target="_blank">Jekyll</a>, die Unterstützung der Internationalisierung schnell und intuitiv macht, für Blogs groß und klein. Hergestellt von <a href="https://github.com/untra" target="_blank">@untra</a>.
es: Un plugin soporte de i18n para <a href="https://jekyllrb.com" target="_blank">Jekyll</a> que hace soporte de internacionalización rápida e intuitiva, para los blogs grandes y pequeños. Hecho por <a href="https://github.com/untra" target="_blank">@untra</a>.
fr: Un plugin de support de i18n pour <a href="https://jekyllrb.com" target="_blank">Jekyll</a> qui fait support de l'internationalisation rapide et intuitive, pour tous les blogs. Réalisé par <a href="https://github.com/untra" target="_blank">@untra</a>.
en: A i18n support plugin for <a href="https://jekyllrb.com" target="_blank">Jekyll</a> that makes multi-language support fast and intuitive, for blogs big and small. Made by <a href="https://github.com/untra" target="_blank">@untra</a>.
pt-BR: Um plugin de suporte i18n para <a href="https://jekyllrb.com" target="_blank">Jekyll</a> que torna o suporte a vários idiomas rápido e intuitivo, para blogs grandes e pequenos. Feito por <a href="https://github.com/untra" target="_blank">@untra</a>.
ar: إضافة دعم i18n لـ <a href="https://jekyllrb.com" target="_blank">Jekyll</a> تجعل دعم اللغات المتعددة سريعاً وبديهياً، للمدونات الكبيرة والصغيرة. من صنع <a href="https://github.com/untra" target="_blank">@untra</a>.
ja: <a href="https://jekyllrb.com" target="_blank">Jekyll</a>用のi18nサポートプラグインで、大小を問わずブログの多言語サポートを高速で直感的にします。<a href="https://github.com/untra" target="_blank">@untra</a>が作成。
it: Un plugin di supporto i18n per <a href="https://jekyllrb.com" target="_blank">Jekyll</a> che rende il supporto multilingue veloce e intuitivo, per blog grandi e piccoli. Realizzato da <a href="https://github.com/untra" target="_blank">@untra</a>.
tr: Büyük ve küçük bloglar için çoklu dil desteğini hızlı ve sezgisel hale getiren <a href="https://jekyllrb.com" target="_blank">Jekyll</a> için bir i18n destek eklentisi. <a href="https://github.com/untra" target="_blank">@untra</a> tarafından yapıldı.
uk: Плагін підтримки i18n для <a href="https://jekyllrb.com" target="_blank">Jekyll</a>, що робить багатомовну підтримку швидкою та інтуїтивно зрозумілою для блогів великих і малих. Створено <a href="https://github.com/untra" target="_blank">@untra</a>.
hi: <a href="https://jekyllrb.com" target="_blank">Jekyll</a> के लिए एक i18n समर्थन प्लगइन जो बहु-भाषा समर्थन को तेज़ और सहज बनाता है, छोटे और बड़े ब्लॉगों के लिए। <a href="https://github.com/untra" target="_blank">@untra</a> द्वारा निर्मित।

keywords:
en: multilingual, i18n, jekyll, polyglot, fast, intuitive, untra, github, pages, blog, plugin, ruby, gem, internationalization, localization, translation, language, support, multi-language, multi-lingual
Expand Down
1 change: 0 additions & 1 deletion site/_includes/head.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<head>
{% assign lang = site.active_lang %}
<link href="http://gmpg.org/xfn/11" rel="profile">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Expand Down
3 changes: 1 addition & 2 deletions site/_includes/sidebar.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<p class="speech">{{ site.sidebar.hello[site.active_lang] }}</p>
</br>
<h1>
<a href="{{ site.baseurl }}">
<a href="{{ site.baseurl }}/">
{{ site.title }}
</a>
</h1>
Expand Down Expand Up @@ -34,7 +34,6 @@ <h1>
{% assign written = written | push: node.title %}
{% endif %}
{% endfor %}
<a class="sidebar-nav-item{% if page.url == node.url %} active{% endif %}" href="{{ node.url }}">{{ node.title }}</a>

<a class="sidebar-nav-item" href="https://rubygems.org/gems/jekyll-polyglot">Ruby Gem</a>
<a class="sidebar-nav-item" href="{{ site.github.repo }}">GitHub project</a>
Expand Down
2 changes: 1 addition & 1 deletion site/_posts/2012-02-06-whats-jekyll.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ layout: post
title: What's Jekyll?
---

[Jekyll](http://jekyllrb.com) is a static site generator, an open-source tool for creating simple yet powerful websites of all shapes and sizes. From [the project's readme](https://github.com/mojombo/jekyll/blob/master/README.markdown):
[Jekyll](https://jekyllrb.com) is a static site generator, an open-source tool for creating simple yet powerful websites of all shapes and sizes. From [the project's readme](https://github.com/mojombo/jekyll/blob/master/README.markdown):

> Jekyll is a simple, blog aware, static site generator. It takes a template directory [...] and spits out a complete, static website suitable for serving with Apache or your favorite web server. This is also the engine behind GitHub Pages, which you can use to host your project’s page or blog right here from GitHub.

Expand Down
2 changes: 1 addition & 1 deletion site/_posts/2013-12-28-introducing-hyde.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ layout: post
title: Introducing Hyde
---

Hyde is a brazen two-column [Jekyll](http://jekyllrb.com) theme that pairs a prominent sidebar with uncomplicated content. It's based on [Poole](http://getpoole.com), the Jekyll butler.
Hyde is a brazen two-column [Jekyll](https://jekyllrb.com) theme that pairs a prominent sidebar with uncomplicated content. It's based on [Poole](https://getpoole.com), the Jekyll butler.

### Built on Poole

Expand Down
2 changes: 1 addition & 1 deletion site/_posts/2015-9-19-presenting-polyglot.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Presenting Polyglot
lang: en
---

After months of work and refinement, I am proud to present **Polyglot**: a i18n plugin for [Jekyll](http://jekyllrb.com) sites that *need* to cater their content to multiple languages and audiences.
After months of work and refinement, I am proud to present **Polyglot**: a i18n plugin for [Jekyll](https://jekyllrb.com) sites that *need* to cater their content to multiple languages and audiences.

### Features

Expand Down
Loading
Loading