Public
Edited
Jun 10, 2023
Insert cell
Insert cell
content =
[
{
"text": "(Dekoder-Gnose von Steffen Halling: ",
"type": "text"
},
{
"text": "https://www.dekoder.org/de/gnose/krim-annexion",
"type": "text",
"marks": [
{
"type": "link",
"attrs": {
"href": "https://www.google.com/url?q=https://www.dekoder.org/de/gnose/krim-annexion&sa=D&source=docs&ust=1667812488216754&usg=AOvVaw2LZWhhL19LfUlQnlzXX8Lk",
"title": null
}
}
]
},
{
"text": "): Als Krim-Annexion wird die einseitige Eingliederung der sich über die gleichnamige Halbinsel erstreckenden ukrainischen Gebietskörperschaft der Autonomen Republik Krim in die Russische Föderation bezeichnet. Seit der im Frühjahr 2014 erfolgten Annexion der Krim ist die Halbinsel de facto Teil Russlands, de jure jedoch ukrainisches Staatsgebiet und somit Gegenstand eines ungelösten Konfliktes zwischen der Ukraine und Russland.",
"type": "text"
}
]
Insert cell
createHTML(content)
Insert cell
function createEM(text) {
return `<em>${text}</em>`
}
Insert cell
Insert cell
function createHTML(content) {
let html = '';
content.forEach(({ text, marks }) => {
let str = text;
(marks ?? []).forEach(mark => {
switch (mark.type) {
case 'em':
str = createEM(str);
break;
case 'link':
str = createLink(str, mark);
break;
}
})
html += str;
})
return `<p>${html}</p>`;
}
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more