diff options
Diffstat (limited to 'lib/sisu/v2/share_src.rb')
-rw-r--r-- | lib/sisu/v2/share_src.rb | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/lib/sisu/v2/share_src.rb b/lib/sisu/v2/share_src.rb new file mode 100644 index 00000000..d0f1923e --- /dev/null +++ b/lib/sisu/v2/share_src.rb @@ -0,0 +1,96 @@ +# coding: utf-8 +=begin + + * Name: SiSU + + * Description: a framework for document structuring, publishing and search + + * Author: Ralph Amissah + + * Copyright: (C) 1997 - 2010, Ralph Amissah, All Rights Reserved. + + * License: GPL 3 or later: + + SiSU, a framework for document structuring, publishing and search + + Copyright (C) Ralph Amissah + + 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, see <http://www.gnu.org/licenses/>. + + If you have Internet connection, the latest version of the GPL should be + available at these locations: + <http://www.fsf.org/licensing/licenses/gpl.html> + <http://www.gnu.org/licenses/gpl.html> + + <http://www.jus.uio.no/sisu/gpl.fsf/toc.html> + <http://www.jus.uio.no/sisu/gpl.fsf/doc.html> + <http://www.jus.uio.no/sisu/gpl.fsf/plain.txt> + + * SiSU uses: + * Standard SiSU markup syntax, + * Standard SiSU meta-markup syntax, and the + * Standard SiSU object citation numbering and system + + * Hompages: + <http://www.jus.uio.no/sisu> + <http://www.sisudoc.org> + + * Download: + <http://www.jus.uio.no/sisu/SiSU/download.html> + + * Ralph Amissah + <ralph@amissah.com> + <ralph.amissah@gmail.com> + + ** Description: share sisu source markup file, copy it to output directory! + +=end +module SiSU_Markup + require "#{SiSU_lib}/sysenv" # sysenv.rb + include SiSU_Env + pwd=Dir.pwd + class Source + require 'fileutils' + include FileUtils + def initialize(opt) + @opt=opt + @env=SiSU_Env::Info_env.new(@opt.fns) + stub=@opt.fnb.gsub(/~[a-z]+$/,'') + @output_path="#{@env.path.output}/src" + end + def read + tell=SiSU_Screen::Ansi.new(@opt.cmd,'Share Document Source!',@opt.fns) + tell.green_hi_blue unless @opt.cmd =~/q/ + tell=SiSU_Screen::Ansi.new(@opt.cmd,"Copy sisu markup file to output directory","#{@opt.fns} -> #{@output_path}") + tell.warn unless @opt.cmd =~/q/ + mkdir_p("#{@env.path.output}/src") unless FileTest.directory?("#{@env.path.output}/src") + mkdir_p(@output_path) unless FileTest.directory?(@output_path) + if FileTest.directory?(@output_path) + unless @opt.fns =~/\.ssm$/; cp(@opt.fns,@output_path) + else + req=@opt.fns.gsub(/(.+?\.ssm)$/,'\1.sst') + file="#{@env.path.composite_file}/#{@opt.fnb}.ssm.sst" + if FileTest.file?(file); cp(file,"#{@output_path}/#{req}") + else print "did not find #{file} to copy" + end + end + else + tell=SiSU_Screen::Ansi.new(@opt.cmd,"Output directory does not exist","#{@opt.fns} -> #{@output_path}") + tell.warn unless @opt.cmd =~/q/ + exit + end + end + end +end +__END__ |