diff options
author | Ralph Amissah <ralph@amissah.com> | 2012-10-03 00:16:59 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2012-10-03 00:16:59 -0400 |
commit | f6bc7d81dee102b438a9118a66a2f2a86382c729 (patch) | |
tree | 36fe1d991dbbcb34426bd17afa212086be937994 /bin | |
parent | v4: bin/sisu $0, make possible to run sisu command on/within project dir tree (diff) |
v4: bin/sisu $*, hub, make possible to specify dir path for markup files
* bin/sisu4 & bin/sisu3 now syslinks to bin/sisu
Diffstat (limited to 'bin')
-rw-r--r-- | bin/sisu | 82 | ||||
l---------[-rw-r--r--] | bin/sisu3 | 170 | ||||
l---------[-rw-r--r--] | bin/sisu4 | 171 |
3 files changed, 69 insertions, 354 deletions
@@ -53,19 +53,34 @@ WOK $VERBOSE=nil $KCODE='u' if RUBY_VERSION < '1.9' argv=$* - SiSU_version_dir=case argv.inspect - when /"(?:--v3)"/ - check_sisu_stable_ruby_version? - 'v3' - when /"(?:--v4)"/ - check_sisu_stable_ruby_version? - 'v4' - when /"(?:--dev)"/ - check_sisu_dev_ruby_version? - 'v4' + SiSU_called_from_directory=Dir.pwd + if $0 !~/\bsisu[34]$/ + SiSU_version_dir=case argv.inspect + when /"(?:--v3)"/ + check_sisu_stable_ruby_version? + 'v3' + when /"(?:--v4)"/ + check_sisu_stable_ruby_version? + 'v4' + when /"(?:--dev)"/ + check_sisu_dev_ruby_version? + 'v4' + else + check_sisu_stable_ruby_version? + 'v4' + end else - check_sisu_stable_ruby_version? - 'v4' + SiSU_version_dir=case $0 + when /\bsisu3$/ + check_sisu_stable_ruby_version? + 'v3' + when /\bsisu4$/ + check_sisu_stable_ruby_version? + 'v4' + else + check_sisu_stable_ruby_version? + 'v4' + end end #% $0 e=Config::CONFIG @@ -92,10 +107,47 @@ WOK nil end SiSU_path_lib="#{require_hub_path(sisu_path_specified_lib_)}" -#% - SiSU_lib="sisu/#{SiSU_version_dir}" +#% $* require "#{SiSU_path_lib}/hub" - SiSU::HubMaster.new(argv) + lng_lst = %w[am bg bn br ca cs cy da de el en eo es et eu fi fr ga gl he hi hr hy ia is it la lo lt lv ml mr nl nn no oc pl pt pt_BR ro ru sa se sk sl sq sr sv ta te th tk tr uk ur us vi] + lng_lst_rgx=lng_lst.join('|') + argv_sub_files={} + argv_sub_mods=[] + argv.each do |x| + if x =~/^-+/ + argv_sub_mods << x + elsif x =~/\.ss[tm]/ + if x =~/\// + markup_path,markup_file =(/(\S+\/)((?:#{lng_lst_rgx})?[^\/]+)/).match(x)[1,2] + if not argv_sub_files[markup_path] + argv_sub_files[markup_path]=[] + end + argv_sub_files[markup_path] << markup_file + else + if not argv_sub_files['./'] + argv_sub_files['./']=[] + end + argv_sub_files['./'] << x + end + end + end + if argv_sub_files.length > 0 + argv_sub_files.each_pair do |markup_dir,markup_file| + $sisu_document_markup_directory=markup_dir.gsub(/\/$/,'') + argv_sub=argv_sub_mods + markup_file + if FileTest.directory?(markup_dir) + system("cd #{markup_dir}") + Dir.chdir(markup_dir) + SiSU::HubMaster.new(argv_sub) + Dir.chdir(SiSU_called_from_directory) + system("cd #{SiSU_called_from_directory}") + else p "Error directory specified #{markup_dir} not found" + end + end + else + $sisu_document_markup_directory=Dir.pwd.gsub(/\/$/,'') + SiSU::HubMaster.new(argv) + end rescue STDERR.puts 'ERROR' STDERR.puts $! diff --git a/bin/sisu3 b/bin/sisu3 index e1d30570..b4999d51 100644..120000 --- a/bin/sisu3 +++ b/bin/sisu3 @@ -1,169 +1 @@ -#!/usr/bin/env ruby -# encoding: utf-8 -#SiSU: copyright (C) 1997 - 2012 Ralph Amissah; License GPL, see appended program information -begin - def ruby_version_ok?(base_version) - @v ||=RUBY_VERSION.scan(/\d+/) - vb=base_version.scan(/\d+/) - if @v[0].to_i < vb[0].to_i \ - or @v[0].to_i == vb[0].to_i \ - && @v[1].to_i < vb[1].to_i \ - or @v[0].to_i == vb[0].to_i \ - && @v[1].to_i == vb[1].to_i \ - && @v[1].to_i < vb[2].to_i - raise "Please, use Ruby#{vb} or later, current Ruby #{RUBY_VERSION}" - else check_incompatible_ruby_build? - end - end - def check_incompatible_ruby_build? - require 'rbconfig' - e=Config::CONFIG - if RUBY_VERSION == '1.9.2' \ - && e['PATCHLEVEL'].to_i < 180 - raise <<WOK -There are known issues with early versions of ruby1.9.2. -Please, use Ruby 1.9.2p180 or later, -current version #{e['RUBY_PROGRAM_VERSION']}p#{e['PATCHLEVEL']} -#{%x{ruby -v}.strip.to_s} - -WOK - end - end - def check_sisu_legacy_ruby_version? - rbv_sisu_legacy='1.9.2' #'1.8.7' - ruby_version_ok?(rbv_sisu_legacy) - end - def check_sisu_stable_ruby_version? - rbv_sisu_stable='1.9.2' - ruby_version_ok?(rbv_sisu_stable) - end - def check_sisu_dev_ruby_version? - rbv_sisu_dev='1.9.2' - ruby_version_ok?(rbv_sisu_dev) - end - def require_hub_path(sisu_path_specified_lib_) - sisu_path_lib=if sisu_path_specified_lib_ \ - && FileTest.file?("#{sisu_path_specified_lib_}/#{SiSU_lib}/hub.rb") - "#{sisu_path_specified_lib_}/#{SiSU_lib}" - else - SiSU_lib - end - end -#% sisu branch - $VERBOSE=nil - $KCODE='u' if RUBY_VERSION < '1.9' - argv=$* - SiSU_version_dir=case argv.inspect - when /"(?:--v3)"/ - check_sisu_stable_ruby_version? - 'v3' - when /"(?:--v4)"/ - check_sisu_stable_ruby_version? - 'v4' - when /"(?:--dev)"/ - check_sisu_dev_ruby_version? - 'v4' - else - check_sisu_stable_ruby_version? - 'v3' - end -#% $0 - e=Config::CONFIG - SiSU_lib="sisu/#{SiSU_version_dir}" - sisu_path_specified_lib_=if $0 =~ /^#{e['bindir']}\/sisu[34]?$/ - nil - elsif $0 !~ /^#{e['bindir']}\/sisu[34]?$/ \ - && $0 =~/bin\/sisu[34]?$/ \ - && FileTest.file?($0) - $0.sub(/bin\/sisu[34]?$/,'lib'). - sub(/^lib$/,"#{Dir.pwd}/lib") - elsif $0 !~ /^#{e['bindir']}\/sisu[34]?$/ \ - && $0 =~/^sisu[34]?$/ \ - && FileTest.file?($0) - $0.sub(/sisu[34]?$/,'../lib') - #bug, relative path does not work for sisu version information - else - nil - end - SiSU_path_specified_Version_=if sisu_path_specified_lib_ - sisu_path_specified_lib_.sub(/\/lib/, - "/data/sisu/#{SiSU_version_dir}/v/version.yml") - else - nil - end - SiSU_path_lib="#{require_hub_path(sisu_path_specified_lib_)}" -#% - SiSU_lib="sisu/#{SiSU_version_dir}" - require "#{SiSU_path_lib}/hub" - SiSU::HubMaster.new(argv) -rescue - STDERR.puts 'ERROR' - STDERR.puts $! - STDERR.puts $@ - require 'rbconfig' - e=Config::CONFIG - puts %{ - #{%x{ruby -v}.strip.to_s} - #{RUBY_VERSION} - ruby version: #{e['RUBY_PROGRAM_VERSION']}p#{e['PATCHLEVEL']} - ruby named: #{e['ruby_version']} - rubylib: #{e['rubylibdir']} - rubylib local: #{e['sitelibdir']} - } - system(%{echo " - system RUBYPATH: ${RUBYPATH} - system RUBYLIB: ${RUBYLIB} - "}) -end -__END__ - - * Name: SiSU - - * Description: a framework for document structuring, publishing and search - - * Author: Ralph Amissah - - * Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012 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.sisudoc.org/sisu/en/manifest/gpl.fsf.html> - - * 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.sisudoc.org/sisu/en/SiSU/download.html> - - * Ralph Amissah - <ralph@amissah.com> - <ralph.amissah@gmail.com> +sisu
\ No newline at end of file diff --git a/bin/sisu4 b/bin/sisu4 index ec515326..b4999d51 100644..120000 --- a/bin/sisu4 +++ b/bin/sisu4 @@ -1,170 +1 @@ -#!/usr/bin/env ruby -# encoding: utf-8 -#SiSU: copyright (C) 1997 - 2012 Ralph Amissah; License GPL, see appended program information -begin - def ruby_version_ok?(base_version) - @v ||=RUBY_VERSION.scan(/\d+/) - vb=base_version.scan(/\d+/) - if @v[0].to_i < vb[0].to_i \ - or @v[0].to_i == vb[0].to_i \ - && @v[1].to_i < vb[1].to_i \ - or @v[0].to_i == vb[0].to_i \ - && @v[1].to_i == vb[1].to_i \ - && @v[1].to_i < vb[2].to_i - raise "Please, use Ruby#{vb} or later, current Ruby #{RUBY_VERSION}" - else check_incompatible_ruby_build? - end - end - def check_incompatible_ruby_build? - require 'rbconfig' - e=Config::CONFIG - if RUBY_VERSION == '1.9.2' \ - && e['PATCHLEVEL'].to_i < 180 - raise <<WOK -There are known issues with early versions of ruby1.9.2. -Please, use Ruby 1.9.2p180 or later, -current version #{e['RUBY_PROGRAM_VERSION']}p#{e['PATCHLEVEL']} -#{%x{ruby -v}.strip.to_s} - -WOK - end - end - def check_sisu_legacy_ruby_version? - rbv_sisu_legacy='1.9.2' #'1.8.7' - ruby_version_ok?(rbv_sisu_legacy) - end - def check_sisu_stable_ruby_version? - rbv_sisu_stable='1.9.2' - ruby_version_ok?(rbv_sisu_stable) - end - def check_sisu_dev_ruby_version? - rbv_sisu_dev='1.9.2' - ruby_version_ok?(rbv_sisu_dev) - end - def require_hub_path(sisu_path_specified_lib_) - sisu_path_lib=if sisu_path_specified_lib_ \ - && FileTest.file?("#{sisu_path_specified_lib_}/#{SiSU_lib}/hub.rb") - "#{sisu_path_specified_lib_}/#{SiSU_lib}" - else - SiSU_lib - end - end -#% sisu branch - $VERBOSE=nil - $KCODE='u' if RUBY_VERSION < '1.9' - argv=$* - SiSU_version_dir=case argv.inspect - when /"(?:--v3)"/ - check_sisu_stable_ruby_version? - 'v3' - when /"(?:--v4)"/ - check_sisu_stable_ruby_version? - 'v4' - when /"(?:--dev)"/ - check_sisu_dev_ruby_version? - 'v4' - else - check_sisu_stable_ruby_version? - 'v4' - end -#% $0 - e=Config::CONFIG - SiSU_lib="sisu/#{SiSU_version_dir}" - sisu_path_specified_lib_=if $0 =~ /^#{e['bindir']}\/sisu[34]?$/ - nil - elsif $0 !~ /^#{e['bindir']}\/sisu[34]?$/ \ - && $0 =~/bin\/sisu[34]?$/ \ - && FileTest.file?($0) - $0.sub(/bin\/sisu[34]?$/,'lib'). - sub(/^lib$/,"#{Dir.pwd}/lib") - elsif $0 !~ /^#{e['bindir']}\/sisu[34]?$/ \ - && $0 =~/^sisu[34]?$/ \ - && FileTest.file?($0) - $0.sub(/sisu[34]?$/,'../lib') - #bug, relative path does not work for sisu version information - else - nil - end - SiSU_path_specified_Version_=if sisu_path_specified_lib_ - sisu_path_specified_lib_.sub(/\/lib/, - "/data/sisu/#{SiSU_version_dir}/v/version.yml") - else - nil - end - SiSU_path_lib="#{require_hub_path(sisu_path_specified_lib_)}" -#% - SiSU_lib="sisu/#{SiSU_version_dir}" - require "#{SiSU_path_lib}/hub" - SiSU::HubMaster.new(argv) -rescue - STDERR.puts 'ERROR' - STDERR.puts $! - STDERR.puts $@ - require 'rbconfig' - e=Config::CONFIG - puts %{ - #{%x{ruby -v}.strip.to_s} - #{RUBY_VERSION} - ruby version: #{e['RUBY_PROGRAM_VERSION']}p#{e['PATCHLEVEL']} - ruby named: #{e['ruby_version']} - rubylib: #{e['rubylibdir']} - rubylib local: #{e['sitelibdir']} - } - system(%{echo " - system RUBYPATH: ${RUBYPATH} - system RUBYLIB: ${RUBYLIB} - "}) -#ensure -end -__END__ - - * Name: SiSU - - * Description: a framework for document structuring, publishing and search - - * Author: Ralph Amissah - - * Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2011, 2012 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.sisudoc.org/sisu/en/manifest/gpl.fsf.html> - - * 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.sisudoc.org/sisu/en/SiSU/download.html> - - * Ralph Amissah - <ralph@amissah.com> - <ralph.amissah@gmail.com> +sisu
\ No newline at end of file |