diff options
Diffstat (limited to 'data/sisu/v4/conf/convert/kdissert_to_sisu')
-rw-r--r-- | data/sisu/v4/conf/convert/kdissert_to_sisu | 161 |
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!(/<(:p[bn])>/,"<\\1>") - c.gsub!(/<<(|.?|@|.?|)/,"<<\\1") - c.gsub!(/"/,'"') - 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__ |