唯品秀前端博客
当前位置: 前端开发 > JavaScript > highlight插件代码高亮-实现html转义-保留原始字符串换行格式

highlight插件代码高亮-实现html转义-保留原始字符串换行格式

2020-05-26 分类:JavaScript 作者:管理员 阅读(265)

文章代码高亮,可以试试highlight.js,使用过程非常简单,支持普通引入,也支持工程化项目去使用。如下教程,从最基本的方式去感受下highlightjs的魅力,另外prism.js高亮插件大家也可以了解下,感觉大同小异。

直接引入highlightjs并初始化

1
2
3
4
5
6
7
<link rel="stylesheet" type="text/css" href="./highlight/atom-one-dark-reasonable.css">

// js部分
<script src="./highlight.js"></script>
<script>
    hljs.initHighlightingOnLoad();
</script>

需要高亮的代码部分

1
2
3
4
5
6
7
8
9
10
<pre>
  <code class='css'>
    *{
      margin:0;
      padding:0;
      list-style: none;
      font-family: "微软雅黑";
    }
  </code>
</pre>

效果图

仅仅是这样是不够的,比如如果是一段html,你会发现会被浏览器给解析,导致代码消失

1
2
3
4
5
6
7
8
9
10
<pre>
    <code class='javascript'>
        //组件中
        <template>
          <div class="hello">
            <v-chart ref="chart1" :options="option" :auto-resize="true"></chart>
          </div>
        </template>
    </code>
  </pre>

结果

解决方式

引用lodash库

1
2
3
4
5
6
7
8
9
10
11
<link rel="stylesheet" type="text/css" href="./highlight/atom-one-dark-reasonable.css">

// js部分
<!-- lodash建议使用v4以下版本,否则反转_.unescape方法不支持 -->
<script src="./lodash.min.js"></script>
<script src="./highlight.pack.js"></script>
<script>
  // obj.val(_.escape($content.val())); //转义
  // obj.val(_.unescape($content.val())); 反转
  hljs.initHighlightingOnLoad();
</script>

结果

推荐几套高亮主题

  • Atelier Seaside Dark
  • Atom One Dark Reasonable
  • Atom One Dark
  • Night Owl
  • Ir Black
  • Qtcreator Dark
  • An Old Hope
  • Atelier Dune Dark
  • 按照这些主题名去找到对应主题css引入进去即可,注意,该列出来的高亮主题名和实际css文件名大小写和格式有所不同,官方演示demo效果地址

在线一览

「三年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏

谢谢你请我吃鸡腿*^_^*

支付宝
微信
0

谢谢你请我吃鸡腿*^_^*

支付宝
微信

上一篇:

下一篇:

你可能感兴趣

0 条评论关于"highlight插件代码高亮-实现html转义-保留原始字符串换行格式"

博客简介

唯品秀博客: weipxiu.com,一个关注Web前端开发技术、关注用户体验、坚持更多原创实战教程的个人网站,愿景:成为宇宙中最具有代表性的前端博客,期待您的参与,主题源码 

精彩评论

  • 江吟辞(1周前 (06-29))

    好难坚持啊,我还没毕业,不知道啥时候才能像您一样厉害

    评:碎言碎语
  • 和我、恋爱吧(1周前 (06-29))

    怎么没见你更新呢,比较忙吗

    评:碎言碎语
  • 游离(1周前 (06-29))

    站主,你好!请教一下,前台的pc 端和移动端,你是怎么实现响应式的呢?媒体查询的同时写两套样...

    评:碎言碎语
  • 권지용(1周前 (06-29))

    最近在学习前端,看了博主很多文章,收益匪浅,感谢大佬

    评:碎言碎语
  • 白君也(1周前 (06-28))

    哇 自己制作的吗 在哪学的技术啊 好厉害

    评:碎言碎语
  • 管理员(3周前 (06-16))

    时间区间问题,因为目前是2020年,你所选不可能超出这个时间吧,当然,代码是根据你的业务来,...

    评:js时间戳完美转换成阴历农历格式

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 258 篇
  • 草稿数目: 0 篇
  • 分类数目: 16 个
  • 独立页面: 6 个
  • 评论总数: 902 条
  • 链接总数: 17 个
  • 标签总数: 459 个
  • 注册用户: 8220 人
  • 访问总量: 9213011 次
  • 最近更新: 2020年7月3日
服务热线:
 173xxxx7240

 QQ在线交流

 旺旺在线