emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Neil Smithline <emacs-orgmode@neilsmithline.com>
To: Bastien <bzg@gnu.org>
Cc: emacs-orgmode@gnu.org
Subject: Re: Google Summer of Code -- 3 Org projects for our first participation!
Date: Sat, 28 Apr 2012 20:20:07 -0400	[thread overview]
Message-ID: <4F9C8937.2030709@neilsmithline.com> (raw)
In-Reply-To: <87mx5zrklf.fsf@altern.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 <hr/> 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.

  parent reply	other threads:[~2012-04-29  0:20 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-24  5:55 Google Summer of Code -- 3 Org projects for our first participation! Bastien
2012-04-24  7:17 ` Carsten Dominik
2012-04-24  7:18 ` Ian Barton
2012-04-24  8:12   ` Thorsten
2012-04-26  1:42     ` Neil Smithline
2012-04-26  7:48       ` Thorsten Jolitz
2012-04-28 23:12         ` Neil Smithline
2012-04-26  7:57       ` Bastien
2012-04-28 23:30         ` Neil Smithline
2012-04-29  8:26           ` Bastien
2012-04-29  0:20         ` Neil Smithline [this message]
2012-04-29  8:22           ` Bastien
2012-05-05  0:19             ` Neil Smithline
2012-05-05  5:39               ` Bastien
2012-05-05 10:52                 ` Bernt Hansen
2012-05-05  9:36               ` Nicolas Goaziou
2012-05-04 22:37         ` Neil Smithline
2012-05-04 21:04           ` Eric Schulte
2012-04-24  9:54 ` Rasmus
2012-04-24 19:00   ` Achim Gratz
2012-04-24 23:16     ` Rasmus
2012-04-26  8:19       ` Bastien
2012-04-24 11:29 ` Richard Riley
2012-04-24 14:19   ` Andrew Young
2012-05-08  3:42 ` Neil Smithline
2012-05-08  8:06   ` Thorsten Jolitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F9C8937.2030709@neilsmithline.com \
    --to=emacs-orgmode@neilsmithline.com \
    --cc=bzg@gnu.org \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).