mmistakes / minimal-mistakes

:triangular_ruler: Jekyll theme for building a personal site, blog, project documentation, or portfolio.
https://mmistakes.github.io/minimal-mistakes/
MIT License
12.24k stars 25.35k forks source link

Question: Validity error during build process #712

Closed chrisvidal closed 7 years ago

chrisvidal commented 7 years ago

Environment informations

mm theme v4.0.10 During the building process i have quite a lot of new error like that seems to slow down the build process

element nav: validity error : ID site-nav already defined
element div: validity error : ID main already defined
element nav: validity error : ID site-nav already defined
element div: validity error : ID main already defined
element ul: validity error : ID markdown-toc already defined

mmistakes commented 7 years ago

Could be Ruby related. What's you environment like? Have you tried upgrading Ruby?

Related? https://github.com/TaylanTatli/Moon/issues/30

chrisvidal commented 7 years ago

@mmistakes Thanks for the pointer i checked my ruby version and it seems up to date on macos

ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
mmistakes commented 7 years ago

What's your Gemfile look like? Using latest Jekyll or Github Pages gem?

What's the output look like if you add the --verbose and --trace flags? Might give some more clues as to what's going on.

bundle exec jekyll serve --verbose --trace

chrisvidal commented 7 years ago

Gemfile is like this

PATH
  remote: .
  specs:
    minimal-mistakes-jekyll (4.0.10)
      jekyll (~> 3.3)
      jekyll-feed (~> 0.8)
      jekyll-gist (~> 1.4)
      jekyll-paginate (~> 1.1)
      jekyll-sitemap (~> 0.12)
      jemoji (~> 0.7)

GEM
  remote: https://rubygems.org/
  specs:
    activesupport (4.2.7.1)
      i18n (~> 0.7)
      json (~> 1.7, >= 1.7.7)
      minitest (~> 5.1)
      thread_safe (~> 0.3, >= 0.3.4)
      tzinfo (~> 1.1)
    addressable (2.5.0)
      public_suffix (~> 2.0, >= 2.0.2)
    colorator (1.1.0)
    faraday (0.10.0)
      multipart-post (>= 1.2, < 3)
    ffi (1.9.14)
    forwardable-extended (2.6.0)
    gemoji (2.1.0)
    html-pipeline (2.4.2)
      activesupport (>= 2)
      nokogiri (>= 1.4)
    i18n (0.7.0)
    jekyll (3.3.1)
      addressable (~> 2.4)
      colorator (~> 1.0)
      jekyll-sass-converter (~> 1.0)
      jekyll-watch (~> 1.1)
      kramdown (~> 1.3)
      liquid (~> 3.0)
      mercenary (~> 0.3.3)
      pathutil (~> 0.9)
      rouge (~> 1.7)
      safe_yaml (~> 1.0)
    jekyll-feed (0.8.0)
      jekyll (~> 3.3)
    jekyll-gist (1.4.0)
      octokit (~> 4.2)
    jekyll-paginate (1.1.0)
    jekyll-sass-converter (1.5.0)
      sass (~> 3.4)
    jekyll-sitemap (0.12.0)
      jekyll (~> 3.3)
    jekyll-watch (1.5.0)
      listen (~> 3.0, < 3.1)
    jemoji (0.7.0)
      activesupport (~> 4.0)
      gemoji (~> 2.0)
      html-pipeline (~> 2.2)
      jekyll (>= 3.0)
    json (1.8.3)
    kramdown (1.13.1)
    liquid (3.0.6)
    listen (3.0.8)
      rb-fsevent (~> 0.9, >= 0.9.4)
      rb-inotify (~> 0.9, >= 0.9.7)
    mercenary (0.3.6)
    mini_portile2 (2.1.0)
    minitest (5.10.1)
    multipart-post (2.0.0)
    nokogiri (1.6.8.1)
      mini_portile2 (~> 2.1.0)
    octokit (4.6.2)
      sawyer (~> 0.8.0, >= 0.5.3)
    pathutil (0.14.0)
      forwardable-extended (~> 2.6)
    public_suffix (2.0.4)
    rake (10.5.0)
    rb-fsevent (0.9.8)
    rb-inotify (0.9.7)
      ffi (>= 0.5.0)
    rouge (1.11.1)
    safe_yaml (1.0.4)
    sass (3.4.22)
    sawyer (0.8.1)
      addressable (>= 2.3.5, < 2.6)
      faraday (~> 0.8, < 1.0)
    thread_safe (0.3.5)
    tzinfo (1.2.2)
      thread_safe (~> 0.1)

