Hello,

PmWiki version 2.3.1 was published today, and is available at:

        * https://www.pmwiki.org/pub/pmwiki/pmwiki-2.3.1.tgz
        * https://www.pmwiki.org/pub/pmwiki/pmwiki-2.3.1.zip
        * svn://www.pmwiki.org/pmwiki/tags/latest

January 2022 is the 20th year anniversary of the release of PmWiki version 0.1, and 13 years since I (Petko) became core developer. This merited additional work and effort with hopefully interesting and useful new production.

PHP 5.3 - 8.1 compatibility

        * PmWiki 2.3.1 includes updates for PHP 8.0 and 8.1.
* Consequently, it requires PHP version 5.3 (released 2009) or more recent.

PmSyntax. A new function PmSyntax was added to the core, and enabled on pmwiki.org.

* It highlights PmWiki syntax in the documentation, and possibly in the basic edit form. * It only highlights PmWiki markup, and is independent from Highlight.js. See Cookbook:PmSyntax [1] and $EnablePmSyntax [2]. * It should highlight most core language features and those of many recipes, see this mashup of various markups [3]. * Developers can add custom rules in the $CustomSyntax [4] array, see Cookbook:CustomSyntax [5]. * The (:markup:) directive can now have class=norender to only show the source code without processing it. This may be useful, together with PmSyntax, in 2 cases: writing/discussing markup code without actually running it, or working on PageList Templates where you want to see and edit them highlighted.

Improvements to the edit form

* PmSyntax (above) can be enabled to highlight the PmWiki markup the edit form, and should work in recent standards-compliant browsers. * The variable $EnableNotSavedWarning [6] is now enabled by default. Add to config.php $EnableNotSavedWarning [6] = 0; to disable it. * A new variable $EnableIncludedPages [7] allows listing of other pages included from the currently edited page, with links to see or edit them. When the variable is enabled, the list of pages appears in the edit form, after the text area, in a collapsed <details> element. The list includes pages from which text, text variables, or templates are included from the edited page. This is enabled on pmwiki.org if you wish to preview it. * The $EnableEditAutoText [8] function will now feel more like other text editors by removing the automatically inserted bullet when Enter is pressed twice.

Dates and times, monitoring, review

* The {(ftime)} Markup expression now accepts a new format '%o' for the ordinal suffix of the date. * The Notify [9] feature now accepts a tz= timezone specifier for individual subscribers. See Notify#tz [10]. * A function based on Cookbook:LocalTimes [11] was added to the core. See the recipe page [11] for the differences. You can continue using the recipe, or disable it and enable the core function.
        * New core variables $EnableLocalTimes [12], $CurrentLocalTime [13].
* New markup @2022-01-09T08:35:00Z output as a <time> element, formatted via $TimeFmt [14]; localized if $EnableLocalTimes [12]. * Added a variable $EnableRecentUploads [15] which makes it easy to enable the Recent Uploads feature on AllRecentChanges. This is a basic format that may be good enough for many wikis. For more options, see Cookbook:RecentUploadsLog [16]. * The default $RecentChangesFmt [17] now use the variable $CurrentLocalTime [13] instead of $CurrentTime [18]. In the wiki source text it saves the timestamps in a portable time format in GMT, which is then shown formatted per $TimeFmt [14] (wiki timezone). It looks just like $CurrentTime [18] did previously, but can be converted to the visitor's time zone if LocalTimes is enabled. If you have custom $RecentChangesFmt [17] entries that use $CurrentTime [18], nothing will change for you, but you may want to update these with $CurrentLocalTime [13] if you want to benefit from localization. * The "page history" page now has CSS classes for the delay between edits: diffday, diffweek, diffmonth, diffyear. These allow styling of vertical spacing between individual edits in page histories. See Cookbook:DiffDelay [19] for an example. * The page history can now have a "hidden" edit type, in addition to "minor". This is intended to be used by recipes in order to hide, rather than delete, some edits from the page history. A couple of new recipes using this feature will be added in the next few days.

PageLists, categories, backlinks

