Tofu
Tofu is the best food all around the world!


Google Syntax Highlighter for WordPress

昨晚试了几个语法高亮的插件,Google Syntax Highlighter for WordPress 还不错,除了有些小问题 =.=!

1, Google Syntax Highlighter for WordPress 的默认格式是

  1. <pre name="code" class"language">
  2.     code
  3. </pre>

可惜 pre 没的 name 属性 =.=!
找到 ../Scripts/shCore.js 第 364 行

  1. if(_73[i].getAttribute("name")==_71){

修改为

  1. if(_73[i].getAttribute("lang")==_71){

在调用的时候使用下面的格式

  1. <pre lang="code" class"language">
  2.     code
  3. </pre>

2, 另一个无语的地方是在 ../google_syntax_highlighter.php 中给 script 标签都加了 class 属性 =.=!

  1. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shCore.js"></script>
  2. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushCSharp.js"></script>
  3. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushPhp.js"></script>
  4. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushJScript.js"></script>
  5. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushJava.js"></script>
  6. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushVb.js"></script>
  7. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushSql.js"></script>
  8. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushXml.js"></script>
  9. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushDelphi.js"></script>
  10. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushPython.js"></script>
  11. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushRuby.js"></script>
  12. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushCss.js"></script>
  13. <script class="javascript" src="<?php echo $current_path; ?>Scripts/shBrushCpp.js"></script>
  14. <script class="javascript">
  15. dp.SyntaxHighlighter.ClipboardSwf = '<?php echo $current_path; ?>Scripts/clipboard.swf';
  16. dp.SyntaxHighlighter.HighlightAll('code');
  17. </script>

将所有的 class=”javascript” 都替换为

  1. type="text/javascript"

然后再去 W3C Validator 就能看到绿色了 =.=!

3, 默认是显示控制栏的,不喜,去掉
找到 ../Scripts/shCore.js 第 403 行

  1. _76.addControls=(_61==null)?!IsOptionSet("nocontrols",_7e):_61;

修改为

  1. _76.addControls=(_61==null)?IsOptionSet("controls",_7e):!_61;

在需要控制栏的时候可使用下面的格式

  1. <pre lang="code" class"language:controls">
  2.     code
  3. </pre>

  1. Notify 卡农 @

    原来真·话痨兄最近在折腾这些啊,我说怎么微博上看不到你了呢

Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).