Difference between revisions of "Template:Function2"

From Kolmafia
Jump to navigation Jump to search
Line 1: Line 1:
<includeonly>{{TOCright}}{{DISPLAYTITLE:{{{name}}}()}}{{#if: {{{needscode|}}}|{{CodeRequest}}}}{{#if: {{{improvecode|}}}|{{CodeRequest|better=yes}}}}
 
{{#if: {{{name|}}}||{{error|Parameter 'name' is missing for User:Philmasterplus/TemplateSandbox2}}}}
 
==Function Syntax==
 
{{#if: {{{function1.return_type|}}}
 
  |<p>{{FunctionDeclaration|name={{{name}}}|func=1|desc=yes}}</p>}}
 
{{#if: {{{function2.return_type|}}}
 
  |<p>{{FunctionDeclaration|name={{{name}}}|func=2|desc=yes}}</p>}}
 
{{#if: {{{function3.return_type|}}}
 
  |<p>{{FunctionDeclaration|name={{{name}}}|func=3|desc=yes}}</p>}}
 
{{#if: {{{function4.return_type|}}}
 
  |<p>{{FunctionDeclaration|name={{{name}}}|func=4|desc=yes}}</p>}}
 
{{#if: {{{function5.return_type|}}}
 
  |<p>{{FunctionDeclaration|name={{{name}}}|func=5|desc=yes}}</p>}}
 
 
{{{description}}}
 
{{#if: {{{code1|}}}|{{{code1}}}}}{{#if: {{{code2|}}}|{{{code2}}}}}{{#if: {{{code3|}}}|{{{code3}}}}}{{#if: {{{code4|}}}|{{{code4}}}}}{{#if: {{{code5|}}}|{{{code5}}}}}
 
{{#if: {{{cli_equiv|}}}|
 
==CLI Equivalent==
 
{{{cli_equiv}}}}}
 
{{#if: {{{see_also|}}}|{{{see_also|}}}}}
 
{{#if: {{{more_info|}}}|
 
==More Information==
 
{{{more_info}}}}}
 
{{#if: {{{special|}}}|
 
==Special==
 
{{{special}}}}}
 
[[Category:Ash Functions]]
 
</includeonly><noinclude>
 
<templatedata>
 
{
 
  "description": "Replacement for Template:FunctionPage. Must be used with data-driven function pages.",
 
  "params": {
 
    "name": {
 
      "label": "ASH function name",
 
      "description": "Name of the ASH function. This should match the function page name.",
 
      "required": true,
 
      "type": "line",
 
      "example": "visit_url"
 
    },
 
    "description": {
 
      "label": "Description",
 
      "description": "Long description that covers all functions. Note: Use <p></p> to separate paragraphs, because double line breaks don't work",
 
      "required": true,
 
      "type": "content"
 
    },
 
    "function1.description": {
 
      "label": "Function 1, description",
 
      "description": "Short description for the overloaded function 1 (and so on for functions 2 through 3)",
 
      "required": true,
 
      "type": "content",
 
      "example": "Visits a web page and returns its HTML source."
 
    },
 
    "function1.return_type": {
 
      "label": "Function 1, return type",
 
      "description": "Return type of the overloaded function 1.",
 
      "required": true,
 
      "type": "line",
 
      "example": "buffer"
 
    },
 
    "function1.param1": {
 
      "label": "Function 1, parameter 1",
 
      "description": "Name of the parameter 1 of the overloaded function 1 (and so on for parameters 2 through 5).",
 
      "type": "line",
 
      "example": "url"
 
    },
 
    "function1.param1.description": {
 
      "label": "Function 1, parameter 1 description",
 
      "description": "Description of parameter 1 of the overloaded function 1.",
 
      "type": "content",
 
      "example": "URL of the page to visit. If a relative URL is provided, it is treated as an in-game page."
 
    },
 
    "function1.param1.optional": {
 
      "label": "Function 1, parameter 1 is optional?",
 
      "description": "\"yes\" = optional. Any non-empty string will do, but please use \"yes\" to make standardization easier.",
 
      "type": "line",
 
      "example": "yes"
 
    },
 
    "function1.param1.default": {
 
      "label": "Function 1, parameter 1 default value",
 
      "description": "If this is specified, function1.param1.optional must be \"yes\"",
 
      "type": "line",
 
      "example": "\"\""
 
    },
 
    "code1": {
 
      "label": "Example code 1",
 
      "description": "Example code showing how to use this function. Use [[Template:CodeSample]] to create sample code. (Same for code2 through code5)",
 
      "type": "content"
 
    },
 
    "cli_equiv": {
 
      "label": "Equivalent gCLI command",
 
      "description": "If provided, must be a gCLI command that provides functionality equivalent to this function.",
 
      "type": "line"
 
    },
 
    "see_also": {
 
      "label": "See Also section",
 
      "description": "If provided, this is used as the content for the See Also section. Use [[Template:SeeAlso]] to build a See Also section.",
 
      "type": "content"
 
    },
 
    "more_info": {
 
      "label": "More Information section",
 
      "description": "If provided, this is used as the content for the More Information section",
 
      "type": "content"
 
    },
 
    "special": {
 
      "label": "Special section",
 
      "description": "If provided, this is used as the content for the Special section",
 
      "type": "content"
 
    },
 
    "needscode": {
 
      "label": "Needs code samples?",
 
      "description": "If set to \"yes\", adds a \"needs code samples\" banner and categorizes the page under [[Category:Needs Code Sample]].",
 
      "type": "line"
 
    },
 
    "improvecode": {
 
      "label": "Needs improved code samples?",
 
      "description": "If set to \"yes\", adds a \"needs better code samples\" banner and categorizes the page under [[Category:Needs Code Sample]].",
 
      "type": "line"
 
    }
 
  }
 
}
 
</templatedata>
 
 
==Notes==
 
This template is not meant to be used directly, but rather through the use of <pre>{{{format|User:Philmasterplus/TemplateSandbox2}}}</pre> in a data-driven function page.
 
 
Use this as the starting point for a data-driven function page:
 
 
<pre>
 
 
&lt;onlyinclude&gt;&#123;&#123;&#123;&#123;&#123;format|Function2}}}
 
&lt;onlyinclude&gt;&#123;&#123;&#123;&#123;&#123;format|Function2}}}
 
|name=
 
|name=
Line 267: Line 139:
 
|code1=&#123;&#123;CodeSample
 
|code1=&#123;&#123;CodeSample
 
   |title=Code Samples
 
   |title=Code Samples
   |description=Visits your private character sheet.
+
   |description=
 
   |code=
 
   |code=
 
   |moreinfo=
 
   |moreinfo=
 
}}
 
}}
 
|code2=&#123;&#123;CodeSample
 
|code2=&#123;&#123;CodeSample
   |description=Visits your private character sheet.
+
   |description=
 
   |code=
 
   |code=
 
   |moreinfo=
 
   |moreinfo=
 
}}
 
}}
 
