提交 ea30c200 编写于 作者: EvanOne(文一)'s avatar EvanOne(文一)

refactor: Refact the global variable CONFIG

上级 04030666
-
var algolia = 'undefined';
var env = process.env;
if (theme.algolia_search.enable) {
algolia = JSON.stringify({
appId: env.ALGOLIA_APP_ID || config.algolia.appId || config.algolia.applicationID,
......@@ -13,38 +12,61 @@
hits_empty: _p("algolia_search.hits_empty"),
hits_stats: _p("algolia_search.hits_stats")
}
})
});
}
var sidebar = 'undefined';
if (theme.sidebar.enable) {
sidebar = JSON.stringify({
offsetTop: theme.sidebar.offsetTop
});
}
var back2top = 'undefined';
if (theme.back2top.enable) {
back2top = JSON.stringify({
enable: theme.back2top.enable,
animation: theme.back2top.icon.animation
});
}
var gallery_waterfall = 'undefined';
if (theme.gallery_waterfall.enable) {
gallery_waterfall = JSON.stringify(theme.gallery_waterfall);
}
var external_link = 'undefined';
if (theme.external_link.icon.enable) {
external_link = JSON.stringify({
icon: {
enable: theme.external_link.icon.enable,
name: theme.external_link.icon.name
}
});
}
var shortcuts = JSON.stringify({
switch_post: theme.shortcuts.switch_post.enable
});
var notification = JSON.stringify({
copy_success: _p("notification.copy.success"),
copy_error: _p("notification.copy.error")
});
script.
var Stun = window.Stun || {};
var CONFIG = {
root: '!{ config.root }',
algolia: !{ algolia },
sidebar: !{ sidebar },
back2top: !{ back2top },
reward: !{ theme.reward.enable },
fancybox: !{ theme.fancybox },
gallery_waterfall: !{ theme.gallery_waterfall.enable },
waterfall_col_width: '!{ theme.gallery_waterfall.col_width }',
waterfall_gap: {
x: '!{ theme.gallery_waterfall.gap_x }',
y: '!{ theme.gallery_waterfall.gap_y }'
},
notification: {
copy_success: '!{ _p("notification.copy.success") }',
copy_error: '!{ _p("notification.copy.error") }'
},
shortcuts: {
switch_post: !{ theme.shortcuts.switch_post.enable }
},
sidebar: {
offsetTop: '!{ theme.sidebar.offsetTop }'
},
external_link: {
icon: !{ theme.external_link.icon.enable },
icon_name: '!{ theme.external_link.icon.name }'
},
back2top: !{ theme.back2top.enable },
back2top_animation: !{ theme.back2top.icon.animation },
reward: !{ theme.reward.enable }
gallery_waterfall: !{ gallery_waterfall },
external_link: !{ external_link },
shortcuts: !{ shortcuts },
notification: !{ notification }
};
window.CONFIG = CONFIG;
$(document).ready(function () {
CONFIG.shortcuts.switch_post && Stun.utils.registerSwitchPost();
CONFIG.back2top && Stun.utils.back2Top();
CONFIG.reward && Stun.utils.registerShowReward();
CONFIG.fancybox && Stun.utils.wrapImageWithFancyBox();
CONFIG.back2top && Stun.utils.back2Top();
CONFIG.gallery_waterfall && Stun.utils.galleryWaterFall();
if (CONFIG.external_link.icon) {
if (CONFIG.external_link) {
var EXTERNAL_LINK_CONTAINER = '.content, #footer';
Stun.utils.addIconToExternalLink(EXTERNAL_LINK_CONTAINER);
}
......
......@@ -182,14 +182,15 @@ Stun.utils = Stun.$u = {
});
},
galleryWaterFall: function () {
var colWidth = parseInt(CONFIG.waterfall_col_width);
var colGap = parseInt(CONFIG.waterfall_gap.x);
var gConfig = CONFIG.gallery_waterfall;
var colWidth = parseInt(gConfig.col_width);
var colGapX = parseInt(gConfig.gap_x);
$('.post-gallery').masonry({
itemSelector: '.post-g-img',
columnWidth: colWidth,
percentPosition: true,
gutter: colGap,
gutter: colGapX,
transitionDuration: 0
});
},
......@@ -221,7 +222,7 @@ Stun.utils = Stun.$u = {
var $icon = $(
'<i class="external-link fa fa-' +
CONFIG.external_link.icon_name +
CONFIG.external_link.icon.name +
'"></i>'
);
// Insert icon after link.
......@@ -254,7 +255,7 @@ Stun.utils = Stun.$u = {
$('#back-top').on('click', function () {
$('body').velocity('stop').velocity('scroll');
if (CONFIG.back2top_animation) {
if (CONFIG.back2top.animation) {
$('#back-top')
.velocity({ translateY: '-100vh' }, { duration: 500 })
.velocity('reverse', { duration: 10 });
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册