保姆级教程:从零构建GitHub Pages静态网站(下)

简介: 保姆级教程:从零构建GitHub Pages静态网站(下)

3. 静态网站生成工具

我们需要的页面肯定不是只有一行文本的,希望其更加的丰富,其实GitHub Pages支持多种静态网站生成工具。

以下是一些GitHub Pages支持的主要静态网站生成工具:

  • Jekyllhttps://jekyllrb.com): Jekyll是GitHub Pages的默认静态网站生成工具,它使用Markdown文件和Liquid模板引擎来创建静态网站,Jekyll对于博客和文档站点非常流行。
  • Hugohttps://gohugo.io/): Hugo是另一个受欢迎的静态网站生成工具,它非常快速且易于使用,它使用Go语言编写,支持多种主题和内容组织方式。
  • Gatsbyhttps://www.gatsbyjs.com/): Gatsby是基于React的静态网站生成工具,它可以构建高性能、现代化的网站,Gatsby适用于博客、电子商务、应用程序文档等。
  • VuePresshttps://vuepress.vuejs.org/): VuePress是Vue.js驱动的静态网站生成工具,专注于文档站点,它支持Markdown文件和Vue组件。
  • Hexohttps://hexo.io/): Hexo是一个快速、简单的博客框架,使用Markdown文件来生成静态博客,它是Node.js应用程序。
  • Pelicanhttps://blog.getpelican.com/): Pelican是使用Python编写的静态网站生成器,适用于博客和文档。
  • Middlemanhttps://middlemanapp.com/): Middleman是Ruby编写的静态网站生成工具,支持多种模板和数据源,适用于各种项目。
  • Sphinxhttps://www.sphinx-doc.org/): Sphinx是一个Python文档生成工具,通常用于技术文档和文档站点。
  • MkDocshttps://www.mkdocs.org): MkDocs是Python编写的文档生成工具,使用Markdown文件创建文档站点。

JekyllGitHub Pages的默认生成工具,拥有强大的社区支持,适用于博客和文档站点,接下来,我们看看如何在Mac下使用。

3.1 Mac下安装Jekyll

要在 mac上安装 Jekyll,需要确保系统已安装 Ruby,通常mac预装了Ruby,我们不要使用系统的ruby,否则会有冲突,以下是安装 Jekyll 的步骤以及注释:

# homebrew安装ruby
brew install ruby
# 通过以下命令,可以查看ruby的安装路径
brew info ruby
# 安装完成以后,修改.bash_profile文件,path路径加多/opt/homebrew/opt/ruby/bin,例如:export PATH=/opt/homebrew/opt/ruby/bin:$PATH
vi ~/.bash_profile
source ~/.bash_profile
# 验证ruby 版本,如果打印最新的版本,如:ruby 3.x.x表示安装最新的了
ruby -v
# 安装Jekyll
gem install --user-install bundler jekyll
# 安装成功之后,调整gem的运行环境(gem的bin目录一般在~/.gem/ruby/ruby版本/bin目录),export PATH路径增加“$HOME/.gem/ruby/ruby版本/bin”
vi ~/.bash_profile
source ~/.bash_profile
# 验证jekyll安装是否成功
jekyll -v

可以看到,ruby和jekyll都安装成功了。

这里附上博主.bash_profile的配置,大家可以参考下,最终以安装的版本为主。

export PATH=/opt/homebrew/opt/ruby/bin:$HOME/.gem/ruby/3.2.0/bin:$PATH

3.2 Jekyll的简单使用

首先,新建一个jekyll项目:

jekyll new test-site

以下是执行的过程:

可以看到,在对应的目录下生成了相应的项目文件:

进入对应项目目录,然后执行:

cd test-site
bundle exec jekyll serve

可以看到,项目已经启动:

根据控制台打印的日志,可以访问对应的地址即能在本地预览:

3.3 Jekyll的文件配置

我们可以看到,在Jekyll生成项目的目录下,有一个比较重要的文件(_config.yaml),如下图所示:

这个config文件用于指定 Jekyll 站点的各种设置和选项,包含了许多可配置的选项,用于自定义网站的行为和外观,生成的文件内容如下,我加了注释:

# 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: your-email@example.com
# 网站的简要描述
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 地址
url: "" # the base hostname & protocol for your site, e.g. http://example.com
# 推特的用户名
twitter_username: jekyllrb
# github的用户名
github_username:  jekyll
# 指定要使用的 Jekyll 主题,如果不使用主题,则为空
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/

详细的参数,可以参考:https://jekyllrb.com/docs/configuration/

4. 静态网站模板

那么是否漂亮的模板,直接就可以拿来使用呢?

可以从如下网址获取模板:

4.1 本地调试模板

如何发布到Github呢?比如我找到了我喜欢的这个模板:http://jekyllthemes.org/themes/not-pure-poole/,我们把它下载下来:

解压后,发现跟我们使用Jekyll生成的内容格式一样:

只要修改里面的内容,然后使用Jekyll命令在本地预览:

发现缺少了不少的包,根据提示,执行bundle install:

接着又报错了,错误信息表明正在使用 Ruby 3.x 版本,但 listen gem 要求的 Ruby 版本应该是大于等于 2.2.7 且小于 2.3 的版本,可以在项目的 Gemfile 中指定新版本的 listen gem,然后运行 bundle update listen 来安装新版本。

# 项目中的Gemfile指定listen gem版本(然后运行bundle update listen)
gem 'listen', '>= 3.2.1'
#顺便指定liquid版本,后续也会报错误的(然后运行 bundle update liquid)
gem 'liquid', '>= 4.0.3'
#这个也会缺失
gem 'webrick'

再次执行bundle exec jekyll serve:

可以看到已经在本地部署成功,访问地址:http://127.0.0.1:4000

可以看到,已经在本地预览成功了,接下来,如何发布到Github Pages呢?

4.2 发布模板

首先,我们需要先安装git客户端以及配置github账户,然后提交到github。此处就不再详细演示如何clone代码,如何commit和push内容到github了,对git有兴趣的同学可以参考我写过的git专栏:https://blog.csdn.net/qq_20042935/category_10179735.html

最终资源提交到了github的仓库:

大概等一段时间,直接访问自己项目的github.io地址(https://ylw-github.github.io/english-corner/),即可看到部署成功了:

部署的进度可以在Actions里看到:

5. 文末

文末Tips:安装Jekyll可能需要科学上网。

本文详细的讲了如何从零开始构建Github Pages静态网站,并把详细的步骤贴上了,希望能帮助到大家,谢谢大家的阅读,本文完!

目录
相关文章
|
2月前
|
程序员 SEO
手把手教你搭建属于自己的网站(获取被动收入),无需服务器,使用github托管
手把手教你搭建属于自己的网站(获取被动收入),无需服务器,使用github托管
91 2
手把手教你搭建属于自己的网站(获取被动收入),无需服务器,使用github托管
|
1月前
|
Shell 网络安全 开发工具
Github Pages + Jekyll 独立博客一小时快速搭建&上线指南
Github Pages + Jekyll 独立博客一小时快速搭建&上线指南
74 1
|
4月前
|
开发工具 git
[github初学者教程] 分支管理-以及问题解决
[github初学者教程] 分支管理-以及问题解决
33 0
|
1月前
|
数据采集 人工智能 Rust
『GitHub项目圈选周刊01』一款构建AI数字人项目开源了!自动实现音视频同步!
『GitHub项目圈选周刊01』一款构建AI数字人项目开源了!自动实现音视频同步!
232 0
|
4月前
|
资源调度 前端开发 JavaScript
不花一分钱,用Hexo和GitHub Pages搭建个人博客🏢
不花一分钱,用Hexo和GitHub Pages搭建个人博客🏢
|
3月前
|
存储
github pages 部署单页面
github pages 部署单页面
54 0
|
3月前
|
JavaScript Ubuntu 网络安全
使用github actions,将私有仓库的构建文件发布到另一个公开仓库,并同步到gitee
使用github actions,将私有仓库的构建文件发布到另一个公开仓库,并同步到gitee
99 0
|
3月前
|
存储 搜索推荐 安全
GitHub教程-自定义个人页制作
GitHub是全球最大的代码托管平台,除了存放代码,它还允许用户个性化定制自己的主页,展示个人特色、技能和项目。本教程旨在向GitHub用户展示如何制作个性化主页,同时,介绍了GitHub Actions的应用,可以自动化更新主页内容。通过本教程,GitHub用户将学会如何打造独具个性的GitHub个人主页,吸引更多关注和合作机会。具体代码请参阅文末。
72 0
|
3月前
|
缓存 网络协议 CDN
Docsify 配合 Github Pages 搭建一个自己的云笔记
Docsify 配合 Github Pages 搭建一个自己的云笔记
95 0
|
4月前
|
网络安全 开发工具 git
[github全教程]github版本控制最全教学------- 大厂找工作面试必备!
[github全教程]github版本控制最全教学------- 大厂找工作面试必备!
34 0