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 | 
