From ae573d3517728838c70689fc7125dc0999bb0ae8 Mon Sep 17 00:00:00 2001 From: Peter Thoeny Date: Thu, 25 Oct 2001 02:13:01 +0000 Subject: none --- TWiki/FormattedSearch.mdwn | 116 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 TWiki/FormattedSearch.mdwn diff --git a/TWiki/FormattedSearch.mdwn b/TWiki/FormattedSearch.mdwn new file mode 100644 index 00000000..89b49c92 --- /dev/null +++ b/TWiki/FormattedSearch.mdwn @@ -0,0 +1,116 @@ +**Formatted Search Using **%SEARCH\{... format="..."\}%** Variable** + +%TOC% + +## Preface + +By default, the format for displaying a search result is fixed, e.g. a table with rows of topic name and topic summary. Use the `format="..."` parameter to specify a customized format of the search result. The string of the format parameter is typically a bullet list or table row containing variables (i.e. %SEARCH\{ "food" format="| $topic | $summary |" \}%). + +## Syntax + +Two paramters can be used to specify a customized search result: + +1. `header="..."` parameter + +Use the header paramter to specify the header of a search result. It should correspond to the format of the format parameter. This parameter is optional. I.e. header="| \*Topic:\* | \*Summary:\* |" + +2. `format="..."` parameter + +Use the format paramter to specify the format of one search hit. I.e. `format="| $topic | $summary |"` + +Variables that can be used in the format string: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name:Expands To:
$web Name of the web
$topic Topic name
$locked LOCKED flag (if any)
$date Time stamp of last topic update
$rev Number of last topic revision, i.e. 1.4
$wikiusername Wiki user name of last topic update, i.e. %MAINWEB%.JohnSmith
$summary Topic summary
$formfield(name) The field value of a form field, i.e. $formfield(Topic Classification?) would get expanded to PublicFAQ. This applies only to topics that have a TWiki Form?
$pattern(reg-exp) A regular expression pattern to extract some text from a topic, i.e. $pattern(.*?\*.*?Email\:\s*([^\n\r]+).*) extracts the email address from a bullet of format * Email: ....
+ +**_Note:_** For `$pattern(reg-exp)`, specify a [[RegularExpression]] that scans from start to end and contains the text you want to keep in parenthesis, i.e. `$pattern(.*?(from here.*?to here).*)`. You need to make sure that the integrity of a web page is not compromised, i.e. if you include a table make sure to include everything including the table end tag. + +## Examples + +### Bullet list showing topic name and summary + +Write this: + +%SEARCH\{ "FAQ" scope="topic" nosearch="on" nototal="on" header="   \* \*Topic: Summary:\*" format="   \* [[$topic]]: $summary" \}% + +To get this: + +%SEARCH\{ "FAQ" scope="topic" nosearch="on" nototal="on" header=" \* \*Topic: Summary:\*" format=" \* [[Topic]]: $summary" \}% + +### Table showing form field values of topics with a form + +Write this in the Know web: + +| \*Topic:\* | \*OperatingSystem:\* | \*OsVersion:\* |
%SEARCH\{ "[T]opicClassification.\*?value=\\"[P]ublicFAQ\\"" scope="text" regex="on" nosearch="on" nototal="on" format="| [[$topic]] | $formfield([[OperatingSystem]]) | $formfield([[OsVersion]]) |" \}% + +To get this: + + + + + + + + + + + + + + + + + +
Topic:OperatingSystem:OsVersion:
IncorrectDllVersionW32PTH10DLLOsWin 95/98
WinDoze95CrashOsWin 95
+ +### Extract some text from a topic using regular expression + +Write this: + +%SEARCH\{ "\_\_Back to\\:\_\_ TWikiFAQ" scope="text" regex="on" nosearch="on" nototal="on" header="TWiki FAQs:" format="   \* $pattern(.\*?FAQ\\:[\\n\\r]\*([^\\n\\r]+).\*) [[$topic]\[Answer...]]" \}% + +To get this: + +%SEARCH\{ "\_\_Back to\\:\_\_ [[TWikiFAQ]]" scope="text" regex="on" nosearch="on" nototal="on" header="TWiki FAQs:" format=" \* $pattern(.\*?FAQ\\:[\\n\\r]\*([^\\n\\r]+).\*) [[Topic]]" \}% + +-- [[Main/PeterThoeny]] - 24 Oct 2001
-- cgit v1.2.3