Bugfix: @include .tex (not .texi). Small cleanups.
* stepmake/bin/add-html-footer.py (i18n): New function.
+2005-01-31 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scripts/lilypond-book.py: Resurrect HTML links to .ly source.
+ Bugfix: @include .tex (not .texi). Small cleanups.
+
+ * stepmake/bin/add-html-footer.py (i18n): New function.
+
2005-01-31 Werner Lemberg <wl@gnu.org>
* mf/feta-nummer.mf: Removed. Unused.
OUTPUT: r'''
@iftex
-@include %(base)s-systems.texi
+@include %(base)s-systems.tex
@end iftex
''',
OUTPUTIMAGE: r'''@noindent
-@ifnottex
+@ifinfo
@image{%(base)s,,,[image of music],%(ext)s}
-@end ifnottex
+@end ifinfo
+@html
+<p>
+ <a href="%(base)s.ly">
+ <img align="center" valign="center"
+ border="0" src="%(image)s" alt="[image of music]">
+ </a>
+</p>
+@end html
''',
PRINTFILENAME: '''@file{%(filename)s}
def texstr_is_outdated (self):
if backend == 'ps':
return 0
-
+
base = self.basename ()
ok = self.ly_is_outdated ()
ok = ok and (os.path.exists (base + '.texstr'))
ext = ''
str += output[TEXINFO][OUTPUTIMAGE] % vars ()
- base = self.basename()
- str += output[format][OUTPUT] % vars()
+ base = self.basename ()
+ str += output[format][OUTPUT] % vars ()
return str
def output_latex (self):
verb = verbatim_texinfo (self.substring ('code'))
str += (output[TEXINFO][VERBATIM] % vars ())
if not QUOTE in self.options:
- str = output[TEXINFO][NOQUOTE] % vars()
+ str = output[TEXINFO][NOQUOTE] % vars ()
str += self.output_info ()
-
+
# str += ('@ifinfo\n' + self.output_info () + '\n@end ifinfo\n')
# str += ('@tex\n' + self.output_latex () + '\n@end tex\n')
# str += ('@html\n' + self.output_html () + '\n@end html\n')
% input_filename))
ly.exit (1)
return format
-
+
def do_file (input_filename):
# Ugh.
if not input_filename or input_filename == '-':
global process_cmd, format
format = guess_format (files[0])
- formats = "ps"
+ formats = 'ps'
if format == TEXINFO:
formats += ',png'
if process_cmd == '':
else:
s = s + footer
+ s = i18n (f, s)
#URUGRGOUSNGUOUNRIU
index = index_url
subst = globals ()
subst.update (locals())
-
-
s = s % subst
-
+
# urg
# maybe find first node?
fallback_web_title = '-- --'
open (f, 'w').write (s)
+
+localedir = 'out/locale'
+try:
+ import gettext
+ gettext.bindtextdomain ('newweb', localedir)
+ gettext.textdomain ('newweb')
+ _ = gettext.gettext
+except:
+ def _ (s):
+ return s
+underscore = _
+
+
+LANGUAGES = (
+ ('site', 'English'),
+ ('nl', 'Nederlands'),
+ )
+
+language_available = _ ("Other languages: %s.") % "%(language_menu)s"
+browser_language = _ ("Using <A HREF='%s'>automatic language selection</A>.") \
+ % "%(root_url)sabout/browser-language"
+
+LANGUAGES_TEMPLATE = '''\
+<P>
+ %(language_available)s
+ <BR>
+ %(browser_language)s
+</P>
+''' % vars ()
+
+def file_lang (file, lang):
+ (base, ext) = os.path.splitext (file)
+ base = os.path.splitext (base)[0]
+ if lang and lang != 'site':
+ return base + '.' + lang + ext
+ return base + ext
+
+
+def i18n (file_name, page):
+ # ugh
+ root_url = "/web/"
+
+ base_name = os.path.basename (file_name)
+
+ lang = ''
+ m = re.match ('.*[.]([^.]*).html', file_name)
+ if m:
+ lang = m.group (1)
+
+ # Find available translations of this page.
+ available = filter (lambda x: lang != x[0] \
+ and os.path.exists (file_lang (file_name, x[0])),
+ LANGUAGES)
+
+ # Strip .html, .png suffix for auto language selection.
+ page = re.sub ('''(href|src)=[\'"]([^/][.]*[^.:\'"]*)(.html(#[^"]*)|.png)[\'"]''',
+ '\\1="\\2"', page)
+
+ # Create language menu.
+ language_menu = ''
+ for (prefix, name) in available:
+ lang_file = file_lang (base_name, prefix)
+ language_menu += '<a href="%(lang_file)s">%(name)s</a>' % vars ()
+
+ languages = ''
+ if language_menu:
+ languages = LANGUAGES_TEMPLATE % vars ()
+
+ return page + languages
+ ## end i18n
+
for f in files:
do_file (f)