mirror of
https://github.com/next-theme/hexo-theme-next.git
synced 2026-01-18 18:33:42 +00:00
New plugin @next-theme/plugins
This commit is contained in:
parent
78da9ab590
commit
cb05848d11
@ -43,24 +43,24 @@
|
|||||||
|
|
||||||
{{ next_font() }}
|
{{ next_font() }}
|
||||||
|
|
||||||
{%- set font_awesome_uri = theme.vendors.fontawesome or url_for('lib/font-awesome/css/all.min.css') %}
|
{%- set font_awesome_uri = theme.vendors.fontawesome or 'lib/font-awesome/css/all.min.css' %}
|
||||||
<link rel="stylesheet" href="{{ font_awesome_uri }}">
|
<link rel="stylesheet" href="{{ url_for(font_awesome_uri) }}">
|
||||||
|
|
||||||
{%-if theme.motion.enable %}
|
{%-if theme.motion.enable %}
|
||||||
{% set animate_css_uri = theme.vendors.animate_css or url_for('lib/animate-css/animate.min.css') %}
|
{% set animate_css_uri = theme.vendors.animate_css or 'lib/animate-css/animate.min.css' %}
|
||||||
<link rel="stylesheet" href="{{ animate_css_uri }}">
|
<link rel="stylesheet" href="{{ url_for(animate_css_uri) }}">
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
{%- if theme.fancybox %}
|
{%- if theme.fancybox %}
|
||||||
{%- set fancybox_css_uri = theme.vendors.fancybox_css or '//cdn.jsdelivr.net/npm/@fancyapps/fancybox@3/dist/jquery.fancybox.min.css' %}
|
{%- set fancybox_css_uri = theme.vendors.fancybox_css or '//cdn.jsdelivr.net/npm/@fancyapps/fancybox@3/dist/jquery.fancybox.min.css' %}
|
||||||
<link rel="stylesheet" href="{{ fancybox_css_uri }}">
|
<link rel="stylesheet" href="{{ url_for(fancybox_css_uri) }}">
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
{%- if theme.pace.enable %}
|
{%- if theme.pace.enable %}
|
||||||
{%- set pace_css_uri = theme.vendors.pace_css or '//cdn.jsdelivr.net/npm/pace-js@1/themes/blue/pace-theme-' + theme.pace.theme + '.min.css' %}
|
{%- set pace_css_uri = theme.vendors.pace_css or '//cdn.jsdelivr.net/npm/pace-js@1/themes/blue/pace-theme-' + theme.pace.theme + '.min.css' %}
|
||||||
{%- set pace_js_uri = theme.vendors.pace or '//cdn.jsdelivr.net/npm/pace-js@1/pace.min.js' %}
|
{%- set pace_js_uri = theme.vendors.pace or '//cdn.jsdelivr.net/npm/pace-js@1/pace.min.js' %}
|
||||||
<link rel="stylesheet" href="{{ pace_css_uri }}">
|
<link rel="stylesheet" href="{{ url_for(pace_css_uri) }}">
|
||||||
<script src="{{ pace_js_uri }}"></script>
|
<script src="{{ url_for(pace_js_uri) }}"></script>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
{{ next_config() }}
|
{{ next_config() }}
|
||||||
|
|||||||
@ -1,9 +1,8 @@
|
|||||||
{%- if theme.canvas_ribbon.enable %}
|
{%- if theme.canvas_ribbon.enable %}
|
||||||
{%- set canvas_ribbon_uri = theme.vendors.canvas_ribbon or '//cdn.jsdelivr.net/npm/ribbon.js@1/dist/ribbon.min.js' %}
|
{%- set canvas_ribbon_uri = theme.vendors.canvas_ribbon or '//cdn.jsdelivr.net/npm/ribbon.js@1/dist/ribbon.min.js' %}
|
||||||
<script size="{{ theme.canvas_ribbon.size }}" alpha="{{ theme.canvas_ribbon.alpha }}" zIndex="{{ theme.canvas_ribbon.zIndex }}" src="{{ canvas_ribbon_uri }}"></script>
|
<script size="{{ theme.canvas_ribbon.size }}" alpha="{{ theme.canvas_ribbon.alpha }}" zIndex="{{ theme.canvas_ribbon.zIndex }}" src="{{ url_for(canvas_ribbon_uri) }}"></script>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
{%- for name, internal in js_vendors() %}
|
{%- for name, internal in js_vendors() %}
|
||||||
{%- set internal_script = url_for(internal) %}
|
<script src="{{ url_for(theme.vendors[name] or internal) }}"></script>
|
||||||
<script src="{{ theme.vendors[name] or internal_script }}"></script>
|
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
|||||||
4
layout/_third-party/comments/disqusjs.njk
vendored
4
layout/_third-party/comments/disqusjs.njk
vendored
@ -1,12 +1,12 @@
|
|||||||
{%- if page.comments %}
|
{%- if page.comments %}
|
||||||
{%- set disqusjs_css_uri = theme.vendors.disqusjs_css or '//cdn.jsdelivr.net/npm/disqusjs@1/dist/disqusjs.css' %}
|
{%- set disqusjs_css_uri = theme.vendors.disqusjs_css or '//cdn.jsdelivr.net/npm/disqusjs@1/dist/disqusjs.css' %}
|
||||||
<link rel="stylesheet" href="{{ disqusjs_css_uri }}">
|
<link rel="stylesheet" href="{{ url_for(disqusjs_css_uri) }}">
|
||||||
|
|
||||||
{%- set disqusjs_js_uri = theme.vendors.disqusjs_js or '//cdn.jsdelivr.net/npm/disqusjs@1/dist/disqus.js' %}
|
{%- set disqusjs_js_uri = theme.vendors.disqusjs_js or '//cdn.jsdelivr.net/npm/disqusjs@1/dist/disqus.js' %}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
NexT.utils.loadComments(document.querySelector('#disqus_thread'), () => {
|
NexT.utils.loadComments(document.querySelector('#disqus_thread'), () => {
|
||||||
NexT.utils.getScript('{{ disqusjs_js_uri }}', () => {
|
NexT.utils.getScript('{{ url_for(disqusjs_js_uri) }}', () => {
|
||||||
window.dsqjs = new DisqusJS({
|
window.dsqjs = new DisqusJS({
|
||||||
api : '{{ theme.disqusjs.api }}' || 'https://disqus.com/api/',
|
api : '{{ theme.disqusjs.api }}' || 'https://disqus.com/api/',
|
||||||
apikey : '{{ theme.disqusjs.apikey }}',
|
apikey : '{{ theme.disqusjs.apikey }}',
|
||||||
|
|||||||
4
layout/_third-party/comments/gitalk.njk
vendored
4
layout/_third-party/comments/gitalk.njk
vendored
@ -1,12 +1,12 @@
|
|||||||
{%- if page.comments %}
|
{%- if page.comments %}
|
||||||
{%- set gitalk_css_uri = theme.vendors.gitalk_css or '//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.css' %}
|
{%- set gitalk_css_uri = theme.vendors.gitalk_css or '//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.css' %}
|
||||||
<link rel="stylesheet" href="{{ gitalk_css_uri }}">
|
<link rel="stylesheet" href="{{ url_for(gitalk_css_uri) }}">
|
||||||
|
|
||||||
{%- set gitalk_js_uri = theme.vendors.gitalk_js or '//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js' %}
|
{%- set gitalk_js_uri = theme.vendors.gitalk_js or '//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js' %}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
NexT.utils.loadComments(document.querySelector('#gitalk-container'), () => {
|
NexT.utils.loadComments(document.querySelector('#gitalk-container'), () => {
|
||||||
NexT.utils.getScript('{{ gitalk_js_uri }}', () => {
|
NexT.utils.getScript('{{ url_for(gitalk_js_uri) }}', () => {
|
||||||
var gitalk = new Gitalk({
|
var gitalk = new Gitalk({
|
||||||
clientID : '{{ theme.gitalk.client_id }}',
|
clientID : '{{ theme.gitalk.client_id }}',
|
||||||
clientSecret: '{{ theme.gitalk.client_secret }}',
|
clientSecret: '{{ theme.gitalk.client_secret }}',
|
||||||
|
|||||||
2
layout/_third-party/comments/valine.njk
vendored
2
layout/_third-party/comments/valine.njk
vendored
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
NexT.utils.loadComments(document.querySelector('#valine-comments'), () => {
|
NexT.utils.loadComments(document.querySelector('#valine-comments'), () => {
|
||||||
NexT.utils.getScript('{{ valine_uri }}', () => {
|
NexT.utils.getScript('{{ url_for(valine_uri) }}', () => {
|
||||||
new Valine(Object.assign({
|
new Valine(Object.assign({
|
||||||
el : '#valine-comments',
|
el : '#valine-comments',
|
||||||
path: location.pathname,
|
path: location.pathname,
|
||||||
|
|||||||
6
layout/_third-party/math/katex.njk
vendored
6
layout/_third-party/math/katex.njk
vendored
@ -1,8 +1,8 @@
|
|||||||
{%- set katex_uri = theme.vendors.katex or '//cdn.jsdelivr.net/npm/katex@0/dist/katex.min.css' %}
|
{%- set katex_uri = theme.vendors.katex or '//cdn.jsdelivr.net/npm/katex@0/dist/katex.min.css' %}
|
||||||
<link rel="stylesheet" href="{{ katex_uri }}">
|
<link rel="stylesheet" href="{{ url_for(katex_uri) }}">
|
||||||
{%- if theme.math.katex.copy_tex %}
|
{%- if theme.math.katex.copy_tex %}
|
||||||
{%- set copy_tex_js_uri = theme.vendors.copy_tex_js or '//cdn.jsdelivr.net/npm/katex@0/dist/contrib/copy-tex.min.js' %}
|
{%- set copy_tex_js_uri = theme.vendors.copy_tex_js or '//cdn.jsdelivr.net/npm/katex@0/dist/contrib/copy-tex.min.js' %}
|
||||||
{%- set copy_tex_css_uri = theme.vendors.copy_tex_css or '//cdn.jsdelivr.net/npm/katex@0/dist/contrib/copy-tex.min.css' %}
|
{%- set copy_tex_css_uri = theme.vendors.copy_tex_css or '//cdn.jsdelivr.net/npm/katex@0/dist/contrib/copy-tex.min.css' %}
|
||||||
<script src="{{ copy_tex_js_uri }}"></script>
|
<script src="{{ url_for(copy_tex_js_uri) }}"></script>
|
||||||
<link rel="stylesheet" href="{{ copy_tex_css_uri }}">
|
<link rel="stylesheet" href="{{ url_for(copy_tex_css_uri) }}">
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|||||||
2
layout/_third-party/math/mathjax.njk
vendored
2
layout/_third-party/math/mathjax.njk
vendored
@ -39,7 +39,7 @@
|
|||||||
};
|
};
|
||||||
(function () {
|
(function () {
|
||||||
var script = document.createElement('script');
|
var script = document.createElement('script');
|
||||||
script.src = '{{ mathjax_uri }}';
|
script.src = '{{ url_for(mathjax_uri) }}';
|
||||||
script.defer = true;
|
script.defer = true;
|
||||||
document.head.appendChild(script);
|
document.head.appendChild(script);
|
||||||
})();
|
})();
|
||||||
|
|||||||
2
layout/_third-party/quicklink.njk
vendored
2
layout/_third-party/quicklink.njk
vendored
@ -1,6 +1,6 @@
|
|||||||
{%- if page.quicklink.enable %}
|
{%- if page.quicklink.enable %}
|
||||||
{%- set quicklink_uri = theme.vendors.quicklink or '//cdn.jsdelivr.net/npm/quicklink@2/dist/quicklink.umd.js' %}
|
{%- set quicklink_uri = theme.vendors.quicklink or '//cdn.jsdelivr.net/npm/quicklink@2/dist/quicklink.umd.js' %}
|
||||||
<script src="{{ quicklink_uri }}"></script>
|
<script src="{{ url_for(quicklink_uri) }}"></script>
|
||||||
<script>
|
<script>
|
||||||
{%- if page.quicklink.delay %}
|
{%- if page.quicklink.delay %}
|
||||||
window.addEventListener('load', () => {
|
window.addEventListener('load', () => {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{%- set algolia_search_uri = theme.vendors.algolia_search or '//cdn.jsdelivr.net/npm/algoliasearch@4/dist/algoliasearch-lite.umd.js' %}
|
{%- set algolia_search_uri = theme.vendors.algolia_search or '//cdn.jsdelivr.net/npm/algoliasearch@4/dist/algoliasearch-lite.umd.js' %}
|
||||||
{%- set instant_search_uri = theme.vendors.instant_search or '//cdn.jsdelivr.net/npm/instantsearch.js@4/dist/instantsearch.production.min.js' %}
|
{%- set instant_search_uri = theme.vendors.instant_search or '//cdn.jsdelivr.net/npm/instantsearch.js@4/dist/instantsearch.production.min.js' %}
|
||||||
<script src="{{ algolia_search_uri }}"></script>
|
<script src="{{ url_for(algolia_search_uri) }}"></script>
|
||||||
<script src="{{ instant_search_uri }}"></script>
|
<script src="{{ url_for(instant_search_uri) }}"></script>
|
||||||
|
|
||||||
{{- next_js('algolia-search.js') }}
|
{{- next_js('algolia-search.js') }}
|
||||||
|
|||||||
2
layout/_third-party/tags/mermaid.njk
vendored
2
layout/_third-party/tags/mermaid.njk
vendored
@ -2,7 +2,7 @@
|
|||||||
{%- set mermaid_uri = theme.vendors.mermaid or '//cdn.jsdelivr.net/npm/mermaid@8/dist/mermaid.min.js' %}
|
{%- set mermaid_uri = theme.vendors.mermaid or '//cdn.jsdelivr.net/npm/mermaid@8/dist/mermaid.min.js' %}
|
||||||
<script{{ pjax }}>
|
<script{{ pjax }}>
|
||||||
if (document.querySelectorAll('pre.mermaid').length) {
|
if (document.querySelectorAll('pre.mermaid').length) {
|
||||||
NexT.utils.getScript('{{ mermaid_uri }}', () => {
|
NexT.utils.getScript('{{ url_for(mermaid_uri) }}', () => {
|
||||||
mermaid.initialize({
|
mermaid.initialize({
|
||||||
theme : '{{ theme.mermaid.theme }}',
|
theme : '{{ theme.mermaid.theme }}',
|
||||||
logLevel : 3,
|
logLevel : 3,
|
||||||
|
|||||||
@ -1,6 +1,11 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const merge = require('hexo-util').deepMerge || require('lodash/merge');
|
const merge = require('hexo-util').deepMerge || require('lodash/merge');
|
||||||
|
let plugins;
|
||||||
|
try {
|
||||||
|
plugins = require('@next-theme/plugins');
|
||||||
|
} catch (error) {
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = hexo => {
|
module.exports = hexo => {
|
||||||
let data = hexo.locals.get('data');
|
let data = hexo.locals.get('data');
|
||||||
@ -20,6 +25,13 @@ module.exports = hexo => {
|
|||||||
hexo.log.warn('Since caching is turned on, the `relative_link` option in Hexo `_config.yml` is set to `false` to avoid potential hazards.');
|
hexo.log.warn('Since caching is turned on, the `relative_link` option in Hexo `_config.yml` is set to `false` to avoid potential hazards.');
|
||||||
hexo.config.relative_link = false;
|
hexo.config.relative_link = false;
|
||||||
}
|
}
|
||||||
|
if (typeof plugins === 'function') {
|
||||||
|
const { vendors, generator } = plugins();
|
||||||
|
Object.keys(vendors).forEach(key => {
|
||||||
|
hexo.theme.config.vendors[key] = hexo.theme.config.vendors[key] || vendors[key];
|
||||||
|
});
|
||||||
|
hexo.extend.generator.register('next_vendors', () => generator);
|
||||||
|
}
|
||||||
hexo.config.meta_generator = false;
|
hexo.config.meta_generator = false;
|
||||||
|
|
||||||
// Custom languages support. Introduced in NexT v6.3.0.
|
// Custom languages support. Introduced in NexT v6.3.0.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user