博客逐步迁移至 极客兔兔的小站javascript
以前使用过有道云笔记和为知笔记,后来偶然喜欢上用Markdown写文档。被Markdown的简洁与大气所折服,所以抛弃了有道云,专心使用为知笔记,这样github上的文档和笔记都能统一块儿来了。最后索性把园子的编辑器改成Markdown了。css
可是园子里的Markdown渲染效果和为知笔记、github上的比起来不够美观,所以决心改造园子的Markdown样式。html
CSS
,而且进行了修改,CSS
的修改方在此就不赘述了,右键->审查元素便可。/*部分代码以下*/ .cnblogs-markdown a { background: transparent; } .cnblogs-markdown a:active, .cnblogs-markdown a:hover { outline: 0; }
setCodeRow: function(){ // 代码行号显示 var pre = $("pre.sourceCode"); //选中须要更改的部分 if(pre && pre.length){ pre.each(function() { var item = $(this); var lang = item.attr("class").split(" ")[1]; //判断高亮的语言 item.html(item.html().replace(/<[^>]+>/g,"")); //将<pre>标签中的html标签去掉 item.removeClass().addClass("brush: " + lang +";"); //根据语言添加笔刷 SyntaxHighlighter.all(); }) } }
setCopyright: function() { /* 设置版权信息,转载出处自动根据页面url生成 * window.location.href:读取当前url */ var info_str = '<p>做者:<a>@geektutu</a><br>'+ '本文为做者原创,转载请注明出处:<a class="uri"></a></p><hr></hr>', info = $(info_str), info_a = info.find("a"), url = window.location.href; $(info_a[0]).attr("href","https://github.com/geektutu"); $(info_a[1]).attr("href",url).text(url); $("#cnblogs_post_body").prepend(info); }, setContent: function() { // 根据h二、h3标签自动生成目录 var captions_ori = $("#cnblogs_post_body h2"), captions = $("#cnblogs_post_body h2,#cnblogs_post_body h3").clone(), content = $("<blockquote><h4>目录</h4></blockquote>"); $("#cnblogs_post_body").prepend(content.append(captions)); var index = -1; captions.replaceWith(function(){ var self = this; if(self.tagName == "H2" || self.tagName == "h2"){ // 设置点击目录跳转 index += 1; $('<a name="' + '_caption_' + index + '"></a>') .insertBefore(captions_ori[index]); return '<a href="#_caption_' + index + '"><strong>' + self.innerHTML + '</strong></a><br>'; } else { return self.innerHTML + "<br>"; } }); },
runAll()
中删去不须要的方法便可var setMyBlog = { setCopyright: function() { // 设置版权信息,转载出处自动根据页面url生成 // ... }, setCodeRow: function(){ // 代码行号显示 // ... }, setAtarget: function() { // 博客内的连接在新窗口打开 // ... }, setContent: function() { // 根据h二、h3标签自动生成目录 // ... }, runAll: function() { // 运行全部方法 this.setAtarget(); this.setContent(); this.setCopyright(); this.setCodeRow(); } } setMyBlog.runAll();