2023-10-11 09:41:10 -04:00
<!DOCTYPE html>
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en" xml:lang = "en" > < head >
< meta charset = "utf-8" >
2024-06-08 08:28:40 -04:00
< meta name = "generator" content = "quarto-1.4.553" >
2023-10-11 09:41:10 -04:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0, user-scalable=yes" >
2023-10-11 11:15:38 -04:00
< title > Kyle Belanger - Posts< / title >
2023-10-11 09:41:10 -04:00
< style >
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
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 -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */
vertical-align: middle;
}
< / style >
< script src = "site_libs/quarto-nav/quarto-nav.js" > < / script >
< script src = "site_libs/quarto-nav/headroom.min.js" > < / script >
< script src = "site_libs/clipboard/clipboard.min.js" > < / script >
< script src = "site_libs/quarto-search/autocomplete.umd.js" > < / script >
< script src = "site_libs/quarto-search/fuse.min.js" > < / script >
< script src = "site_libs/quarto-search/quarto-search.js" > < / script >
< meta name = "quarto:offset" content = "./" >
2023-10-11 11:15:38 -04:00
< script src = "site_libs/quarto-listing/list.min.js" > < / script >
< script src = "site_libs/quarto-listing/quarto-listing.js" > < / script >
2023-10-11 09:41:10 -04:00
< script src = "site_libs/quarto-html/quarto.js" > < / script >
< script src = "site_libs/quarto-html/popper.min.js" > < / script >
< script src = "site_libs/quarto-html/tippy.umd.min.js" > < / script >
2023-10-11 11:15:38 -04:00
< script src = "site_libs/quarto-html/anchor.min.js" > < / script >
2023-10-11 09:41:10 -04:00
< link href = "site_libs/quarto-html/tippy.css" rel = "stylesheet" >
< link href = "site_libs/quarto-html/quarto-syntax-highlighting.css" rel = "stylesheet" id = "quarto-text-highlighting-styles" >
< script src = "site_libs/bootstrap/bootstrap.min.js" > < / script >
< link href = "site_libs/bootstrap/bootstrap-icons.css" rel = "stylesheet" >
< link href = "site_libs/bootstrap/bootstrap.min.css" rel = "stylesheet" id = "quarto-bootstrap" data-mode = "light" >
< script id = "quarto-search-options" type = "application/json" > {
"location": "navbar",
"copy-button": false,
"collapse-after": 3,
"panel-placement": "end",
"type": "overlay",
2024-06-08 08:28:40 -04:00
"limit": 50,
"keyboard-shortcut": [
"f",
"/",
"s"
],
"show-item-context": false,
2023-10-11 09:41:10 -04:00
"language": {
"search-no-results-text": "No results",
"search-matching-documents-text": "matching documents",
"search-copy-link-title": "Copy link to search",
"search-hide-matches-text": "Hide additional matches",
"search-more-match-text": "more match in this document",
"search-more-matches-text": "more matches in this document",
"search-clear-button-title": "Clear",
2024-06-08 08:28:40 -04:00
"search-text-placeholder": "",
2023-10-11 09:41:10 -04:00
"search-detached-cancel-button-title": "Cancel",
"search-submit-button-title": "Submit",
"search-label": "Search"
}
}< / script >
2023-10-11 11:15:38 -04:00
< script >
2023-10-11 09:41:10 -04:00
2023-10-11 11:15:38 -04:00
window.document.addEventListener("DOMContentLoaded", function (_event) {
const listingTargetEl = window.document.querySelector('#listing-listing .list');
if (!listingTargetEl) {
// No listing discovered, do not attach.
return;
}
const options = {
2023-10-11 15:22:24 -04:00
valueNames: ['listing-date','listing-title','listing-author','listing-subtitle','listing-image','listing-description','listing-categories',{ data: ['index'] },{ data: ['categories'] },{ data: ['listing-date-sort'] },{ data: ['listing-file-modified-sort'] }],
2023-10-11 11:15:38 -04:00
2023-10-11 15:22:24 -04:00
searchColumns: ["listing-date","listing-title","listing-author","listing-subtitle","listing-image","listing-description","listing-categories"],
2023-10-11 11:15:38 -04:00
};
window['quarto-listings'] = window['quarto-listings'] || {};
window['quarto-listings']['listing-listing'] = new List('listing-listing', options);
if (window['quarto-listing-loaded']) {
window['quarto-listing-loaded']();
}
});
window.addEventListener('hashchange',() => {
if (window['quarto-listing-loaded']) {
window['quarto-listing-loaded']();
}
})
< / script >
< script src = "https://polyfill.io/v3/polyfill.min.js?features=es6" > < / script >
< script src = "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js" type = "text/javascript" > < / script >
2023-10-11 09:41:10 -04:00
2024-06-08 08:28:40 -04:00
< script type = "text/javascript" >
const typesetMath = (el) => {
if (window.MathJax) {
// MathJax Typeset
window.MathJax.typeset([el]);
} else if (window.katex) {
// KaTeX Render
var mathElements = el.getElementsByClassName("math");
var macros = [];
for (var i = 0; i < mathElements.length ; i + + ) {
var texText = mathElements[i].firstChild;
if (mathElements[i].tagName == "SPAN") {
window.katex.render(texText.data, mathElements[i], {
displayMode: mathElements[i].classList.contains('display'),
throwOnError: false,
macros: macros,
fleqn: false
});
}
}
}
}
window.Quarto = {
typesetMath
};
< / script >
2023-10-11 09:41:10 -04:00
< link rel = "stylesheet" href = "styles.css" >
< / head >
2023-10-11 11:15:38 -04:00
< body class = "nav-fixed" >
2023-10-11 09:41:10 -04:00
< div id = "quarto-search-results" > < / div >
2024-06-08 08:28:40 -04:00
< header id = "quarto-header" class = "headroom fixed-top quarto-banner" >
< nav class = "navbar navbar-expand-lg " data-bs-theme = "dark" >
2023-10-11 09:41:10 -04:00
< div class = "navbar-container container-fluid" >
2024-06-08 08:28:40 -04:00
< div class = "navbar-brand-container mx-auto" >
2023-10-11 09:41:10 -04:00
< a class = "navbar-brand" href = "./index.html" >
2023-10-11 11:15:38 -04:00
< span class = "navbar-title" > Kyle Belanger< / span >
2023-10-11 09:41:10 -04:00
< / 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 ms-auto" >
< li class = "nav-item" >
2024-06-08 08:28:40 -04:00
< a class = "nav-link active" href = "./blog.html" aria-current = "page" >
< span class = "menu-text" > Posts< / span > < / a >
2023-10-11 15:22:24 -04:00
< / li >
< li class = "nav-item" >
2024-06-08 08:28:40 -04:00
< a class = "nav-link" href = "./kyle_resume.pdf" >
< span class = "menu-text" > Resume< / span > < / a >
2023-10-11 09:41:10 -04:00
< / li >
< li class = "nav-item compact" >
2024-06-08 08:28:40 -04:00
< a class = "nav-link" href = "https://github.com/mmmmtoasty19" > < i class = "bi bi-github" role = "img" >
2023-10-11 09:41:10 -04:00
< / i >
2024-06-08 08:28:40 -04:00
< span class = "menu-text" > < / span > < / a >
2023-10-11 09:41:10 -04:00
< / li >
< / ul >
< / div > <!-- /navcollapse -->
2024-06-08 08:28:40 -04:00
< div class = "quarto-navbar-tools" >
< / div >
2023-10-11 09:41:10 -04:00
< / div > <!-- /container - fluid -->
< / nav >
< / header >
<!-- content -->
2023-10-11 11:15:38 -04:00
< header id = "title-block-header" class = "quarto-title-block default page-columns page-full" >
< div class = "quarto-title-banner page-columns page-full" >
< div class = "quarto-title column-page-left" >
< h1 class = "title" > Posts< / h1 >
< / div >
< / div >
2024-06-08 08:28:40 -04:00
< div class = "quarto-title-meta column-page-left" >
2023-10-11 11:15:38 -04:00
< / div >
< / header > < div id = "quarto-content" class = "quarto-container page-columns page-rows-contents page-layout-full page-navbar" >
2023-10-11 09:41:10 -04:00
<!-- sidebar -->
<!-- margin - sidebar -->
2023-10-11 11:15:38 -04:00
< div id = "quarto-margin-sidebar" class = "sidebar margin-sidebar" >
2024-06-08 08:28:40 -04:00
< h5 class = "quarto-listing-category-title" > Categories< / h5 > < div class = "quarto-listing-category category-default" > < div class = "category" data-category = "" > All < span class = "quarto-category-count" > (11)< / span > < / div > < div class = "category" data-category = "Distill" > Distill < span class = "quarto-category-count" > (1)< / span > < / div > < div class = "category" data-category = "R" > R < span class = "quarto-category-count" > (1)< / span > < / div > < div class = "category" data-category = "TidyTuesday" > TidyTuesday < span class = "quarto-category-count" > (1)< / span > < / div > < div class = "category" data-category = "dataViz" > dataViz < span class = "quarto-category-count" > (1)< / span > < / div > < div class = "category" data-category = "tidytuesday" > tidytuesday < span class = "quarto-category-count" > (1)< / span > < / div > < / div > < / div >
2023-10-11 09:41:10 -04:00
<!-- main -->
2023-10-11 11:15:38 -04:00
< main class = "content quarto-banner-title-block column-page-left" id = "quarto-document-content" >
2024-06-08 08:28:40 -04:00
2023-10-11 11:15:38 -04:00
< div class = "quarto-listing quarto-listing-container-default" id = "listing-listing" >
< div class = "list quarto-listing-default" >
2024-06-08 08:28:40 -04:00
< div class = "quarto-post image-right" data-index = "0" data-categories = "tidytuesday,R,dataViz" data-listing-date-sort = "1717819200000" data-listing-file-modified-sort = "1717849238082" data-listing-date-modified-sort = "NaN" data-listing-reading-time-sort = "4" data-listing-word-count-sort = "605" >
2023-10-12 11:26:16 -04:00
< div class = "thumbnail" >
2024-06-08 08:28:40 -04:00
< p > < a href = "./posts/2024-05-15-US-NHL-Birthrate/index.html" class = "no-external" > < / a > < / p > < a href = "./posts/2024-05-15-US-NHL-Birthrate/index.html" class = "no-external" >
< p class = "card-img-top" > < img src = "posts\2024-05-15-US-NHL-Birthrate\index_files\figure-html\Graph_It-1.png" class = "thumbnail-image card-img" / > < / p >
< / a > < p > < a href = "./posts/2024-05-15-US-NHL-Birthrate/index.html" class = "no-external" > < / a > < / p >
2023-10-12 11:26:16 -04:00
< / div >
< div class = "body" >
< h3 class = "no-anchor listing-title" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2024-05-15-US-NHL-Birthrate/index.html" class = "no-external" > Does a US Born Players Birthdate affect their shot at the NHL< / a >
2023-10-12 11:26:16 -04:00
< / h3 >
< div class = "listing-subtitle" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2024-05-15-US-NHL-Birthrate/index.html" class = "no-external" > < / a >
< / div >
< div class = "listing-categories" >
< div class = "listing-category" onclick = "window.quartoListingCategory('tidytuesday'); return false;" >
tidytuesday
< / div >
< div class = "listing-category" onclick = "window.quartoListingCategory('R'); return false;" >
R
< / div >
< div class = "listing-category" onclick = "window.quartoListingCategory('dataViz'); return false;" >
dataViz
< / div >
2023-10-12 11:26:16 -04:00
< / div >
< div class = "listing-description" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2024-05-15-US-NHL-Birthrate/index.html" class = "no-external" > Inspired by TidyTuesday Week 2 - 2024 dataset about Candian Players, lets look at the same anaylyis for American Born Players< / a >
< / div >
< / div >
< div class = "metadata" >
< a href = "./posts/2024-05-15-US-NHL-Birthrate/index.html" class = "no-external" >
< div class = "listing-date" >
Jun 8, 2024
< / div >
< div class = "listing-author" >
Kyle Belanger
2023-10-12 11:26:16 -04:00
< / div >
< / a >
< / div >
2024-06-08 08:28:40 -04:00
< / div >
< div class = "quarto-post image-right" data-index = "1" data-listing-date-sort = "1697083200000" data-listing-file-modified-sort = "1715274259534" data-listing-date-modified-sort = "NaN" data-listing-reading-time-sort = "3" data-listing-word-count-sort = "458" >
< div class = "thumbnail" >
< p > < a href = "./posts/2023-10-12_DHSC_Capstone/index.html" class = "no-external" > < / a > < / p > < a href = "./posts/2023-10-12_DHSC_Capstone/index.html" class = "no-external" >
< div class = "listing-item-img-placeholder card-img-top" > < / div >
< / a > < p > < a href = "./posts/2023-10-12_DHSC_Capstone/index.html" class = "no-external" > < / a > < / p >
< / div >
< div class = "body" >
< h3 class = "no-anchor listing-title" >
< a href = "./posts/2023-10-12_DHSC_Capstone/index.html" class = "no-external" > Reflex Testing using Machine Learning in the Clinical Laboratory< / a >
< / h3 >
< div class = "listing-subtitle" >
< a href = "./posts/2023-10-12_DHSC_Capstone/index.html" class = "no-external" > This post contains the abstract of my Capstone for the Doctorate of Health Science program at Campbell University. < / a >
< / div >
< div class = "listing-description" >
< a href = "./posts/2023-10-12_DHSC_Capstone/index.html" class = "no-external" > To view the full paper please go to the following link< / a >
< / div >
< / div >
2023-10-12 11:26:16 -04:00
< div class = "metadata" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2023-10-12_DHSC_Capstone/index.html" class = "no-external" >
2023-10-12 11:26:16 -04:00
< div class = "listing-date" >
Oct 12, 2023
< / div >
< div class = "listing-author" >
Kyle Belanger
< / div >
< / a >
< / div >
< / div >
2024-06-08 08:28:40 -04:00
< div class = "quarto-post image-right" data-index = "2" data-categories = "TidyTuesday" data-listing-date-sort = "1614315600000" data-listing-file-modified-sort = "1715274259533" data-listing-date-modified-sort = "NaN" data-listing-reading-time-sort = "12" data-listing-word-count-sort = "2346" >
2023-10-12 09:05:03 -04:00
< div class = "thumbnail" >
2024-06-08 08:28:40 -04:00
< p > < a href = "./posts/2021-02-26_tidytuesday-hbcu-enrollment/tidytuesday-2021-week-6-hbcu-enrolment.html" class = "no-external" > < / a > < / p > < a href = "./posts/2021-02-26_tidytuesday-hbcu-enrollment/tidytuesday-2021-week-6-hbcu-enrolment.html" class = "no-external" >
< p class = "card-img-top" > < img src = "posts\2021-02-26_tidytuesday-hbcu-enrollment\tidytuesday-2021-week-6-hbcu-enrolment_files\figure-html\unnamed-chunk-10-1.png" class = "thumbnail-image card-img" / > < / p >
< / a > < p > < a href = "./posts/2021-02-26_tidytuesday-hbcu-enrollment/tidytuesday-2021-week-6-hbcu-enrolment.html" class = "no-external" > < / a > < / p >
2023-10-12 09:05:03 -04:00
< / div >
< div class = "body" >
< h3 class = "no-anchor listing-title" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2021-02-26_tidytuesday-hbcu-enrollment/tidytuesday-2021-week-6-hbcu-enrolment.html" class = "no-external" > TidyTuesday 2021 Week 6: HBCU Enrollment< / a >
2023-10-12 09:05:03 -04:00
< / h3 >
< div class = "listing-subtitle" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2021-02-26_tidytuesday-hbcu-enrollment/tidytuesday-2021-week-6-hbcu-enrolment.html" class = "no-external" > TidyTuesday 2021 Week 6: HBCU Enrollment. Posts looks at tidying the data ,as well as making some graphs about the data. < / a >
2023-10-12 09:05:03 -04:00
< / div >
< div class = "listing-categories" >
< div class = "listing-category" onclick = "window.quartoListingCategory('TidyTuesday'); return false;" >
TidyTuesday
< / div >
< / div >
< div class = "listing-description" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2021-02-26_tidytuesday-hbcu-enrollment/tidytuesday-2021-week-6-hbcu-enrolment.html" class = "no-external" > Recently I was struggling to find a data project to work on, I felt a bit stuck with some of my current projects, so I begun to scour the internet to find something to work…< / a >
2023-10-12 09:05:03 -04:00
< / div >
< / div >
< div class = "metadata" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2021-02-26_tidytuesday-hbcu-enrollment/tidytuesday-2021-week-6-hbcu-enrolment.html" class = "no-external" >
2023-10-12 09:05:03 -04:00
< div class = "listing-date" >
Feb 26, 2021
< / div >
< div class = "listing-author" >
Kyle Belanger
< / div >
< / a >
< / div >
< / div >
2024-06-08 08:28:40 -04:00
< div class = "quarto-post image-right" data-index = "3" data-categories = "Distill" data-listing-date-sort = "1610427600000" data-listing-file-modified-sort = "1715274259531" data-listing-date-modified-sort = "1697083200000" data-listing-reading-time-sort = "3" data-listing-word-count-sort = "575" >
2023-10-12 09:05:03 -04:00
< div class = "thumbnail" >
2024-06-08 08:28:40 -04:00
< p > < a href = "./posts/2021-01-12_blogdown-to-distill/creating-a-distill-blog.html" class = "no-external" > < / a > < / p > < a href = "./posts/2021-01-12_blogdown-to-distill/creating-a-distill-blog.html" class = "no-external" >
< div class = "listing-item-img-placeholder card-img-top" > < / div >
< / a > < p > < a href = "./posts/2021-01-12_blogdown-to-distill/creating-a-distill-blog.html" class = "no-external" > < / a > < / p >
2023-10-12 09:05:03 -04:00
< / div >
< div class = "body" >
< h3 class = "no-anchor listing-title" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2021-01-12_blogdown-to-distill/creating-a-distill-blog.html" class = "no-external" > Converting From Blogdown to Distill< / a >
2023-10-12 09:05:03 -04:00
< / h3 >
< div class = "listing-subtitle" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2021-01-12_blogdown-to-distill/creating-a-distill-blog.html" class = "no-external" > A meta post on transferring from a blogdown to distill blog site < / a >
2023-10-12 09:05:03 -04:00
< / div >
< div class = "listing-categories" >
< div class = "listing-category" onclick = "window.quartoListingCategory('Distill'); return false;" >
Distill
< / div >
< / div >
< div class = "listing-description" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2021-01-12_blogdown-to-distill/creating-a-distill-blog.html" class = "no-external" > I have since converted this blog to a quarto blog, but am leaving this post up in case anyone finds it useful< / a >
2023-10-12 09:05:03 -04:00
< / div >
< / div >
< div class = "metadata" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2021-01-12_blogdown-to-distill/creating-a-distill-blog.html" class = "no-external" >
2023-10-12 09:05:03 -04:00
< div class = "listing-date" >
Jan 12, 2021
< / div >
< div class = "listing-author" >
Kyle Belanger
< / div >
< / a >
< / div >
< / div >
2024-06-08 08:28:40 -04:00
< div class = "quarto-post image-right" data-index = "4" data-listing-date-sort = "1595649600000" data-listing-file-modified-sort = "1715274259530" data-listing-date-modified-sort = "NaN" data-listing-reading-time-sort = "4" data-listing-word-count-sort = "722" >
2023-10-12 08:52:22 -04:00
< div class = "thumbnail" >
2024-06-08 08:28:40 -04:00
< p > < a href = "./posts/2020-07-25_diabetes-data-collection-and-cleaning/diabetes-in-rural-north-carolina-data-collection-and-cleaning.html" class = "no-external" > < / a > < / p > < a href = "./posts/2020-07-25_diabetes-data-collection-and-cleaning/diabetes-in-rural-north-carolina-data-collection-and-cleaning.html" class = "no-external" >
< p class = "card-img-top" > < img src = "posts\2020-07-25_diabetes-data-collection-and-cleaning\data-cleaning.png" class = "thumbnail-image card-img" / > < / p >
< / a > < p > < a href = "./posts/2020-07-25_diabetes-data-collection-and-cleaning/diabetes-in-rural-north-carolina-data-collection-and-cleaning.html" class = "no-external" > < / a > < / p >
2023-10-12 08:52:22 -04:00
< / div >
< div class = "body" >
< h3 class = "no-anchor listing-title" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-07-25_diabetes-data-collection-and-cleaning/diabetes-in-rural-north-carolina-data-collection-and-cleaning.html" class = "no-external" > Diabetes in Rural North Carolina : Data Collection and Cleaning< / a >
2023-10-12 08:52:22 -04:00
< / h3 >
< div class = "listing-subtitle" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-07-25_diabetes-data-collection-and-cleaning/diabetes-in-rural-north-carolina-data-collection-and-cleaning.html" class = "no-external" > This is the second post in the series exploring Diabetes in rural North Carolina. This post will explore the data used for this project, from collection, cleaning, and analysis ready data. < / a >
2023-10-12 08:52:22 -04:00
< / div >
< div class = "listing-description" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-07-25_diabetes-data-collection-and-cleaning/diabetes-in-rural-north-carolina-data-collection-and-cleaning.html" class = "no-external" > This is the second post in the series exploring Diabetes in rural North Carolina. This post will explore the data used for this project, from collection, cleaning, and…< / a >
2023-10-12 08:52:22 -04:00
< / div >
< / div >
< div class = "metadata" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-07-25_diabetes-data-collection-and-cleaning/diabetes-in-rural-north-carolina-data-collection-and-cleaning.html" class = "no-external" >
2023-10-12 08:52:22 -04:00
< div class = "listing-date" >
Jul 25, 2020
< / div >
< div class = "listing-author" >
Kyle Belanger
< / div >
< / a >
< / div >
< / div >
2024-06-08 08:28:40 -04:00
< div class = "quarto-post image-right" data-index = "5" data-listing-date-sort = "1593057600000" data-listing-file-modified-sort = "1715274259526" data-listing-date-modified-sort = "NaN" data-listing-reading-time-sort = "8" data-listing-word-count-sort = "1512" >
2023-10-12 10:33:35 -04:00
< div class = "thumbnail" >
2024-06-08 08:28:40 -04:00
< p > < a href = "./posts/2020-06-25_diabetes-prevalence-in-nc/diabetes-in-rural-north-carolina-exploring-prevalence-trends.html" class = "no-external" > < / a > < / p > < a href = "./posts/2020-06-25_diabetes-prevalence-in-nc/diabetes-in-rural-north-carolina-exploring-prevalence-trends.html" class = "no-external" >
< p class = "card-img-top" > < img src = "posts\2020-06-25_diabetes-prevalence-in-nc\diabetes-in-rural-north-carolina-exploring-prevalence-trends_files\figure-html\o-g1-1.png" class = "thumbnail-image card-img" / > < / p >
< / a > < p > < a href = "./posts/2020-06-25_diabetes-prevalence-in-nc/diabetes-in-rural-north-carolina-exploring-prevalence-trends.html" class = "no-external" > < / a > < / p >
2023-10-12 10:33:35 -04:00
< / div >
< div class = "body" >
< h3 class = "no-anchor listing-title" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-06-25_diabetes-prevalence-in-nc/diabetes-in-rural-north-carolina-exploring-prevalence-trends.html" class = "no-external" > Diabetes in Rural North Carolina : Exploring Prevalence Trends< / a >
2023-10-12 10:33:35 -04:00
< / h3 >
< div class = "listing-subtitle" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-06-25_diabetes-prevalence-in-nc/diabetes-in-rural-north-carolina-exploring-prevalence-trends.html" class = "no-external" > This post introduces the exploration of the Diabetes epidemic in North Carolina < / a >
2023-10-12 10:33:35 -04:00
< / div >
< div class = "listing-description" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-06-25_diabetes-prevalence-in-nc/diabetes-in-rural-north-carolina-exploring-prevalence-trends.html" class = "no-external" > 2022-15-03: Since this was posted the CDC has updated how county level diabetes prevalance is calculated. The data presented here is using previous calcualtions and may no…< / a >
2023-10-12 10:33:35 -04:00
< / div >
< / div >
< div class = "metadata" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-06-25_diabetes-prevalence-in-nc/diabetes-in-rural-north-carolina-exploring-prevalence-trends.html" class = "no-external" >
2023-10-12 10:33:35 -04:00
< div class = "listing-date" >
Jun 25, 2020
< / div >
< div class = "listing-author" >
Kyle Belanger
< / div >
< / a >
< / div >
< / div >
2024-06-08 08:28:40 -04:00
< div class = "quarto-post image-right" data-index = "6" data-listing-date-sort = "1592798400000" data-listing-file-modified-sort = "1715274259523" data-listing-date-modified-sort = "NaN" data-listing-reading-time-sort = "3" data-listing-word-count-sort = "534" >
2023-10-12 08:52:22 -04:00
< div class = "thumbnail" >
2024-06-08 08:28:40 -04:00
< p > < a href = "./posts/2020-06-22_excel-data-multiple-headers/importing-excel-data-with-multiple-header-rows.html" class = "no-external" > < / a > < / p > < a href = "./posts/2020-06-22_excel-data-multiple-headers/importing-excel-data-with-multiple-header-rows.html" class = "no-external" >
< p class = "card-img-top" > < img src = "posts\2020-06-22_excel-data-multiple-headers\example_data_img1.png" alt = "image of example data" class = "thumbnail-image card-img" / > < / p >
< / a > < p > < a href = "./posts/2020-06-22_excel-data-multiple-headers/importing-excel-data-with-multiple-header-rows.html" class = "no-external" > < / a > < / p >
2023-10-12 08:52:22 -04:00
< / div >
< div class = "body" >
< h3 class = "no-anchor listing-title" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-06-22_excel-data-multiple-headers/importing-excel-data-with-multiple-header-rows.html" class = "no-external" > Importing Excel Data with Multiple Header Rows< / a >
2023-10-12 08:52:22 -04:00
< / h3 >
< div class = "listing-subtitle" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-06-22_excel-data-multiple-headers/importing-excel-data-with-multiple-header-rows.html" class = "no-external" > A solution for importing Excel Data that contains two header rows. < / a >
2023-10-12 08:52:22 -04:00
< / div >
< div class = "listing-description" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-06-22_excel-data-multiple-headers/importing-excel-data-with-multiple-header-rows.html" class = "no-external" > Recently I tried to important some Microsoft Excel data into R, and ran into an issue were the data actually had two different header rows. The top row listed a group, and…< / a >
2023-10-12 08:52:22 -04:00
< / div >
< / div >
< div class = "metadata" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-06-22_excel-data-multiple-headers/importing-excel-data-with-multiple-header-rows.html" class = "no-external" >
2023-10-12 08:52:22 -04:00
< div class = "listing-date" >
Jun 22, 2020
< / div >
< div class = "listing-author" >
Kyle Belanger
< / div >
< / a >
< / div >
< / div >
2024-06-08 08:28:40 -04:00
< div class = "quarto-post image-right" data-index = "7" data-listing-date-sort = "1581570000000" data-listing-file-modified-sort = "1715274259519" data-listing-date-modified-sort = "NaN" data-listing-reading-time-sort = "11" data-listing-word-count-sort = "2089" >
2023-10-12 08:45:37 -04:00
< div class = "thumbnail" >
2024-06-08 08:28:40 -04:00
< p > < a href = "./posts/2020-02-13_basic-who-TB-data/basic-exploration-of-who-tuberculosis-data.html" class = "no-external" > < / a > < / p > < a href = "./posts/2020-02-13_basic-who-TB-data/basic-exploration-of-who-tuberculosis-data.html" class = "no-external" >
< p class = "card-img-top" > < img src = "posts\2020-02-13_basic-who-TB-data\basic-exploration-of-who-tuberculosis-data_files\figure-html\unnamed-chunk-5-1.png" class = "thumbnail-image card-img" / > < / p >
< / a > < p > < a href = "./posts/2020-02-13_basic-who-TB-data/basic-exploration-of-who-tuberculosis-data.html" class = "no-external" > < / a > < / p >
2023-10-12 08:45:37 -04:00
< / div >
< div class = "body" >
< h3 class = "no-anchor listing-title" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-02-13_basic-who-TB-data/basic-exploration-of-who-tuberculosis-data.html" class = "no-external" > Basic Exploration of WHO Tuberculosis Data< / a >
2023-10-12 08:45:37 -04:00
< / h3 >
< div class = "listing-subtitle" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-02-13_basic-who-TB-data/basic-exploration-of-who-tuberculosis-data.html" class = "no-external" > Today I am going to dive into some real life data from the World Health Organization (WHO), exploring new and relapse cases of Tuberculosis. I clean up the data, and then make a few graphs to explore different variables. < / a >
2023-10-12 08:45:37 -04:00
< / div >
< div class = "listing-description" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-02-13_basic-who-TB-data/basic-exploration-of-who-tuberculosis-data.html" class = "no-external" > Today I am going to dive into some real life data from the World Health Organization (WHO), exploring new and relapse cases of Tuberculosis. I clean up the data, and then…< / a >
2023-10-12 08:45:37 -04:00
< / div >
< / div >
< div class = "metadata" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-02-13_basic-who-TB-data/basic-exploration-of-who-tuberculosis-data.html" class = "no-external" >
2023-10-12 08:45:37 -04:00
< div class = "listing-date" >
Feb 13, 2020
< / div >
< div class = "listing-author" >
Kyle Belanger
< / div >
< / a >
< / div >
< / div >
2024-06-08 08:28:40 -04:00
< div class = "quarto-post image-right" data-index = "8" data-listing-date-sort = "1581310800000" data-listing-file-modified-sort = "1715274259501" data-listing-date-modified-sort = "NaN" data-listing-reading-time-sort = "8" data-listing-word-count-sort = "1470" >
2023-10-12 08:45:37 -04:00
< div class = "thumbnail" >
2024-06-08 08:28:40 -04:00
< p > < a href = "./posts/2020-02-10_line-graphs-and-interactivity/line-graphs-and-interactivity.html" class = "no-external" > < / a > < / p > < a href = "./posts/2020-02-10_line-graphs-and-interactivity/line-graphs-and-interactivity.html" class = "no-external" >
< p class = "card-img-top" > < img src = "posts\2020-02-10_line-graphs-and-interactivity\flu_surveillance.png" alt = "Example Line Graph" class = "thumbnail-image card-img" / > < / p >
< / a > < p > < a href = "./posts/2020-02-10_line-graphs-and-interactivity/line-graphs-and-interactivity.html" class = "no-external" > < / a > < / p >
2023-10-12 08:45:37 -04:00
< / div >
< div class = "body" >
< h3 class = "no-anchor listing-title" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-02-10_line-graphs-and-interactivity/line-graphs-and-interactivity.html" class = "no-external" > Line Graphs and Interactivity< / a >
2023-10-12 08:45:37 -04:00
< / h3 >
< div class = "listing-subtitle" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-02-10_line-graphs-and-interactivity/line-graphs-and-interactivity.html" class = "no-external" > Tableau for Healthcare Chapter 10. Static and Interactive examples < / a >
2023-10-12 08:45:37 -04:00
< / div >
< div class = "listing-description" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-02-10_line-graphs-and-interactivity/line-graphs-and-interactivity.html" class = "no-external" > Today’ s post is all about line graphs using both ggplot for a static graph as well as a package called plotly for interactivity (more on this later). The example graph and…< / a >
2023-10-12 08:45:37 -04:00
< / div >
< / div >
< div class = "metadata" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-02-10_line-graphs-and-interactivity/line-graphs-and-interactivity.html" class = "no-external" >
2023-10-12 08:45:37 -04:00
< div class = "listing-date" >
Feb 10, 2020
< / div >
< div class = "listing-author" >
Kyle Belanger
< / div >
< / a >
< / div >
< / div >
2024-06-08 08:28:40 -04:00
< div class = "quarto-post image-right" data-index = "9" data-listing-date-sort = "1580274000000" data-listing-file-modified-sort = "1715274259493" data-listing-date-modified-sort = "NaN" data-listing-reading-time-sort = "3" data-listing-word-count-sort = "574" >
2023-10-12 08:45:37 -04:00
< div class = "thumbnail" >
2024-06-08 08:28:40 -04:00
< p > < a href = "./posts/2020-01-29_facets-and-humility/facets-and-a-lesson-in-humility.html" class = "no-external" > < / a > < / p > < a href = "./posts/2020-01-29_facets-and-humility/facets-and-a-lesson-in-humility.html" class = "no-external" >
< p class = "card-img-top" > < img src = "posts\2020-01-29_facets-and-humility\WHO_LIFE.png" class = "thumbnail-image card-img" / > < / p >
< / a > < p > < a href = "./posts/2020-01-29_facets-and-humility/facets-and-a-lesson-in-humility.html" class = "no-external" > < / a > < / p >
2023-10-12 08:45:37 -04:00
< / div >
< div class = "body" >
< h3 class = "no-anchor listing-title" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-01-29_facets-and-humility/facets-and-a-lesson-in-humility.html" class = "no-external" > Facets and a Lesson in Humility< / a >
2023-10-12 08:45:37 -04:00
< / h3 >
< div class = "listing-subtitle" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-01-29_facets-and-humility/facets-and-a-lesson-in-humility.html" class = "no-external" > A look at Tableau for Healthcare Chapter 8. Table Lens graph. < / a >
2023-10-12 08:45:37 -04:00
< / div >
< div class = "listing-description" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-01-29_facets-and-humility/facets-and-a-lesson-in-humility.html" class = "no-external" > Todays post is a lesson in Facets, as well as humility. The task this week was to replicate the graph in Chapter 8 of Tableau for Healthcare in R. The graph in question is…< / a >
2023-10-12 08:45:37 -04:00
< / div >
< / div >
< div class = "metadata" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-01-29_facets-and-humility/facets-and-a-lesson-in-humility.html" class = "no-external" >
2023-10-12 08:45:37 -04:00
< div class = "listing-date" >
Jan 29, 2020
< / div >
< div class = "listing-author" >
Kyle Belanger
< / div >
< / a >
< / div >
< / div >
2024-06-08 08:28:40 -04:00
< div class = "quarto-post image-right" data-index = "10" data-listing-date-sort = "1579842000000" data-listing-file-modified-sort = "1715274259489" data-listing-date-modified-sort = "NaN" data-listing-reading-time-sort = "2" data-listing-word-count-sort = "356" >
2023-10-11 11:15:38 -04:00
< div class = "thumbnail" >
2024-06-08 08:28:40 -04:00
< p > < a href = "./posts/2020-01-04_my-start-to-r/my-start-to-r.html" class = "no-external" > < / a > < / p > < a href = "./posts/2020-01-04_my-start-to-r/my-start-to-r.html" class = "no-external" >
< p class = "card-img-top" > < img src = "posts\2020-01-04_my-start-to-r\my-start-to-r_files\figure-html\unnamed-chunk-5-1.png" class = "thumbnail-image card-img" / > < / p >
< / a > < p > < a href = "./posts/2020-01-04_my-start-to-r/my-start-to-r.html" class = "no-external" > < / a > < / p >
2023-10-11 11:15:38 -04:00
< / div >
< div class = "body" >
< h3 class = "no-anchor listing-title" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-01-04_my-start-to-r/my-start-to-r.html" class = "no-external" > My Start to R< / a >
2023-10-11 11:15:38 -04:00
< / h3 >
< div class = "listing-subtitle" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-01-04_my-start-to-r/my-start-to-r.html" class = "no-external" > A short introduction to my blog, and R journey. < / a >
2023-10-11 11:15:38 -04:00
< / div >
< div class = "listing-description" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-01-04_my-start-to-r/my-start-to-r.html" class = "no-external" > Today starts my attempt at sharing my R journey with the world! I have been learning R off and on now since late 2019, I have begun to take it much more serious as I work…< / a >
2023-10-11 11:15:38 -04:00
< / div >
< / div >
< div class = "metadata" >
2024-06-08 08:28:40 -04:00
< a href = "./posts/2020-01-04_my-start-to-r/my-start-to-r.html" class = "no-external" >
2023-10-11 11:15:38 -04:00
< div class = "listing-date" >
2023-10-11 15:22:24 -04:00
Jan 24, 2020
2023-10-11 11:15:38 -04:00
< / div >
< div class = "listing-author" >
2023-10-11 15:22:24 -04:00
Kyle Belanger
2023-10-11 11:15:38 -04:00
< / div >
< / a >
< / div >
< / div >
< / div >
< div class = "listing-no-matching d-none" >
No matching items
< / div >
< / div > < / main > <!-- /main -->
2023-10-11 09:41:10 -04:00
< script id = "quarto-html-after-body" type = "application/javascript" >
window.document.addEventListener("DOMContentLoaded", function (event) {
const toggleBodyColorMode = (bsSheetEl) => {
const mode = bsSheetEl.getAttribute("data-mode");
const bodyEl = window.document.querySelector("body");
if (mode === "dark") {
bodyEl.classList.add("quarto-dark");
bodyEl.classList.remove("quarto-light");
} else {
bodyEl.classList.add("quarto-light");
bodyEl.classList.remove("quarto-dark");
}
}
const toggleBodyColorPrimary = () => {
const bsSheetEl = window.document.querySelector("link#quarto-bootstrap");
if (bsSheetEl) {
toggleBodyColorMode(bsSheetEl);
}
}
toggleBodyColorPrimary();
2023-10-11 11:15:38 -04:00
const icon = "";
const anchorJS = new window.AnchorJS();
anchorJS.options = {
placement: 'right',
icon: icon
};
anchorJS.add('.anchored');
2023-10-11 09:41:10 -04:00
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', {
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) {
// button target
const button = e.trigger;
// don't keep focus
button.blur();
// flash "checked"
button.classList.add('code-copy-button-checked');
var currentTitle = button.getAttribute("title");
button.setAttribute("title", "Copied!");
let tooltip;
if (window.bootstrap) {
button.setAttribute("data-bs-toggle", "tooltip");
button.setAttribute("data-bs-placement", "left");
button.setAttribute("data-bs-title", "Copied!");
tooltip = new bootstrap.Tooltip(button,
{ trigger: "manual",
customClass: "code-copy-button-tooltip",
offset: [0, -8]});
tooltip.show();
}
setTimeout(function() {
if (tooltip) {
tooltip.hide();
button.removeAttribute("data-bs-title");
button.removeAttribute("data-bs-toggle");
button.removeAttribute("data-bs-placement");
}
button.setAttribute("title", currentTitle);
button.classList.remove('code-copy-button-checked');
}, 1000);
// clear code selection
e.clearSelection();
});
2024-06-08 08:28:40 -04:00
var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//);
var mailtoRegex = new RegExp(/^mailto:/);
var filterRegex = new RegExp('/' + window.location.host + '/');
var isInternal = (href) => {
return filterRegex.test(href) || localhostRegex.test(href) || mailtoRegex.test(href);
}
// Inspect non-navigation links and adorn them if external
var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool)');
for (var i=0; i< links.length ; i + + ) {
const link = links[i];
if (!isInternal(link.href)) {
// undo the damage that might have been done by quarto-nav.js in the case of
// links that we want to consider external
if (link.dataset.originalHref !== undefined) {
link.href = link.dataset.originalHref;
}
}
}
function tippyHover(el, contentFn, onTriggerFn, onUntriggerFn) {
2023-10-11 09:41:10 -04:00
const config = {
allowHTML: true,
maxWidth: 500,
delay: 100,
arrow: false,
appendTo: function(el) {
return el.parentElement;
},
interactive: true,
interactiveBorder: 10,
theme: 'quarto',
2024-06-08 08:28:40 -04:00
placement: 'bottom-start',
2023-10-11 09:41:10 -04:00
};
2024-06-08 08:28:40 -04:00
if (contentFn) {
config.content = contentFn;
}
if (onTriggerFn) {
config.onTrigger = onTriggerFn;
}
if (onUntriggerFn) {
config.onUntrigger = onUntriggerFn;
}
2023-10-11 09:41:10 -04:00
window.tippy(el, config);
}
const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]');
for (var i=0; i< noterefs.length ; i + + ) {
const ref = noterefs[i];
tippyHover(ref, function() {
// use id or data attribute instead here
let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href');
try { href = new URL(href).hash; } catch {}
const id = href.replace(/^#\/?/, "");
const note = window.document.getElementById(id);
2024-06-08 08:28:40 -04:00
if (note) {
return note.innerHTML;
} else {
return "";
}
});
}
const xrefs = window.document.querySelectorAll('a.quarto-xref');
const processXRef = (id, note) => {
// Strip column container classes
const stripColumnClz = (el) => {
el.classList.remove("page-full", "page-columns");
if (el.children) {
for (const child of el.children) {
stripColumnClz(child);
}
}
}
stripColumnClz(note)
if (id === null || id.startsWith('sec-')) {
// Special case sections, only their first couple elements
const container = document.createElement("div");
if (note.children & & note.children.length > 2) {
container.appendChild(note.children[0].cloneNode(true));
for (let i = 1; i < note.children.length ; i + + ) {
const child = note.children[i];
if (child.tagName === "P" & & child.innerText === "") {
continue;
} else {
container.appendChild(child.cloneNode(true));
break;
}
}
if (window.Quarto?.typesetMath) {
window.Quarto.typesetMath(container);
}
return container.innerHTML
} else {
if (window.Quarto?.typesetMath) {
window.Quarto.typesetMath(note);
}
return note.innerHTML;
}
} else {
// Remove any anchor links if they are present
const anchorLink = note.querySelector('a.anchorjs-link');
if (anchorLink) {
anchorLink.remove();
}
if (window.Quarto?.typesetMath) {
window.Quarto.typesetMath(note);
}
// TODO in 1.5, we should make sure this works without a callout special case
if (note.classList.contains("callout")) {
return note.outerHTML;
} else {
return note.innerHTML;
}
}
}
for (var i=0; i< xrefs.length ; i + + ) {
const xref = xrefs[i];
tippyHover(xref, undefined, function(instance) {
instance.disable();
let url = xref.getAttribute('href');
let hash = undefined;
if (url.startsWith('#')) {
hash = url;
} else {
try { hash = new URL(url).hash; } catch {}
}
if (hash) {
const id = hash.replace(/^#\/?/, "");
const note = window.document.getElementById(id);
if (note !== null) {
try {
const html = processXRef(id, note.cloneNode(true));
instance.setContent(html);
} finally {
instance.enable();
instance.show();
}
} else {
// See if we can fetch this
fetch(url.split('#')[0])
.then(res => res.text())
.then(html => {
const parser = new DOMParser();
const htmlDoc = parser.parseFromString(html, "text/html");
const note = htmlDoc.getElementById(id);
if (note !== null) {
const html = processXRef(id, note);
instance.setContent(html);
}
}).finally(() => {
instance.enable();
instance.show();
});
}
} else {
// See if we can fetch a full url (with no hash to target)
// This is a special case and we should probably do some content thinning / targeting
fetch(url)
.then(res => res.text())
.then(html => {
const parser = new DOMParser();
const htmlDoc = parser.parseFromString(html, "text/html");
const note = htmlDoc.querySelector('main.content');
if (note !== null) {
// This should only happen for chapter cross references
// (since there is no id in the URL)
// remove the first header
if (note.children.length > 0 & & note.children[0].tagName === "HEADER") {
note.children[0].remove();
}
const html = processXRef(null, note);
instance.setContent(html);
}
}).finally(() => {
instance.enable();
instance.show();
});
}
}, function(instance) {
2023-10-11 09:41:10 -04:00
});
}
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";
2024-06-08 08:28:40 -04:00
div.style.left = 0;
2023-10-11 09:41:10 -04:00
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;
};
2024-06-08 08:28:40 -04:00
// Handle positioning of the toggle
window.addEventListener(
"resize",
throttle(() => {
elRect = undefined;
if (selectedAnnoteEl) {
selectCodeLines(selectedAnnoteEl);
}
}, 10)
);
function throttle(fn, ms) {
let throttle = false;
let timer;
return (...args) => {
if(!throttle) { // first call gets through
fn.apply(this, args);
throttle = true;
} else { // all the others get throttled
if(timer) clearTimeout(timer); // cancel #2
timer = setTimeout(() => {
fn.apply(this, args);
timer = throttle = false;
}, ms);
}
};
}
2023-10-11 09:41:10 -04:00
// 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) {
const cites = parentEl.dataset.cites;
if (cites) {
return {
el,
cites: cites.split(' ')
};
} else {
return findCites(el.parentElement)
}
} else {
return undefined;
}
};
var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]');
for (var i=0; i< bibliorefs.length ; i + + ) {
const ref = bibliorefs[i];
const citeInfo = findCites(ref);
if (citeInfo) {
tippyHover(citeInfo.el, function() {
var popup = window.document.createElement('div');
citeInfo.cites.forEach(function(cite) {
var citeDiv = window.document.createElement('div');
citeDiv.classList.add('hanging-indent');
citeDiv.classList.add('csl-entry');
var biblioDiv = window.document.getElementById('ref-' + cite);
if (biblioDiv) {
citeDiv.innerHTML = biblioDiv.innerHTML;
}
popup.appendChild(citeDiv);
});
return popup.innerHTML;
});
}
}
});
< / script >
< / div > <!-- /content -->
2024-06-08 08:28:40 -04:00
2023-10-11 09:41:10 -04:00
< / body > < / html >