User:Skybike/Template:This months newsletter: Difference between revisions
(Sandbox experiments, see User:Johan G/Template:This months newsletter) |
(Fix newsletter creation link) |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{#ifexist: | {{#ifexist: | ||
<!-- ## Does the page specified by the user already exist? ## --> | <!-- #### Does the page specified by the user already exist? #### --> | ||
{{#if: {{{subpage-to|}}} | {{#if: {{{subpage-to|}}}|{{urlencode:{{{subpage-to|}}}|WIKI}}/}}<!-- | ||
# PAGENAME to test# | |||
-->{{LangSwitch|lang={{{lang|}}} | -->{{LangSwitch|lang={{{lang|}}} | ||
| en = FlightGear_Newsletter_{{#time: F Y |{{{date|now}}} | en }} | | en = FlightGear_Newsletter_{{#time: F Y |{{{date|now}}} | en }} | ||
Line 10: | Line 10: | ||
##### Yes, there is such a page. Link to it. #####--> | |||
|{{ | |{{#if:{{#titleparts:{{{link|}}}|1|2}}|{{#titleparts:{{{link|}}}|1|1}} }}<!--text1/linktext/text2: if more than 1 part? print text1 black | ||
-->{{LangSwitch|lang={{{lang|}}} | -->[[{{#if: {{{subpage-to|}}}|{{urlencode:{{{subpage-to|}}}|WIKI}}/}}<!-- | ||
# pagename to link to: # | |||
-->{{LangSwitch|lang={{{lang|}}} | |||
| en = FlightGear_Newsletter_{{#time: F Y |{{{date|now}}} | en }} | | en = FlightGear_Newsletter_{{#time: F Y |{{{date|now}}} | en }} | ||
| de = De/FlightGear_Newsletter_{{#time: F Y |{{{date|now}}} | de }} | | de = De/FlightGear_Newsletter_{{#time: F Y |{{{date|now}}} | de }} | ||
}}<!-- | }}<!-- | ||
##blue link text:## | |||
#linktext defaults to the newsletters name if "link=" not used or called "name" or "/name"# | |||
-->|{{#ifexpr: {{#if:{{{link|}}}|0|1}} or {{#ifeq:{{{link|}}}|name|1|0}} or {{#ifeq:{{#titleparts:{{{link|}}}|1|2}}|name|1|0}}<!-- | |||
-->|{{LangSwitch|lang={{{lang|}}}<!--This link text gets shown if the newsletter exists--> | |||
| en = FlightGear Newsletter {{#time: F Y |{{{date|now}}} | en }} | |||
| de = FlightGear Newsletter {{#time: F Y |{{{date|now}}} | de }} | |||
}}<!-- | |||
#if called "read name" or "/read name"# | |||
-->|{{#ifexpr:{{#ifeq:{{{link|}}}|read name|1|0}} or {{#ifeq:{{#titleparts:{{{link|}}}|1|2}}|read name|1|0}} |{{LangSwitch|lang={{{lang|}}} | |||
| en = read the FlightGear Newsletter {{#time: F Y |{{{date|now}}} | en }} | |||
| de = FlightGear Newsletter {{#time: F Y |{{{date|now}}} | de }} lesen | |||
}}<!-- | |||
#custom text given as "link=linktext" or "link=text/linktext"# | |||
-->|{{#if:{{#titleparts:{{{link|}}}|1|2}} | {{#titleparts:{{{link|}}}|1|2}} | {{#titleparts:{{{link|}}}|1|1}} }} }} }}]]<!-- | |||
--> {{#titleparts:{{{link|}}}|1|3}}<!-- last "text/link/text" text | |||
##### No, there is no such page. Preload subpage and create it. ##### | |||
## if create=a/b/c has more than 1 part, print first part in black ## | |||
-->|{{#if:{{#titleparts:{{{create|}}}|1|2}}|{{#titleparts:{{{create|}}}|1|1}} }}<!-- | |||
--><span class="plainlinks"><!--No http-link Icon | --><span class="plainlinks"><!--No http-link Icon | ||
-->[http://wiki.flightgear.org/ | -->[http://wiki.flightgear.org/<!-- | ||
-->{{#if: {{{subpage-to|}}} | -->{{#if: {{{subpage-to|}}}|{{urlencode:{{{subpage-to|}}}|WIKI}}/}}<!-- | ||
# Name of the created page # | |||
-->{{LangSwitch|lang={{{lang|}}} | -->{{LangSwitch|lang={{{lang|}}} | ||
| en = FlightGear_Newsletter_{{#time: F_Y |{{{date|now}}} | en }} | | en = FlightGear_Newsletter_{{#time: F_Y |{{{date|now}}} | en }} | ||
Line 39: | Line 54: | ||
}}<!-- | }}<!-- | ||
--> | #Draft to preload to the above page# | ||
-->?action=edit&preload=<!-- | |||
-->{{LangSwitch|lang={{{lang|}}} | -->{{LangSwitch|lang={{{lang|}}} | ||
| en = User:Skybike/Template:This_months_newsletter/Newsletter_example | | en = User:Skybike/Template:This_months_newsletter/Newsletter_example | ||
Line 48: | Line 64: | ||
-->&preloadparams%5b%5d={{#time: Y |{{{date|now}}}}}<!-- $2 is Year (like 2019) | -->&preloadparams%5b%5d={{#time: Y |{{{date|now}}}}}<!-- $2 is Year (like 2019) | ||
-->&preloadparams%5b%5d={{urlencode:{{current release|cr}}}}<!-- $3 is current release | -->&preloadparams%5b%5d={{urlencode:{{current release|cr}}}}<!-- $3 is current release | ||
-->&summary= | -->&summary=Newsletter%20creation%2C%20automatic%20preload%20from%20<!--A short summary (%20 is hex ASCII for space %2C , %5B [ %3A : %2F / %7C | %5D ]) | ||
-->%5B%5BUser%3ASkybike%2FTemplate%3AThis%20months%20newsletter%2FNewsletter%20example%7Chere%5D%5D<!-- | |||
--> {{{ | ## blue linktext, shown as default if empty or "create=create name" or "create=/create name" ## | ||
--> {{#ifexpr: {{#if:{{{create|}}}|0|1}} or {{#ifeq:{{{create|}}}|create name|1|0}} or {{#ifeq:{{#titleparts:{{{create|}}}|1|2}}|create name|1|0}}<!-- | |||
-->|{{LangSwitch|lang={{{lang|}}} | -->|{{LangSwitch|lang={{{lang|}}} | ||
| en = Create | | en = Create FlightGear Newsletter {{#time: F Y |{{{date|now}}} | en }} | ||
| de = Den Newsletter | | de = Den FlightGear Newsletter {{#time: F Y |{{{date|now}}} | de }} erstellen | ||
}}<!-- | |||
# shown as newsletter name if create=name or create=/name" # | |||
-->|{{#ifexpr:{{#ifeq:{{{create|}}}|name|1|0}} or {{#ifeq:{{#titleparts:{{{create|}}}|1|2}}|name|1|0}}|{{LangSwitch|lang={{{lang|}}} | |||
| en = FlightGear Newsletter {{#time: F Y |{{{date|now}}} | en }} | |||
| de = FlightGear Newsletter {{#time: F Y |{{{date|now}}} | de }} | |||
}}<!-- | |||
# custom blue link text as "create=abc" or "create=/abc" # | |||
-->|{{#if:{{#titleparts:{{{create|}}}|1|2}} | {{#titleparts:{{{create|}}}|1|2}} | {{#titleparts:{{{create|}}}|1|1}} }} }} }}]</span class><!-- | |||
## last black "text/link/text" text ## | |||
--> {{#titleparts:{{{create|}}}|1|3}}<!-- | |||
-->}}<noinclude> | |||
{{Informative template|1= | {{Informative template|1= | ||
This sandbox experiment is based on [[User:Johan G/Template:This months newsletter]]. | This sandbox experiment is based on [[User:Johan G/Template:This months newsletter]]. | ||
If we decide to publish it I would suggest a more general name like "Template:Newsletter link" instead of "This months newsletter" as you can change the date here. | |||
== Goal == | == Goal == | ||
This template will link to the | This template will link to the [[FlightGear Newsletter]]. If it does not yet exist this template will show a red link that when clicked will load a FlightGear Newsletter example with common headings, templates and categories already there, as well as some helpful comments for the editor. It is multilingual and supports custom | ||
== Usage == | == Usage == | ||
{{obr}}<small>:User:Skybike/Template:</small>'''This months newsletter''' {{!}}''date='' {{!}}'' | {{obr}}<small>:User:Skybike/Template:</small>'''This months newsletter''' {{!}}''date='' {{!}}''link='' {{!}}''create='' {{!}}''subpage-to='' {{!}}''lang='' {{cbr}} | ||
'''All parameters are optional''' | '''All parameters are optional''' | ||
Line 68: | Line 99: | ||
; date: Default is ''current date''. But you can choose a different date in the form '''YYYY-MM''' (like {{CURRENTYEAR}}-{{CURRENTMONTH}}). | ; date: Default is ''current date''. But you can choose a different date in the form '''YYYY-MM''' (like {{CURRENTYEAR}}-{{CURRENTMONTH}}). | ||
; | ;link, create: Alternative name for the printed link to an existing Newsletter and to not existing Newsletter (by default "FlightGear Newsletter {{#time:F Y|now}}" and "Create FlightGear Newsletter {{#time:F Y|now}}") | ||
<br> | <br> | ||
===Advanced Usage=== | ===Advanced Usage=== | ||
---- | ---- | ||
; | '''All parameters are optional''' | ||
; date= | |||
*Default is <tt>now</tt>. More expressions are <tt>2019-6, January 2020, next month, last month, +1 month, +8 month, +8 months, -8 days,</tt>,... | |||
*Only english therms are accepted, <tt>März 2018</tt> or <tt>nächster Monat</tt> do NOT work, nowhere. | |||
<br> | |||
;link= / create= | |||
* Shown as blue link text linking to an existing newsletter (link=) and creating a new one (create=): | |||
** "<tt>link=abc{{!}}create=def</tt>" shows "[[Main Page|Abc]]" or "[[Main Page|Def]]" | |||
<br> | |||
* There are optional explanatory black texts around the blue link. Both are empty by default. You can define them by a "/" slash in the way "<tt>link=black/blue/black</tt>" "Black [[Main Page|blue]] black" | |||
** Only the first one: "<tt>Write/me</tt>" shows "Write [[Main Page|me]]" | |||
** Both texts: "<tt>Write/me/now</tt>" shows "Write [[Main Page|me]] now" | |||
** Only the last text: "<tt>/me/now</tt>" shows "[[Main Page|Me]] now" | |||
** No text: "<tt>Me</tt>" shows "[[Main Page|Me]]" | |||
<br> | |||
* There are magical words supported (only) by the blue link: | |||
** "<tt>name</tt>" as well as "<tt>/name/</tt>": [[Main Page|FlightGear Newsletter {{#time:F Y|now}}]] (which is the default for "link") | |||
** "<tt>read name</tt>": "[[Main Page|Read FlightGear Newsletter {{#time:F Y|now}}]]" (only for "link=") | |||
** "<tt>create name</tt>": "[[Main Page|Create FlightGear Newsletter {{#time:F Y|now}}]]" (only for "create=". Is the default there as well) | |||
** type the newsletters name manually for more combinations: <code><nowiki>FlightGear Newsletter {{#time:F Y|now}}</nowiki></code>. | |||
<br> | |||
; subpage-to: Create the next newsletter as a subpage to ''subpage-to'' instead of as a separate page. Can be used for sandbox experiments as a subpage to your user page. | ; subpage-to: Create the next newsletter as a subpage to ''subpage-to'' instead of as a separate page. Can be used for sandbox experiments as a subpage to your user page. | ||
<!--: Using this option no categories will be included.--> | <!--: Using this option no categories will be included.--> | ||
Line 87: | Line 137: | ||
---- | ---- | ||
In {{tl|newsletter-header}} we would use < | In {{tl|newsletter-header}} we would use <tt>link=</tt> and <tt>create=</tt> to replace the default text: | ||
{{obr}}'''This months newsletter'''{{!}} | {{obr}}'''This months newsletter'''{{!}}link=''Please help us write/the coming edition!''{{!}}create=''Create the coming Newsletter edition''{{cbr}} | ||
{{:User:Skybike/Template:This months newsletter| | {{:User:Skybike/Template:This months newsletter|link=Please help us write/the coming edition!|create=Create the coming Newsletter edition}} | ||
---- | ---- | ||
On translated pages (like De/Newsletter) you can link to last months english newsletter via: | On translated pages (like De/Newsletter) you can link to last months english newsletter via: | ||
{{obr}}'''This months newsletter''' {{!}}''date=last month'' {{!}}''lang= en'' {{!}}'' | {{obr}}'''This months newsletter''' {{!}}''date=last month'' {{!}}''lang= en'' {{!}}''link=Add your article to the english/name'' {{!}}''ceate=Create English newsletter''{{cbr}} | ||
{{:User:Skybike/Template:This months newsletter|date=last month|lang=en| | {{:User:Skybike/Template:This months newsletter|date=last month|lang=en|link=Add your article to the english/name|create=Create English newsletter}} | ||
== Known issues == | |||
While it is stated that "Using this option the normal categories will not be included." they currently in fact are. | *The first letter of "create=" and "link=" is always a capital letter | ||
*<tt>text//text</tt> and <tt>text/</tt> does not work as you need a link text. Use <tt>text/name/text</tt> instead (or don't use link= and create= at all). | |||
*You can't combine the magical word "name" with other words than "create" and "read" within the blue link ("create=ab/cd name ef/gh" or "link=ab name" does not work). Type the newsletters name manually or define these words as black text using "/" slash | |||
*time= only works with english language, try to use international "YYYY-MM" (2018-12) whenever possible to help translators. | |||
*"name" and "read name" and "create name" are english codewords but have translated output. <tt>{{!}}create=bitte/''create name''/, um ihn zu füllen{{!}}lang=de</tt> | |||
*The internal wiki server may need some time (up to minutes) to index new pages. This template still shows the "create" link during that time. | |||
<!--While it is stated that "Using this option the normal categories will not be included." they currently in fact are. | |||
:If there should be a need for this, just add a Preloadparam $4 that ships ":Category:" or "Category:" (without first colon) in it, based on if subpage-to= is used or not. But this would make the draft template harder to understand.--> | :If there should be a need for this, just add a Preloadparam $4 that ships ":Category:" or "Category:" (without first colon) in it, based on if subpage-to= is used or not. But this would make the draft template harder to understand.--> | ||
Latest revision as of 09:15, 6 September 2021
FlightGear Newsletter April 2024
This sandbox experiment is based on User:Johan G/Template:This months newsletter.
If we decide to publish it I would suggest a more general name like "Template:Newsletter link" instead of "This months newsletter" as you can change the date here.
Goal
This template will link to the FlightGear Newsletter. If it does not yet exist this template will show a red link that when clicked will load a FlightGear Newsletter example with common headings, templates and categories already there, as well as some helpful comments for the editor. It is multilingual and supports custom
Usage
{{:User:Skybike/Template:This months newsletter |date= |link= |create= |subpage-to= |lang= }}
All parameters are optional
- date
- Default is current date. But you can choose a different date in the form YYYY-MM (like 2024-04).
- link, create
- Alternative name for the printed link to an existing Newsletter and to not existing Newsletter (by default "FlightGear Newsletter April 2024" and "Create FlightGear Newsletter April 2024")
Advanced Usage
All parameters are optional
- date=
- Default is now. More expressions are 2019-6, January 2020, next month, last month, +1 month, +8 month, +8 months, -8 days,,...
- Only english therms are accepted, März 2018 or nächster Monat do NOT work, nowhere.
- link= / create=
- Shown as blue link text linking to an existing newsletter (link=) and creating a new one (create=):
- There are optional explanatory black texts around the blue link. Both are empty by default. You can define them by a "/" slash in the way "link=black/blue/black" "Black blue black"
- There are magical words supported (only) by the blue link:
- "name" as well as "/name/": FlightGear Newsletter April 2024 (which is the default for "link")
- "read name": "Read FlightGear Newsletter April 2024" (only for "link=")
- "create name": "Create FlightGear Newsletter April 2024" (only for "create=". Is the default there as well)
- type the newsletters name manually for more combinations:
FlightGear Newsletter {{#time:F Y|now}}
.
- subpage-to
- Create the next newsletter as a subpage to subpage-to instead of as a separate page. Can be used for sandbox experiments as a subpage to your user page.
- lang
- This template has {{LangSwitch}} - overwrite that at subpages by entering en, de, fr, es, ca,...
Examples
{{This months newsletter}}
FlightGear Newsletter April 2024
(if it exists: FlightGear Newsletter May 2017 and if not Create FlightGear Newsletter May 2000
In {{newsletter-header}} we would use link= and create= to replace the default text:
{{This months newsletter|link=Please help us write/the coming edition!|create=Create the coming Newsletter edition}}
Please help us write the coming edition!
On translated pages (like De/Newsletter) you can link to last months english newsletter via:
{{This months newsletter |date=last month |lang= en |link=Add your article to the english/name |ceate=Create English newsletter}}
Add your article to the english FlightGear Newsletter March 2024
Known issues
- The first letter of "create=" and "link=" is always a capital letter
- text//text and text/ does not work as you need a link text. Use text/name/text instead (or don't use link= and create= at all).
- You can't combine the magical word "name" with other words than "create" and "read" within the blue link ("create=ab/cd name ef/gh" or "link=ab name" does not work). Type the newsletters name manually or define these words as black text using "/" slash
- time= only works with english language, try to use international "YYYY-MM" (2018-12) whenever possible to help translators.
- "name" and "read name" and "create name" are english codewords but have translated output. |create=bitte/create name/, um ihn zu füllen|lang=de
- The internal wiki server may need some time (up to minutes) to index new pages. This template still shows the "create" link during that time.
Technical notes
The template will preload a subpage (User:Skybike/Template:This months newsletter/Newsletter example) to this template with a FlightGear newsletter example for the editor that clicks the link. Visit mediawiki.org to get more information.
You can use the following parameters on the preload subpage:
- $1 for month (01,02,...12)
- $2 for Year (like 2024).
- $3 for current release YYYY.V, now 2020.3. See {{current release}} as source.
Define a subpage with this template (here to [[User:DeleteMe/FlightGear Newsletter April 2024]])
{{This months newsletter|subpage-to=User:DeleteMe}}
Create FlightGear Newsletter April 2024
Related templates