Has anyone seen an error like this? This is what happens whenever I run “bundle exec jekyll serve”. This site does not build. Any suggestions or tips as to what might cause this error?
is that all the error says?
are you using any plugins?
Yep, that is all the error says. I do have a few plugins. I am also using lots of custom Liquid variables in the front matter of each markdown file.
Here are the build settings from _config.yml:
# Build settings
markdown: kramdown
theme: minima
plugins:
- jekyll-feed
- jekyll-contentblocks
- jekyll-admin
- jekyll-google-tag-manager
google:
tag_manager:
container_id: GTM-NNNNNNN
**Here are the details from the Gemfile:**
gem "jekyll", "~> 3.7.3"
gem "s3_website"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.0"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.6"
gem "jekyll-contentblocks"
gem "jekyll-admin"
gem "jekyll-google-tag-manager"
end
Here is a sample of a typical front matter:
Here is a sample of a typical front matter:
---
layout: strict-rr
title: "JTE v1n1 - A PATT Study Among 10 to 12-Year-Old Students in the Netherlands"
terms: '<link href="URL/LINK" rel="schema.DCTERMS"/>'
dc: '<link href="URL/LINK rel="schema.DC"/>'
kev: '<link href="info:ofi/fmt:kev:mtx:" rel="schema.KEV"/>'
dcid: '<link href="URL/LINK" rel="DC.identifier"/>'
hasformat: '<link href="URL/LINK" rel="DCTERMS.hasFormat"/>'
dctitle: '<meta content="A PATT Study Among 10 to 12-Year-Old Students in the Netherlands" name="DC.title"/>'
dcauthor: '<meta content="Falco de Klerk Wolters" name="DC.creator"/>'
metactx: '<meta content="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.genre=article&amp;rft.atitle=A+PATT+Study+Among+10+to+12-Year-Old+Students+in+the+Netherlands&amp;rft.title=Journal+of+Technology+Education&amp;rft.issn=1045-1064&amp;rft.date=1989&amp;rft.volume=1&amp;rft.issue=1&amp;rft.ssn=fall&amp;rft.aulast=Wolters&amp;rft.aufirst=Falco&amp;rft.auinit=de+Klerk&amp;rft.au=Falco+de+Klerk+Wolters" name="DCTERMS.bibliographicCitation" scheme="KEV.ctx"/>'
dcissue: '<meta content="Journal of Technology Education 1(1): (Fall 1989)" name="DCTERMS.bibliographicCitation"/>'
dcterm: '<meta content="1989" name="DCTERMS.issued" scheme="URL/LINK"/>'
pub: '<meta content="Digital Library and Archives of the Virginia Tech University Libraries" name="DC.publisher"/>'
cont: '<meta content="Council on Technology Teacher Education and the International Technology Education Association" name="DC.contributor"/>'
type: '<meta content="Text" name="DC.type" scheme="URL/LINK"/>'
form: '<meta content="text/html" name="DC.format" scheme="IMT"/>'
dclang: '<meta content="en" name="DC.language" scheme="RFC5646"/>'
part: '<link href="urn:ISSN:1045-1064" rel="DCTERMS.isPartOf"/>'
---
There might be some useful info in the backtrace.
Please post the output from running bundle exec jekyll build --trace
Thanks for the tip. I did the backtrace and here is what it says:
rbrowder-ri-1:scholar-ejournals Robert$ bundle exec jekyll build --trace
Configuration file: /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/_config.yml
Source: /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals
Destination: /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/_site
Incremental build: disabled. Enable with --incremental
Generating…
bundler: failed to load command: jekyll (/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/bin/jekyll)
Addressable::URI::InvalidURIError: Invalid scheme format: index (9
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/addressable-2.5.2/lib/addressable/uri.rb:874:in scheme=' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/addressable-2.5.2/lib/addressable/uri.rb:799:in
block in initialize’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/addressable-2.5.2/lib/addressable/uri.rb:2355:in defer_validation' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/addressable-2.5.2/lib/addressable/uri.rb:796:in
initialize’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/addressable-2.5.2/lib/addressable/uri.rb:136:in new' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/addressable-2.5.2/lib/addressable/uri.rb:136:in
parse’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/addressable-2.5.2/lib/addressable/uri.rb:580:in encode' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/url.rb:143:in
escape_path’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/url.rb:77:in block in generate_url_from_hash' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/url.rb:71:in
each’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/url.rb:71:in inject' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/url.rb:71:in
generate_url_from_hash’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/url.rb:66:in generate_url' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/url.rb:55:in
generated_url’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/url.rb:41:in to_s' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/page.rb:104:in
url’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/_plugins/breadcrumbs.rb:16:in block in loadAddressCache' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/_plugins/breadcrumbs.rb:16:in
each’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/_plugins/breadcrumbs.rb:16:in loadAddressCache' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/_plugins/breadcrumbs.rb:77:in
block in <top (required)>’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/hooks.rb:103:in block in trigger' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/hooks.rb:102:in
each’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/hooks.rb:102:in trigger' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/site.rb:188:in
render’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/site.rb:73:in process' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/command.rb:28:in
process_site’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/commands/build.rb:65:in build' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/commands/build.rb:36:in
process’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/lib/jekyll/commands/build.rb:18:in block (2 levels) in init_with_program' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in
block in execute’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in each' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in
execute’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in go' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in
program’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/gems/jekyll-3.7.3/exe/jekyll:15:in <top (required)>' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/bin/jekyll:22:in
load’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/vendor/bundle/ruby/2.3.0/bin/jekyll:22:in `<top (required)>’
The issue is in
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/_plugins/breadcrumbs.rb
This is not Jekyll’s fault.
If you post the plugin’s code in this thread, I may be able provide additional help…
Thanks much! Here is “breadcrumbs.rb”
require_relative 'drops/breadcrumb_item.rb'
module Jekyll
module Breadcrumbs
@@config = {}
@@siteAddress = ""
@@sideAddresses = {}
def self.clearAddressCache
@@sideAddresses = {}
end
def self.loadAddressCache(site)
clearAddressCache
site.documents.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # collection files including posts
site.pages.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # pages
site.posts.docs.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # posts
end
def self.addAddressItem(url, title)
key = createAddressCacheKey(url)
@@sideAddresses[key] = {:url => url, :title => title}
end
def self.findAddressItem(path)
key = createAddressCacheKey(path)
@@sideAddresses[key] if key
end
def self.createAddressCacheKey(path)
path.chomp("/").empty? ? "/" : path.chomp("/")
end
def self.buildSideBreadcrumbs(side, payload)
payload["breadcrumbs"] = []
return if side.url == @@siteAddress && root_hide === true
drop = Jekyll::Drops::BreadcrumbItem
position = 1
path = side.url.chomp("/").split(/(?=\/)/)
-1.upto(path.size - 1) do |int|
joined_path = int == -1 ? "" : path[0..int].join
item = findAddressItem(joined_path)
if item
position += 1
item[:position] = position
item[:root_image] = root_image
payload["breadcrumbs"] << drop.new(item)
end
end
end
# Config
def self.loadConfig(site)
config = site.config["breadcrumbs"] || {"root" => {"hide" => true, "image" => false}}
root = config["root"]
@@config[:root_hide] = root["hide"] || false
@@config[:root_image] = root["image"] || false
@@siteAddress = site.config["baseurl"] || "/"
@@siteAddress = "/" if @@siteAddress.empty?
end
def self.root_hide
@@config[:root_hide]
end
def self.root_image
@@config[:root_image]
end
end
end
Jekyll::Hooks.register :site, :pre_render do |site, payload|
Jekyll::Breadcrumbs::loadConfig(site)
Jekyll::Breadcrumbs::loadAddressCache(site)
end
Jekyll::Hooks.register [:pages, :documents], :pre_render do |side, payload|
Jekyll::Breadcrumbs::buildSideBreadcrumbs(side, payload)
end
The code for breadcrumbs.rb
looks benign.
Further debugging will require local access to the repository.
The issue could simply be a single file or a result of various plugins interacting with each other.
If you have your repository hosted publicly (e.g. on GitHub, GitLab, etc), do provide us with a link to it.
We can then clone the repo locally to debug the issue.
Thanks much for looking. This repo is not currently public. It is a rather large set of more than 1,100 files. I have been able to run some other diagnostic tools to identify files with Unicode encoding errors. Of the full set I currently have a short list of 14 files that require attention. If I am unable to resolve the matter by cleaning up these files I will find a way to make the repo public for further examination.
Thanks again!
This turned out to be due to a very poorly named file. We scripted the (very basic) conversion from HTML to MD and this slipped through. I imagine the slashes and parenthesis had something to do with it.
“index (9/2/09 1/31 PM).md”