Jekyll 3.7.3 | Error: Invalid scheme format: index (9

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&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rfr_id=info%3Asid%2Focoins.info%3Agenerator&rft.genre=article&rft.atitle=A+PATT+Study+Among+10+to+12-Year-Old+Students+in+the+Netherlands&rft.title=Journal+of+Technology+Education&rft.issn=1045-1064&rft.date=1989&rft.volume=1&rft.issue=1&rft.ssn=fall&rft.aulast=Wolters&rft.aufirst=Falco&rft.auinit=de+Klerk&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:inblock 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:ininitialize’
/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:inparse’
/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:inescape_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:ineach’
/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:ingenerate_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:ingenerated_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:inurl’
/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:ineach’
/Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/_plugins/breadcrumbs.rb:16:in loadAddressCache' /Users/Robert/Documents/SUPER-SCHOLAR/scholar-ejournals/_plugins/breadcrumbs.rb:77:inblock 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:ineach’
/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:inrender’
/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:inprocess_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:inprocess’
/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:inblock 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:inexecute’
/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:inprogram’
/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:inload’
/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”