1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/uhfun-Uhfun-Jekyll

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 5.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 03.03.2025 13:22 311efbe
layout post
post
title type
README
article

Статус проекта Uhfun-Uhfun-Jekyll в Codeship Присоединиться к чату Uhfun-open_source/Uhfun-Jekyll

Uhfun-Jekyll — это набор шаблонов, основанных на фреймворке Jekyll, который используется на сайте UhfunBlog. Поскольку GitHub Pages не поддерживают некоторые плагины, если вы хотите использовать такие плагины, вам потребуется создать сайт локально и затем отправить его статические файлы на GitHub. Поэтому я выбрал использование Codeship для непрерывной интеграции, автоматически отправляя скомпилированные статические файлы в ветку gh-pages.

Основные характеристики

  • Разделение главной страницы на страницы
  • Облако меток
  • Категорийные архивы (ЖИЗНЬ/ТЕХНИКА)
  • Деревья каталогов статей
  • Адаптивность для мобильных устройств
  • Автоматизация непрерывной интеграции

Установка

git clone -b master https://github.com/uhfun/Uhfun-Jekyll.git

Установка Jekyll

Для установки Jekyll обратитесь к официальной документации Jekyll.

Локальная установка

jekyll server
# Сервер доступен по адресу: http://127.0.0.1:4000/
# Сервер запущен... нажмите Ctrl-C чтобы остановить.

Добавление статьи

Для локального тестирования можно добавить xxx.md в папку _posts.

Непрерывная интеграция

  1. Перейдите на веб-сайт Codeship, зарегистрируйтесь с помощью аккаунта GitHub.
  2. Создайте организацию.
  3. Создайте проект (New Project), выбрав репозиторий вашего блога.
  4. В разделе Deploy для ветки master добавьте следующий скрипт:
    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}
  5. Выберите триггер для сборки (Build Triggers).
  6. Настройте переменные окружения (Environment):
    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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/uhfun-Uhfun-Jekyll.git
git@api.gitlife.ru:oschina-mirror/uhfun-Uhfun-Jekyll.git
oschina-mirror
uhfun-Uhfun-Jekyll
uhfun-Uhfun-Jekyll
master