From f463cde12eb814945cdce798dfdf675d4945fb11 Mon Sep 17 00:00:00 2001 From: "http://kerravonsen.dreamwidth.org/" Date: Wed, 19 May 2010 11:18:35 +0000 Subject: new version --- doc/plugins/contrib/field.mdwn | 127 +++++++++++++++++++++++++++++++++-------- 1 file changed, 104 insertions(+), 23 deletions(-) (limited to 'doc') diff --git a/doc/plugins/contrib/field.mdwn b/doc/plugins/contrib/field.mdwn index 09646d28a..dce2d891c 100644 --- a/doc/plugins/contrib/field.mdwn +++ b/doc/plugins/contrib/field.mdwn @@ -13,9 +13,22 @@ IkiWiki::Plugin::field - front-end for per-page record fields. # simple registration field_register => [qw{meta}], + # simple registration with priority + field_register => { + meta => 'last' + foo => 'DD' + }, + # allow the config to be queried as a field field_allow_config => 1, + # flag certain fields as "tags" + field_tags => { + BookAuthor => '/books/authors', + BookGenre => '/books/genres', + MovieGenre => '/movies/genres', + } + ## DESCRIPTION This plugin is meant to be used in conjunction with other plugins @@ -25,13 +38,14 @@ are fields in that record. This can include the meta-data for that page, such as the page title. Plugins can register a function which will return the value of a "field" for -a given page. This can be used in three ways: +a given page. This can be used in a few ways: * In page templates; all registered fields will be passed to the page template in the "pagetemplate" processing. * In PageSpecs; the "field" function can be used to match the value of a field in a page. +* In SortSpecs; the "field" function can be used for sorting pages by the value of a field in a page. * By other plugins, using the field_get_value function, to get the value of a field for a page, and do with it what they will. -## OPTIONS +## CONFIGURATION OPTIONS The following options can be set in the ikiwiki setup file. @@ -46,28 +60,77 @@ keys of the config hash are the field names. field_register => [qw{meta}], -A list of plugin-IDs to register. This assumes that the plugins in -question store data in the %pagestatus hash using the ID of that plugin, -and thus the field values are looked for there. + field_register => { + meta => 'last' + foo => 'DD' + }, + +A hash of plugin-IDs to register. The keys of the hash are the names of the +plugins, and the values of the hash give the order of lookup of the field +values. The order can be 'first', 'last', 'middle', or an explicit order +sequence between 'AA' and 'ZZ'. If the simpler type of registration is used, +then the order will be 'middle'. + +This assumes that the plugins in question store data in the %pagestatus hash +using the ID of that plugin, and thus the field values are looked for there. This is the simplest form of registration, but the advantage is that it doesn't require the plugin to be modified in order for it to be registered with the "field" plugin. -## PageSpec +**field_tags** + + field_tags => { + BookAuthor => '/books/authors', + BookGenre => '/books/genres', + MovieGenre => '/movies/genres', + } -The "field" PageSpec function can be used to match the value of a field for a page. +A hash of fields and their associated pages. This provides a faceted +tagging system. -**field(*name* *glob*)** +The way this works is that a given field-name will be associated with a given +page, and the values of that field will be linked to sub-pages of that page. For example: -field(bar Foo*) will match if the "bar" field starts with "Foo". + BookGenre: SF + +will link to "/books/genres/SF", with a link-type of "bookgenre". -**destfield(*name* *glob*)** +## PageSpec + +The `field` plugin provides a few PageSpec functions to match values +of fields for pages. + +* field + * **field(*name* *glob*)** + * field(bar Foo\*) will match if the "bar" field starts with "Foo". +* destfield + * **destfield(*name* *glob*)** + * as for "field" but matches against the destination page (i.e when the source page is being included in another page). +* field_item + * **field_item(*name* *glob*)** + * field_item(bar Foo) will match if one of the values of the "bar" field is "Foo". +* destfield_item + * **destfield_item(*name* *glob*)** + * as for "field_item" but matches against the destination page. +* field_tagged + * **field_tagged(*name* *glob*)** + * like `tagged`, but this uses the tag-bases and link-types defined in the `field_tags` configuration option. +* destfield_tagged + * **destfield_tagged(*name* *glob*)** + * as for "field_tagged" but matches against the destination page. + +## SortSpec + +The "field" SortSpec function can be used to sort a page depending on the value of a field for that page. This is used for directives that take sort parameters, such as **inline** or **report**. + +field(*name*) -is the same, except that it tests the destination page (that is, in cases -when the source page is being included in another page). +For example: + +sort="field(bar)" will sort by the value og the "bar" field. ## FUNCTIONS @@ -75,16 +138,18 @@ when the source page is being included in another page). field_register(id=>$id); -Register a plugin as having field data. The above form is the simplest, where the field value -is looked up in the %pagestatus hash under the plugin-id. +Register a plugin as having field data. The above form is the simplest, where +the field value is looked up in the %pagestatus hash under the plugin-id. Additional Options: **call=>&myfunc** -A reference to a function to call rather than just looking up the value in the %pagestatus hash. -It takes two arguments: the name of the field, and the name of the page. It is expected to return -the value of that field, or undef if there is no field by that name. +A reference to a function to call rather than just looking up the value in the +%pagestatus hash. It takes two arguments: the name of the field, and the name +of the page. It is expected to return (a) an array of the values of that field +if "wantarray" is true, or (b) a concatenation of the values of that field +if "wantarray" is not true, or (c) undef if there is no field by that name. sub myfunc ($$) { my $field = shift; @@ -92,22 +157,38 @@ the value of that field, or undef if there is no field by that name. ... - return $value; + return (wantarray ? @values : $value); } **first=>1** -Set this to be called first in the sequence of calls looking for values. Since the first found -value is the one which is returned, ordering is significant. +Set this to be called first in the sequence of calls looking for values. Since +the first found value is the one which is returned, ordering is significant. +This is equivalent to "order=>'first'". **last=>1** -Set this to be called last in the sequence of calls looking for values. Since the first found -value is the one which is returned, ordering is significant. +Set this to be called last in the sequence of calls looking for values. Since +the first found value is the one which is returned, ordering is significant. +This is equivalent to "order=>'last'". + +**order=>$order** + +Set the explicit ordering in the sequence of calls looking for values. Since +the first found value is the one which is returned, ordering is significant. + +The values allowed for this are "first", "last", "middle", or a two-character +ordering-sequence between 'AA' and 'ZZ'. ### field_get_value($field, $page) -Returns the value of the field for that page, or undef if none is found. + my @values = field_get_value($field, $page); + + my $value = field_get_value($field, $page); + +Returns the values of the field for that page, or undef if none is found. +Note that it will return an array of values if you ask for an array, +and a scalar value if you ask for a scalar. ## DOWNLOAD -- cgit v1.2.3 From 9b45264c1c3e83b991d74de6df652a2f2e8749d8 Mon Sep 17 00:00:00 2001 From: "http://kerravonsen.dreamwidth.org/" Date: Wed, 19 May 2010 11:20:44 +0000 Subject: new version --- doc/plugins/contrib/ftemplate.mdwn | 83 ++++---------------------------------- 1 file changed, 7 insertions(+), 76 deletions(-) (limited to 'doc') diff --git a/doc/plugins/contrib/ftemplate.mdwn b/doc/plugins/contrib/ftemplate.mdwn index fba51e1c2..d82867f94 100644 --- a/doc/plugins/contrib/ftemplate.mdwn +++ b/doc/plugins/contrib/ftemplate.mdwn @@ -1,85 +1,16 @@ [[!template id=plugin name=ftemplate author="[[rubykat]]"]] [[!tag type/meta type/format]] -[[!toc]] -## NAME -IkiWiki::Plugin::ftemplate - field-aware structured template plugin +This plugin provides the [[ikiwiki/directive/ftemplate]] directive. -## SYNOPSIS +This is like the [[ikiwiki/directive/template]] directive, with the addition +that one does not have to provide all the values in the call to the template, +because ftemplate can query structured data ("fields") using the [[field]] +plugin. - # activate the plugin - add_plugins => [qw{goodstuff ftemplate ....}], - -## DESCRIPTION - -This plugin provides the **ftemplate** directive. This is like -the [[ikiwiki/directive/template]] directive, with the addition that one does not -have to provide all the values in the call to the template, -because ftemplate can query structured data ("fields") using -the [[field]] plugin. - -Templates are files that can be filled out and inserted into pages in -the wiki, by using the ftemplate directive. The directive has an id -parameter that identifies the template to use. - -Additional parameters can be used to fill out the template, in -addition to the "field" values. Passed-in values override the -"field" values. - -There are two places where template files can live. One is, as with the -[[plugins/template]] plugin, in the /templates directory on the wiki. These -templates are wiki pages, and can be edited from the web like other wiki -pages. - -The second place where template files can live is in the global -templates directory (the same place where the page.tmpl template lives). -This is a useful place to put template files if you want to prevent -them being edited from the web, and you don't want to have to make -them work as wiki pages. - -### EXAMPLES - -#### Example 1 - -PageA: - - \[[!meta title="I Am Page A"]] - \[[!meta description="A is for Apple."]] - \[[!meta author="Fred Nurk"]] - \[[!ftemplate id="mytemplate"]] - -Template "mytemplate": +## Activate the plugin - # - by - - **Summary:** - -This will give: - -

I Am Page A

-

by Fred Nurk

-

Summary: A is for Apple. - -#### Example 2: Overriding values - -PageB: - - \[[!meta title="I Am Page B"]] - \[[!meta description="B is for Banana."]] - \[[!meta author="Fred Nurk"]] - \[[!ftemplate id="mytemplate" title="Bananananananas"]] - -This will give: - -

Bananananananas

-

by Fred Nurk

-

Summary: B is for Banana. - -### LIMITATIONS - -One cannot query the values of fields on pages other than the current -page. + add_plugins => [qw{goodstuff ftemplate ....}], ## PREREQUISITES -- cgit v1.2.3 From 824a1a1599035d45e5428e1203bb02373a8ac3b3 Mon Sep 17 00:00:00 2001 From: "http://kerravonsen.dreamwidth.org/" Date: Wed, 19 May 2010 11:22:13 +0000 Subject: put ftemplate directive info under directives; new version of ftemplate, with LOOPS! --- doc/ikiwiki/directive/ftemplate.mdwn | 106 +++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 doc/ikiwiki/directive/ftemplate.mdwn (limited to 'doc') diff --git a/doc/ikiwiki/directive/ftemplate.mdwn b/doc/ikiwiki/directive/ftemplate.mdwn new file mode 100644 index 000000000..3009fc830 --- /dev/null +++ b/doc/ikiwiki/directive/ftemplate.mdwn @@ -0,0 +1,106 @@ +The `ftemplate` directive is supplied by the [[!iki plugins/contrib/ftemplate desc=ftemplate]] plugin. + +This is like the [[ikiwiki/directive/template]] directive, with the addition +that one does not have to provide all the values in the call to the template, +because ftemplate can query structured data ("fields") using the +[[plugins/contrib/field]] plugin. + +Templates are files that can be filled out and inserted into pages in +the wiki, by using the ftemplate directive. The directive has an id +parameter that identifies the template to use. + +Additional parameters can be used to fill out the template, in +addition to the "field" values. Passed-in values override the +"field" values. + +There are two places where template files can live. One is in the /templates +directory on the wiki. These templates are wiki pages, and can be edited from +the web like other wiki pages. + +The second place where template files can live is in the global +templates directory (the same place where the page.tmpl template lives). +This is a useful place to put template files if you want to prevent +them being edited from the web, and you don't want to have to make +them work as wiki pages. + +### EXAMPLES + +#### Example 1 + +PageA: + + \[[!meta title="I Am Page A"]] + \[[!meta description="A is for Apple."]] + \[[!meta author="Fred Nurk"]] + \[[!ftemplate id="mytemplate"]] + +Template "mytemplate": + + # + by + + **Summary:** + +This will give: + +

