Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes deprecation warning on categories and tags #45

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

danirod
Copy link

@danirod danirod commented Nov 11, 2017

A lot of noisy deprecations are being logged during site compilation when building a Jekyll site. I have been able to reproduce this for a few Jekyll versions. During compilation, the following message is logged several times per build:

Deprecation: Called by ["/usr/local/rvm/gems/ruby-2.3.5/gems/jekyll-3.6.2/lib/jekyll/document.rb:374:in `method_missing'"].
Deprecation: Document#tags is now a key in the #data hash.

It appears that the more pages in the main loop, the more times this message is logged. When serving a site using the --watch option, there are so many deprecation warnings that it makes hard to debug other issues with the site or to inspect the logs.

This PR fixes this behaviour by using the new syntax proposed in Jekyll to access the categories and the tags for a post, removing the deprecation messages.

I've successfully tested this to work by using the test suite provided with this gem and by using a patched version of octopress-paginate with this PR applied to build my site and in both cases the deprecation messages are gone. CI tests will still fail because the test suite has other unrelated errors.

At some point, Jekyll moved the categories and tags for a post into the
data hash, deprecating the accessors. Using p.categories or p.tags
for accessing the list of categories or tags for a post p has been
deprecated for a while, being the data hash p['categories'] / p['posts']
the preferred way for accesing those parameters.

This commit uses the data hash instead of the accessors to avoid the
noisy deprecation warnings that log a lot of warnings during the
compilation of a site.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant