How to install Jekyll in CentOS 7 

To install Jekyll in CentOS 7

Jekyll is a tool used for developing simple and static websites. It is similar to CMS which functions without any database. Installation of Jekyll in CentOS is explained in this tutorial. .

Installing Jekyll

The installation of Jekyll requires prior installation of Ruby along with its dependencies. Use the following command to install them.

[root@linuxhelp1 Desktop]# yum install -y ruby ruby-devel rubygems
Loaded plugins: fastestmirror, langpacks, priorities
base                                                           | 3.6 kB  00:00:01     
extras                                                         | 3.4 kB  00:00:00     
updates                                                        | 3.4 kB  00:00:00     
updates/7/x86_64/primary_db                                    | 2.2 MB  00:01:58     
Loading mirror speeds from cached hostfile
 * base: mirror.fibergrid.in
 * extras: mirror.fibergrid.in
 * updates: mirror.fibergrid.in
Resolving Dependencies
-->  Running transaction check
--->  Package ruby.x86_64 0:2.0.0.648-29.el7 will be installed
-->  Processing Dependency: ruby-libs(x86-64) = 2.0.0.648-29.el7 for package: ruby-2.0.0.648-29.el7.x86_64
-->  Processing Dependency: rubygem(bigdecimal) > = 1.2.0 for package: ruby-2.0.0.648-29.el7.x86_64
-->  Processing Dependency: libruby.so.2.0()(64bit) for package: ruby-2.0.0.648-29.el7.x86_64
--->  Package ruby-devel.x86_64 0:2.0.0.648-29.el7 will be installed
--->  Package rubygems.noarch 0:2.0.14.1-29.el7 will be installed
.
.
.
  Verifying  : ruby-devel-2.0.0.648-29.el7.x86_64                                4/11 
  Verifying  : rubygem-rdoc-4.0.0-29.el7.noarch                                  5/11 
  Verifying  : ruby-irb-2.0.0.648-29.el7.noarch                                  6/11 
  Verifying  : rubygem-bigdecimal-1.2.0-29.el7.x86_64                            7/11 
  Verifying  : rubygem-json-1.7.7-29.el7.x86_64                                  8/11 
  Verifying  : rubygem-io-console-0.4.2-29.el7.x86_64                            9/11 
  Verifying  : ruby-2.0.0.648-29.el7.x86_64                                     10/11 
  Verifying  : rubygem-psych-2.0.0-29.el7.x86_64                                11/11 

Installed:
  ruby.x86_64 0:2.0.0.648-29.el7           ruby-devel.x86_64 0:2.0.0.648-29.el7       
  rubygems.noarch 0:2.0.14.1-29.el7       

Dependency Installed:
  libyaml.x86_64 0:0.1.4-11.el7_0           ruby-irb.noarch 0:2.0.0.648-29.el7       
  ruby-libs.x86_64 0:2.0.0.648-29.el7       rubygem-bigdecimal.x86_64 0:1.2.0-29.el7 
  rubygem-io-console.x86_64 0:0.4.2-29.el7  rubygem-json.x86_64 0:1.7.7-29.el7       
  rubygem-psych.x86_64 0:2.0.0-29.el7       rubygem-rdoc.noarch 0:4.0.0-29.el7       

Complete!

Once Ruby and its dependencies are installed, invoke the gem install command to install Jekyll.

[root@linuxhelp1 Desktop]# gem install jekyll
Fetching: public_suffix-2.0.5.gem (100%)
Successfully installed public_suffix-2.0.5
Fetching: addressable-2.5.0.gem (100%)
Successfully installed addressable-2.5.0
Fetching: colorator-1.1.0.gem (100%)
Successfully installed colorator-1.1.0
Fetching: sass-3.4.23.gem (100%)
Successfully installed sass-3.4.23
Fetching: jekyll-sass-converter-1.5.0.gem (100%)
.
.
.
Parsing documentation for mercenary-0.3.6
Installing ri documentation for mercenary-0.3.6
Parsing documentation for forwardable-extended-2.6.0
Installing ri documentation for forwardable-extended-2.6.0
Parsing documentation for pathutil-0.14.0
Installing ri documentation for pathutil-0.14.0
Parsing documentation for rouge-1.11.1
Installing ri documentation for rouge-1.11.1
Parsing documentation for safe_yaml-1.0.4
Installing ri documentation for safe_yaml-1.0.4
Parsing documentation for jekyll-3.4.0
Installing ri documentation for jekyll-3.4.0
18 gems installed

After it is done, use the gem install command to install bundler.

[root@linuxhelp1 Desktop]# gem install bundler
Fetching: bundler-1.14.4.gem (100%)
Did you know that maintaining and improving Bundler and RubyGems.org costs more than $25,000 USD every month? Help us keep the gem ecosystem free for everyone by joining the hundreds of companies and individuals who help cover these costs: https://ruby.to/support-bundler
Successfully installed bundler-1.14.4
Parsing documentation for bundler-1.14.4
Installing ri documentation for bundler-1.14.4
1 gem installed

Once it is done, create the Jekyll project by using “ Jekyll new” command.

[root@linuxhelp1 Desktop]# jekyll new test1
Running bundle install in /root/Desktop/test1... 
  Bundler: Don' t run Bundler as root. Bundler can ask for sudo if it is needed, and
  Bundler: installing your bundle as root will break this application for all non-root
  Bundler: users on this machine.
  Bundler: The dependency tzinfo-data (> = 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
  Bundler: Fetching gem metadata from https://rubygems.org/............
  Bundler: Fetching version metadata from https://rubygems.org/...
  Bundler: Fetching dependency metadata from https://rubygems.org/..
  Bundler: Resolving dependencies...
  Bundler: Rubygems 2.0.14.1 is not threadsafe, so your gems will be installed one at a time. Upgrade to Rubygems 2.1.0 or higher to enable parallel gem installation.
  Bundler: Using public_suffix 2.0.5
  Bundler: Using colorator 1.1.0
  Bundler: Using ffi 1.9.17
  Bundler: Using forwardable-extended 2.6.0
  Bundler: Using sass 3.4.23
  Bundler: Using rb-fsevent 0.9.8
  Bundler: Using kramdown 1.13.2
  Bundler: Using liquid 3.0.6
  Bundler: Using mercenary 0.3.6
  Bundler: Using rouge 1.11.1
  Bundler: Using safe_yaml 1.0.4
  Bundler: Using bundler 1.14.4
  Bundler: Using addressable 2.5.0
  Bundler: Using rb-inotify 0.9.8
  Bundler: Using pathutil 0.14.0
  Bundler: Using jekyll-sass-converter 1.5.0
  Bundler: Using listen 3.0.8
  Bundler: Using jekyll-watch 1.5.0
  Bundler: Using jekyll 3.4.0
  Bundler: Installing jekyll-feed 0.8.0
  Bundler: Installing minima 2.1.0
  Bundler: Bundle complete! 4 Gemfile dependencies, 21 gems now installed.
  Bundler: Use `bundle show [gemname]` to see where a bundled gem is installed.
  Bundler: Post-install message from minima:
  Bundler: 
  Bundler: ----------------------------------------------
  Bundler: Thank you for installing minima 2.0!
  Bundler: 
  Bundler: Minima 2.0 comes with a breaking change that
  Bundler: renders ' < your-site> /css/main.scss'  redundant.
  Bundler: That file is now bundled with this gem as
  Bundler: ' < minima> /assets/main.scss' .
  Bundler: 
  Bundler: More Information:
  Bundler: https://github.com/jekyll/minima#customization
  Bundler: ----------------------------------------------
New jekyll site installed in /root/Desktop/test1. 

Once the project is created, enter the project directory by invoking the following command.

[root@linuxhelp1 Desktop]# cd test1/

Finally, run Jekyll serve command for run the project.

[root@linuxhelp1 test1]# jekyll serve
Configuration file: /root/Desktop/test1/_config.yml
Configuration file: /root/Desktop/test1/_config.yml
            Source: /root/Desktop/test1
       Destination: /root/Desktop/test1/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
                    done in 0.67 seconds.
 Auto-regeneration: enabled for ' /root/Desktop/test1' 
Configuration file: /root/Desktop/test1/_config.yml
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.

To access Jekyll, open your browser and call the loopback address with Jekyll port number as follows.


Tag : CentOS Jekyll
FAQ
Q
How to run Jekyll on centos 7?
A
Finally, run Jekyll serve command for the run the project.
# jekyll serve
Q
What is Jekyll?
A
Jekyll is a tool used for developing simple and static websites. It is similar to CMS which functions without any database.
Q
Can I use Bootstrap with Jekyll?
A
Yes, of course. You can use any HTML starter template/boilerplate with Jekyll.
Jekyll (and GitHub Pages) has built-in support for SCSS, thus, if you use the Bootstrap SCSS version - Jekyll will auto-build the bootstrap.css from the sources letting you change colors, fonts and much more
Q
How can I get started with gem-packaged themes? / Do I need to package my theme into a gem?
A
Gem-packaged themes are just an advanced option and in addition, they are in development for (real world) experiments (e.g. think v0.1 as stated by the Ben Balter - the lead designer/ manager/dev at GitHub).
Q
Where can I find the latest (and greatest) Jekyll news and goodies?
A
For detailed upcoming major and minor enhancements and bug fixes, see the History page in the Jekyll repo.