效果
正如我的博客这样,左上角的网站标题被修改成了logo,你应当准备一张透明的图片,并且细心的你会发现fluid主题在日间或夜间导航栏都为深色,所以你可以像我这样偷个懒,只需要准备一张透明底色、logo内容为浅色的图片就行。
能从主题配置中修改吗?
hexo博客fluid主题的_config.fluid.yml
主题配置文件能够很方便的修改网站标题,但是fluid配置指南——博客标题中也说明如下:
博客标题
页面左上角的博客标题,默认使用站点配置中的 title
,这个配置同时控制着网页在浏览器标签中的标题。
如需单独区别设置,可在主题配置中设置:
navbar:
blog_title: 博客标题
我想尝试着在blog_title后直接引如本地资源如 /img/logo.png,或使用图床、网络链接直接引入,但hexo d
之后,博客的标题原引了网址链接。因此在config.yml中修改是不行的
修改主题源码
因为改动的地方不大,在GPT的帮助下, 其实很快就能找到修改的方式:
修改主题的~/node_modules/hexo-theme-fluid/layout/_partials/header/
下的navigation.ejs
文件即可。
1 2 3
| <a class="navbar-brand" href="<%= url_for() %>"> <img src="/img/YOUR_LOGO_NAME.png" alt="<%= config.title %>" class="navbar-logo"> </a>
|
如图:
这里css样式我也贴在这里,主要是对logo做了一些控制,及一些动画,你可以复制下来放到你的博客目录/source/css/
下,并把文件名称命名为custom.css
,同时在fluid主题的_config.fluid.yml
配置文件下,启用custom css设置。
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
| .navbar { padding-top: 0.5rem; padding-bottom: 0.5rem; height: auto; }
.navbar-brand { display: flex; align-items: center; padding: 0; margin-right: 2rem; min-height: 45px; }
.navbar-brand .navbar-logo { height: 45px; width: auto; vertical-align: middle; transition: transform 0.3s ease; object-fit: contain; max-width: 200px; backface-visibility: hidden; transform: translateZ(0); -webkit-transform: translateZ(0); will-change: transform; cache-control: max-age=31536000; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.navbar-brand .navbar-logo:hover { transform: scale(1.05); }
@media (max-width: 991.98px) { .navbar-brand .navbar-logo { height: 40px; } }
@media (max-width: 767.98px) { .navbar-brand .navbar-logo { height: 35px; max-width: 150px; }
.navbar { padding-top: 0.3rem; padding-bottom: 0.3rem; } }
.navbar .navbar-nav { align-items: center; }
.navbar-logo { animation: fadeIn 0.2s ease-in; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
|
请注意文件路径,我采用npm安装fluid主题,如果你是采用安装指南中方式二安装的主题:
那么你的ejs文件应当在themes/fluid文件夹下
完成以后,hexo clean && hexo g
以后就可以预览试试了