#10637: Implement sage -sws2rst
------------------------------------------------------------+---------------
       Reporter:  nthiery                                   |         Owner:  
jason, mpatel, was                                             
           Type:  enhancement                               |        Status:  
needs_review                                                   
       Priority:  major                                     |     Milestone:  
sage-5.2                                                       
      Component:  notebook                                  |    Resolution:    
                                                             
       Keywords:  ReST, worksheet                           |   Work issues:    
                                                             
Report Upstream:  Workaround found; Bug reported upstream.  |     Reviewers:  
Nicolas ThiƩry, Jason Grout, Karl-Dieter Crisman, Jason Bandlow
        Authors:  Pablo Angulo, Karl-Dieter Crisman         |     Merged in:    
                                                             
   Dependencies:  #11080                                    |      Stopgaps:    
                                                             
------------------------------------------------------------+---------------
Changes (by kcrisman):

  * status:  needs_work => needs_review
  * work_issues:  fail nicely if no beautifulsoup, add doc in sage-sws2rst,
                  case with no cells/ directory =>
  * milestone:  sage-5.1 => sage-5.2


Old description:

> Implement:
>
> {{{
>     sage -sws2rst bla.sws bli.sws ...
> }}}
>
> which given worksheets
>
> {{{bla.sws, bli.sws, ...}}} would create ReST files {{{bla.rst, bli.rst,
> ...}}} together with media directories:
>
> {{{
> media/bla/
> media/bla/data/
> media/bla/7/sage0.png
> ...
> media/bli/
> ...
> }}}
>
> The proposed implementation adds a script
> {{{local/bin/sage-sws2rst}}}, edits {{{local/bin/sage-sage}}} to add
> the sws2rst option, and add some libraries in
> {{{sagenb-main/sagenb/notebook/}}}. It further depends on the
> BeautifulSoup Python library (released under Python's license).
>
> The script builds the ReST file from the worksheet.html file included in
> the .sws as follow:
>
>  - Preparsing to handle the input / output fields
>  - Parsing of the resulting html using BeautifulSoup
>  - Manipulation on the obtained tree
>
> Suggestions for better file layout or implementation welcome!
>
> == Install instructions ==
>
>  * Install the beautifulsoup spkg
> [http://sage.math.washington.edu/home/kcrisman/beautifulsoup-3.2.1.spkg
> here]
>  * Apply [attachment:trac_10637-root.patch] to the root repository
>  * Apply [attachment:trac_10637-scripts.patch] to the scripts repository
>
>  * Apply [attachment:tools_sws2rst_4.patch] to sagenb, possibly followed
> by
> {{{
>     sage -python setup.py install && sage -python setup.py develop
> }}}

New description:

 Implement:

 {{{
     sage -sws2rst bla.sws bli.sws ...
 }}}

 which given worksheets

 {{{bla.sws, bli.sws, ...}}} would create ReST files {{{bla.rst, bli.rst,
 ...}}} together with media directories:

 {{{
 media/bla/
 media/bla/data/
 media/bla/7/sage0.png
 ...
 media/bli/
 ...
 }}}

 The proposed implementation adds a script
 {{{local/bin/sage-sws2rst}}}, edits {{{local/bin/sage-sage}}} to add
 the sws2rst option, and add some libraries in
 {{{sagenb-main/sagenb/notebook/}}}. It further depends on the
 BeautifulSoup Python library (released under Python's license).

 The script builds the ReST file from the worksheet.html file included in
 the .sws as follow:

  - Preparsing to handle the input / output fields
  - Parsing of the resulting html using BeautifulSoup
  - Manipulation on the obtained tree

 Suggestions for better file layout or implementation welcome!

 == Install instructions ==

  * Install the beautifulsoup spkg
 [http://sage.math.washington.edu/home/kcrisman/beautifulsoup-3.2.1.spkg
 here]
  * Apply [attachment:trac_10637-root.patch] and [attachment:trac_10637
 -root-docsandmore.patch] to the root repository
  * Apply [attachment:trac_10637-scripts.patch] to the scripts repository

  * Apply [attachment:tools_sws2rst_4.patch] and [attachment:trac_10637
 -sagenb-reviewer.patch] to sagenb, possibly followed by
 {{{
     sage -python setup.py install && sage -python setup.py develop
 }}}

--

Comment:

 To patchbot and others, instructions:

  * Install the beautifulsoup spkg
 [http://sage.math.washington.edu/home/kcrisman/beautifulsoup-3.2.1.spkg
 here]
  * Apply [attachment:trac_10637-root.patch] and [attachment:trac_10637
 -root-docsandmore.patch] to the root repository
  * Apply [attachment:trac_10637-scripts.patch] to the scripts repository

  * Apply [attachment:tools_sws2rst_4.patch] and [attachment:trac_10637
 -sagenb-reviewer.patch] to sagenb, possibly followed by
 {{{
     sage -python setup.py install && sage -python setup.py develop
 }}}

 ----

 Okay, this should take care of all the work issues.  I've made enough
 changes in the `sage-sws2rst` file that it definitely needs review,
 whether from pang or slabbe or someone else.  Please try especially to
 break it with weird input; but everything else should really be okay,
 given that my changes to Pablo's great core work is very minimal.

 Note that not only my review patches need review, but also the original
 sagenb patches as well.  I'm sure there are more elegant ways to do it,
 but the original scripts patch is fine.  I suppose someone could also
 review the spkg, though there is really almost nothing to review other
 than bringing it up to developer guide guidelines.  See
 [https://groups.google.com/forum/?fromgroups#!topic/sage-devel/XckI9KRYLOc
 this sage-devel thread] for a vote about whether this is allowed to be an
 optional spkg.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10637#comment:52>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to