I want to create a website from scratch using Jekyll. I use this command: `jekyll new mysite'. And it spit out this:
repo> jekyll new mysite
Running bundle install in /Users/johntowery/repo/kbsite...
Bundler: Fetching gem metadata from https://rubygems.org/...........
Bundler: Fetching gem metadata from https://rubygems.org/.
Bundler: Resolving dependencies...
Bundler: Using public_suffix 4.0.1
Bundler: Using addressable 2.7.0
Bundler: Using bundler 2.0.2
Bundler: Using colorator 1.1.0
Bundler: Using concurrent-ruby 1.1.5
Bundler: Using eventmachine 1.2.7
Bundler: Using http_parser.rb 0.6.0
Bundler: Using em-websocket 0.5.1
Bundler: Using ffi 1.11.1
Bundler: Using forwardable-extended 2.6.0
Bundler: Using i18n 1.6.0
Bundler: Using sassc 2.2.0
Bundler: Using jekyll-sass-converter 2.0.0
Bundler: Using rb-fsevent 0.10.3
Bundler: Using rb-inotify 0.10.0
Bundler: Using ruby_dep 1.5.0
Bundler: Using listen 3.1.5
Bundler: Using jekyll-watch 2.2.1
Bundler: Using kramdown 2.1.0
Bundler: Using kramdown-parser-gfm 1.1.0
Bundler: Using liquid 4.0.3
Bundler: Using mercenary 0.3.6
Bundler: Using pathutil 0.16.2
Bundler: Using rouge 3.10.0
Bundler: Using safe_yaml 1.0.5
Bundler: Using unicode-display_width 1.6.0
Bundler: Using terminal-table 1.8.0
Bundler: Using jekyll 4.0.0
Bundler: Using jekyll-feed 0.12.1
Bundler: Using jekyll-seo-tag 2.6.1
Bundler: Using minima 2.5.1
Bundler: Bundle complete! 6 Gemfile dependencies, 31 gems now installed.
Bundler: Use `bundle info [gemname]` to see where a bundled gem is installed.
New jekyll site installed in /Users/johntowery/repo/mysite.
It created some file and directories. I understnad that this new site use gem-based theme "Minima".
repo> cd mysite
mysite> ls
404.html Gemfile Gemfile.lock _config.yml _posts about.markdown index.markdown
So far so good. I do understand that _layout, _include, etc are already inside Minima theme so that's expected. I didn't add or change anything at this point. Now I run it using: bundle execjekyll serve
I get this.
mysite> bundle exec jekyll serve
Configuration file: /Users/johntowery/repo/kbsite/_config.yml
Source: /Users/johntowery/repo/kbsite
Destination: /Users/johntowery/repo/kbsite/_site
Incremental build: disabled. Enable with --incremental
Generating...
Jekyll Feed: Generating feed for posts
Build Warning: Layout 'post' requested in _posts/2019-09-12-welcome-to-jekyll.markdown does not exist.
Build Warning: Layout 'default' requested in 404.html does not exist.
Build Warning: Layout 'page' requested in about.markdown does not exist.
Build Warning: Layout 'home' requested in index.markdown does not exist.
done in 0.402 seconds.
Auto-regeneration: enabled for '/Users/johntowery/repo/kbsite'
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
Why is it not recognizing that those "missing" Layout is in Minima gem?
The _config.yml
folder: (which was autogenerated by jekyll new
and I didn't modify it.)
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
#
# If you need help with YAML syntax, here are some quick references for you:
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
# https://learnxinyminutes.com/docs/yaml/
#
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: Your awesome title
email: [email protected]
description: >- # this means to ignore newlines until "baseurl:"
Write an awesome description for your new site here. You can edit this
line in _config.yml. It will appear in your document head meta (for
Google search results) and in your feed.xml site description.
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: jekyllrb
github_username: jekyll
# Build settings
theme: minima
plugins:
- jekyll-feed
# Exclude from processing.
# The following items will not be processed, by default.
# Any item listed under the `exclude:` key here will be automatically added to
# the internal "default list".
#
# Excluded items can be processed by explicitly listing the directories or
# their entries' file path in the `include:` list.
#
# exclude:
# - .sass-cache/
# - .jekyll-cache/
# - gemfiles/
# - Gemfile
# - Gemfile.lock
# - node_modules/
# - vendor/bundle/
# - vendor/cache/
# - vendor/gems/
# - vendor/ruby/
I understand that when creating new site using jekyll new <newstie>
, it will create all the basic files (scaffolding). And I do know that some folders are not created because it is already in the theme gem (Minima). And I do know that you only need to create the folder (_layouts, _includes, or _sass, etc etc) if you wanted to override the 'default'. I knew that. But I expect the jekyll new <sitename>
create the essential and be able to bundle exec jekyll serve
successfully. But it isn't. It is not recognizing that those 'missing' folder is in Minima gem. Why is it not recognizing it? What's the point of Theme gems if Jekyll don't recognize the folder in the gem?
Is there something missing?
Im using:
- macOS Mojave (10.14.6 (18G95))
- ruby 2.6.4p104
- Bundler version 2.0.2
- jekyll 4.0.0
thanks