aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v3/sysenv.rb
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2011-05-23 21:42:51 -0400
committerRalph Amissah <ralph@amissah.com>2011-05-23 21:47:08 -0400
commiteebc0d4f7af96cb387955cc25c0059f2e9dd63d3 (patch)
treea3cd69dd2256485981a0713c1f768939d16fa7b5 /lib/sisu/v3/sysenv.rb
parentv3: param, html, epub, xml, simplify file-naming with language code (diff)
v3: manifest, sysenv, "available outputs" relative paths; available languages
* relative paths to "available outputs" (for each dir structure), fix * show language versions published (needs 2 runs for manifest, polls output as to whether manifest exists)
Diffstat (limited to 'lib/sisu/v3/sysenv.rb')
-rw-r--r--lib/sisu/v3/sysenv.rb408
1 files changed, 282 insertions, 126 deletions
diff --git a/lib/sisu/v3/sysenv.rb b/lib/sisu/v3/sysenv.rb
index 127e4181..df86904b 100644
--- a/lib/sisu/v3/sysenv.rb
+++ b/lib/sisu/v3/sysenv.rb
@@ -445,6 +445,8 @@ module SiSU_Env
'language'
elsif by_filetype?
'filetype'
+ elsif by_filename?
+ 'filename'
else
'filename'
end
@@ -1442,6 +1444,81 @@ WOK
end
self
end
+ def path_rel_links
+ def html_scroll_2
+ if @env.output_dir_structure.by_language_code?
+ '../../'
+ elsif @env.output_dir_structure.by_filetype?
+ '../'
+ else
+ '../'
+ end
+ end
+ def html_seg_2
+ if @env.output_dir_structure.by_language_code?
+ '../../../'
+ elsif @env.output_dir_structure.by_filetype?
+ '../../'
+ else
+ '../'
+ end
+ end
+ def html_scroll_1
+ if @env.output_dir_structure.by_language_code?
+ '../'
+ elsif @env.output_dir_structure.by_filetype?
+ '../'
+ else
+ './'
+ end
+ end
+ def html_seg_1
+ if @env.output_dir_structure.by_language_code?
+ '../../'
+ elsif @env.output_dir_structure.by_filetype?
+ '../../'
+ else
+ './'
+ end
+ end
+ def default_output_css
+ if @env.output_dir_structure.by_language_code?
+ '../../'
+ elsif @env.output_dir_structure.by_filetype?
+ '../'
+ else
+ '../'
+ end
+ end
+ def html_scroll_css
+ default_output_css
+ end
+ def xhtml_css
+ default_output_css
+ end
+ def xml_css
+ default_output_css
+ end
+ def html_seg_css
+ if @env.output_dir_structure.by_language_code?
+ '../../../'
+ elsif @env.output_dir_structure.by_filetype?
+ '../../'
+ else
+ '../'
+ end
+ end
+ def manifest_css
+ if @env.output_dir_structure.by_language_code?
+ '../../_sisu/css'
+ elsif @env.output_dir_structure.by_filetype?
+ ''
+ else
+ '../'
+ end
+ end
+ self
+ end
def path #dir
def home
@sys.home
@@ -3028,81 +3105,6 @@ WOK
end
self
end
- def path_rel_links
- def html_scroll_2
- if @env.output_dir_structure.by_language_code?
- '../../'
- elsif @env.output_dir_structure.by_filetype?
- '../'
- else
- '../'
- end
- end
- def html_seg_2
- if @env.output_dir_structure.by_language_code?
- '../../../'
- elsif @env.output_dir_structure.by_filetype?
- '../../'
- else
- '../../'
- end
- end
- def html_scroll_1
- if @env.output_dir_structure.by_language_code?
- '../'
- elsif @env.output_dir_structure.by_filetype?
- '../'
- else
- '/'
- end
- end
- def html_seg_1
- if @env.output_dir_structure.by_language_code?
- '../../'
- elsif @env.output_dir_structure.by_filetype?
- '../../'
- else
- '/'
- end
- end
- def default_output_css
- if @env.output_dir_structure.by_language_code?
- '../../'
- elsif @env.output_dir_structure.by_filetype?
- '../'
- else
- '../'
- end
- end
- def html_scroll_css
- default_output_css
- end
- def xhtml_css
- default_output_css
- end
- def xml_css
- default_output_css
- end
- def html_seg_css
- if @env.output_dir_structure.by_language_code?
- '../../../'
- elsif @env.output_dir_structure.by_filetype?
- '../../'
- else
- '../'
- end
- end
- def manifest_css
- if @env.output_dir_structure.by_language_code?
- '../../_sisu/css'
- elsif @env.output_dir_structure.by_filetype?
- ''
- else
- '../'
- end
- end
- self
- end
def mkdir #check moved from SiSU_file, existing mkdir
def processing
def dal
@@ -3432,110 +3434,117 @@ WOK
end
def base_filename
def txt
+ ft='.txt'
if @env.output_dir_structure.by_language_code?
- @md.fnb + '.txt'
+ @md.fnb + ft
elsif @env.output_dir_structure.by_filetype?
- @md.fnb + @md.fn[:plain]
+ @md.fnb + @md.lang_code_insert + ft
else
- 'plain' + @md.fn[:plain]
+ 'plain' + @md.lang_code_insert + ft
end
end
def html_scroll
- #"#{@md.fnl[:pre]}scroll#{@md.fnl[:mid]}.html#{@md.fnl[:post]}"
+ ft='.html'
if @env.output_dir_structure.by_language_code?
- @md.fnb + '.html'
+ @md.fnb + ft
elsif @env.output_dir_structure.by_filetype?
- @md.fnb + @md.fn[:html]
+ @md.fnb + @md.lang_code_insert + ft
else
- 'scroll' + @md.fn[:html]
+ 'scroll' + @md.lang_code_insert + ft
end
end
def html_seg_index
- #"#{@md.fnl[:pre]}index#{@md.fnl[:mid]}.html#{@md.fnl[:post]}"
+ ft='.html'
if @env.output_dir_structure.by_language_code?
- 'toc.html'
+ 'toc' + ft
else
- 'index' + @md.fn[:html]
+ 'index' + @md.lang_code_insert + ft
end
end
def html_segtoc
- #"#{@md.fnl[:pre]}toc#{@md.fnl[:mid]}.html#{@md.fnl[:post]}"
+ ft='.html'
if @env.output_dir_structure.by_language_code?
- 'toc.html'
+ 'toc' + ft
else
- 'toc' + @md.fn[:html]
+ 'toc' + @md.lang_code_insert + ft
end
end
def html_book_index
+ ft='.html'
if @env.output_dir_structure.by_language_code?
- 'book_index.html'
+ 'book_index' + ft
else
- 'book_index.' + @md.fn[:html]
+ 'book_index' + @md.lang_code_insert + ft
end
end
def html_concordance
+ ft='.html'
if @env.output_dir_structure.by_language_code?
- 'concordance.html'
+ 'concordance' + ft
else
- 'concordance' + @md.fn[:html]
+ 'concordance' + @md.lang_code_insert + ft
end
end
def xhtml
+ ft= '.xhtml'
if @env.output_dir_structure.by_language_code?
- @md.fnb + '.xhtml'
+ @md.fnb + ft
elsif @env.output_dir_structure.by_filetype?
- @md.fnb + '.' + @md.fn[:xhtml]
+ @md.fnb + @md.lang_code_insert + ft
else
- 'scroll.' + @md.fn[:xhtml]
+ 'scroll' + @md.lang_code_insert + ft
end
end
def epub
+ ft='.epub'
if @env.output_dir_structure.by_language_code?
- @md.fnb + '.epub'
+ @md.fnb + ft
else
- @md.fnb + @md.fn[:epub]
+ @md.fnb + @md.lang_code_insert + ft
end
end
def odt
- #"#{@md.fnl[:pre]}#{@md.fnb}#{@md.fnl[:mid]}.odt#{@md.fnl[:post]}"
+ ft='.odt'
if @env.output_dir_structure.by_language_code?
- @md.fnb + '.odt'
+ @md.fnb + ft
elsif @env.output_dir_structure.by_filetype?
- @md.fnb + @md.fn[:odf]
+ @md.fnb + @md.lang_code_insert + ft
else
- 'opendocument' + @md.fn[:odf]
+ 'opendocument' + @md.lang_code_insert + ft
end
end
def xml_sax
+ ft='.sax.xml'
if @env.output_dir_structure.by_language_code?
- @md.fnb + '.sax.xml'
+ @md.fnb + ft
elsif @env.output_dir_structure.by_filetype?
- @md.fnb + '.' + @md.fn[:sax]
+ @md.fnb + @md.lang_code_insert + ft
else
- 'scroll.' + @md.fn[:sax]
+ 'scroll' + @md.lang_code_insert + ft
end
end
def xml_dom
+ ft='.dom.xml'
if @env.output_dir_structure.by_language_code?
- @md.fnb + '.dom.xml'
+ @md.fnb + ft
elsif @env.output_dir_structure.by_filetype?
- @md.fnb + '.' + @md.fn[:dom]
+ @md.fnb + @md.lang_code_insert + ft
else
- 'scroll.' + @md.fn[:dom]
+ 'scroll' + @md.lang_code_insert + ft
end
end
def pdf_p
if @env.output_dir_structure.by_language_code? \
or @env.output_dir_structure.by_filetype?
@md.fnb + '.portrait.'
- else 'portrait.'
+ else 'portrait' + @md.lang_code_insert + '.'
end
end
def pdf_l
if @env.output_dir_structure.by_language_code? \
or @env.output_dir_structure.by_filetype?
@md.fnb + '.landscape.'
- else 'landscape.'
+ else 'landscape' + @md.lang_code_insert + '.'
end
end
def pdf_p_a4
@@ -3569,43 +3578,47 @@ WOK
pdf_l + @md.fn[:pdf_l_legal]
end
def manpage
+ ft='.1'
if @env.output_dir_structure.by_language_code?
- @md.fnb + '.1'
+ @md.fnb + ft
else
- @md.fnb + '.' + @md.fn[:manpage]
+ @md.fnb + @md.lang_code_insert + ft
end
end
def hash_digest
+ ft='.txt'
if @env.output_dir_structure.by_language_code?
- @md.fnb + '.hash_digest.txt'
+ @md.fnb + '.hash_digest' + ft
elsif @env.output_dir_structure.by_filetype?
- @md.fnb + '.' + @md.fn[:digest]
+ @md.fnb + @md.lang_code_insert + ft
else
- 'digest.' + @md.fn[:digest]
+ 'digest' + @md.lang_code_insert + ft
end
end
def sitemap
+ ft='.xml'
if @env.output_dir_structure.by_language_code?
- @md.fnb + '.sitemap.xml'
+ @md.fnb + '.sitemap' + ft
elsif @env.output_dir_structure.by_filetype?
- @md.fnb + '.' + @md.fn[:sitemap]
+ @md.fnb + @md.lang_code_insert + ft
else
- 'sitemap.' + @md.fn[:sitemap]
+ 'sitemap' + @md.lang_code_insert + ft
end
end
def manifest
+ ft='.html'
if @env.output_dir_structure.by_language_code?
- @md.fnb + '.manifest.html'
+ @md.fnb + ft
elsif @env.output_dir_structure.by_filetype?
- @md.fnb + '.' + @md.fn[:manifest]
- else
- 'sisu_' + @md.fn[:manifest]
+ @md.fnb + @md.lang_code_insert + ft
+ else #fix
+ 'sisu_manifest' + @md.lang_code_insert + ft
end
end
def src
@md.fns
end
- def po
+ def po #check
(@fno.empty?) \
? (@md.fn[:po]) \
: (@fno + '.po')
@@ -3705,18 +3718,28 @@ WOK
def rcp
def abc
if @env.output_dir_structure.by_language_code?
- "#{output_path.stub.rcp}/#{@md.opt.lng}/#{ft}"
+ "#{output_path.stub.rcp}/#{@md.opt.lng}/#{@ft}"
elsif @env.output_dir_structure.by_filetype?
- "#{output_path.stub.rcp}/#{ft}"
+ "#{output_path.stub.rcp}/#{@ft}"
else
"#{output_path.stub.rcp}/#{@md.fnb}"
end
end
def ab
if @env.output_dir_structure.by_language_code?
- "#{output_path.stub.rcp}/#{@md.opt.lng}/#{ft}"
+ "#{output_path.stub.rcp}/#{@md.opt.lng}/#{@ft}"
else
- "#{output_path.stub.rcp}/#{ft}"
+ "#{output_path.stub.rcp}/#{@ft}"
+ end
+ end
+ self
+ end
+ def rel_sm
+ def ab
+ if @env.output_dir_structure.by_language_code? \
+ or @env.output_dir_structure.by_filetype?
+ '../' + @ft
+ else '.'
end
end
self
@@ -3724,6 +3747,21 @@ WOK
self
end
def output_path
+ def web_base
+ def dir
+ @env.path.webserv
+ end
+ def url
+ #"#{@env.url.root}"
+ end
+ def rel
+ '.'
+ end
+ def rcp
+ '.'
+ end
+ self
+ end
def stub
def dir
"#{@md.opt.f_pth[:pth_stub]}"
@@ -3768,6 +3806,9 @@ WOK
def rcp
"#{output_path.base.rcp}/pod"
end
+ def rel_sm
+ #"#{output_path.base.rel}/pod"
+ end
self
end
def sisugit
@@ -3805,6 +3846,18 @@ WOK
def rcp
set_path(ft).rcp.ab_src
end
+ def rel_sm
+ if @env.output_dir_structure.by_language_code?
+ ''
+ #"#{output_path.base.dir}/#{@md.opt.lng}/#{@ft}"
+ elsif @env.output_dir_structure.by_filetype?
+ ''
+ #"#{output_path.base.dir}/#{@ft}"
+ else
+ ''
+ #"#{output_path.base.dir}/#{@md.fnb}"
+ end
+ end
self
end
def po
@@ -3868,6 +3921,9 @@ WOK
def rcp
set_path(ft).rcp.abc
end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
self
end
def html_scroll
@@ -3886,6 +3942,9 @@ WOK
def rcp
set_path(ft).rcp.abc
end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
self
end
def html_seg
@@ -3904,6 +3963,9 @@ WOK
def rcp
set_path(ft).rcp.abc
end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
self
end
def html_concordance
@@ -3926,6 +3988,9 @@ WOK
def rcp
set_path(ft).rcp.abc
end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
self
end
def xhtml
@@ -3944,6 +4009,9 @@ WOK
def rcp
set_path(ft).rcp.abc
end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
self
end
def epub
@@ -3962,6 +4030,9 @@ WOK
def rcp
set_path(ft).rcp.ab
end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
self
end
def odt
@@ -3980,6 +4051,9 @@ WOK
def rcp
set_path(ft).rcp.abc
end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
self
end
def xml
@@ -3998,6 +4072,9 @@ WOK
def rcp
set_path(ft).rcp.abc
end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
self
end
def xml_sax
@@ -4024,6 +4101,9 @@ WOK
def rcp
set_path(ft).rcp.abc
end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
self
end
def hash_digest
@@ -4042,6 +4122,9 @@ WOK
def rcp
set_path(ft).rcp.abc
end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
self
end
def manifest
@@ -4078,6 +4161,15 @@ WOK
def rcp
set_path(ft).rcp.ab
end
+ def rel_sm
+ if @env.output_dir_structure.by_language_code?
+ ''
+ elsif @env.output_dir_structure.by_filetype?
+ ''
+ else
+ ''
+ end
+ end
self
end
def manpage
@@ -4096,6 +4188,15 @@ WOK
def rcp
set_path(ft).rcp.ab
end
+ def rel_sm
+ if @env.output_dir_structure.by_language_code?
+ ''
+ elsif @env.output_dir_structure.by_filetype?
+ ''
+ else
+ ''
+ end
+ end
self
end
def sitemaps
@@ -4131,6 +4232,61 @@ WOK
end
self
end
+ #def cgi
+ #end
+ def css
+ @d='_sisu/css'
+ def dir
+ output_path.base.dir + '/' + @d
+ end
+ def url
+ output_path.base.url + '/' + @d
+ end
+ def rel
+ @d
+ #output_path.base.rel + '/' + @d
+ end
+ def rcp
+ output_path.stub.rcp + '/' + @d
+ end
+ self
+ end
+ def images
+ @d='_sisu/image'
+ def dir
+ output_path.base.dir + '/' + @d
+ end
+ def url
+ output_path.base.url + '/' + @d
+ end
+ def rel
+ @d
+ #output_path.base.rel + '/' + @d
+ end
+ def rcp
+ output_path.stub.rcp + '/' + @d
+ end
+ self
+ end
+ def images_external
+ @d='_sisu/image_external'
+ def dir
+ output_path.base.dir + '/' + @d
+ end
+ def url
+ output_path.base.url + '/' + @d
+ end
+ def rel
+ output_path.base.rel + '/' + @d
+ end
+ def rcp
+ output_path.base.rcp + '/' + @d
+ end
+ self
+ end
+ #def css
+ # #"#{@env.path.output}/#{@env.path.style}"
+ #end
self
end
end