Hexo高级教程之代码高亮

Hexo高亮

hexo已实现代码高亮,代码封装在hexo-util插件中,使用的是hightlight.js,通过include_codetag标签来使用,功能已经很强大了,而且自带行号显示,可以满足大多数博主的需求了。但是它仍然存在一些局限性,比如在Nova主题中,有些语言不支持,无法高亮,而且界面也比较丑,所以个人还是倾向于自由使用hightlight.js来高亮代码,使用起来比较灵活,还能扩展一些功能,但是hightlight.js默认是不带行号的。为此,也是遇到了不少坑。后来在某歪果仁的博客中找到一个行号解决方案,在其基础上,终于实现了一个较为理想的代码高亮方案。

加载highlight.js

使用[highlight.js]非常简单,只需以下简单的几步。
首先,在博客站点根目录的_config.yml中,将highlight.enable设置为flase以关闭自带的高亮方案。

其次,引入highlight.js的css及js(如果使用较多,推荐在主题模板中作为全局js引入)。

<link rel="stylesheet" href="//cdn.bootcss.com/highlight.js/9.2.0/styles/github.min.css">
<script src="//cdn.bootcss.com/highlight.js/9.2.0/highlight.min.js"></script>

[highlight.js]有许多代码风格,博主可以根据博客站点主题风格,选择合适的代码风格,我使用的是github风格。

然后,在文档加载完毕之后初始化

  // highlight
  hljs.initHighlightingOnLoad();

如此࿰

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写 Hexo 主题需要掌握前端开发技术,主要包括 HTML、CSS、JavaScript 等。以下是一个简单的 Hexo 主题示例,供参考: 1. 创建主题目录 在 Hexo 的根目录下创建一个名为 `my-theme` 的目录,用来存放主题相关的文件。 2. 创建主题文件 在 `my-theme` 目录下创建以下文件: - `layout/_partial/head.ejs`:页面头部信息,包括 `<head>` 标签和 CSS 样式文件引入。 - `layout/_partial/header.ejs`:页面头部,包括网站标题、导航栏等。 - `layout/_partial/footer.ejs`:页面底部,包括版权信息、友情链接等。 - `layout/_partial/sidebar.ejs`:侧边栏,包括分类、标签、归档等内容。 - `layout/_partial/pagination.ejs`:分页组件,用于文章列表分页。 - `layout/_partial/scripts.ejs`:页面底部的 JavaScript 脚本引入。 - `layout/index.ejs`:网站首页模板。 - `layout/post.ejs`:文章详情页面模板。 - `layout/page.ejs`:独立页面模板。 3. 编写模板文件 打开 `index.ejs` 文件,输入以下代码: ```html <!DOCTYPE html> <html lang="zh-CN"> <%- partial('head') %> <body> <%- partial('header') %> <main class="container"> <div class="row"> <div class="col-md-8"> <%- partial('article') %> <%- partial('pagination') %> </div> <div class="col-md-4"> <%- partial('sidebar') %> </div> </div> </main> <%- partial('footer') %> <%- partial('scripts') %> </body> </html> ``` 以上代码是一个简单的页面布局模板,其中使用了 Bootstrap 作为页面样式框架。`<%- partial('head') %>`、`<%- partial('header') %>`、`<%- partial('article') %>` 等是 EJS 引擎的语法,用于引入模板中的其他文件。 4. 编写 CSS 样式 在 `my-theme` 目录下创建一个名为 `css` 的目录,用于存放 CSS 样式文件。在 `css` 目录下创建一个名为 `style.css` 的文件,输入以下代码: ```css /* 导航栏样式 */ .navbar-brand { font-size: 24px; font-weight: bold; } .navbar-nav > li > a { color: #333; font-size: 16px; font-weight: bold; } .navbar-nav > li.active > a { color: #fff; background-color: #333; } /* 文章列表样式 */ .article-title { font-size: 24px; margin-bottom: 10px; } .article-meta { color: #999; margin-bottom: 20px; } /* 分页组件样式 */ .pagination { margin-top: 20px; } .pagination > li > a, .pagination > li > span { padding: 5px 10px; border: 1px solid #ccc; } .pagination > li.active > a, .pagination > li.active > span { background-color: #333; color: #fff; border-color: #333; } /* 侧边栏样式 */ .sidebar-title { font-size: 18px; font-weight: bold; margin-bottom: 10px; } .sidebar-list { list-style: none; margin: 0; padding: 0; } .sidebar-list > li > a { color: #333; } ``` 以上代码定义了导航栏、文章列表、分页组件、侧边栏等样式。 5. 集成 JavaScript 脚本 在 `my-theme` 目录下创建一个名为 `js` 的目录,用于存放 JavaScript 脚本文件。在 `js` 目录下创建一个名为 `main.js` 的文件,输入以下代码: ```js $(function () { // 导航栏激活状态 $('.navbar-nav > li').click(function () { $(this).addClass('active').siblings().removeClass('active'); }); }); ``` 以上代码使用了 jQuery,用于实现导航栏点击激活状态。 6. 应用主题 将 `my-theme` 目录复制到 Hexo 的 `themes` 目录下,然后在 Hexo 的配置文件 `_config.yml` 中设置主题名称为 `my-theme`: ``` theme: my-theme ``` 执行 `hexo generate` 命令重新生成静态文件,然后执行 `hexo server` 命令启动本地服务器,即可预览新主题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值