[pmwiki-users] Repsonse to wikcal/pmcal broken links

John Rankin john.rankin at affinity.co.nz
Mon Sep 12 16:45:45 CDT 2005


On Tuesday, 13 September 2005 9:16 AM, Rene Visco <rvisco at csdr-cde.ca.gov> wrote:
>"Broken"...what i mean is that there are nonexistent pages with the 
>ugly tiny question marks on every date and on the links to 
>next/previous months, too.  At the first glance, there are a lot of 
>question marks.
>
>WikiCal already doesn't incorporate the "question marks" on every date 
>or month.  WikiCal just incorporated the dates/months without needing 
>to stress the nonexistent links with question marks like PmCal
>does.

The code to avoid ?-styled links for non-existent days would be very 
easy to add to PmCal, if desired. Basically, the wikicalendar script
recognises pages whose dates are names and gives pmwiki an alternate
$LinkPageCreateFmt string. It should be possible to use the exact
same markup and technique:


// Allow page names to be all numerics.
$CalendarPattern = "[0-9]{8}";
$WikiDateCreateFmt = 
      "<a class='nonexistent-date' href='\$PageUrl?action=edit'>\$LinkText</a>";

## process date links
Markup('datelink','>inline',
    "/\[\[($GroupPattern(?:[\/.])$CalendarPattern)\|(.*?)\]\]/e",
    "Keep(MakeDateLink(\$pagename,'$1','$2'),'L')");

function MakeDateLink($pagename,$ref,$btext) {
	global $LinkPageCreateFmt,$WikiDateCreateFmt,$day_as_wiki;
	if ($day_as_wiki==true) 
		return MakeLink($pagename,$ref,$btext);
	$hold = $LinkPageCreateFmt;
	$LinkPageCreateFmt = $WikiDateCreateFmt;
	$r = MakeLink($pagename,$ref,$btext);
	$LinkPageCreateFmt = $hold;
	return $r;
}

The code subsequently sets up entries of the form [[Group.yyyymmdd|dd]].

Hope this helps.

-- 
JR
--
John Rankin






More information about the pmwiki-users mailing list