Text correction

This commit is contained in:
2023-07-31 17:54:24 +02:00
parent 1e76a3b7d8
commit fb0677a78b
18 changed files with 1280 additions and 208 deletions

View File

@ -2,7 +2,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
<meta charset="utf-8">
<meta name="generator" content="quarto-1.2.475">
<meta name="generator" content="quarto-1.3.353">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
@ -17,7 +17,7 @@ div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
ul.task-list li input[type="checkbox"] {
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
margin: 0 0.8em 0.2em -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */
vertical-align: middle;
}
</style>
@ -74,29 +74,31 @@ ul.task-list li input[type="checkbox"] {
<span class="navbar-title">WASH Web</span>
</a>
</div>
<div id="quarto-search" class="" title="Search"></div>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav navbar-nav-scroll me-auto">
<li class="nav-item">
<a class="nav-link" href="./index.html">
<a class="nav-link" href="./index.html" rel="" target="">
<span class="menu-text">Home</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="./vision.html">
<a class="nav-link" href="./vision.html" rel="" target="">
<span class="menu-text">Vision</span></a>
</li>
<li class="nav-item">
<a class="nav-link active" href="./contact.html" aria-current="page">
<a class="nav-link active" href="./contact.html" rel="" target="" aria-current="page">
<span class="menu-text">Contact</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="./posts.html">
<a class="nav-link" href="./posts.html" rel="" target="">
<span class="menu-text">News</span></a>
</li>
</ul>
<div id="quarto-search" class="" title="Search"></div>
<div class="quarto-navbar-tools ms-auto">
</div>
</div> <!-- /navcollapse -->
</div> <!-- /container-fluid -->
</nav>
@ -139,12 +141,12 @@ ul.task-list li input[type="checkbox"] {
<section id="nicolas-dickinson---wash-web-lead" class="level4">
<h4 class="anchored" data-anchor-id="nicolas-dickinson---wash-web-lead">Nicolas Dickinson - WASH Web Lead</h4>
<p>Founder of <a href="#0">WASHNote</a>. With over 15 years of experience in the WASH sector, Nick is highly specialized in the development of international and regional monitoring of WASH commitments and their enabling environments, providing country-led monitoring and evaluation of services, and facilitating trainings to a range of different organizations. Above all, he firmly believes in the need for making better use of data and digital systems to advance towards reaching SDG 6: clean water and sanitation for all by 2030.</p>
<p><a href="dickinson@washnote.com">Email</a> | <a href="https://www.linkedin.com/in/nicolasdickinson/">LinkedIn</a></p>
<p><a href="mailto:dickinson@washnote.com" target="_blank">Email</a> | <a href="https://www.linkedin.com/in/nicolasdickinson/">LinkedIn</a></p>
</section>
<section id="merel-laauwen---wash-web-coordinator" class="level4">
<h4 class="anchored" data-anchor-id="merel-laauwen---wash-web-coordinator">Merel Laauwen - WASH Web Coordinator</h4>
<p>Merel works as an independent consultant in the WASH sector. Her work spans a variety of topics, from WASH systems strengthening to disaster preparedness in humanitarian settings. She graduated from the University of Oxford with an MSc in Water Science, Policy and Management, where her dissertation research focused on the use of systems thinking in the implementation of rural water treatment.</p>
<p><a href="merel@lwn.earth">Email</a> | <a href="https://www.linkedin.com/in/merel-laauwen/">LinkedIn</a></p>
<p><a href="mailto:merel@lwn.earth" target="_blank">Email</a> | <a href="https://www.linkedin.com/in/merel-laauwen/">LinkedIn</a></p>
</section>
@ -178,9 +180,23 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
icon: icon
};
anchorJS.add('.anchored');
const isCodeAnnotation = (el) => {
for (const clz of el.classList) {
if (clz.startsWith('code-annotation-')) {
return true;
}
}
return false;
}
const clipboard = new window.ClipboardJS('.code-copy-button', {
target: function(trigger) {
return trigger.previousElementSibling;
text: function(trigger) {
const codeEl = trigger.previousElementSibling.cloneNode(true);
for (const childEl of codeEl.children) {
if (isCodeAnnotation(childEl)) {
childEl.remove();
}
}
return codeEl.innerText;
}
});
clipboard.on('success', function(e) {
@ -245,6 +261,92 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
return note.innerHTML;
});
}
let selectedAnnoteEl;
const selectorForAnnotation = ( cell, annotation) => {
let cellAttr = 'data-code-cell="' + cell + '"';
let lineAttr = 'data-code-annotation="' + annotation + '"';
const selector = 'span[' + cellAttr + '][' + lineAttr + ']';
return selector;
}
const selectCodeLines = (annoteEl) => {
const doc = window.document;
const targetCell = annoteEl.getAttribute("data-target-cell");
const targetAnnotation = annoteEl.getAttribute("data-target-annotation");
const annoteSpan = window.document.querySelector(selectorForAnnotation(targetCell, targetAnnotation));
const lines = annoteSpan.getAttribute("data-code-lines").split(",");
const lineIds = lines.map((line) => {
return targetCell + "-" + line;
})
let top = null;
let height = null;
let parent = null;
if (lineIds.length > 0) {
//compute the position of the single el (top and bottom and make a div)
const el = window.document.getElementById(lineIds[0]);
top = el.offsetTop;
height = el.offsetHeight;
parent = el.parentElement.parentElement;
if (lineIds.length > 1) {
const lastEl = window.document.getElementById(lineIds[lineIds.length - 1]);
const bottom = lastEl.offsetTop + lastEl.offsetHeight;
height = bottom - top;
}
if (top !== null && height !== null && parent !== null) {
// cook up a div (if necessary) and position it
let div = window.document.getElementById("code-annotation-line-highlight");
if (div === null) {
div = window.document.createElement("div");
div.setAttribute("id", "code-annotation-line-highlight");
div.style.position = 'absolute';
parent.appendChild(div);
}
div.style.top = top - 2 + "px";
div.style.height = height + 4 + "px";
let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter");
if (gutterDiv === null) {
gutterDiv = window.document.createElement("div");
gutterDiv.setAttribute("id", "code-annotation-line-highlight-gutter");
gutterDiv.style.position = 'absolute';
const codeCell = window.document.getElementById(targetCell);
const gutter = codeCell.querySelector('.code-annotation-gutter');
gutter.appendChild(gutterDiv);
}
gutterDiv.style.top = top - 2 + "px";
gutterDiv.style.height = height + 4 + "px";
}
selectedAnnoteEl = annoteEl;
}
};
const unselectCodeLines = () => {
const elementsIds = ["code-annotation-line-highlight", "code-annotation-line-highlight-gutter"];
elementsIds.forEach((elId) => {
const div = window.document.getElementById(elId);
if (div) {
div.remove();
}
});
selectedAnnoteEl = undefined;
};
// Attach click handler to the DT
const annoteDls = window.document.querySelectorAll('dt[data-target-cell]');
for (const annoteDlNode of annoteDls) {
annoteDlNode.addEventListener('click', (event) => {
const clickedEl = event.target;
if (clickedEl !== selectedAnnoteEl) {
unselectCodeLines();
const activeEl = window.document.querySelector('dt[data-target-cell].code-annotation-active');
if (activeEl) {
activeEl.classList.remove('code-annotation-active');
}
selectCodeLines(clickedEl);
clickedEl.classList.add('code-annotation-active');
} else {
// Unselect the line
unselectCodeLines();
clickedEl.classList.remove('code-annotation-active');
}
});
}
const findCites = (el) => {
const parentEl = el.parentElement;
if (parentEl) {