https://bugzilla.wikimedia.org/show_bug.cgi?id=31597
Web browser: ---
Bug #: 31597
Summary: generate class for references list according to the
number of refs
Product: MediaWiki extensions
Version: any
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: Unprioritized
Component: Cite
AssignedTo: [email protected]
ReportedBy: [email protected]
Classification: Unclassified
The German Wikipedians would like to format the references list in multiple
columns (http://de.wikipedia.org/wiki/Wikipedia:Umfragen/Multicol). This CSS3
technique is already used on en:wp, but there it is tied to a template.
We do not want to make the same mistake: templates are evil, mostly because
another new syntax would be confusing, they cost (little) parser resources, and
they would have to be spread over all articles. A native implementation would
be much cleaner, and hereby I'd like to request one.
Of course it would be quite simple for us to just add some lines of code to
MediaWiki:common.js, but that doesn't fulfil our requirements.
The points mostly named are:
* It should be simple: a plain <references /> should do everything
automatically.
* Very few lines of references don't look good as columns. An automatic
solution can't be done with templates; I'd propose counting the ref-tags to
display and when the count is higher than an integer variable (configurable as
a system message) a "column"-class should be added to the list tag.
* There will always be cases where the automation doesn't work or the article
author wants something special. So he must be able to set the layout manually
(on/off). This /could/ be done by solving Bug 6019 (which should be not that
difficult, see r81865 for example), but I think a simple on/off switch per
parameter would be enough.
* Different colum widths should be settable, fitting to the content (size of
the ref-tags). I don't think this is automatable, it's just that there should
be an option to change it.
Implementing the ref-count and fixing Bug 6019 would be enough, but I think we
should implement a more specific solution that also prohibits uncontrolled
usage.
I would propose the following algorithm (for each <references />-tag):
# Fetch "cite colums autonumber", "cite columns autoclass" and all "cite colums
width-*" system messages. The first should contain an integer, the latter ones
DOMStrings.
# Look if the references-tag has a "columns"-attribute
#* If so, look up wheter its value fetches the name of one of those "cite
columns width-..." messages
#** If so, use the message content as the class name
#** Else set the class empty. E.g. values like columns="none" could be used the
prevent multicoumn layout.
#* When there is no attribute, count the <ref>-tags which should get displayed
in the current list. If that number is higher than (or equal to) the "cite
columns autonumber"-message,
#** then use the content of the "cite columns autoclass"-message as the class
name
#** else set the class empty
# Add the class name to the "class" attribute of the ol-element (behind the
"references ").
This should allow the wiki admins a very precise, local configuration (with
Mediawiki-messages and the local CSS files), and make the usage of this feature
as simple as possible.
--
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l