1

在一个有很多页面(不是博客文章)的 Jekyll 站点中,我想以编程方式调整每个页面的永久链接。我尝试了一个生成器插件,例如:

module MySite
  class MySiteGenerator < Jekyll::Generator
    def generate(site)
      site.pages.each do |page|
        page.data['permalink'] = '/foo' + page.url
        # real world manipulation of course more complicated
      end
    end
  end
end

但是尽管这会运行并设置page.data['permalink']字段,但输出仍然是相同的。

有什么我做错了,还是有完全不同的方式来做到这一点?谢谢!

4

1 回答 1

1

使用以下内容覆盖页面类会更容易:

module Jekyll
  class Page
    alias orig_permalink permalink
    def permalink
      permalink    = orig_permalink
      newPermalink = "foo/#{permalink}"
    end
  end
end

未测试。

于 2015-02-23T20:34:32.017 回答