mylloon.fr/templates/portfolio/index.html
Mylloon cedb2e0e4c
Some checks are pending
ci/woodpecker/push/publish Pipeline is pending
fix the propagation of links
2024-01-19 12:20:18 +01:00

80 lines
2.1 KiB
HTML

<!DOCTYPE html>
<html lang="fr">
<head dir="ltr">
{{>head.html}}
<link rel="stylesheet" href="/css/portfolio.css" />
<link rel="stylesheet" href="/css/languages.css" />
</head>
<body>
<header>{{>navbar.html}}</header>
<main>
{{#data}}
<h1>Portfolio</h1>
<p>
Je programme depuis 2018 et j'ai appris une multitude de langages
depuis. Étant passionné de logiciels libres depuis que je m'y intéresse,
je publie tout sur des forges publiques.
</p>
{{#location_apps}}
<!-- Error message -->
<p>{{location_apps}} {{err_msg}}</p>
{{/location_apps}} {{^location_apps}}
<h2>Projets</h2>
<ul>
{{#apps}} {{>portfolio/card.html}} {{/apps}}
</ul>
{{#archived_apps_exists}}
<h2>Archives</h2>
<ul>
{{#archived_apps}} {{>portfolio/card.html}} {{/archived_apps}}
</ul>
{{/archived_apps_exists}} {{/location_apps}} {{/data}}
</main>
<script>
/* Fix links in list */
window.addEventListener("load", () =>
document.querySelectorAll("main a").forEach(function (link) {
link.setAttribute("target", "_blank");
link.setAttribute("rel", "noreferrer");
link.addEventListener("mousedown", function (event) {
event.stopPropagation();
});
})
);
/* Open cards link */
const openLink = (url) => {
const backgroundtab = () =>
Object.assign(document.createElement("a"), {
href: url,
target: "_blank",
rel: "noreferrer",
}).dispatchEvent(
new MouseEvent("click", { ctrlKey: true, metaKey: true })
);
switch (event.button) {
case 0:
/* Left click */
if (event.ctrlKey || event.metaKey) {
backgroundtab();
} else {
window.open(url, "_blank", "noreferrer");
}
break;
case 1:
/* Middle click */
backgroundtab();
break;
default:
break;
}
};
</script>
</body>
</html>