mirror of
https://github.com/next-theme/hexo-theme-next.git
synced 2026-01-19 18:42:34 +00:00
Update for Hexo 5.0 (#58)
* Remove next_tagcloud helper * Update docs for Hexo 5.0
This commit is contained in:
parent
d871eedbb6
commit
e02e104ac2
38
README.md
38
README.md
@ -31,14 +31,29 @@
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
The simplest way to install is to clone the entire repository:
|
If you're using Hexo 5.0 or later, the simplest way to install is through npm:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ cd hexo
|
$ cd hexo-site
|
||||||
|
$ npm install hexo-theme-next
|
||||||
|
```
|
||||||
|
|
||||||
|
Or you can clone the entire repository:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cd hexo-site
|
||||||
$ git clone https://github.com/next-theme/hexo-theme-next themes/next
|
$ git clone https://github.com/next-theme/hexo-theme-next themes/next
|
||||||
```
|
```
|
||||||
|
|
||||||
Or you can see [detailed installation instructions][docs-installation-url] if you want any other variant.
|
See [detailed installation instructions][docs-installation-url] if you want any other variant.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
At present, NexT encourages users to use the [Alternate Theme Config][docs-configuration-url] to configure NexT. And it's easy to customize the layout or style of NexT using [Custom Files][docs-custom-files-url].
|
||||||
|
|
||||||
|
It is not recommended to directly modify any files in the NexT theme. Because this may cause errors (e.g. merge conflicts), and the modified files may be discarded when upgrading the theme.
|
||||||
|
|
||||||
|
However, you can bypass merge conflicts (error message like **«Commit your changes or stash them before you can merge»**) by using the `Commit`, `Stash` or `Reset` commands for local changes. See [here](https://stackoverflow.com/a/15745424/5861495) how to do it.
|
||||||
|
|
||||||
## Plugins
|
## Plugins
|
||||||
|
|
||||||
@ -68,16 +83,22 @@ vendors:
|
|||||||
|
|
||||||
## Update
|
## Update
|
||||||
|
|
||||||
NexT releases new versions every month. You can update to latest master branch by the following command:
|
A new version of NexT will be released every month. You can update NexT by the following command.
|
||||||
|
|
||||||
|
Install the latest version throuth npm:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cd hexo-site
|
||||||
|
$ npm update hexo-theme-next
|
||||||
|
```
|
||||||
|
|
||||||
|
Or update to latest master branch:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ cd themes/next
|
$ cd themes/next
|
||||||
$ git pull
|
$ git pull
|
||||||
```
|
```
|
||||||
|
|
||||||
And if you see any error message during update (something like **«Commit your changes or stash them before you can merge»**), recommended to learn [Alternate Theme Config][docs-data-files-url] feature.\
|
|
||||||
However, you can bypass update errors by using the `Commit`, `Stash` or `Reset` commands for local changes. See [here](https://stackoverflow.com/a/15745424/5861495) how to do it.
|
|
||||||
|
|
||||||
**If you want to update from v5.x / v7.x to the latest version, read [this][docs-update-5-1-x-url].**
|
**If you want to update from v5.x / v7.x to the latest version, read [this][docs-update-5-1-x-url].**
|
||||||
|
|
||||||
## Feedback
|
## Feedback
|
||||||
@ -120,7 +141,8 @@ Also, we welcome Issue or PR to our [official-plugins][official-plugins-url].
|
|||||||
> Thanks jsDelivr for providing public CDN service.
|
> Thanks jsDelivr for providing public CDN service.
|
||||||
|
|
||||||
[docs-installation-url]: https://theme-next.js.org/docs/getting-started/installation.html
|
[docs-installation-url]: https://theme-next.js.org/docs/getting-started/installation.html
|
||||||
[docs-data-files-url]: https://theme-next.js.org/docs/getting-started/configuration.html
|
[docs-configuration-url]: https://theme-next.js.org/docs/getting-started/configuration.html
|
||||||
|
[docs-custom-files-url]: https://theme-next.js.org/docs/theme-settings/custom-files.html
|
||||||
[docs-update-5-1-x-url]: https://theme-next.js.org/docs/getting-started/update-from-v5.html
|
[docs-update-5-1-x-url]: https://theme-next.js.org/docs/getting-started/update-from-v5.html
|
||||||
|
|
||||||
[gitter-url]: https://gitter.im/hexo-next
|
[gitter-url]: https://gitter.im/hexo-next
|
||||||
|
|||||||
@ -31,14 +31,29 @@
|
|||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
|
|
||||||
Простейший вариант установки — склонировать весь репозиторий:
|
If you're using Hexo 5.0 or later, the simplest way to install is through npm:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ cd hexo
|
$ cd hexo-site
|
||||||
|
$ npm install hexo-theme-next
|
||||||
|
```
|
||||||
|
|
||||||
|
Or you can clone the entire repository:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cd hexo-site
|
||||||
$ git clone https://github.com/next-theme/hexo-theme-next themes/next
|
$ git clone https://github.com/next-theme/hexo-theme-next themes/next
|
||||||
```
|
```
|
||||||
|
|
||||||
Или предлагаю почитать [детальные инструкции по установке][docs-installation-url], если вариант выше не устраивает.
|
See [detailed installation instructions][docs-installation-url] if you want any other variant.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
At present, NexT encourages users to use the [Alternate Theme Config][docs-configuration-url] to configure NexT. And it's easy to customize the layout or style of NexT using [Custom Files][docs-custom-files-url].
|
||||||
|
|
||||||
|
It is not recommended to directly modify any files in the NexT theme. Because this may cause errors (e.g. merge conflicts), and the modified files may be discarded when upgrading the theme.
|
||||||
|
|
||||||
|
However, you can bypass merge conflicts (error message like **«Commit your changes or stash them before you can merge»**) by using the `Commit`, `Stash` or `Reset` commands for local changes. See [here](https://stackoverflow.com/a/15745424/5861495) how to do it.
|
||||||
|
|
||||||
## Плагины
|
## Плагины
|
||||||
|
|
||||||
@ -68,14 +83,23 @@ vendors:
|
|||||||
|
|
||||||
## Обновление
|
## Обновление
|
||||||
|
|
||||||
NexT выпускает новые версии каждый месяц. Можно обновить до последней мастер-ветки следующей командой:
|
NexT выпускает новые версии каждый месяц. You can update NexT by the following command.
|
||||||
|
|
||||||
|
Install the latest version throuth npm:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cd hexo-site
|
||||||
|
$ npm update hexo-theme-next
|
||||||
|
```
|
||||||
|
|
||||||
|
Or update to latest master branch:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ cd themes/next
|
$ cd themes/next
|
||||||
$ git pull
|
$ git pull
|
||||||
```
|
```
|
||||||
|
|
||||||
А если всплывают ошибки во время обновления (что-то наподобии **«Commit your changes or stash them before you can merge»**), рекомендуется ознакомиться с особенностью хранения [Alternate Theme Config][docs-data-files-url].\
|
А если всплывают ошибки во время обновления (что-то наподобии **«Commit your changes or stash them before you can merge»**), рекомендуется ознакомиться с особенностью хранения [Alternate Theme Config][docs-configuration-url].\
|
||||||
Как бы то ни было, можно обойти ошибки при обновлении если «Закомитить», «Стэшнуть» или «Откатить» локальные изменения. Смотрим [здесь](https://stackoverflow.com/a/15745424/5861495) как это сделать.
|
Как бы то ни было, можно обойти ошибки при обновлении если «Закомитить», «Стэшнуть» или «Откатить» локальные изменения. Смотрим [здесь](https://stackoverflow.com/a/15745424/5861495) как это сделать.
|
||||||
|
|
||||||
**Если нужно обновиться с версии v5.x / v7.x на последней версиями, читаем [здесь][docs-update-5-1-x-url].**
|
**Если нужно обновиться с версии v5.x / v7.x на последней версиями, читаем [здесь][docs-update-5-1-x-url].**
|
||||||
@ -120,7 +144,8 @@ Also, we welcome Issue or PR to our [official-plugins][official-plugins-url].
|
|||||||
> Thanks jsDelivr for providing public CDN service.
|
> Thanks jsDelivr for providing public CDN service.
|
||||||
|
|
||||||
[docs-installation-url]: https://theme-next.js.org/docs/getting-started/installation.html
|
[docs-installation-url]: https://theme-next.js.org/docs/getting-started/installation.html
|
||||||
[docs-data-files-url]: https://theme-next.js.org/docs/getting-started/configuration.html
|
[docs-configuration-url]: https://theme-next.js.org/docs/getting-started/configuration.html
|
||||||
|
[docs-custom-files-url]: https://theme-next.js.org/docs/theme-settings/custom-files.html
|
||||||
[docs-update-5-1-x-url]: https://theme-next.js.org/docs/getting-started/update-from-v5.html
|
[docs-update-5-1-x-url]: https://theme-next.js.org/docs/getting-started/update-from-v5.html
|
||||||
|
|
||||||
[gitter-url]: https://gitter.im/hexo-next
|
[gitter-url]: https://gitter.im/hexo-next
|
||||||
|
|||||||
@ -31,14 +31,29 @@
|
|||||||
|
|
||||||
## 安装
|
## 安装
|
||||||
|
|
||||||
最简单的安装方式是直接克隆整个仓库:
|
如果你在使用 Hexo 5.0 或更新版本,最简单的安装方式是通过 npm:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ cd hexo
|
$ cd hexo-site
|
||||||
|
$ npm install hexo-theme-next
|
||||||
|
```
|
||||||
|
|
||||||
|
你也可以直接克隆整个仓库:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cd hexo-site
|
||||||
$ git clone https://github.com/next-theme/hexo-theme-next themes/next
|
$ git clone https://github.com/next-theme/hexo-theme-next themes/next
|
||||||
```
|
```
|
||||||
|
|
||||||
此外,如果你想要使用其他方式,你也可以参见[详细安装步骤][docs-installation-url]。
|
此外,如果你想要使用其他方式,请参见[详细安装步骤][docs-installation-url]。
|
||||||
|
|
||||||
|
## 配置
|
||||||
|
|
||||||
|
目前 NexT 鼓励用户使用 [Alternate Theme Config][docs-configuration-url] 进行配置。并且可以轻松地通过 [Custom Files][docs-custom-files-url] 自定义主题的布局和样式。
|
||||||
|
|
||||||
|
不推荐直接修改 NexT 主题的文件。因为这可能导致错误(例如 git merge 冲突),并且在升级主题时修改的文件可能丢失。
|
||||||
|
|
||||||
|
然而你也可以通过提交(`Commit`)、贮藏(`Stash`)或忽视(`Discard`)本地更改以绕过这种更新错误 (例如 **«Commit your changes or stash them before you can merge»**)。具体方法请参考[这里](https://stackoverflow.com/a/15745424/5861495)。
|
||||||
|
|
||||||
## 插件
|
## 插件
|
||||||
|
|
||||||
@ -68,16 +83,22 @@ vendors:
|
|||||||
|
|
||||||
## 更新
|
## 更新
|
||||||
|
|
||||||
NexT 每个月都会发布新版本。你可以通过如下命令更新到最新的 master 分支:
|
NexT 每个月都会发布新版本。你可以通过如下命令更新 NexT。
|
||||||
|
|
||||||
|
通过 npm 安装最新版本:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cd hexo-site
|
||||||
|
$ npm update hexo-theme-next
|
||||||
|
```
|
||||||
|
|
||||||
|
或者通过 git 更新到最新的 master 分支:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ cd themes/next
|
$ cd themes/next
|
||||||
$ git pull
|
$ git pull
|
||||||
```
|
```
|
||||||
|
|
||||||
如果你在此过程中收到了任何错误报告 (例如 **«Commit your changes or stash them before you can merge»**),我们推荐你使用 [Alternate Theme Config][docs-data-files-url] 特性。\
|
|
||||||
然而你也可以通过提交(`Commit`)、贮藏(`Stash`)或忽视(`Discard`)本地更改以绕过这种更新错误。具体方法请参考[这里](https://stackoverflow.com/a/15745424/5861495)。
|
|
||||||
|
|
||||||
**如果你想要从 v5.x / v7.x 更新到最新版本,阅读[这篇文档][docs-update-5-1-x-url]。**
|
**如果你想要从 v5.x / v7.x 更新到最新版本,阅读[这篇文档][docs-update-5-1-x-url]。**
|
||||||
|
|
||||||
## 反馈
|
## 反馈
|
||||||
@ -120,7 +141,8 @@ $ git pull
|
|||||||
> jsDelivr 提供了 CDN 服务。
|
> jsDelivr 提供了 CDN 服务。
|
||||||
|
|
||||||
[docs-installation-url]: https://theme-next.js.org/docs/getting-started/installation.html
|
[docs-installation-url]: https://theme-next.js.org/docs/getting-started/installation.html
|
||||||
[docs-data-files-url]: https://theme-next.js.org/docs/getting-started/configuration.html
|
[docs-configuration-url]: https://theme-next.js.org/docs/getting-started/configuration.html
|
||||||
|
[docs-custom-files-url]: https://theme-next.js.org/docs/theme-settings/custom-files.html
|
||||||
[docs-update-5-1-x-url]: https://theme-next.js.org/docs/getting-started/update-from-v5.html
|
[docs-update-5-1-x-url]: https://theme-next.js.org/docs/getting-started/update-from-v5.html
|
||||||
|
|
||||||
[gitter-url]: https://gitter.im/hexo-next
|
[gitter-url]: https://gitter.im/hexo-next
|
||||||
|
|||||||
@ -34,12 +34,13 @@
|
|||||||
{{ _p('counter.tag_cloud', site.tags.length) }}
|
{{ _p('counter.tag_cloud', site.tags.length) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="tag-cloud-tags">
|
<div class="tag-cloud-tags">
|
||||||
{{ next_tagcloud({
|
{{ tagcloud({
|
||||||
min_font: theme.tagcloud.min,
|
min_font: theme.tagcloud.min,
|
||||||
max_font: theme.tagcloud.max,
|
max_font: theme.tagcloud.max,
|
||||||
amount : theme.tagcloud.amount,
|
amount : theme.tagcloud.amount,
|
||||||
orderby : theme.tagcloud.orderby,
|
orderby : theme.tagcloud.orderby,
|
||||||
order : theme.tagcloud.order
|
order : theme.tagcloud.order,
|
||||||
|
class : 'tag-cloud'
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,54 +0,0 @@
|
|||||||
/* global hexo */
|
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
hexo.extend.helper.register('next_tagcloud', function(options) {
|
|
||||||
let tags = this.site.tags;
|
|
||||||
|
|
||||||
if (!tags || !tags.length) return '';
|
|
||||||
options = options || {};
|
|
||||||
|
|
||||||
const min = options.min_font || 10;
|
|
||||||
const max = options.max_font || 20;
|
|
||||||
const orderby = options.orderby || 'name';
|
|
||||||
const order = options.order || 1;
|
|
||||||
const unit = options.unit || 'px';
|
|
||||||
const { transform } = options;
|
|
||||||
const separator = options.separator || ' ';
|
|
||||||
const result = [];
|
|
||||||
|
|
||||||
// Sort the tags
|
|
||||||
if (orderby === 'random' || orderby === 'rand') {
|
|
||||||
tags = tags.random();
|
|
||||||
} else {
|
|
||||||
tags = tags.sort(orderby, order);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Limit the number of tags
|
|
||||||
if (options.amount) {
|
|
||||||
tags = tags.limit(options.amount);
|
|
||||||
}
|
|
||||||
|
|
||||||
const sizes = [];
|
|
||||||
|
|
||||||
tags.sort('length').forEach(tag => {
|
|
||||||
const { length } = tag;
|
|
||||||
if (sizes.includes(length)) return;
|
|
||||||
|
|
||||||
sizes.push(length);
|
|
||||||
});
|
|
||||||
|
|
||||||
const length = sizes.length - 1;
|
|
||||||
|
|
||||||
tags.forEach(tag => {
|
|
||||||
const ratio = length ? sizes.indexOf(tag.length) / length : 0;
|
|
||||||
const size = min + ((max - min) * ratio);
|
|
||||||
const style = `font-size: ${parseFloat(size.toFixed(2))}${unit};`;
|
|
||||||
|
|
||||||
result.push(
|
|
||||||
`<a href="${this.url_for(tag.path)}" style="${style}" class="tag-cloud-${Math.round(ratio * 10)}">${transform ? transform(tag.name) : tag.name}</a>`
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
return result.join(separator);
|
|
||||||
});
|
|
||||||
Loading…
x
Reference in New Issue
Block a user