我刚为我的Jekyll博客创建了一个很棒的画廊,它完全建立在我的localhost:4000上。但是,GitHub页面不支持我使用的Jekyll Gallery Generator插件:https://github.com/ggreer/jekyll-gallery-generator
我读到了使用FTP在传统主机上托管Jekyll的替代方法(上传_site目录)http://jekyllrb.com/docs/deployment-methods/但是,如果可以使用GitHub页面,那将是很好的,而不是重新配置我的整个网站和托管。不知何故,即使我使用的是不受支持的插件。
这是一种解决方法?
答案 0 :(得分:36)
取决于您是否处理用户/组织( UO )网站或项目网站( P ),请执行以下操作:
git init
git remote add origin git@github.com:userName/userName.github.io.git
( UO )或git remote add origin git@github.com:userName/repositoryName.git
( P )jekyll new .
创建代码库baseurl: ''
( UO )或baseurl: '/repositoryName'
(<强> P 强>)jekyll build
将创建目标文件夹和构建网站。git checkout -b sources
( UO )或git checkout master
( P )git add -A
git commit -m "jekyll base sources"
提交您的源代码git push origin sources
( UO )或git push origin master
( P )将您的来源推送到相应的分支cd _site
touch .nojekyll
,此文件告诉gh-pages不需要构建git init
初始化存储库git remote add origin git@github.com:userName/userName.github.io.git
( UO )或git remote add origin git@github.com:userName/repositoryName.git
( P )git checkout master
( UO )或git checkout -b gh-pages
( P )将此存储库放在相应的分支上git add -A
git commit -m "jekyll first build"
提交您的网站代码git push origin master
( UO )或git push origin gh-pages
( P )您现在有类似Octopress的内容。看看他们的rake文件,里面有一些不错的评论。
答案 1 :(得分:1)
更好的方法是将Travis配置为使用不受支持的插件自动部署jekyll。请按照Travis getting started指南为您的仓库启用Travis。
使用以下内容创建script/cibuild
#!/usr/bin/env bash
set -e # halt script on error
bundle exec jekyll build
touch ./_site/.nojekyll # this file tells gh-pages that there is no need to build
使用以下内容创建.travis.yml
(根据需要修改)
language: ruby
rvm:
- 2.3.3
before_script:
- chmod +x ./script/cibuild # or do this locally and commit
# Assume bundler is being used, therefore
# the `install` step will run `bundle install` by default.
script: ./script/cibuild
# branch whitelist, only for GitHub Pages
branches:
only:
- master
env:
global:
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
sudo: false # route your build to the container-based infrastructure for a faster build
deploy:
provider: pages
skip_cleanup: true
keep-history: true
local_dir: _site/ # deploy this directory containing final build
github_token: $GITHUB_API_KEY # Set in travis-ci.org dashboard
on:
branch: master
部署步骤(每次推送后):
script/cibuild
目录中的自定义脚本_site
创建构建_site
将被推送到gh-pages
分支。.nojekyll
文件)参考:我的存储库https://github.com/armujahid/armujahid.me/使用这种方法通过Travis CI进行持续集成