Difference between revisions of "Template:Function2"

From Kolmafia
Jump to navigation Jump to search
Line 3: Line 3:
 
==Function Syntax==
 
==Function Syntax==
 
{{#if: {{{function1.return_type|}}}
 
{{#if: {{{function1.return_type|}}}
   |'''<code>{{{function1.return_type}}} {{{name}}}({{
+
   |{{User:Philmasterplus/FunctionDeclaration
    #if: {{{function1.parameter1|}}}
+
    |name={{{name}}}
    |{{User:Philmasterplus/FunctionDeclaration
+
    |return_type={{{function1.return_type}}}
      |name={{{name}}}
+
    |param1={{{function1.param1|}}}
      |return_type={{{function1.return_type}}}
+
    |param1.type={{{function1.param1.type|}}}
      |param1={{{function1.param1|}}}
+
    |param1.optional={{{function1.param1.optional|}}}
      |param1.type={{{function1.param1.type|}}}
+
    |param1.default={{{function1.param1.default|}}}
      |param1.optional={{{function1.param1.optional|}}}
+
    |param2={{{function1.param2|}}}
      |param1.default={{{function1.param1.default|}}}
+
    |param2.type={{{function1.param2.type|}}}
      |param2={{{function1.param2|}}}
+
    |param2.optional={{{function1.param2.optional|}}}
      |param2.type={{{function1.param2.type|}}}
+
    |param2.default={{{function1.param2.default|}}}
      |param2.optional={{{function1.param2.optional|}}}
+
    |param3={{{function1.param3|}}}
      |param2.default={{{function1.param2.default|}}}
+
    |param3.type={{{function1.param3.type|}}}
      |param3={{{function1.param3|}}}
+
    |param3.optional={{{function1.param3.optional|}}}
      |param3.type={{{function1.param3.type|}}}
+
    |param3.default={{{function1.param3.default|}}}
      |param3.optional={{{function1.param3.optional|}}}
+
    |param4={{{function1.param4|}}}
      |param3.default={{{function1.param3.default|}}}
+
    |param4.type={{{function1.param4.type|}}}
      |param4={{{function1.param4|}}}
+
    |param4.optional={{{function1.param4.optional|}}}
      |param4.type={{{function1.param4.type|}}}
+
    |param4.default={{{function1.param4.default|}}}
      |param4.optional={{{function1.param4.optional|}}}
+
    |param5={{{function1.param5|}}}
      |param4.default={{{function1.param4.default|}}}
+
    |param5.type={{{function1.param5.type|}}}
      |param5={{{function1.param5|}}}
+
    |param5.optional={{{function1.param5.optional|}}}
      |param5.type={{{function1.param5.type|}}}
+
    |param5.default={{{function1.param5.default|}}}
      |param5.optional={{{function1.param5.optional|}}}
+
     }}{{
      |param5.default={{{function1.param5.default|}}}
 
     }})</code>'''{{
 
 
   #if: {{{function1.param1|}}}
 
   #if: {{{function1.param1|}}}
 
   |<ul><li>'''{{{function1.param1.type}}} {{Pspan|{{{function1.param1}}}}}''': {{{function1.param1.description}}}</li>}}{{
 
   |<ul><li>'''{{{function1.param1.type}}} {{Pspan|{{{function1.param1}}}}}''': {{{function1.param1.description}}}</li>}}{{
Line 43: Line 41:
 
}}
 
}}
 
{{#if: {{{function2.return_type|}}}
 
{{#if: {{{function2.return_type|}}}
   |'''<code>{{{function2.return_type}}} {{{name}}}({{
+
   |{{User:Philmasterplus/FunctionDeclaration
    #if: {{{function2.parameter1|}}}
+
    |name={{{name}}}
    |{{User:Philmasterplus/FunctionDeclaration
+
    |return_type={{{function2.return_type}}}
      |name={{{name}}}
+
    |param1={{{function2.param1|}}}
      |return_type={{{function2.return_type}}}
+
    |param1.type={{{function2.param1.type|}}}
      |param1={{{function2.param1|}}}
+
    |param1.optional={{{function2.param1.optional|}}}
      |param1.type={{{function2.param1.type|}}}
+
    |param1.default={{{function2.param1.default|}}}
      |param1.optional={{{function2.param1.optional|}}}
+
    |param2={{{function2.param2|}}}
      |param1.default={{{function2.param1.default|}}}
+
    |param2.type={{{function2.param2.type|}}}
      |param2={{{function2.param2|}}}
+
    |param2.optional={{{function2.param2.optional|}}}
      |param2.type={{{function2.param2.type|}}}
+
    |param2.default={{{function2.param2.default|}}}
      |param2.optional={{{function2.param2.optional|}}}
+
    |param3={{{function2.param3|}}}
      |param2.default={{{function2.param2.default|}}}
+
    |param3.type={{{function2.param3.type|}}}
      |param3={{{function2.param3|}}}
+
    |param3.optional={{{function2.param3.optional|}}}
      |param3.type={{{function2.param3.type|}}}
+
    |param3.default={{{function2.param3.default|}}}
      |param3.optional={{{function2.param3.optional|}}}
+
    |param4={{{function2.param4|}}}
      |param3.default={{{function2.param3.default|}}}
+
    |param4.type={{{function2.param4.type|}}}
      |param4={{{function2.param4|}}}
+
    |param4.optional={{{function2.param4.optional|}}}
      |param4.type={{{function2.param4.type|}}}
+
    |param4.default={{{function2.param4.default|}}}
      |param4.optional={{{function2.param4.optional|}}}
+
    |param5={{{function2.param5|}}}
      |param4.default={{{function2.param4.default|}}}
+
    |param5.type={{{function2.param5.type|}}}
      |param5={{{function2.param5|}}}
+
    |param5.optional={{{function2.param5.optional|}}}
      |param5.type={{{function2.param5.type|}}}
+
    |param5.default={{{function2.param5.default|}}}
      |param5.optional={{{function2.param5.optional|}}}
+
  }}{{
      |param5.default={{{function2.param5.default|}}}
 
    }})</code>'''{{
 
 
   #if: {{{function2.param1|}}}
 
   #if: {{{function2.param1|}}}
 
   |<ul><li>'''{{{function2.param1.type}}} {{Pspan|{{{function2.param1}}}}}''': {{{function2.param1.description}}}</li>}}{{
 
   |<ul><li>'''{{{function2.param1.type}}} {{Pspan|{{{function2.param1}}}}}''': {{{function2.param1.description}}}</li>}}{{
Line 83: Line 79:
 
}}
 
}}
 
{{#if: {{{function3.return_type|}}}
 
{{#if: {{{function3.return_type|}}}
   |'''<code>{{{function3.return_type}}} {{{name}}}({{
+
   |{{User:Philmasterplus/FunctionDeclaration
    #if: {{{function3.parameter1|}}}
+
    |name={{{name}}}
    |{{User:Philmasterplus/FunctionDeclaration
+
    |return_type={{{function3.return_type}}}
      |name={{{name}}}
+
    |param1={{{function3.param1|}}}
      |return_type={{{function3.return_type}}}
+
    |param1.type={{{function3.param1.type|}}}
      |param1={{{function3.param1|}}}
+
    |param1.optional={{{function3.param1.optional|}}}
      |param1.type={{{function3.param1.type|}}}
+
    |param1.default={{{function3.param1.default|}}}
      |param1.optional={{{function3.param1.optional|}}}
+
    |param2={{{function3.param2|}}}
      |param1.default={{{function3.param1.default|}}}
+
    |param2.type={{{function3.param2.type|}}}
      |param2={{{function3.param2|}}}
+
    |param2.optional={{{function3.param2.optional|}}}
      |param2.type={{{function3.param2.type|}}}
+
    |param2.default={{{function3.param2.default|}}}
      |param2.optional={{{function3.param2.optional|}}}
+
    |param3={{{function3.param3|}}}
      |param2.default={{{function3.param2.default|}}}
+
    |param3.type={{{function3.param3.type|}}}
      |param3={{{function3.param3|}}}
+
    |param3.optional={{{function3.param3.optional|}}}
      |param3.type={{{function3.param3.type|}}}
+
    |param3.default={{{function3.param3.default|}}}
      |param3.optional={{{function3.param3.optional|}}}
+
    |param4={{{function3.param4|}}}
      |param3.default={{{function3.param3.default|}}}
+
    |param4.type={{{function3.param4.type|}}}
      |param4={{{function3.param4|}}}
+
    |param4.optional={{{function3.param4.optional|}}}
      |param4.type={{{function3.param4.type|}}}
+
    |param4.default={{{function3.param4.default|}}}
      |param4.optional={{{function3.param4.optional|}}}
+
    |param5={{{function3.param5|}}}
      |param4.default={{{function3.param4.default|}}}
+
    |param5.type={{{function3.param5.type|}}}
      |param5={{{function3.param5|}}}
+
    |param5.optional={{{function3.param5.optional|}}}
      |param5.type={{{function3.param5.type|}}}
+
    |param5.default={{{function3.param5.default|}}}
      |param5.optional={{{function3.param5.optional|}}}
+
  }}{{
      |param5.default={{{function3.param5.default|}}}
 
    }})</code>'''{{
 
 
   #if: {{{function3.param1|}}}
 
   #if: {{{function3.param1|}}}
 
   |<ul><li>'''{{{function3.param1.type}}} {{Pspan|{{{function3.param1}}}}}''': {{{function3.param1.description}}}</li>}}{{
 
   |<ul><li>'''{{{function3.param1.type}}} {{Pspan|{{{function3.param1}}}}}''': {{{function3.param1.description}}}</li>}}{{

Revision as of 17:54, 18 December 2020

Replacement for Template:FunctionPage. Must be used with function pages that follow a specific format.

Template parameters

ParameterDescriptionTypeStatus
ASH function namename

Name of the ASH function. This should match the function page name.

Example
visit_url
Linerequired
Function 1, short descriptionfunction1.short_description

Short description for the overloaded function 1 (and so on for functions 2 through 3)

Example
Visits a web page and returns its HTML source.
Contentoptional
Function 1, return typefunction1.return_type

Return type of the overloaded function 1.

Example
buffer
Linerequired
Function 1, parameter 1function1.param1

Name of the parameter 1 of the overloaded function 1 (and so on for parameters 2 through 5).

Example
url
Lineoptional
Function 1, parameter 1 descriptionfunction1.param1.description

Description of parameter 1 of the overloaded function 1.

Example
URL of the page to visit. If a relative URL is provided, it is treated as an in-game page.
Contentoptional
Function 1, parameter 1 is optional?function1.param1.optional

"yes" = optional. Any non-empty string will do, but please use "yes" to make standardization easier.

Example
yes
Lineoptional
Function 1, parameter 1 default valuefunction1.param1.default

If this is specified, function1.param1.optional must be "yes"

Example
""
Lineoptional

Examples

{{User:Philmasterplus/TemplateSandbox2
|name=visit_url
|function1.return_type=buffer
|function1.short_description=Returns the original HTML source of the page being overridden inside a relay override script.
|function1.description=Returns the original HTML source of the page being overridden. ''This function works only inside a relay override script.''
|function2.return_type=buffer
|function2.short_description=Visits a web page and returns its HTML source.
|function2.description=Makes an HTTP request to a web page and returns its HTML source.
|function2.param1=url
|function2.param1.type=string
|function2.param1.optional=yes
|function2.param1.default=""
|function2.param1.description=URL of the page to visit. If a relative URL is provided, it is treated as an in-game page.
|function2.param2=use_POST
|function2.param2.type=boolean
|function2.param2.optional=yes
|function2.param2.default=true
|function2.param2.description=If <code>true</code>, makes an HTTP POST request when visiting the URL. Otherwise, makes a GET request.
|function2.param3=encoded
|function2.param3.type=boolean
|function2.param3.optional=yes
|function2.param3.default=false
|function2.param3.description=If <code>true</code>, KoLmafia assumes that <code>url</code> has already been [[wikipedia:Percent-encoding|URL-encoded]] and will not encode it.
}}


Function Syntax

Invalid function number (func = "") in Template:FunctionDeclaration

Returns the original HTML source of the page being overridden inside a relay override script.

Invalid function number (func = "") in Template:FunctionDeclaration

  • string url: URL of the page to visit. If a relative URL is provided, it is treated as an in-game page.
  • boolean use_POST: If true, makes an HTTP POST request when visiting the URL. Otherwise, makes a GET request.
  • boolean encoded: If true, KoLmafia assumes that url has already been URL-encoded and will not encode it.
Visits a web page and returns its HTML source.