At 07:09 AM 06/07/02 -0700, Jody Cleveland wrote:
>I would like to edit the layout of both the search page, and the results
>page so that they match the layout of my site. I've searched everywhere, and
>can't figure out how to do that.
Yes, it's not very clear. 36 lines into the docs it says:
The script is modular in design. Both the highlighting
code and output generation is handled by modules, which
are included in the example/modules directory. This
allows for easy customization of the output without
changing the main CGI script. A module exists to generate
standard HTML output. There's also modules and template
examples to use with the popular Perl templating systems
HTML::Template and Template-Toolkit. This allows you to
tightly integrate this script with the look of an existing
template-driven web site. HTML::Template and Template-
Toolkit are available from the CPAN
But it doesn't really say what you need to do.
A little farther down in the docs there's this section:
Frequently Asked Questions
Here's some common questions and answers.
How do I change the way the output looks?
See if that section doesn't help. There's also the section:
How do I use a templating system with swish.cgi?
which might be of interest if you are building an entire template-driven site.
>Also, I use css for layout on my site. The only part of the pages I want
>searched is a certain div tag, which is the body of the page. I noticed
>somewhere in the documentation where it mentioned placing comment tags at
>the start and end of the area you want to be searched. For the life of me, I
>can't seem to find this information anywhere in the documentation today.
I have that problem, too. The older I get the more I use grep.
You say you only want the body searched? Not the <title> text? Most
people do want to search the title, but you may have your reasons.
There's a few options. First, you can use the -t flag to limit searches to
parts of the HTML doc (see SWISH-RUN man page). The swish.cgi script
doesn't support that feature, but it would be a one line hack if you wanted
to limit to body in all searches.
Another option is to specify body as a metaname (MetaNames body) in the
config, but you need libxml2 support to do that.
~/swish-e/src > cat c
IndexContents HTML2 .html
~/swish-e/src > cat 1.html
~/swish-e/src > ./swish-e -c c -i 1.html -T indexed_words -v0
Adding:[1:swishdefault(1)] 'title' Pos:2 Stuct:0x7 ( HEAD TITLE FILE )
Adding:[1:body(10)] 'bodyword' Pos:5 Stuct:0x89 ( META BODY FILE )
~/swish-e/src > ./swish-e -w body=bodyword -H1
# SWISH format: 2.1-dev-25
# Search words: body=bodyword
# Number of hits: 1
# Search time: 0.000 seconds
# Run time: 0.038 seconds
1000 1.html "Title" 68
~/swish-e/src > ./swish-e -w body=title -H1
# SWISH format: 2.1-dev-25
# Search words: body=title
err: no results
>and when I get search results, there is a (NULL) underneath the title of
>each result. If I set those comment tags, will I then see a description
>under those titles?
In the FAQ section of the swish.cgi docs:
Why does the output show (NULL)?
>Thank you both again, for all of your excellent help.
No problem. Glad things are working for you.
Received on Fri Jun 7 15:04:41 2002