feat: 🎸 Switched to Markdown Extra converter (#58)

This commit is contained in:
Johan Öbrink 2021-02-11 14:30:42 +01:00 committed by GitHub
parent 58d56764d3
commit 3b7b0677a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 237 additions and 2 deletions

View File

@ -20,8 +20,29 @@ describe('parseHtml', () => {
<ul>
<li> Foo </li>
</ul>
<a href="#">link</a>
<table>
<tbody>
<tr>
<td>left 1</td>
<td>right 1</td>
</tr>
<tr>
<td>left 2</td>
<td>right 2</td>
</tr>
</tbody>
</table>
</div>`
const expected = '# Hello\n**World**\n- Foo'
const expected = `# Hello #
**World**
- Foo
[link](#)
|left 1|right 1|
|--------|--------|
|left 2|right 2|`
expect(toMarkdown(html)).toEqual(expected)
})

View File

@ -10,9 +10,20 @@ export const trim = (html: string): string => html
.map((token) => token.trim())
.join('</')
interface Node {
name: string
attrs: { [key: string]: string }
isInPreNode: boolean
md: string
}
const converter = 'MarkdownExtra'
const overides = {
a: (node: Node) => `[${node.md}](${node.attrs.href})`,
}
export const toMarkdown = (html: string): string => {
const trimmed = trim(html)
const markdown = h2m(trimmed)
const markdown = h2m(trimmed, { overides, converter })
const decoded = htmlDecode(markdown)
return decoded
}

203
test.md Normal file
View File

@ -0,0 +1,203 @@
<div>
<div data-sp-canvascontrol="" data-sp-canvasdataversion="1.0" data-sp-controldata="{&quot;controlType&quot;:4,&quot;id&quot;:&quot;1212fc8d-dd6b-408a-8d5d-9f1cc787efbb&quot;,&quot;position&quot;:{&quot;controlIndex&quot;:2,&quot;sectionIndex&quot;:1,&quot;sectionFactor&quot;:12,&quot;zoneIndex&quot;:1,&quot;layoutIndex&quot;:1},&quot;addedFromPersistedData&quot;:true,&quot;emphasis&quot;:{}}">
<div data-sp-rte="">
**Veckobrev 4EF     Inför v.6 **
I torsdags i förra veckan gjordes en uppdatering i Teams/Skolplattformen vilket har lett till att vissa av er vårdnadshavare inte ser klasspecifika inlägg (aktuellt- och ämnessidor).  
Det är inte bara vi på AF som har stött på detta, utan fler skolor i staden verkar uppleva samma problem. Det får oss att hoppas att jakten på en lösning prioriteras högt även centralt. 
Nästa vecka startar utvecklingssamtalen, håll koll på er tid. Välkomna! 
**Information från idrotten: **
Vecka 6:  
Tema lek & samarbete, 4F IDH-sal plan 3 och 4E IDH-sal plan 2, ej ombytta men med inomhusskor. 
 Vecka 7-8:  
Skridskor i Vasaparken, samling vid skolans flaggstång vid lektionsstart, ta med skridskor, hjälm och varma kläder! 
**Lite om ämnena: **
Ma: Vi arbetar med multiplikationstabellerna och just nu arbetar vi med 9:ans, 8:ans tabell, 7:ans och 6:ans. 
No: Vi har arbetat vidare med vad ett grundämne är och hur många de är. Vi har också bekantat oss med periodiska systemet. 
Sv: Vi kommer att jobba med läsgrupper och öva på att skriva faktatexter. 
Eng: Vi har börjat prata om kläder och hur man använder begreppen do/dont, does/doesnt 
SO:  Alla har fått en ny planering för historia och vi kommer att jobba med Vikingatiden fram till vecka 13. 
**Kom ihåg/Läxor och prov/Rep ochkonserter. **
v.3-6 Ma-läxa multiplikationstabellerna 9 till 6\. Se läxlapp längre ner i flödet 
9/2, 11/2, 15/2, 17/2 Utvecklingssamtal 
<div class="canvasRteResponsiveTable">
<div class="tableWrapper">
<table border="1" title="Tabell">
<tbody>
<tr>
<td role="rowheader">
**v.6**
</td>
<td role="columnheader"></td>
</tr>
<tr>
<td role="rowheader">
**Mån **
</td>
<td></td>
</tr>
<tr>
<td role="rowheader">
**Tis **
</td>
<td></td>
</tr>
<tr>
<td role="rowheader">
**Ons **
</td>
<td>
Eng: Orden till texten på sidan 59 i textbok. 
Alla ord till texten finns på sidan 106 som en ordlista. Eleverna har skrivit ner orden i sin skrivbok. Orden till nästa vecka är: 
1. April=april 
1. autumn=höst 
1. the leaves=löven (tips: ett löv, a leaf) 
1. yellow=gul 
1. spring=vår 
1. flowers=blommor (tips: en blomma, a flower) 
1. out=utslagna 
1. countries=länder (tips: ett land, a country) 
1. dry season=torrperiod 
1. wet season=regnperiod 
</td>
</tr>
<tr>
<td role="rowheader">
**Tor **
</td>
<td></td>
</tr>
<tr>
<td role="rowheader">
**Fre **
</td>
<td>
Ma-läxa Multiplikationstabell 6 
Se tidigare läxlapp. 
</td>
</tr>
</tbody>
</table>
</div>
</div>
Trevlig helg! 
Lotten och Josefin 
</div>
</div>
<div data-sp-canvascontrol="" data-sp-canvasdataversion="1.0" data-sp-controldata="{&quot;controlType&quot;:4,&quot;id&quot;:&quot;e1cf6487-8d35-4781-a7ad-ea73921dbbc0&quot;,&quot;position&quot;:{&quot;zoneIndex&quot;:1,&quot;sectionIndex&quot;:1,&quot;controlIndex&quot;:3,&quot;layoutIndex&quot;:1,&quot;sectionFactor&quot;:12},&quot;emphasis&quot;:{}}">
<div data-sp-rte="">
### Följande gäller endast elever i 4F:
<span><span><span>Hej!</span></span></span>
<span><span><span>I årskurs 4 erbjuds alla elever i Stockholms Stad ett hälsobesök hos skolsköterskan.</span></span></span>
<span><span><span>I hälsobesöket ingår ett hälsosamtal samt tillväxtmätning och ryggundersökning.</span></span></span>
<span><span><span>Inför hälsobesöket fyller eleven i klassrummet i en digital hälsoprofil, som ligger till grund för hälsosamtalet. Hälsosamtalet kan handla om trivsel, kamratrelationer, arbetsmiljö, eventuella hälsoproblem, inlärningssvårigheter, sömn, mat, fysisk aktivitet, pubertet och annat som en elev i årskurs 4 kan fundera över.</span></span></span>
<span><span><span>Det är dags för hälsobesök för 4F. På måndag kommer jag att besöka klassen och hjälpa dem att fylla i hälsoprofilen. De kommer även att se en kort presentation om vad man själv kan göra för att må bra (om mat, fysisk aktivitet, sömn, fritid och att hålla skärmtiden nere). Sedan kommer eleverna på hälsobesök enligt hur det passar klassens schema. Efter hälsobesöket kontaktas vårdnadshavare till de elever där extra uppföljningar av tillväxt eller rygg skulle behövas eller om det framkommer något på hälsosamtalet som behöver åtgärdas/jobbas med i eller utanför skolan. Inga samtal om tillväxt görs direkt med eleven.</span></span></span>
<span><span><span>Skolsköterskan använder munskydd och visir vid besöken.</span></span></span>
<span><span><span></span></span></span>
<span><span><span>Ta gärna kontakt om du undrar över något eller vill prata om något som rör ditt barns hälsa!</span></span></span>
<span><span><span></span></span></span>
<span><span><span>Med vänliga hälsningar,</span></span></span>
<span><span><span>Anette Hasselberg, skolsköterska för DEF-klasserna samt klassen 7-9 AF tel: 076 825 0778</span></span></span>
</div>
</div>
</div>