From f460193bc1906564d1a3ea7c4fa2f0cdcec3afc3 Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Wed, 21 Jun 2017 12:11:08 +1000 Subject: [PATCH] Prevent jekyll-polyglot from double prefixing links with "/en/en". This is done by creating two different ruby objects for the corresponding page. One destined for `site.pages`, and one for `site.collections['packages'].docs`. FIxes #38. --- lib/jekyll/FDroidPackageDetailGenerator.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/jekyll/FDroidPackageDetailGenerator.rb b/lib/jekyll/FDroidPackageDetailGenerator.rb index 3c91005..588b0f5 100644 --- a/lib/jekyll/FDroidPackageDetailGenerator.rb +++ b/lib/jekyll/FDroidPackageDetailGenerator.rb @@ -51,9 +51,13 @@ module Jekyll # Generate detail page for every package site.collections["packages"] = Collection.new(site, "packages") packages.each do |package| - myPage = FDroidPackageDetailPage.new(site, site.source, package) - site.pages << myPage - site.collections["packages"].docs << myPage + # This page needs to be created twice, once for site.pages, and once for site.collections. + # If not, then the i18n code in jekyll-polyglot will end up processing the page twice, as + # it iterates over all pages and all packages. The end result is a double prefix for "/en/en" + # for any links in the page. + # https://gitlab.com/fdroid/jekyll-fdroid/issues/38 + site.pages << FDroidPackageDetailPage.new(site, site.source, package) + site.collections["packages"].docs << FDroidPackageDetailPage.new(site, site.source, package) end # Generate browsing pages site.includes_load_paths << (File.expand_path "../../_includes", File.dirname(__FILE__)) -- GitLab