6.1 KiB
Дата Файлы
Обновление темы NexT через пулы проходит не слишком гладко. Часто происходит конфликтная ситуация при обновлении по команде git pull, хотя её и можно обойти, если смерджить настройки в файле конфигурации вручную.
На данный момент, пользователи хранят одни настройки в корневом _config.yml (Hexo), а другие настройки в конфиге темы _config.yml (NexT). И всё вроде бы ничего, но имеются некоторые недостатки:
- Конфигурация разделяется на две части.
- Пользователи могут запутаться, в каком файле какие должны быть настройки.
Во избежании проблемы, NexT использует преимущество Hexo дата-файлов. И т.к. дата-файлы были представлены в Hexo 3, необходимо обновиться до Hexo 3.0 (или выше) для использования этой возможности.
Если же Вы предпочитаете Hexo 2.x, то можно использовать старый способ для конфигураций. NexT всё ещё совместим с Hexo 2.x (но возможны ошибки).
Способ 1: Hexo-Путь
Используя этот способ, вся конфигурация будет раположена в корневом конфиге hexo (hexo/_config.yml), благодаря чему нет необходимости изменять оригинальный конфиг темы (next/_config.yml) или создавать какие-либо новые файлы. Но в этом случае необходимо сохранять двойные отступы внутри theme_config параметра.
Если в новых версиях появятся какие-то новые настройки, нужно просто скопировать эти настройки из оригинального next/_config.yml в редактируемый hexo/_config.yml и настроить по своему усмотрению.
Использование
- Проверяем на существование
hexo/source/_data/next.ymlфайл (удаляем, если существует). - Копируем необходимые опции из конфига темы NexT
next/_config.ymlвhexo/_config.yml, затем
2.1. Сдвигаем все опции вправо на 2 пробела (в Visual Studio Code: выделяем все строки, CTRL + ]).
2.2. Добавляемtheme_config:параметр перед всеми этими настройками.
Полезные ссылки
Способ 2: NexT-Путь
Используя этот способ, вся конфигурация будет храниться в одном файле (source/_data/next.yml), благодаря чему нет необходимости изменять оригинальный конфиг темы (next/_config.yml).
Но с этим способом могут не корректно обрабатываться все внешние библиотеки hexo при использовании их дополнительных опций (например, опции модуля hexo-server могут быть считаны только из стандартного конфига hexo).
Если в новых версиях появятся какие-то новые настройки, нужно просто скопировать эти настройки из оригинального next/_config.yml во внешний _data/next.yml и настроить по своему усмотрению.
Использование
- Убеждаемся, что Hexo версии 3 (или выше).
- Создаём файл под именем
next.ymlв корневой директории сайта —hexo/source/_data(создаём директорию_data, если отсутствует).
И после этих шагов есть 2 варианта, нужно выбрать только 1 из них и продолжить следующие шаги.
-
Вариант 1:
override: false(по-умолчанию):- Проверяем опцию
overrideв стандартном конфиге NexT'а, должно быть установлено вfalse.
В файлеnext.ymlэта опция не должна быть вписана вовсе или вписана и установлена вfalse. - Копируем настройки из конфига темы NexT (
_config.yml) и из корневого конфига сайта (_config.yml) в файлhexo/source/_data/next.yml.
- Проверяем опцию
-
Вариант 2:
override: true:- В файле
next.ymlставим опциюoverrideвtrue. - Копируем все опции из оригинального конфига NexT'а
next/_config.ymlвhexo/source/_data/next.yml.
- В файле
- Затем, в корневом конфиге сайта
hexo/_config.ymlнеобходимо установить опциюtheme: next(и если требуется,source_dir: source). - Используем станадартные параметры для запускаь генерации или развёртывания (
hexo clean && hexo g -d && hexo s).