Integrating bourbon to default octopress theme - themes

I'd like to make my octopress blog template with thoughtbot's bourbon & neat. I couldn't find any documentation that covers theming in octopress (or its root, jekyll) from scratch. So, I decided to customise octopress default theme.
I've added related gems to the Gemfile like:
gem 'compass', '~> 1.0.0.rc.1' # to make compass work with sass 3.3
gem 'sass', '~> 3.3' # unnecessary but better to be placed hier
gem 'bourbon'
gem 'refills'
gem 'neat'
gem 'bitters'
Then, I've copied default theme under .themes path like:
ls .themes/classic .themes/bourtlen # so, new theme name is bourtlen :)
I've made sass folder under bourtlen empty. Then inside sass, I've run:
bourbon install
All bourbon assets are now under sass. Then, I've added screen.scss under sass:
#import 'compass';
#import 'bourbon/bourbon';
#import 'base/base';
#import 'neat/neat';
#import 'custom/custom'; # for customization, it's also created in sass folder as _custom.scss
After all, I've installed my newborn theme, but when I hit command to generate the site, I got these warnings & errors:
❯ bin/rake generate --trace
** Invoke generate (first_time)
** Execute generate
## Generating Site with Jekyll
/home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches/browser_support.rb:1:in `require': cannot load such file -- sass/script/node (LoadError)
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches/browser_support.rb:1:in `<top (required)>'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:2:in `require'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:2:in `block in <top (required)>'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `each'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `<top (required)>'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions.rb:9:in `require'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions.rb:9:in `<top (required)>'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass.rb:5:in `require'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass.rb:5:in `block in <top (required)>'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass.rb:4:in `each'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/lib/compass.rb:4:in `<top (required)>'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/bin/compass:20:in `require'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/bin/compass:20:in `block in <top (required)>'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/bin/compass:8:in `fallback_load_path'
from /home/ekrem/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/compass-0.12.2/bin/compass:19:in `<top (required)>'
from /home/ekrem/.rbenv/versions/2.1.1/bin/compass:23:in `load'
from /home/ekrem/.rbenv/versions/2.1.1/bin/compass:23:in `<main>'
Notice: for 10x faster LSI support, please install http://rb-gsl.rubyforge.org/
Configuration file: /home/ekrem/ws-rails/blog-new/_config.yml
Source: source
Destination: public
Generating...
Build Warning: Layout 'nil' requested in blog/categories/ruby/atom.xml does not exist.
Build Warning: Layout 'nil' requested in blog/categories/rails/atom.xml does not exist.
Build Warning: Layout 'nil' requested in blog/categories/ember/atom.xml does not exist.
Build Warning: Layout 'nil' requested in atom.xml does not exist.
Build Warning: Layout 'nil' requested in robots.txt does not exist.
Build Warning: Layout 'nil' requested in blog/categories/ruby/atom.xml does not exist.
Build Warning: Layout 'nil' requested in blog/categories/rails/atom.xml does not exist.
Build Warning: Layout 'nil' requested in blog/categories/ember/atom.xml does not exist.
done.
Site runs on local after all but no effect because of (probably) these errors & warnings. I wonder what is missing.

I am trying to do the exact same thing right now (setting up my custom Octopress theme using Bourbon and Neat) and I just managed to resolve the same issue you're experiencing.
The 'nil' error:
As detailed here since version 2.2 Jekyll has an issue with the layout validation, so you will manually have to change nil to null in 2 files:
source/atom.xml
source/_includes/custom/category_feed.xml
This will sort out Jekyll and it will stop hicking up :)
The Compass errors:
I had quite a bit of a nightmare when I was trying to upgrade Compass, so that Bourbon can be installed. It seems that Compass was locked to an old version of SASS, which was locked to an old version of listen, which could not be updated...
I eventually had to delete ALL versions of Compass I had installed, and then install version 1.0.1.
In my case another issue was that I had the gems installed globally, and not per project, so I had to add a .bundle/config file to tell Bundler where to clone the gems for the Octopress repo.
The contents of my Bundler config file:
---
BUNDLE_PATH: vendor/bundle
BUNDLE_DISABLE_SHARED_GEMS: '1'
After carrying out with these changes Octopress should be happy to work with Bourbon.
I hope it helps.

For the 'nil' warnings:
Create an empty "nil.html" file in the _layouts folder
(Jekyll started validating layouts...)

Related

bundle exec jekyll serve > Conflict: The following destination is shared by multiple files

Environment
Windows 10
ruby 3.0.0p0
jekyll 4.2.0
bundler
Steps to get here
installed ruby and jekyll using instructions: https://jekyllrb.com/docs/installation/windows/#installation-via-rubyinstaller
cloned existing jekyll repository (uses minimal mistakes theme)
successfully executed bundle update to update all the dependencies.
manually installed wdm
Gemfile looks like this:
source "https://rubygems.org"
gemspec
gem 'wdm', '>= 0.1.0' if Gem.win_platform?
Issue
jekyll serve and bundle exec jekyll serve commands fail with the following error:
$ bundle exec jekyll serve
Configuration file: C:/Users/linds/ueducateus-website/_config.yml
Source: C:/Users/linds/ueducateus-website
Destination: C:/Users/linds/ueducateus-website/_site
Incremental build: disabled. Enable with --incremental
Generating...
Jekyll Feed: Generating feed for posts
Conflict: The following destination is shared by multiple files.
The written file may end up with unexpected contents.
C:/Users/linds/ueducateus-website/_site/index.html
- index.html
- index.html
- index.html
- index.html
- index.html
done in 1.511 seconds.
Auto-regeneration: enabled for 'C:/Users/linds/ueducateus-website'
------------------------------------------------
Jekyll 4.2.0 Please append `--trace` to the `serve` command
for any additional information or backtrace.
------------------------------------------------
C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve/servlet.rb:3:in `require': cannot load such file -- webrick (LoadError)
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve/servlet.rb:3:in `<top (required)>'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:179:in `require_relative'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:179:in `setup'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:100:in `process'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `each'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/exe/jekyll:15:in `<top (required)>'
from C:/Ruby30-x64/bin/jekyll:23:in `load'
from C:/Ruby30-x64/bin/jekyll:23:in `<main>'
Additional
Site builds successfully on Ubuntu 18.04, with Ruby 2.5.1 and Jekyll 4.0
Unfortunately for handover, the site files need to be on Windows
This issue could be related to https://github.com/kubevirt/kubevirt.github.io/issues/665
Have run jekyll serve --trace but results are the same
It seems webrick does not come bundled with ruby 3.0. Check this jekyll github issue.
From
https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/:
The following libraries are no longer bundled gems or standard
libraries. Install the corresponding gems to use these features.
sdbm webrick net-telnet xmlrpc
You have two options
Downgrade to ruby 2.5 as you have on ubuntu OR
Add gem "webrick" in Gemfile.

