diff options
Diffstat (limited to 'lib/sisu/current/txt_rst.rb')
| -rw-r--r-- | lib/sisu/current/txt_rst.rb | 218 | 
1 files changed, 17 insertions, 201 deletions
| diff --git a/lib/sisu/current/txt_rst.rb b/lib/sisu/current/txt_rst.rb index 238c0bb7..969cb1c9 100644 --- a/lib/sisu/current/txt_rst.rb +++ b/lib/sisu/current/txt_rst.rb @@ -51,7 +51,7 @@  ** Git    <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary> -  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/plaintext_rst.rb;hb=HEAD> +  <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/txt_rst.rb;hb=HEAD>  =end  module SiSU_Txt_rST @@ -60,11 +60,15 @@ module SiSU_Txt_rST      include SiSU_Env    require_relative 'shared_metadata'                    # shared_metadata.rb    require_relative 'generic_parts'                      # generic_parts.rb +  require_relative 'txt_read'                           # txt_read.rb    require_relative 'txt_shared'                         # txt_shared.rb +  require_relative 'txt_rst_decorate'                   # txt_rst_decorate.rb +  require_relative 'txt_output'                         # txt_output.rb    include SiSU_Param -  @@alt_id_count,@@alt_id_count,@@tablehead,@@number_of_cols=0,0,0,0 +  @@alt_id_count,@@alt_id_count=0,0    @@tablefoot=''    class Source +    include SiSU_Txt_Read      def initialize(opt)        @opt=opt        unless @opt.fns =~/(.+?)\.(?:-|ssm\.)?sst$/ @@ -74,46 +78,13 @@ module SiSU_Txt_rST      def read        begin          md=SiSU_Param::Parameters.new(@opt).get -        env=SiSU_Env::InfoEnv.new(@opt.fns) -        unless @opt.act[:quiet][:set]==:on -          tool=(@opt.act[:verbose][:set]==:on \ -          || @opt.act[:verbose_plus][:set]==:on \ -          || @opt.act[:maintenance][:set]==:on) \ -          ? "#{env.program.text_editor} #{md.file.output_path.rst.dir}/#{md.file.base_filename.rst}" -          : "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}" -          (@opt.act[:verbose][:set]==:on \ -          || @opt.act[:verbose_plus][:set]==:on \ -          || @opt.act[:maintenance][:set]==:on) \ -          ? SiSU_Screen::Ansi.new( -              @opt.act[:color_state][:set], -              'rST (plaintext utf-8)', -              tool -            ).green_hi_blue -          : SiSU_Screen::Ansi.new( -              @opt.act[:color_state][:set], -              'rST (plaintext utf-8)', -              tool -            ).green_title_hi -          if (@opt.act[:verbose_plus][:set]==:on \ -          || @opt.act[:maintenance][:set]==:on) -            SiSU_Screen::Ansi.new( -              @opt.act[:color_state][:set], -              @opt.fns, -              "#{md.file.output_path.rst.dir}/#{md.file.base_filename.rst}" -            ).flow -          end -        end -        ao_array=SiSU_AO::Source.new(@opt).get # ao file drawn here -        wrap_width=if defined? md.make.plaintext_wrap \ -        and md.make.plaintext_wrap -          md.make.plaintext_wrap -        elsif defined? env.plaintext_wrap \ -        and env.plaintext_wrap -          env.plaintext_wrap -        else 78 -        end -        #wrap_width=(defined? md.make.plaintext_wrap) ? md.make.plaintext_wrap : 78 -        SiSU_Txt_rST::Source::Scroll.new(md,ao_array,wrap_width).songsheet +        specific={ +          description:     'rST (plaintext utf-8)', +          output_path:     md.file.output_path.rst.dir, +          output_file:     md.file.base_filename.rst, +        } +        read_generic(@opt,specific) +        SiSU_Txt_rST::Source::Scroll.new(md,@ao_array,@wrap_width).songsheet        rescue          SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do            __LINE__.to_s + ':' + __FILE__ @@ -125,6 +96,7 @@ module SiSU_Txt_rST      class Scroll <Source        include SiSU_Parts_Generic        include SiSU_TextUtils +      include SiSU_Decorate_Txt_rST        @@endnotes={ para: [], end: [] }        def initialize(md,data,wrap_width)          @md,@data,@wrap_width=md,data,wrap_width @@ -197,7 +169,7 @@ WOK        end        def plaintext_tail  #       env=SiSU_Env::InfoEnv.new(@md.fns) -        generator="Generated by: #{@md.sisu_version[:project]} #{@md.sisu_version[:version]} of #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})"  if @md.sisu_version[:version] +        generator="Generated by: #{@md.project_details.project} #{@md.project_details.version} of #{@md.project_details.date_stamp} (#{@md.project_details.date})"  if @md.project_details.version          lastdone="Last Generated on: #{Time.now}"          rubyv="Ruby version: #{@md.ruby_version}"          sc=if @md.sc_info @@ -221,132 +193,6 @@ at:  * SiSU #{the_url.sisu_txt}  WOK        end -      def decorate -        def heading -          def underscore -            def l0 -              '=' -            end -            def l1 -              '-' -            end -            def l2 -              '`' -            end -            def l3 -              ':' -            end -            def l4 -              "'" -            end -            def l5 -              '"' -            end -            self -          end -          self -        end -        def bold -          def open -            '*' -          end -          def close -            '*' -          end -          self -        end -        def italics -          def open -            '/' -          end -          def close -            '/' -          end -          self -        end -        def underscore -          def open -            '_' -          end -          def close -            '_' -          end -          self -        end -       #def emphasis -       #  def open -       #    '' -       #  end -       #  def close -       #    '' -       #  end -       #  self -       #end -        def cite -          def open -            '"' -          end -          def close -            '"' -          end -          self -        end -        def insert -          def open -            '+' -          end -          def close -            '+' -          end -          self -        end -        def strike -          def open -            '-' -          end -          def close -            '-' -          end -          self -        end -        def superscript -          def open -            '^' -          end -          def close -            '^' -          end -          self -        end -        def subscript -          def open -            '[' -          end -          def close -            ']' -          end -          self -        end -        def hilite -          def open -            '*' -          end -          def close -            '*' -          end -          self -        end -        def monospace -          def open -            '#' -          end -          def close -            '#' -          end -          self -        end -        self -      end        def heading_decorated_underscore(dob,times,p_num)          if dob.is==:heading            #times=@wrap_width if times > @wrap_width @@ -515,41 +361,11 @@ WOK          content << plaintext[:metadata]          content << "#{break_line}#{divider*@wrap_width}#{break_line}" if @md.stmp =~/\w+/ #not used?          content << plaintext[:tail] -        Output.new(content,@md).rst +        outputfile=SiSU_Env::FileOp.new(@md).write_file.rst +        Txt_Output::Output.new.document(content,outputfile)          @@endnotes={ para: [], end: [] }        end      end -    class Output <Source -      include SiSU_Param -      include SiSU_Env -      def initialize(content,md) -        @content,@md=content,md -      end -      def rst -        file_plaintext=SiSU_Env::FileOp.new(@md).write_file.rst -        @sisu=[] -        emptyline=0 -        @content.each do |para|                                                # this is a hack -          if para.is_a?(Array) \ -          and para.length > 0 -            para.each do |line| -              if line -                line=line.gsub(/[ \t]+$/m,''). -                  gsub(/^\A[ ]*\Z/m,'') -                (line=~/^\A\Z/) \ -                ? (emptyline+=1) -                : emptyline=0 -                if emptyline < 2                     #remove additional empty lines -                  file_plaintext.puts line -                end -              end -            end -          else file_plaintext.puts para          #unix plaintext # /^([*=-]|\.){5}/ -          end -        end -        file_plaintext.close -      end -    end    end  end  __END__ | 