* PageLists [20] now accept a new argument category=Name which lists only pages declared in the category with the markup [[!Name]], and does not include pages simply linking to [[Category/Name]] (unless they also contain [[!Name]]).

* The differentiation between links to !Name and Category.Name requires the pages containing category links to be re-indexed; see Cookbook:ReindexCategories [21] which can automate this.

* Also in PageLists, the arguments link= and category= now accept multiple and negative specifiers, and wildcards. See PageLists#wildcards [22]. If you previously used the recipe Cookbook:PageListMultiTargets [23], please disable it when you upgrade to 2.3.0. * Category links can now have a different text, like [[!Name|Text]], and the markup generally behaves like other links, see PITS:01095 [24].

Styles (core skin PmWiki-responsive)

* Collapsible sections details+summary will now change the cursor to the "pointer" style over the clickable element, and the color will change to "navy". * The core table of contents function ($PmTOC [25]) has had its styles updated, in order to properly indent long sub-headings.

Core helper functions

* A new helper function PSFT() can now be used as an _almost_ drop-in replacement for strftime() and gmstrftime() which became deprecated in PHP 8.1. Please review the documentation at Functions#PSFT [26]. If you have local configurations or recipes using strftime() you can change for PSFT() now. * A helper function DownloadUrl($pagename [27], $path) was added, see Functions#DownloadUrl [28]. It can simplify the handling of attached files by recipes.

Last but not least, the documentation in English has been updated with the latest development (and in German by MFWolff).

See also Upgrading from version 2.2.145 to 2.3.0 [29].

Note: _Our release script wasn't configured for a change from 2.2.x to 2.3.x and unexpectedly zeroed the $VersionNum variable which broke some settings in 2.3.0. This quick 2.3.1 release fixes it._

As always, if you have any questions or difficulties, please let us know.

Petko



Links:
------
[1] https://www.pmwiki.org/wiki/Cookbook/PmSyntax
[2] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#EnablePmSyntax
[3] https://www.pmwiki.org/wiki/Test/PmSyntax
[4] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#CustomSyntax
[5] https://www.pmwiki.org/wiki/Cookbook/CustomSyntax
[6] https://www.pmwiki.org/wiki/PmWiki/EditVariables#EnableNotSavedWarning
[7] https://www.pmwiki.org/wiki/PmWiki/EditVariables#EnableIncludedPages
[8] https://www.pmwiki.org/wiki/PmWiki/EditVariables#EnableEditAutoText
[9] https://www.pmwiki.org/wiki/PmWiki/Notify
[10] https://www.pmwiki.org/wiki/PmWiki/Notify#tz
[11] https://www.pmwiki.org/wiki/Cookbook/LocalTimes
[12] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#EnableLocalTimes
[13] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#CurrentLocalTime
[14] https://www.pmwiki.org/wiki/PmWiki/BasicVariables#TimeFmt
[15] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#EnableRecentUploads
[16] https://www.pmwiki.org/wiki/Cookbook/RecentUploadsLog
[17] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#RecentChangesFmt
[18] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#CurrentTime
[19] https://www.pmwiki.org/wiki/Cookbook/DiffDelay
[20] https://www.pmwiki.org/wiki/PmWiki/PageLists
[21] https://www.pmwiki.org/wiki/Cookbook/ReindexCategories
[22] https://www.pmwiki.org/wiki/PmWiki/PageLists#wildcards
[23] https://www.pmwiki.org/wiki/Cookbook/PageListMultiTargets
[24] https://www.pmwiki.org/wiki/PITS/01095
[25] https://www.pmwiki.org/wiki/PmWiki/LayoutVariables#PmTOC
[26] https://www.pmwiki.org/wiki/PmWiki/Functions#PSFT
[27] https://www.pmwiki.org/wiki/PmWiki/BasicVariables#pagename
[28] https://www.pmwiki.org/wiki/PmWiki/Functions#DownloadUrl
[29] https://www.pmwiki.org/wiki/PmWiki/Upgrades#v22v23
_______________________________________________
pmwiki-users mailing list
pmwiki-users@pmichaud.com
http://www.pmichaud.com/mailman/listinfo/pmwiki-users

Reply via email to