|code3=&#123;&#123;CodeSample
 
|code3=&#123;&#123;CodeSample
   |description=Visits your private character sheet.
+
   |description=
 
   |code=
 
   |code=
 
   |moreinfo=
 
   |moreinfo=
 
}}
 
}}
 
|code4=&#123;&#123;CodeSample
 
|code4=&#123;&#123;CodeSample
   |description=Visits your private character sheet.
+
   |description=
 
   |code=
 
   |code=
 
   |moreinfo=
 
   |moreinfo=
 
}}
 
}}
 
|code5=&#123;&#123;CodeSample
 
|code5=&#123;&#123;CodeSample
   |description=Visits your private character sheet.
+
   |description=
 
   |code=
 
   |code=
 
   |moreinfo=
 
   |moreinfo=
Line 299: Line 171:
 
&lt;!-- Add an appropriate function subcategory here, e.g. [[Category:Adventuring]],
 
&lt;!-- Add an appropriate function subcategory here, e.g. [[Category:Adventuring]],
 
     then delete this comment --&gt;
 
     then delete this comment --&gt;
</pre>
 
 
Data-driven function pages are incompatible with old-style function pages (i.e. ones that use [[Template:FunctionPage]]).
 
</noinclude>
 

Revision as of 11:53, 20 December 2020