I Am Page A

+

by Fred Nurk

+

Summary: A is for Apple. + +#### Example 2: Overriding values + +PageB: + + \[[!meta title="I Am Page B"]] + \[[!meta description="B is for Banana."]] + \[[!meta author="Fred Nurk"]] + \[[!ftemplate id="mytemplate" title="Bananananananas"]] + +This will give: + +

Bananananananas

+

by Fred Nurk

+

Summary: B is for Banana. + +#### Example 3: Loops + +(this example uses the [[plugins/contrib/ymlfront]] plugin) + +Page C: + + --- + BookAuthor: Georgette Heyer + BookTitle: Black Sheep + BookGenre: + - Historical + - Romance + --- + \[[ftemplate id="footemplate"]] + + I like this book. + +Template "footemplate": + + # + by + + ( + + , + + ) + +This will give: + +

Black Sheep

+

by Georgette Heyer

+ +

(Historical, Romance)

+ +

I like this book.

+ +### LIMITATIONS + +One cannot query the values of fields on pages other than the current +page. If you want to do that, check out the [[plugins/contrib/report]] +plugin. -- cgit v1.2.3 From cc84a2dacdc85e3ca8e5e652464bfd5ce4f0c725 Mon Sep 17 00:00:00 2001 From: "http://kerravonsen.dreamwidth.org/" Date: Wed, 19 May 2010 11:25:43 +0000 Subject: new version; splitting docs between plugin and directive pages --- doc/plugins/contrib/report.mdwn | 154 ++-------------------------------------- 1 file changed, 7 insertions(+), 147 deletions(-) (limited to 'doc') diff --git a/doc/plugins/contrib/report.mdwn b/doc/plugins/contrib/report.mdwn index c364d4a3a..0bd5392c6 100644 --- a/doc/plugins/contrib/report.mdwn +++ b/doc/plugins/contrib/report.mdwn @@ -1,157 +1,17 @@ [[!template id=plugin name=report author="[[rubykat]]"]] [[!tag type/meta type/format]] -[[!toc]] -## NAME - IkiWiki::Plugin::report - Produce templated reports from page field data. -## SYNOPSIS - - # activate the plugin - add_plugins => [qw{goodstuff report ....}], - - \[[!report template="blog_summary" - pages="blog/*" - sort="mtime"]] - -## DESCRIPTION - -This plugin provides the **report** directive. This enables one to report on -the structured data ("field" values) of multiple pages; the output is formatted -via a template. This depends on the [[plugins/contrib/field]] plugin. - -The pages to report on are selected by a PageSpec given by the "pages" -parameter. The template is given by the "template" parameter. -The template expects the data from a single page; it is applied -to each matching page separately, one after the other. - -Additional parameters can be used to fill out the template, in -addition to the "field" values. Passed-in values override the -"field" values. - -There are two places where template files can live. One, as with the -[[plugins/template]] plugin, is in the /templates directory on the wiki. These -templates are wiki pages, and can be edited from the web like other wiki -pages. - -The second place where template files can live is in the global -templates directory (the same place where the page.tmpl template lives). -This is a useful place to put template files if you want to prevent -them being edited from the web, and you don't want to have to make -them work as wiki pages. - -## OPTIONS - -**template**: The template to use for the report. - -**pages**: A PageSpec to determine the pages to report on. - -**sort**: How the matching pages should be sorted. Sorting criteria are separated by spaces. - -The possible values for sorting are: - -* **page**: Sort by the full page ID. -* **pagename**: Sort by the base page name. -* **pagename_natural**: Sort by the base page name, using Sort::Naturally if it is installed. -* **mtime**: Sort by the page modification time. -* **age**: Sort by the page creation time, newest first. - -Any other value is taken to be a field name to sort by. -If a sort value begins with a minus (-) then the order for that field is reversed. - -### Headers - -An additional option is the "headers" option. This is a space-separated -list of field names which are to be used as headers in the report. This -is a way of getting around one of the limitations of HTML::Template, that -is, not being able to do tests such as -"if this-header is not equal to previous-header". - -Instead, that logic is performed inside the plugin. The template is -given parameters "HEADER1", "HEADER2" and so on, for each header. -If the value of a header field is the same as the previous value, -then HEADER**N** is set to be empty, but if the value of the header -field is new, then HEADER**N** is given that value. - -#### Example +This plugin provides the [[ikiwiki/directive/report]] directive. This enables +one to report on the structured data ("field" values) of multiple pages; the +output is formatted via a template. This depends on the +[[plugins/contrib/field]] plugin. -Suppose you're writing a blog in which you record "moods", and you -want to display your blog posts by mood. - \[[!report template="mood_summary" - pages="blog/*" - sort="Mood Date title" - headers="Mood"]] +## Activate the plugin -The "mood_summary" template might be like this: - - - ## - - ### - () \[[]] - - -### Advanced Options - -The following options are used to improve efficiency when dealing -with large numbers of pages; most people probably won't need them. - -**trail**: - -A page or pages to use as a "trail" page. When a trail page is used, -the matching pages are limited to (a subset of) the pages which that -page links to; the "pages" pagespec in this case, rather than selecting -pages from the entire wiki, will select pages from within the set of pages -given by the trail page. - -**doscan**: - -Whether this report should be called in "scan" mode; if it is, then -the pages which match the pagespec are added to the list of links from -this page. This can be used by *another* report by setting this -page to be a "trail" page in *that* report. -It is not possible to use "trail" and "doscan" at the same time. -By default, "doscan" is false. - -## TEMPLATE PARAMETERS - -The templates are in HTML::Template format, just as [[plugins/template]] and -[[ftemplate]] are. The parameters passed in to the template are as follows: - -***fields***: - -The structured data from the current matching page. This includes -"title" and "description" if they are defined. - -***common values***: - -Values known for all pages: "page", "destpage". Also "basename" (the base name of the page). - -***passed-in values***: - -Any additional parameters to the report directive are passed to the -template; a parameter will override the matching "field" value. -For example, if you have a "Mood" field, and you pass Mood="bad" to -the report, then that will be the Mood which is given for the whole -report. - -Generally this is useful if one wishes to make a more generic -template and hide or show portions of it depending on what -values are passed in the report directive call. - -For example, one could have a "hide_mood" parameter which would hide -the "Mood" section of your template when it is true, which one could -use when the Mood is one of the headers. - -***headers***: - -See the section on Headers. - -***first and last***: - -If this is the first page-record in the report, then "first" is true. -If this is the last page-record in the report, then "last" is true. + # activate the plugin + add_plugins => [qw{goodstuff report ....}], ## PREREQUISITES -- cgit v1.2.3 From 136499da62f453f8eede16d564fae1e4788c63bf Mon Sep 17 00:00:00 2001 From: "http://kerravonsen.dreamwidth.org/" Date: Wed, 19 May 2010 11:27:19 +0000 Subject: new version; prev_, next_, here_only, and loops --- doc/ikiwiki/directive/report.mdwn | 148 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 doc/ikiwiki/directive/report.mdwn (limited to 'doc') diff --git a/doc/ikiwiki/directive/report.mdwn b/doc/ikiwiki/directive/report.mdwn new file mode 100644 index 000000000..c6e70e960 --- /dev/null +++ b/doc/ikiwiki/directive/report.mdwn @@ -0,0 +1,148 @@ +The `report` directive is supplied by the [[!iki plugins/contrib/report desc=report]] plugin. + +This enables one to report on the structured data ("field" values) of +multiple pages; the output is formatted via a template. This depends +on the [[plugins/contrib/field]] plugin. + +The pages to report on are selected by a PageSpec given by the "pages" +parameter. The template is given by the "template" parameter. +The template expects the data from a single page; it is applied +to each matching page separately, one after the other. + +Additional parameters can be used to fill out the template, in +addition to the "field" values. Passed-in values override the +"field" values. + +There are two places where template files can live. One is in the +/templates directory on the wiki. These templates are wiki pages, and +can be edited from the web like other wiki pages. + +The second place where template files can live is in the global +templates directory (the same place where the page.tmpl template lives). +This is a useful place to put template files if you want to prevent +them being edited from the web, and you don't want to have to make +them work as wiki pages. + +## OPTIONS + +**template**: The template to use for the report. + +**pages**: A PageSpec to determine the pages to report on. + +**trail**: A page or pages to use as a "trail" page. + +When a trail page is used, the matching pages are limited to (a subset +of) the pages which that page links to; the "pages" pagespec in this +case, rather than selecting pages from the entire wiki, will select +pages from within the set of pages given by the trail page. + +Additional space-separated trail pages can be given in this option. +For example: + + trail="animals/cats animals/dogs" + +This will take the links from both the "animals/cats" page and the +"animals/dogs" page as the set of pages to apply the PageSpec to. + +**sort**: A SortSpec to determine how the matching pages should be sorted. + +**here_only**: Report on the current page only. + +This is useful in combination with "prev_" and "next_" variables to +make a navigation trail. +If the current page doesn't match the pagespec, then no pages will +be reported on. + +### Headers + +An additional option is the "headers" option. This is a space-separated +list of field names which are to be used as headers in the report. This +is a way of getting around one of the limitations of HTML::Template, that +is, not being able to do tests such as +"if this-header is not equal to previous-header". + +Instead, that logic is performed inside the plugin. The template is +given parameters "HEADER1", "HEADER2" and so on, for each header. +If the value of a header field is the same as the previous value, +then HEADER**N** is set to be empty, but if the value of the header +field is new, then HEADER**N** is given that value. + +#### Example + +Suppose you're writing a blog in which you record "moods", and you +want to display your blog posts by mood. + + \[[!report template="mood_summary" + pages="blog/*" + sort="Mood Date title" + headers="Mood"]] + +The "mood_summary" template might be like this: + + + ## + + ### + () \[[]] + + +### Advanced Options + +The following options are used to improve efficiency when dealing +with large numbers of pages; most people probably won't need them. + +**doscan**: + +Whether this report should be called in "scan" mode; if it is, then +the pages which match the pagespec are added to the list of links from +this page. This can be used by *another* report by setting this +page to be a "trail" page in *that* report. +It is not possible to use "trail" and "doscan" at the same time. +By default, "doscan" is false. + +## TEMPLATE PARAMETERS + +The templates are in HTML::Template format, just as [[plugins/template]] and +[[ftemplate]] are. The parameters passed in to the template are as follows: + +### Fields + +The structured data from the current matching page. This includes +"title" and "description" if they are defined. + +### Common values + +Values known for all pages: "page", "destpage". Also "basename" (the +base name of the page). + +### Passed-in values + +Any additional parameters to the report directive are passed to the +template; a parameter will override the matching "field" value. +For example, if you have a "Mood" field, and you pass Mood="bad" to +the report, then that will be the Mood which is given for the whole +report. + +Generally this is useful if one wishes to make a more generic +template and hide or show portions of it depending on what +values are passed in the report directive call. + +For example, one could have a "hide_mood" parameter which would hide +the "Mood" section of your template when it is true, which one could +use when the Mood is one of the headers. + +### Prev_ And Next_ Items + +Any of the above variables can be prefixed with "prev_" or "next_" +and that will give the previous or next value of that variable; that is, +the value from the previous or next page that this report is reporting on. +This is mainly useful for a "here_only" report. + +### Headers + +See the section on Headers. + +### First and Last + +If this is the first page-record in the report, then "first" is true. +If this is the last page-record in the report, then "last" is true. -- cgit v1.2.3 From 3f5fce1091794521ea57f8ff7469441e4afb4a86 Mon Sep 17 00:00:00 2001 From: "http://kerravonsen.dreamwidth.org/" Date: Wed, 19 May 2010 11:28:10 +0000 Subject: added toc --- doc/ikiwiki/directive/report.mdwn | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/ikiwiki/directive/report.mdwn b/doc/ikiwiki/directive/report.mdwn index c6e70e960..8f8e6b4e8 100644 --- a/doc/ikiwiki/directive/report.mdwn +++ b/doc/ikiwiki/directive/report.mdwn @@ -1,3 +1,4 @@ +[[!toc]] The `report` directive is supplied by the [[!iki plugins/contrib/report desc=report]] plugin. This enables one to report on the structured data ("field" values) of -- cgit v1.2.3 From 2f7a909bbc0b58714bd2effd03f15d41ded77fcf Mon Sep 17 00:00:00 2001 From: "http://kerravonsen.dreamwidth.org/" Date: Wed, 19 May 2010 11:29:45 +0000 Subject: new version to go with new version of field --- doc/plugins/contrib/ymlfront.mdwn | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/plugins/contrib/ymlfront.mdwn b/doc/plugins/contrib/ymlfront.mdwn index f4438f23c..6dd8ed532 100644 --- a/doc/plugins/contrib/ymlfront.mdwn +++ b/doc/plugins/contrib/ymlfront.mdwn @@ -42,7 +42,7 @@ That will be htmlized using the page-type of the page-file. ### Accessing the Data -There are three ways to access the data given in the YAML section. +There are a few ways to access the data given in the YAML section. * [[getfield]] plugin @@ -83,6 +83,10 @@ There are three ways to access the data given in the YAML section. When running on the Sprongle system, the Foo function returns incorrect data. +* [[report]] plugin + + The **report** plugin is like the [[ftemplate]] plugin, but it reports on multiple pages, rather than just the current page. + * write your own plugin In conjunction with the [[field]] plugin, you can write your own plugin to access the data. -- cgit v1.2.3 From c1f68a8cff3217fb81052043d897b25aae677513 Mon Sep 17 00:00:00 2001 From: "http://kerravonsen.dreamwidth.org/" Date: Wed, 19 May 2010 11:30:35 +0000 Subject: reply --- doc/plugins/contrib/ymlfront/discussion.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/plugins/contrib/ymlfront/discussion.mdwn b/doc/plugins/contrib/ymlfront/discussion.mdwn index 3ad02af29..b5c08fedd 100644 --- a/doc/plugins/contrib/ymlfront/discussion.mdwn +++ b/doc/plugins/contrib/ymlfront/discussion.mdwn @@ -9,3 +9,5 @@ Joey's code in IkiWiki::Setup::Yaml. Please consider merging :-) --[[smcv]] >> Sorry, I accidentally removed `field-etc` by pushing with `--mirror` from a >> different checkout. I've put it back; it's a branch from your `ikiplugins.git`, >> so yes, the code should be in `IkiWiki/Plugin`. --[[smcv]] + +>>> Done a while back, but now I've actually pushed to my repo. --[[KathrynAndersen]] -- cgit v1.2.3 From 1bce0656755344977e020a985c4c06479f035f77 Mon Sep 17 00:00:00 2001 From: "http://kerravonsen.dreamwidth.org/" Date: Wed, 19 May 2010 11:36:30 +0000 Subject: new versions which address some of these issues --- doc/todo/Multiple_categorization_namespaces.mdwn | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'doc') diff --git a/doc/todo/Multiple_categorization_namespaces.mdwn b/doc/todo/Multiple_categorization_namespaces.mdwn index a8ee6755c..3e9f8feaa 100644 --- a/doc/todo/Multiple_categorization_namespaces.mdwn +++ b/doc/todo/Multiple_categorization_namespaces.mdwn @@ -91,3 +91,13 @@ Where this approach is limiting is on the kind of data that is passed to (templa One possibility could be to have the `queries` configuration allow a hash mapping query names to functions that would transform the data. Lacking that possibility, we might have to leave some predefined fields to have custom Perl-side treatment and leave custom fields to be untransformable. +----- + +I've now updated the [[plugins/contrib/field]] plugin to have: + +* arrays (multi-valued fields) +* the "linkbase" option as mentioned above (called field_tags), where the linktype is the field name. + +I've also updated [[plugins/contrib/ftemplate]] and [[plugins/contrib/report]] to be able to use multi-valued fields, and [[plugins/contrib/ymlfront]] to correctly return multi-valued fields when they are requested. + +--[[KathrynAndersen]] -- cgit v1.2.3 From 1fdab877d8233c0c49e78369a98e0f18147386ec Mon Sep 17 00:00:00 2001 From: zimek Date: Wed, 19 May 2010 21:04:34 +0000 Subject: --- doc/forum/debian_backports_update_someone_please.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/forum/debian_backports_update_someone_please.mdwn b/doc/forum/debian_backports_update_someone_please.mdwn index 66f5eb0c5..a1366872f 100644 --- a/doc/forum/debian_backports_update_someone_please.mdwn +++ b/doc/forum/debian_backports_update_someone_please.mdwn @@ -12,3 +12,5 @@ I'm just in the process of deploying ikiwiki and I'd love to use it in the html5 >>> can take priority though. --[[Joey]] >>>> Great! Thanks. + +>>>> Still not available in the backports; did you break the silence on the wire and got back to work [[Joey]]? -- cgit v1.2.3 From 70fca0592e08ac63a0c59e35aa43e0ae91b4ec75 Mon Sep 17 00:00:00 2001 From: tupyakov_vladimr Date: Thu, 20 May 2010 09:33:51 +0000 Subject: --- doc/__126__tupyakov__95__vladimir.mdwn | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/__126__tupyakov__95__vladimir.mdwn (limited to 'doc') diff --git a/doc/__126__tupyakov__95__vladimir.mdwn b/doc/__126__tupyakov__95__vladimir.mdwn new file mode 100644 index 000000000..39ea90873 --- /dev/null +++ b/doc/__126__tupyakov__95__vladimir.mdwn @@ -0,0 +1 @@ +Dctv ghbdtn -- cgit v1.2.3 From 04b83cf38c11d9947b0c452c586a58482163beba Mon Sep 17 00:00:00 2001 From: tupyakov_vladimr Date: Thu, 20 May 2010 09:34:29 +0000 Subject: --- doc/tupyakov_vladimir.mdwn | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/tupyakov_vladimir.mdwn (limited to 'doc') diff --git a/doc/tupyakov_vladimir.mdwn b/doc/tupyakov_vladimir.mdwn new file mode 100644 index 000000000..95f85adc2 --- /dev/null +++ b/doc/tupyakov_vladimir.mdwn @@ -0,0 +1 @@ +всем привет! -- cgit v1.2.3 From febfb1751c2cb3fb0826b76b55d86fb956d62466 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Thu, 20 May 2010 15:26:55 +0100 Subject: move tupyakov's page under users/ (says 'hello' in Russian), remove surplus page --- doc/__126__tupyakov__95__vladimir.mdwn | 1 - doc/tupyakov_vladimir.mdwn | 1 - doc/users/tupyakov_vladimir.mdwn | 1 + 3 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 doc/__126__tupyakov__95__vladimir.mdwn delete mode 100644 doc/tupyakov_vladimir.mdwn create mode 100644 doc/users/tupyakov_vladimir.mdwn (limited to 'doc') diff --git a/doc/__126__tupyakov__95__vladimir.mdwn b/doc/__126__tupyakov__95__vladimir.mdwn deleted file mode 100644 index 39ea90873..000000000 --- a/doc/__126__tupyakov__95__vladimir.mdwn +++ /dev/null @@ -1 +0,0 @@ -Dctv ghbdtn diff --git a/doc/tupyakov_vladimir.mdwn b/doc/tupyakov_vladimir.mdwn deleted file mode 100644 index 95f85adc2..000000000 --- a/doc/tupyakov_vladimir.mdwn +++ /dev/null @@ -1 +0,0 @@ -всем привет! diff --git a/doc/users/tupyakov_vladimir.mdwn b/doc/users/tupyakov_vladimir.mdwn new file mode 100644 index 000000000..95f85adc2 --- /dev/null +++ b/doc/users/tupyakov_vladimir.mdwn @@ -0,0 +1 @@ +всем привет! -- cgit v1.2.3 From 93385347a94c92fd74083e63f4b5aa5637580606 Mon Sep 17 00:00:00 2001 From: "http://jblevins.org/" Date: Fri, 21 May 2010 16:56:31 +0000 Subject: Revise/archive user page --- doc/users/jasonblevins.mdwn | 68 ++++++++++++++++----------------------------- 1 file changed, 24 insertions(+), 44 deletions(-) (limited to 'doc') diff --git a/doc/users/jasonblevins.mdwn b/doc/users/jasonblevins.mdwn index b50e4844a..e4a459e30 100644 --- a/doc/users/jasonblevins.mdwn +++ b/doc/users/jasonblevins.mdwn @@ -1,66 +1,46 @@ [[!meta title="Jason Blevins"]] -I'm currently hosting a private ikiwiki for keeping research notes -which, with some patches and a plugin (below), will -convert inline [[todo/LaTeX]] expressions to [[MathML]]. I'm working towards a -patchset and instructions for others to do the same. - -I've setup a test ikiwiki [here](http://xbeta.org/colab/) where I've -started keeping a few notes on my progress. There is an example of -inline [[todo/SVG]] on the homepage (note that the logo scales along with the -font size). There are a few example mathematical expressions in the -[sandbox](http://xbeta.org/colab/sandbox/). The MathML is generated -automatically from inline LaTeX expressions using an experimental -plugin I'm working on. - -My (also MathML-enabled) homepage: (still using -Blosxom...maybe one day I'll convert it to ikiwiki...) - -Current ikiwki issues of interest: - - * [[bugs/recentchanges_feed_links]] - * [[bugs/HTML_inlined_into_Atom_not_necessarily_well-formed]] - * [[plugins/toc/discussion]] - * [[todo/BibTeX]] - * [[todo/svg]] - * [[todo/Option_to_make_title_an_h1?]] - * [[bugs/SVG_files_not_recognized_as_images]] +I am a former Ikiwiki user who wrote several plugins and patches +related to MathML, [[SVG|todo/svg]], and [[todo/syntax highlighting]]. +Some related links and notes are archived below. + +Homepage: ## Plugins -These plugins are experimental. Use them at your own risk. Read the -perldoc documentation for more details. Patches and suggestions are -welcome. +The following [plugins](http://jblevins.org/projects/ikiwiki/) +are no longer maintained, but please feel free to use, modify, and +redistribute them. Read the corresponding perldoc documentation for +more details. - * [mdwn_itex][] - Works with the [[`mdwn`|plugins/mdwn]] plugin to convert inline [[todo/LaTeX]] - expressions to [[MathML]] using `itex2MML`. + * [mdwn_itex][] - Works with the [[`mdwn`|plugins/mdwn]] plugin to convert + inline [[todo/LaTeX]] expressions to MathML using `itex2MML`. * [h1title][] - If present, use the leading level 1 Markdown header to set the page title and remove it from the page body. * [code][] - Whole file and inline code snippet [[todo/syntax highlighting]] via GNU Source-highlight. The list of supported file extensions is - configurable. There is also some preliminary [documentation][code-doc]. - See the [FortranWiki](http://fortranwiki.org) for examples. + configurable. - * [metamail][] - a plugin for loading metadata from [[email]]-style + * [metamail][] - a plugin for loading metadata from email-style headers at top of a file (e.g., `title: Page Title` or `date: November 2, 2008 11:14 EST`). - * [pandoc][] - [[ikiwiki/Markdown]] page processing via [Pandoc](http://johnmacfarlane.net/pandoc/) (a Haskell library for converting from one markup format to another). [[todo/LaTeX]] and + * [pandoc][] - [[ikiwiki/Markdown]] page processing via + [Pandoc](http://johnmacfarlane.net/pandoc/) (a Haskell library for + converting from one markup format to another). [[todo/LaTeX]] and [[reStructuredText|plugins/rst]] are optional. * [path][] - Provides path-specific template conditionals such as `IS_HOMEPAGE` and `IN_DIR_SUBDIR`. - [mdwn_itex]: http://code.jblevins.org/ikiwiki/plugins.git/plain/mdwn_itex.pm - [h1title]: http://code.jblevins.org/ikiwiki/plugins.git/plain/h1title.pm - [code]: http://code.jblevins.org/ikiwiki/plugins.git/plain/code.pm - [code-doc]: http://code.jblevins.org/ikiwiki/plugins.git/plain/code.text - [metamail]: http://code.jblevins.org/ikiwiki/plugins.git/plain/metamail.pm - [pandoc]: http://code.jblevins.org/ikiwiki/plugins.git/plain/pandoc.pm - [path]: http://code.jblevins.org/ikiwiki/plugins.git/plain/path.pm - + [mdwn_itex]: http://jblevins.org/git/ikiwiki/plugins.git/plain/mdwn_itex.pm + [h1title]: http://jblevins.org/git/ikiwiki/plugins.git/plain/h1title.pm + [code]: http://jblevins.org/projects/ikiwiki/code + [metamail]: http://jblevins.org/git/ikiwiki/plugins.git/plain/metamail.pm + [pandoc]: http://jblevins.org/git/ikiwiki/plugins.git/plain/pandoc.pm + [path]: http://jblevins.org/git/ikiwiki/plugins.git/plain/path.pm ## MathML and SVG support @@ -105,5 +85,5 @@ optimal solution is to force users to preview the page before saving. That way if someone introduces invalid XHTML then they can't save the page in the first place (unless they post directly to the right URL). - [template-patch]: http://xbeta.org/gitweb/?p=xbeta/ikiwiki.git;a=blobdiff;f=templates/page.tmpl;h=380ef699fa72223744eb5c1ee655fb79aa6bce5b;hp=9084ba7e11e92a10528b2ab12c9b73cf7b0f40a7;hb=416d5d1b15b94e604442e4e209a30dee4b77b684;hpb=ececf4fb8766a4ff7eff943b3ef600be81a0df49 - [cgi-patch]: http://xbeta.org/gitweb/?p=xbeta/ikiwiki.git;a=commitdiff;h=fa538c375250ab08f396634135f7d79fce2a9d36 + [template-patch]: http://jblevins.org/git/ikiwiki.git/commit/?h=xbeta&id=416d5d1b15b94e604442e4e209a30dee4b77b684 + [cgi-patch]: http://jblevins.org/git/ikiwiki.git/commit/?id=fa538c375250ab08f396634135f7d79fce2a9d36 -- cgit v1.2.3