diff --git a/LinkTitles.php b/LinkTitles.php index 3392e40..c82e704 100755 --- a/LinkTitles.php +++ b/LinkTitles.php @@ -64,28 +64,39 @@ /// will process a page. If set to true in `LocalSettings.php`, links will /// be inserted whenever a page is edited and saved (unless 'minor /// modifications' is checked). If set to false, the extension will not do - /// anything when a page is edited - /// and saved. + /// anything when a page is edited and saved. Because saving a page + /// automatically invalidates the cache, the next time the page is + /// displayed (i.e., immediately after saving it), the extension might add + /// links if $wgLinkTitlesParseOnRender is set to true. /// @ingroup config $wgLinkTitlesParseOnEdit = true; - /// Less important configuration variable that determines when the + /// Important configuration variable that determines when the /// extension will process a page. If set to true in LocalSettings.php, - /// links will be inserted when a page is rendered for viewing. - /// @note Whether a page will be rendered or just fetched from the page - /// cache is unpredictable. Therefore, pages may not always be parsed for - /// possible links when this variable is set to true. - /// @warning Setting this to true has the potential to affect lots of page - /// views (but see note regarding cached pages). + /// links will be added whenever a page is rendered for viewing, after + /// templates have been expanded. + /// @note Since pages are cached, links may not appear immediately. + /// When links are added during the rendering process, they do not appear + /// as markup when the page is edited. This may or may not be the behavior + /// that you desire. Also note that if lots of templates or parser + /// functions are included, processing time may increase quite a bit, + /// causing gateway time-out errors of the web server. /// @ingroup config $wgLinkTitlesParseOnRender = false; /// Determines whether to parse text inside templates. If this is set to - /// true in LocalSettings.php, + /// true in LocalSettings.php, the parameters in a template will be parsed + /// (e.g., {{myTemplate|template parameter that may contain a page + /// title}}). + /// @note If pages are parsed when they are rendered (see + /// $wgLinkTitlesParseOnRender setting), this setting does not take + /// effect. /// @ingroup config $wgLinkTitlesSkipTemplates = false; /// Blacklist of page titles that should never be linked. + /// @note See also: __NOAUTOLINKTARGET__ magic word to allow wiki users to + /// blacklist a page dynamically. /// @ingroup config $wgLinkTitlesBlackList = array(); @@ -93,7 +104,6 @@ /// title on a page or all occurrences. Default is false: All occurrences /// on a page are linked. /// @ingroup config - $wgLinkTitlesFirstOnly = false; /// Determines whether a page title must occur at the start of a word in @@ -144,9 +154,8 @@ $wgLinkTitlesSmartMode = true; /// Determines whether or not to check if a page redirects to the current - /// page. Normally one would want to have the default behavior (true), but - /// this check requires a time-consuming database query for every page in - /// the wiki. + /// page. This check requires that the extension fetches the page content + /// of a potential target page from the database, which costs time. /// @note For maximum performance, set both $wgLinkTitlesCheckRedirect and /// $wgLinkTitlesEnableNoTargetMagicWord to false in LocalSettings.php. /// On the developer's machine, fetching the target page content increased @@ -154,8 +163,7 @@ /// (Intel Core i5-3320M, 2x 2.6 GHz, 16 GB RAM, PHP 5.5.9, Apache 2.4.7, /// MySQL 5.5.37, MediaWiki 1.23.0). If any of the two mentioned variables /// is set to true, a page content request will be performed for every - /// page in the wiki whenever a single page is edited or parsed in batch - /// mode. + /// page whose title occurs on a given page. /// @ingroup config $wgLinkTitlesCheckRedirect = true; @@ -170,14 +178,14 @@ /// (Intel Core i5-3320M, 2x 2.6 GHz, 16 GB RAM, PHP 5.5.9, Apache 2.4.7, /// MySQL 5.5.37, MediaWiki 1.23.0). If any of the two mentioned variables /// is set to true, a page content request will be performed for every - /// page in the wiki whenever a single page is edited or parsed in batch - /// mode. + /// page whose title occurs on a given page. /// @ingroup config $wgLinkTitlesEnableNoTargetMagicWord = true; /// Time limit for online batch processing. This determines the maximum /// amount of time in seconds that page processing will take before a /// refresh of the special page is issued. + /// @note See SpecialLinkTitles class. /// @ingroup config $wgLinkTitlesTimeLimit = 0.2; @@ -187,7 +195,7 @@ 'name' => 'LinkTitles', 'author' => '[https://www.mediawiki.org/wiki/User:Bovender Daniel Kraus]', 'url' => 'https://www.mediawiki.org/wiki/Extension:LinkTitles', - 'version' => '2.4.2', + 'version' => '3.0.0', 'descriptionmsg' => 'linktitles-desc' ); diff --git a/NEWS b/NEWS index 2a9d8bd..dc65b83 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,11 @@ +LinkTitles 3.0.0: 2014-06-13 +* Dramatically improved performance (especially apparent during batch + processing). +* Change algorithm for parse-on-render so that it also adds links to + expanded templates. +* Make code fully compatible with the current MediaWiki version 1.23 by + removing deprecated hooks. Minimum required MediaWiki version is now 1.21. + LinkTitles 2.4.1: 2014-06-06 * The ZIP file for 2.4.0 had missing files. @@ -108,4 +116,4 @@ LinkTitles 0.0.2: 2012-05-20 LinkTitles 0.0.1: 2012-05-20 * Initial release. -# vim: tw=76:fo=tqn:flp=^\\*\\s+ +# vim: tw=76:fo=tqn:fo=tcroqn:flp=^\\*\\s+:comments=\:# diff --git a/gh-pages b/gh-pages index 5c3bdd5..54c88f4 160000 --- a/gh-pages +++ b/gh-pages @@ -1 +1 @@ -Subproject commit 5c3bdd596d611059d57a55aa371ee78a82eb0e08 +Subproject commit 54c88f4ed7419638f818a7480955d1622eac4e5f diff --git a/release/LinkTitles-3.0.0.tar.gz b/release/LinkTitles-3.0.0.tar.gz new file mode 100644 index 0000000..94840eb Binary files /dev/null and b/release/LinkTitles-3.0.0.tar.gz differ