Markdown文档预览
页面配置进度
logo添加 ✅
菜单/目录 ✅
代码块 ✅ 样式部分有些不满意,后续可能会找其他css(结果设置了文章页的banner之后还意外的搭配,不改了hh)
想有一张自己拍的星空照片做banner ❎
文章banner存在一个优先级的问题。我想将配置文件的 default_top_img作为所有文章的默认banner,但如果文章在front-matter设置了cover,由于cover的最高优先级,文章banner会变成cover值 ✅ 解决方法:添加top_img在front-matter中,让所有的页面banner地址都一样。
自定义footer ✅ 可能存在的问题,在main.js直接调用了一次refreshBlogRunningTime()这个自定义的blog运行时间函数,能改写到footer?也不对哦,footer在所有页面都有,这么写应该也没问题!
⬆️(newest) 还是觉得在main里面直接改太不优雅了。参考文档里引入自定义css的方式,在source/self/custom-footer.js引入自定义refreshBlogRunningTime(),然后去_config.butterfly.yml中inject自定义js,搞定!✅
修改首页的title和subtitle,在themes/butterfly/layout/includes/header/index.pug里面
❎ 优化seo bing/google/baidu/cloudflare
❎ 配置robots.txt反扒
配置详情
不同的quote是否匹配相同样式?
引用2,康康css
css样式,估计超出div的问题就在这里
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| code[hljs-codeblock-inner] { line-height: 1.5; font-size: 16px; border-radius: 100px; padding: 22px 20px; border-radius: 8px; box-shadow: rgba(0,0,0,0.2) 0px 5px 20px; margin-top: 15px !important; margin-bottom: 15px !important; padding-top: 55px; background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTcwODgxMzc1MTA3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM0MTAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTAwMCIgaGVpZ2h0PSIxMDAwIj48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik05NTQuMzA0IDE5MC4zMzZhMTUuNTUyIDE1LjU1MiAwIDAgMSAwIDIxLjk1MmwtMzAwLjAzMiAzMDAuMDMyIDI5OC41NiAyOTguNTZhMTUuNjE2IDE1LjYxNiAwIDAgMSAwIDIyLjAxNmwtMTIwLjk2IDEyMC44OTZhMTUuNTUyIDE1LjU1MiAwIDAgMS0yMS45NTIgMEw1MTEuMzYgNjU1LjIzMiAyMTQuMjcyIDk1Mi4zMmExNS41NTIgMTUuNTUyIDAgMCAxLTIxLjk1MiAwbC0xMjAuODk2LTEyMC44OTZhMTUuNDg4IDE1LjQ4OCAwIDAgMSAwLTIxLjk1MmwyOTcuMTUyLTI5Ny4xNTJMNjkuODg4IDIxMy43NmExNS41NTIgMTUuNTUyIDAgMCAxIDAtMjEuOTUybDEyMC44OTYtMTIwLjg5NmExNS41NTIgMTUuNTUyIDAgMCAxIDIxLjk1MiAwTDUxMS4zNiAzNjkuNDcybDMwMC4wOTYtMzAwLjAzMmExNS4zNiAxNS4zNiAwIDAgMSAyMS45NTIgMGwxMjAuODk2IDEyMC44OTZ6IiBwLWlkPSIzNDExIiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+) no-repeat 50% 50% !important;
} .hljs-ln-numbers { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; text-align: center; vertical-align: top; padding-right: 12px !important; position: absolute; left: 20px; width: 30px; overflow-x: visible !important; transition: all .3s ease; } .hljs-ln-numbers:before { content: ''; position: absolute; left: -20px; width: 20px; height: 100%; background: inherit; } .hljs-ln-code { padding-left: 30px !important; transition: all .3s ease; } pre.hljs-codeblock.hljs-break-line .hljs-ln-code { line-break: anywhere; white-space: break-spaces; } code[hljs-codeblock-inner]::-webkit-scrollbar-track{ border: none; background: transparent !important; } code[hljs-codeblock-inner]::-webkit-scrollbar-thumb{ background: rgba(255, 255, 255, .3) !important; box-shadow: none !important; border: none !important; border-radius: 10px; transition: background .3s ease; } code[hljs-codeblock-inner]::-webkit-scrollbar-thumb:hover{ background: rgba(255, 255, 255, .5) !important; } code[hljs-codeblock-inner]::-webkit-scrollbar{ background: transparent; height: 6px; } code[hljs-codeblock-inner] *::selection { background-color: rgba(204, 226, 255, 0.2) !important; } pre.hljs-codeblock.hljs-codeblock-fullscreen { position: fixed; left: 0; right: 0; top: 0; bottom: 0; z-index: 10000; margin: 0 !important; animation: codeblock-fullscreen 0.5s cubic-bezier(0.18, 0.89, 0.37, 1.12); } pre.hljs-codeblock.hljs-codeblock-fullscreen > code[hljs-codeblock-inner]{ position: absolute; left: 0; right: 0; top: 0; bottom: 0; border-radius: 0; margin: 0 !important; } pre.hljs-codeblock.hljs-codeblock-fullscreen:before{ z-index: 10001; } @keyframes codeblock-fullscreen{ 0%{ transform: scale(.5); opacity: 1; } 100%{ transform: none; opacity: 1; } } pre.hljs-codeblock.hljs-hide-linenumber .hljs-ln-numbers.hljs{ width: 0px; opacity: 0; } pre.hljs-codeblock.hljs-hide-linenumber .hljs-ln-code { padding-left: 4px !important; }
|
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
| #footer-wrap .github-badge span.badge-subject i.fa.fa-copyright | Copyright span.badge-value.bg-red a(href='https://github.com/Sherrinford16/Sherrinford16.github.io', target='_blank', one-link-mark='yes') | 2023 夏福 .github-badge span.badge-subject i.fa.fa-clock | Running Time span.badge-value.bg-apricots span#blog_running_days.odometer.odometer-auto-theme | days span#blog_running_hours.odometer.odometer-auto-theme | H span#blog_running_mins.odometer.odometer-auto-theme | M span#blog_running_secs.odometer.odometer-auto-theme | S
if theme.footer.owner.enable - var now = new Date() - var nowYear = now.getFullYear() if theme.footer.owner.since && theme.footer.owner.since != nowYear .copyright!= `©${theme.footer.owner.since} - ${nowYear} By ${config.author}` else .copyright!= `©${nowYear} By ${config.author}` if theme.footer.copyright .framework-info span= _p('footer.framework') + ' ' a(href='https://hexo.io')= 'Hexo' span.footer-separator | span= _p('footer.theme') + ' ' a(href='https://github.com/jerryc127/hexo-theme-butterfly')= 'Butterfly' if theme.footer.custom_text .footer_custom_text!=`${theme.footer.custom_text}`
|
js部分
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
| const refreshBlogRunningTime = () => { const blog_running_days = document.getElementById("blog_running_days"); const blog_running_hours = document.getElementById("blog_running_hours"); const blog_running_mins = document.getElementById("blog_running_mins"); const blog_running_secs = document.getElementById("blog_running_secs");
const time = new Date() - new Date(2023, 8, 15, 0, 0, 0); const d = parseInt(time / 24 / 60 / 60 / 1000); const h = parseInt((time % (24 * 60 * 60 * 1000)) / 60 / 60 / 1000); const m = parseInt((time % (60 * 60 * 1000)) / 60 / 1000); const s = parseInt((time % (60 * 1000)) / 1000);
blog_running_days.innerHTML = d; blog_running_hours.innerHTML = h; blog_running_mins.innerHTML = m; blog_running_secs.innerHTML = s; }
refreshBlogRunningTime();
if (typeof bottomTimeIntervalHasSet === "undefined") { window.bottomTimeIntervalHasSet = true; setInterval(refreshBlogRunningTime, 500); }
|
标签外挂
在 Hexo 中,标签外挂(Tag Plugins)是一种允许用户在 Markdown 文档中插入自定义内容的方法。它们为用户提供了一种非常简单的方式,通过简短的标签,插入 HTML、JS 或其他类型的代码到文章或页面中。
Butterfly样式库.
inline有什么作用?
在文本里面添加按鈕隱藏內容,只限文字( content不能包含英文逗號,可用&sbquo)
Mermaid文档
i^
then➡️ i^
配置主页title
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| header#page-header(class=`${isHomeClass+isFixedClass}` style=bg_img) !=partial('includes/header/nav', {}, {cache: true}) if top_img !== false if is_post() include ./post-info.pug else if is_home() #site-info h1#site-title='' // h1#site-title=site_title,首页的title固定为blog的名字,隐藏了 if theme.subtitle.enable - var loadSubJs = true #site-subtitle span#subtitle if(theme.social) #site_social_icons !=partial('includes/header/social', {}, {cache: true}) #scroll-down i.fas.fa-angle-down.scroll-down-effects else #page-site-info h1#site-title=site_title
|
一个不错的设置文档:Butterfly 博客主题搭建系列:基础教程 | 枫叶 (aqcoder.cn)