layout | post | ||||
---|---|---|---|---|---|
post |
|
Uhfun-Jekyll — это набор шаблонов, основанных на фреймворке Jekyll, который используется на сайте UhfunBlog. Поскольку GitHub Pages не поддерживают некоторые плагины, если вы хотите использовать такие плагины, вам потребуется создать сайт локально и затем отправить его статические файлы на GitHub. Поэтому я выбрал использование Codeship для непрерывной интеграции, автоматически отправляя скомпилированные статические файлы в ветку gh-pages.
git clone -b master https://github.com/uhfun/Uhfun-Jekyll.git
Для установки Jekyll обратитесь к официальной документации Jekyll.
jekyll server
# Сервер доступен по адресу: http://127.0.0.1:4000/
# Сервер запущен... нажмите Ctrl-C чтобы остановить.
Для локального тестирования можно добавить xxx.md в папку _posts.
echo 'Добавляем статьи из ветки _posts' && cd .. && git clone -b _posts git@github.com:${CI_REPO_NAME}.git _posts && ls _posts && mv _posts/*.md clone/_posts
echo 'Скачиваем статические ресурсы GitHub Pages' && cd clone && git clone -b ${GH_PAGES_BRANCH} git@github.com:${CI_REPO_NAME}.git _site
echo 'Удаляем все файлы кроме .git' && rm -rf _site/**/* || exit 0
echo 'Перестроение статических файлов' && bundle install && bundle exec jekyll build
cd _site && echo 'Настройка домена' && echo ${CUSTOM_DOMAIN} > CNAME
git config --global user.email ${GH_USER_EMAIL}
git config --global user.name ${GH_USER_NAME}
git add .
git commit -m "Commit ${CI_COMMIT_ID} ${CI_COMMIT_MESSAGE} в ветку ${GH_PAGES_BRANCH}" && git push origin ${GH_PAGES_BRANCH}
GH_PAGES_BRANCH=gh-pages
CUSTOM_DOMAIN=uhfun.cn
GH_USER_EMAIL=2512500628@qq.com
GH_USER_NAME=uhfun
GH_PAGES_REPOSITORY=Uhfun-Jekyll
Если вы хотите хранить статьи отдельно в ветке _posts, вы можете создать эту ветку. В Build Triggers добавьте новый скрипт для ветки _posts:
cd .. && echo 'Скачиваем исходники GitHub Pages' && git clone -b master git@github.com:${CI_REPO_NAME}.git _source && cd _source
echo 'Добавляем статьи из ветки _posts' && mv ../clone/* _posts
echo 'Скачиваем статические ресурсы GitHub Pages' && git clone -b ${GH_PAGES_BRANCH} git@github.com:${CI_REPO_NAME}.git _site
echo 'Удаляем все файлы кроме .git' && rm -rf _site/**/* || exit 0
echo 'Перестроение статических файлов' && bundle install && bundle exec jekyll build
cd _site && echo 'Настройка домена' && echo ${CUSTOM_DOMAIN} > CNAME
git config --global user.email ${GH_USER_EMAIL}
git config --global user.name ${GH_USER_NAME}
git add .
git commit -m "Commit ${CI_COMMIT_ID} ${CI_COMMIT_MESSAGE} в ветку ${GH_PAGES_BRANCH}" && git push origin ${GH_PAGES_BRANCH}
Copyright (c) 2020 uhfun
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )