在macos上安装部署jekyll
Jekyll是静态的网站生成器,它依赖于ruby。
①:准备jekyll的运行环境。(我是在我的本机做的ios-10.8.5)
先要安装xcode,大概有2.3G可以从app store 下载,也可以去developer.apple.com/downloads/ 查找下载。
#xcode-select �Cp 查看是否安装成功。
在我的环境上,需要手动安装Xcode Command Line Tools
②:打开xcode -> Preferences -> Downloads 找到XcodeCommand Line Tools选择下载。
#xcode-select �Cswitch /Applications/Xcode5.app/Contents/Developer
③:执行以下命令,安装部署brew(macos上软件安装命令)
$ ruby �Ce “$(curl �CfsSL https://raw.github.com/Homebrew/homebrew/go/install)” (一定不能用root用户来操作。)
$ brew doctor 测试安装是否成功。
$ brew update 查看是否有更新并安装。
$ brew install rbenv (rbenv可以用来管理多个版本的ruby在用户目录的安装和使用,只需指定ruby的版本号,便可以直接安装,很强大的ruby管理工具。)
然后在~/.bash_profile文件里添加语句:
if which rbenv > /dev/null ; then eval “$(rbenvinit �C )”; fi
$ brew install ruby-build
$ rbenv install 1.9.3-p545 也可以使用brewinstall ruby(默认安装最新版本的)
④:使用ruby安装jekyll
#gem update �Csystem,如果结果是”nothingto update”则
#gem install rubygems-update
#update_rubygems
$ gem install jekyll
$ jekyll
执行命令时出错:“require_program”: Program versionrequired(Commander::Runner::CommandError)
解决办法:
$ gem install json
⑤:使用jekyll
$jekyll website (会生成一个website的目录。)
$ cd website
$jekyll build (会生成_site目录,此目录包含了我们网站需要的所有数据和网页文件。)
$jekyll server �Cwatch(此命令可以让我们浏览直接的website,并且能够监控改变,还可以自动再生(不改变配置文件的情况下))
默认打开的地址:http://0.0.0.0:4000,我们可以使用http://localhost:4000或者http://127.0.0.1:4000来访问。
⑥:配置文件:_config.yml,在website目录下面。期目录结构为:
/website
|-- _config.yml
|-- _includes
|-- _layouts
| |--default.html
| `--post.html
|-- _posts |
| |--2014-04-04-welcome-to-jekyll-markdown
| `--2014-04-204-the-website-to-regina.markdown
|-- _site
`-- index.html
以下是每部分功能的简述:
_config.yml:
保存Jekyll配置的文件。绝大部分选项可以通过命令行参数指定,但写入配置文件更方便。
_includes/:
该目录存放可以与_layouts和_posts混合、匹配并重用的文件。Liquid标签{% include file.ext %}可以用于嵌入文件_includes/file.ext。
_layouts/:
该目录存放用来插入帖子的网页布局模板。页面布局基于类似博客平台的“一个帖子接一个帖子”的原则,通过YAML前置数据定义。
_posts/:
该目录下存放的可以说成是你的“动态内容”。这些文件的格式很重要,它们的命名模式必须遵循 YEAR-MONTH-DATE-title.markdown 。帖子的固定链接URL可以作弹性的调整,发布日期和转换所使用的标记语言会根据且仅根据文件名中的相应部分来识别。
_site/:
这里是Jekyll用以存放最终生成站点的根路径位置。
index.html和其他HTML/Markdown/Textile文件
备注:
如果一个文件的头部存在YAML前置数据的部分,那么Jekyll将会自动处理转换该文件并传送到站点路径下。这对于站点的根目录或其他任意子目录下的所有.html 、.markdown 、.textile 文件都适用。
其他文件/目录
除了以上提到的文件之外,每一个其他的、不以下划线开头的目录和文件都会被照原样传送到站点路径下。