Open uolcano opened 8 years ago
我想问下我在jekyll new一个模板出来的时候,当我执行jekyll -v会报错,而当我执行bundle exec jekyll -v 为什么不会出现这种问题呢
@zhangwei900808 报什么错?试试重新安装一次看看:gem -f install jekyll
。我安装jekyll成功后直接用jekyll -v
能正常显示名称和版本。另外,一般post的情况,bundler不是必须的。
请问一下,我用Hexo的,全程都没有出什么错,为什么我的github pages是纯html网页
关于GitHub Pages建站的文章我以前写过,不过,写的比较乱,今天整理了一下。
背景
为了更好地学习和记录自己的前端经历,搭建一个便捷、稳定的个人站点挺有必要的;而通过GitHub Pages来展示自己的作品,更是不错的选择。
注意:需要保证已经安装好git并且已经关联到git远程平台账户
搭建项目的展示页面
打开git shell,创建一个名为
gh-pages
的分支,GitHub Pages默认为这个分支创建页面gh-pages
分支的根目录下,并且命名为index.html
,必须以html
为扩展名。http://userName.github.io/repoName
访问你的项目demo页面了。补充:
搭建个人网站
因为GitHub Pages上托管的页面都是静态页面,所有有服务器响应需求的页面无法实现。但是可以通过插入第三方代码来实现,诸如评论、分享、代码示例等动态的木块。
GitHub Pages官方是推荐使用jekyll来部署个人网站的,而比较简单上手的则是hexo,各有其优点和缺点
使用jekyll
安装ruby 在Windows下,从 http://rubyinstaller.org/downloads/ 下载
rubyinstaller.exe
和`DevKit ,两个要对应版本,且对应操作系统。 执行rubyinstaller.exe,安装ruby。 将DevKit执行,并解到一个指定命名文件夹,如:RubyDevKit 管理员权限打开cmd/PowerShell从 https://rubygems.org/pages/download/ 下载RubyGems,解压缩出来的文件夹,如:rubygems 管理员权限打开cmd/PowerShell
在Ubuntu下,安装ruby比较简单,可参考我的另一篇文章
配置ruby 由于国内网络受限,可能需要修改ruby的源为国内的镜像:淘宝镜像(https://ruby.taobao.org/)或者ruby中国镜像(https://gems.ruby-china.org/)。
依次执行以下命令,在Ubuntu和Windows下都如此,以下如未特别说明,命令都是两平台均适用
在Windows下,如果出现证书失败,就去下载一个证书
将下载的
cacert.pem
移到ruby安装目录的/bin
这个目录下,并且在系统环境变量中新建SSL_CERT_FILE,值为刚才的/bin
目录的绝对路径,管理员权限打开cmd/PowerShellbundler是一款ruby工具,可以通过配置Gemfile文件来快速安装gems包或者解决已安装包的依赖。
在Windows下,如果网络环境不允许,可以选择不安装bundler,或者安装虚拟机VirtualBox。如果连ruby安装都困难可以选择使用chocolatey来装jekyll。
安装jekyll
创建一个名为Gemfile的文件,无扩展名,添加如下行
然后在需要的时候就可以执行以下命令
常用jekyll命令
建立站点仓库 有两种选择:一是自己从零开始一步一步建站,二是直接使用别人的模板
自己建站
修改Gemfile文件
安装插件和依赖
使用别人的模板 克隆一个模板,官方jekyll模板列表
拷贝到自己的站点仓库目录,注意区分Windows和Ubuntu的命令
删除克隆的模板中的git记录
我是直接使用的现成模板,所以后面的内容都是以现成模板的修改来讲述
初始化本地站点仓库
配置站点 站点仓库的目录结构如下
注意:只要是按照各目录结构,这个站点仓库直接push到GitHub的仓库里,就可以建立起站点了,当然要设置作为GitHub Pages站点的分支(一般是gh-pages,不过现在可以是master分支,甚至是master分支下的docs目录了)。但是有时候需要把编译后的文件作为站点页面文件(比如你使用了jekyll插件来实现页面,而不是用JavaScript),这时候就需要把
blog
目录的源文件和编译后的站点文件(一般默认是_site
)分开来push了。 建议在blog
目录下新增一个.gitignore文件,其中写入_site
来忽略对这个目录的提交。将blog
目录作为远程仓库的source
分支,而_site
目录作为远程仓库的gh-pages
分支或者master
分支修改
_config.yml
文件,整个站点的配置主要是在这个文件中修改创建/修改
_include
和_layouts
目录下的文件,使用Liquid语法安装jekyll插件以及更多jekyll配置信息请阅读jekyll官方文档
撰写博文 因为jekyll是使用kramdown来解析markdown,与常见markdown略有区别,建议参考kramdown的官方语法,如果需要更换其他markdown解析器需要在
_config.yml
文件中设置,并且安装插件博文源文件的命名,前时间后文章名:
2016-09-01-how-to-build-a-site-on-github-pages.md
博文结构主要是指头部,头部结构如下:
写好的markdown文件存储于
_posts
目录下即可。做好源文件的版本控制 对站点源文件进行提交,以便进行版本控制,进入
blog
目录部署站点 生成编译后的静态站点文件,并且push到远程仓库
使用hexo
安装node 在Windows下,从 https://nodejs.org/en/ 下载以.msi为扩展名的安装包,如果不需要进行node相关开发的话,选LTS版本就够用了。
在Ubuntu下,可以利用nvm装node
安装hexo
建立站点仓库
配置站点 一般hexo初始化后的站点目录结构如下
修改
_config.yml
文件,整个站点的配置主要是在这个文件中修改撰写博文 每当需要撰写心得博文时,只需要执行以下命令,就可以得到一个标题和日期已经设置好的markdown文件
博文结构的头部
做好源文件的版本控制 由于hexo是自动将站点文件自动部署到GitHub Pages上的,所以不需要自己另外push,但是建立生成站点页面的分支,还是有必要的。
部署站点 hexo的站点部署很简单
或者可以结合起来,生成静态文件后直接部署,下面两条命令使用一条即可
以后每次有新的文章发布,只需要如下操作
常用hexo命令
修改主题 从hexo themes找到何意的主题,clone下来,放到站点本地仓库的
themes
目录下,修改_config.yml
文件的theme
字段为对应的主题名更多插件等功能,建议去hexo 官网查看。
参考链接
tags: GitHub Pages, jekyll, hexo