tinymce编辑器
下图是博客园编辑器界面
1.查询HTML
写一篇文章实际上是构建了一个HTML网页,内容和格式都最终保存在这个HTML网页中。如果格式上有什么不确定的地方,都可以查询和修改HTML本身。你可以通过下面的“HTML”按钮来查看:
2. 插入代码
对于技术博客来说,代码插入是必不可少的一个环节。常规的博客编辑器通常都没有这个功能。博客园的插入代码算是比较齐全。值得注意的是“全部折叠”选项:
如果代码过长,而文章的重心又不在于分析代码,那么可以勾选这个选项。代码会隐藏成一个”View Code“的按钮,只有在点击之后才展开。这样,可以让读者专心于文章的脉络。读者快速浏览一遍之后,觉得还有兴趣的话,可以自行展开代码阅读,而不会在一开始的时候就被超长的代码吓走。
3. 格式与字体
格式
所谓的格式,实际上是html标签(tag)。比如,如果采用段落格式,那么内容就会被镶嵌在<p></p>的标签之间。再比如标题1,实际上是<h1>。你可以通过查询HTML源码来找出每种格式对应的标签。采用格式的好处是可以通过CSS来统一管理每一种标签所标示的内容。
字体
最值得推荐的字体是Courier New。它是等宽字体,每一个字符的宽度相同,所以上下两行很容易对齐,比如:
TomIDNumber = 10
VivIDNumber = 22
如果是非等宽字体,字符宽度根据字符形状发生变化,比如i会比较窄,而o会比较宽,所以上下两行很难对齐。比如Arial:
TomIDNumber = 10
VivIDNumber = 22
等宽字体是程序员的首选字体。
4. 关于颜色
每一个人都有自己的颜色喜好,有人会比较偏爱黑白的页面。但从认知心理学的角度来说,人们更容易阅读标出要点的段落和文字。特别是网络和电子阅读时代,彩色相对黑白没有额外的印刷成本,所以利用颜色标记值得一试。下划线、粗体、斜体也是相同的道理。 (在黑白印刷时代,人们惯用这三种方式来区分重点。你甚至可以在机械打字机上见到它们)。用这些标记方式的时候,最好可以在每篇博文中保持统一。比如可以用粗体表示命令,用斜体标记引用,用红色表示重点。这样,人们连续阅读同一个博客的时候不会觉得混乱。
CSS定制
管理 -> 设置 -> “通过CSS定制页面风”中,我们可以定制自己的CSS风格。这是很实用的功能。
添加功能的具体步骤是:
- 确保自己的博客园后台支持js
这个默认是不支持,需要在管理 -> 设置 -> JS权限,点击申请开通,写明申请理由。 - 到后台加入脚本
打开博客园后台,进入“设置”标签页,在”页面定制 CSS 代码“和“页脚Html代码”对应的编辑框粘贴你的js代码,然后点“保存”按钮保存。 - 按格式写文章
在写新博文的时候,注意按照你js脚本里设定的格式来划分章节,比如h2,h3等。当然,以前发布的文章如果有h2,h3之类,也会自动生成目录索引。
1.页面定制 CSS 代码
在编辑器部分,我们看到所谓的格式实际上是HTML标签。这些标签可以通过CSS定制来统一管理和控制。
脚本如下:
/* 广告屏蔽 */ #ad_t2 { display: none; } .c_ad_block { display: none; } /*背景颜色*/ body { background: rgba(12,100,129,1) url('https://www.cnblogs.com/images/cnblogs_com/MouHaoHao/1443195/o_2.jpg') fixed no-repeat; background-position: 50% 5%; background-size: cover; } /*左页签*/ #main { margin: 0 auto; width: 50%; height: 515px; background-color: rgba(245,245,245,0.7); padding: 10px; padding-left: 1%; padding-right: 1%; margin-top: 50px; margin-bottom: 200px; margin-left: 9%; box-shadow: 0 2px 6px rgba(100,100,100,0.3); float: left; overflow-y: scroll ; border-radius: 4px 4px 4px 4px; } /*文章*/ .postTitle { border-left: 8px solid rgba(121,169,232,1); margin-left: 220px; margin-bottom: 10px; font-size: 20px; float: right; width: 100%; clear: both; border-bottom: 1px dashed rgba(197,197,197,1.00); border-top: 1px solid rgba(119,119,119,1.00); } .postTitle a:link, .postTitle a:visited, .postTitle a:active { color: rgba(94,142,234,1.00); transition: all 0.4s linear 0s; } .postTitle a:hover { margin-left: 30px; color: #0f3647; text-decoration: none; } .postCon { float: right; line-height: 1.5em; width: 100%; clear: both; padding: 10px 0; } .post { margin-top: 15px; box-shadow: 0 2px 6px rgba(100,100,100,0.3); } .c_b_p_desc { /*background: url(images/posted_time.png) no-repeat 0 1px;*/ color: #757575; float: left; width: auto; clear: both; text-align: left; font-family: "微软雅黑","宋体","黑体",Arial; font-size: 13px; padding-right: 20px; margin-top: 20px; line-height: 1.8; padding-bottom: 35px; } .cnblogs_code { background: rgba(255,255,255,0) } .cnblogs_code div { background: rgba(255,255,255,0) } .cnblogs_code_toolbar { background: rgba(255,255,255,0) } img { max-width: 80%; } /*右页签*/ #rightmenu { margin: 0 auto; width: 25%; height: 515px; background-color: rgba(245,245,245,0.7); padding: 10px; padding-left: 1%; padding-right: 1%; margin-top: 50px; margin-bottom: 50px; margin-right: 9%; box-shadow: 0 2px 6px rgba(100,100,100,0.3); float:right; overflow-y: scroll ; overflow-x: auto; border-radius: 4px 4px 4px 4px; } #rightmenu h3 { background-color: rgba(121,169,232,1); margin-bottom: 0px; padding-left: 15px; } #footer { display: none; } /*博客名*/ #header { height: 100px; clear: both; color: rgba(245,245,245,0); } #header h1 { font-size: 36px; font-weight: bold; line-height: 1.8em; margin-top: 10px; width: 150px; float: left; } #tagline { float: right; display: block; } /*隐藏反对*/ .buryit { display: none } .diggit { float: right } /*隐藏链接下划线*/ a:link {text-decoration:none;} a:visited {text-decoration:none} a:hover {text-decoration:none} a:active {text-decoration:underline} /*导航*/ #my_links { height: 120px; box-shadow: 0 2px 6px rgba(100,100,100,0.3); margin-bottom: 15px; } #my_links h3 { float: left; height: 120px; width: 20px; text-align: center; word-break: break-all; margin-bottom: 0px; margin-top: 0px; padding-left: 0px } #my_links ul { padding-left: 0px; float: right; display: block; width: 150px; list-style-type: none; margin-bottom: 0px; margin-top: 0px; } #my_links a:link, #navList a:visited, #navList a:active{ color: #000; font-size: 18px; font-weight: bold; } /*copytight*/ #my_footer { text-align: center; float: right; width: 20%; padding: 0px; margin: 40%; margin-top: 0px; margin-bottom: 0px; } /*右侧列表样式*/ #rightmenu ul li { margin-left: 15px; } /*日历*/ #blogCalendar { border:1px solid rgba(121,169,232,1); background-color: white; box-shadow: 0 2px 6px rgba(100,100,100,0.3); } /*蓝色标题*/ #cnblogs_post_body h3 { border-left: 5px solid #21759b; border-right: 5px solid #21759b; background: transparent url(http://images.cnblogs.com/cnblogs_com/Renyi-Fan/1188097/o_11.png) repeat scroll 0% 0%; /* background: linear-gradient(-30deg, rgb(241, 226, 198), rgb(242, 226, 198) 30%, rgb(243, 227, 198) 60%, rgb(244, 230, 189) 100%); */ border-radius: 6px 6px 6px 6px !important; font-size: 16px; font-weight: bold; height: 22px; line-height: 22px; padding: 5px 0 3px 15px; box-shadow: 0 0 0 1px #5F5A4B, 0px 0px 6px 0px rgba(10, 10, 0, 0.5); } #cnblogs_post_body h1 { font-size: 250%; color: #8888FF; /* box-shadow: 0 0 0 1px #5F5A4B, 0px 0px 6px 0px rgba(10, 10, 0, 0.5); */ text-shadow: 1px 1px 1px #222222; /* padding: 5px 0 5px 20px; */ margin:0px 0px 15px 0px; } #cnblogs_post_body h4 { border-left: 3px solid #8888FF; border-right: 3px solid #8888FF; border-radius: 4px 4px 4px 4px !important; background: #00dd99; color: #8888FF; padding: 3px 0 3px 18px; font-size: 14px; font-weight: bold; height: 17px; line-height: 17px; } #cnblogs_post_body h5 { border-left: 3px solid #00dd99; color: #FB02F9; padding: 3px 0 3px 21px; font-size: 12px; font-weight: bold; height: 14px; line-height: 14px; } #cnblogs_post_body h2 { background: #2B6695 !important; border-radius: 6px 6px 6px 6px !important; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑", "宋体", "黑体", Arial; font-size: 17px; font-weight: bold; height: 25px; line-height: 25px; margin: 15px 0 !important; padding: 5px 0 5px 20px; text-shadow: 2px 2px 3px #222222; }
2.定制公告、页首、页脚HTML代码
在管理 -> 设置中,这三者可以添加自己想要显示的HTML元素。
脚本如下:
<script language="javascript" type="text/javascript"> // 生成目录索引列表 // ref: http://www.cnblogs.com/wangqiguo/p/4355032.html // modified by: zzq function GenerateContentList() { var mainContent = $('#cnblogs_post_body'); var h2_list = $('#cnblogs_post_body h2');//如果你的章节标题不是h2,只需要将这里的h2换掉即可 if(mainContent.length < 1) return; if(h2_list.length>0) { var content = '<a name="_labelTop"></a>'; content += '<div id="navCategory">'; content += '<p style="font-size:18px"><b>目录</b></p>'; content += '<ul>'; for(var i=0; i<h2_list.length; i++) { var go_to_top = '<div style="text-align: right"><a href="#_labelTop">回到顶部</a><a name="_label' + i + '"></a></div>'; $(h2_list[i]).before(go_to_top); var h3_list = $(h2_list[i]).nextAll("h3"); var li3_content = ''; for(var j=0; j<h3_list.length; j++) { var tmp = $(h3_list[j]).prevAll('h2').first(); if(!tmp.is(h2_list[i])) break; var li3_anchor = '<a name="_label' + i + '_' + j + '"></a>'; $(h3_list[j]).before(li3_anchor); li3_content += '<li><a href="#_label' + i + '_' + j + '">' + $(h3_list[j]).text() + '</a></li>'; } var li2_content = ''; if(li3_content.length > 0) li2_content = '<li><a href="#_label' + i + '">' + $(h2_list[i]).text() + '</a><ul>' + li3_content + '</ul></li>'; else li2_content = '<li><a href="#_label' + i + '">' + $(h2_list[i]).text() + '</a></li>'; content += li2_content; } content += '</ul>'; content += '</div><p> </p>'; content += '<p style="font-size:18px"><b>正文</b></p>'; if($('#cnblogs_post_body').length != 0 ) { $($('#cnblogs_post_body')[0]).prepend(content); } } var qqinfo = '<p style="color:navy;font-size:12px">讨论QQ群:275729032</p>'; $(mainContent[0]).prepend(qqinfo); } GenerateContentList(); </script>
参考资料
1.https://www.cnblogs.com/xyfll7/p/7551413.html
2.https://www.cnblogs.com/csyzlm/p/11677190.html
3.https://www.cnblogs.com/zzqcn/p/4657124.html