Обновление темы NexT через пулы проходит не слишком гладко. Часто происходит конфликтная ситуация при обновлении по команде git pull
, хотя её и можно обойти, если смерджить настройки в файле конфигурации вручную.
На данный момент, пользователи хранят одни настройки в корневом _config.yml
(Hexo), а другие настройки в конфиге темы _config.yml
(NexT). И всё вроде бы ничего, но имеются некоторые недостатки:
1. Конфигурация разделяется на две части.
2. Пользователи могут запутаться, в каком файле какие должны быть настройки.
Во избежании проблемы, NexT предлагает два варианта.
Используя этот способ, вся конфигурация будет раположена в корневом конфиге hexo (/_config.yml
), благодаря чему нет необходимости изменять оригинальный конфиг темы (/themes/next/_config.yml
) или создавать какие-либо новые файлы. Но в этом случае необходимо сохранять двойные отступы внутри theme_config
параметра.
Если в новых версиях появятся какие-то новые настройки, нужно просто скопировать эти настройки из оригинального next/_config.yml
в редактируемый /_config.yml
и настроить по своему усмотрению.
/source/_data/next.yml
файл (удаляем, если существует)./themes/next/_config.yml
в /_config.yml
, затем\
2.1. Сдвигаем все опции вправо на 2 пробела (в Visual Studio Code: выделяем все строки, CTRL + ]).\
2.2. Добавляем theme_config:
параметр перед всеми этими настройками.Используя этот способ, вся конфигурация будет храниться в одном файле (/source/_data/next.yml
), благодаря чему нет необходимости изменять оригинальный конфиг темы (/themes/next/_config.yml
).
Но с этим способом могут не корректно обрабатываться все внешние библиотеки hexo при использовании их дополнительных опций (например, опции модуля hexo-server
могут быть считаны только из стандартного конфига hexo).
Если в новых версиях появятся какие-то новые настройки, нужно просто скопировать эти настройки из оригинального /themes/next/_config.yml
во внешний _data/next.yml
и настроить по своему усмотрению.
Этот метод опирается на Hexo дата-файлов. И т.к. дата-файлы были представлены в Hexo 3, необходимо обновиться до Hexo 3.0 (или выше) для использования этой возможности.
next.yml
в корневой директории сайта — /source/_data
(создаём директорию _data
, если отсутствует).И после этих шагов есть 2 варианта, нужно выбрать только 1 из них и продолжить следующие шаги.
Вариант 1: override: false
(по-умолчанию):
Проверяем опцию override
в стандартном конфиге NexT'а, должно быть установлено в false
.\
В файле next.yml
эта опция не должна быть вписана вовсе или вписана и установлена в false
.
Копируем настройки из конфига темы NexT (_config.yml
) и из корневого конфига сайта (_config.yml
) в файл /source/_data/next.yml
.
Вариант 2: override: true
:
В файле next.yml
ставим опцию override
в true
.
Копируем все опции из оригинального конфига NexT'а /themes/next/_config.yml
в /source/_data/next.yml
.
Затем, в корневом конфиге сайта /_config.yml
необходимо установить опцию theme: next
(и если требуется, source_dir: source
).
hexo clean && hexo g -d && hexo s
).Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.