You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
458 lines
22 KiB
458 lines
22 KiB
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="generator" content="quarto-1.0.37">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
|
|
|
<meta name="dcterms.date" content="2022-07-29">
|
|
|
|
<title>- PhD in AI for predictive maintenance in water and electricity infrastructure</title>
|
|
<style>
|
|
code{white-space: pre-wrap;}
|
|
span.smallcaps{font-variant: small-caps;}
|
|
span.underline{text-decoration: underline;}
|
|
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
|
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
ul.task-list{list-style: none;}
|
|
</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="../">
|
|
<link href="../www/favicon.png" rel="icon" type="image/png">
|
|
<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>
|
|
<script src="../site_libs/quarto-html/anchor.min.js"></script>
|
|
<link href="../site_libs/quarto-html/tippy.css" rel="stylesheet">
|
|
<link href="../site_libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" class="quarto-color-scheme" id="quarto-text-highlighting-styles">
|
|
<link href="../site_libs/quarto-html/quarto-syntax-highlighting-dark.css" rel="prefetch" class="quarto-color-scheme quarto-color-alternate" 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" class="quarto-color-scheme" id="quarto-bootstrap" data-mode="light">
|
|
<link href="../site_libs/bootstrap/bootstrap-dark.min.css" rel="prefetch" class="quarto-color-scheme quarto-color-alternate" id="quarto-bootstrap" data-mode="dark">
|
|
<script id="quarto-search-options" type="application/json">{
|
|
"location": "navbar",
|
|
"copy-button": false,
|
|
"collapse-after": 3,
|
|
"panel-placement": "end",
|
|
"type": "overlay",
|
|
"limit": 20,
|
|
"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",
|
|
"search-detached-cancel-button-title": "Cancel",
|
|
"search-submit-button-title": "Submit"
|
|
}
|
|
}</script>
|
|
<!-- Matomo -->
|
|
<script>
|
|
var _paq = window._paq = window._paq || [];
|
|
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
|
_paq.push(['trackPageView']);
|
|
_paq.push(['enableLinkTracking']);
|
|
(function() {
|
|
var u="//webtrack.tools.lanubia.com/";
|
|
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
|
_paq.push(['setSiteId', '1']);
|
|
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
|
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
|
})();
|
|
</script>
|
|
<!-- End Matomo Code -->
|
|
|
|
|
|
<link rel="stylesheet" href="../styles.css">
|
|
</head>
|
|
|
|
<body class="nav-fixed">
|
|
|
|
<div id="quarto-search-results"></div>
|
|
<header id="quarto-header" class="headroom fixed-top">
|
|
<nav class="navbar navbar-expand-lg navbar-dark ">
|
|
<div class="navbar-container container-fluid">
|
|
<a class="navbar-brand" href="../index.html">
|
|
<img src="../www/logo1.webp" alt="">
|
|
</a>
|
|
<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">Home</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="../ILUSTREpartners.html">Partners & Roles</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="../ltr.html">Research Topics</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="../career.html">Career</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="../events.html">Events</a>
|
|
</li>
|
|
<li class="nav-item dropdown ">
|
|
<a class="nav-link dropdown-toggle" href="#" id="nav-menu-more" role="button" data-bs-toggle="dropdown" aria-expanded="false">More</a>
|
|
<ul class="dropdown-menu" aria-labelledby="nav-menu-more">
|
|
<li>
|
|
<a class="dropdown-item" href="../talent.html">
|
|
<span class="dropdown-text">Talent Development</span></a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item" href="../contact.html">
|
|
<span class="dropdown-text">Contact</span></a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<ul class="navbar-nav navbar-nav-scroll ms-auto">
|
|
<li class="nav-item compact">
|
|
<a class="nav-link" href="https://www.linkedin.com/company/76979124/"><i class="bi bi-linkedin" role="img">
|
|
</i>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<div class="quarto-toggle-container">
|
|
<a href="" class="quarto-color-scheme-toggle nav-link" onclick="window.quartoToggleColorScheme(); return false;" title="Toggle dark mode"><i class="bi"></i></a>
|
|
</div>
|
|
<div id="quarto-search" class="" title="Search"></div>
|
|
</div> <!-- /navcollapse -->
|
|
</div> <!-- /container-fluid -->
|
|
</nav>
|
|
</header>
|
|
<!-- content -->
|
|
<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article page-navbar">
|
|
<!-- sidebar -->
|
|
<!-- margin-sidebar -->
|
|
<div id="quarto-margin-sidebar" class="sidebar margin-sidebar">
|
|
<nav id="TOC" role="doc-toc">
|
|
<h2 id="toc-title">On this page</h2>
|
|
|
|
<ul>
|
|
<li><a href="#short-description" id="toc-short-description" class="nav-link active" data-scroll-target="#short-description">Short Description</a></li>
|
|
<li><a href="#job-description" id="toc-job-description" class="nav-link" data-scroll-target="#job-description">Job Description</a></li>
|
|
<li><a href="#job-requirements" id="toc-job-requirements" class="nav-link" data-scroll-target="#job-requirements">Job Requirements</a></li>
|
|
<li><a href="#conditions-of-employment" id="toc-conditions-of-employment" class="nav-link" data-scroll-target="#conditions-of-employment">Conditions of Employment</a></li>
|
|
<li><a href="#more-information" id="toc-more-information" class="nav-link" data-scroll-target="#more-information">More Information</a></li>
|
|
<li><a href="#application" id="toc-application" class="nav-link" data-scroll-target="#application">Application</a></li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
<!-- main -->
|
|
<main class="content" id="quarto-document-content">
|
|
|
|
<header id="title-block-header" class="quarto-title-block default">
|
|
<div class="quarto-title">
|
|
<h1 class="title">PhD in AI for predictive maintenance in water and electricity infrastructure</h1>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="quarto-title-meta">
|
|
|
|
|
|
<div>
|
|
<div class="quarto-title-meta-heading">Published</div>
|
|
<div class="quarto-title-meta-contents">
|
|
<p class="date">July 29, 2022</p>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
</header>
|
|
|
|
<section id="short-description" class="level3">
|
|
<h3 class="anchored" data-anchor-id="short-description">Short Description</h3>
|
|
<p>Are you interested in building deep learning solutions to achieve real-time-based predictive maintenance algorithms for real-world applications? In this project, you will be exploring unsupervised and self-supervised learning methods. Moreover, you will have the possibility to test the results of your work with water and energy providers. This position is part of a collaboration between several industrial and academic partners.</p>
|
|
<div class="quarto-figure quarto-figure-center">
|
|
<figure class="figure">
|
|
<figure class="figure">
|
|
<img src="img/Maintenance_work_in_the_refinery.webp" title="Okane nyatoh daniel, CC BY-SA 4.0 <https://creativecommons.org/licenses/by-sa/4.0>, via Wikimedia Commons" class="img-fluid figure-img">
|
|
</figure>
|
|
<p></p><figcaption class="figure-caption">Maintenence</figcaption><p></p>
|
|
</figure>
|
|
</div>
|
|
</section>
|
|
<section id="job-description" class="level3">
|
|
<h3 class="anchored" data-anchor-id="job-description">Job Description</h3>
|
|
<p>Predictive maintenance offers great potential value to the energy and water supply industry. Timely detection of required maintenance of machines, sensors, or other critical infrastructure can prevent service disruptions and costly loss of resources. For instance, visual sensors can be used to analyze and detect subtle patterns, and auditory sensors can pick up subtle sound changes.</p>
|
|
<p>Artificial intelligence allows for improved prediction performance on predictive maintenance tasks. However, one of the main challenges is dealing with real-time-based predictive maintenance. Instead of treating predictive maintenance as a simple alert monitoring, real-time-based predictive maintenance offers an estimate of time-to-failure. You will be addressing this challenge by working with large amounts of unlabeled visual and auditory datasets to create models for continuous and reliable monitoring of system states that can accurately predict time-to-failure.</p>
|
|
<p>You will work on deep learning solutions to achieve real-time-based predictive maintenance algorithms. These models will be based on unsupervised and self-supervised learning, and you will work with both discriminative and generative models. Moreover, you will study the accuracy, reliability, and possible integration of these models with water and energy providers and other industrial partners.</p>
|
|
<p>Your work will contribute to achieving a more reliable distribution of energy and water and to the more general goal of building robust machine learning for a sustainable society.</p>
|
|
<p>You will be part of the Jheronimus Academy of Data Science in ’s-Hertogenbosch and closely collaborate with Tilburg University and the Eindhoven University of Technology.</p>
|
|
</section>
|
|
<section id="job-requirements" class="level3">
|
|
<h3 class="anchored" data-anchor-id="job-requirements">Job Requirements</h3>
|
|
<p>We are looking for candidates that meet the following criteria: - Master’s degree in a relevant field - e.g. Artificial Intelligence, Computer Science, Engineering, Cognitive Science. - Good knowledge of the theory and application of machine learning, particularly deep learning - demonstrable experience with self-supervised learning or deep generative models is a plus. - Well-developed programming skills - experience with deep learning frameworks is expected. - Good communicative skills in English, both in speaking and in writing (C1 level).</p>
|
|
</section>
|
|
<section id="conditions-of-employment" class="level3">
|
|
<h3 class="anchored" data-anchor-id="conditions-of-employment">Conditions of Employment</h3>
|
|
<p>Being appointed at JADS provides a meaningful job in a dynamic and ambitious community of two universities and startups.</p>
|
|
<p>As a PhD Student at JADS you will have a full-time employment for a total of four years, with an intermediate evaluation after nine months. JADS offers excellent employment conditions with attention to flexibility and (personal) development and attractive fringe benefits. The gross monthly salary is in accordance with the Collective Labor Agreement for Dutch Universities. You are entitled to a vacation allowance of 8% and a year-end bonus of 8.3% of your gross annual income. If you work 40 hours per week, you will receive 41 paid days of leave per year. PhD Students from outside the Netherlands may qualify for a tax-free allowance of 30% of their taxable salary if they meet the relevant conditions. The university applies for this allowance on their behalf. JADS will provide assistance in finding suitable accommodation.</p>
|
|
<p>To develop your teaching skills, you will spend 10% of your employment on teaching tasks. To support you during your PhD and to prepare you for the rest of your career, you will make a Training and Supervision plan and you will have free access to a personal development program for PhD students.</p>
|
|
<p>Next to that we offer all kinds of facilities and arrangements to maintain an optimal balance between work and private life. All employees of the university are covered by the so-called General Pension Fund for Public Employers (Stichting Pensioenfonds ABP).</p>
|
|
<p>JADS values an open and inclusive culture. We embrace diversity and encourage the mutual integration of groups of employees and students. We focus on creating equal opportunities for all our employees and students so that everyone feels at home in our university community.</p>
|
|
<p>All researchers working in JADS have contracts at either Tilburg University or Eindhoven University of Technology. Please visit Working at <a href="https://www.tilburguniversity.edu/about/working">Tilburg University</a> and Working at <a href="https://www.tue.nl/en/working-at-tue/">Eindhoven University of Technology</a> for more information on their respective employment conditions.</p>
|
|
</section>
|
|
<section id="more-information" class="level3">
|
|
<h3 class="anchored" data-anchor-id="more-information">More Information</h3>
|
|
<p>Do you recognize yourself in this profile and would you like to know more? Please contact <a href="mailto:J.S.Olier@tilburguniversity.edu">Dr. Juan Sebastian Olier</a>) or <a href="mailto:E.O.Postma@jads.edu">Prof. Dr. Eric Postma</a>. For information about terms of employment, please contact <a href="mailto:m.a.a.v.gerven@jads.nl">Marielle van Gerven, HR Advisor</a> or <a href="tel:+31402473699">call</a></p>
|
|
</section>
|
|
<section id="application" class="level3">
|
|
<h3 class="anchored" data-anchor-id="application">Application</h3>
|
|
<p>We invite you to submit a complete application by using the ‘apply now’-button on this page. The application should include a:</p>
|
|
<ul>
|
|
<li>Cover letter in which you describe your motivation and qualifications for the position.</li>
|
|
<li>Curriculum vitae, including a list of your publications and the contact information of three references.</li>
|
|
<li>Brief description of your MSc thesis.</li>
|
|
</ul>
|
|
<p>We look forward to your application and will screen it as soon as we have received it. Screening will continue until the position has been filled.</p>
|
|
<p><a><button name="button" style="color: red" onclick="https://lanubia.com">Apply Now</button></a></p>
|
|
|
|
|
|
</section>
|
|
|
|
</main> <!-- /main -->
|
|
<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();
|
|
const disableStylesheet = (stylesheets) => {
|
|
for (let i=0; i < stylesheets.length; i++) {
|
|
const stylesheet = stylesheets[i];
|
|
stylesheet.rel = 'prefetch';
|
|
}
|
|
}
|
|
const enableStylesheet = (stylesheets) => {
|
|
for (let i=0; i < stylesheets.length; i++) {
|
|
const stylesheet = stylesheets[i];
|
|
stylesheet.rel = 'stylesheet';
|
|
}
|
|
}
|
|
const manageTransitions = (selector, allowTransitions) => {
|
|
const els = window.document.querySelectorAll(selector);
|
|
for (let i=0; i < els.length; i++) {
|
|
const el = els[i];
|
|
if (allowTransitions) {
|
|
el.classList.remove('notransition');
|
|
} else {
|
|
el.classList.add('notransition');
|
|
}
|
|
}
|
|
}
|
|
const toggleColorMode = (alternate) => {
|
|
// Switch the stylesheets
|
|
const alternateStylesheets = window.document.querySelectorAll('link.quarto-color-scheme.quarto-color-alternate');
|
|
manageTransitions('#quarto-margin-sidebar .nav-link', false);
|
|
if (alternate) {
|
|
enableStylesheet(alternateStylesheets);
|
|
for (const sheetNode of alternateStylesheets) {
|
|
if (sheetNode.id === "quarto-bootstrap") {
|
|
toggleBodyColorMode(sheetNode);
|
|
}
|
|
}
|
|
} else {
|
|
disableStylesheet(alternateStylesheets);
|
|
toggleBodyColorPrimary();
|
|
}
|
|
manageTransitions('#quarto-margin-sidebar .nav-link', true);
|
|
// Switch the toggles
|
|
const toggles = window.document.querySelectorAll('.quarto-color-scheme-toggle');
|
|
for (let i=0; i < toggles.length; i++) {
|
|
const toggle = toggles[i];
|
|
if (toggle) {
|
|
if (alternate) {
|
|
toggle.classList.add("alternate");
|
|
} else {
|
|
toggle.classList.remove("alternate");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const isFileUrl = () => {
|
|
return window.location.protocol === 'file:';
|
|
}
|
|
const hasAlternateSentinel = () => {
|
|
let styleSentinel = getColorSchemeSentinel();
|
|
if (styleSentinel !== null) {
|
|
return styleSentinel === "alternate";
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
const setStyleSentinel = (alternate) => {
|
|
const value = alternate ? "alternate" : "default";
|
|
if (!isFileUrl()) {
|
|
window.localStorage.setItem("quarto-color-scheme", value);
|
|
} else {
|
|
localAlternateSentinel = value;
|
|
}
|
|
}
|
|
const getColorSchemeSentinel = () => {
|
|
if (!isFileUrl()) {
|
|
const storageValue = window.localStorage.getItem("quarto-color-scheme");
|
|
return storageValue != null ? storageValue : localAlternateSentinel;
|
|
} else {
|
|
return localAlternateSentinel;
|
|
}
|
|
}
|
|
let localAlternateSentinel = 'default';
|
|
// Dark / light mode switch
|
|
window.quartoToggleColorScheme = () => {
|
|
// Read the current dark / light value
|
|
let toAlternate = !hasAlternateSentinel();
|
|
toggleColorMode(toAlternate);
|
|
setStyleSentinel(toAlternate);
|
|
};
|
|
// Ensure there is a toggle, if there isn't float one in the top right
|
|
if (window.document.querySelector('.quarto-color-scheme-toggle') === null) {
|
|
const a = window.document.createElement('a');
|
|
a.classList.add('top-right');
|
|
a.classList.add('quarto-color-scheme-toggle');
|
|
a.href = "";
|
|
a.onclick = function() { try { window.quartoToggleColorScheme(); } catch {} return false; };
|
|
const i = window.document.createElement("i");
|
|
i.classList.add('bi');
|
|
a.appendChild(i);
|
|
window.document.body.appendChild(a);
|
|
}
|
|
// Switch to dark mode if need be
|
|
if (hasAlternateSentinel()) {
|
|
toggleColorMode(true);
|
|
}
|
|
const icon = "";
|
|
const anchorJS = new window.AnchorJS();
|
|
anchorJS.options = {
|
|
placement: 'right',
|
|
icon: icon
|
|
};
|
|
anchorJS.add('.anchored');
|
|
const clipboard = new window.ClipboardJS('.code-copy-button', {
|
|
target: function(trigger) {
|
|
return trigger.previousElementSibling;
|
|
}
|
|
});
|
|
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!");
|
|
setTimeout(function() {
|
|
button.setAttribute("title", currentTitle);
|
|
button.classList.remove('code-copy-button-checked');
|
|
}, 1000);
|
|
// clear code selection
|
|
e.clearSelection();
|
|
});
|
|
function tippyHover(el, contentFn) {
|
|
const config = {
|
|
allowHTML: true,
|
|
content: contentFn,
|
|
maxWidth: 500,
|
|
delay: 100,
|
|
arrow: false,
|
|
appendTo: function(el) {
|
|
return el.parentElement;
|
|
},
|
|
interactive: true,
|
|
interactiveBorder: 10,
|
|
theme: 'quarto',
|
|
placement: 'bottom-start'
|
|
};
|
|
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() {
|
|
let href = ref.getAttribute('href');
|
|
try { href = new URL(href).hash; } catch {}
|
|
const id = href.replace(/^#\/?/, "");
|
|
const note = window.document.getElementById(id);
|
|
return note.innerHTML;
|
|
});
|
|
}
|
|
var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]');
|
|
for (var i=0; i<bibliorefs.length; i++) {
|
|
const ref = bibliorefs[i];
|
|
const cites = ref.parentNode.getAttribute('data-cites').split(' ');
|
|
tippyHover(ref, function() {
|
|
var popup = window.document.createElement('div');
|
|
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;
|
|
});
|
|
}
|
|
var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//);
|
|
var filterRegex = new RegExp(/https:\/\/ilustre\.tools\.lanubia\.com/);
|
|
var isInternal = (href) => {
|
|
return filterRegex.test(href) || localhostRegex.test(href);
|
|
}
|
|
// Inspect non-navigation links and adorn them if external
|
|
var links = window.document.querySelectorAll('a:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external)');
|
|
for (var i=0; i<links.length; i++) {
|
|
const link = links[i];
|
|
if (!isInternal(link.href)) {
|
|
// target, if specified
|
|
link.setAttribute("target", "_blank");
|
|
// default icon
|
|
link.classList.add("external");
|
|
}
|
|
}
|
|
});
|
|
</script>
|
|
</div> <!-- /content -->
|
|
<footer class="footer">
|
|
<div class="nav-footer">
|
|
<div class="nav-footer-center">Copyright 2021-2022, LaNubia Consulting</div>
|
|
</div>
|
|
</footer>
|
|
|
|
|
|
|
|
</body></html>
|