Commit graph

7 commits

Author SHA1 Message Date
Subramanya Sastry b9400d1bf0 Parsoid CSS: mw-ref-linkback counter inits to -1, not 0
* This has always been a bug but was hidden because enwiki
  uses lower-alpha custom rendering and so we never noticed it
  when we tested this on enwiki.

* Fixing the default gets rid of the need to override this for
  every single language that defined a non-decimal counter.

* This also eliminates the need for some rules where the overrides
  were identical to the baseline definitions (counter-type is
  decimal and separator is '.').

Bug: T86782
Bug: T156350
Change-Id: I51f8a06c80bb897b66a0978b117fbc5560efd6cb
2023-02-07 20:59:23 -06:00
Subramanya Sastry d044c0c166 Parsoid CSS counters: Use child selectors instead of descendent selectors
In both cases:
(a) ref counter display for .mw-ref sups
(b) backlink labels in the references section for multiple named refs
the a-tags are direct children of the <sup>/<span> tag.

The child selectors are more precise. I am not really sure why we
went with descendant selectors in the first place.

Bug: T156350
Change-Id: If5be7cd14de40c2372f27ae5e2f32671c0a4e20c
2023-01-09 01:28:34 +00:00
Subramanya Sastry ad919e3730 Parsoid CSS: Add (script-generated) language-specific counters
* These files were generated with the script in
  I3623e42d4cad7975813892a8f0f7765b74a638c5

* These styles mimic the behavior of Language::formatNumNoSeparators
  and Language::localizeSeparators used by a couple of methods.

  ReferencesFormatter:referencesFormatEntryNumericBacklinkLabel
  calls ReferenceMessageLocalizer::localizeDigits which calls
  that core Language method.

  FootnoteMarkFormatter::linkRef calls localizeDigits as well.

  - '.reference a*' CSS rules mimic linkRef localization
  - 'span[rel="mw:referencedBy" ]*' rule mimics localization
     of referencesFormatEntryNumericBacklinkLabel

* Overrode all hand-crafted language CSS files from previous
  patches. The content of some of those hand-crafted CSS files
  will end up in those wikipedia's Common.css -- specifically
  for es, fr, sv wikipedias.

  sv and es have non-canonical formatting strings that aren't
  handled by the script right now and so leaving them behind.

  I need to look at fr output more carefully, so leaving that
  behind as well. But the generated ones are more accurate when
  combined with the wiki-specific CSS files genreated by the other
  script that processes site messages.

* Some files could potentially be removed by looking at
  language fallback chains, but the redundancy is not a
  problem for now.

* Tweak the resource loader script to use "_" instead of "-"
  when looking for a resource file.

Bug: T156350
Change-Id: I000b4538bf2be681b85df5813efed083458a4281
2022-11-18 11:50:20 -06:00
Bartosz Dziewoński 731b162d4e Undo use of .reference instead of .mw-ref in CSS counter rules
When these styles are loaded on a normal MediaWiki page containing
output from the old parser, they cause references to be duplicated.
Use .mw-ref for now, which is only present in Parsoid output.

This partially reverts d6705eb3f8.

Bug: T323343
Change-Id: I6f2d43a060bea7aa175bed80f1be2c3d8a4924b0
2022-11-18 15:56:53 +00:00
Subramanya Sastry 47a622c001 Parsoid CSS: Fix counters needed for ol.mw-references
* Some wikis need a X.Y style numbering where X is the
  counter for the reference number in the list (mw-references),
  and Y is the named-ref counter (mw-ref-linkback).

* Rather than have the mw-references counter be defined for
  specific languages, it is useful to have defined for all
  wikis and use it where needed.

* Not sure why the ol.mw-references reset the mw-ref-linkback
  counter. It needed to be reset for every item.

* While at it, made a couple CSS rules in kn and fa be more
  specific so it is clearly what they are used for.

Change-Id: I6dd35303f134cc4996e134867ecc2c0db7a5411f
2022-11-04 10:17:09 -05:00
Subramanya Sastry d6705eb3f8 Parsoid CSS: Migrate to using .reference instead of .mw-ref
* As part of T265930, in order to reduce the CSS rules that needed
  to be added, we started using the .reference class that the
  original Cite implementation uses.

* Let us migrate styles to using that original class as well.

* Since Parsoid emits a <sup>, we no longer need some of the
  CSS rules on .reference. With the class name change, the
  other rules are duplicates since we inherit the rules from
  ext.cite.styles.css. This effectively eliminated all CSS
  rules for ".reference" from ext.cite.style.css

* Admins on wikis will get the following guidance:
  - where similar styles apply to legacy output and Parsoid output,
    use the .reference class in Commons.css
  - where specific styles apply to Parsoid output but not legacy,
    use the .mw-ref class in Commons.css

* Once we have fully migrated all wikis to Parsoid output, we can
  migrate all the ".mw-ref" rules to ".reference". We then stop
  emitting the ".mw-ref" class in Parsoid output.

Change-Id: I5a8c540dc5b045ffff8c280262595f5281cd167d
2022-11-01 15:43:16 -05:00
Subramanya Sastry 3736e6fa15 Add language specific CSS overrides for a few languages
* This patch adds styles for fr, kn, nb as an experiment.
  Newer patches will add for other languages.

* These styles are based on wikipedia rendering and other
  projects in these languages may need to add overrides in
  their Mediawiki:Common.css page.

Bug: T156350
Change-Id: If0d78e0fd4174c0563cb4b98d8c5efe9a1428673
2022-10-20 22:03:48 -05:00