mirror of
https://github.com/next-theme/hexo-theme-next.git
synced 2026-01-17 18:22:33 +00:00
New plugin @next-theme/plugins
This commit is contained in:
parent
78da9ab590
commit
cb05848d11
@ -43,24 +43,24 @@
|
||||
|
||||
{{ next_font() }}
|
||||
|
||||
{%- set font_awesome_uri = theme.vendors.fontawesome or url_for('lib/font-awesome/css/all.min.css') %}
|
||||
<link rel="stylesheet" href="{{ font_awesome_uri }}">
|
||||
{%- set font_awesome_uri = theme.vendors.fontawesome or 'lib/font-awesome/css/all.min.css' %}
|
||||
<link rel="stylesheet" href="{{ url_for(font_awesome_uri) }}">
|
||||
|
||||
{%-if theme.motion.enable %}
|
||||
{% set animate_css_uri = theme.vendors.animate_css or url_for('lib/animate-css/animate.min.css') %}
|
||||
<link rel="stylesheet" href="{{ animate_css_uri }}">
|
||||
{% set animate_css_uri = theme.vendors.animate_css or 'lib/animate-css/animate.min.css' %}
|
||||
<link rel="stylesheet" href="{{ url_for(animate_css_uri) }}">
|
||||
{%- endif %}
|
||||
|
||||
{%- if theme.fancybox %}
|
||||
{%- 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 %}
|
||||
|
||||
{%- 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_js_uri = theme.vendors.pace or '//cdn.jsdelivr.net/npm/pace-js@1/pace.min.js' %}
|
||||
<link rel="stylesheet" href="{{ pace_css_uri }}">
|
||||
<script src="{{ pace_js_uri }}"></script>
|
||||
<link rel="stylesheet" href="{{ url_for(pace_css_uri) }}">
|
||||
<script src="{{ url_for(pace_js_uri) }}"></script>
|
||||
{%- endif %}
|
||||
|
||||
{{ next_config() }}
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
{%- 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' %}
|
||||
<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 %}
|
||||
|
||||
{%- for name, internal in js_vendors() %}
|
||||
{%- set internal_script = url_for(internal) %}
|
||||
<script src="{{ theme.vendors[name] or internal_script }}"></script>
|
||||
<script src="{{ url_for(theme.vendors[name] or internal) }}"></script>
|
||||
{%- endfor %}
|
||||
|
||||
4
layout/_third-party/comments/disqusjs.njk
vendored
4
layout/_third-party/comments/disqusjs.njk
vendored
@ -1,12 +1,12 @@
|
||||
{%- if page.comments %}
|
||||
{%- 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' %}
|
||||
|
||||
<script>
|
||||
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({
|
||||
api : '{{ theme.disqusjs.api }}' || 'https://disqus.com/api/',
|
||||
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 %}
|
||||
{%- 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' %}
|
||||
|
||||
<script>
|
||||
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({
|
||||
clientID : '{{ theme.gitalk.client_id }}',
|
||||
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>
|
||||
NexT.utils.loadComments(document.querySelector('#valine-comments'), () => {
|
||||
NexT.utils.getScript('{{ valine_uri }}', () => {
|
||||
NexT.utils.getScript('{{ url_for(valine_uri) }}', () => {
|
||||
new Valine(Object.assign({
|
||||
el : '#valine-comments',
|
||||
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' %}
|
||||
<link rel="stylesheet" href="{{ katex_uri }}">
|
||||
<link rel="stylesheet" href="{{ url_for(katex_uri) }}">
|
||||
{%- 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_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>
|
||||
<link rel="stylesheet" href="{{ copy_tex_css_uri }}">
|
||||
<script src="{{ url_for(copy_tex_js_uri) }}"></script>
|
||||
<link rel="stylesheet" href="{{ url_for(copy_tex_css_uri) }}">
|
||||
{%- endif %}
|
||||
|
||||
2
layout/_third-party/math/mathjax.njk
vendored
2
layout/_third-party/math/mathjax.njk
vendored
@ -39,7 +39,7 @@
|
||||
};
|
||||
(function () {
|
||||
var script = document.createElement('script');
|
||||
script.src = '{{ mathjax_uri }}';
|
||||
script.src = '{{ url_for(mathjax_uri) }}';
|
||||
script.defer = true;
|
||||
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 %}
|
||||
{%- 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>
|
||||
{%- if page.quicklink.delay %}
|
||||
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 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="{{ instant_search_uri }}"></script>
|
||||
<script src="{{ url_for(algolia_search_uri) }}"></script>
|
||||
<script src="{{ url_for(instant_search_uri) }}"></script>
|
||||
|
||||
{{- 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' %}
|
||||
<script{{ pjax }}>
|
||||
if (document.querySelectorAll('pre.mermaid').length) {
|
||||
NexT.utils.getScript('{{ mermaid_uri }}', () => {
|
||||
NexT.utils.getScript('{{ url_for(mermaid_uri) }}', () => {
|
||||
mermaid.initialize({
|
||||
theme : '{{ theme.mermaid.theme }}',
|
||||
logLevel : 3,
|
||||
|
||||
@ -1,6 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
const merge = require('hexo-util').deepMerge || require('lodash/merge');
|
||||
let plugins;
|
||||
try {
|
||||
plugins = require('@next-theme/plugins');
|
||||
} catch (error) {
|
||||
}
|
||||
|
||||
module.exports = hexo => {
|
||||
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.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;
|
||||
|
||||
// Custom languages support. Introduced in NexT v6.3.0.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user