From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Smithline Subject: Re: Google Summer of Code -- 3 Org projects for our first participation! Date: Sat, 28 Apr 2012 20:20:07 -0400 Message-ID: <4F9C8937.2030709@neilsmithline.com> References: <8762cpad2q.fsf@gnu.org> <4F9653BD.7030201@wilkesley.net> <87obqh8s6m.fsf@googlemail.com> <4F98A7F0.6080405@neilsmithline.com> <87mx5zrklf.fsf@altern.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([208.118.235.92]:57937) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SOHs6-0000J1-78 for emacs-orgmode@gnu.org; Sat, 28 Apr 2012 20:20:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SOHs4-0005hL-4e for emacs-orgmode@gnu.org; Sat, 28 Apr 2012 20:20:13 -0400 Received: from mail-qc0-f169.google.com ([209.85.216.169]:56007) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SOHs3-0005h5-WF for emacs-orgmode@gnu.org; Sat, 28 Apr 2012 20:20:12 -0400 Received: by qcsd16 with SMTP id d16so1107483qcs.0 for ; Sat, 28 Apr 2012 17:20:10 -0700 (PDT) In-Reply-To: <87mx5zrklf.fsf@altern.org> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Bastien Cc: emacs-orgmode@gnu.org On 4/26 03:57 , Bastien wrote: > What will help org-ruby (and github's support of org files) is to > stabilize the syntax of .org files as much as possible. We are > currently working in this direction. > > org-ruby's main job is to convert .org files into HTML or textile files. The org-ruby gem is really in its infancy with regards to processing Org Mode. For example, I added support for converting a line with just "-----" to an HTML
tag. So now it supports horizontal rules but it still doesn't support centering of text. > If the list can specifically help about org-ruby issues, let's help! A quick hack to provide better support would be to add support to the org-ruby gem to process HTML in a .org file. While not the cleanest of solutions, being able to process HTML will allow work-arounds for many missing features. But it would be much better if the org-ruby gem could process a larger subset of Org Mode directives. But this isn't as easy as it sounds. The gem is a reasonably well-written parser that is organized to allow pluggable backends. I kind of like it. But it is really, really tiny. (See the end of this email for details about the size). I think the basic parser framework is too simplistic to support much more of Org. No fault to the gem; it was written to be no more complex than it had to be to do what it does. In the end, my thought is that I'm not sure if it is better to extend the org-ruby gem or to do something totally different (I don't know what). In the end, I think the way that the best way the list could help improve Github's support of Org files would be to provide two things: 1) Come up with a prioritized list of features that would be nice to be supported by Github. This may just be the most used features of Org Mode or it may be something special to how Org Mode is used in Github. I'm not sure. 2) Have a few people look at the org-ruby gem and then brainstorm about the best way to proceed. This would either require people who know Ruby or more experienced software engineers. I modified the gem and learned Ruby by reading the source for this gem and occasionally looking something up in a reference manual. But I'd bet I've been coding longer than list members such as Thorsten have been alive. I really don't know enough about the culture of the Org Mode developers to know if this is possible or not. The alternative is that I can just keep adding features as I need them and think I can implement them. As I said in my initial email: >> PS: And the answer is "Yes. I am aware that vehemently suggesting a project >> is equivalent to offering to help with it." :-D Neil ORG-RUBY LINES OF CODE Here's a wc output on the gem's source code with tests and other non-functional parts omitted: 110 394 3392 headline.rb 246 793 8521 html_output_buffer.rb 345 691 18139 html_symbol_replace.rb 258 839 7877 line.rb 241 909 8318 output_buffer.rb 370 1189 12363 parser.rb 192 843 7020 regexp_helper.rb 102 320 2919 textile_output_buffer.rb 346 695 16882 textile_symbol_replace.rb 29 49 498 tilt.rb 2239 6722 85929 total If you subtract out the two dedicated textile files, the org-ruby gem has fewer than 10% of the lines that org.el alone has. The comparison isn't wholly fair as org.el has many more public functions than org-ruby and, correspondingly, org.el has significantly more lines of documentation. Neil Smithline http://www.neilsmithline.com Proud GNU Emacs user since 1986, v. 18.24.