zoukankan      html  css  js  c++  java
  • 博客园中实现代码高亮

    本文目的:在博客园中引入sublime样式的代码高亮效果。
    话不多说,先上效果图:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>helloWorld</title>
        <style>
            div{
                text-align: center;
                font-size: 20px;
            }
        </style>
    </head>
    <body>
        <div id="hello">hello</div>
    </body>
    <script>
        var oDiv=document.getElementById('hello');
        oDiv.onclick=function(){
            alert('hello world!');
        }
    </script>
    </html>
    

    从上图可以看出,虽然和sublime中看到的有细微差别,不过大体还是比较像了。
    接下来说说做法,实现方式其实很简单,但中间还是有一些坑:

    1.引入hightlight.js的sublime皮肤

    highlight.js官网
    highlight.js是用在html中实现代码高亮的一个插件,这里我们只是为了获得sublime的CSS样式,因此
    不用看官方文档的usage!
    不用看官方文档的usage!
    不用看官方文档的usage!

    进入官网后点击get version:

    可以在这个页面选择编程语言

    这里都不重要,直接点击下方的download按钮,在下载得到的文件里面找到monokai-sublime.css

    把里面的内容复制一下,放入博客园后台管理-设置-页面定制CSS代码当中

    注意一定要在CSS文件的.hljs前面加上.cnblogs-markdown,不然样式会失效

    至此,完成了第一小步

    2.使用markdown编辑器

    第1步使用的CSS样式,只有在markdown编辑器的模式下才会生效,因此想要通过这种方法实现代码高亮,只有使用markdown编辑器来编辑博客内容。

    操作方法: 管理--选项--将默认编辑器选为markdown

    然后在编辑代码块的时候,前后加上 ``` 就大功告成了

    由于我们引入的样式和博客园的默认样式会有所冲突,因此需要调整我们放到页面定制CSS代码中的CSS,比如加一些 !important,改一些具体颜色等等。这个可以自己按F12,点到对应元素看看,是哪些元素的样式有冲突。

    我个人使用的CSS样式如下:

    /*
    
    Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/
    
    */
    
    .cnblogs-markdown .hljs {
      display: block;
      overflow-x: auto;
      padding: 0.5em;
      background: #23241f !important;
      color:white;
      font-size:16px !important;
    }
    
    .hljs,
    .hljs-tag,
    .hljs-subst {
      color: #f8f8f2;
    }
    
    .hljs-strong,
    .hljs-emphasis {
      color: #a8a8a2;
    }
    
    .hljs-bullet,
    .hljs-quote,
    .hljs-number,
    .hljs-regexp,
    .hljs-literal,
    .hljs-link {
      color: #ae81ff;
    }
    
    .hljs-code,
    .hljs-title,
    .hljs-section,
    .hljs-selector-class {
      color: #a6e22e;
    }
    
    .hljs-strong {
      font-weight: bold;
    }
    
    .hljs-emphasis {
      font-style: italic;
    }
    
    .hljs-keyword,
    .hljs-selector-tag,
    .hljs-name,
    .hljs-attr {
      color: #f92672;
    }
    .hljs-keyword,.hljs-built_in{
      color:#66d9ef;
    }
    
    .hljs-symbol,
    .hljs-attribute {
      color: #66d9ef;
    }
    
    .hljs-params,
    .hljs-class .hljs-title {
      color: #f8f8f2;
    }
    
    .hljs-string,
    .hljs-type,
    .hljs-builtin-name,
    .hljs-selector-id,
    .hljs-selector-attr,
    .hljs-selector-pseudo,
    .hljs-addition,
    .hljs-variable,
    .hljs-template-variable {
      color: #e6db74;
    }
    
    .hljs-comment,
    .hljs-deletion{
      color: #75715e;
    }
    
    .hljs-meta{
      color: #f92672;
    }
    

    至此,彻底大功告成。

  • 相关阅读:
    Python爬取豆瓣电影top
    那些年我们踩的坑,依然有人在踩坑
    工行ICBC_WAPB_B2C支付接口
    SharePoint2016配置工作流开发环境
    Html+Css实现梯形选项卡
    The Ribbon Tab with id: "Ribbon.Read" has not been made available for this page or does not exist.
    SharePoint自动初始化网站列表
    常用的SharePoint命令行代码
    SharePoint开启错误提示
    Asp.Net写入读取Xml(处理文件权限)
  • 原文地址:https://www.cnblogs.com/60late/p/9099156.html
Copyright © 2011-2022 走看看