Создать тему Hexo легко, надо просто создать новую папку. Чтобы начать использовать темы, измените настройки theme
в файле сайта _config
. Тема должна иметь следующую структуру:
. |
_config.yml
Файл конфигурации темы. Изменения не требуют перезагрузки сервера.
languages
Папка с языковыми файлами. См. подробней Интернационализация (i18n).
layout
Папка шаблонов. Эта папка содержит файлы шаблонов темы, которые определяют внешний вид сайта. Hexo использует шаблонизатор Swig по умолчанию, но вы легко сможете установить дополнительные плагины, чтобы поддерживать альтернативные системы, такие как EJS, Haml или Jade. Hexo выбирает шаблонизатор на основе расширения файла. Например:
layout.ejs - uses EJS |
Дополнительные сведения см. в разделе шаблоны.
scripts
Папка скриптов. Hexo автоматически загрузит все JavaScript-файлы в этой папке во время инициализации. Дополнительные сведения см. в разделе плагины.
source
Папка исходников. Разместите свои материалы здесь (например, CSS- и javascript-файлы). Hexo игнорирует скрытые файлы и файлы или папки с префиксом _
(подчёркивание).
Hexo будет сохранять все обработанные файлы в общую папку public
. Не обрабатываемые файлы будут копироваться в общую папку public
напрямую.
Публикация
Когда вы закончили свою тему, можно опубликовать её в списке тем. Прежде чем сделать это, нужно запустить тест модулей темы, чтобы убедиться, что все работает, как нужно. Публикация темы очень похожа на обновление документации.
Создайте форк hexojs/site
Клонируйте репозиторий на компьютер и установите все зависимости.
git clone ttps://github.com/<username>/site.git
cd site
npm installОтредактируйте
source/_data/themes.yml
и добавьте свою тему. Например:- name: landscape
description: Новая тема по умолчанию для Hexo.
link: https://github.com/hexojs/hexo-theme-landscape
preview: http://hexo.io/hexo-theme-landscape
tags:
- official
- responsive
- widget
- two_column
- one_columnДобавьте скриншот темы (с таким же, как и тема, названием) в папку
source/themes/screenshots
. Он должен быть размером 800*500px в формате PNG.Загрузите ветку.
Создайте запрос на слияние с описанием изменений.