hexo-theme-next
Advanced tools
Comparing version 6.0.1 to 6.0.2
@@ -1,2 +0,2 @@ | ||
# 使用 Hexo 数据文件进行主题配置 ([#328](https://github.com/iissnan/hexo-theme-next/issues/328)) | ||
<h1 align="center">数据文件</h1> | ||
@@ -13,12 +13,50 @@ 目前,通过 pull 或下载新的 release 版本来更新 NexT 主题的体验并不平滑。当用户使用 `git pull` 更新 NexT 主题时经常需要解决冲突问题,而在手动下载 release 版本时也经常需要手动合并配置。 | ||
## 带来的好处 | ||
<h2 align="center">选择 1:Hexo 方式</h2> | ||
使用这一特性,你现在可以将你的全部配置置于同一位置(`source/_data/next.yml`),并且不需要修改 `next/_config.yml`。如果在新的 release 中出现了任何新的选项,那么你只需要从 `next/_config.yml` 中将他们复制到 `source/_data/next.yml` 中并设置它们的值为你想要的选项。 | ||
使用这一方式,你的全部配置都将置于 hexo 主要配置文件中(`hexo/_config.yml`),并且不需要修改 `next/_config.yml`,或者创建什么其他的文件。但是所有的主题选项必须放置在 `theme_config` 后,并全部增加两个空格的缩进。 | ||
## 如何使用这一特性 | ||
如果在新的 release 中出现了任何新的选项,那么你只需要从 `next/_config.yml` 中将他们复制到 `hexo/_config.yml` 中并设置它们的值为你想要的选项。 | ||
### 用法 | ||
1. 请确认不存在 `hexo/source/_data/next.yml` 文件(如果已存在,请删除) | ||
2. 从主题的 `next/_config.yml` 文件中复制你需要的 NexT 配置项到 `hexo/_config.yml` 中,然后\ | ||
2.1. 所有这些配置项右移两个空格(在 Visual Studio Code 中:选中这些文字,<kbd>CTRL</kbd> + <kbd>]</kbd>)。\ | ||
2.2. 在这些参数最上方添加一行 `theme_config:`。 | ||
### 相关链接 | ||
* [Hexo 配置](https://hexo.io/zh-cn/docs/configuration.html) | ||
* [Hexo Pull #757](https://github.com/hexojs/hexo/pull/757) | ||
<h2 align="center">选择 2: NexT 方式</h2> | ||
使用这一方式,你现在可以将你的全部配置置于同一位置(`source/_data/next.yml`),并且不需要修改 `next/_config.yml`。 | ||
但是可能无法让所有 Hexo 外部库都准确处理它们的附加选项(举个例子,`hexo-server` 模块只会从 Hexo 默认配置文件中读取选项)。 | ||
如果在新的 release 中出现了任何新的选项,那么你只需要从 `next/_config.yml` 中将他们复制到 `source/_data/next.yml` 中并设置它们的值为你想要的选项。 | ||
### 用法 | ||
1. 请确认你的 Hexo 版本为 3.0 或更高。 | ||
2. 在你站点的 `hexo/source/_data` 目录创建一个 `next.yml` 文件(如果 `_data` 目录不存在,请创建之)。 | ||
3. 复制你站点的 `_config.yml` 和主题的 `_config.yml` 中的 NexT 配置项到`hexo/source/_data/next.yml`中。 | ||
4. 使用 `--config source/_data/next.yml` 参数来启动服务器,生成或部署。\ | ||
例如:`hexo clean --config source/_data/next.yml && hexo g --config source/_data/next.yml`。 | ||
<p align="center">以上步骤之后有 <b>两种选择</b>,请<b>任选其一</b>然后<b>继续后面的步骤</b>。</p> | ||
* **选择 1:`override: false`(默认)**: | ||
1. 检查默认 NexT 配置中的 `override` 选项,必须设置为 `false`。\ | ||
在 `next.yml` 文件中,也要设置为 `false`,或者不定义此选项。 | ||
2. 从站点的 `_config.yml` 与主题的 `_config.yml` 中复制你需要的选项到 `hexo/source/_data/next.yml` 中。 | ||
* **选择 2:`override: true`**: | ||
1. 在 `next.yml` 中设置 `override` 选项为 `true`。 | ||
2. 从 `next/_config.yml` 配置文件中复制**所有**的 NexT 主题选项到 `hexo/source/_data/next.yml` 中。 | ||
3. 然后,在站点的 `hexo/_config.yml`中需要定义 `theme: next` 选项(如果需要的话,`source_dir: source`)。 | ||
4. 使用标准参数来启动服务器,生成或部署(`hexo clean && hexo g -d && hexo s`)。 | ||
### 相关链接 | ||
* [NexT Issue #328](https://github.com/iissnan/hexo-theme-next/issues/328) |
@@ -17,3 +17,3 @@ <h1 align="center">安装</h1> | ||
### 选项 1:下载[最新 release 版本][releases-latest-url]</h3> | ||
### 选项 1:下载[最新 release 版本][releases-latest-url] | ||
@@ -110,16 +110,2 @@ 通常情况下请选择 **stable** 版本。推荐不熟悉的用户按此方式进行。 | ||
<h1 align="center">插件</h1> | ||
在 NexT 配置中你现在可以找到已经被移至外部仓库的依赖项。你可以在[组织主页](https://github.com/theme-next)中找到它们。 | ||
例如,假设你想要在你的站点中使用 `fancybox` 插件,请进入 NexT 配置文件,你会看到如下内容: | ||
```yml | ||
# Fancybox | ||
# Dependencies: https://github.com/theme-next/theme-next-fancybox | ||
fancybox: false | ||
``` | ||
将 `fancybox` 配置项打开,进入它上面的 «Dependencies» 链接以查看它的安装步骤。 | ||
[download-latest-url]: https://github.com/theme-next/hexo-theme-next/archive/master.zip | ||
@@ -126,0 +112,0 @@ [releases-latest-url]: https://github.com/theme-next/hexo-theme-next/releases/latest |
@@ -9,3 +9,5 @@ <div align="right">语言: <a title="英语" href="../../README.md">:us:</a> | ||
[![lang-image]][lang-url] | ||
[![gitter-image]][gitter-url] | ||
[![riot-image]][riot-url] | ||
[![mnt-image]][commits-url] | ||
@@ -37,2 +39,16 @@ [![travis-image]][travis-url] | ||
## 插件 | ||
在 NexT 配置中你现在可以找到已经被移至外部仓库的依赖项。你可以在[组织主页](https://github.com/theme-next)中找到它们。 | ||
例如,假设你想要在你的站点中使用 `fancybox` 插件,请进入 NexT 配置文件,你会看到如下内容: | ||
```yml | ||
# Fancybox | ||
# Dependencies: https://github.com/theme-next/theme-next-fancybox | ||
fancybox: false | ||
``` | ||
将 `fancybox` 配置项打开,进入它上面的 «Dependencies» 链接以查看它的安装步骤。 | ||
## 更新 | ||
@@ -70,5 +86,11 @@ | ||
[lang-image]: https://img.shields.io/badge/languages-15-orange.svg "總共15種語言" | ||
[lang-url]: https://gitlocalize.com/repo/679 | ||
[gitter-image]: https://badges.gitter.im/Join%20Chat.svg | ||
[gitter-url]: https://gitter.im/theme-next | ||
[riot-image]: https://img.shields.io/badge/riot-join%20chat-green.svg | ||
[riot-url]: https://riot.im/app/#/room/#NexT:matrix.org | ||
[travis-image]: https://travis-ci.org/theme-next/hexo-theme-next.svg?branch=master | ||
@@ -75,0 +97,0 @@ [travis-url]: https://travis-ci.org/theme-next/hexo-theme-next?branch=master "Travis CI" |
@@ -1,2 +0,2 @@ | ||
# Theme configurations using Hexo data files ([#328](https://github.com/iissnan/hexo-theme-next/issues/328)) | ||
<h1 align="center">Data Files</h1> | ||
@@ -13,12 +13,50 @@ Currently, it is not smooth to update NexT theme from pulling or downloading new releases. It is quite often running into conflict status when updating NexT theme via `git pull`, or need to merge configurations manually when upgrading to new releases. | ||
## Benefits | ||
<h2 align="center">Option 1: Hexo-Way</h2> | ||
With this feature, now you can put all your configurations into one place (`source/_data/next.yml`), you don't need to touch `next/_config.yml`. If there are any new options in new releases, you just need to copy those options from `next/_config.yml`, paste into `_data/next.yml` and set their values to whatever you want. | ||
With this way, all your configurations locate in main hexo config file (`hexo/_config.yml`), you don't need to touch `next/_config.yml` or create any new files. But you must preserve double spaces indents within `theme_config` option. | ||
## How to use this feature | ||
If there are any new options in new releases, you just need to copy those options from `next/_config.yml`, paste into `hexo/_config.yml` and set their values to whatever you want. | ||
1. Please ensure you are using Hexo 3 (or above) | ||
2. Create an file named `next.yml` in site's `hexo/source/_data` directory (create `_data` directory if it did not exist) | ||
3. Copy NexT theme options both in site's `_config.yml` and theme's `_config.yml` into `hexo/source/_data/next.yml`. | ||
4. Use `--config source/_data/next.yml` parameter to start server, generate or deploy.\ | ||
For example: `hexo clean --config source/_data/next.yml && hexo g --config source/_data/next.yml`. | ||
### Usage | ||
1. Check for no exists `hexo/source/_data/next.yml` file (delete it if exists). | ||
2. Copy needed NexT theme options from theme's `next/_config.yml` into `hexo/_config.yml`, then\ | ||
2.1. Move all this settings to the right with two spaces (in Visual Studio Code: select all strings, <kbd>CTRL</kbd> + <kbd>]</kbd>).\ | ||
2.2. Add `theme_config:` parameter above all this settings. | ||
### Useful links | ||
* [Hexo Configuration](https://hexo.io/docs/configuration.html) | ||
* [Hexo Pull #757](https://github.com/hexojs/hexo/pull/757) | ||
<h2 align="center">Option 2: NexT-Way</h2> | ||
With this way, you can put all your configurations into one place (`source/_data/next.yml`), you don't need to touch `next/_config.yml`. | ||
But option may not accurately procces all hexo external libraries with their additional options (for example, `hexo-server` module options may be readed only in default hexo config). | ||
If there are any new options in new releases, you just need to copy those options from `next/_config.yml`, paste into `_data/next.yml` and set their values to whatever you want. | ||
### Usage | ||
1. Please ensure you are using Hexo 3 (or above). | ||
2. Create an file named `next.yml` in site's `hexo/source/_data` directory (create `_data` directory if it did not exists). | ||
<p align="center">And after that steps there are <b>2 variants</b>, need to <b>choose only one</b> of them and <b>resume next steps</b>.</p> | ||
* **Variant 1: `override: false` (default)**: | ||
1. Check your `override` option in default NexT config, it must set on `false`.\ | ||
In `next.yml` it must not be defined or set on `false` too. | ||
2. Copy needed options from both site's `_config.yml` and theme's `_config.yml` into `hexo/source/_data/next.yml`. | ||
* **Variant 2: `override: true`**: | ||
1. In `next.yml` set `override` option on `true`. | ||
2. Copy **all** NexT theme options from theme's `next/_config.yml` into `hexo/source/_data/next.yml`. | ||
3. Then, in main site's `hexo/_config.yml` need to define `theme: next` option (and if needed, `source_dir: source`). | ||
4. Use standart parameters to start server, generate or deploy (`hexo clean && hexo g -d && hexo s`). | ||
### Useful links | ||
* [NexT Issue #328](https://github.com/iissnan/hexo-theme-next/issues/328) |
@@ -17,3 +17,3 @@ <h1 align="center">Installation</h1> | ||
### Option 1: Download [latest release version][releases-latest-url]</h3> | ||
### Option 1: Download [latest release version][releases-latest-url] | ||
@@ -110,16 +110,2 @@ At most cases **stable**. Recommended for beginners. | ||
<h1 align="center">Plugins</h1> | ||
In NexT config now you can find dependencies on each module which was moved to external repositories which can be found by [main organization link](https://github.com/theme-next). | ||
For example, you want to use `fancybox` in your site. Go to NexT config and see: | ||
```yml | ||
# Fancybox | ||
# Dependencies: https://github.com/theme-next/theme-next-fancybox | ||
fancybox: false | ||
``` | ||
Then turn on `fancybox` and go to «Dependencies» link with installation instructions of this module. | ||
[download-latest-url]: https://github.com/theme-next/hexo-theme-next/archive/master.zip | ||
@@ -126,0 +112,0 @@ [releases-latest-url]: https://github.com/theme-next/hexo-theme-next/releases/latest |
@@ -1,2 +0,2 @@ | ||
# Конфигурация темы с использованием дата-файлов в Hexo ([#328](https://github.com/iissnan/hexo-theme-next/issues/328)) | ||
<h1 align="center">Дата Файлы</h1> | ||
@@ -13,12 +13,50 @@ Обновление темы NexT через пулы проходит не слишком гладко. Часто происходит конфликтная ситуация при обновлении по команде `git pull`, хотя её и можно обойти, если смерджить настройки в файле конфигурации вручную. | ||
## Профит | ||
<h2 align="center">Способ 1: Hexo-Путь</h2> | ||
Благодаря этой возможности, можно хранить всю конфигурацию в одном файле (`source/_data/next.yml`) и отпала необходимость изменять оригинальный конфиг темы (`next/_config.yml`). Если в новых версиях появятся какие-то новые настройки, нужно просто скопировать эти настройки из оригинального `next/_config.yml` во внешний `_data/next.yml` и настроить по своему усмотрению. | ||
Используя этот способ, вся конфигурация будет раположена в корневом конфиге hexo (`hexo/_config.yml`), благодаря чему нет необходимости изменять оригинальный конфиг темы (`next/_config.yml`) или создавать какие-либо новые файлы. Но в этом случае необходимо сохранять двойные отступы внутри `theme_config` параметра. | ||
## Использование | ||
Если в новых версиях появятся какие-то новые настройки, нужно просто скопировать эти настройки из оригинального `next/_config.yml` в редактируемый `hexo/_config.yml` и настроить по своему усмотрению. | ||
1. Убеждаемся, что Hexo версии 3 (или выше) | ||
2. Создаём файл под именем `next.yml` в корневой директории сайта — `hexo/source/_data` (создаём директорию `_data`, если отсутствует) | ||
3. Копируем настройки из конфига темы NexT (`_config.yml`) и из корневого конфига сайта (`_config.yml`) в файл `hexo/source/_data/next.yml` | ||
4. Добавляем параметр `--config source/_data/next.yml` при запуске сервера, генерации или развёртывания.\ | ||
Например: `hexo clean --config source/_data/next.yml && hexo g --config source/_data/next.yml`. | ||
### Использование | ||
1. Проверяем на существование `hexo/source/_data/next.yml` файл (удаляем, если существует). | ||
2. Копируем необходимые опции из конфига темы NexT `next/_config.yml` в `hexo/_config.yml`, затем\ | ||
2.1. Сдвигаем все опции вправо на 2 пробела (в Visual Studio Code: выделяем все строки, <kbd>CTRL</kbd> + <kbd>]</kbd>).\ | ||
2.2. Добавляем `theme_config:` параметр перед всеми этими настройками. | ||
### Полезные ссылки | ||
* [Конфигурация Hexo](https://hexo.io/ru/docs/configuration.html) | ||
* [Hexo Pull #757](https://github.com/hexojs/hexo/pull/757) | ||
<h2 align="center">Способ 2: NexT-Путь</h2> | ||
Используя этот способ, вся конфигурация будет храниться в одном файле (`source/_data/next.yml`), благодаря чему нет необходимости изменять оригинальный конфиг темы (`next/_config.yml`). | ||
Но с этим способом могут не корректно обрабатываться все внешние библиотеки hexo при использовании их дополнительных опций (например, опции модуля `hexo-server` могут быть считаны только из стандартного конфига hexo). | ||
Если в новых версиях появятся какие-то новые настройки, нужно просто скопировать эти настройки из оригинального `next/_config.yml` во внешний `_data/next.yml` и настроить по своему усмотрению. | ||
### Использование | ||
1. Убеждаемся, что Hexo версии 3 (или выше). | ||
2. Создаём файл под именем `next.yml` в корневой директории сайта — `hexo/source/_data` (создаём директорию `_data`, если отсутствует). | ||
<p align="center">И после этих шагов есть <b>2 варианта</b>, нужно <b>выбрать только 1</b> из них и <b>продолжить следующие шаги</b>.</p> | ||
* **Вариант 1: `override: false` (по-умолчанию)**: | ||
1. Проверяем опцию `override` в стандартном конфиге NexT'а, должно быть установлено в `false`.\ | ||
В файле `next.yml` эта опция не должна быть вписана вовсе или вписана и установлена в `false`. | ||
2. Копируем настройки из конфига темы NexT (`_config.yml`) и из корневого конфига сайта (`_config.yml`) в файл `hexo/source/_data/next.yml`. | ||
* **Вариант 2: `override: true`**: | ||
1. В файле `next.yml` ставим опцию `override` в `true`. | ||
2. Копируем **все** опции из оригинального конфига NexT'а `next/_config.yml` в `hexo/source/_data/next.yml`. | ||
3. Затем, в корневом конфиге сайта `hexo/_config.yml` необходимо установить опцию `theme: next` (и если требуется, `source_dir: source`). | ||
4. Используем станадартные параметры для запускаь генерации или развёртывания (`hexo clean && hexo g -d && hexo s`). | ||
### Полезные ссылки | ||
* [NexT Issue #328](https://github.com/iissnan/hexo-theme-next/issues/328) |
@@ -17,3 +17,3 @@ <h1 align="center">Установка</h1> | ||
### Способ 1: Скачиваем [последнюю версию релиза][releases-latest-url]</h3> | ||
### Способ 1: Скачиваем [последнюю версию релиза][releases-latest-url] | ||
@@ -110,16 +110,2 @@ В большинстве случаев **стабильна**. Рекомендуется для начинающих пользователей. | ||
<h1 align="center">Плагины</h1> | ||
В конфиге NexT'а теперь можно найти зависимости на каждый модуль, который был вынесен во внешние репозитории, которые могут быть найдены по [ссылке основной организации](https://github.com/theme-next). | ||
Например, Вы хотите использовать `fancybox` для своего сайта. Открываем конфиг NexT'а и находим: | ||
```yml | ||
# Fancybox | ||
# Dependencies: https://github.com/theme-next/theme-next-fancybox | ||
fancybox: false | ||
``` | ||
Затем включаем параметр `fancybox` и переходим по ссылке «Dependencies» с дальнейшеми инструкциями по установке этого модуля. | ||
[download-latest-url]: https://github.com/theme-next/hexo-theme-next/archive/master.zip | ||
@@ -126,0 +112,0 @@ [releases-latest-url]: https://github.com/theme-next/hexo-theme-next/releases/latest |
@@ -9,3 +9,5 @@ <div align="right">Язык: <a title="Английский" href="../../README.md">:us:</a> | ||
[![lang-image]][lang-url] | ||
[![gitter-image]][gitter-url] | ||
[![riot-image]][riot-url] | ||
[![mnt-image]][commits-url] | ||
@@ -37,2 +39,16 @@ [![travis-image]][travis-url] | ||
## Плагины | ||
В конфиге NexT'а теперь можно найти зависимости на каждый модуль, который был вынесен во внешние репозитории, которые могут быть найдены по [ссылке основной организации](https://github.com/theme-next). | ||
Например, Вы хотите использовать `fancybox` для своего сайта. Открываем конфиг NexT'а и находим: | ||
```yml | ||
# Fancybox | ||
# Dependencies: https://github.com/theme-next/theme-next-fancybox | ||
fancybox: false | ||
``` | ||
Затем включаем параметр `fancybox` и переходим по ссылке «Dependencies» с дальнейшеми инструкциями по установке этого модуля. | ||
## Обновление | ||
@@ -70,5 +86,11 @@ | ||
[lang-image]: https://img.shields.io/badge/languages-15-orange.svg "Поддержка 15-ти языков" | ||
[lang-url]: https://gitlocalize.com/repo/679 | ||
[gitter-image]: https://badges.gitter.im/Join%20Chat.svg | ||
[gitter-url]: https://gitter.im/theme-next | ||
[riot-image]: https://img.shields.io/badge/riot-join%20chat-green.svg | ||
[riot-url]: https://riot.im/app/#/room/#NexT:matrix.org | ||
[travis-image]: https://travis-ci.org/theme-next/hexo-theme-next.svg?branch=master | ||
@@ -75,0 +97,0 @@ [travis-url]: https://travis-ci.org/theme-next/hexo-theme-next?branch=master "Travis CI" |
{ | ||
"name": "hexo-theme-next", | ||
"version": "6.0.1", | ||
"version": "6.0.2", | ||
"description": "Elegant and powerful theme for Hexo", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -9,3 +9,5 @@ <div align="right">Language: :us: | ||
[![lang-image]][lang-url] | ||
[![gitter-image]][gitter-url] | ||
[![riot-image]][riot-url] | ||
[![mnt-image]][commits-url] | ||
@@ -37,2 +39,16 @@ [![travis-image]][travis-url] | ||
## Plugins | ||
In NexT config now you can find dependencies on each module which was moved to external repositories which can be found by [main organization link](https://github.com/theme-next). | ||
For example, you want to use `fancybox` in your site. Go to NexT config and see: | ||
```yml | ||
# Fancybox | ||
# Dependencies: https://github.com/theme-next/theme-next-fancybox | ||
fancybox: false | ||
``` | ||
Then turn on `fancybox` and go to «Dependencies» link with installation instructions of this module. | ||
## Update | ||
@@ -70,5 +86,11 @@ | ||
[lang-image]: https://img.shields.io/badge/languages-15-orange.svg "15 languages total" | ||
[lang-url]: https://gitlocalize.com/repo/679 | ||
[gitter-image]: https://badges.gitter.im/Join%20Chat.svg | ||
[gitter-url]: https://gitter.im/theme-next | ||
[riot-image]: https://img.shields.io/badge/riot-join%20chat-green.svg | ||
[riot-url]: https://riot.im/app/#/room/#NexT:matrix.org | ||
[travis-image]: https://travis-ci.org/theme-next/hexo-theme-next.svg?branch=master | ||
@@ -75,0 +97,0 @@ [travis-url]: https://travis-ci.org/theme-next/hexo-theme-next?branch=master "Travis CI" |
@@ -6,4 +6,4 @@ /* global hexo */ | ||
/** | ||
* Merge configs in _data/next.yml into hexo.theme.config. | ||
* Note: configs in _data/next.yml will override configs in hexo.theme.config. | ||
* Merge configs from _data/next.yml into hexo.theme.config. | ||
* Note: configs in _data/next.yml will rewrite or override configs in hexo.theme.config. | ||
*/ | ||
@@ -13,10 +13,17 @@ hexo.on('generateBefore', function () { | ||
var data = hexo.locals.get('data'); | ||
if ( data && data.next ) { | ||
if ( data.next.override ) { | ||
if (data && data.next) { | ||
if (data.next.override) { | ||
hexo.theme.config = data.next; | ||
} else { | ||
merge(hexo.config, data.next); | ||
merge(hexo.theme.config, data.next); | ||
} | ||
/** | ||
* If next.yml not exists, then merge all `theme_config.*` | ||
* options from main Hexo config into hexo.theme.config. | ||
*/ | ||
} else { | ||
merge(hexo.theme.config, hexo.config.theme_config); | ||
} | ||
} | ||
}); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1469100
300
11494
114