惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
G
Google Developers Blog
D
Docker
The GitHub Blog
The GitHub Blog
H
Help Net Security
WordPress大学
WordPress大学
博客园_首页
Recent Announcements
Recent Announcements
P
Proofpoint News Feed
罗磊的独立博客
I
InfoQ
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Visual Studio Blog
Jina AI
Jina AI
J
Java Code Geeks
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News

Ariasakaの小窝

Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝 Ariasakaの小窝
Ariasakaの小窝
2022-09-17 · via Ariasakaの小窝

在一次次的偷懒中,魔改文章慢慢取消了引入css和js的教程,然后就出现了小白看不懂了:

1663420036531.png

(虽然解决了

于是我打算写一篇介绍一下这些博客魔改的基础内容

注:[blogRoot]指博客根目录

引用JS

首先你需要在[blogRoot]/themes/butterfly/source/js里面添加一个js,名字随你的便。(需要注意的是不能放在[blogRoot]/source/js里面,否则可能出现bug)

然后把我说的js扔进去,当然你也可以直接放到以前的文件里面,免得改配置 (但是可能有异步同步执行导致的各种bug)

然后再修改主题配置文件,按照下面引入 (一定是bottom,否则可能出现dom不完全导致js报错) (如果直接用已有的就别加了)

如果使用pjax建议加上data-pjax

YAML
inject:
  head:
  - ... 
  bottom:
  - ...
  - <script data-pjax type="text/javascript" src="/js/{把大括号里面的这个换成你的js名字}.js"></script>
  - ...

引用CSS

首先你需要在[blogRoot]/themes/butterfly/source/css里面添加一个css,名字随你的便。(需要注意的是不能放在[blogRoot]/source/css里面,否则可能出现bug)

然后把我说的css扔进去,当然你也可以直接放到以前的文件里面,免得改配置(可能分开更好管理,也可以像我全部扔进styles.css,洪哥全部zhheoblog.css)。

然后再修改主题配置文件,按照下面引入 (一定是head,否则可能出现短暂无CSS)(如果直接用已有的就别加了):

YAML
inject:
  head:
  - ... 
  - <link rel="stylesheet" href="/css/{把大括号里面的这个换成你的css名字}.css">
  bottom:
  - ...

jq或者jquery是什么鬼?咋引入?

jQuery是一个方便选择元素的JavaScript库,jq是其缩写,为了偷懒我经常使用(不知道为什么冰老师倡导去jq),引入她很简单,跟引入js一样(已经加过了就别再加了):

YAML
inject:
  head:
  - ... 
  bottom:
  - <script type="text/javascript" src="https://unpkg.zhimg.com/jquery@latest/dist/jquery.min.js"></script> #一定要放在所有引入的js前面!!!
  - ...

啥是DIFF?

我在魔改时经常会出现diff代码块,她的意思是什么呢?

举个栗子:

修改[blogRoot]\themes\Butterfly\layout\includes\header\nav.pug: ```diff nav#nav span#blog_name ...

menus

  • if (theme.algolia_search.enable || theme.local_search.enable)
  • #search-button
  • a.site-page.social-icon.search
  • i.fas.fa-search.fa-fw
  • span=' '+_p('search.title') !=partial('includes/header/menu_item', {}, {cache: true}) #nav-right
  • if (theme.algolia_search.enable || theme.local_search.enable)
  • #search-button
  • a.site-page.social-icon.search
  • i.fas.fa-search.fa-fw
  • #toggle-menu
  • a.site-page
  • i.fas.fa-bars.fa-fw
  • #toggle-menu
  • a.site-page
  • i.fas.fa-bars.fa-fw
TEXT

出自————


<Link link="https://blog.yaria.top/posts/895003b5/" title="关于Butterfly的导航栏的一些教程" subtitle="Ariasakaの小窝" />


这里的“-”号表示删除源文件的内容,"+"号表示在这里增加,“...”表示省略内容,在根据其修改完文件后,要去掉前面的加号和减号,不要加或者减少一个空格,所以如果原来的文件是:

c++ nav#nav span#blog_name a#site-name(href=url_for('/')) #[=config.title]

menus

TEXT
if (theme.algolia_search.enable || theme.local_search.enable)
  #search-button
    a.site-page.social-icon.search
      i.fas.fa-search.fa-fw
      span=' '+_p('search.title')
  

!=partial('includes/header/menu_item', {}, {cache: true}) #nav-right #toggle-menu a.site-page i.fas.fa-bars.fa-fw

TEXT

那么修改后就是:

c++ nav#nav span#blog_name a#site-name(href=url_for('/')) #[=config.title]

menus

!=partial('includes/header/menu_item', {}, {cache: true})

nav-right

TEXT
if (theme.algolia_search.enable || theme.local_search.enable)
  #search-button
    a.site-page.social-icon.search
      i.fas.fa-search.fa-fw
  #toggle-menu
    a.site-page
      i.fas.fa-bars.fa-fw

```

你学会了吗?