Jargon: Publishing For Coders

November 9, 2015

Update: Jargon is longer online.


Over the weekend, some friends and I built Jargon for Rails Rumble.

You can do some cool things with Jargon. First of all, there's no web interface. You do all your publishing and manage all your content through GitHub by forking a copy of this repo. When you check articles into your forked copy of that repo, we automatically detect and publish them.

We also extended GitHub-flavored Markdown to add support for code snippets. In addition to the normal fenced code blocks, you can reference files in your /snippets directory with a [snippet: ] tag. For example:

class Example
  def self.raindrops(number)
    "".tap do |string|
      string << "Pling" if number % 3 == 0
      string << "Plang" if number % 5 == 0
      string << "Plong" if number % 7 == 0

      string << number.to_s if string == ""
    end
  end
end

If you look at the raw version of this article, you can see that there isn't actually any code in it. My code is in a separate .rb file that I edit in VIM, and I'm writing this article in a .md file with a different editor that's best for that job. No copying and pasting code between editors, everything is on my filesystem and managed in git, published as soon as I check in.

I had a blast this weekend working with a great team to build something cool. We've already got a list of bug fixes and new features that we can't wait to implement, but the contest rules don't allow us to touch our codebase for a few days.

In the meantime, if you want to play around with the platform, just fork this repo and check in your articles. We support a [date: ] tag as well if you want to republish and back-date an old article. You can find me on Twitter at @joeyschoblaska if you have any questions, bug reports, or feature requests.