aboutsummaryrefslogtreecommitdiffhomepage
path: root/bin
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2012-10-03 00:16:59 -0400
committerRalph Amissah <ralph@amissah.com>2012-10-03 00:16:59 -0400
commitf6bc7d81dee102b438a9118a66a2f2a86382c729 (patch)
tree36fe1d991dbbcb34426bd17afa212086be937994 /bin
parentv4: 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/sisu82
l---------[-rw-r--r--]bin/sisu3170
l---------[-rw-r--r--]bin/sisu4171
3 files changed, 69 insertions, 354 deletions
diff --git a/bin/sisu b/bin/sisu
index f49cf748..f8123e8c 100644
--- a/bin/sisu
+++ b/bin/sisu
@@ -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