Commit Graph

62 Commits

Author SHA1 Message Date
Alex Schroeder
67650e3dc8 More UTF-8 fixes
All the source files containing non-ASCII characters needed to have
utf8 added. This will be necessary for user config files as well! The
regular expressions identifying page names had to be changed.
UrlEncode translates the string back to bytes before encoding it.
Cached RSS files are saved with UTF-8 encoding and therefore need
their meta-data changed (using the XML::RSS module to do this
correctly didn't work for some of the test files). The CGI object's
parameters, keywords and info_path are decoded correctly. File access
uses the UTF-8 layer (reading, writing, appending, access to the log
of recent changes, running sub processes with grep and diff).

The mac compatibility extension will also disable the use of grep if
non-ASCII characters are searched for because of an unexplained
problem with grep.
2012-05-24 18:08:42 +02:00
Alex Schroeder
f11e2a8731 getting rid of $Id$ tags in $WikiDescription
Replaced the $Id$ tags in $WikiDescription for all the modules and wiki.pl itself with a link to the source and an appropriate wiki page, if possible. This is shown in action=version and should help users figure out what another wiki has installed.
2012-04-19 02:18:45 +02:00
Alex Schroeder
2b44ac08ae (TocAfterApplyRule): Removed as a rule to be on
@MyAfterApplyRules.
(NewTocApplyRules): Moved code here and rewrote such as not to use
references where necessary.
2008-12-08 01:13:16 +00:00
Brian Curry
fae5852035 * wiki.pl (PrintWikiToHTML): Moved "@MyBeforeApplyRules"-specific
code into the ApplyRules() routine. This corrects a number of
subtle issues with the Crossbar module: especially, the Crossbar
module's erroneous handling of uploaded files. (Thanks, Ingo
Belka!)
* modules/crossbar.pl (CrossbarBeforeApplyRule): Corrected this
module's erroneous handling of uploaded files.
(RunMyRulesTocCrossbar): New function, offloading a Crossbar-
specific hack from "toc.pl" into this file. (This is still...
slightly hacky, but a bit better.)
* modules/toc.pl (TocRule): Allowed more than one table of contents
per page. Before, this module only recognized the first "<toc...>"
markup for a Wiki page: all subsequent "<toc...>" markup for that
page was studiously ignored. Correcting this improves integration
with the Crossbar module.
(RunMyRulesToc): Removed a Crossbar-specific hack.
(TocAfterApplyRule): Allowed more than one table of contents.
($TocIsApplyingAutomaticRules): New option, providing slightly
finer-grained control over Table of Contents handling.
2008-12-03 11:46:48 +00:00
Brian Curry
68b3a7f49e * modules/toc.pl (TocRule): Corrected a minor issue re: integration
with the Sidebar and Crossbar modules.
2008-11-24 03:48:17 +00:00
Brian Curry
78c55c5783 * modules/crossbar.pl: New module. Provides a sustainable
replacement for the Sidebar module, for all Sidebar users
requiring a cleaner integration of that module with other modules
such as "toc.pl" and "footnotes.pl". This new module also improves
Sidebar customizability by permitting users to place the "Crossbar"
at any position in any page.
* modules/forms.pl (FormsRules): Generalized so as to support both
the Sidebar and Crossbar modules.
* modules/toc.pl (RunMyRulesToc): Generalized so as to support both
the Sidebar and Crossbar modules.
* t/crossbar.t: New test suite, testing the Crossbar module.
2008-11-23 22:13:29 +00:00
Brian Curry
609cb49f86 * wiki.pl (PrintWikiToHTML): Slightly reordered function calls,
so as to optimize a few edge cases.
2008-11-16 01:00:04 +00:00
Brian Curry
af3c7169ea * modules/sidebar.pl: Refactored. This is a complete rewrite
removing all previous module-specific hacks. However, as it is a
rewrite, it may still have issues. (Fortunately, time is the mother
of invention and bug fixes.)
* modules/toc.pl: Refactored. This is a complete rewrite
removing all previous module-specific hacks. As with "sidebar.pl",
it may still have issues. That said -- I'm relatively proud of it,
and confident that it (should) stand up under rigorous scrutinies,
utilization, and brutalization.
* modules/forms.pl (FormsRule): Slightly revised, so as to comply
with the "sidebar.pl" refactoring.
2008-11-15 12:48:13 +00:00
Brian Curry
a2990672b0 * modules/toc.pl (TocInit): Context-sensitively set the
"$TocConvertH1TagsToH2Tags" option, if not already set.
Basically, we only need the option enabled when the Usemod
markup module is also installed.
2008-11-05 10:11:48 +00:00
Brian Curry
4efcaa483f * modules/toc.pl ($TocIsConvertingH1TagsToH2Tags): Renamed from
"$TocConvertH1TagsToH2Tags".
2008-11-05 06:19:18 +00:00
Brian Curry
de766937bb * modules/toc.pl ($TocConvertH1TagsToH2Tags): New option.
(TocRule): Use the new option; principally, this permits Wiki
administrators to prevent this module from converting
"<h1>...</h1>" tags "<h2>...</h2>" tags.
2008-11-05 03:30:04 +00:00
Alex Schroeder
1a36186e92 (TocRule, TocHeadings): Make sure no h1 headers
can be generated. This makes sure that the headings work just like
they do in the UseMod markup extension.
2008-10-25 16:31:26 +00:00
Brian Curry
e15360431a * modules/toc.pl: New perldoc-style documentation.
($TocHeaderText): New option.
(TocPageHtml): Introduced a Footnotes extension-specific hack, so
as to circumvent footnote indexing errors after generating the
table of contents.
2008-09-29 03:14:39 +00:00
Alex Schroeder
7a8c786b63 (TocHeadings): No idea why this solves the
problem with disappearing TOC. TocProcessing is allowed one more
level of recursion.
2007-11-14 22:06:05 +00:00
Alex Schroeder
503e695d07 Fix $ModulesDescription 2007-10-29 02:27:15 +00:00
Alex Schroeder
5ca00ac1cd (TocHeadings, TocPageHtml): Use TocPageHtml
instead of PageHtml. There, localize the HTML cache to make sure
the updated cache will in fact get saved.
2007-08-29 13:51:36 +00:00
Alex Schroeder
8c92362ae9 (TocRule): Add explanation. Renamed $key to
$id_required.
(TocHeadings): Use $TocPage as the template for the TOC.
2007-08-17 16:03:09 +00:00
Alex Schroeder
87bbfe4580 Fix license. 2007-08-17 00:31:33 +00:00
Alex Schroeder
f854111f0a Switch to GPLv3 2007-08-17 00:28:10 +00:00
Alex Schroeder
db6e419d75 (TocInit): Moved some init code here. 2007-08-17 00:24:14 +00:00
Alex Schroeder
219a5654e6 (TocHeadings): Major overhaul using a call to
PageHtml() to generate the HTML of the page without table of
contents, extracting the generated HTML headings, producing the
table of contents, and finish generating the real HTML of the
page.
2007-08-12 23:43:15 +00:00
Alex Schroeder
a48736e868 (TocRule, TocHeadings): Accept classes for <toc>
tag.
2007-02-15 21:58:02 +00:00
Alex Schroeder
1399dd7532 (TocInit): New.
(TocRule, TocHeadings): Simplify the code so that id attributes
are only generated for the "main" page (the one returned by
GetId).
2007-02-09 21:52:45 +00:00
Alex Schroeder
7369b67053 Updated copyright year. 2007-01-14 16:30:09 +00:00
Alex Schroeder
d263bf1095 (TocRule): Make it compatible with creole.pl. 2007-01-12 20:57:48 +00:00
Alex Schroeder
c8911784f6 ($TocAutomatic): Reset the default to 1, so that
all the relevant tests don't fail.
2006-12-27 22:06:30 +00:00
Ingo Belka
e4496f920b Typo in german-utf8.pl 2006-10-30 11:19:17 +00:00
Alex Schroeder
bd8b0a14a7 set $key.
(TocHeadings): Use $key.
2006-08-06 23:18:14 +00:00
Alex Schroeder
c16f104f7a (TocRule): Support headers markup headers if
headers.pl is loaded. Only support usemod markup headers if
usemod.pl is loaded.
(TocHeadings): Transform headers.pl headers into
usemod.pl headers so that the TOC can be generated correctly.
2006-07-14 07:16:59 +00:00
Alex Schroeder
02dbf15b42 update copyright years 2006-06-04 21:31:27 +00:00
Alex Schroeder
e93473e774 (TocHeadings): Add markup module escaping rules. 2006-05-26 07:48:33 +00:00
Alex Schroeder
05674bb8cc (TocHeadings): Fix usemod escaping rules. 2006-05-26 07:35:43 +00:00
Alex Schroeder
4416e85ce9 (TocRule): Skip the a element inside headings. 2006-03-16 19:22:53 +00:00
Alex Schroeder
635b3d50b4 (TocRule): Prevent H1. 2005-12-28 01:51:28 +00:00
Alex Schroeder
479ff98da6 (TocRule, TocHeadings): Change how anchor names are determined to
rule out conflicts with included pages such as the sidebar.
2005-12-08 12:42:36 +00:00
Alex Schroeder
691badf54a (TocRule): Only set $TocShown if $TocAutomatic is
true, and therefore a table of contents has in fact been shown.
This solves the problem of <toc> only working before the first
heading (and requiring no headings in the sidebar).
2005-12-08 10:34:49 +00:00
Alex Schroeder
f87673f345 (TocRule): Try to avoid empty element shorthand
for anchor id when $UseModMarkupInTitles is set.
2005-09-14 17:10:59 +00:00
Alex Schroeder
7a2183a120 (TocRule): Revers order of match and InElement
check as suggested by Markus Lude.  Without this patch, single
equal signs are eaten when $UseModMarkupInTitles is true.
2005-09-04 02:21:44 +00:00
Alex Schroeder
973f9d61cc ($TocAutomatic): New option to control whether the table of
contents is inserted automatically.
2005-08-28 17:38:22 +00:00
Alex Schroeder
458567ff46 (TocRule): Added <toc> rule. Fixed some markup
bugs (such that the toc div will now come after the closing of the
portrait div instead of nested within.
(TocHeadings): Protected pos in order to make this sub usable in
TocRule without the pos remembering workaround.
2005-08-28 17:31:01 +00:00
Alex Schroeder
a239f2782c (TocRule): Move TOC to just before the first
header.
(NewTocGetHeader): Deleted.
(TocHeadings): No longer take an argument.
2005-08-25 16:27:59 +00:00
Alex Schroeder
3f61118d27 (TocRule): AddHtmlEnvironment('p') 2004-12-05 04:03:32 +00:00
Alex Schroeder
9d6172cc13 (TocRule): Reset $PortraitSupportColor after
headers.
2004-12-03 08:43:33 +00:00
Alex Schroeder
bb2bd3bad5 ($MyColorDiv): Renamed to $PortraitSupportColorDiv. 2004-11-27 21:25:07 +00:00
Alex Schroeder
a02dc827ed (TocRule): Added PortraitSupportColorDiv support. 2004-11-27 21:18:02 +00:00
Alex Schroeder
b7c1ea6992 ($TocCounter): New variable.
(TocRule): Use it to provide an ID to the toc entry.
(TocWikiHeading): Deleted.
(TocHeadings): Use ID instead of encoded text.
2004-11-27 00:57:15 +00:00
Alex Schroeder
51e54c4fa3 (TocWikiHeading): Don't UrlEncode the anchor name. 2004-11-25 19:49:32 +00:00
Alex Schroeder
03f0dd9646 (TocHeadings, TocWikiHeading): Use FreeToNormal
on the anchor name.
2004-11-25 19:09:54 +00:00
Alex Schroeder
5cbc40d6b7 whitespace 2004-11-01 03:22:46 +00:00
Alex Schroeder
d57a3fb816 perltidy -pt=2 -ce -b toc.pl 2004-10-31 19:34:15 +00:00