Files
doc-status/layouts/index.html
Hugo Locurcio 9e2263164f Add a null check when modifying the documentation link
This prevents a runtime error from appearing in the console.
2020-03-23 22:43:03 +01:00

45 lines
1.8 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="author" content="Godot Engine">
<meta name="description" content="View the current completion status of the Godot class reference online.">
<meta name="theme-color" content="#3d8fcc">
<title>{{ .Site.Title }}</title>
<link rel="icon" href="favicon.png">
<link rel="stylesheet" href="main.css">
</head>
<body>
{{ .Content }}
<script>
// Color percentages in the Overall column depending on completion.
// Fully completed documentations are highlighted with a green background.
// Incomplete documentations have a red background whose opacity depends on the
// percentage (lower is more opaque).
document.querySelectorAll('td:nth-child(9)').forEach(td => {
const percentage = Math.floor(td.innerText.substring(0, td.innerText.length - 1));
if (percentage === 100) {
td.style.backgroundColor = 'hsla(120, 100%, 50%, 0.25)';
} else {
td.style.backgroundColor = `hsla(0, 100%, 50%, ${0.334 - percentage / 300.0})`
}
});
document.querySelectorAll('td:last-child').forEach(td => {
const docLink = td.querySelector('a');
if (docLink) {
// Only keep the last fragment and trim the file extension to make the table less wide.
const docLinkSplit = docLink.innerText.split('/');
const finalText = docLinkSplit[docLinkSplit.length - 1].slice(0, -5);
if (finalText.length >= 1) {
// Don't override the Overall link as it's short enough to be displayed in full.
docLink.innerText = finalText;
}
}
});
</script>
</body>
</html>