aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/0.52/dal_doc_str_code.rb
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2007-06-02 11:27:06 +0100
committerRalph Amissah <ralph.amissah@gmail.com>2007-06-02 11:27:06 +0100
commit26767cc88c0548ad7978021796d0ccc4c9f7ffed (patch)
treefe225e99e180b5d2925cbf776826f74db27e1888 /lib/sisu/0.52/dal_doc_str_code.rb
parentrestrict use to ruby1.8 branch, i.e. < 1.9 (diff)
0.53.0, pre-build, see changelog, library naming changed for scm, placed under v0 (instead of 0.53)upstream/0.53.0sisu_0.53.0
Diffstat (limited to 'lib/sisu/0.52/dal_doc_str_code.rb')
-rw-r--r--lib/sisu/0.52/dal_doc_str_code.rb153
1 files changed, 0 insertions, 153 deletions
diff --git a/lib/sisu/0.52/dal_doc_str_code.rb b/lib/sisu/0.52/dal_doc_str_code.rb
deleted file mode 100644
index 46a466b6..00000000
--- a/lib/sisu/0.52/dal_doc_str_code.rb
+++ /dev/null
@@ -1,153 +0,0 @@
-=begin
- * Name: SiSU information Structuring Universe - Structured information, Serialized Units
- * Author: Ralph Amissah
- * http://www.jus.uio.no/sisu
- * http://www.jus.uio.no/sisu/SiSU/download.html
-
- * Description: xml output (sax style) processing
-
- * Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Ralph Amissah
-
- * License: GPL 2 or later
-
- Summary of GPL 2
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the Free
- Software Foundation; either version 2 of the License, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-
- If you have Internet connection, the latest version of the GPL should be
- available at these locations:
- http://www.fsf.org/licenses/gpl.html
- http://www.gnu.org/copyleft/gpl.html
- http://www.jus.uio.no/sisu/gpl2.fsf
-
- SiSU was first released to the public on January 4th 2005
-
- SiSU uses:
-
- * Standard SiSU markup syntax,
- * Standard SiSU meta-markup syntax, and the
- * Standard SiSU object citation numbering and system
-
- © Ralph Amissah 1997, current 2007.
- All Rights Reserved.
-
- * Ralph Amissah: ralph@amissah.com
- ralph.amissah@gmail.com
-
- * Notes: tidy -xml sax.xml >> index.tidy
-=end
-module SiSU_document_structure_code
- class Instantiate < SiSU_Param::Parameters::Instructions
- @@flag={} #Beware!!
- def initialize
- @@flag['table_to']=false
- @@counter=@@column=@@columns=0
- @@line_mode=''
- end
- end
- class Code
- @@flag={} #Beware!!
- def initialize(md,data)
- @md,@data=md,data
- Instantiate.new
- end
- def code
- data=@data
- tuned_file=[]
- @tuned_group=[]
- @@counter=0
- @verse_count=0
- data.each do |para|
- para.gsub!(/(<:(?:code|verse|alt|group)>)\s/,'\1') #double check
- para.gsub!(/(?:\n\s*\n)+/m,"\n")
- if para =~/^code\{/
- @@flag['code']=true
- @@counter=1
- para.gsub!(/^code\{.*/,'<:code>')
- elsif para =~/^(?:poem)\{/
- @@flag['poem']=true
- para.gsub!(/^(poem)\{.*/,'<:verse>')
- elsif para =~/^(?:alt|group)\{/ #group not tested, stub 2005
- @@flag['group']=true
- para.gsub!(/^(alt|group)\{.*/,'<:\1>')
- end
- if @@flag['code']
- if @@flag['code'] and para =~/^\}code/
- para.gsub!(/^\}code.*/,'<:code-end>')
- @@flag['code']=false
- end
- if @@flag['code'] #or para =~/<:code-end>/ #and para =~/\S/
- sub_array=para.dup
- @line_mode=sub_array.scan(/.+/)
- SiSU_document_structure_code::Code.new(@md,@line_mode).code_lines('code')
- para=@line_mode.join
- end
- elsif @@flag['poem'] or @@flag['group']
- if @@flag['poem'] and para =~/^\}(?:poem)/
- para.gsub!(/^\}(poem).*/,"\n<:verse-end>")
- @@flag['poem']=false
- elsif @@flag['group'] and para =~/^\}(?:alt|group)/
- para.gsub!(/^\}(alt|group).*/,'<:\1-end>')
- @@flag['group']=false
- end
- if @@flag['poem'] or @@flag['group'] and para =~/\S/ \
- and para !~/<:(verse|code|alt|group)(-end)?>/
- sub_array=para.dup
- @line_mode=sub_array.scan(/.+/)
- type=if @@flag['poem']; 'poem'
- else 'group'
- end
- SiSU_document_structure_code::Code.new(@md,@line_mode).code_lines(type)
- div=if @@flag['poem'] and @verse_count > 0
- "\n" + '<:verse-end>' + "\n\n" + '<:verse>'
- else ''
- end
- @verse_count+=1 if @@flag['poem']
- para = div + @line_mode.join
- else para
- end
- end
- if @@flag['code'] or @@flag['poem'] or @@flag['group']
- @tuned_group << para if para =~/\S+/
- elsif para =~/<:(?:code|alt|group|verse)-end>/
- @verse_count=0
- @tuned_group << para
- if para =~/<:group-end>/
- tuned_file << @tuned_group.join("\n")
- else
- tuned_file << @tuned_group.join
- end
- @tuned_group=[]
- else tuned_file << para
- end
- end
- tuned_file
- end
- def code_lines(type='')
- data=@data
- data.each do |line|
- if line =~/\S/ and line !~/^(?:alt|code|group|poem)\{|^\}(?:alt|code|group|poem)|<:(?:code|verse|alt|group).+/
- line.gsub!(/\s\s/,'&nbsp;&nbsp;')
- line.gsub!(/^/,'<:codeline>') if type=='code' # try sort for texpdf special case
- line.gsub!(/$/,'<:br>') #unless type=='code'
- if @@flag['code']; @@counter+=1
- else
- end
- end
- end
- end
- end
-end
-__END__