PLATFORMS
  ruby

DEPENDENCIES
  bundler (~> 1.12)
  minimal-mistakes-jekyll!
  rake (~> 10.0)

BUNDLED WITH
   1.12.5

Yes this is latest Jekyll that im using on my local dev computer.

the result of the trace command is quite huge since i have a lots of data and post. What should i look for in the trace ?

Thanks for your help

mmistakes commented 7 years ago

Not entirely sure what to look for in the trace. Just thought it might give you a clearer picture as to what is going on.

I can't reproduce the validity errors on either mac OS Sierra or Windows 7, which leads me to believe this is related to your environment.

Kraymer commented 7 years ago

I have the same problem, here is the asked debugging data

Config

OS X 10.11.2
ruby 2.3.3p222
GitHub Pages: github-pages v102
GitHub Pages: jekyll v3.3.0

Gemfile

source "https://rubygems.org"    

gem "github-pages", group: :jekyll_plugins    

group :jekyll_plugins do
  gem "jekyll-paginate"
  gem "jekyll-sitemap"
  gem "jekyll-gist"
  gem "jekyll-feed"
  gem "jemoji"
  gem "jekyll-redirect-from"    

end

bundle exec jekyll build -I --config _config.yml --trace -V

  Logging at level: debug
Configuration file: _config.yml
      GitHub Pages: github-pages v102
      GitHub Pages: jekyll v3.3.0
         Requiring: jekyll-paginate
         Requiring: jekyll-sitemap
         Requiring: jekyll-gist
         Requiring: jekyll-feed
         Requiring: jemoji
         Requiring: jekyll-mentions
         Requiring: jekyll-redirect-from
         Requiring: jekyll-coffeescript
         Requiring: jekyll-github-metadata
Dotenv not found. Skipping
         Requiring: kramdown
            Source: /Users/flap/Dev/r
       Destination: /Users/flap/Dev/r/_site
 Incremental build: enabled
      Generating...
       EntryFilter: excluded /Gemfile
       EntryFilter: excluded /Gemfile.lock
       EntryFilter: excluded /LICENSE.txt
       EntryFilter: excluded /package.json
       EntryFilter: excluded /Rakefile
           Reading: _posts/2016-12-07-test.md
       EntryFilter: excluded /assets/js/plugins
       EntryFilter: excluded /assets/js/vendor
        Generating: JekyllRedirectFrom::Redirector finished in 0.000103 seconds.
   GitHub Metadata: Initializing...
        Generating: Jekyll::GitHubMetadata::GHPMetadataGenerator finished in 0.005279 seconds.
        Generating: Jekyll::Paginate::Pagination finished in 1.0e-05 seconds.
         Rendering: sitemap.xml
  Pre-Render Hooks: sitemap.xml
  Rendering Liquid: sitemap.xml
  Rendering Markup: sitemap.xml
  Rendering Layout: sitemap.xml
 Post-Render Hooks: sitemap.xml
        Generating: Jekyll::JekyllSitemap finished in 0.013317 seconds.
        Generating: Jekyll::JekyllFeed finished in 0.001403 seconds.
         Rendering: _posts/2016-12-07-test.md
  Pre-Render Hooks: _posts/2016-12-07-test.md
  Rendering Liquid: _posts/2016-12-07-test.md
  Rendering Markup: _posts/2016-12-07-test.md
         Requiring: kramdown
  Rendering Layout: _posts/2016-12-07-test.md
         Rendering: _posts/2016-12-07-test.md
  Pre-Render Hooks: _posts/2016-12-07-test.md
  Rendering Liquid: _posts/2016-12-07-test.md
  Rendering Markup: _posts/2016-12-07-test.md
   GitHub Metadata: Generating for kraymer/r
   GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.
   GitHub Metadata: Calling @client.pages("kraymer/r", {})
   GitHub Metadata: GET https://api.github.com/repos/kraymer/r/pages: 404 - Not Found // See: https://developer.github.com/v3
