(Note: This article is somewhat dated because SyntaxHighlighter 2.0
was released in February 2009. However, this article is still valid
for those who prefer the older 1.5.x version or who don't want to
upgrade)
As we all know, any self-respecting blogger needs some kind of
syntax-highlighting plug-in before posting source code on a blog. I've
been amiss in this regard, but decided it was high time to correct this
particular deficiency.
From doing a little web searching, it looks like the favorite choice is a Java script tool called syntaxhighlighter.
As of this writing, syntaxhighlighter hasn't been updated since
version 1.5.1 was release in August 2007. It's been surprisingly robust
all this time, except that it appears to have some trouble with
scrollbars in the more recent Firefox versions, and Safari can be pegged
at 100% CPU utilization. Also, the documentation is a little sparse.
That said, here are the steps I followed to make syntax highlighting
work with Blogger (the host for this blog) using the syntaxhighlighter
suite of javascript and css code.
In the blogger back end (reachable by logging into your blog and
clicking "New Post" or "Customize", or other methods), click the"Layout"
tab, then the "Edit HTML" sub-tab. Within the textbox within the "Edit
Template" section, do the following:
1. Go to http://syntaxhighlighter.googlecode.com/svn/trunk/Styles/SyntaxHighlighter.css, then perform a "select all" and "copy". The css information is now in the clipboard.
2. Paste the css information at the end of the css section of your blogger html template (i.e., after <b:skin><!--[CDATA[/* and before ]]--></b:skin>).
3. [Updated March 25, 2009 to include closing script tags] Before the </head> tag, paste the following:
- <!-- Add-in CSS for syntax highlighting -->
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shCore.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCpp.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCSharp.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCss.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushDelphi.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJava.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJScript.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPhp.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPython.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushRuby.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushSql.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushVb.js' type='text/javascript'></script>
- <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushXml.js' type='text/javascript'></script>
4. [Updated to add final /script] Before the
</body> tag, insert the following:- <!-- Add-in Script for syntax highlighting -->
- <script language='javascript'>
- dp.SyntaxHighlighter.BloggerMode();
- dp.SyntaxHighlighter.HighlightAll('code');
- </script>
5. Use the "Preview" button to make sure your website is correct, then click "Save Template".
6. When composing a blog entry that contains source code, click the "Edit Html" tab and put your source code (with html-escaped characters) between these tags:
- <pre name="code" class="cpp">
- ...Your html-escaped code goes here...
- </pre>
Substitute "cpp" with whatever language you're using (full list). (Choices: cpp, c, c++, c#, c-sharp, csharp, css, delphi, pascal, java, js, jscript, javascript, php, py, python, rb, ruby, rails, ror, sql, vb, vb.net, xml, html, xhtml, xslt)
For performing the HTML escaping, you can get a good list of tools by searching for 'html esaper' or a similar term. Here's the one I used while writing this post.
Let me know how it works!


11:12 AM
Unknown



0 comments:
Post a Comment