How to copy a rubygem from one installation to another one

What must I do when I want to copy an installed gem from one installation to another one without using the gem command?
I have to install SQLite3 on a server without an internet connection. Normally I can do it with a copy of the gem-file:
gem install --local sqlite3-1.4.0.gem --platform ruby
But for SQLite3 it needs a connection to the internet to get libraries to compile some binaries. The installation worked well on a computer with an internet connection.
So my idea was to take my successful installation on the same OS and same Ruby version and copy all the related components, but this did not work.
When I called:
require 'sequel'
db = Sequel.sqlite
I got this error:
LoadError: The specified module could not be found
d:/bin/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sqlite3-1.4.1/lib/sqlite3/sqlite3_native.so
(Sequel::AdapterNotFound)
In the trace is:
d:/bin/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': LoadError: 126: The specified module could not be found. - d:/bin/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sqlite3-1.4.1/lib/sqlite3/sqlite3_native.so (Sequel::AdapterNotFound)
from d:/bin/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from d:/bin/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sqlite3-1.4.1/lib/sqlite3.rb:6:in `rescue in <top (required)>'
from d:/bin/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sqlite3-1.4.1/lib/sqlite3.rb:2:in `<top (required)>'
from d:/bin/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
from d:/bin/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
from d:/bin/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
from d:/bin/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sequel-5.17.0/lib/sequel/adapters/sqlite.rb:3:in `<top (required)>'
from d:/bin/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from d:/bin/Ruby26-x64/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from d:/bin/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sequel-5.17.0/lib/sequel/database/connecting.rb:88:in `load_adapter'
from d:/bin/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sequel-5.17.0/lib/sequel/database/connecting.rb:17:in `adapter_class'
from d:/bin/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sequel-5.17.0/lib/sequel/database/connecting.rb:45:in `connect'
from d:/bin/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sequel-5.17.0/lib/sequel/core.rb:121:in `connect'
from d:/bin/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sequel-5.17.0/lib/sequel/core.rb:399:in `adapter_method'
from d:/bin/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sequel-5.17.0/lib/sequel/core.rb:406:in `block (2 levels) in def_adapter_method'
from _ruby_version.rb:21:in `<main>'
but the file exists:
What is my error?
I'm using Windows Server 2016.
I found a precompiled version of SQLite3 in a GitHub issue which works for me, but I would like to use a newer version.
Use Bundler for this.
In short:
Run gem install bundler on each machine you're using.
Maintain a project Gemfile listing all requirements
Run bundle install when your Gemfile changes and bundle update to update to latest versions. This will generate the Gemfile.lock file.
Prefix ruby execution with bundle exec, e.g. bundle exec ruby myscript or bundle exec rails c
That's a brief summary, but please read up more on Bundler. It's an essential part of modern Ruby deployment.
You need to use the package option of bundler.
First you need to cache your dependencies into vendor/cache with:
bundle package --all --all-platforms
This will install all the dependencies of your Gemfile locally, then add the directory to your source code repository.
When deploying make sure you use bundle install --local to use the local version.
See the documentation for bundle package for more information.

