Challenge10k · Deployment
Jekyll Scripterix - Redesign and i18n Migration
09 October 2025
15 h
35 h total
Czysty kod
15 hours refactoring Jekyll Scripterix: removing the i18n plugin, switching to translation_id links, rolling out a new layout, and updating posts plus logbooks.
Context and decisions
GitHub Pages blocks custom plugins, so I had to refactor the Jekyll Scripterix app. The translation system now relies entirely on translation_id pairs (PL/EN) and the old i18n plugin is gone. The change required reviewing every post and logbook entry and manually wiring each language counterpart.
Key work (15h)
-
Translation migration
- removed
_plugins/i18n.rband related helpers - updated layouts so language links render via
translation_id - verified post + logbook pairs and filled any gaps
- removed
-
New layout and components
- deployed a refreshed structure for the main pages and subpages
- updated
_includeswith focus on portfolio, archive, and logbook sections - tidied Liquid: refactored loops, conditions, and blocks
{% capture %}
-
Working with
_siteand builds- swapped the previous
_siteoutput for a version compliant with GitHub Pages - ran repeated builds (
bundle exec jekyll build) and local server checks - monitored Liquid/Markdown errors after each iteration
- swapped the previous
-
Content updates
- synced and paired posts (EN/PL) by
translation_id - cleaned logbooks: metadata alignment, style fixes, added missing entries
- drafted the backlog of remaining content for upcoming sprints
- synced and paired posts (EN/PL) by
Results
- stable translation system based on
translation_id, fully GitHub Pages compatible - new layout in production: cleaner code and improved section structure
_sitealigned with the repository, refreshed assets and includes- posts plus logbooks updated; backlog for missing items is underway
Challenges and takeaways
- lack of custom plugin support on GitHub Pages forces translation planning directly in content and YAML
- Liquid can get complex in larger layouts without clean blocks—lean partials helped a lot
- manually pairing posts and logbooks confirms how critical consistent
translation_idvalues are from day one
Next: Finish the remaining EN/PL entries, refine the language switcher component, and prepare the checklist ahead of CI/CD rollout.