diff options
author | Ralph Amissah <ralph@amissah.com> | 2015-01-15 23:38:04 -0500 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2015-01-19 23:46:16 -0500 |
commit | 45d6d69d89fb6a8ad36be13f22c6af0b2a7cbc9a (patch) | |
tree | 8f46e71fff365c1ad2dcbf2a8497b87dcd7973f6 /lib/sisu/develop/src_sisupod_sstm.rb | |
parent | d: po4a_shelf, shelf current po4a, change tack (diff) |
d: po4a, initialize either directly with sst or passed through ao
* creates source language directory with source markup files
(.sst .ssm .ssi) & the po4a.cfg configuration file, then runs
po4a to place the markup source under po4a translation
management
* --po4a-sst uses original sisu markup source as described above
* --po4a-ao passes sisu source markup through document abstraction
before converting back to a sisu markup source markup equivalent
of the original document, it does this in an attempt to get more
uniform output, and put footnotes for example if any in a form
that is easier to translate
--po4a-ao -v --trans-en:fr,es en/live-manual.ssm
--po4a-ao -v --trans-en:fr,es en/live-manual.ssm \
es/live-manual.ssm
in the latter example also runs sisu marked up "es" document
through document abstraction and returns a sisu markup source
version of the document, and against this gettext is (or can be
run) to (attempt to) have the source and target languages
together in the po/es file
* all quite rough, will need to be revisited,
* these for now replace the renamed --po4a-shelf (formerly --po4a)
Diffstat (limited to 'lib/sisu/develop/src_sisupod_sstm.rb')
-rw-r--r-- | lib/sisu/develop/src_sisupod_sstm.rb | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/lib/sisu/develop/src_sisupod_sstm.rb b/lib/sisu/develop/src_sisupod_sstm.rb new file mode 100644 index 00000000..e1ffd8cb --- /dev/null +++ b/lib/sisu/develop/src_sisupod_sstm.rb @@ -0,0 +1,109 @@ +# encoding: utf-8 +=begin + +* Name: SiSU + +** Description: documents, structuring, processing, publishing, search +*** share sisu source markup file, copy it to output directory! + +** Author: Ralph Amissah + <ralph@amissah.com> + <ralph.amissah@gmail.com> + +** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 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> + +** Git + <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary> + <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/develop/src_sisupod_sstm.rb;hb=HEAD> + +=end +module SiSU_Markup + require_relative 'src_shared' # src_shared.rb + include SiSU_Source + require_relative 'se' # se.rb + include SiSU_Env + class Source_Sisupod < SiSU_Source::SiSUpodSource + def initialize(opt,build=nil,place=nil) + super(opt,build,place) + @opt=opt + end + def read + unless @opt.act[:quiet][:set]==:on + (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) \ + ? SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Share document markup text source', + @opt.fns + ).cyan_hi_blue + : SiSU_Screen::Ansi.new( + @opt.act[:color_state][:set], + 'Share document markup text source', + @opt.fns + ).cyan_title_hi + end + if FileTest.directory?(@path_pod[:fnb]) + FileUtils::mkdir_p(@file.output_path.src.dir) \ + unless FileTest.directory?(@file.output_path.src.dir) + v=(@opt.act[:maintenance][:set]==:on) \ + ? 'v' : '' + system(%{ + rsync -a#{v} #{@path_pod[:fnb]} #{@file.output_path.sisupod.dir} + chbk=`pwd` + cd #{@file.output_path.sisupod.dir} + for I in `find -type d` ; do chmod 755 $I ; done + for I in `find -type f` ; do chmod 644 $I ; done + cd ${chbk} + }) + else + if (@opt.act[:verbose][:set]==:on \ + || @opt.act[:verbose_plus][:set]==:on \ + || @opt.act[:maintenance][:set]==:on) + SiSU_Screen::Ansi.new( + '', + "#{@opt.fno} not available" + ).blue_tab + end + end + end + end +end +__END__ |