Rediscovering the Blog
After setting up this blog and finally getting up to producing some content for it - I may have got super busy and abandoned the project for a while, however now I have decided to keep it up as I have a few projects in mind that I would like to log and here we are!
That said, after all this time things have changed in the jekyll world apparently and my set up no longer worked (using the steps outlined in Installing and Learning Jekyll so these are the steps I used to get up and running again:
- Run
gem update && gem cleanup
in the command line to update all Gems - Now after running
jekyll serve --watch
the following error is shown:Configuration file: D:/Documents/GitHub/Twulz.github.io/_config.yml Deprecation: The 'plugins' configurationoption has been renamed to 'plugins_dir'. Please update your config file accordingly. jekyll 3.1.1 | Error: uninitialized constant Jekyll::Gist
So I changed my
_config.yml
file to reflect these changes. - Aaaaaand check out this huge error message, though it still has “server running…” at the end?
```
Configuration file: D:/Documents/GitHub/Twulz.github.io/_config.yml
Deprecation: The ‘plugins’ configurationoption has been renamed to ‘plugins_dir’. Please update your config file accordingly.
Deprecation: You appear to have pagination turned on, but you haven’t included the
jekyll-paginate
gem. Ensure you havegems: [jekyll-paginate]
in yo ur configuration file. Source: . Destination: ./_site Incremental build: disabled. Enable with –incremental Generating…
Populating LSI…
Rebuilding index…
Liquid Exception: No such file or directory - python C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/pygments.rb-0.6.3/lib/pygments/mentos.py in D:
/Documents/GitHub/Twulz.github.io/_posts/2015-04-30-welcome-to-jekyll.markdown
done in 0.195 seconds.
Deprecation: You appear to have pagination turned on, but you haven’t included the jekyll-paginate
gem. Ensure you have gems: [jekyll-paginate]
in yo
ur configuration file.
Please add the following to your Gemfile to avoid polling for changes:
gem ‘wdm’, ‘>= 0.1.0’ if Gem.win_platform?
Auto-regeneration: enabled for ‘.’
Configuration file: D:/Documents/GitHub/Twulz.github.io/_config.yml
Deprecation: The ‘plugins’ configurationoption has been renamed to ‘plugins_dir’. Please update your config file accordingly.
Server address: http://127.0.0.1:4000/
Server running… press ctrl-c to stop.
Apparently with Jekyll 3.0 `jekyll-paginate` has been retired, use of [Octopress Paginate][octopress] is an alternative as shown in [this jekyll talk post][paginate].
I installed Octopress-Paginate using the instructions on their page: first manually using `gem install octopress-paginate`
and then adding the gem to the Jekyll configuration:
gems:
- octopress-paginate ```
Now I just get the following error:
Configuration file: D:/Documents/GitHub/Twulz.github.io/_config.yml
jekyll 3.1.1 | Error: uninitialized constant Jekyll::Gist
Another fix: uninstall all gems and reinstall everything using gem uninstall --all
then gem install github-pages
The first time there was an error, after running gem install github-pages
again everything seemed to install correctly.
Info from page: [https://rubygems.org/gems/jekyll-gist/versions/1.4.0] gem install jekyll gem install bundler gem install rake gem install rspec gem install webmock
Now error:
C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/resolver.rb:354:in `block in verify_gemfile_dependencies_are_found!': Could not find gem 'rdiscoun
t x86-mingw32' in any of the gem sources listed in your Gemfile or available on this machine. (Bundler::GemNotFound)
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/resolver.rb:330:in `each'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/resolver.rb:330:in `verify_gemfile_dependencies_are_found!'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/resolver.rb:199:in `start'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/resolver.rb:183:in `resolve'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/definition.rb:198:in `resolve'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/definition.rb:137:in `specs'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/definition.rb:182:in `specs_for'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/definition.rb:171:in `requested_specs'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/environment.rb:18:in `requested_specs'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:13:in `setup'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler.rb:92:in `setup'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.1.1/lib/jekyll/plugin_manager.rb:33:in `require_from_bundler'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/jekyll-3.1.1/bin/jekyll:9:in `<top (required)>'
from C:/Ruby22/bin/jekyll:23:in `load'
from C:/Ruby22/bin/jekyll:23:in `<main>'
gem install bundler
So after getting myself up and running with a barebones blog yesterday I decided that I needed to make it a little more pretty. I’ve found many templates/themes online, there is a great list featured on the Jekyll Repo.
The first step was cloning the appropriate repo and getting it up and running locally before making any changes. These themes come with a Gemfile which lets you install all the required gems using bundler (which I realised was the program mentioned in that first ‘recommended install guide’ from yesterday’s post. This is very simply installed with gem install bundler
Then to install the required dependencies it’s just a matter of navigating to that newly cloned directory and running bundle install
Again, I encountered a few issues with “cannot load such file”, because of course these things can never be that straight forward!
A little more Googling gave me the idea to use bundle update
to make sure all of the required gems are up to date, which brought me back to the small issue with hitimes which I had yesterday and fixed with this method.
Finally I had a very simple pretty blog with no content!
But of course I wasn’t happy with just a “simple” pretty blog, I kept searching for more advanced options which opened a whole new can of worms. I attempted to create a blog using two different templates; Jekyll Experiment and Slim Pickins but both came back with errors such as below where x is not a class
which prevented me from building the sites locally.
C:\Users\Alicia\Documents\GitHub\Twulz.github.io>jekyll serve --watch
Configuration file: C:/Users/Alicia/Documents/GitHub/Twulz.github.io/_config.yml
jekyll 2.5.3 | Error: Gist is not a class
Slim Pickins did not even build on GitHub pages so I am assuming that is a version you must build yourself before pushing to github.
Eventually after much Googling, a little swearing and a few days of installing and re-installing I finally came to the realisation that this error is thrown in ruby when a name is reserved and after reading this post I simply tried changing the name of Gist
to GistTag
in the following code in _plugins/gist.rb
:
Et voila! The jekyll experiment website was finally working (albeit with warnings) locally. Phew! Now I just need to customise it.
Another small error that I encountered was the fact that the --drafts
flag for jekyll serve
would throw an error:
jekyll serve --drafts
...
jekyll 2.5.3 | Error: Numerical argument is out of domain - "sqrt"
However after renaming the drafts files to conform to the required final post format e.g. 2015-07-11-making-it-pretty.md
fixed this problem.
Just for my own records, this is the exact warnings that comes up for jekyll serve
at this point in time:
C:\Users\Alicia\Documents\GitHub\Twulz.github.io>jekyll serve --watch
Configuration file: C:/Users/Alicia/Documents/GitHub/Twulz.github.io/_config.yml
Source: .
Destination: ./_site
Generating...
Populating LSI...
Rebuilding index...
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/classifier-reborn-2.0.3/lib/classifier-reborn/lsi.rb:237: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
Build Warning: Layout 'nil' requested in atom.xml does not exist.
Build Warning: Layout 'nil' requested in rss.xml does not exist.
Build Warning: Layout 'nil' requested in sitemap.xml does not exist.
done.
Please add the following to your Gemfile to avoid polling for changes:
gem 'wdm', '>= 0.1.0' if Gem.win_platform?
Auto-regeneration: enabled for '.'
Configuration file: C:/Users/Alicia/Documents/GitHub/Twulz.github.io/_config.yml
Server address: http://127.0.0.1:4000
Server running... press ctrl-c to stop.