[pmwiki-users] Further PmWiki Development

Ben Wilson dausha at gmail.com
Sat May 20 12:01:20 CDT 2006


On 5/19/06, pmwiki at 911networks.com <pmwiki at 911networks.com> wrote:
[snip]
>
> The problem is that the weakest point of PMwiki is the display of
> the search. It's almost useless.

You do not know the _power_ of the Directive Side of the PmWiki.[1]
Charles, as I discuss below, it is not the search that is almost
useless, it is the default output. Sort of like bending a spoon. Of
course, that's too hard. You must realize that there is no search at
all. Or, at least, that there is no "default" (that you can't change
in PmWiki) at all.[2]

> It should display the title of the document and some of the text
> that is either the beginning of the document or some extract that
> shows the words requested and text around it to judge if it is
> what we wanted.

Hmm. Assuming this is a public site, Google should be able to remedy
this without headache. Just embed a Google search form where it
defaults to your site (e.g. site:http://www.example.com). However,
let's see if PmWiki can help . . .

> It should display the title of the document and some of the text
> that is either the beginning of the document or some extract that
> shows the words requested and text around it to judge if it is
> what we wanted.

Your Requirements:
   1. Document Title (and)
   2. Some Document Text
      a. Beginning Text
      b. End Text (OR)
      c. Extract around search term

Sounds like you need to create a PageListTemplate entry.[3] There are
those out there already that provide the title. You can include this
with the "fmt=#headerinclude", which is a custom pagelist template
that includes the first paragraph (customizable) of the page. I use
that for my journal,[4] and a myriad other contexts. You can tell
(:searchresults:) to return a specific format.

Here's what you want: (:searchresults fmt=#headerinclude:), and add
the following to your Site.PageListTemplates:

----
!!!fmt=#headerinclude

[@
[[#headerinclude]]
!!! {=$Titlespaced}
(:include {=$FullName} para=1:)
* Read More about [[{=$FullName}|{=$Titlespaced}]]

----
(:if equal {>$Group}:)
(:if:)
[[#headerincludeend]]
@]

Actually, you just gave me an idea to do the same on a couple sites I manage.

[1]: "You do not understand the power of the Dark Side of the Force.
     I must obey my Master." Yes, Pm, another "evil" link between
PmWiki and Star Wars.
[2]: I know, I slay myself. But, you had to look at the footnote.
[3]: http://www.pmwiki.org/wiki/Cookbook.PagelistExplained
[4]: http://www.dausha.net/Journal

-- 
Ben Wilson
" Mundus vult decipi, ergo decipiatur"




More information about the pmwiki-users mailing list