parent
c87504df2f
commit
2845fe6a66
11 changed files with 113 additions and 117 deletions
@ -0,0 +1,8 @@ |
||||
/* global hexo */ |
||||
|
||||
'use strict'; |
||||
|
||||
hexo.on('generateBefore', () => { |
||||
// Merge config.
|
||||
require('./lib/config')(hexo); |
||||
}); |
@ -0,0 +1,63 @@ |
||||
'use strict'; |
||||
|
||||
function isObject(item) { |
||||
return item && typeof item === 'object' && !Array.isArray(item); |
||||
} |
||||
|
||||
function merge(target, source) { |
||||
for (const key in source) { |
||||
if (isObject(target[key]) && isObject(source[key])) { |
||||
merge(target[key], source[key]); |
||||
} else { |
||||
target[key] = source[key]; |
||||
} |
||||
} |
||||
return target; |
||||
} |
||||
|
||||
module.exports = hexo => { |
||||
if (!hexo.locals.get) return; |
||||
|
||||
var data = hexo.locals.get('data'); |
||||
if (!data) return; |
||||
|
||||
/** |
||||
* Merge configs from _data/next.yml into hexo.theme.config. |
||||
* If `override`, configs in next.yml will rewrite configs in hexo.theme.config. |
||||
* If next.yml not exists, merge all `theme_config.*` into hexo.theme.config. |
||||
*/ |
||||
if (data.next) { |
||||
if (data.next.override) { |
||||
hexo.theme.config = data.next; |
||||
} else { |
||||
merge(hexo.config, data.next); |
||||
merge(hexo.theme.config, data.next); |
||||
} |
||||
} else { |
||||
merge(hexo.theme.config, hexo.config.theme_config); |
||||
} |
||||
|
||||
if (hexo.theme.config.cache && hexo.theme.config.cache.enable && hexo.config.relative_link) { |
||||
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.meta_generator = false; |
||||
|
||||
// Custom languages support. Introduced in NexT v6.3.0.
|
||||
if (data.languages) { |
||||
var { language } = hexo.config; |
||||
var { i18n } = hexo.theme; |
||||
|
||||
var mergeLang = lang => { |
||||
i18n.set(lang, merge(i18n.get([lang]), data.languages[lang])); |
||||
}; |
||||
|
||||
if (Array.isArray(language)) { |
||||
for (let lang of language) { |
||||
mergeLang(lang); |
||||
} |
||||
} else { |
||||
mergeLang(language); |
||||
} |
||||
} |
||||
}; |
@ -1,8 +0,0 @@ |
||||
$highlight_theme = hexo-config('highlight_theme') |
||||
|
||||
if $highlight_theme == 'light' |
||||
$highlight-deletion = #fdd |
||||
$highlight-addition = #dfd |
||||
else |
||||
$highlight-deletion = #008000 |
||||
$highlight-addition = #800000 |
@ -1,91 +0,0 @@ |
||||
$highlight_theme = hexo-config('highlight_theme') |
||||
|
||||
if $highlight_theme == 'default' |
||||
$highlight-background = #263238 |
||||
$highlight-current-line = #efefef |
||||
$highlight-selection = #80CBC420 |
||||
$highlight-foreground = #EEFFFF |
||||
$highlight-comment = #546E7A |
||||
$highlight-red = #FF5370 |
||||
$highlight-orange = #F78C6C |
||||
$highlight-yellow = #FFCB6B |
||||
$highlight-green = #C3E88D |
||||
$highlight-aqua = #89DDFF |
||||
$highlight-blue = #82AAFF |
||||
$highlight-purple = #C792EA |
||||
$highlight-gutter = { |
||||
color: #37474F, |
||||
bg-color: $highlight-background |
||||
} |
||||
|
||||
if $highlight_theme == 'darker' |
||||
$highlight-background = #212121 |
||||
$highlight-current-line = #282a2e |
||||
$highlight-selection = #61616150 |
||||
$highlight-foreground = #EEFFFF |
||||
$highlight-comment = #4A4A4A |
||||
$highlight-red = #FF5370 |
||||
$highlight-orange = #F78C6C |
||||
$highlight-yellow = #FFCB6B |
||||
$highlight-green = #C3E88D |
||||
$highlight-aqua = #89DDFF |
||||
$highlight-blue = #82AAFF |
||||
$highlight-purple = #C792EA |
||||
$highlight-gutter = { |
||||
color: #424242, |
||||
bg-color: $highlight-background |
||||
} |
||||
|
||||
if $highlight_theme == 'pale night' |
||||
$highlight-background = #292D3E |
||||
$highlight-current-line = #393939 |
||||
$highlight-selection = #717CB450 |
||||
$highlight-foreground = #A6ACCD |
||||
$highlight-comment = #676E95 |
||||
$highlight-red = #FF5370 |
||||
$highlight-orange = #F78C6C |
||||
$highlight-yellow = #FFCB6B |
||||
$highlight-green = #C3E88D |
||||
$highlight-aqua = #89DDFF |
||||
$highlight-blue = #82AAFF |
||||
$highlight-purple = #C792EA |
||||
$highlight-gutter = { |
||||
color: #3A3F58, |
||||
bg-color: $highlight-background |
||||
} |
||||
|
||||
if $highlight_theme == 'ocean' |
||||
$highlight-background = #0F111A |
||||
$highlight-current-line = #000000 |
||||
$highlight-selection = #717CB450 |
||||
$highlight-foreground = #8F93A2 |
||||
$highlight-comment = #464B5D |
||||
$highlight-red = #FF5370 |
||||
$highlight-orange = #F78C6C |
||||
$highlight-yellow = #FFCB6B |
||||
$highlight-green = #C3E88D |
||||
$highlight-aqua = #89DDFF |
||||
$highlight-blue = #82AAFF |
||||
$highlight-purple = #C792EA |
||||
$highlight-gutter = { |
||||
color: #3B3F5180, |
||||
bg-color: $highlight-background |
||||
} |
||||
|
||||
if $highlight_theme == 'light' |
||||
$highlight-background = #F6F8FA |
||||
$highlight-current-line = #00346e |
||||
$highlight-selection = #80CBC440 |
||||
$highlight-foreground = #90A4AE |
||||
$highlight-comment = #90A4AE90 |
||||
$highlight-red = #E53935 |
||||
$highlight-orange = #F76D47 |
||||
$highlight-yellow = #FFB62C |
||||
$highlight-green = #91B859 |
||||
$highlight-aqua = #39ADB5 |
||||
$highlight-blue = #6182B8 |
||||
$highlight-purple = #7C4DFF |
||||
$highlight-gutter = { |
||||
color: #CFD8DC, |
||||
bg-color: $highlight-background |
||||
} |
Loading…
Reference in new issue