def to_markdown
      lines = @bare_content.split("\n")
      markdown = ""

      # Using `while` here so we can alter the collection at will
      while current_line = lines.shift
        # If we got us some of them bird tracks...
        if current_line =~ BIRD_TRACKS_REGEX
          # Remove the bird tracks from this line
          current_line = remove_bird_tracks(current_line)
          # Grab the remaining code block
          current_line << slurp_remaining_bird_tracks(lines)

          # Fence it and add it to the output
          markdown << "```haskell\n#{current_line}\n```\n"
        else
          # No tracks?  Just stick it back in the pile.
          markdown << current_line + "\n"
        end
      end

      markdown
    end
def to_markdown
      lines = @bare_content.split("\n")
      markdown = ""

      # Using `while` here so we can alter the collection at will
      while current_line = lines.shift
        # If we got us some of them bird tracks...
        if current_line =~ BIRD_TRACKS_REGEX
          # Remove the bird tracks from this line
          current_line = remove_bird_tracks(current_line)
          # Grab the remaining code block
          current_line << slurp_remaining_bird_tracks(lines)

          # Fence it and add it to the output
          markdown << "```haskell\n#{current_line}\n```\n"
        else
          # No tracks?  Just stick it back in the pile.
          markdown << current_line + "\n"
        end
      end

      markdown
    end
Initialize a new literate Haskell renderer.

 content - The literate Haskell code string
 markdowner - The class we'll use to render the HTML (defaults
              to our RedCarpet wrapper).
 Render the given literate Haskell to a Markdown string.

 Returns a Markdown string we can render to HTML.