Update on the Gitorious UI refurbish

TL;DR: You can use Dolt now (scroll to the bottom of this post), and we’ll start integrating it in Gitorious mainline next week.

Some of you are anxiously awaiting the UI upgrades we announced in August, so I thought I’d provide a quick update.

As previously announced, I’m currently working on a new code browser, called Dolt. Because we’re redoing not only the UI part of the code browser, but essentially the whole thing, this has taken sore more time than expected.

Dolt is nearing completion of its initial version. It now supports syntax highlighted blobs, tree browsing, blame, file history and raw blobs. Oh, and markup rendering (e.g. for Readme files). The remaining pieces are things like a branch/tag selector, loading in commit data in the tree browser and other “minor” things.

Because I will be teaching a course for the rest of this work, I don’t expect Dolt to be “done” (as in phase 1 done) until next week. When that happens, I will start working on removing the existing code browsing code in Gitorious, and integrating Dolt in its place.

For those of you interested in taking a look, you can easily use Dolt locally now. All you need is to have Ruby installed.

# Install
gem install dolt

# Run on a git repository
dolt .

If you want your markdown-formatted readme-files to be rendered as HTML, you also want the redcarpet gem:

gem install redcarpet

Other markup formats, such as the ever awesome org-mode, are supported the same way:

  • .textilegem install RedCloth
  • .rdocgem install rdoc -v 3.6.1
  • .orggem install org-ruby
  • .creolegem install creole
  • .mediawikigem install wikicloth
  • .rsteasy_install docutils
  • .asciidocbrew install asciidoc
  • .podPod::Simple::HTML
    comes with Perl >= 5.10. Lower versions should install Pod::Simple from CPAN.

See also the GitHub markup docs.


  1. cweiske
    Posted September 25, 2012 at 6:11 pm | Permalink

    – There is no way to get back to the main screen when you’re in a directory
    – No changed/last commit info in the browse table
    – empty lines are “doubled” in the highlighted code
    – HTML preview is absolutely broken; it tries to render it

  2. Christian Johansen
    Posted September 25, 2012 at 7:45 pm | Permalink

    Thanks for the feedback!

    – You can click the logo to get back, but I agree it would be nice if it was more obvious :)
    – History in the tree hasn’t been made yet. Doing it early next week.
    – Examples of code where empty lines are doubled? Haven’t seen this myself
    – Screenshot showing the broken HTML rendering? On my machine(TM) I get highlighted source markup :) I suspect the set of installed gems may make a difference here. In any case, the API allows you fine-grained control over these things, I’ll document that eventually.

  3. cweiske
    Posted September 25, 2012 at 9:07 pm | Permalink

    Empty lines are doubled in every file. Very obvious in the changelog. This happens in Chromium 18 and Opera 12:

    HTML rendering:

  4. Christian Johansen
    Posted September 26, 2012 at 8:37 pm | Permalink

    @cweiske thanks! I’ve fixed these two issues and released an update. If you find more like this (you probably will), keep ’em coming :)

  5. Patrice Bouillet
    Posted September 27, 2012 at 7:16 am | Permalink

    Great work so far!

    I encountered one issue: Opening some ‘.’ or image files results in either an error page or a complete shutdown. The stacktrace I got if the server crashed was:
    /var/lib/gems/1.8/gems/dolt-0.2.2/lib/dolt/sinatra/actions.rb:33:in `error’: undefined method `exit_code’ for # (NoMethodError)
    from /var/lib/gems/1.8/gems/dolt-0.2.2/lib/dolt/sinatra/actions.rb:46:in `blob’
    from /var/lib/gems/1.8/gems/dolt-0.2.2/lib/dolt/repo_actions.rb:69:in `call’
    from /var/lib/gems/1.8/gems/dolt-0.2.2/lib/dolt/repo_actions.rb:69:in `repo_action’
    from /var/lib/gems/1.8/gems/eventmachine-1.0.0/lib/em/deferrable.rb:158:in `call’

    If the server didn’t crash, I got the following information:
    NameError at /blob/master:inspectIT/.project
    uninitialized constant Dolt::View::SyntaxHighlight::RubyPython
    file: syntax_highlight.rb location: highlight line: 26

    Maybe I’m missing a gem or something like that?

  6. cweiske
    Posted September 27, 2012 at 8:54 am | Permalink

    – Highlighting for .htm files does not work anymore
    – Images are displayed as text, e.g. “GIF89a��������������”

  7. Posted September 30, 2012 at 10:13 am | Permalink

    HTML preview still not working. I tried to insert screenshot url here, but got ‘spam’ error. How can i send you screnshot?

  8. Christian Johansen
    Posted September 30, 2012 at 11:28 am | Permalink

    Erik: HTML fix hasn’t been released yet. I’m working on this tomorrow, and have collected a list of todos from this thread. Feel free to keep reporting new things.

  9. Christian Johansen
    Posted October 1, 2012 at 12:58 pm | Permalink

    Version 0.3.0 is out. Fixes htm files, binary blobs and images.

  10. Christian Johansen
    Posted October 1, 2012 at 2:35 pm | Permalink

    Aaaand, pushed 0.3.1 as well – it includes the ref selector, which allows for browsing tags/branches and arbitrary refs. Also fixed proper error handling. That should be everything reported so far, except for history in the tree and a proper link to the root directory – will work on these tomorrow.

One Trackback

  1. By UI upgrade and Rails 3 « The Gitorious Blog on October 26, 2012 at 2:39 pm

    […] you’ve been following along, I’m sure you have seen our new repository browser. Dolt, as a stand-alone tool to browse source code, view Readme’s and more, is more or less […]

%d bloggers like this: