hexo-theme-stellar/layout/_partial/head.ejs

100 lines
3.1 KiB
Plaintext
Executable File

<%
function generate_title() {
if (page.layout == 'wiki' && page.wiki && (page.title || page.seo_title)) {
return page.wiki + __('symbol.colon') + (page.seo_title || page.title) + ' - ' + config.title;
} else if (page.seo_title || page.title || page.wiki) {
return (page.seo_title || page.title || page.wiki) + ' - ' + config.title;
} else if (page.category) {
return __('btn.category') + __('symbol.colon') + page.category + ' - ' + config.title;
} else if (page.tag) {
return __('btn.tag') + __('symbol.colon') + page.tag + ' - ' + config.title;
} else {
return config.title;
}
return '';
}
function generate_description() {
// 索引页
if (theme.open_graph && theme.open_graph.enable) {
return '';
}
if (page.description || page.excerpt || page.content) {
return '<meta name="description" content="' + truncate(strip_html(page.description || page.excerpt || page.content), {length: 150}) + '">';
}
return '<meta name="description" content="' + config.description + '">';
}
function generate_robots() {
if (is_home() == true) {
return '';
}
if (page.robots) {
return '<meta name="robots" content="' + page.robots + '">';
}
}
function og_args() {
var args = {};
if (theme.open_graph.twitter_id) {
args.twitter_id = theme.open_graph.twitter_id;
}
if (page.layout == 'post' && page.cover) {
args.twitter_card = 'summary_large_image';
}
return args;
}
%>
<head>
<%- meta_generator() %>
<meta charset="utf-8">
<%- generate_robots() %>
<meta http-equiv='x-dns-prefetch-control' content='on' />
<link rel='dns-prefetch' href='https://cdn.jsdelivr.net'>
<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
<link rel='dns-prefetch' href='//unpkg.com'>
<meta name="renderer" content="webkit">
<meta name="force-rendering" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="HandheldFriendly" content="True" >
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="theme-color" content="#f8f8f8">
<title><%- generate_title() %></title>
<% if (theme.heti) { %>
<link rel="stylesheet" href="//unpkg.com/heti/umd/heti.min.css">
<script src="//unpkg.com/heti/umd/heti-addon.min.js"></script>
<script defer>
const heti = new Heti('.heti');
heti.autoSpacing(); // 自动进行中西文混排美化和标点挤压
</script>
<% } %>
<% if (theme.open_graph && theme.open_graph.enable) { %>
<%- open_graph(og_args()) %>
<% } %>
<%- generate_description() %>
<!-- feed -->
<% if (config.feed && config.feed.path) { %>
<%- feed_tag(config.feed.path, {title: config.title}) %>
<% } %>
<% if (theme.stellar.cdn_css) { %>
<%- css(theme.stellar.cdn_css) %>
<% } else { %>
<%- css('/css/main.css') %>
<% } %>
<% if (config.favicon) { %>
<%- favicon_tag(config.favicon) %>
<% } %>
<% if (config.inject && config.inject.head){ %>
<% (config.inject.head||[]).forEach(function(item){ %>
<%- item %>
<% }) %>
<% } %>
</head>