原生调用友情链接
笔者开发网站十几年了,还是习惯把友情链接放在网站首页底部位置
Butterfly主题虽然有友情链接页面,但是属于二级页面,总感觉怪怪的
经过查看Butterfly主题flink代码,决定把读取_data/link.yml友链文件的代码插入到网站首页底部
_data/link.yml的链接属性里增加一个index: 1的参数
这个参数用来判断链接是否需要调用到首页,具体代码如下所示
1 2 3 4 5 6 7 8
| - class_name: 友情链接 class_desc: 申请友情链接请到链接界面留言 link_list: - name: 码农浅知 link: https://mnqz.com/ avatar: /img/favicon.png descr: 码农编程笔记 index: 1
|
具体方法如下
打开模版目录下layout/includes/layout.pug文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| main#content-inner.layout(class=hideAside) if body div!= body else block content if theme.aside.enable && page.aside !== false include widget/index.pug ````````````````在如下位置插入代码`````````````````` - var footerBg = theme.footer_bg if (footerBg) if (footerBg === true) - var footer_bg = bg_img else - var footer_bg = isImgOrUrl(theme.footer_bg) ? `background-image: url('${url_for(footerBg)}')` : `background: ${footerBg}` else - var footer_bg = ''
footer#footer(style=footer_bg) !=partial('includes/footer', {}, {cache: true})
|
找到第30行左右,在- var footerBg = theme.footer_bg上方插入
将如下代码插入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| if is_home() if site.data.link - let result = "" each i in site.data.link - let className = i.class_name ? markdown(`## ${i.class_name}`) : "" - let classDesc = i.class_desc ? `<div class="flink-desc">${i.class_desc}</div>` : ""
- let listResult = ""
each j in i.link_list if j.index - listResult += ` <div class="flink-list-item"> <a href="${j.link}" title="${j.name}" target="_blank"> <div class="flink-item-icon"> <img class="no-lightbox" src="${j.avatar}" onerror='this.onerror=null;this.src="${url_for(theme.error_img.flink)}"' alt="${j.name}" /> </div> <div class="flink-item-name">${j.name}</div> <div class="flink-item-desc" title="${j.descr}">${j.descr}</div> </a> </div>` - if listResult
|
最终效果如下,注意代码缩进层次要完全一致
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| main#content-inner.layout(class=hideAside) if body div!= body else block content if theme.aside.enable && page.aside !== false include widget/index.pug
if is_home() if site.data.link - let result = "" each i in site.data.link - let className = i.class_name ? markdown(`## ${i.class_name}`) : "" - let classDesc = i.class_desc ? `<div class="flink-desc">${i.class_desc}</div>` : ""
- let listResult = ""
each j in i.link_list if j.index - listResult += ` <div class="flink-list-item"> <a href="${j.link}" title="${j.name}" target="_blank"> <div class="flink-item-icon"> <img class="no-lightbox" src="${j.avatar}" onerror='this.onerror=null;this.src="${url_for(theme.error_img.flink)}"' alt="${j.name}" /> </div> <div class="flink-item-name">${j.name}</div> <div class="flink-item-desc" title="${j.descr}">${j.descr}</div> </a> </div>` - if listResult
- var footerBg = theme.footer_bg if (footerBg) if (footerBg === true) - var footer_bg = bg_img else - var footer_bg = isImgOrUrl(theme.footer_bg) ? `background-image: url('${url_for(footerBg)}')` : `background: ${footerBg}` else - var footer_bg = ''
footer#footer(style=footer_bg) !=partial('includes/footer', {}, {cache: true})
|
然后老三样
刷新首页看下效果吧
