#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.