Editing User:Pharap/Wiki Improvement Proposals
From Guild of Archivists
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 3: | Line 3: | ||
=== Inline D'ni Dictionary Template === | === Inline D'ni Dictionary Template === | ||
==== Summary ==== | |||
At the moment the it is possible to insert D'ni text and write D'ni words in romanised form, and the wiki has an extensive dictionary. (See: [[:Category:D'ni words]].) | |||
What I would like to propose is a template that could leverage these features and produce a tooltip that provides information from the D'ni dictionary. Most importantly, it should include the three main ways of writing that word ([[Dnifont]], [[OTS]], and [[NTS]]) as well as the IPA pronunciation of the word. This could ideally be applied to words written in any of Dnifont, OTS, or NTS, so that any of the three could provide relevant contextual information. | |||
(It may also be worth including the meaning or meanings, or whether the word is e.g. a noun or a verb, provided that those don't flood the tooltip with too much information. Though I am less committed to those than I am to the basic romanisation and pronunciation.) | |||
==== Reasoning ==== | ==== Reasoning ==== | ||
This feature would make it easier to provide more linguistic information with less markup | This feature would make it easier to provide more linguistic information with less markup or effort on the part of an article writer. If implemented in the ideal way (see [[#Example|Example]] below), contributors would (for the most part) no longer have to remember how to write Dnifont. They would only have to remember the name of the corresponding <code>Dictionary:</code> page. | ||
Paradoxically, despite no longer having to remember how to write in Dnifont, this feature would actually make using Dnifont easier as it would be displayed within the tooltip on any in-page D'ni words. | |||
This would also avoid the potential confusion that might arise as to which of the romanisation styles is in use since all three styles would always be displayed. | |||
Having the IPA pronunciation would be | Having the IPA pronunciation code as well would be a nice little bonus considering how many pages feature rendered Dnifont and OTS-style words but lack any corresponding IPA. The presence of IPA would be incredibly useful for readers who understand it as it would help them to know how to pronounce the various D'ni words and names that crop up throughout the wiki. Particularly on [[Age]] articles, and on articles for characters with D'ni names like [[Aitrus]], [[Ti'ana]], and [[Gehn]]. | ||
==== Example ==== | ==== Example ==== | ||
A usage like <code><nowiki>{{D'ni | A usage like <code><nowiki>{{D'ni dict page|Teledahn}}</nowiki></code> could appear as thus: | ||
<span title="Dnifont: teleDan, OTS: teledahn, NTS: teledan, IPA: /tɛ.lɛ.dɑn/" style="border-bottom: 1px dotted"><dni>teleDan</dni></span> | |||
Hence one would only need to remember the name of the dictionary entry | Hence one would only need to remember the name of the dictionary entry and the template could do the rest. | ||
Alternatively, a | Alternatively, a usage like <code><nowiki>{{D'ni dict word|teleDan}}</nowiki></code> accepting Dnifont could also be permitted, as well as possibly a form that could accept either argument, such as <code><nowiki>{{D'ni dict|page=Teledahn}}</nowiki></code> and <code><nowiki>{{D'ni dict|word=teleDan}}</nowiki></code>. | ||
Ideally the | Ideally the toolbox would be better formatted, more like the <nowiki>[[Has length::30 cm]]</nowiki> property from the Semantic MediaWiki addons: [[Has length::30 cm]], but I have yet to investigate how that might be achieved. | ||
==== Implementation ==== | ==== Implementation ==== | ||
As a proof of concept, I have implemented | So far I have been able to implement all the tooltip information and a Dnifont argument, as well as the ability to specify a dictionary entry name, but I haven't yet worked out a good way to create a template that supports both. However, it may actually be better to simply offer two different templates rather than one dual-purpose template. To avoid maintenance issues, one could be implemented in terms of the other. | ||
As a proof of concept, I have implemented both possible templates: | |||
* A template that accepts [[Dnifont]]: | |||
** <code>{{(}}{{(}}[[User:Pharap/Templates/Dnidict word]]<nowiki />{{!}}teleDan{{)}}{{)}}</code> →{{User:Pharap/Templates/Dnidict word|teleDan}} | |||
* A template that accepts a [[Dictionary:Full Word List|Dictionary]] page name: | * A template that accepts a [[Dictionary:Full Word List|Dictionary]] page name: | ||
** <code | ** <code>{{(}}{{(}}[[User:Pharap/Templates/Dnidict page]]<nowiki />{{!}}Teledahn{{)}}{{)}}</code> → {{User:Pharap/Templates/Dnidict page|Teledahn}} | ||
(Note that I am temporarily using subpages of my user page to provide templates that call the <code>dnifont2ots</code> and <code>dnifont2nts</code> functions exposed by the [[Module:Dict D'ni|Dict D'ni]] module as template wrappers are necessary for them to function correctly outside of the module. Only the former is needed as part of the implementation, but it may be worth providing both for future use.) | |||
I went through a lot of false starts before arriving at my final implementations because it took me a while to discover that the [[Property:OTS|OTS]], [[Property:NTS|NTS]], and [[Property:IPA|IPA]] properties already existed, as their existence was somewhat buried in the [[Module:Dict D'ni|Dict D'ni]] module and {{tl|IPA}} template respectively. | |||
In the case of the former, it took me a while to realise that the syntax <code><nowiki>[[Property::Value]]</nowiki></code> can be used to declare a value for a property in the same way as <code><nowiki>{{#set: Property=Value}}</nowiki></code>, and that consequently the following two lines of the D'ni Dict module are producing two properties: | |||
* <code><nowiki>output = output..'* [[OTS]]: [[OTS::'..dnifont2ots(args['dnifont'])..']]\n'</nowiki></code> | * <code><nowiki>output = output..'* [[OTS]]: [[OTS::'..dnifont2ots(args['dnifont'])..']]\n'</nowiki></code> | ||
* <code><nowiki>output = output..'* [[NTS]]: [[NTS::'..dnifont2nts(args['dnifont'])..']] '</nowiki></code> | * <code><nowiki>output = output..'* [[NTS]]: [[NTS::'..dnifont2nts(args['dnifont'])..']] '</nowiki></code> | ||
Line 58: | Line 56: | ||
In the case of the {{tl|IPA}} template, I simply hadn't peeked at its source. At one point I had separately thought of the possibility of including such a property in the {{tl|IPA}} template, but for a while after I had simply presumed that it wouldn't be there and hadn't thought to check until I ended up looking at the source by chance when editing my User page and noticing the property's presence. | In the case of the {{tl|IPA}} template, I simply hadn't peeked at its source. At one point I had separately thought of the possibility of including such a property in the {{tl|IPA}} template, but for a while after I had simply presumed that it wouldn't be there and hadn't thought to check until I ended up looking at the source by chance when editing my User page and noticing the property's presence. | ||
Fortunately, the fact the properties I had been intending to suggest be created already exist means implementing this proposal would be relatively straightforward and only require the creation of three templates, all of which have already been trialled... | |||
* <code>{{(}}{{(}}[[User:Pharap/Templates/Dnidict word]]{{)}}{{)}}</code>, likely as {{tl|D'ni dict word}} or similar. | |||
* <code>{{(}}{{(}}[[User:Pharap/Templates/Dnidict page]]{{)}}{{)}}</code>, likely as {{tl|D'ni dict page}} or similar. | |||
* <code>{{(}}{{(}}[[User:Pharap/Templates/Dni to OTS]]{{)}}{{)}}</code>, likely as {{tl|D'ni to OTS}} or similar. | |||
Additionally, it may be worth implementing a wrapper template for {{tl|D'ni dict word}} and {{tl|D'ni dict page}} to permit using either as originally suggested. For example: | |||
* <code><nowiki>{{D'ni dict|dnifont=teleDan}}</nowiki></code> → <code><nowiki>{{D'ni dict word|teleDan}}</nowiki></code> | |||
* <code><nowiki>{{D'ni dict|page=Teledahn}}</nowiki></code> → <code><nowiki>{{D'ni dict page|Teledahn}}</nowiki></code> | |||
This could be implemented as: | |||
<pre><nowiki> | |||
{{#if {{{page|}}}|{{D'ni dict page|{{{page}}}}}|{{#if {{{dnifont|}}}|{{D'ni dict word|{{{dnifont}}}}}|Error: D'ni dict template requires a 'page' or 'dnifont' parameter.}}}} | |||
</nowiki></pre> | |||
=== Apocrypha Banner === | === Apocrypha Banner === | ||
==== Summary ==== | ==== Summary ==== | ||
Line 88: | Line 91: | ||
| issue = is [[GoArch:Apocrypha|apocrypha]]. It should be considered [[GoArch:Canon policy|non-canon]] and may consist of fan-created content. | | issue = is [[GoArch:Apocrypha|apocrypha]]. It should be considered [[GoArch:Canon policy|non-canon]] and may consist of fan-created content. | ||
| small = {{#if:{{{sect|{{{section|{{{1|}}}}}}}}}|{{#if:{{{small|{{{left|}}}}}}|left}} }} | | small = {{#if:{{{sect|{{{section|{{{1|}}}}}}}}}|{{#if:{{{small|{{{left|}}}}}}|left}} }} | ||
| sect = | | sect = {{{1|}}} | ||
}} | }} | ||
Line 104: | Line 107: | ||
| issue = is [[GoArch:Apocrypha|apocrypha]]. It should be considered [[GoArch:Canon policy|non-canon]] and may consist of fan-created content. | | issue = is [[GoArch:Apocrypha|apocrypha]]. It should be considered [[GoArch:Canon policy|non-canon]] and may consist of fan-created content. | ||
| small = {{#if:{{{sect|{{{section|{{{1|}}}}}}}}}|{{#if:{{{small|{{{left|}}}}}}|left}} }} | | small = {{#if:{{{sect|{{{section|{{{1|}}}}}}}}}|{{#if:{{{small|{{{left|}}}}}}|left}} }} | ||
| sect = | | sect = {{{1|}}} | ||
}} | }} | ||
<noinclude> | <noinclude> | ||
Line 115: | Line 118: | ||
This template currently includes no documentation, though if any were needed it should simply be a matter of adapting the documentation provided for the {{tlx|OOC}} or {{tlx|Unexplored Branches}} templates. | This template currently includes no documentation, though if any were needed it should simply be a matter of adapting the documentation provided for the {{tlx|OOC}} or {{tlx|Unexplored Branches}} templates. | ||
=== | === Add a <code>quote</code> Parameter to {{tlx|cite journal}} === | ||
{{ | |||
| | |||
==== Summary ==== | ==== Summary ==== | ||
I propose | I propose to add a <code>quote</code> parameter to the {{tlx|cite journal}} template so that references may include specific quotes relevant to the claim being supported by the citation. | ||
==== Reasoning ==== | ==== Reasoning ==== | ||
The intent of such a quotation would be to make it easier to verify claims as readers would not have to (for example) go hunting through entire journals just to find the one sentence that supports the claim made in the article. | |||
==== Example ==== | ==== Example ==== | ||
The <code>quote</code> parameter could then be used as thus: | |||
<pre><nowiki> | |||
<ref name="Tay">{{cite journal|author=Catherine|journal=Personal journal|journal-page=Reference:Catherine, personal journal (Riven)|game=Riven|quote=They have named it "Tay"}}</ref> | |||
</nowiki></pre> | |||
Producing an output of: | |||
<blockquote><samp>Catherine, ''Personal journal''. Riven. "They have named it "Tay""</samp></blockquote> | |||
The | The presence or absence of quote marks and/or the style of the quote marks would be up for discussion. | ||
Should anyone find the nesting of the same style of quotes unsatisfactory, I ''believe'' it should be possible to enforce the inner quotes being made a different style. | |||
==== Implementation ==== | ==== Implementation ==== | ||
This proposal could be implemented by simply adding <code><nowiki>{{#if:{{{quote|}}}| "{{{quote}}}"|}}</nowiki></code> to the existing template, such that it becomes: | |||
<pre><nowiki> | |||
{{{author}}}. ''{{{journal-nolink|[[{{{journal-page|Reference:{{{author}}}, {{{journal}}}}}}|{{{journal}}}]]}}}''. {{{game-nolink|[[{{{game-page|{{{game}}}}}}|{{{game}}}]]}}}.{{#if:{{{quote|}}}| "{{{quote}}}"|}}<noinclude>{{documentation}}</noinclude> | |||
</nowiki></pre> | |||
The documentation for the template could be ammended with: | |||
<pre><nowiki> | |||
"quote": | |||
{ | |||
"label": "Quote", | |||
"description": "A selected quote from the referenced journal. The chosen quote should be relevant to the article content that makes use of the citation. If omitted, no quote is included in the reference.", | |||
"example": "They have named it \"Tay\"", | |||
"type": "string" | |||
} | |||
</nowiki></pre> | |||
As well as the addition of <code>"quote"</code> to the end of the <code>paramOrder</code> array. | |||
Note: In regards to enforcing that nested quotes use a different style, I don't believe templates alone are capable of text replacement that sophisticated, though it's possible they support some sort of regex-replacement feature that I'm unaware of at the time of writing. To support such a feature would, I believe, require a Lua module. I haven't researched that as I'm presuming it won't be an issue, but should it be an issue I have sufficient experience with Lua and parsing that I'm confident I could make a good go of it. | |||
=== IPA Hover Guides === | === IPA Hover Guides === | ||
==== Summary ==== | ==== Summary ==== | ||
Line 258: | Line 194: | ||
The whole thing would be wrapped in a <code>span</code> element with its <code>style</code> attribute set to produce a dotted line, and that would be bookended by forward slashes. | The whole thing would be wrapped in a <code>span</code> element with its <code>style</code> attribute set to produce a dotted line, and that would be bookended by forward slashes. | ||
== Incomplete Proposals == | == Incomplete Proposals == | ||
* Add a template that | * Add a {{tlx|hover}} template like [https://en.uesp.net/wiki/Template:Hover the one] found on [https://en.uesp.net/ UESP]. | ||
** Use this new {{tlx|hover}} template to add hover text for n., adj., v., prep., suf. et cetera, thus making it easier for people to know what these abbreviations mean. E.g. <abbr title="noun">n.</abbr>, <abbr title="adjective">adj.</abbr>, <abbr title="verb">b.</abbr>, <abbr title="preposition">prep.</abbr>, , <abbr title="suffix">suf.</abbr>. | |||
*** For that matter, a general {{tlx|abbreviation}} (short form: {{tlx|abbr}}) template would also be useful for other abbreviations like , <abbr title="KI Positioning System">KIPS</abbr>, and could incorporate an <abbr title="Hyper Text Markup Language">HTML</abbr> <code>abbr</code> element rather than a <code>span</code>. (The <code>abbr</code> element has the added bonus of already including the dotted line underneath and thus not neading an extra <code>style</code> attribute.) | |||
** See also: [[User:Pharap/Templates/Hovertext]] | |||
* Further proposals for adding <code>quote</code> parameters to other <code>cite</code> templates, such as {{tlx|cite dialog}}. | * Further proposals for adding <code>quote</code> parameters to other <code>cite</code> templates, such as {{tlx|cite dialog}}. | ||
* Add an <code>access-date</code> parameter to the {{tlx|cite forum post}} template. | * Add an <code>access-date</code> parameter to the {{tlx|cite forum post}} template. | ||
* Add relevant details to <code>Reference:</code> pages that archive forum posts such that they can be properly cited with a {{tlx|cite forum post}}. In particular, the original forum post URL would be useful - the reference page should be considered the archived form if no [http://web.archive.org/ Wayback Machine] page exists. | * Add relevant details to <code>Reference:</code> pages that archive forum posts such that they can be properly cited with a {{tlx|cite forum post}}. In particular, the original forum post URL would be useful - the reference page should be considered the archived form if no [http://web.archive.org/ Wayback Machine] page exists. | ||
* | * Adapting the {{tlx|sic}} template to produce an output more akin to what [https://en.uesp.net/wiki/Main_Page UESP] produces. (A surplus of examples can be found in the [https://en.uesp.net/wiki/Bloodmoon:Airship_Captain%27s_Journal Bloodmoon:Airship Captain's Journal] article. | ||
* | ** For those who are unwilling or unable to visit the linked page, if one were to use UESP's <nowiki>{{sic}}</nowiki> template as <nowiki>{{sic|Incorrect|Correct}}</nowiki>, that would cause the text to appear as thus: <span title="Please do NOT CHANGE to "Correct": the original source is intentionally copied and has the error." style="border-bottom:1px dotted">Incorrect ''[sic]''</span>. Naturally the text in the hover box could be adapted to say whatever might be appropriate. It could be as simple as including only the correct text. | ||
** | *** UESP also has the 'sic' link to an appropriate section of one of the style guide articles. For the Guild of Archivists, the most obvious candidate at the moment would be the [[GoArch:Style_guide#Quotations|Quotations]] section of the style guide. | ||
** | ** To provide a more concrete example, [[Reference:Gehn, Lab journal|Gehn's Lab Journal]] incorrectly says "discreet" instead of "discrete", and at present that looks like discreet {{sic|[discrete]}}. With the proposed change, it would appear as something more like <span title="Please do not attempt to correct this to "discrete". The original source is intentionally copied verbatim, including any and all typographical errors." style="border-bottom: 1px dotted">discreet ''<nowiki>[</nowiki>[[GoArch:Style_guide#Quotations|sic]]<nowiki>]</nowiki>''</span>, with the exact tooltip text being up for debate. | ||