How do I fix psych module not being found or being the right version Ruby

I get the following error when trying to do anything with Ruby, specifically ruby gems:
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/yaml.rb:5:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
/usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:130:in `require': incompatible library version - /usr/local/rvm/gems/ruby-2.4.5/gems/psych-3.1.0/lib/psych.so (LoadError)
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:34:in `require'
from /usr/local/rvm/gems/ruby-2.4.5/gems/psych-3.1.0/lib/psych.rb:16:in `rescue in <top (required)>'
from /usr/local/rvm/gems/ruby-2.4.5/gems/psych-3.1.0/lib/psych.rb:13:in `<top (required)>'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/2.4.0/yaml.rb:6:in `<top (required)>'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems.rb:729:in `load_yaml'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/config_file.rb:349:in `load_file'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/config_file.rb:202:in `initialize'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/gem_runner.rb:79:in `new'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/gem_runner.rb:79:in `do_configuration'
from /usr/local/rvm/rubies/ruby-2.4.5/lib/ruby/site_ruby/2.4.0/rubygems/gem_runner.rb:44:in `run'
from /usr/local/rvm/rubies/ruby-2.4.5/bin/gem:21:in `<main>'
I believe the line of note is this one:
LoadError: incompatible library version - /usr/local/rvm/gems/ruby-2.4.5/gems/psych-3.1.0/lib/psych.so
I get this from gem install puppet, gem update, etc. I tried uninstalling and reinstalling libyaml, and same with Ruby. The error happened after I did bundle uninstall puppet to get it to stop pointing to the 6.3.0 gem and point to the 4.10.2 executable. I need Ruby to be able to use Rspec to test the modules. Does anyone know how I can fix this?
Without steps to reproduce the broken system it is hard to say what happened, but I can say in general how you can set this up correctly to use a specific version of Puppet.
Does this help? In the worst case, you can probably uninstall RVM and reinstall it.
Before I continue, let me note that Puppet 4.10.2 and 4.10.3 have both been removed from Rubygems. (Although I was able to install it with PDK.)
For the remainder I assume 4.10.4 instead (just to distinguish it from latest 4.10).
The recommended approach is to use Puppet Development Kit (pdk). If you download and install PDK, you probably just need to do these steps:
pdk convert
rm Gemfile.lock
PUPPET_GEM_VERSION=4.10.4 bundle update # If that version isn't already in PDK.
pdk test unit --puppet-version 4.10.4
If you don't want to go down the PDK path, you can try these alternatives:
Hardcode the version of Puppet you want in Gemfile.
gem 'puppet', '4.10.4'
Or:
gem 'puppet', '~> 4.10' # latest 4.10
Then update your bundle:
rm -f Gemfile.lock
bundle update
Or, you can implement the PUPPET_GEM_VERSION feature by adding this code (this is what I do, for what it's worth):
if puppetversion = ENV['PUPPET_GEM_VERSION']
gem 'puppet', puppetversion
else
gem 'puppet'
end
And then:
rm -f Gemfile.lock
PUPPET_GEM_VERSION='~> 4.10' bundle update
Now you can run your unit tests against a specific version of Puppet per normal:
bundle exec rake spec
Or however you set it up.

Error when trying to build Jekyll 3.4.3 after upgrading

I just recently did a bunch of upgrading on my jekyll site to get a plugin to install and now when I got to build I get this:
`jekyll 3.4.3 | Error: undefined method `gsub' for 25:Integer`
The full stack is:
Configuration file: /Users/susanjrobertson/Sites/jekyll_site/_config.yml
Source: /Users/susanjrobertson/Sites/jekyll_site
Destination: /Users/susanjrobertson/Sites/jekyll_site/_site
Incremental build: disabled. Enable with --incremental
Generating...
/Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/utils.rb:213:in `slugify': undefined method `gsub' for 25:Integer (NoMethodError)
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/drops/url_drop.rb:22:in `title'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/drops/drop.rb:52:in `public_send'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/drops/drop.rb:52:in `[]'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/url.rb:112:in `block in generate_url_from_drop'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/url.rb:102:in `gsub'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/url.rb:102:in `generate_url_from_drop'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/url.rb:69:in `generate_url'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/url.rb:60:in `generated_url'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/url.rb:40:in `to_s'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/document.rb:200:in `url'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/document.rb:214:in `destination'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/regenerator.rb:176:in `regenerate_document?'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/regenerator.rb:25:in `regenerate?'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/site.rb:451:in `block (2 levels) in render_docs'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/site.rb:450:in `each'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/site.rb:450:in `block in render_docs'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/site.rb:449:in `each'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/site.rb:449:in `render_docs'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/site.rb:190:in `render'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/site.rb:69:in `process'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/command.rb:26:in `process_site'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/commands/build.rb:63:in `build'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/commands/build.rb:34:in `process'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/lib/jekyll/commands/build.rb:16:in `block (2 levels) in init_with_program'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/gems/jekyll-3.4.3/exe/jekyll:13:in `<top (required)>'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/bin/jekyll:22:in `load'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/bin/jekyll:22:in `<main>'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
from /Users/susanjrobertson/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'
I'm not the most adept with these things and have no idea what's going on here or how to fix it. X-Code is up to date, I'm using a ruby package manager to get the gems working together, but still am seeing this final error.
Any ideas? And Thank you!
After installation I just had the same error. Went to the jekyll-docs gem directory and ran...
jekyll serve
That command exited with...
Configuration file: C:/ruby217/lib/ruby/gems/2.1.0/gems/jekyll-docs-3.1.1/site/_config.yml Dependency Error: Yikes! It looks like you don't have jekyll-feed or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'cannot load such file -- jekyll-feed' If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/! jekyll 3.1.1 | Error: jekyll-feed
So I did...
gem install jekyll-feed
jekyll serve
This time...
Configuration file: C:/ruby217/lib/ruby/gems/2.1.0/gems/jekyll-docs-3.1.1/site/_config.yml Dependency Error: Yikes! It looks like you don't have jekyll-redirect-from or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'cannot load such file -- jekyll-redirect-from' If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/! jekyll 3.1.1 | Error: jekyll-redirect-from
Again...
gem install jekyll-redirect-from
jekyll serve
This time...
Configuration file: C:/ruby217/lib/ruby/gems/2.1.0/gems/jekyll-docs-3.1.1/site/_config.yml Source: C:/ruby217/lib/ruby/gems/2.1.0/gems/jekyll-docs-3.1.1/site Destination: C:/ruby217/lib/ruby/gems/2.1.0/gems/jekyll-docs-3.1.1/site/_site Incremental build: disabled. Enable with --incremental Generating... Dependency Error: Yikes! It looks like you don't have pygments or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'cannot load such file -- pygments' If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/! Liquid Exception: pygments in C:/ruby217/lib/ruby/gems/2.1.0/gems/jekyll-docs-3.1.1/site/_docs/assets.md ERROR: YOUR SITE COULD NOT BE BUILT: ------------------------------------ pygments
So I opened _config.yml (and there at the end of file were those 2 gems listed which I installed above. I should have opened the _config.yml first) and changed this line...
highlighter: pygments
to..
highlighter: rouge
because rouge was already installed on system. After that I ran...
jekyll serve
and voila. It worked.
Conclusion: required dependencies are not resolving correctly.
So, a friend in another place answered this question for me!
I had a post that was the following slug: 25 and Jekyll didn't like that at all, I changed it to twenty-five and it was all good!
Hope this helps someone else :)

