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 1: | Line 1: | ||
== Improvement Proposals == | == Module Improvement Proposals == | ||
=== Inline D'ni Dictionary | === Inline D'ni Dictionary Module === | ||
==== 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 Lua module 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 ==== | ||
Ideally a usage like <nowiki>{{dnidict|word=Teledahn|display=dnidict}}</nowiki> 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 only needs to remember the name of the dictionary entry and the dictionary system could do the rest. | |||
Though 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]]. | |||
==== Implementation Details ==== | |||
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 how 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. | |||
Here is a quick proof of concept: <span title="Dnifont: teleDan, OTS: {{User:Pharap/Templates/Dni to OTS|teleDan}}, NTS: {{User:Pharap/Templates/Dni to NTS|teleDan}}, IPA: {{#show: Dictionary:{{User:Pharap/Templates/Dni to OTS|teleDan}}|?pronunciation}}" style="border-bottom: 1px dotted"><dni>teleDan</dni></span> | |||
Which is implemented as: | |||
<code><pre><nowiki> | |||
<span title="Dnifont: teleDan, OTS: {{User:Pharap/Templates/Dni to OTS|teleDan}}, NTS: {{User:Pharap/Templates/Dni to NTS|teleDan}}, IPA: {{#show: Dictionary:{{User:Pharap/Templates/Dni to OTS|teleDan}}|?pronunciation}}" style="border-bottom: 1px dotted"><dni>teleDan</dni></span> | |||
</nowiki></pre></code> | |||
Some further proof of concepts implemented using subpages of my userpage: | |||
* <code>{{(}}{{(}}[[User:Pharap/Templates/Dnidict word]]<nowiki />{{!}}teleDan{{)}}{{)}}</code> →{{User:Pharap/Templates/Dnidict word|teleDan}} | |||
* <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. I have also temporarily added a [[Property:Pronunciation|Pronunciation]] property to the [[Dictionary:Teledahn|Teledahn]] dictionary entry to demonstrate how IPA information could be extracted from dictionary entries using Semantic MediaWiki. | |||
A template that accepts Dnifont would be used as <code><nowiki>{{Dnidict word|teleDan}}</nowiki></code>. | |||
A template that accepts a page name would be used as <code><nowiki>{{Dnidict page|Teledahn}}</nowiki></code>. | |||
As for the backend, there are two possible ways to implement this: | |||
The first is to create 'Dnifont to OTS' and 'Dnifont to NTS' templates that wrap the <code>dnifont2ots</code> and <code>dnifont2nts</code> functions exposed by the Dict D'ni module, as mentioned above. | |||
<code><pre><nowiki> | |||
<span title="Dnifont: {{{1|}}}, OTS: {{Dnifont to OTS|{{{1|}}}}}, NTS: {{Dnifont to NTS|{{{1|}}}}}, IPA: {{#show: Dictionary:{{Dnifont to OTS|{{{1|}}}}}|?pronunciation}}" style="border-bottom: 1px dotted"><dni>{{{1|}}}</dni></span> | |||
</nowiki></pre></code> | |||
The second option would be to add new properties to all dictionary entries specifying their Dnifont, OTS, and NTS forms. The creation of these properties could be made part of the Dict D'ni module as it's already responsible for producing the OTS and NTS for a dictionary entry from the Dnifont form of a word. | |||
<code><pre><nowiki> | |||
<span title="Dnifont: {{#show: Dictionary:{{{1|}}}|?dnifont}}, OTS: {{#show: Dictionary:{{{1|}}}|?ots}}, NTS: {{#show: Dictionary:{{{1|}}}|?nts}}, IPA: {{#show: Dictionary:{{Dnifont to OTS|{{{1|}}}}}|?ipa}}" style="border-bottom: 1px dotted"><dni>{{#show: Dictionary:{{{1|}}}|?dnifont}}</dni></span> | |||
</nowiki></pre></code> | |||
This has the added bonus of producing the proper data when passing a prefix or suffix page name. | |||
Note that regardless of which method is chosen, supporting IPA would require an IPA or Pronunciation property be added to dictionary entries. Adding these to the dictionary pages manually would be a long and gruelling task, but another option would be to edit the {{tl|IPA}} template to insert the necessary property. Unfortunately the {{tl|IPA}} template is likely used on other pages, though perhaps that would not be too much of a problem. Adding such a property would mean that the IPA representation of a D'ni word could be queried from anywhere on the wiki, which would help to keep the wiki consistent, reduce room for error, and make data entry for pages much easier. (There could even be a <code><nowiki>{{dni word ipa|page}}</nowiki></code> template to make life easier for people who aren't used to the Semantic MediaWiki features, which would equate to <code><nowiki>{{#show: Dictionary:{{1}}|?ipa}}</nowiki></code>.) | |||
I suspect the method chosen should probably be based on which approach is more efficient for the Wiki engine, but I am in favour of the latter approach because it would add more data that could be queried with the Semantic MediaWiki extension, which could then be used to build other complex datasets. For example, the [[Property:DictLine|DictLine]] property could either be implemented in terms of the other properties, or potentially be replaced with a template that has the same effect. In effect it would be trading speed for server space. | |||
=== IPA Hover Guides === | |||
==== Summary ==== | |||
Wikipedia has an {{tl|IPAc-en}} template that produces IPA that provides a pronunciation guide when hovering over the individual characters. For example, the [https://en.wikipedia.org/wiki/Basalt?useskin=vector Basalt] page features examples such as /ˈbæsɔːlt/ where hovering over the 'b' gives "'b' in 'buy'", hovering over the 'æ' gives "'a' in 'bad'", hovering over the 's' gives "'s' in 'sigh'", et cetera. | |||
It would be useful if similar functionality could be reproduced on this wiki. | |||
==== Reasoning ==== | |||
It would provide a useful starting point for people who aren't familiar with IPA and are trying to understand how to pronounce various names and D'ni words. | |||
==== Example ==== | |||
A hypothetical <nowiki>{{IPAc-en|t|ɛ|.|l|ɛ|.|d|ɑ|n}}</nowiki> would give /<span style="border-bottom: 1px dotted"><span title="/t/: 't' in 'tigh'">t</span><span title="/ɛ/: 'e' in 'dress'">ɛ</span>.<span title="/l/: 'l' in 'lie'">l</span><span title="/ɛ/: 'e' in 'dress'">ɛ</span>.<span title="/d/: 'd' in 'dye'">d</span><span title="/ɑ/: 'a' in 'father'">ɑ</span><span title="/n/: 'n' in 'nigh'">n</span></span>/. | |||
==== Implementation Details ==== | |||
Despite being used as a template, this would be best implemented as a module. | |||
The exact implementation is currently ''to be confirmed'', but the general idea is simple enough: | |||
* Each numbered parameter will be examined. | |||
* The specific IPA character will be looked up in a table of tooltips. | |||
* If a corresponding piece of tooltip text was found: | |||
** The character will be inserted into the page surrounded by a <code>span</code> with the <code>title</code> set to whatever the found tooltip was. | |||
** Otherwise, the character will be inserted without any additional processing. | |||
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. | |||
== Template Improvement Proposals == | |||
=== Apocrypha Banner === | === Apocrypha Banner === | ||
==== Summary ==== | ==== Summary ==== | ||
Line 88: | Line 122: | ||
| 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|}}} | ||
}} | }} | ||
The badge on the top right of the page could appear as it currently does or be omitted. | The badge on the top right of the page could appear as it currently does or be omitted. | ||
==== Implementation ==== | ==== Implementation Details ==== | ||
The change could be enacted by the use of an {{tlx|ambox}} template. | The change could be enacted by the use of an {{tlx|ambox}} template. | ||
Line 104: | Line 138: | ||
| 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 114: | Line 148: | ||
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}} === | === Add a <code>quote</code> Parameter to {{tlx|cite journal}} === | ||
Line 283: | Line 173: | ||
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. | 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 Details ==== | ||
This proposal could be implemented by simply adding <code><nowiki>{{#if:{{{quote|}}}| "{{{quote}}}"|}}</nowiki></code> to the existing template, such that it becomes: | This proposal could be implemented by simply adding <code><nowiki>{{#if:{{{quote|}}}| "{{{quote}}}"|}}</nowiki></code> to the existing template, such that it becomes: | ||
Line 309: | Line 199: | ||
== 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.) | |||
* 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. | ||