Markdown in Word of Google Docs plakken met de opmaak intact
Markdown terugbrengen tot tekens is het juiste antwoord voor een formulierveld. Het is het verkeerde antwoord voor een document. Plak je in Word of Google Docs, dan wil je dat de koppen koppen zijn en dat de tabel een tabel is.
Dat is een andere omzetting, en die werkt via een deel van het klembord waar bijna niemand aan denkt.
Het klembord bevat meer dan één ding
Eén kopieeractie kan dezelfde inhoud in meerdere formaten tegelijk meenemen. Als je uit een
tekstverwerker kopieert, krijgt het klembord text/html en text/plain. De toepassing
waarin je plakt pakt wat hij begrijpt: Word pakt de HTML en bouwt de opmaak opnieuw op; een
terminal pakt de platte tekst en negeert de rest.
Daarom blijft vet behouden als je uit een browser in Word plakt, en niet als je hetzelfde in een code-editor plakt. Er ging niets verloren — twee versies reisden samen en elke bestemming koos er één.
De omzetting naar opgemaakte tekst schrijft hier beide. Kies Opgemaakte tekst als uitvoerformaat en druk op Kopiëren: het klembord krijgt de gerenderde HTML naast een terugvaloptie in platte tekst. Plak in Word, Docs, Gmail of Outlook en de opmaak komt aan. Plak in een terminal en je krijgt leesbare tekst in plaats van opmaakcode.
Wat er doorkomt
Koppen, vet en cursief, geordende en ongeordende lijsten met hun nesting, tabellen met echte cellen, links als echte links, code in de tekst en codeblokken, citaten, en afbeeldingen daar waar de bestemming ze kan bereiken.
Takenlijsten komen door als aankruisvakjes. Voetnoten komen door als links naar hun definities.
Waar het lastig wordt
Firefox houdt de klembord-API die meerdere formaten schrijft achter een voorkeur, dus daar is de automatische route niet beschikbaar. De terugvaloptie selecteert de gerenderde voorbeeldweergave, zodat een handmatige Ctrl/⌘+C de opmaak nog steeds meeneemt — het eigen kopiëren van de browser regelt de twee varianten ook als de API dat niet doet.
Afbeeldingen zijn verwijzingen, geen data. Wijst de Markdown naar
https://example.com/diagram.png, dan wijst het geplakte document naar dezelfde URL. Hij
wordt weergegeven waar dat adres bereikbaar is en breekt waar dat niet zo is. Moet de
afbeelding met het document meereizen, download dan de HTML en houd de afbeelding ernaast, of
voeg de afbeelding zelf in op de bestemming.
Google Docs is strenger dan Word over welke HTML het aanneemt en vereenvoudigt af en toe een geneste structuur. Diep geneste lijsten zijn het gebruikelijke slachtoffer.
De instellingen gelden nog steeds
Een veelgehoorde aanname is dat opgemaakte tekst de conversie-instellingen negeert, omdat HTML voor alles een echt element heeft. Grotendeels waar — maar niet helemaal. Verschillende instellingen veranderen het document zelf en niet hoe het getekend wordt:
- Links kunnen alleen hun tekst houden, de URL tonen, of de URL worden.
- Afbeeldingen kunnen behouden of weggelaten worden.
- Codeblokken, citaten en voetnoten kunnen weggelaten worden.
- Koppen kunnen naar hoofdletters gaan.
- Leestekens kunnen naar ASCII genormaliseerd worden.
Die gelden voor opgemaakte tekst en HTML net zo goed als voor platte tekst. Wat echt niet geldt, zijn de instellingen die tekens vormgeven — het opsommingsteken, de tabelindeling, de markering van takenlijsten, het samenvoegen van lege regels — omdat voor een HTML-lijst geen opsommingsteken gekozen hoeft te worden. Die schakelen uit als je de platte-tekstmodus verlaat, en het paneel zegt waarom.
Als je een bestand nodig hebt in plaats van een plakactie
Dezelfde weergave downloadt als een zelfstandig .html met de opmaak erin, dus het opent goed
zonder netwerkverbinding — of drukt af naar
PDF.