banner图
修改themes\next\layout\_layout.njk
文件
首先在class="header-inner"前面加上id
<main class="main"> <header class="header" itemscope itemtype="http://schema.org/WPHeader"> <div id="id-header-inner" class="header-inner"> {%- include '_partials/header/index.njk' -%} </div> {%- if theme.sidebar.display !== 'remove' %} {% block sidebar %}{% endblock %} {%- endif %} </header>
|
然后在下方粘贴上这段代码:
<!-- 改变css样式 --> <script type="text/javascript"> var url = document.location.pathname; var folderName = url.substr(1, url.length - 2) console.log(folderName); var nSuccessCount = 0; var nResponceCount = 0; function OnHttpResponse(bSuccess, strUrl) { console.log("OnHttpResponse: " + bSuccess + ", " + strUrl); if(nSuccessCount > 0){ return; } if(bSuccess) { nSuccessCount++; document.getElementById("id-header-inner").style.backgroundImage = "url(" + strUrl + ")"; } } function changeBanner(strPostUrl, nIndex){ console.log("try to load" + strPostUrl); var xmlhttp; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { OnHttpResponse(true, strPostUrl); } else { OnHttpResponse(false, strPostUrl); } } xmlhttp.open("HEAD",strPostUrl,true); xmlhttp.send(); } var listPostUrl = [ "/images/" + folderName + ".png", "/images/background.png", ]; listPostUrl.forEach(changeBanner); </script>
|
这段代码的含义是在/image/posts/
(folderName由你的permalink决定)下寻找name.png图片,如果找到了就用这个图作为背景图,否则使用默认的在/images/background.png背景图。
以后就只需要在images
放一张name.png的图,就可以用作自定义banner图片了。
一言
一言是创建于 2016
年的项目,起初是用于个人目的。目前已经转为公益项目,由萌创团队运营,为大家提供服务。
所谓一言(ヒトコト),即一句话。这句话可以是传达了感动,可以是博人一笑,可以是发人深思。总之,一言,代表着言语的触动,灵魂的交流。
使用示例
https://v1.hitokoto.cn/ 从7种分类中随机抽取)
https://v1.hitokoto.cn/?c=b
(请求获得一个分类是漫画的句子)
https://v1.hitokoto.cn/?c=f&encode=text
请求获得一个来自网络的句子,并以纯文本格式输出
添加js代码
首先打开heme/next/layout/layout.njk
,将下面的代码添加到</body>
之前
注意到,之前的bannerdai也是加在这里,没关系,那就两段吧
<script> fetch('https://v1.hitokoto.cn?c=b&c=d&c=i&c=k&c=j') .then(response => response.json()) .then(data => { const hitokoto = document.getElementById('hitokoto_text') hitokoto.href = 'https://hitokoto.cn/?uuid=' + data.uuid hitokoto.innerText = data.hitokoto
const from = document.getElementById('hitokoto_from') from.href = 'https://hitokoto.cn/?uuid=' + data.uuid from.innerText = data.from
const who = document.getElementById('hitokoto_who') who.href = 'https://hitokoto.cn/?uuid=' + data.uuid who.innerText = data.from_who }) .catch(console.error) </script>
|
然后再将下面的代码,添加到themes/next/layout/_partials/header/index.njk
或者其他你想的位置
<p style="text-align:center"> <span id="hitokoto_text"></span>-- <span id="hitokoto_who"></span> <span id="hitokoto_from"></span> </p>
|