Changes

Jump to navigation Jump to search
m
no edit summary
<noinclude>
This template is called from within other ''category'' templates (e.g. Author, Topic, Theory) to store the completion rate of a given textual property. The template checks whether the text has the required length and given in <code><nowiki>|requiredwordcount=</nowiki></code>. If the minimal word count is reached, then a completion rate of 100% is assigned to a property <code><nowiki>CR_{{{namepropertyname}}}</nowiki></code>. Otherwise, the exact rate of completion is stored in that property.
'''NOTE:''' As any "set" template, it doesn't print anything on the page, but merely sets the appropriate values.
 
'''NOTE:''' Because there doesn't seem to be a function to get the number of words in a string, this template works with the number of characters multiplied by 6. Six is chosen as a multiplier, since the average number of letters in an English word is 5.1; plus we have to factor in spaces between the words.
'''Parameters:'''
* <code><nowiki>|propertyname=</nowiki></code> - the name of the property for which a completion rate is to be calculated.
* <code><nowiki>|propertyvalue=</nowiki></code> - the string value of the property; this is to be passed as a parameter, since not all properties are stored and, thus, not all properties are fetchableretrievable.
* <code><nowiki>|requiredwordcount=</nowiki></code> - the minimal number of words to qualify as 100% complete.
* <code><nowiki>|returnvalue=</nowiki></code> - if nonempty, the calculated value is returned.
</noinclude><includeonly>Length:<!---->{{#lenvardefine: {{{propertyvaluevarCR|}}} 0}}<!--start from 0 as the completion rate -->{{#ifexpr: {{#len: {{{propertyvalue|}}} }} > ({{{requiredwordcount|1}}}* 6)<!-- -->|Complete: CR_{{{propertyname}}}=100 <!-- if: store the value as complete -->{{#setvardefine: CR_{{{propertyname}}}=varCR|100}}<!--
--><!--
-->|Incomplete: CR_{{{propertyname}}}={{#expr: (100/{{{requiredwordcount|1}}} * {{#len: {{{propertyvalue|}}} }}) round 0}} <!-- else: store the percentage -->{{#setvardefine: CR_{{{propertyname}}}=varCR|{{#expr: (100/({{{requiredwordcount|1}}} * 6) * {{#len: {{{propertyvalue|}}} }}) round 0}} }}<!--
--><!--
-->}}<!-- if length is greater than required word count
--><!-- store the value
-->{{#set: CR_{{{propertyname}}}={{#var: varCR}} }}<!--
--><!-- return the value if necessary
-->{{#if: {{{returnvalue|}}}|{{#var: varCR}}|}}<!--
--></includeonly>

Navigation menu