COMPASS CREATE Permissions denied

I have gem installed both SASS and COMPASS using
gem install compass
I am trying to use the command
compass create .
to generate a compass project but when i do I get the following error.
Errno::EACCES on line ["897"] of C: Permission denied
This appears as it is trying to create the config.rb file
I am at a bit of a loss as it seems to be able to create both the stylesheets and sass directories
PS C:\Projects\tutorials\sass> compass create --trace
create config.rb
Errno::EACCES on line ["897"] of C: Permission denied - (C:/Projects/tutorials/sass/config.rb20140323-9028-1j0o9n1, C:/P
rojects/tutorials/sass/config.rb)
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.18/lib/sass/util.rb:897:in `atomic_create_and_write_file'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.4/lib/compass/actions.rb:58:in `write_file'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.4/lib/compass/app_integration/stand_alone/installer.rb:20:in `write_c
onfiguration_files'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.4/lib/compass/app_integration/stand_alone/installer.rb:35:in `prepare
'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.4/lib/compass/installers/base.rb:32:in `run'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-.12.4/lib/c ompass/commands/stamp_pattern.rb:75:in `perform'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.4/lib/compass/commands/base.rb:18:in `execute'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.4/lib/compass/commands/project_base.rb:19:in `execute'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.4/lib/compass/exec/sub_command_ui.rb:43:in `perform!'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.4/lib/compass/exec/sub_command_ui.rb:15:in `run!'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.4/bin/compass:30:in `block in <top (required)>'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.4/bin/compass:44:in `call'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.4/bin/compass:44:in `<top (required)>'
C:/Ruby193/bin/compass:23:in `load'
C:/Ruby193/bin/compass:23:in `<main>'
any help anyone could give me to resolve this would be most appreciated
I've solved this issue by downgrading the compass version. then i've tryed to understand what was the error.
So the problem was version conflicts between sass 3.2.14 and 3.3.4 . compass 0.12.3 depends on 3.2.14 sass verison.
Have a look at this link Can't get sass + compass + susy installed due to version conflict
If you want to make things work with the latest compass version. you can uninstall all sass and compass version that you have. then look for the appropriate version between them.
This will things work perfectly.
And as a better solution you can work with this : http://bundler.io/ .
Kind regards.
you're right. and here you can find details about this issue: https://github.com/chriseppstein/compass/issues/1618#issuecomment-38397775
They are working to solve it.
I think I have found the issue in the util.rb file specified in the error, an attempt is made to change the permissions of the files I think this link may hold the answer.
stackoverflow answer
you can do this way :
gem install compass -v 0.12.3 --no-rdoc --no-ri
and install :
compass install blueprint
it work for me

Resources