<onlyinclude>{{{{{format|Function2}}} |name= |function1.return_type= |function1.description= |function1.param1= |function1.param1.type= |function1.param2.optional= |function1.param2.default= |function1.param1.description= |function1.param2= |function1.param2.type= |function1.param2.optional= |function1.param2.default= |function1.param2.description= |function1.param3= |function1.param3.type= |function1.param3.optional= |function1.param3.default= |function1.param3.description= |function1.param4= |function1.param4.type= |function1.param4.optional= |function1.param4.default= |function1.param4.description= |function1.param5= |function1.param5.type= |function1.param5.optional= |function1.param5.default= |function1.param5.description= |function2.return_type= |function2.description= |function2.param1= |function2.param1.type= |function2.param2.optional= |function2.param2.default= |function2.param1.description= |function2.param2= |function2.param2.type= |function2.param2.optional= |function2.param2.default= |function2.param2.description= |function2.param3= |function2.param3.type= |function2.param3.optional= |function2.param3.default= |function2.param3.description= |function2.param4= |function2.param4.type= |function2.param4.optional= |function2.param4.default= |function2.param4.description= |function2.param5= |function2.param5.type= |function2.param5.optional= |function2.param5.default= |function2.param5.description= |function3.return_type= |function3.description= |function3.param1= |function3.param1.type= |function3.param2.optional= |function3.param2.default= |function3.param1.description= |function3.param2= |function3.param2.type= |function3.param2.optional= |function3.param2.default= |function3.param2.description= |function3.param3= |function3.param3.type= |function3.param3.optional= |function3.param3.default= |function3.param3.description= |function3.param4= |function3.param4.type= |function3.param4.optional= |function3.param4.default= |function3.param4.description= |function3.param5= |function3.param5.type= |function3.param5.optional= |function3.param5.default= |function3.param5.description= |function4.return_type= |function4.description= |function4.param1= |function4.param1.type= |function4.param2.optional= |function4.param2.default= |function4.param1.description= |function4.param2= |function4.param2.type= |function4.param2.optional= |function4.param2.default= |function4.param2.description= |function4.param3= |function4.param3.type= |function4.param3.optional= |function4.param3.default= |function4.param3.description= |function4.param4= |function4.param4.type= |function4.param4.optional= |function4.param4.default= |function4.param4.description= |function4.param5= |function4.param5.type= |function4.param5.optional= |function4.param5.default= |function4.param5.description= |function5.return_type= |function5.description= |function5.param1= |function5.param1.type= |function5.param2.optional= |function5.param2.default= |function5.param1.description= |function5.param2= |function5.param2.type= |function5.param2.optional= |function5.param2.default= |function5.param2.description= |function5.param3= |function5.param3.type= |function5.param3.optional= |function5.param3.default= |function5.param3.description= |function5.param4= |function5.param4.type= |function5.param4.optional= |function5.param4.default= |function5.param4.description= |function5.param5= |function5.param5.type= |function5.param5.optional= |function5.param5.default= |function5.param5.description= |description= |code1={{CodeSample

 |title=Code Samples
 |description=
 |code=
 |moreinfo=

}} |code2={{CodeSample

 |description=
 |code=
 |moreinfo=

}} |code3={{CodeSample

 |description=
 |code=
 |moreinfo=

}} |code4={{CodeSample

 |description=
 |code=
 |moreinfo=

}} |code5={{CodeSample

 |description=
 |code=
 |moreinfo=

}} |see_also={{SeeAlso|}} |cli_equiv= |more_info= |special= |{{{1|}}} }}</onlyinclude> <!-- Add an appropriate function subcategory here, e.g.,

    then delete this comment -->