浅析Jekyll 网站
主页传送门:📀 传送
Jekyll
是一种基于Ruby开发的静态网站生成器。它允许用户使用Markdown和HTML文件来编写内容,然后通过Liquid模板语言和CSS进行展示。它将利用模板为你创建一个静态网站。你可以 调整你想要的网址样式、在网站上显示哪些数据 等等。
下面将对Jekyll
网站的多个方面进行详细的浅析:
🍔概述
Jekyll
是一个开源的静态网站生成器,支持Markdown和HTML两种文件类型,其中HTML使用了Liquid模板语言。
它使用Ruby引擎将用Markdown编写的文章转换成静态的HTML文件,生成的网站可以方便地部署到各种网络服务器上。
🍔安装启动
Jekyll
是一个可以安装到大部分操作系统上的 Ruby Gem
组件。
🍟先决条件
- Ruby 2.4.0 或更高版本,包含所有用于开发的头文件(可通过执行
ruby -v
指令检查 ruby 版本) - RubyGems (可通过执行
gem -v
指令检查版本) - GCC and Make (以防你的系统中没有安装这些工具,请通过执行
gcc -v
,g++ -v
和make -v
指令进行检查)
🍟安装指南
各个系统的安装方式各不相同。
🍗windows
windows有多种不同的方式,最简单的方法是通过 RubyInstaller 安装。
🍕方法1:
RubyInstaller 安装 RubyInstaller Downloads
- 从 RubyInstaller Downloads 下载并安装 Ruby+Devkit 版本。使用默认安装选项。
- 在安装向导的最后一个阶段运行 ridk install 步骤。这是安装具有本机扩展的 gem 所必需的。您可以在 RubyInstaller 文档中找到有关此内容的其他信息。
- 从开始菜单中打开一个新的命令提示符窗口,以便对 PATH 环境变量的更改生效。通过以下方式安装 Jekyll 和 Bundler:
gem install jekyll bundler
- 检查
Jekyll
是否正确安装:jekyll -v
安装完毕且成功安装后,即可使用jekyll
。
🍕方法2:
win10或以上版本可以安装适用于 Linux 的 Windows 子系统
。
- 确保我们所有的包/仓库都是最新的。打开一个新的命令提示符实例,然后键入以下内容:
Bash
- 您的命令提示符实例现在应该是 Bash 实例。现在我们必须更新我们的仓库列表和包。
sudo apt-get update -y && sudo apt-get upgrade -y
- 安装 Ruby。使用来自 BrightBox 的存储库 ,该存储库托管了 Ubuntu 的 Ruby 优化版本。
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.5 ruby2.5-dev build-essential dh-autoreconf
- 更新我们的 Ruby gem
gem update
- 安装
jekyll
gem install jekyll bundler
- 检查
jekyll
是否正确安装
jekyll -v
🍗macOS
- 安装命令行工具
xcode-select --install
- 安装Ruby 版本要在 2.4.0 以上,因为 Jekyll 需要 Ruby 版本> 2.4.0 。
- 通过
Homebrew
进行安装
# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install ruby
- 将 brew ruby 路径添加到您的 shell 配置中:
export PATH=/usr/local/opt/ruby/bin:$PATH
- 然后重新启动您的终端并检查更新的 Ruby 设置:
which ruby
# /usr/local/opt/ruby/bin/ruby
ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580)
有多个版本时,可以使用rbenv 管理
# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Install rbenv and ruby-build
brew install rbenv
# Setup rbenv integration to your shell
rbenv init
# Check your install
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
rbenv install 2.6.3
rbenv global 2.6.3
ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580)
🍕安装Jekyll
使用获取 Ruby 版本
再用以下内容附加您的路径文件,将 X.X 替换为 Ruby 版本的前两位数字。
要检查您的 gem 路径是否指向您的主目录,使用gem env
命令。再检查 GEM PATHS: 是否指向主目录中的路径。
⚠️注意:
每次将 Ruby 更新到前两位数字不同的版本时,都需要更新路径以匹配。
🍗Ubuntu Linux
在安装 Jekyll 之前,我们需要确保我们拥有所有必需的依赖项。
sudo apt-get install ruby-full build-essential zlib1g-dev
最好避免以 root 用户身份安装 Ruby Gems。因此,我们需要为您的用户账户设置一个 gem 安装目录。以下命令会将环境变量添加到您的 ~/.bashrc 文件以配置 gem 安装路径。立即运行它们:
echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
最后,安装 Jekyll:
gem install jekyll bundler
🍟操作指南
参照上文安装完毕jekyll
后,在 ./myblog 目录下创建一个全新的 jekyll
网站。
jekyll new myblog
进入新创建的目录。
cd myblog
构建网站并启动一个本地服务器。
bundle exec jekyll serve
在浏览器中打开 http://localhost:4000 网址
🍔常用命令
Jekyll gem 让 jekyll
可以通过命令行进行使用。
`jekyll new PATH` - 使用基于 gem 的默认主题在指定目录中创建一个全新的 Jekyll 站点。必要的目录也会被自动创建。
`jekyll new PATH --blank` - 在指定的目录下创建一个全新的空的 Jekyll 站点脚手架。
`jekyll build` 或 `jekyll b` - 执行一次构建,并将生成的站点输出到 `./_site` (默认) 目录
`jekyll serve` 或 `jekyll s` - 源文件更改时构建站点并提供本地访问服务
`jekyll doctor` - 输出任何不推荐功能或配置方面的问题
`jekyll clean` - 删除所有生成的文件:输出目录、元数据文件、Sass 和 Jekyll 缓存。
`jekyll help` - 显示帮助信息,也可以针对特定子命令显示帮助信息,例如 `jekyll help build`
`jekyll new-theme` - 创建一个新的 Jekyll 主题脚手架
`jekyll serve` - 本地开发
`jekyll build` - 为生产环境构建站点。
🍔目录结构
.
├── _config.yml
├── _data
| └── members.yml
├── _drafts
| ├── begin-with-the-crazy-ideas.md
| └── on-simplicity-in-technology.md
├── _includes
| ├── footer.html
| └── header.html
├── _layouts
| ├── default.html
| └── post.html
├── _posts
| ├── 2007-10-29-why-every-programmer-should-play-nethack.md
| └── 2009-04-26-barcamp-boston-4-roundup.md
├── _sass
| ├── _base.scss
| └── _layout.scss
├── _site
├── .jekyll-metadata
└── index.html # 也可以是带 front matter 的 'index.md' 文件
很复杂看的一脸懵是不是,不要紧,你只要记住其中几个OK了
_config.yml 全局配置文件
_posts 放置博客文章的文件夹
其他的想继续深入研究的可以看这里Jekyll
🍔Gems
Gems:
Gem 是可以包含在 Ruby 项目中的代码。它允许您打包功能并在其他项目之间或与其他人共享。Gem 可以执行以下功能:
- 将 Ruby 对象转换为 JSON
- 分页
- 与 GitHub 等 API 交互
- Jekyll 本身是一个gem,以及许多 Jekyll 插件,包括 jekyll-feed , jekyll-seo-tag 和 jekyll-archives 。
Gemfile 是您的网站所需的 Gem 列表。对于一个简单的 Jekyll 站点,它可能看起来像这样:
source "https://rubygems.org"
gem "jekyll"
group :jekyll_plugins do
gem "jekyll-feed"
gem "jekyll-seo-tag"
end
如果喜欢的话,欢迎 🤞关注 👍点赞 💬评论 🤝收藏 🙌一起讨论 你的支持就是我✍️创作的动力! 💞💞💞
参考资料:
Jekyll 中文网