Template:Uses from: Difference between revisions
Use a simple test with the parserfuncitons if. |
Tweak to have {{{1}}} identify whether it's a library (or implementation, or whatever). |
||
(18 intermediate revisions by the same user not shown) | |||
Line 1:
<div class="examplemeta libheader"><noinclude>'''Uses:''' (tool name) <small> ('''Component[s]:''' Component1, Component2, ComponentN )</small></noinclude><includeonly>'''Uses:''' [[SMW::off]]<!--
-->[[uses::{{{1}}}/{{{2}}}|{{{
-->{{#set:Uses
-->
There must be a component N=1, for there to be a component N>1. If there's no component N=1, then there's no reason to put any of the component list artifacts in.
-->{{#if: {{{component1|}}}|<!--
--> <small> (<!--
Is there more than one component?
Line 26 ⟶ 20:
End plural/singluar #if.
-->}}<!--
-->{{#foreach: component$n$|<!--
Line 33 ⟶ 25:
-->[[SMW::on]]<!--
-->
Ending #foreach
-->{{#if: {{{version}}}|<!--▼
-->}}<!--
Ending #
-->}}<!--
Only apply </small> if we have components.
--> )</small> <!--
-->}}<!--
Ending examplemeta div.
--></includeonly
--><noinclude>
This template is intended to handle the case where a
==Discussion==
This template is derived from {{tmpl|tcllib}}, and seeks to have a similar aim, except more generically, and as a potential eventual replacement for {{tmpl|libheader}} and {{tmpl|works with}}. (And {{tmpl|tcllib}}, if it achieves sufficient functionality.)
===What it does===
* Associates the page with the {{{1}}}:
** Semantically, as <tt><nowiki>[[Uses {{{1}}}::{{{2}}}]</nowiki></tt>
** As part of <tt>[[:Category:{{{2}}}]]</tt> (though this may eventually change)
** By linking to <tt>[[{{{1}}}/{{{2}}}]]</tt>.
* Associates the page with each component specified
** Semantically, as <tt><nowiki>[[Uses {{{1}}}::{{{2}}}/{{{componentN}}}]]</nowiki></tt> (Placing the component as a subpage of the {{{1}}}
** By linking to <tt><nowiki>[[{{{1}}}/{{{2}}}/{{{componentN}}}]]</nowiki></tt>.
===What it needs to do (eventually)===
* Associate {{{1}}} version information with the page.
* Associate component version information with the page.
===What it should do===
* Avoid using MediaWiki categories as possible.
The richer the relationships we can define, the more powerful the search options we'll have available.
{{template}}[[Category:Example description templates]]</noinclude>
|
Latest revision as of 17:11, 20 November 2010
This template is intended to handle the case where a {{{1}}} has many components within it (examples of this include CPAN, RubyGems and Tcllib). It has two required parameters: {{uses from|{{{1}}}|component}}. The {{{1}}} is the name of the overall {{{1}}} of components (which should also be the name of a category here on RC) and the component is the name of the component within it (which can be almost any string).
Discussion
This template is derived from {{tcllib}}, and seeks to have a similar aim, except more generically, and as a potential eventual replacement for {{libheader}} and {{works with}}. (And {{tcllib}}, if it achieves sufficient functionality.)
What it does
- Associates the page with the {{{1}}}:
- Semantically, as [[Uses {{{1}}}::{{{2}}}]
- As part of [[:Category:{{{2}}}]] (though this may eventually change)
- By linking to [[{{{1}}}/{{{2}}}]].
- Associates the page with each component specified
- Semantically, as [[Uses {{{1}}}::{{{2}}}/{{{componentN}}}]] (Placing the component as a subpage of the {{{1}}}
- By linking to [[{{{1}}}/{{{2}}}/{{{componentN}}}]].
What it needs to do (eventually)
- Associate {{{1}}} version information with the page.
- Associate component version information with the page.
What it should do
- Avoid using MediaWiki categories as possible.
The richer the relationships we can define, the more powerful the search options we'll have available.