Ticket #2877: wiki_insert_spaces-0.9.diff
| File wiki_insert_spaces-0.9.diff, 1.6 kB (added by cboos, 2 years ago) |
|---|
-
trac/wiki/api.py
186 186 187 187 def get_wiki_syntax(self): 188 188 ignore_missing = self.config.getbool('wiki', 'ignore_missing_pages') 189 insert_spaces = self.config.getbool('wiki', 'insert_spaces') 189 190 yield (r"!?(?<!/)\b[A-Z][a-z]+(?:[A-Z][a-z]*[a-z/])+" 190 191 "(?:#[A-Za-z0-9]+)?(?=\Z|\s|[.,;:!?\)}\]])", 191 lambda x, y, z: self._format_link(x, 'wiki', y, y, 192 ignore_missing)) 192 lambda x, y, z: self._format_syntax_link(x, 'wiki', y, y, 193 insert_spaces, 194 ignore_missing)) 193 195 194 196 def get_link_resolvers(self): 195 yield ('wiki', self._format_ fancy_link)197 yield ('wiki', self._format_resolver_link) 196 198 197 def _format_fancy_link(self, f, n, p, l): 199 def _format_syntax_link(self, formatter, ns, page, label, 200 insert_spaces, ignore_missing): 201 if insert_spaces: 202 words = re.split(r"([A-Z])", page) 203 label = ' '.join([a+b for a,b in zip(words[1::2], words[::2][1:])]) 204 return self._format_link(formatter, ns, page, label, ignore_missing) 205 206 def _format_resolver_link(self, f, n, p, l): 198 207 return self._format_link(f, n, p, l, False) 199 208 200 209 def _format_link(self, formatter, ns, page, label, ignore_missing):
