The rewrite

Hi, RedCloth watchers. Just wanted to tell you Gaspard and I have
agreed on a rewrite plan. We’re setting up a project to compare
redcloth-treetop and redcloth-regexp and any other alternatives that
come along. We’ll implement some common features and then ask the
Ruby community to weigh in on what they like and what they don’t.
Hopefully that will give us a clear sense of where to go with it.

Certainly by now you’ve heard about _why. RedCloth owes everything to
him and I hope I can speak for all of us when I say we’re extremely
grateful for the code he gave us over the years and the contributions
he made to the community. He’ll be missed if, in fact, he’s truly gone.

Jason

Hi gentlefolk …

I’m mostly and observer there, however I wonder if the “rewrite plan”
has
time to consider a kind of plug-able structure for things like different
regexp engines, and may be other engines – Say plugable HTML, XHTML,
DocBook, etc.

I thinking myself about the changes in Sequel to use plug-ins. It felt
a
bit ‘funny’ for a bit – Now I see the sense of it. If you think it is
worth considering that kind of option; I’d just suggest using a notion
for a
“default plugin” if you are a new-starter, so thing /work/ out of the
box.

There you are, two cents for free - Please excuse my Kibbutzing.

aloha,
_w_/


º http://mbimarketing.wordpress.com
º http://adroit-process.blogspot.com

2009/8/21 Jason G. [email protected]

Yes, I definitely want it to be more extensible. In the past you were
able to write your own formatters (HTML and LaTeX came standard, but
you could have made XHTML, DocBook, etc.) and I want to continue
that. RedCloth 4 parsing couldn’t really be extended, though. You
had to pre- or post-parse for custom signatures (emoticons, ticket
numbers, or whatever). I want the rewrite to be simple to extend and
to have all that open Ruby goodness we’ve come to expect. And
wouldn’t it be cool if you could just gem install redcloth-docbook to
have that formatter available? It seems very possible.

While I’m at it, here are my goals for the rewrite (copied from an
email to Gaspard):

  1. Many other people can understand and contribute to it. This isn’t
    true with the current Ragel implementation—I have to do all the work
    while very capable programmers sit on the sidelines just because the
    code is so foreign and unapproachable.
  2. It doesn’t require compilation. I want GitHub to be able to
    generate the gem. And nobody likes waiting for a compile.
  3. It is written in just one language (not four) and that language is
    Ruby (does Treetop count? meh, close enough.)
  4. It is fast enough, but speed isn’t the most important thing. We’re
    all Ruby programmers, right? If speed were our top priority, we
    wouldn’t be here.
  5. The code is clean, modular, beautiful, and easily approached. This
    is what makes Ruby so great and it carries over into a lot of Ruby
    software.
  6. It can easily be extended and manipulated to meet people’s needs.
    Right now they can’t inject more parsing rules, disable all but a few,
    or generally hack it into what they need.
  7. It is 100% backwards-compatible and the output is practically
    identical, minus the currently identified bugs
  8. The development cycle is very short. Right now I procrastinate on
    fixing bugs because they take so much time and experimentation to fix
    and release. I would rather turn around bug reports in hours, not
    months, and release often.

On Thu, 20 Aug 2009, Jason G. wrote:

Hi, RedCloth watchers. Just wanted to tell you Gaspard and I have agreed on a
rewrite plan. We’re setting up a project to compare redcloth-treetop and
redcloth-regexp and any other alternatives that come along. We’ll implement

I’ve not looked at racc for years, but that might be a possibility.

some common features and then ask the Ruby community to weigh in on what they
like and what they don’t. Hopefully that will give us a clear sense of where
to go with it.

Sounds good.

Certainly by now you’ve heard about _why. RedCloth owes everything to him and
I hope I can speak for all of us when I say we’re extremely grateful for the
code he gave us over the years and the contributions he made to the community.
He’ll be missed if, in fact, he’s truly gone.

In the Art and Code talk he was self-deprecating about his code,
and, regrettably, once I was harsh about some bloopsaphone code
which I didn’t realize was one of his projects. But _Why had
already learned something I’m still trying to take on board, that
often quickly rolled together code that does the job is MUCH better
than code which is “done properly” by the standards of computer
science purists but is too late to be useful. He was phenomenally
productive as a programmer, produced stuff many people used, and it
was novel, reaching into niches others never considered. Some of
the artistic work I still don’t understand, but there was genius
there. Why do the cartoon foxes in the Poignant Guide “work”, on
any level? I don’t know. I’m glad he had the nerve to risk
ridicule, and produce something so wonderfully bizarre. To receive
praise from him like:
http://thread.gmane.org/gmane.comp.lib.shoes/1623/focus=1627
was something I really appreciated and still do. I hope he is still
about somewhere, if only so he can look at the web and see he was
valued. If he’s dramatically taken a sabbatical, I hope he enjoys
it.

Jason

    Hugh