RbST 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/RbST.gemspec +2 -2
- data/VERSION +1 -1
- data/lib/rbst.rb +6 -6
- data/lib/rst2parts/rst2html.py +2 -1
- data/lib/rst2parts/transform.py +1 -1
- data/test/files/test.html +1 -1
- data/test/files/test.latex +42 -60
- data/test/test_rbst.rb +13 -6
- metadata +3 -3
    
        data/RbST.gemspec
    CHANGED
    
    | @@ -5,11 +5,11 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = "RbST"
         | 
| 8 | 
            -
              s.version = "0. | 
| 8 | 
            +
              s.version = "0.3.0"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["William Melody"]
         | 
| 12 | 
            -
              s.date = "2012-11- | 
| 12 | 
            +
              s.date = "2012-11-02"
         | 
| 13 13 | 
             
              s.description = "A simple Ruby wrapper for processing reStructuredText via Python's Docutils"
         | 
| 14 14 | 
             
              s.email = "hi@williammelody.com"
         | 
| 15 15 | 
             
              s.extra_rdoc_files = [
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0. | 
| 1 | 
            +
            0.3.0
         | 
    
        data/lib/rbst.rb
    CHANGED
    
    | @@ -1,4 +1,4 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            # encoding: UTF-8
         | 
| 2 2 |  | 
| 3 3 | 
             
            class RbST
         | 
| 4 4 |  | 
| @@ -82,10 +82,10 @@ protected | |
| 82 82 |  | 
| 83 83 | 
             
              def execute(command)
         | 
| 84 84 | 
             
                output = ''
         | 
| 85 | 
            -
                 | 
| 86 | 
            -
                   | 
| 87 | 
            -
                   | 
| 88 | 
            -
                  output =  | 
| 85 | 
            +
                IO.popen(command, "w+") do |f| 
         | 
| 86 | 
            +
                  f.puts @target 
         | 
| 87 | 
            +
                  f.close_write
         | 
| 88 | 
            +
                  output = f.read
         | 
| 89 89 | 
             
                end
         | 
| 90 90 | 
             
                output
         | 
| 91 91 | 
             
              end
         | 
| @@ -106,4 +106,4 @@ protected | |
| 106 106 | 
             
                  string + (flag.length == 1 ? " -#{flag} #{val}" : " --#{flag}=#{val}")
         | 
| 107 107 | 
             
                end
         | 
| 108 108 | 
             
              end
         | 
| 109 | 
            -
            end
         | 
| 109 | 
            +
            end
         | 
    
        data/lib/rst2parts/rst2html.py
    CHANGED
    
    | @@ -6,6 +6,7 @@ try: | |
| 6 6 | 
             
            except:
         | 
| 7 7 | 
             
                pass
         | 
| 8 8 |  | 
| 9 | 
            +
            import sys
         | 
| 9 10 | 
             
            from transform import transform
         | 
| 10 11 | 
             
            from docutils.writers.html4css1 import Writer
         | 
| 11 12 |  | 
| @@ -13,4 +14,4 @@ def main(): | |
| 13 14 | 
             
                return transform(writer=Writer(), part='html_body')
         | 
| 14 15 |  | 
| 15 16 | 
             
            if __name__ == '__main__':
         | 
| 16 | 
            -
                 | 
| 17 | 
            +
                sys.stdout.write(main())
         | 
    
        data/lib/rst2parts/transform.py
    CHANGED
    
    
    
        data/test/files/test.html
    CHANGED
    
    
    
        data/test/files/test.latex
    CHANGED
    
    | @@ -1,19 +1,24 @@ | |
| 1 | 
            +
            \documentclass[a4paper]{article}
         | 
| 1 2 | 
             
            % generated by Docutils <http://docutils.sourceforge.net/>
         | 
| 2 | 
            -
            \documentclass[a4paper,english]{article}
         | 
| 3 3 | 
             
            \usepackage{fixltx2e} % LaTeX patches, \textsubscript
         | 
| 4 | 
            -
            \usepackage{cmap} % fix search and cut-and-paste in  | 
| 5 | 
            -
            \usepackage{ | 
| 4 | 
            +
            \usepackage{cmap} % fix search and cut-and-paste in Acrobat
         | 
| 5 | 
            +
            \usepackage{ifthen}
         | 
| 6 6 | 
             
            \usepackage[T1]{fontenc}
         | 
| 7 7 | 
             
            \usepackage[utf8]{inputenc}
         | 
| 8 | 
            -
            \usepackage{ifthen}
         | 
| 9 8 | 
             
            \usepackage{graphicx}
         | 
| 10 9 | 
             
            \usepackage{multirow}
         | 
| 11 | 
            -
            \ | 
| 12 | 
            -
            \usepackage{array}
         | 
| 10 | 
            +
            \setcounter{secnumdepth}{0}
         | 
| 11 | 
            +
            \usepackage{longtable,ltcaption,array}
         | 
| 13 12 | 
             
            \setlength{\extrarowheight}{2pt}
         | 
| 14 13 | 
             
            \newlength{\DUtablewidth} % internal use in tables
         | 
| 15 14 | 
             
            \usepackage{tabularx}
         | 
| 16 15 |  | 
| 16 | 
            +
            %%% Custom LaTeX preamble
         | 
| 17 | 
            +
            % PDF Standard Fonts
         | 
| 18 | 
            +
            \usepackage{mathptmx} % Times
         | 
| 19 | 
            +
            \usepackage[scaled=.90]{helvet}
         | 
| 20 | 
            +
            \usepackage{courier}
         | 
| 21 | 
            +
             | 
| 17 22 | 
             
            %%% User specified packages and stylesheets
         | 
| 18 23 |  | 
| 19 24 | 
             
            %%% Fallback definitions for Docutils-specific commands
         | 
| @@ -82,28 +87,29 @@ | |
| 82 87 | 
             
            % hyperlinks:
         | 
| 83 88 | 
             
            \ifthenelse{\isundefined{\hypersetup}}{
         | 
| 84 89 | 
             
              \usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref}
         | 
| 90 | 
            +
              \urlstyle{same} % normal text font (alternatives: tt, rm, sf)
         | 
| 85 91 | 
             
            }{}
         | 
| 86 92 | 
             
            \hypersetup{
         | 
| 87 93 | 
             
              pdftitle={The reStructuredText Cheat Sheet: Syntax Reminders},
         | 
| 88 94 | 
             
              pdfauthor={David Goodger <goodger@python.org>}
         | 
| 89 95 | 
             
            }
         | 
| 90 96 |  | 
| 91 | 
            -
            %%%  | 
| 92 | 
            -
            \ | 
| 93 | 
            -
             | 
| 94 | 
            -
            % Document title
         | 
| 95 | 
            -
            \title{The reStructuredText Cheat Sheet: Syntax Reminders%
         | 
| 96 | 
            -
              \phantomsection%
         | 
| 97 | 
            +
            %%% Title Data
         | 
| 98 | 
            +
            \title{\phantomsection%
         | 
| 99 | 
            +
              The \href{http://docutils.sf.net/rst.html}{reStructuredText} Cheat Sheet: Syntax Reminders%
         | 
| 97 100 | 
             
              \label{the-restructuredtext-cheat-sheet-syntax-reminders}}
         | 
| 98 101 | 
             
            \author{}
         | 
| 99 102 | 
             
            \date{}
         | 
| 103 | 
            +
             | 
| 104 | 
            +
            %%% Body
         | 
| 105 | 
            +
            \begin{document}
         | 
| 100 106 | 
             
            \maketitle
         | 
| 101 107 |  | 
| 102 108 | 
             
            % Docinfo
         | 
| 103 109 | 
             
            \begin{center}
         | 
| 104 110 | 
             
            \begin{tabularx}{\DUdocinfowidth}{lX}
         | 
| 105 111 | 
             
            \textbf{Info}: &
         | 
| 106 | 
            -
            See <\ | 
| 112 | 
            +
            See <\url{http://docutils.sf.net/rst.html}> for introductory docs.
         | 
| 107 113 | 
             
            \\
         | 
| 108 114 | 
             
            \textbf{Author}: &
         | 
| 109 115 | 
             
            	David Goodger <\href{mailto:goodger@python.org}{goodger@python.org}> \\
         | 
| @@ -118,30 +124,21 @@ This is a ``docinfo block'', or bibliographic field list | |
| 118 124 | 
             
            \end{center}
         | 
| 119 125 |  | 
| 120 126 |  | 
| 121 | 
            -
            % | 
| 122 | 
            -
             | 
| 123 | 
            -
            \section*{Section Structure%
         | 
| 124 | 
            -
              \phantomsection%
         | 
| 125 | 
            -
              \addcontentsline{toc}{section}{Section Structure}%
         | 
| 127 | 
            +
            \section{Section Structure%
         | 
| 126 128 | 
             
              \label{section-structure}%
         | 
| 127 129 | 
             
            }
         | 
| 128 130 |  | 
| 129 131 | 
             
            Section titles are underlined or overlined \& underlined.
         | 
| 130 132 |  | 
| 131 133 |  | 
| 132 | 
            -
            % | 
| 133 | 
            -
             | 
| 134 | 
            -
            \section*{Body Elements%
         | 
| 135 | 
            -
              \phantomsection%
         | 
| 136 | 
            -
              \addcontentsline{toc}{section}{Body Elements}%
         | 
| 134 | 
            +
            \section{Body Elements%
         | 
| 137 135 | 
             
              \label{body-elements}%
         | 
| 138 136 | 
             
            }
         | 
| 139 137 |  | 
| 140 138 | 
             
            Grid table:
         | 
| 141 139 |  | 
| 142 | 
            -
            \leavevmode
         | 
| 143 140 | 
             
            \setlength{\DUtablewidth}{\linewidth}
         | 
| 144 | 
            -
            \begin{longtable}[c]{|p{0.389\DUtablewidth}|p{0.424\DUtablewidth}|}
         | 
| 141 | 
            +
            \begin{longtable*}[c]{|p{0.389\DUtablewidth}|p{0.424\DUtablewidth}|}
         | 
| 145 142 | 
             
            \hline
         | 
| 146 143 |  | 
| 147 144 | 
             
            Paragraphs are flush-left,
         | 
| @@ -173,7 +170,7 @@ Doctest~block | |
| 173 170 | 
             
            }
         | 
| 174 171 | 
             
             &  \\
         | 
| 175 172 | 
             
            \hline
         | 
| 176 | 
            -
            \multicolumn{2}{| | 
| 173 | 
            +
            \multicolumn{2}{|p{0.81\DUtablewidth}|}{
         | 
| 177 174 | 
             
            \begin{DUlineblock}{0em}
         | 
| 178 175 | 
             
            \item[] Line blocks preserve line breaks \& indents. {[}new in 0.3.6{]}
         | 
| 179 176 | 
             
            \item[]
         | 
| @@ -184,13 +181,12 @@ lines can be wrapped with continuation lines. | |
| 184 181 | 
             
            \end{DUlineblock}
         | 
| 185 182 | 
             
            } \\
         | 
| 186 183 | 
             
            \hline
         | 
| 187 | 
            -
            \end{longtable}
         | 
| 184 | 
            +
            \end{longtable*}
         | 
| 188 185 |  | 
| 189 186 | 
             
            Simple tables:
         | 
| 190 187 |  | 
| 191 | 
            -
            \leavevmode
         | 
| 192 188 | 
             
            \setlength{\DUtablewidth}{\linewidth}
         | 
| 193 | 
            -
            \begin{longtable}[c]{|p{0.203\DUtablewidth}|p{0.714\DUtablewidth}|}
         | 
| 189 | 
            +
            \begin{longtable*}[c]{|p{0.203\DUtablewidth}|p{0.714\DUtablewidth}|}
         | 
| 194 190 | 
             
            \hline
         | 
| 195 191 | 
             
            \textbf{%
         | 
| 196 192 | 
             
            List Type
         | 
| @@ -266,11 +262,10 @@ Option list | |
| 266 262 | 
             
            \end{DUoptionlist}
         | 
| 267 263 | 
             
             \\
         | 
| 268 264 | 
             
            \hline
         | 
| 269 | 
            -
            \end{longtable}
         | 
| 265 | 
            +
            \end{longtable*}
         | 
| 270 266 |  | 
| 271 | 
            -
            \leavevmode
         | 
| 272 267 | 
             
            \setlength{\DUtablewidth}{\linewidth}
         | 
| 273 | 
            -
            \begin{longtable}[c]{|p{0.203\DUtablewidth}|p{0.714\DUtablewidth}|}
         | 
| 268 | 
            +
            \begin{longtable*}[c]{|p{0.203\DUtablewidth}|p{0.714\DUtablewidth}|}
         | 
| 274 269 | 
             
            \hline
         | 
| 275 270 | 
             
            \textbf{%
         | 
| 276 271 | 
             
            Explicit Markup
         | 
| @@ -293,7 +288,7 @@ Examples (visible in the \href{cheatsheet.txt}{text source}) | |
| 293 288 |  | 
| 294 289 | 
             
            Footnote
         | 
| 295 290 | 
             
             & %
         | 
| 296 | 
            -
            \DUfootnotetext{id1}{id3}{1}{
         | 
| 291 | 
            +
            \DUfootnotetext{id1}{id3}{1}{%
         | 
| 297 292 | 
             
            Manually numbered or {[}\#{]} auto-numbered
         | 
| 298 293 | 
             
            (even {[}\#labelled{]}) or {[}*{]} auto-symbol
         | 
| 299 294 | 
             
            }
         | 
| @@ -337,38 +332,29 @@ Empty Comment | |
| 337 332 | 
             
            used to separate indentation contexts)
         | 
| 338 333 | 
             
             \\
         | 
| 339 334 | 
             
            \hline
         | 
| 340 | 
            -
            \end{longtable}
         | 
| 341 | 
            -
             | 
| 335 | 
            +
            \end{longtable*}
         | 
| 342 336 |  | 
| 343 | 
            -
            %___________________________________________________________________________
         | 
| 344 337 |  | 
| 345 | 
            -
            \section | 
| 346 | 
            -
              \phantomsection%
         | 
| 347 | 
            -
              \addcontentsline{toc}{section}{Inline Markup}%
         | 
| 338 | 
            +
            \section{Inline Markup%
         | 
| 348 339 | 
             
              \label{inline-markup}%
         | 
| 349 340 | 
             
            }
         | 
| 350 341 |  | 
| 351 342 | 
             
            \emph{emphasis}; \textbf{strong emphasis}; \DUroletitlereference{interpreted text}; \emph{interpreted text
         | 
| 352 343 | 
             
            with role}; \texttt{inline literal text}; standalone hyperlink,
         | 
| 353 | 
            -
            \ | 
| 344 | 
            +
            \url{http://docutils.sourceforge.net}; named reference, \href{http://docutils.sf.net/rst.html}{reStructuredText};
         | 
| 354 345 | 
             
            \href{http://docutils.sf.net/docs/ref/rst/restructuredtext.html}{anonymous reference}; footnote reference,\DUfootnotemark{id3}{id1}{1}; citation reference,
         | 
| 355 | 
            -
             | 
| 346 | 
            +
            \hyperlink{cit2002}{[CIT2002]}; like an inline directive; %
         | 
| 356 347 | 
             
            \phantomsection\label{inline-internal-target}inline internal target.
         | 
| 357 348 |  | 
| 358 349 |  | 
| 359 | 
            -
            % | 
| 360 | 
            -
             | 
| 361 | 
            -
            \section*{Directive Quick Reference%
         | 
| 362 | 
            -
              \phantomsection%
         | 
| 363 | 
            -
              \addcontentsline{toc}{section}{Directive Quick Reference}%
         | 
| 350 | 
            +
            \section{Directive Quick Reference%
         | 
| 364 351 | 
             
              \label{directive-quick-reference}%
         | 
| 365 352 | 
             
            }
         | 
| 366 353 |  | 
| 367 | 
            -
            See <\ | 
| 354 | 
            +
            See <\url{http://docutils.sf.net/docs/ref/rst/directives.html}> for full info.
         | 
| 368 355 |  | 
| 369 | 
            -
            \leavevmode
         | 
| 370 356 | 
             
            \setlength{\DUtablewidth}{\linewidth}
         | 
| 371 | 
            -
            \begin{longtable}[c]{|p{0.203\DUtablewidth}|p{0.714\DUtablewidth}|}
         | 
| 357 | 
            +
            \begin{longtable*}[c]{|p{0.203\DUtablewidth}|p{0.714\DUtablewidth}|}
         | 
| 372 358 | 
             
            \hline
         | 
| 373 359 | 
             
            \textbf{%
         | 
| 374 360 | 
             
            Directive Name
         | 
| @@ -569,22 +555,17 @@ title | |
| 569 555 | 
             
            Set the metadata document title {[}0.3.10{]}
         | 
| 570 556 | 
             
             \\
         | 
| 571 557 | 
             
            \hline
         | 
| 572 | 
            -
            \end{longtable}
         | 
| 573 | 
            -
             | 
| 558 | 
            +
            \end{longtable*}
         | 
| 574 559 |  | 
| 575 | 
            -
            %___________________________________________________________________________
         | 
| 576 560 |  | 
| 577 | 
            -
            \section | 
| 578 | 
            -
              \phantomsection%
         | 
| 579 | 
            -
              \addcontentsline{toc}{section}{Interpreted Text Role Quick Reference}%
         | 
| 561 | 
            +
            \section{Interpreted Text Role Quick Reference%
         | 
| 580 562 | 
             
              \label{interpreted-text-role-quick-reference}%
         | 
| 581 563 | 
             
            }
         | 
| 582 564 |  | 
| 583 | 
            -
            See <\ | 
| 565 | 
            +
            See <\url{http://docutils.sf.net/docs/ref/rst/roles.html}> for full info.
         | 
| 584 566 |  | 
| 585 | 
            -
            \leavevmode
         | 
| 586 567 | 
             
            \setlength{\DUtablewidth}{\linewidth}
         | 
| 587 | 
            -
            \begin{longtable}[c]{|p{0.203\DUtablewidth}|p{0.726\DUtablewidth}|}
         | 
| 568 | 
            +
            \begin{longtable*}[c]{|p{0.203\DUtablewidth}|p{0.726\DUtablewidth}|}
         | 
| 588 569 | 
             
            \hline
         | 
| 589 570 | 
             
            \textbf{%
         | 
| 590 571 | 
             
            Role Name
         | 
| @@ -658,6 +639,7 @@ title | |
| 658 639 | 
             
            Title reference (book, etc.); standard default role
         | 
| 659 640 | 
             
             \\
         | 
| 660 641 | 
             
            \hline
         | 
| 661 | 
            -
            \end{longtable}
         | 
| 642 | 
            +
            \end{longtable*}
         | 
| 643 | 
            +
             | 
| 644 | 
            +
            \end{document}
         | 
| 662 645 |  | 
| 663 | 
            -
            \end{document}
         | 
    
        data/test/test_rbst.rb
    CHANGED
    
    | @@ -1,3 +1,5 @@ | |
| 1 | 
            +
            # encoding: UTF-8
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            require 'helper'
         | 
| 2 4 | 
             
            require 'mocha'
         | 
| 3 5 |  | 
| @@ -58,23 +60,28 @@ class TestRbST < Test::Unit::TestCase | |
| 58 60 |  | 
| 59 61 | 
             
              should "recognize strip_comments option" do
         | 
| 60 62 | 
             
                html_with_comment = RbST.convert(".. comment")
         | 
| 61 | 
            -
                assert_equal html_with_comment, %Q{<div class | 
| 63 | 
            +
                assert_equal html_with_comment, %Q{<div class=\"document\">\n<!-- comment -->\n</div>\n}
         | 
| 62 64 | 
             
                html_without_comment = RbST.convert(".. comment", 'strip-comments')
         | 
| 63 | 
            -
                assert_equal html_without_comment, %Q{<div class | 
| 65 | 
            +
                assert_equal html_without_comment, %Q{<div class=\"document\">\n</div>\n}
         | 
| 64 66 | 
             
              end
         | 
| 65 67 |  | 
| 66 68 | 
             
              should "recognize cloak_email_addresses option" do
         | 
| 67 69 | 
             
                html_with_uncloaked_email = RbST.convert("steve@mac.com")
         | 
| 68 | 
            -
                assert_equal %Q{<div class | 
| 70 | 
            +
                assert_equal %Q{<div class=\"document\">\n<p><a class=\"reference external\" href=\"mailto:steve@mac.com\">steve@mac.com</a></p>\n</div>\n}, html_with_uncloaked_email
         | 
| 69 71 | 
             
                html_with_cloaked_email = RbST.convert("steve@mac.com", 'cloak-email-addresses')
         | 
| 70 | 
            -
                assert_equal %Q{<div class | 
| 72 | 
            +
                assert_equal %Q{<div class=\"document\">\n<p><a class=\"reference external\" href=\"mailto:steve%40mac.com\">steve<span>@</span>mac<span>.</span>com</a></p>\n</div>\n}, html_with_cloaked_email
         | 
| 71 73 | 
             
              end
         | 
| 72 74 |  | 
| 73 75 | 
             
              should "recognize part option" do
         | 
| 74 76 | 
             
                html_body = RbST.convert("hello world", :part => :html_body)
         | 
| 75 | 
            -
                assert_equal %Q{<div class | 
| 77 | 
            +
                assert_equal %Q{<div class=\"document\">\n<p>hello world</p>\n</div>\n}, html_body
         | 
| 76 78 | 
             
                fragment = RbST.convert("hello world", :part => :fragment)
         | 
| 77 | 
            -
                assert_equal %Q{<p>hello world</p | 
| 79 | 
            +
                assert_equal %Q{<p>hello world</p>\n}, fragment
         | 
| 80 | 
            +
              end
         | 
| 81 | 
            +
             | 
| 82 | 
            +
              should "convert unicode" do
         | 
| 83 | 
            +
                output = RbST.convert("Hello ☃", :part => :fragment)
         | 
| 84 | 
            +
                assert_equal %Q{<p>Hello ☃</p>\n}, output
         | 
| 78 85 | 
             
              end
         | 
| 79 86 |  | 
| 80 87 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: RbST
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.3.0
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012-11- | 
| 12 | 
            +
            date: 2012-11-02 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: jeweler
         | 
| @@ -116,7 +116,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 116 116 | 
             
                  version: '0'
         | 
| 117 117 | 
             
                  segments:
         | 
| 118 118 | 
             
                  - 0
         | 
| 119 | 
            -
                  hash:  | 
| 119 | 
            +
                  hash: 2317176860731085124
         | 
| 120 120 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 121 121 | 
             
              none: false
         | 
| 122 122 | 
             
              requirements:
         |