289 lines
70 KiB
HTML
289 lines
70 KiB
HTML
<!doctype html>
|
||
<html lang="zh"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><title>Icarus用户指南 - 主题配置 - Icarus</title><link rel="manifest" href="/hexo-theme-icarus/manifest.json"><meta name="theme-color" content="#f7f7f7"><meta name="application-name" content="Icaurs - Hexo Theme"><meta name="msapplication-TileImage" content="/img/favicon.svg"><meta name="msapplication-TileColor" content="#f7f7f7"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="Icaurs - Hexo Theme"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="description" content="Icarus的默认主题配置文件为_config.icarus.yml。 此文件定义了站点全局的布局与样式设置,同时也控制了例如插件与挂件等外部功能的配置。 本文详细介绍了本主题的一般配置,并且解释了Icarus使用哪些配置文件和它是如何生成并验证这些配置。 本文同时提供以下语言的翻译: English."><meta property="og:type" content="blog"><meta property="og:title" content="Icarus用户指南 - 主题配置"><meta property="og:url" content="http://ppoffice.github.io/hexo-theme-icarus/Configuration/icarus%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97-%E4%B8%BB%E9%A2%98%E9%85%8D%E7%BD%AE/"><meta property="og:site_name" content="Icarus"><meta property="og:description" content="Icarus的默认主题配置文件为_config.icarus.yml。 此文件定义了站点全局的布局与样式设置,同时也控制了例如插件与挂件等外部功能的配置。 本文详细介绍了本主题的一般配置,并且解释了Icarus使用哪些配置文件和它是如何生成并验证这些配置。 本文同时提供以下语言的翻译: English."><meta property="og:locale" content="zh_CN"><meta property="og:image" content="http://ppoffice.github.io/hexo-theme-icarus/img/og_image.png"><meta property="article:published_time" content="2016-01-04T00:00:00.000Z"><meta property="article:author" content="PPOffice"><meta property="article:tag" content="Getting Started"><meta property="article:tag" content="Icarus用户指南"><meta property="twitter:card" content="summary"><meta property="twitter:image:src" content="http://ppoffice.github.io/hexo-theme-icarus/img/og_image.png"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"http://ppoffice.github.io/hexo-theme-icarus/Configuration/icarus%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97-%E4%B8%BB%E9%A2%98%E9%85%8D%E7%BD%AE/"},"headline":"Icarus用户指南 - 主题配置","image":["http://ppoffice.github.io/hexo-theme-icarus/img/og_image.png"],"datePublished":"2016-01-04T00:00:00.000Z","author":{"@type":"Person","name":"PPOffice"},"publisher":{"@type":"Organization","name":"Icarus","logo":{"@type":"ImageObject","url":"http://ppoffice.github.io/img/logo.svg"}},"description":"Icarus的默认主题配置文件为_config.icarus.yml。 此文件定义了站点全局的布局与样式设置,同时也控制了例如插件与挂件等外部功能的配置。 本文详细介绍了本主题的一般配置,并且解释了Icarus使用哪些配置文件和它是如何生成并验证这些配置。 本文同时提供以下语言的翻译: English."}</script><link rel="canonical" href="http://ppoffice.github.io/hexo-theme-icarus/Configuration/icarus%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97-%E4%B8%BB%E9%A2%98%E9%85%8D%E7%BD%AE/"><link rel="icon" href="/hexo-theme-icarus/img/favicon.svg"><link rel="stylesheet" href="https://cdnjs.loli.net/ajax/libs/font-awesome/6.0.0/css/all.min.css"><link data-pjax rel="stylesheet" href="https://cdnjs.loli.net/ajax/libs/highlight.js/11.7.0/styles/atom-one-light.min.css"><link rel="stylesheet" href="https://fonts.loli.net/css2?family=Ubuntu:wght@400;600&family=Source+Code+Pro"><link data-pjax rel="stylesheet" href="/hexo-theme-icarus/css/default.css"><style>body>.footer,body>.navbar,body>.section{opacity:0}</style><!--!--><!--!--><!--!--><!--!--><link rel="stylesheet" href="https://cdnjs.loli.net/ajax/libs/cookieconsent/3.1.1/cookieconsent.min.css"><link rel="stylesheet" href="https://cdnjs.loli.net/ajax/libs/lightgallery/1.10.0/css/lightgallery.min.css"><link rel="stylesheet" href="https://cdnjs.loli.net/ajax/libs/justifiedGallery/3.8.1/css/justifiedGallery.min.css"><script src="https://www.googletagmanager.com/gtag/js?id=UA-72437521-5" async></script><script>window.dataLayer = window.dataLayer || [];
|
||
function gtag(){dataLayer.push(arguments);}
|
||
gtag('js', new Date());
|
||
|
||
gtag('config', 'UA-72437521-5');</script><!--!--><link rel="stylesheet" href="https://cdnjs.loli.net/ajax/libs/outdated-browser/1.1.5/outdatedbrowser.min.css"><style>.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#3273dc;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}</style><script src="https://cdnjs.loli.net/ajax/libs/pace/1.2.4/pace.min.js"></script><!--!--><!--!--><!-- hexo injector head_end start --><script>
|
||
(function () {
|
||
function switchTab() {
|
||
if (!location.hash) {
|
||
return;
|
||
}
|
||
|
||
const id = '#' + CSS.escape(location.hash.substring(1));
|
||
const $tabMenu = document.querySelector(`.tabs a[href="${id}"]`);
|
||
if (!$tabMenu) {
|
||
return;
|
||
}
|
||
|
||
const $tabMenuContainer = $tabMenu.parentElement.parentElement;
|
||
Array.from($tabMenuContainer.children).forEach($menu => $menu.classList.remove('is-active'));
|
||
Array.from($tabMenuContainer.querySelectorAll('a'))
|
||
.map($menu => document.getElementById($menu.getAttribute("href").substring(1)))
|
||
.forEach($content => $content.classList.add('is-hidden'));
|
||
|
||
if ($tabMenu) {
|
||
$tabMenu.parentElement.classList.add('is-active');
|
||
}
|
||
const $activeTab = document.querySelector(id);
|
||
if ($activeTab) {
|
||
$activeTab.classList.remove('is-hidden');
|
||
}
|
||
}
|
||
switchTab();
|
||
window.addEventListener('hashchange', switchTab, false);
|
||
})();
|
||
</script><!-- hexo injector head_end end --><meta name="generator" content="Hexo 7.3.0">
|
||
<style>.not-gallery-item { position: relative; display: inline-block; width: 1.2em; min-height: 1.2em; overflow: hidden; vertical-align: top; color: transparent; } .not-gallery-item > span { position: relative; z-index: 10; } .not-gallery-item img, .not-gallery-item .fancybox { margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; text-decoration: none !important; user-select: none !important; cursor: auto !important; } .not-gallery-item img { height: 1.2em !important; width: 1.2em !important; position: absolute !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; user-select: none !important; cursor: auto !important; } .not-gallery-item-fallback { color: inherit; } .not-gallery-item-fallback img { opacity: 0 !important; }</style>
|
||
<link rel="alternate" href="/hexo-theme-icarus/atom.xml" title="Icarus" type="application/atom+xml">
|
||
</head><body class="is-2-column"><nav class="navbar navbar-main"><div class="container navbar-container"><div class="navbar-brand justify-content-center"><a class="navbar-item navbar-logo" href="/hexo-theme-icarus/"><img src="/hexo-theme-icarus/img/logo.svg" alt="Icarus" height="28"></a></div><div class="navbar-menu"><div class="navbar-start"><a class="navbar-item" href="/hexo-theme-icarus/">Home</a><a class="navbar-item" href="/hexo-theme-icarus/archives">Archives</a><a class="navbar-item" href="/hexo-theme-icarus/categories">Categories</a><a class="navbar-item" href="/hexo-theme-icarus/tags">Tags</a><a class="navbar-item" href="/hexo-theme-icarus/about">About</a></div><div class="navbar-end"><a class="navbar-item" target="_blank" rel="noopener" title="Discuss on GitHub" href="https://github.com/ppoffice/hexo-theme-icarus/discussions"><i class="fas fa-comments"></i></a><a class="navbar-item" target="_blank" rel="noopener" title="Download on GitHub" href="https://github.com/ppoffice/hexo-theme-icarus"><i class="fab fa-github"></i></a><a class="navbar-item is-hidden-tablet catalogue" title="目录" href="javascript:;"><i class="fas fa-list-ul"></i></a><a class="navbar-item search" title="搜索" href="javascript:;"><i class="fas fa-search"></i></a></div></div></div></nav><section class="section"><div class="container"><div class="columns"><div class="column order-2 column-main is-8-tablet is-8-desktop is-8-widescreen"><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2016-01-04T00:00:00.000Z" title="1/4/2016, 12:00:00 AM">2016-01-04</time>发表</span><span class="level-item"><a class="link-muted" href="/hexo-theme-icarus/categories/Configuration/">Configuration</a></span><span class="level-item">25 分钟读完 (大约3729个字)</span></div></div><h1 class="title is-3 is-size-4-mobile">Icarus用户指南 - 主题配置</h1><div class="content"><p>Icarus的默认主题配置文件为<code>_config.icarus.yml</code>。
|
||
此文件定义了站点全局的布局与样式设置,同时也控制了例如插件与挂件等外部功能的配置。
|
||
本文详细介绍了本主题的一般配置,并且解释了Icarus使用哪些配置文件和它是如何生成并验证这些配置。</p>
|
||
<article class="message message-immersive is-primary">
|
||
<div class="message-body">
|
||
<i class="fas fa-globe-americas mr-2"></i>本文同时提供以下语言的翻译:
|
||
<a href="/hexo-theme-icarus/Configuration/icarus-user-guide-configuring-the-theme/">English</a>.
|
||
</div>
|
||
</article>
|
||
|
||
<span id="more"></span>
|
||
|
||
<style>
|
||
.content ol:not([type]) {
|
||
list-style-type: simp-chinese-informal;
|
||
}
|
||
</style>
|
||
|
||
<h2 id="一般主题配置"><a href="#一般主题配置" class="headerlink" title="一般主题配置"></a>一般主题配置</h2><h3 id="配置文件版本"><a href="#配置文件版本" class="headerlink" title="配置文件版本"></a>配置文件版本</h3><p>这个版本号与主题版本号相关却不总是相同。
|
||
Icarus使用此版本号来决定是否升级默认主题配置文件。
|
||
请不要自己更改这个版本号。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="number">5.0</span><span class="number">.0</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="主题变体"><a href="#主题变体" class="headerlink" title="主题变体"></a>主题变体</h3><p>通过此设置为Icarus更换”皮肤“。
|
||
此设置目前支持”<code>default</code>“和”<code>cyberpunk</code>“两种值。
|
||
你可以在<a href="/hexo-theme-icarus/uncategorized/cyberpunk-theme-variant/" title="Cyberpunk Theme Variant">此处</a>查看Cyberpunk变体的效果。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">variant:</span> <span class="string">default</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="Logo"><a href="#Logo" class="headerlink" title="Logo"></a>Logo</h3><p>设置你站点的logo。
|
||
此logo会显示在导航栏和页脚。
|
||
<code>logo</code>配置的值既可以是你的logo图片的路径或URL地址:</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">logo:</span> <span class="string">/img/logo.svg</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<p>也可以像下面这样设置成文字:</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">logo:</span></span><br><span class="line"> <span class="attr">text:</span> <span class="string">My</span> <span class="string">Beautiful</span> <span class="string">Site</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="Favicon"><a href="#Favicon" class="headerlink" title="Favicon"></a>Favicon</h3><p>你可以在<code>head</code>配置中指定你的网站favicon的路径或URL地址。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">head:</span></span><br><span class="line"> <span class="attr">favicon:</span> <span class="string">/img/favicon.svg</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="Web-App-Manifest"><a href="#Web-App-Manifest" class="headerlink" title="Web App Manifest"></a>Web App Manifest</h3><p>Icarus支持基本的PWA<code>manifest.json</code>的生成与Meta标签。
|
||
要开启web app manifest,请再主题配置中使用如下的配置。
|
||
你也可以参考<a target="_blank" rel="noopener" href="https://developer.mozilla.org/zh-CN/docs/Web/Manifest">MDN</a>来了解每个配置项的详情。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml >folded</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">manifest:</span></span><br><span class="line"> <span class="comment"># Web应用的名称 (默认为站点标题)</span></span><br><span class="line"> <span class="attr">name:</span> <span class="string">Icaurs</span> <span class="bullet">-</span> <span class="string">Hexo</span> <span class="string">Theme</span></span><br><span class="line"> <span class="comment"># Web的显示名称</span></span><br><span class="line"> <span class="comment"># 当没有空间显示全名时显示</span></span><br><span class="line"> <span class="attr">short_name:</span> <span class="string">Icarus</span></span><br><span class="line"> <span class="comment"># Web应用的初始URL</span></span><br><span class="line"> <span class="attr">start_url:</span> <span class="string">https://ppoffice.github.io/</span></span><br><span class="line"> <span class="comment"># 应用的默认主题颜色</span></span><br><span class="line"> <span class="attr">theme_color:</span> <span class="string">"#3273dc"</span></span><br><span class="line"> <span class="comment"># 在应用的样式表加载之前显示的应用页默认占位背景颜色</span></span><br><span class="line"> <span class="attr">background_color:</span> <span class="string">"#3273dc"</span></span><br><span class="line"> <span class="comment"># 网站首选的展示模式</span></span><br><span class="line"> <span class="attr">display:</span> <span class="string">standalone</span></span><br><span class="line"> <span class="comment"># 在不同上下文下用作应用图标的图片文件</span></span><br><span class="line"> <span class="attr">icons:</span></span><br><span class="line"> <span class="bullet">-</span></span><br><span class="line"> <span class="comment"># 图片文件的路径</span></span><br><span class="line"> <span class="attr">src:</span> <span class="string">icons/touch-icon-iphone.png</span></span><br><span class="line"> <span class="comment"># 空格分割的表示图标尺寸的字符串</span></span><br><span class="line"> <span class="attr">sizes:</span> <span class="string">144x144</span></span><br><span class="line"> <span class="comment"># 图片的媒体类型提示 (可选)</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">image/png</span></span><br><span class="line"> <span class="bullet">-</span></span><br><span class="line"> <span class="attr">src:</span> <span class="string">icons/touch-icon-ipad.png</span></span><br><span class="line"> <span class="attr">sizes:</span> <span class="string">152x152</span></span><br><span class="line"> <span class="bullet">-</span></span><br><span class="line"> <span class="attr">src:</span> <span class="string">icon/logo.ico</span></span><br><span class="line"> <span class="attr">sizes:</span> <span class="string">72x72</span> <span class="string">96x96</span> <span class="string">128x128</span> <span class="string">256x256</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="Open-Graph"><a href="#Open-Graph" class="headerlink" title="Open Graph"></a>Open Graph</h3><p>你可以在<code>head</code>配置中设置Open Graph。
|
||
你应该在配置文件中将绝大部分配置留空。
|
||
仅在需要的时候在文章的front-matter中为这些设置赋值。
|
||
请参考<a target="_blank" rel="noopener" href="https://hexo.io/zh-cn/docs/helpers.html#open-graph">Hexo文档</a>来详细了解每个配置项。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml >folded</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">head:</span></span><br><span class="line"> <span class="attr">open_graph:</span></span><br><span class="line"> <span class="comment"># 页面标题 (og:title) (可选)</span></span><br><span class="line"> <span class="attr">title:</span> </span><br><span class="line"> <span class="comment"># 页面类型 (og:type) (可选)</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">blog</span></span><br><span class="line"> <span class="comment"># 页面URL地址 (og:url) (可选)</span></span><br><span class="line"> <span class="attr">url:</span> </span><br><span class="line"> <span class="comment"># 页面封面图 (og:image) (可选)</span></span><br><span class="line"> <span class="attr">image:</span> </span><br><span class="line"> <span class="comment"># 站点名称 (og:site_name) (可选)</span></span><br><span class="line"> <span class="attr">site_name:</span> </span><br><span class="line"> <span class="comment"># 页面作者 (article:author) (可选)</span></span><br><span class="line"> <span class="attr">author:</span> </span><br><span class="line"> <span class="comment"># 页面描述 (og:description) (可选)</span></span><br><span class="line"> <span class="attr">description:</span> </span><br><span class="line"> <span class="comment"># Twitter卡片类型 (twitter:card)</span></span><br><span class="line"> <span class="attr">twitter_card:</span> </span><br><span class="line"> <span class="comment"># Twitter ID (twitter:creator)</span></span><br><span class="line"> <span class="attr">twitter_id:</span> </span><br><span class="line"> <span class="comment"># Twitter站点 (twitter:site)</span></span><br><span class="line"> <span class="attr">twitter_site:</span> </span><br><span class="line"> <span class="comment"># Google+个人主页链接 (已弃用)</span></span><br><span class="line"> <span class="attr">google_plus:</span> </span><br><span class="line"> <span class="comment"># Facebook admin ID</span></span><br><span class="line"> <span class="attr">fb_admins:</span> </span><br><span class="line"> <span class="comment"># Facebook App ID</span></span><br><span class="line"> <span class="attr">fb_app_id:</span> </span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="Google-Structured-Data"><a href="#Google-Structured-Data" class="headerlink" title="Google Structured Data"></a>Google Structured Data</h3><p>你可以在<code>head</code>配置中设置Google Structured Data。
|
||
你应该在配置文件中将绝大部分配置留空。
|
||
仅在需要的时候在文章的front-matter中为这些设置赋值。
|
||
请参考<a target="_blank" rel="noopener" href="https://developers.google.com/search/docs/guides/intro-structured-data">Search for Developers</a>来详细了解每个配置项。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml >folded</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">head:</span></span><br><span class="line"> <span class="attr">structured_data:</span></span><br><span class="line"> <span class="comment"># 页面标题 (可选)</span></span><br><span class="line"> <span class="attr">title:</span> </span><br><span class="line"> <span class="comment"># 页面描述 (可选)</span></span><br><span class="line"> <span class="attr">description:</span> </span><br><span class="line"> <span class="comment"># 页面URL地址 (可选)</span></span><br><span class="line"> <span class="attr">url:</span> </span><br><span class="line"> <span class="comment"># 页面作者 (article:author) (可选)</span></span><br><span class="line"> <span class="attr">author:</span> </span><br><span class="line"> <span class="comment"># 页面图片 (可选)</span></span><br><span class="line"> <span class="attr">image:</span> </span><br><span class="line"> <span class="comment"># 文章发布者 (可选)</span></span><br><span class="line"> <span class="attr">publisher:</span></span><br><span class="line"> <span class="comment"># 发布者Logo (可选)</span></span><br><span class="line"> <span class="attr">publisher_logo:</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="页面元信息"><a href="#页面元信息" class="headerlink" title="页面元信息"></a>页面元信息</h3><p>你可以通过<code>head</code>部分的<code>meta</code>设置来向生成的HTML中添加自定义<code><meta></code>标签。
|
||
每一个meta标签应作为<code>meta</code>数组中的一个元素出现。
|
||
<code>meta</code>设置每一个元素的值应为<code><属性名>=<属性值></code>的格式,其中<code>属性名</code>和<code>属性值</code>分别代表着<code><meta></code>标签的属性和值。
|
||
如果<code><meta></code>标签有多个属性和值,请使用<code>;</code>来分隔<code><属性名>=<属性值></code>。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">head:</span></span><br><span class="line"> <span class="attr">meta:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">'name=theme-color;content=#123456'</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">'name=generator;content="Hexo 4.2.0"'</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="RSS"><a href="#RSS" class="headerlink" title="RSS"></a>RSS</h3><p>你可以通过<code>head</code>部分的<code>rss</code>设置来添加RSS链接信息。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">head:</span></span><br><span class="line"> <span class="attr">rss:</span> <span class="string">/path/to/atom.xml</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="导航栏"><a href="#导航栏" class="headerlink" title="导航栏"></a>导航栏</h3><p><code>navbar</code>部分定义了导航栏中的菜单与链接。
|
||
你可以通过向<code>menu</code>设置项中添加<code><链接名>: <链接URL></code>的方式添加任意导航栏菜单链接。
|
||
如要向导航栏右侧添加链接,请向<code>links</code>设置项中添加<code><链接名>: <链接URL></code>。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">navbar:</span></span><br><span class="line"> <span class="comment"># 导航栏菜单项</span></span><br><span class="line"> <span class="attr">menu:</span></span><br><span class="line"> <span class="attr">Home:</span> <span class="string">/</span></span><br><span class="line"> <span class="attr">Archives:</span> <span class="string">/archives</span></span><br><span class="line"> <span class="attr">Categories:</span> <span class="string">/categories</span></span><br><span class="line"> <span class="attr">Tags:</span> <span class="string">/tags</span></span><br><span class="line"> <span class="attr">About:</span> <span class="string">/about</span></span><br><span class="line"> <span class="comment"># 导航栏右侧的链接</span></span><br><span class="line"> <span class="attr">links:</span></span><br><span class="line"> <span class="attr">GitHub:</span> <span class="string">'https://github.com'</span></span><br><span class="line"> <span class="attr">Download on GitHub:</span></span><br><span class="line"> <span class="attr">icon:</span> <span class="string">fab</span> <span class="string">fa-github</span></span><br><span class="line"> <span class="attr">url:</span> <span class="string">'https://github.com/ppoffice/hexo-theme-icarus'</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<p>你也可以使用FontAwesome图标来作为纯文字链接的替换,格式如下:</p>
|
||
<figure class="highlight yaml"><figcaption><span>链接格式</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="string"><链接名>:</span></span><br><span class="line"> <span class="attr">icon:</span> <span class="string"><FontAwesome图标的class名></span></span><br><span class="line"> <span class="attr">url:</span> <span class="string"><链接URL></span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="页脚"><a href="#页脚" class="headerlink" title="页脚"></a>页脚</h3><p><code>footer</code>部分定义了页脚右侧的链接。
|
||
链接的配置格式与<code>navbar</code>中<code>links</code>的配置格式完全一致。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">footer:</span></span><br><span class="line"> <span class="attr">links:</span></span><br><span class="line"> <span class="attr">Creative Commons:</span></span><br><span class="line"> <span class="attr">icon:</span> <span class="string">fab</span> <span class="string">fa-creative-commons</span></span><br><span class="line"> <span class="attr">url:</span> <span class="string">'https://creativecommons.org/'</span></span><br><span class="line"> <span class="attr">Attribution 4.0 International:</span></span><br><span class="line"> <span class="attr">icon:</span> <span class="string">fab</span> <span class="string">fa-creative-commons-by</span></span><br><span class="line"> <span class="attr">url:</span> <span class="string">'https://creativecommons.org/licenses/by/4.0/'</span></span><br><span class="line"> <span class="attr">Download on GitHub:</span></span><br><span class="line"> <span class="attr">icon:</span> <span class="string">fab</span> <span class="string">fa-github</span></span><br><span class="line"> <span class="attr">url:</span> <span class="string">'https://github.com/ppoffice/hexo-theme-icarus'</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<p>你也可以在页脚展示自定义版权文字:</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">footer:</span></span><br><span class="line"> <span class="attr">copyright:</span> <span class="string">用💖发电</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="代码高亮"><a href="#代码高亮" class="headerlink" title="代码高亮"></a>代码高亮</h3><p>如果你已在Hexo中启用了代码高亮功能,你可以通过<code>article</code>中的<code>highlight</code>设置来自定义代码块。
|
||
请从<a target="_blank" rel="noopener" href="https://github.com/highlightjs/highlight.js/tree/9.18.1/src/styles">highlight.js/src/styles</a>下列出的所有主题中
|
||
选择一个主题。
|
||
然后,复制文件名(不带<code>.css</code>后缀)到<code>theme</code>设置项中。</p>
|
||
<p>如要隐藏复制代码按钮,将<code>clipboard</code>设置为<code>false</code>。
|
||
如果你希望折叠或展开所有代码块,将<code>fold</code>设置为<code>"folded"</code>或<code>"unfolded"</code>。
|
||
你也可以将<code>fold</code>设置为空来禁止代码块折叠。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">article:</span></span><br><span class="line"> <span class="attr">highlight:</span></span><br><span class="line"> <span class="comment"># 代码高亮主题</span></span><br><span class="line"> <span class="comment"># https://github.com/highlightjs/highlight.js/tree/master/src/styles</span></span><br><span class="line"> <span class="attr">theme:</span> <span class="string">atom-one-light</span></span><br><span class="line"> <span class="comment"># 显示复制代码按钮</span></span><br><span class="line"> <span class="attr">clipboard:</span> <span class="literal">true</span></span><br><span class="line"> <span class="comment"># 代码块的默认折叠状态。可以是"", "folded", "unfolded"</span></span><br><span class="line"> <span class="attr">fold:</span> <span class="string">unfolded</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<p>此外,你可以在Markdown文件中使用下面的语法来折叠单独的代码块:</p>
|
||
<figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">{% codeblock "可选文件名" lang:代码语言 >folded %}</span><br><span class="line">...代码块内容...</span><br><span class="line">{% endcodeblock %}</span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="封面-缩略图"><a href="#封面-缩略图" class="headerlink" title="封面 & 缩略图"></a>封面 & 缩略图</h3><p>若要为文章添加封面图,请在文章的front-matter中添加<code>cover</code>选项:</p>
|
||
<figure class="highlight yaml"><figcaption><span>post.md</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">title:</span> <span class="string">Icarus快速上手</span></span><br><span class="line"><span class="attr">cover:</span> <span class="string">/gallery/covers/cover.jpg</span></span><br><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="string">Post</span> <span class="string">content...</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<p>类似地,你也可以在文章的front-matter中为文章设置缩略图:</p>
|
||
<figure class="highlight yaml"><figcaption><span>post.md</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">title:</span> <span class="string">Icarus快速上手</span></span><br><span class="line"><span class="attr">thumbnail:</span> <span class="string">/gallery/covers/thumbnail.jpg</span></span><br><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="string">Post</span> <span class="string">content...</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<p>文章的缩略图会显示在归档页面和最新文章挂件中。</p>
|
||
<p>如果你在front-matter中使用的是图片的路径,你需要确保它是绝对或者相对于你的source目录的路径。
|
||
例如,为使用<code><your blog>/source/gallery/image.jpg</code>作为缩略图,你需要在front-matter中使用<code>/gallery/image.jpg</code>作为图片路径。</p>
|
||
<h3 id="文章阅读时间"><a href="#文章阅读时间" class="headerlink" title="文章阅读时间"></a>文章阅读时间</h3><p>你可以将<code>article</code>部分的<code>readtime</code>设置为<code>true</code>来显示文章字数统计以及预计阅读时间。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">article:</span></span><br><span class="line"> <span class="attr">readtime:</span> <span class="literal">true</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="文章更新时间"><a href="#文章更新时间" class="headerlink" title="文章更新时间"></a>文章更新时间</h3><p>若要显示文章的更新时间,请在文章的front_matter中设置<code>updated</code>时间:</p>
|
||
<figure class="highlight yaml"><figcaption><span>post.md</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">title:</span> <span class="string">Icarus快速上手</span></span><br><span class="line"><span class="attr">updated:</span> <span class="number">2020-04-01 00:00:00</span></span><br><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="string">Post</span> <span class="string">content...</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<p>然后,将主题配置文件的<code>article</code>部分的<code>update_time</code>设置为<code>true</code>:</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">article:</span></span><br><span class="line"> <span class="attr">update_time:</span> <span class="literal">true</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<p>你也可以将<code>update_time</code>设置为<code>false</code>来隐藏所有文章的更新时间,或设置为<code>auto</code>而在文章的更新时间
|
||
与发布时间相同时隐藏更新时间。</p>
|
||
<h3 id="文章许可协议"><a href="#文章许可协议" class="headerlink" title="文章许可协议"></a>文章许可协议</h3><p>你可以在你的文章/页面的底部展示你的作品的使用许可,许可链接可以是文字或者图标。
|
||
这里的配置与导航栏或者页脚的<code>links</code>配置一致:</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">article:</span></span><br><span class="line"> <span class="comment"># 文章许可协议</span></span><br><span class="line"> <span class="attr">licenses:</span></span><br><span class="line"> <span class="attr">Creative Commons:</span></span><br><span class="line"> <span class="attr">icon:</span> <span class="string">fab</span> <span class="string">fa-creative-commons</span></span><br><span class="line"> <span class="attr">url:</span> <span class="string">'https://creativecommons.org/'</span></span><br><span class="line"> <span class="attr">'CC BY-NC-SA 4.0':</span> <span class="string">'https://creativecommons.org/licenses/by-nc-sa/4.0/'</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="侧边栏"><a href="#侧边栏" class="headerlink" title="侧边栏"></a>侧边栏</h3><p>设置<code>sidebar</code>中某个侧边栏的<code>sticky</code>为<code>true</code>来让它的位置固定而不跟随页面滚动。</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">sidebar:</span></span><br><span class="line"> <span class="attr">left:</span></span><br><span class="line"> <span class="attr">sticky:</span> <span class="literal">false</span></span><br><span class="line"> <span class="attr">right:</span></span><br><span class="line"> <span class="attr">sticky:</span> <span class="literal">true</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
|
||
<h3 id="其他配置"><a href="#其他配置" class="headerlink" title="其他配置"></a>其他配置</h3><p>你可以参考<a href="/hexo-theme-icarus/tags/Icarus%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97/">Icarus用户指南</a>来了解更多第三方的插件、挂件、以及CDN提供商的配置。</p>
|
||
<h2 id="配置文件与优先级"><a href="#配置文件与优先级" class="headerlink" title="配置文件与优先级"></a>配置文件与优先级</h2><p>除了在<code>_config.icarus.yml</code>的默认主题配置文件外,Icarus也会从如下位置获取替代配置:</p>
|
||
<ul>
|
||
<li>位于<code>_config.yml</code>的站点配置文件</li>
|
||
<li>位于<code>_config.post.yml</code>和<code>_config.page.yml</code>的布局配置文件</li>
|
||
<li>文章/页面的<a target="_blank" rel="noopener" href="https://hexo.io/docs/front-matter.html">front-matter</a></li>
|
||
<li>(已弃用) 位于<code>themes/icarus/_config.yml</code>的旧主题配置文件</li>
|
||
<li>(已弃用) 位于<code>themes/icarus/_config.post.yml</code>和<code>themes/icarus/_config.page.yml</code>的旧布局配置文件</li>
|
||
</ul>
|
||
<h3 id="布局配置文件"><a href="#布局配置文件" class="headerlink" title="布局配置文件"></a>布局配置文件</h3><p>布局配置文件遵循着与主题配置文件相同的格式和定义。
|
||
<code>_config.post.yml</code>中的配置对所有文章生效,而<code>_config.page.yml</code>中的配置对所有自定义页面生效。
|
||
这两个文件将覆盖主题配置文件中的配置。</p>
|
||
<p>例如,你可以在<code>_config.post.yml</code>中把所有文章变为两栏布局:</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.post.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">widgets:</span></span><br><span class="line"> <span class="bullet">-</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">recent_posts</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">left</span></span><br><span class="line"> <span class="bullet">-</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">categories</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">left</span></span><br><span class="line"> <span class="bullet">-</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">tags</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">left</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<p>同时所有其他页面仍保持三栏布局:</p>
|
||
<figure class="highlight yaml"><figcaption><span>_config.icarus.yml</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">widgets:</span></span><br><span class="line"> <span class="bullet">-</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">recent_posts</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">left</span></span><br><span class="line"> <span class="bullet">-</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">categories</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">right</span></span><br><span class="line"> <span class="bullet">-</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">tags</span></span><br><span class="line"> <span class="attr">position:</span> <span class="string">right</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<h3 id="文章-页面的Front-matter"><a href="#文章-页面的Front-matter" class="headerlink" title="文章/页面的Front-matter"></a>文章/页面的Front-matter</h3><p>如果你只想要在某个文章/页面中覆盖主题配置,你可以在那个文章/页面的front-matter中写下配置。
|
||
例如,你可以像下面这样在一篇文章的front-matter中更改某篇文章的代码高亮主题:</p>
|
||
<figure class="highlight yaml"><figcaption><span>source/_post/some-post.md</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">title:</span> <span class="string">我的第一篇文章</span></span><br><span class="line"><span class="attr">date:</span> <span class="string">'2015-01-01 00:00:01'</span></span><br><span class="line"><span class="attr">article:</span></span><br><span class="line"> <span class="attr">highlight:</span></span><br><span class="line"> <span class="attr">theme:</span> <span class="string">atom-one-dark</span></span><br><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="comment"># 文章标题</span></span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<p>上面的配置会为那篇文章覆盖掉<code>_config.post.yml</code>和<code>_config.icarus.yml</code>中的<code>article.highlight</code>。
|
||
这种层次化的配置系统对于页面个性化和不同访客间的差异化优化十分有效。
|
||
比如,你可以为根据你页面目标访客的国家和语言来开启更快的CDN或本地化的评论服务。</p>
|
||
<p>然而需要注意的是,一些Hexo定义的文章或页面属性不会覆盖掉其他配置源中的同名配置,如
|
||
<code>title</code>, <code>date</code>, <code>updated</code>, <code>comments</code> (not <code>comment</code>), <code>layout</code>, <code>source</code>, <code>photos</code>, 和<code>excerpt</code>。</p>
|
||
<h3 id="站点配置文件"><a href="#站点配置文件" class="headerlink" title="站点配置文件"></a>站点配置文件</h3><p>上面列出的所有配置源,包括主题配置文件,布局配置文件,和文章/页面的front-matter,会覆盖掉站点配置文件中Icarus使用到的配置。
|
||
例如,<code>_config.icarus.yml</code>中的<code>title</code>设置会覆盖掉<code>_config.yml</code>中的<code>title</code>,但<code>new_post_name</code>却不会,因为
|
||
Icarus没有用到这个配置项。</p>
|
||
<p>另外,主题配置文件中的<code>theme_config</code>选项会与主题配置文件中的主题配置合并并覆盖掉同名配置。
|
||
然而,我们非常不推荐使用这个配置选项。</p>
|
||
<h3 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h3><p>总而言之,配置源的作用范围和优先级如下:</p>
|
||
<ul>
|
||
<li><p>对于某个文章或页面</p>
|
||
<ul>
|
||
<li>文章/页面的front-matter覆盖所有下面的配置源。</li>
|
||
<li>布局配置文件覆盖所有下面的配置源。</li>
|
||
<li>站点配置文件中的<code>theme_config</code>选项覆盖所有下面的配置源。</li>
|
||
<li>主题配置文件覆盖所有下面的配置源。</li>
|
||
<li>站点配置文件。</li>
|
||
</ul>
|
||
</li>
|
||
<li><p>对于所有的文章或页面</p>
|
||
<ul>
|
||
<li>布局配置文件覆盖所有下面的配置源。</li>
|
||
<li>站点配置文件中的<code>theme_config</code>选项覆盖所有下面的配置源。</li>
|
||
<li>主题配置文件覆盖所有下面的配置源。</li>
|
||
<li>站点配置文件。</li>
|
||
</ul>
|
||
</li>
|
||
<li><p>对于所有的文章,页面,和索引页</p>
|
||
<ul>
|
||
<li>站点配置文件中的<code>theme_config</code>选项覆盖所有下面的配置源。</li>
|
||
<li>主题配置文件覆盖所有下面的配置源。</li>
|
||
<li>站点配置文件。</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<h2 id="配置生成与校验"><a href="#配置生成与校验" class="headerlink" title="配置生成与校验"></a>配置生成与校验</h2><p>所有的Icarus主题配置均使用<a target="_blank" rel="noopener" href="https://yaml.org/">YAML语言</a>编写。
|
||
如果配置文件不存在,Icarus会通过一系列<a target="_blank" rel="noopener" href="https://json-schema.org/">JSON Schema</a>来自动生成默认的配置文件<code>_config.icarus.yml</code>。
|
||
这也是为什么你在主题目录下找不到示例配置文件(如<code>_config.yml.example</code>)。
|
||
大多数的JSON Schema存放在<code><icarus_directory>/include/schema</code>目录下,而其他的则存放在
|
||
<a target="_blank" rel="noopener" href="https://github.com/ppoffice/hexo-component-inferno">ppoffice/hexo-component-inferno</a>仓库中。
|
||
你可以在你的<code>hexo</code>命令后附上<code>--icarus-dont-generate-config</code>来避免配置文件的自动生成。</p>
|
||
<p>当你每次运行<code>hexo</code>命令时,主题也会对比JSON Schema来校验你的配置文件。
|
||
如果校验中出现任何错误,Icarus会将错误位置与错误类型打印在屏幕上。
|
||
例如,如下的错误信息告诉我们<code>logo</code>配置值应该为字符串或是对象,而不是一个整型数。
|
||
你可以在你的<code>hexo</code>命令后附上<code>--icarus-dont-check-config</code>来跳过校验,但并不推荐这么做。</p>
|
||
<figure class="highlight plaintext"><figcaption><span>hexo日志</span></figcaption><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">INFO === Checking package dependencies ===</span><br><span class="line">INFO === Checking the configuration file ===</span><br><span class="line">WARN Configuration file failed one or more checks.</span><br><span class="line">WARN Icarus may still run, but you will encounter unexcepted results.</span><br><span class="line">WARN Here is some information for you to correct the configuration file.</span><br><span class="line">WARN [</span><br><span class="line"> {</span><br><span class="line"> keyword: 'type',</span><br><span class="line"> dataPath: '.logo',</span><br><span class="line"> schemaPath: '#/properties/logo/type',</span><br><span class="line"> params: { type: 'string,object' },</span><br><span class="line"> message: 'should be string,object'</span><br><span class="line"> }</span><br><span class="line">]</span><br></pre></td></tr></tbody></table></figure>
|
||
|
||
<p>此外,如果你的默认主题配置文件不是最新版本的话,Icarus会运行迁移脚本将它升级到最新版本。
|
||
这些脚本存放在<code><icarus_directory>/include/migration</code>目录。
|
||
你可以在你的<code>hexo</code>命令后附上<code>--icarus-dont-upgrade-config</code>来禁止配置升级。
|
||
最后,Icarus也会检查主题依赖的Node.js库是否安装并提醒你安装缺失的库。</p>
|
||
<article class="message message-immersive is-warning">
|
||
<div class="message-body">
|
||
<i class="fas fa-question-circle mr-2"></i>文章内容有误?请点击<a target="_blank" rel="noopener" href="https://github.com/ppoffice/hexo-theme-icarus/edit/site/source/_posts/zh-CN/Configuring-Theme.md">此处</a>提交修改。
|
||
</div>
|
||
</article>
|
||
</div><div class="article-licensing box"><div class="licensing-title"><p>Icarus用户指南 - 主题配置</p><p><a href="http://ppoffice.github.io/hexo-theme-icarus/Configuration/icarus用户指南-主题配置/">http://ppoffice.github.io/hexo-theme-icarus/Configuration/icarus用户指南-主题配置/</a></p></div><div class="licensing-meta level is-mobile"><div class="level-left"><div class="level-item is-narrow"><div><h6>作者</h6><p>PPOffice</p></div></div><div class="level-item is-narrow"><div><h6>发布于</h6><p>2016-01-04</p></div></div><div class="level-item is-narrow"><div><h6>许可协议</h6><p><a class="icons" rel="noopener" target="_blank" title="Creative Commons" href="https://creativecommons.org/"><i class="icon fab fa-creative-commons"></i></a><a class="" rel="noopener" target="_blank" title="CC BY-NC-SA 4.0" href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a></p></div></div></div></div></div><div class="article-tags is-size-7 mb-4"><span class="mr-2">#</span><a class="link-muted mr-2" rel="tag" href="/hexo-theme-icarus/tags/Getting-Started/">Getting Started</a><a class="link-muted mr-2" rel="tag" href="/hexo-theme-icarus/tags/Icarus%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97/">Icarus用户指南</a></div><div class="sharethis-inline-share-buttons"></div><script src="//platform-api.sharethis.com/js/sharethis.js#property=5ab6f60ace89f00013641890&product=inline-share-buttons" defer></script></article></div><!--!--><nav class="post-navigation mt-4 level is-mobile"><div class="level-start"><a class="article-nav-prev level level-item link-muted" href="/hexo-theme-icarus/uncategorized/icarus%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B/"><i class="level-item fas fa-chevron-left"></i><span class="level-item">Icarus快速上手</span></a></div><div class="level-end"><a class="article-nav-next level level-item link-muted" href="/hexo-theme-icarus/uncategorized/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/"><span class="level-item">常见问题</span><i class="level-item fas fa-chevron-right"></i></a></div></nav><!--!--></div><div class="column column-left is-4-tablet is-4-desktop is-4-widescreen order-1 is-sticky"><div class="card widget" data-type="profile"><div class="card-content"><nav class="level"><div class="level-item has-text-centered flex-shrink-1"><div><figure class="image is-128x128 mx-auto mb-2"><img class="avatar" src="/hexo-theme-icarus/img/avatar.png" alt="PPOffice"></figure><p class="title is-size-4 is-block" style="line-height:inherit;">PPOffice</p><p class="is-size-6 is-block">Web Developer</p><p class="is-size-6 is-flex justify-content-center"><i class="fas fa-map-marker-alt mr-1"></i><span>Earth, Solar System</span></p></div></div></nav><nav class="level is-mobile"><div class="level-item has-text-centered is-marginless"><div><p class="heading">文章</p><a href="/hexo-theme-icarus/archives/"><p class="title">43</p></a></div></div><div class="level-item has-text-centered is-marginless"><div><p class="heading">分类</p><a href="/hexo-theme-icarus/categories/"><p class="title">9</p></a></div></div><div class="level-item has-text-centered is-marginless"><div><p class="heading">标签</p><a href="/hexo-theme-icarus/tags/"><p class="title">4</p></a></div></div></nav><div class="level"><a class="level-item button is-primary is-rounded" href="https://github.com/ppoffice" target="_blank" rel="me noopener">关注我</a></div><div class="level is-mobile is-multiline"><a class="level-item button is-transparent is-marginless" target="_blank" rel="me noopener" title="Github" href="https://github.com/ppoffice"><i class="fab fa-github"></i></a><a class="level-item button is-transparent is-marginless" target="_blank" rel="me noopener" title="Facebook" href="https://facebook.com"><i class="fab fa-facebook"></i></a><a class="level-item button is-transparent is-marginless" target="_blank" rel="me noopener" title="Twitter" href="https://twitter.com"><i class="fab fa-twitter"></i></a><a class="level-item button is-transparent is-marginless" target="_blank" rel="me noopener" title="Dribbble" href="https://dribbble.com"><i class="fab fa-dribbble"></i></a><a class="level-item button is-transparent is-marginless" target="_blank" rel="me noopener" title="RSS" href="/hexo-theme-icarus/"><i class="fas fa-rss"></i></a></div></div></div><div class="card widget" id="toc" data-type="toc"><div class="card-content"><div class="menu"><h3 class="menu-label">目录</h3><ul class="menu-list"><li><a class="level is-mobile" href="#一般主题配置"><span class="level-left"><span class="level-item">1</span><span class="level-item">一般主题配置</span></span></a><ul class="menu-list"><li><a class="level is-mobile" href="#配置文件版本"><span class="level-left"><span class="level-item">1.1</span><span class="level-item">配置文件版本</span></span></a></li><li><a class="level is-mobile" href="#主题变体"><span class="level-left"><span class="level-item">1.2</span><span class="level-item">主题变体</span></span></a></li><li><a class="level is-mobile" href="#Logo"><span class="level-left"><span class="level-item">1.3</span><span class="level-item">Logo</span></span></a></li><li><a class="level is-mobile" href="#Favicon"><span class="level-left"><span class="level-item">1.4</span><span class="level-item">Favicon</span></span></a></li><li><a class="level is-mobile" href="#Web-App-Manifest"><span class="level-left"><span class="level-item">1.5</span><span class="level-item">Web App Manifest</span></span></a></li><li><a class="level is-mobile" href="#Open-Graph"><span class="level-left"><span class="level-item">1.6</span><span class="level-item">Open Graph</span></span></a></li><li><a class="level is-mobile" href="#Google-Structured-Data"><span class="level-left"><span class="level-item">1.7</span><span class="level-item">Google Structured Data</span></span></a></li><li><a class="level is-mobile" href="#页面元信息"><span class="level-left"><span class="level-item">1.8</span><span class="level-item">页面元信息</span></span></a></li><li><a class="level is-mobile" href="#RSS"><span class="level-left"><span class="level-item">1.9</span><span class="level-item">RSS</span></span></a></li><li><a class="level is-mobile" href="#导航栏"><span class="level-left"><span class="level-item">1.10</span><span class="level-item">导航栏</span></span></a></li><li><a class="level is-mobile" href="#页脚"><span class="level-left"><span class="level-item">1.11</span><span class="level-item">页脚</span></span></a></li><li><a class="level is-mobile" href="#代码高亮"><span class="level-left"><span class="level-item">1.12</span><span class="level-item">代码高亮</span></span></a></li><li><a class="level is-mobile" href="#封面-缩略图"><span class="level-left"><span class="level-item">1.13</span><span class="level-item">封面 & 缩略图</span></span></a></li><li><a class="level is-mobile" href="#文章阅读时间"><span class="level-left"><span class="level-item">1.14</span><span class="level-item">文章阅读时间</span></span></a></li><li><a class="level is-mobile" href="#文章更新时间"><span class="level-left"><span class="level-item">1.15</span><span class="level-item">文章更新时间</span></span></a></li><li><a class="level is-mobile" href="#文章许可协议"><span class="level-left"><span class="level-item">1.16</span><span class="level-item">文章许可协议</span></span></a></li><li><a class="level is-mobile" href="#侧边栏"><span class="level-left"><span class="level-item">1.17</span><span class="level-item">侧边栏</span></span></a></li><li><a class="level is-mobile" href="#其他配置"><span class="level-left"><span class="level-item">1.18</span><span class="level-item">其他配置</span></span></a></li></ul></li><li><a class="level is-mobile" href="#配置文件与优先级"><span class="level-left"><span class="level-item">2</span><span class="level-item">配置文件与优先级</span></span></a><ul class="menu-list"><li><a class="level is-mobile" href="#布局配置文件"><span class="level-left"><span class="level-item">2.1</span><span class="level-item">布局配置文件</span></span></a></li><li><a class="level is-mobile" href="#文章-页面的Front-matter"><span class="level-left"><span class="level-item">2.2</span><span class="level-item">文章/页面的Front-matter</span></span></a></li><li><a class="level is-mobile" href="#站点配置文件"><span class="level-left"><span class="level-item">2.3</span><span class="level-item">站点配置文件</span></span></a></li><li><a class="level is-mobile" href="#总结"><span class="level-left"><span class="level-item">2.4</span><span class="level-item">总结</span></span></a></li></ul></li><li><a class="level is-mobile" href="#配置生成与校验"><span class="level-left"><span class="level-item">3</span><span class="level-item">配置生成与校验</span></span></a></li></ul></div></div><style>#toc .menu-list > li > a.is-active + .menu-list { display: block; }#toc .menu-list > li > a + .menu-list { display: none; }</style><script src="/hexo-theme-icarus/js/toc.js" defer></script></div><div class="card widget" data-type="categories"><div class="card-content"><div class="menu"><h3 class="menu-label">分类</h3><ul class="menu-list"><li><a class="level is-mobile" href="/hexo-theme-icarus/categories/Configuration/"><span class="level-start"><span class="level-item">Configuration</span></span><span class="level-end"><span class="level-item tag">4</span></span></a></li><li><a class="level is-mobile" href="/hexo-theme-icarus/categories/Plugins/"><span class="level-start"><span class="level-item">Plugins</span></span><span class="level-end"><span class="level-item tag">12</span></span></a><ul><li><a class="level is-mobile" href="/hexo-theme-icarus/categories/Plugins/Analytics/"><span class="level-start"><span class="level-item">Analytics</span></span><span class="level-end"><span class="level-item tag">2</span></span></a></li><li><a class="level is-mobile" href="/hexo-theme-icarus/categories/Plugins/Comment/"><span class="level-start"><span class="level-item">Comment</span></span><span class="level-end"><span class="level-item tag">2</span></span></a></li><li><a class="level is-mobile" href="/hexo-theme-icarus/categories/Plugins/Donation/"><span class="level-start"><span class="level-item">Donation</span></span><span class="level-end"><span class="level-item tag">2</span></span></a></li><li><a class="level is-mobile" href="/hexo-theme-icarus/categories/Plugins/Other/"><span class="level-start"><span class="level-item">Other</span></span><span class="level-end"><span class="level-item tag">2</span></span></a></li><li><a class="level is-mobile" href="/hexo-theme-icarus/categories/Plugins/Search/"><span class="level-start"><span class="level-item">Search</span></span><span class="level-end"><span class="level-item tag">2</span></span></a></li><li><a class="level is-mobile" href="/hexo-theme-icarus/categories/Plugins/Share/"><span class="level-start"><span class="level-item">Share</span></span><span class="level-end"><span class="level-item tag">2</span></span></a></li></ul></li><li><a class="level is-mobile" href="/hexo-theme-icarus/categories/Widgets/"><span class="level-start"><span class="level-item">Widgets</span></span><span class="level-end"><span class="level-item tag">2</span></span></a></li></ul></div></div></div><div class="card widget" data-type="tags"><div class="card-content"><div class="menu"><h3 class="menu-label">标签</h3><div class="field is-grouped is-grouped-multiline"><div class="control"><a class="tags has-addons" href="/hexo-theme-icarus/tags/Demo/"><span class="tag">Demo</span><span class="tag">19</span></a></div><div class="control"><a class="tags has-addons" href="/hexo-theme-icarus/tags/Getting-Started/"><span class="tag">Getting Started</span><span class="tag">4</span></a></div><div class="control"><a class="tags has-addons" href="/hexo-theme-icarus/tags/Icarus-User-Guide/"><span class="tag">Icarus User Guide</span><span class="tag">12</span></a></div><div class="control"><a class="tags has-addons" href="/hexo-theme-icarus/tags/Icarus%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97/"><span class="tag">Icarus用户指南</span><span class="tag">12</span></a></div></div></div></div></div></div><!--!--></div></div></section><footer class="footer"><div class="container"><div class="level"><div class="level-start"><a class="footer-logo is-block mb-2" href="/hexo-theme-icarus/"><img src="/hexo-theme-icarus/img/logo.svg" alt="Icarus" height="28"></a><p class="is-size-7"><span>© 2025 PPOffice</span> Powered by <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a> & <a href="https://github.com/ppoffice/hexo-theme-icarus" target="_blank" rel="noopener">Icarus</a></p></div><div class="level-end"><div class="field has-addons"><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Creative Commons" href="https://creativecommons.org/"><i class="fab fa-creative-commons"></i></a></p><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Discuss on GitHub" href="https://github.com/ppoffice/hexo-theme-icarus/discussions"><i class="fas fa-comments"></i></a></p><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Download on GitHub" href="https://github.com/ppoffice/hexo-theme-icarus"><i class="fab fa-github"></i></a></p></div></div></div></div></footer><script src="https://cdnjs.loli.net/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script src="https://cdnjs.loli.net/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js"></script><script src="https://cdnjs.loli.net/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" defer></script><script>moment.locale("zh-cn");</script><script>var IcarusThemeSettings = {
|
||
article: {
|
||
highlight: {
|
||
clipboard: true,
|
||
fold: 'unfolded'
|
||
}
|
||
}
|
||
};</script><script data-pjax src="/hexo-theme-icarus/js/column.js"></script><script src="/hexo-theme-icarus/js/animation.js"></script><a id="back-to-top" title="回到顶端" href="javascript:;"><i class="fas fa-chevron-up"></i></a><script data-pjax src="/hexo-theme-icarus/js/back_to_top.js" defer></script><!--!--><!--!--><!--!--><script src="https://cdnjs.loli.net/ajax/libs/cookieconsent/3.1.1/cookieconsent.min.js" defer></script><script>window.addEventListener("load", () => {
|
||
window.cookieconsent.initialise({
|
||
type: "info",
|
||
theme: "edgeless",
|
||
static: false,
|
||
position: "bottom-left",
|
||
content: {
|
||
message: "此网站使用Cookie来改善您的体验。",
|
||
dismiss: "知道了!",
|
||
allow: "允许使用Cookie",
|
||
deny: "拒绝",
|
||
link: "了解更多",
|
||
policy: "Cookie政策",
|
||
href: "https://www.cookiesandyou.com/",
|
||
},
|
||
palette: {
|
||
popup: {
|
||
background: "#edeff5",
|
||
text: "#838391"
|
||
},
|
||
button: {
|
||
background: "#4b81e8"
|
||
},
|
||
},
|
||
});
|
||
});</script><script src="https://cdnjs.loli.net/ajax/libs/lightgallery/1.10.0/js/lightgallery.min.js" defer></script><script src="https://cdnjs.loli.net/ajax/libs/justifiedGallery/3.8.1/js/jquery.justifiedGallery.min.js" defer></script><script>window.addEventListener("load", () => {
|
||
if (typeof $.fn.lightGallery === 'function') {
|
||
$('.article').lightGallery({ selector: '.gallery-item' });
|
||
}
|
||
if (typeof $.fn.justifiedGallery === 'function') {
|
||
if ($('.justified-gallery > p > .gallery-item').length) {
|
||
$('.justified-gallery > p > .gallery-item').unwrap();
|
||
}
|
||
$('.justified-gallery').justifiedGallery();
|
||
}
|
||
});</script><!--!--><!--!--><div id="outdated"><h6>Your browser is out-of-date!</h6><p>Update your browser to view this website correctly.&npsb;<a id="btnUpdateBrowser" href="http://outdatedbrowser.com/">Update my browser now </a></p><p class="last"><a href="#" id="btnCloseUpdateBrowser" title="Close">×</a></p></div><script src="https://cdnjs.loli.net/ajax/libs/outdated-browser/1.1.5/outdatedbrowser.min.js" defer></script><script>window.addEventListener("load", function () {
|
||
outdatedBrowser({
|
||
bgColor: '#f25648',
|
||
color: '#ffffff',
|
||
lowerThan: 'object-fit' // display on IE11 or below
|
||
});
|
||
});</script><!--!--><!--!--><!--!--><script data-pjax src="/hexo-theme-icarus/js/main.js" defer></script><div class="searchbox"><div class="searchbox-container"><div class="searchbox-header"><div class="searchbox-input-container"><input class="searchbox-input" type="text" placeholder="想要查找什么..."></div><a class="searchbox-close" href="javascript:;">×</a></div><div class="searchbox-body"></div></div></div><script data-pjax src="/hexo-theme-icarus/js/insight.js" defer></script><script data-pjax>document.addEventListener('DOMContentLoaded', function () {
|
||
loadInsight({"contentUrl":"/hexo-theme-icarus/content.json"}, {"hint":"想要查找什么...","untitled":"(无标题)","posts":"文章","pages":"页面","categories":"分类","tags":"标签"});
|
||
});</script></body></html> |