Skip to content

Rydding av Word/Office-støy ved innliming i CKEditor #267

Description

@dingsoyr

Rydding av Word/Office-støy ved innliming i CKEditor

Bakgrunn

Redaksjonen opplever mykje teknisk støy i editoren på digdir.no ved innliming av tekst frå Word/Office.

Når tekst blir limt inn frå Word, tek Word med skjult formatering og metadata. I CKEditor blir dette mellom anna bevart som mange span-element med språk-attributt, til dømes:

<span lang="EN-US">Productivity Pack</span>

I editoren blir dette synleg som språkmarkørar, til dømes (NB-NO) eller (EN-US), og gjer redigering unødvendig tungvint.

Dette er spesielt problematisk fordi innliming frå Word er ein vanleg del av redaksjonell arbeidsflyt.

Døme

Ved vanleg innliming frå Word kan HTML-en bli slik:

<p>
    <span lang="EN-US">The </span>
    <a href="https://ckeditor.com/productivity-pack/">
        <span lang="EN-US">Productivity Pack</span>
    </a>
    <span lang="EN-US"> is a bundle of Premium plugins...</span>
</p>

Ønskt resultat er meir ryddig HTML:

<p>
    The <a href="https://ckeditor.com/productivity-pack/">Productivity Pack</a> is a bundle of Premium plugins...
</p>

Funn

Vi har testa følgjande:

  • Vanleg innliming frå nettsider fungerer greitt.
  • Innliming frå nettsider med eksplisitt lang-merking fungerer som forventa.
  • Manuell språkmerking i editoren fungerer som forventa.
  • Problemet oppstår særleg ved innliming frå Word/Office.
  • textPartLanguage viser språkmarkørane i editoren, men er ikkje åleine årsaka til at span lang blir lagt inn.
  • Støtte for <span>/<span lang> er nødvendig fordi redaktørane skal kunne språkmerke tekst manuelt i editoren.
  • Vi kan derfor ikkje berre fjerne språkfunksjonen eller støtte for span.

Mogleg løysing

Vi har testa modulen ckeditor5_paste_filter.

Med standardfilter ser dette ut til å rydde Word/Office-støy ved innliming, samtidig som manuell språkmerking i editoren framleis fungerer.

Døme på manuell språkmerking som framleis skal fungere:

<p>
    Dette er norsk tekst med <span lang="en" dir="ltr">a short English phrase</span> inni setninga.
</p>

Avveging

Standardfilteret fjernar span-taggar frå innlimt innhald. Det betyr at eventuell språkmerking som kjem frå eksterne kjelder ved innliming ikkje nødvendigvis blir bevart.

Dette kan vere akseptabelt fordi språkmerking bør vere eit medvite redaksjonelt val i editoren. Redaktør kan legge på språkmerking manuelt etter innliming ved behov.

Forslag

Aktiver ckeditor5_paste_filter for tekstformatet filtered_html, slik at Word/Office-generert HTML-støy blir rydda ved innliming.

Akseptansekriterium

  • Innliming frå Word skal ikkje lage mange unødvendige span lang="..." rundt tekst.
  • Editorvisninga skal ikkje bli full av språkmarkørar frå Word/Office-paste.
  • Lenker skal bevarast ved innliming.
  • Feit/kursiv tekst skal bevarast ved innliming.
  • Punktlister og nummererte lister skal bevarast så langt som mogleg.
  • Manuell språkmerking via språkval i editoren skal framleis fungere.
  • Løysinga skal gjelde alle tekstformat vi har (filtered_html osv).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

  • Status
    📄 Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions