Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Best Weblog Application for Posting Source Code?

Posted by Cliff on Thu Oct 12, 2006 04:30 AM
from the if-only-html-could-indent-properly dept.
BrewerDude asks: "I've set up a blog about programming (URL withheld: this isn't about self-promotion). I'm currently using one of the popular blog hosting services, but find it lacking when it comes to handling source code snippets in posts. It's even worse when it comes to dealing with code snippets that people include in their comments. At this point I'm frustrated enough that I'm ready to move from that service to something else. Ideally, I'm looking for something that will handle syntax highlighting for a variety of languages and do this for both the posts and the comments. I'd prefer a hosted solution, but am not opposed to installing and maintaining my own instance of a blog application if necessary. What have you found to be the best blog application when it comes to supporting posts and comments that include source code?"
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Google... (Score:3, Informative)

    by jginspace (678908) on Thursday October 12 2006, @04:44AM (#16405623) Homepage Journal

    Top result: http://www.google.com/search?q=coding+blog [google.com] is powered by something I'd never heard of called Community Server http://communityserver.org/ [communityserver.org].

    I'm currently using one of the popular blog hosting services, but find it lacking when it comes to handling source code snippets in posts.

    I can see what you mean after swiftly browsing some of the other sites that came near the top of the above search... I would have thought WordPress would have a plugin though...

    • I've heard of Community Server, as it also powers The Daily WTF [thedailywtf.com].

      Unfortunately, the readers of the site are generally of the opinion that "The real WTF is this forum software" [alltheweb.com] because "the forum software sucks" [alltheweb.com]...

      For what it's worth, it appears to be great as a blogging tool; Alex seems to like the way it works for the blogging functions, but the forum functions are what are generally found to be "quirky"...
    • Community server is above average for displaying code (compared to most blogging softwares who don't give you much more than "here's your <pre> tag now leave us alone"), but it's a piece of crap for everything else. The default style is ugly, the comment system is annoying, and there is far too much javascript involved (even though since version 2 you can actually try to use it with javascript disabled, would've been a pipe dream with CS 1)
    • I would have thought WordPress would have a plugin though...


      Scott Reilly's Preserve Code Formatting plugin [coffee2code.com] is working fine for me with WordPress 2.0.4.
  • #include <stdio.h>

    void main()
    {
        printf ("only joking!\n");
    }
    • Re:use slashcode (Score:4, Insightful)

      by quigonn (80360) on Thursday October 12 2006, @06:50AM (#16406227) Homepage
      I gues you wanted to use one of the actually allowed signatures of the main function:

      int main(void) { }
      int main(int argc, char * argv[]) { }
      • Back when I was writing C I never had a problem with void, sure it might be technically incorrect but back then I didn't care.
        My compiler was happy, my programs worked and I only ever used the int return when I needed to.
        • Back when I was writing C I never had a problem with void, sure it might be technically incorrect but back then I didn't care.
          My compiler was happy, my programs worked and I only ever used the int return when I needed to.


          Men have been shot for less than that. (Seriously, never admit that in comp.lang.c )
      • "or some other implementation-defined manner" (ISO/IEC 9899:1999 (E), s. 5.1.2.2.1 "Program startup")

        Maybe the guy is writing code for some weird embedded OS? ;)

      • Slashdot is a discussion board, but it has blogging features due to the journals each person can post (in the zoo).
        Its got all the elements of a freidnster type social networking site (with friends and foes and private discussions etc).

        Its like web 2.0 without the chunky graphics.
          • ...and updating a frame with javascript is an idea dating back to the later part of the last decade (a terrible idea even back then).

            Not that I doubt your analytical abilities (whoever you may be), but what makes updating a frame (or div, or whatever else you might need to update) with javascript a terrible idea? What's the better alternative?

            If you're specifically talking about frames, I'd tend to say that frames are a bad idea in and of themselves, but I'm wondering what you mean specifically.

  • DokuWiki (Score:5, Informative)

    by bigpresh (207682) <davidp AT preshweb DOT co DOT uk> on Thursday October 12 2006, @04:55AM (#16405663) Homepage
    It's not a blog service/package per se (although there are some blogging-type plugins for it) but I find DokuWiki [splitbrain.org] to be excellent at handling code snippets with decent syntax highlighting, and easy to use.

    An example bit of code can be done as easily as:

    <code perl>
    # some code here
    </code>
    • I absolutely second DokuWiki. I've used it in several projects and it's incredibly easy to work with, and requires no database. I've set it up a few times as a beginner Wiki as well.
  • by halfnerd (553515) on Thursday October 12 2006, @04:59AM (#16405681) Homepage
    Ikiwiki ( http://ikiwiki.kitenet.net/ [kitenet.net] ) is a really extendable wiki/blog-software and you could write a plugin in the style of Trac's Syntax Coloring support ( http://trac.edgewall.org/wiki/TracSyntaxColoring [edgewall.org] )
  • by bigHairyDog (686475) on Thursday October 12 2006, @05:01AM (#16405687)
    Dean Edwards' javascript syntax highlighter handles several languages (you can easily add your own) and operates via DHTML behaviors so you don't even need to include the script files in the page. It works in most browsers.

    http://dean.edwards.name/my/examples/star-light/ [edwards.name]

    What you need to use it is a blog that will let you post files to the server or create your own custom HTML templates, and then let people post HTML code. Code wrapped in <pre class="javascript"> gets highlighted correctly.

    If you can't post files, a bit of hacking around with the source code and you can embed it in a template and invoke it manually with javascript.

    Wordpress lets you post your own HTML templates with script - either install it on your own server or go for their free hosted service at wordpress.com.
  • I use Blogger [blogspot.com] and I've found that I have no problem communicating in code. Syntax hilighting for different languages? Uhh no, but maybe if you recommended it to Google they'd do it as a summer of code project or something. In any case, I bet my blog is way geekier than yours!
  • by Kawahee (901497) on Thursday October 12 2006, @05:12AM (#16405725) Homepage Journal
    You know, as a programmer, you could write it yourself...
    • Re: (Score:2, Informative)

      Why reinvent the wheel if it's already available?
    • Re: (Score:3, Informative)

      You know, as a programmer, you could write it yourself...

      Oh, absolutely. As a programmer, I say it is his SACRED DUTY to uphold the tradition of Not Invented Here! ;-)
    • Kawahee, you must not be a programmer. If you were, you would know that one of the key aspects of an effective programmer is laziness. Developers manifest this quality by spending inordinant hours researching (or less successfully asking /.), downloading and testing various tools built by other programmers in order to find the 'right thing'. If, and only if they can not find a tool that does a very high percentage of what they want, then they will break down and spend the time to build it themselves. Mo
  • Syntax highlighter (Score:3, Informative)

    by ricardo_nz (917753) on Thursday October 12 2006, @05:13AM (#16405727) Journal
    Not sure about a decent blog... but for highlighting code, geshi [qbnz.com] does a nice job.
    • I've started to use geshi and find it to be very nice. There is a plugin available for serendipity [s9y.org] and probably for a number of other blog apps. One problem I've noted though, is that geshi can be very slow. Sometimes it takes 10-20 seconds to render a large ugly html file. On the other hand, I've noticed sometimes it only takes a few seconds. If you store the marked up code in the blog app instead of re-marking it up for every request, the delay probably won't be a major concern.
    • Geshi under drupal would be best, it handles highlighting VERY well and also does comments.
  • Not a blog, but... (Score:3, Interesting)

    by Masa (74401) on Thursday October 12 2006, @05:21AM (#16405749) Journal
    Well, I faced a similar need some time ago. I ended up using MoinMoin [wikiwikiweb.de]. I know, it's not a blogging software, it's a wiki, but in my case it does the job. There might be some other choices available at the wiki-front, but MoinMoin has syntax-colorisation for some programming languages built-in (Python, C, SH scripts if I remember correctly, I had a need for Python only).
  • If you're using Visual Studio and you want your code snippits to look like they do in the IDE then I highly recommend the Copy Source as HTML [jtleigh.com] plugin. It takes your code and produces a very clean HTML copy, correctly indented and colored, which you can then paste into your post.

    You can see an example of it in a blog post here [newtonsoft.com].
  • How about some plain-old-text displayed using fixed size font?
  • I think http://pastecode.com/ [pastecode.com] is what you are looking for
  • Wordpress is a great option.
  • vim + nanoblogger (Score:3, Informative)

    by Phoe6 (705194) on Thursday October 12 2006, @06:55AM (#16406275) Homepage Journal
    Here is what I do it, using nanoblogger [sf.net] and using vim as my editor. I wouuld rely on vim Syntax handling ablities and covert the portion of the code into :TOHtml.
  • by yelvington (8169) on Thursday October 12 2006, @06:59AM (#16406295) Homepage
    Drupal and the codefilter module will do a good job of supporting basic code entry in any arbitrary language. If you want robust support for highlighting for multiple languages, take a look at GeSHIFilter.

    http://drupal.org/ [drupal.org]
    http://drupal.org/project/codefilter [drupal.org]
    GeSHIFilter: http://drupal.org/node/65961 [drupal.org] and demo: http://www.ubisum.com/node/27 [ubisum.com]

    • Check out how code highlighting [drupal.org] looks in Drupal.

      PHP can be entered with <?php to start, other languages can be wrapped in <code> with codefilter. I haven't tried GeSHIFilter, but parent is right that it seems to add highlighting to the rest of the languages.
  • You're talking about Blogger, right? Its Composer is sort of OK for anything but source code. When you do want to use it for code, it reveals its donkey-penis-sucking nature. I tried every which way, but it is so amazingly dumb that it will turn &gt; into >, and then choke on the spurious HTML-esque tags that are created.

    How did I get around this limitation? I turned off "Turn new lines into <br>" in the prefs, and edited the post in HTML mode (I didn't ever click on the Composer or Preview
  • I've definitely seen a code highlight plugin for WordPress, but as I can't find it.. you could always write your own. WordPress is pretty ubiquitous now, writing plugins is simple, and it'd just be a call to a highlighting library for any code within <code> tags.
    • Wordpress plugins are easy, but not incredibly powerful. The company I'm working for just recently jumped from b2evolution to Wordpress, and then to Drupal. It looks like we'll actually stick with Drupal.
  • WordPress is brutal with HTML. It treats < as a tag delimiter, &lt; as a tag delimiter. The numeric entity &#60; (I think) is the only one it won't explode into a raw character. Blogger is much easier to do code in. < by itself is treated as HTML but &lt; works. For what it's worth.
  • If you really need the outputted HTML files inline on the page, you can just use a bit of regex to chop off the HTML header.
  • Wordpress has a plugin that uses some vim magic to syntax highlight code.

    It may be computationally expensive (I dunno), but there's always the wordpress caching plugin as well. ;)

  • Emacs Muse (Score:3, Informative)

    by rpdillon (715137) on Thursday October 12 2006, @01:41PM (#16411789) Homepage
    I just killed my Wordpress install over at Etherplex in favor of Emacs Muse [mwolson.org]. If you are an Emacs user already, Muse is a snap to use, and is a general document generator that can output to LaTeX, HTML, RDF, RSS and something called journal-html, which is designed specifically for blogs and is designed to be styled by a custom CSS. You can see the results over at my site.

    If you want to see the source file in emacs that generated that, check out the muse source [etherplex.org] for my site. Keep in mind that when using it in Emacs, the markup doesn't actually appear - it is converted to the proper fonts on-the-fly in Emacs.

    In this context, the use of htmlize [fej0wr.hr] is perfect for generating an HTML form of your code buffer from emacs. Whatever your color scheme, htmlize will pick up the colors and use them to generate the HTML. If you're not publishing an entire page, I suggest you set htmlize to use the "font" method for generating html that can be used without corresponding matching CSS. If you use Emacs color-theme [emacswiki.org] package, the theme "BlippBlopp" produces good results for publishing on the web.

    The only thing this system lack that I care about is comments, but since no one reads my blog, its not that big of an issue. I installed SimpleMachine's SMF [simplemachines.org] for blog comments and other forum needs. Vanilla [getvanilla.com] may also be a good choice.

    Finally, it's worth mentioning that I can then edit my site from anywhere via Tramp mode [emacswiki.org] in Emacs, which allows seamless file editting on remote servers over SSH. This way, I can edit my site from my laptop on the road, or my deskktop at home without worrying about having the code with me. Muse will then publish remotely as well (though there seems to be a bug with RSS generation and Tramp that I need to work out).

  • Why not find blogging software that can handle user-entered HTML snippets and use something like colorer [sourceforge.net] (one of a few out there) to generate HTML from code. If the blogging package also gave you the ability to add an iframe in your story, you could also point that at a web CVS/SVN repository viewer that has syntax coloring (most do) for the cases where you're posting the code of a source file rather than a snippet.

    This kind of solution is likely to be much cleaner and give you better results than looking
  • If you do not mind hosting your own solution, the look into installing Drupal [drupal.org] and the GeSHiFilter [drupal.org] module.

    You can also get a pre-hosted account at Bryght [bryght.com], but it is not free like other blogging services.

    Disclaimer: I am a contributor to the Drupal project.
  • Worked great for John Carmack and Brian Hook!
  • TWiki (http://twiki.org/) has plugins that handle source code formatting (see http://twiki.org/cgi-bin/view/Plugins/SourceHighl i ghtPlugin [twiki.org] and http://twiki.org/cgi-bin/view/Plugins/SyntaxHighli ghtingPluginDev [twiki.org]) and others provide blog features (http://twiki.org/cgi-bin/view/Plugins/BlogPlugin looks pretty good). (Some tweaking required for the syntax highlighting plugins to work with latest TWiki version).

    TWiki's generally great for intranet collaboration as it has good revision tracking, WYSIWYG editing (