aboutsummaryrefslogtreecommitdiffhomepage
path: root/data/sisu/v4/conf/convert/kdissert_to_sisu
diff options
context:
space:
mode:
Diffstat (limited to 'data/sisu/v4/conf/convert/kdissert_to_sisu')
-rw-r--r--data/sisu/v4/conf/convert/kdissert_to_sisu161
1 files changed, 0 insertions, 161 deletions
diff --git a/data/sisu/v4/conf/convert/kdissert_to_sisu b/data/sisu/v4/conf/convert/kdissert_to_sisu
deleted file mode 100644
index 35921c3e..00000000
--- a/data/sisu/v4/conf/convert/kdissert_to_sisu
+++ /dev/null
@@ -1,161 +0,0 @@
-#!/usr/bin/env ruby
-=begin
- * Name: modify.rb
- * Author: Ralph Amissah
- * http://www.jus.uio.no/sisu
- * http://www.jus.uio.no/sisu/SiSU/download
- * Description: Conversion script from kdissert .kdi to sisu markup .sst
- * Copyright (C) 2004, 2006 Ralph Amissah
- * Packaged with: SiSU information Structuring Universe -
- Structured information, Serialized Units
- * SiSU Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Ralph Amissah
-
- * License: GPL 3 or later
-
- Summary of GPL 3
-
- 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 3 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/gpl3.fsf
-
- © Ralph Amissah 1997, current 2006.
- All Rights Reserved.
-
- * Ralph Amissah: ralph@amissah.com
- ralph.amissah@gmail.com
-=end
-require 'rexml/document'
-include REXML
-argv=$*
-@sisu,@sisu_base=Array.new,Array.new
-unless argv.empty?
- argv.each do |kdi|
- if kdi =~/\.kdi$/
- system("cp #{kdi} #{kdi}.tar.gz && tar xzvf #{kdi}.tar.gz && rm #{kdi}.tar.gz")
- file=File.new("maindoc.xml")
- #system("cp #{kdi} /tmp/. && cd /tmp && tar xzvf /tmp/#{kdi} && cd -")
- #file=File.new("/tmp/maindoc.xml")
- @output=File.new("#{kdi}.sst",'w')
- doc=Document.new(file)
- root=doc.root
- @el=Array.new
- root.each do |x|
- end
- root.each_with_index do |content,idx|
- if root.elements["item[#{idx}]/summary"]
- id,ma,ch=nil,nil,Array.new
- if root.elements["item[#{idx}]/id"]
- id=root.elements["item[#{idx}]/id"].text.to_i
- end
- if root.elements["item[#{idx}]/parent"]
- ma=root.elements["item[#{idx}]/parent"].text.to_s
- end
- if root.elements["item[#{idx}]/child"] #problem only get one child, even where several
- root.get_elements("item[#{idx}]/child").each do |x|
- ch << x.text
- end
- end
- if root.elements["item[#{idx}]/summary"]
- sum=root.elements["item[#{idx}]/summary"].text.to_s.strip
- end
- if root.elements["item[#{idx}]/text"]
- txt=root.elements["item[#{idx}]/text"].text.to_s.strip
- end
- @el[id]=Hash.new
- @el[id][:id]=id
- @el[id][:ma]=ma
- @el[id][:ch]=ch
- @el[id][:sum]=sum
- @el[id][:txt]=txt
- if ma == '-1'
- @el[id][:lev]=':A'
- @top=id
- end
- end
- end
- @doc=Array.new
- @title=@el[@top][:sum]
- p @el[@top][:sum]
- @doc << ':A~ ' + @el[@top][:sum]
- @el[@top][:ch].each do |x|
- @el[x.to_i][:lev]='1'
- @doc << '1~ ' + @el[x.to_i][:sum]
- @doc << @el[x.to_i][:txt]
- @el[x.to_i][:ch].each do |y|
- @el[y.to_i][:lev]='2'
- @doc << '2~ ' + @el[y.to_i][:sum]
- @doc << @el[y.to_i][:txt]
- @el[y.to_i][:ch].each do |z|
- @el[z.to_i][:lev]='3'
- @doc << '3~ ' + @el[z.to_i][:sum]
- @doc << @el[z.to_i][:txt]
- @el[z.to_i][:ch].each do |za| #unsupported... consder
- @el[za.to_i][:lev]='4'
- @doc << '!_ ' + @el[za.to_i][:sum]
- @doc << @el[za.to_i][:txt]
- end
- end
- end
- end
- #@el.each_with_index do |x,i|
- # if x: puts "#{i}: lev: #{x[:lev]}, id: #{x[:id]}, ma: #{x[:ma]}, ch: #{x[:ch].join(',')}"
- # end
- #end
-# regexs strip most kdissert markup, and provide minimal info for sisu markup -->
- @doc.each do |c,idx|
- c.gsub!(/<\/summary>/,'')
- c.gsub!(/<html>.+?\n|<\/body>|<\/html>|<p>/m,'')
- c.gsub!(/<\/p>/,"\n")
- c.gsub!(/<span style="font-weight:600">(.+?)<\/span>/," *{ \\1 }* ")
- c.gsub!(/<span style="text-decoration:underline">(.+?)<\/span>/," _{ \\1 }_ ")
- c.gsub!(/<span style="font-style:italic">(.+?)<\/span>/," /{ \\1 }/ ")
- c.gsub!(/<ul type="disc">/,'_* ')
- c.gsub!(/<\S+?>/,'')
- c.gsub!(/&lt;(:p[bn])&gt;/,"<\\1>")
- c.gsub!(/&lt;&lt;(|.?|@|.?|)/,"<<\\1")
- c.gsub!(/&quot;/,'"')
- c.gsub!(/ \s+/,' ')
- @sisu_base << c.strip + "\n\n"
- end
- else puts ".kdi extension expected, filename not recognised: << #{kdi} >>"
- end
- end
-else puts '.kdi file for conversion to sisu expected'
-end
-sisu_head=<<WOK
-% converted from Kdissert to SiSU
-
-@title: #@title
-
-@prefix: Kdissert mind/topic mapping auto conversion to SiSU markup
-
-@links: {Kdissert}http://freehackers.org/~tnagy/kdissert/
-
-@base_program: kdissert
-
-% @date:
-
-@rcs: $Id$
-
-@level: num_top=1
-
-WOK
-#puts @sisu_base
-@output << sisu_head << @sisu_base
-__END__