new release of getfield; can now get values from other pages as well as current page
parent
29c475af4d
commit
f6b2edef64
|
@ -18,13 +18,13 @@ use per-page structured data, where each page is treated like a record, and the
|
||||||
structured data are fields in that record. This can include the meta-data for
|
structured data are fields in that record. This can include the meta-data for
|
||||||
that page, such as the page title.
|
that page, such as the page title.
|
||||||
|
|
||||||
This plugin is meant to be used in conjunction with the **field** plugin.
|
This plugin is meant to be used in conjunction with the [[field]] plugin.
|
||||||
|
|
||||||
### USAGE
|
### USAGE
|
||||||
|
|
||||||
One can get the value of a field by using special markup in the page.
|
One can get the value of a field by using special markup in the page.
|
||||||
This does not use directive markup, in order to make it easier to
|
This does not use directive markup, in order to make it easier to
|
||||||
use the markup inside other directives. There are two forms:
|
use the markup inside other directives. There are four forms:
|
||||||
|
|
||||||
* {{$*fieldname*}}
|
* {{$*fieldname*}}
|
||||||
|
|
||||||
|
@ -39,6 +39,26 @@ use the markup inside other directives. There are two forms:
|
||||||
|
|
||||||
<h1>My Long and Complicated Title With Potential For Spelling Mistakes</h1>
|
<h1>My Long and Complicated Title With Potential For Spelling Mistakes</h1>
|
||||||
|
|
||||||
|
* {{$*pagename*#*fieldname*}}
|
||||||
|
|
||||||
|
This queries the value of *fieldname* for the page *pagename*.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
On PageFoo:
|
||||||
|
|
||||||
|
\[[!meta title="I Am Page Foo"]]
|
||||||
|
|
||||||
|
Stuff about Foo.
|
||||||
|
|
||||||
|
On PageBar:
|
||||||
|
|
||||||
|
For more info, see \[[{{$PageFoo#title}}|PageFoo]].
|
||||||
|
|
||||||
|
When PageBar is displayed:
|
||||||
|
|
||||||
|
<p>For more info, see <a href="PageFoo">I Am Page Foo</a>.</p>
|
||||||
|
|
||||||
* {{+$*fieldname*+}}
|
* {{+$*fieldname*+}}
|
||||||
|
|
||||||
This queries the value of *fieldname* for the destination page; that is,
|
This queries the value of *fieldname* for the destination page; that is,
|
||||||
|
@ -68,17 +88,43 @@ use the markup inside other directives. There are two forms:
|
||||||
<h1>I Am Page B</h1>
|
<h1>I Am Page B</h1>
|
||||||
<p>Stuff about A.</p>
|
<p>Stuff about A.</p>
|
||||||
|
|
||||||
|
* {{+$*pagename*#*fieldname*+}}
|
||||||
|
|
||||||
|
This queries the value of *fieldname* for the page *pagename*; the
|
||||||
|
only difference between this and {{$*pagename*#*fieldname*}} is
|
||||||
|
that the full name of *pagename* is calculated relative to the
|
||||||
|
destination page rather than the source page.
|
||||||
|
|
||||||
|
I can't really think of a reason why this should be needed, but
|
||||||
|
this format has been added for completeness.
|
||||||
|
|
||||||
|
### No Value Found
|
||||||
|
|
||||||
|
If no value is found for the given field, then the field name is returned.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
On PageFoo:
|
||||||
|
|
||||||
|
\[[!meta title="Foo"]]
|
||||||
|
My title is {{$title}}.
|
||||||
|
|
||||||
|
My description is {{$description}}.
|
||||||
|
|
||||||
|
When PageFoo is displayed:
|
||||||
|
|
||||||
|
<p>My title is Foo.</p>
|
||||||
|
|
||||||
|
<p>My description is description.</p>
|
||||||
|
|
||||||
|
This is because "description" hasn't been defined for that page.
|
||||||
|
|
||||||
### More Examples
|
### More Examples
|
||||||
|
|
||||||
Listing all the sub-pages of the current page:
|
Listing all the sub-pages of the current page:
|
||||||
|
|
||||||
\[[!map pages="{{$page}}/*"]]
|
\[[!map pages="{{$page}}/*"]]
|
||||||
|
|
||||||
### LIMITATIONS
|
|
||||||
|
|
||||||
One cannot query the values of fields on pages other than the current
|
|
||||||
page or the destination page.
|
|
||||||
|
|
||||||
## DOWNLOAD
|
## DOWNLOAD
|
||||||
|
|
||||||
* browse at GitHub: <http://github.com/rubykat/ikiplugins/blob/master/IkiWiki/Plugin/getfield.pm>
|
* browse at GitHub: <http://github.com/rubykat/ikiplugins/blob/master/IkiWiki/Plugin/getfield.pm>
|
||||||
|
|
Loading…
Reference in New Issue