Difference between revisions of "Template:Cite IETF/makelink"

From blackwiki
Jump to navigation Jump to search
imported>Tothwolf
(Refactor)
imported>Tothwolf
(Added support for IEN and RTR documents)
Line 6: Line 6:
 
   }}
 
   }}
 
   |{{
 
   |{{
     #if:{{{Rfc|}}}{{{Std|}}}{{{Bcp|}}}{{{Fyi|}}}{{{Draft|}}}
+
     #if:{{{Rfc|}}}{{{Std|}}}{{{Bcp|}}}{{{Fyi|}}}{{{Draft|}}}{{{Ien|}}}{{{Rtr|}}}
 
     |{{
 
     |{{
 
         #ifeq:{{yesno|{{{Autolink|}}}|blank=yes}}|yes
 
         #ifeq:{{yesno|{{{Autolink|}}}|blank=yes}}|yes
Line 24: Line 24:
 
                       #if:{{{Draft|}}}
 
                       #if:{{{Draft|}}}
 
                       |/html/{{{Draft}}}
 
                       |/html/{{{Draft}}}
 +
                      |{{
 +
                        #if:{{{Ien|}}}
 +
                        |/rfcmarkup?url=ftp://ftp.rfc-editor.org/in-notes/ien/{{{Ien}}}.txt
 +
                        |{{
 +
                            #if:{{{Rtr|}}}
 +
                            |/rfcmarkup?url=ftp://ftp.rfc-editor.org/in-notes/museum/RAREreports/rtr{{{Rtr}}}.txt
 +
                          }}
 +
                      }}
 
                     }}
 
                     }}
 
                 }}
 
                 }}

Revision as of 16:03, 2 November 2009

Template documentation[view] [edit] [history] [purge]

This template is a "subroutine" of {{Cite IETF}} used for conditionally creating links to https://tools.ietf.org/ for different types of documents.

It is invoked as:

{{Cite IETF/makelink
| Url = <value of |url= or |archiveurl= parameters>
| Anchor = <section or page anchor generated from the value of the |section= or |page= parameters>
| Autolink = <value of |autolink= parameter>
| Rfc = <value of |rfc= parameter>
| Std = <value of |std= parameter>
| Bcp = <value of |bcp= parameter>
| Fyi = <value of |fyi= parameter>
| Draft = <value of |draft= parameter>
| Ien = <value of |ien= parameter>
| Rtr = <value of |rtr= parameter>
}}

It uses the following algorithm:

  1. If the |Url= parameter is given the template will simply display that value along with an optional anchor generated from |Anchor= appended.
  2. If the |Url= parameter is not given, if any of |Rfc=, |Std=, |Bcp=, |Fyi=, |Draft=, |Ien=, or |Rtr= parameters are given, and the |Autolink= parameter evaluates to anything other than no then the template will generate a url using one of the document type identifiers given.
  3. The template will give priority to the first of the parameters: |Rfc=, |Std=, |Bcp=, |Fyi=, |Draft=, |Ien=, or |Rtr= in this order and create a link using the first matching parameter.
  4. If the |Anchor= parameter is given, it will be appended to the generated url.

This "subroutine" is designed for {{Cite IETF}} and makes assumptions that may not be valid elsewhere.

Examples: