Difference between revisions of "Template:PrintFirstParagraph"

From Encyclopedia of Scientonomy
Jump to navigation Jump to search
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<noinclude>
 
<noinclude>
This template is used to extract the first paragraph from a given text. If the first paragraph of the text is longer than 1000 characters, only the first 997 characters are returned, and an ellipsis (<code><nowiki>&#8230;</nowiki></code>) is added.
+
This template is used to extract the first paragraph from a given text. If the first paragraph of the text is longer than 1000 characters, only the first 997 characters are returned, and an ellipsis (&#8230;) is added.
  
 
'''NOTE:''' As any "printing" template, it doesn't store any values anywhere, but merely returns them.
 
'''NOTE:''' As any "printing" template, it doesn't store any values anywhere, but merely returns them.
Line 8: Line 8:
  
 
</noinclude><includeonly><!--
 
</noinclude><includeonly><!--
 +
--><!-- 
 +
--><!-- exctract only the first 1000 characters
 +
-->{{#vardefine: varTextShort|{{#sub: {{{vartext|}}}|0|1000}}|}}<!--
 +
--><!-- 
 
--><!-- check if there is a paragraph sign
 
--><!-- check if there is a paragraph sign
-->{{#vardefine: varPos|{{#pos_e: {{{vartext|}}}|\n}}|}}<!--
+
-->{{#vardefine: varPos|{{#pos_e: {{#var: varTextShort}}|\n}}|}}<!--
 
--><!--
 
--><!--
 
-->{{#if: {{#var: varPos}}<!--
 
-->{{#if: {{#var: varPos}}<!--
 
   -->|<!-- if there are two or more paragraphs
 
   -->|<!-- if there are two or more paragraphs
   -->{{#ifexpr: {{#var: varPos}} > 1000<!--
+
   -->{{#explode_e: {{#var: varTextShort}}|\n|0}}<!--  
    -->|{{#sub: {{{vartext|}}}|0|997}}<!--
 
    -->|{{#explode_e: {{{vartext|}}}|\n|0}}<!--  
 
  -->}}<!-- ifexpr
 
 
   -->|<!-- if there is one paragraph or less
 
   -->|<!-- if there is one paragraph or less
 +
  -->{{#vardefine: varLen|{{#len: {{#var: varTextShort}} }}|}}<!--
 
   --><!--   
 
   --><!--   
  -->{{#vardefine: varLen|{{#len: {{{vartext|}}} }}|}}<!--
+
   -->{{#ifexpr: {{#var: varLen}} > 997<!--
  -->{{#var: varLen}}<!-- 
+
     -->|{{#sub: {{#var: varTextShort}}|0|997}}&#8230;<!--
   -->{{#ifexpr: {{#var: varLen}} > 1000<!--
+
     -->|{{#var: varTextShort}}<!--  
     -->|greater{{#sub: {{{vartext|}}}|0|997}}<!--
 
     -->|less{{{vartext|}}}<!--  
 
 
   -->}}<!-- ifexpr
 
   -->}}<!-- ifexpr
 
-->}}<!-- if
 
-->}}<!-- if
 
--></includeonly>
 
--></includeonly>

Latest revision as of 17:46, 31 May 2020

This template is used to extract the first paragraph from a given text. If the first paragraph of the text is longer than 1000 characters, only the first 997 characters are returned, and an ellipsis (…) is added.

NOTE: As any "printing" template, it doesn't store any values anywhere, but merely returns them.

Parameters:

  • |vartext= - the text to extract the first paragraph from.