element nav: validity error : ID site-nav already defined
element div: validity error : ID main already defined
element h2: validity error : ID naming already defined
element h2: validity error : ID content already defined
element h3: validity error : ID why-rivers-as-post-header-images already defined
element h3: validity error : ID follow-me already defined
         Rendering: _pages/category-archive.html
  Pre-Render Hooks: _pages/category-archive.html
  Rendering Liquid: _pages/category-archive.html
  Rendering Markup: _pages/category-archive.html
  Rendering Layout: _pages/category-archive.html
element nav: validity error : ID site-nav already defined
element div: validity error : ID main already defined
element h2: validity error : ID story already defined
         Rendering: index.html
  Pre-Render Hooks: index.html
  Rendering Liquid: index.html
  Rendering Markup: index.html
  Rendering Layout: index.html
element nav: validity error : ID site-nav already defined
element div: validity error : ID main already defined
         Rendering: assets/css/main.scss
  Pre-Render Hooks: assets/css/main.scss
  Rendering Liquid: assets/css/main.scss
  Rendering Markup: assets/css/main.scss
         Rendering: _pages/tag-archive.html
  Pre-Render Hooks: _pages/tag-archive.html
  Rendering Liquid: _pages/tag-archive.html
  Rendering Markup: _pages/tag-archive.html
  Rendering Layout: _pages/tag-archive.html
element nav: validity error : ID site-nav already defined
element div: validity error : ID main already defined
         Rendering: feed.xml
  Pre-Render Hooks: feed.xml
  Rendering Liquid: feed.xml
  Rendering Markup: feed.xml
  Rendering Layout: feed.xml
         Rendering: feed.xslt.xml
  Pre-Render Hooks: feed.xslt.xml
  Rendering Liquid: feed.xslt.xml
  Rendering Markup: feed.xslt.xml
  Rendering Layout: feed.xslt.xml
                    done in 7.172 seconds.
 Auto-regeneration: disabled. Use --watch to enable.
mmistakes commented 7 years ago

Looks like it might be related to Nokogiri which is a dependency used by the GitHub Pages gem

http://stackoverflow.com/questions/31841180/whats-causing-validity-error-id-some-id-already-defined

If the site is generating I wouldn't worry too much about those errors

mmistakes commented 7 years ago

@Kraymer also have you tried updating the GitHub Pages gem? Your version is 102 and I believe it's at 112 now. bundle update should do it.

Might have to lock it at the higher version if it doesn't. I know there was a bug recently that you needed to force in the version in Gemfile to update.

Kraymer commented 7 years ago

Upgrading done with bundle update, validity error warnings still present.
I confirm the site is generating though.

mmistakes commented 7 years ago

Do either of you get the validity errors on a vanilla version of the theme with none of your content or configs added? Trying to isolate if it could be content related or not.

FYI I've tested on macOS 10.12.2 and ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin16] and can't seem to reproduce the errors.

Kraymer commented 7 years ago

bisect to the rescue!

Bisecting: 0 revisions left to test after this (roughly 0 steps)
[904087e7687db70eb34d1316fee68b74c420e6e8] Add jekyll-mentions, jekyll-redirect-from    plugins

And, after further manual testing, it is the jekyll-mentions gem the culprit : removing it from _config.yml.gemsand the warnings are gone.

mmistakes commented 7 years ago

Good detective work! That explains why I couldn't reproduce the error. Closing the issue since it doesn't appear to be theme related.

I'd suggest filling an issue at https://github.com/jekyll/jekyll-mentions or https://github.com/jekyll/jekyll-redirect-from