[Lxml-checkins] r53874 - in lxml/trunk: . doc
scoder at codespeak.net
scoder at codespeak.net
Sat Apr 19 16:47:04 CEST 2008
Author: scoder
Date: Sat Apr 19 16:47:03 2008
New Revision: 53874
Modified:
lxml/trunk/ (props changed)
lxml/trunk/doc/mklatex.py
Log:
r4011 at delle: sbehnel | 2008-04-19 16:45:18 +0200
fix relative hyperrefs in doc PDF
Modified: lxml/trunk/doc/mklatex.py
==============================================================================
--- lxml/trunk/doc/mklatex.py (original)
+++ lxml/trunk/doc/mklatex.py Sat Apr 19 16:47:03 2008
@@ -112,12 +112,17 @@
header = []
titles = {}
- replace_relative_hyperrefs = re.compile(
- r'\\href\{([^/}]+)[.]([^.]+)\}\{([^}]+)\}').sub
+ replace_interdoc_hyperrefs = re.compile(
+ r'\\href\{([^/}]+)[.]([^./}]+)\}\{([^}]+)\}').sub
+ replace_docinternal_hyperrefs = re.compile(
+ r'\\href\{\\#([^}]+)\}').sub
def build_hyperref(match):
basename, extension, linktext = match.groups()
outname = BASENAME_MAP.get(basename, basename)
- if '#' in basename or extension != 'html':
+ if '#' in extension:
+ anchor = extension.split('#')[-1]
+ return r"\hyperref[%s]{%s}" % (anchor, linktext)
+ elif extension != 'html':
return r'\href{http://codespeak.net/lxml/%s.%s}{%s}' % (
outname, extension, linktext)
else:
@@ -125,7 +130,8 @@
def fix_relative_hyperrefs(line):
if r'\href' not in line:
return line
- return replace_relative_hyperrefs(build_hyperref, line)
+ line = replace_interdoc_hyperrefs(build_hyperref, line)
+ return replace_docinternal_hyperrefs(r'\hyperref[\1]', line)
# Building pages
for section, text_files in SITE_STRUCTURE:
More information about the lxml-checkins
mailing list