|
|
<!DOCTYPE html> |
|
|
<html lang="en" class="dark"> |
|
|
<head> |
|
|
<meta charset="utf-8"> |
|
|
<meta name="description" |
|
|
content="Quickly gather all the metadata about a video, playlist, or channel from the YouTube API. Reverse image search thumbnails, geolocate in google maps, and translate ISO country and language codes."> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> |
|
|
<link rel="icon" href="./img/icon.png"> |
|
|
<title>{{ page.title }}</title> |
|
|
|
|
|
<link rel="preconnect" href="//cdn.jsdelivr.net" crossorigin> |
|
|
|
|
|
|
|
|
<link href="//cdn.datatables.net/1.11.3/css/dataTables.bootstrap5.min.css" rel="stylesheet"> |
|
|
<link href="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.3.1/build/styles/stackoverflow-dark.min.css" rel="stylesheet" |
|
|
id="highlightjs-theme"> |
|
|
<link href="//cdn.jsdelivr.net/npm/bootstrap-dark-5@1.1.3/dist/css/bootstrap-nightshade.min.css" rel="stylesheet"> |
|
|
<link href="//cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet"> |
|
|
<link href="./css/youtube-metadata.css?v={{ site.time | date_to_xmlschema }}" rel="stylesheet"/> |
|
|
<script src="//code.jquery.com/jquery-3.6.0.min.js"></script> |
|
|
<script src="//cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script> |
|
|
<script src="//cdn.datatables.net/1.11.3/js/dataTables.bootstrap5.js"></script> |
|
|
<script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.3.1/build/highlight.min.js"></script> |
|
|
<script src="//cdn.jsdelivr.net/npm/apexcharts@3.32.0/dist/apexcharts.min.js"></script> |
|
|
<script src="//cdn.jsdelivr.net/npm/bootstrap-dark-5@1.1.3/dist/js/darkmode.min.js"></script> |
|
|
<script src="//cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script> |
|
|
<script src="//cdn.jsdelivr.net/npm/bootstrap-multiselect@1.1.0/dist/js/bootstrap-multiselect.min.js"></script> |
|
|
<script src="//cdn.jsdelivr.net/npm/clipboard@2.0.8/dist/clipboard.min.js"></script> |
|
|
<script src="//cdn.jsdelivr.net/npm/file-saver@2.0.5/dist/FileSaver.min.js"></script> |
|
|
<script src="//cdn.jsdelivr.net/npm/jszip-utils@0.1.0/dist/jszip-utils.min.js"></script> |
|
|
<script src="//cdn.jsdelivr.net/npm/jszip@3.7.1/dist/jszip.min.js"></script> |
|
|
<script src="//cdn.jsdelivr.net/npm/moment@2.29.4/moment.min.js" type="text/javascript"></script> |
|
|
<script src="//cdn.jsdelivr.net/npm/xregexp@5.1.0/xregexp-all.js"></script> |
|
|
<script src="./js/randojs-2.0.0.js"></script> |
|
|
|
|
|
|
|
|
<script src="./js/iso-639-translator.js?v={{ site.time | date_to_xmlschema }}" type="text/javascript"></script> |
|
|
<script src="./js/iso-3166-translator.js?v={{ site.time | date_to_xmlschema }}" type="text/javascript"></script> |
|
|
<script src="./js/bcp-47-translator.js?v={{ site.time | date_to_xmlschema }}" type="text/javascript"></script> |
|
|
<script src="./js/yt-category-translator.js?v={{ site.time | date_to_xmlschema }}" type="text/javascript"></script> |
|
|
<script src="./js/youtube-api-v3.js?v={{ site.time | date_to_xmlschema }}" type="text/javascript"></script> |
|
|
<script src="./js/youtube-metadata-examples.js?v={{ site.time | date_to_xmlschema }}" type="text/javascript"></script> |
|
|
<script src="./js/shared.js?v={{ site.time | date_to_xmlschema }}" type="text/javascript"></script> |
|
|
<script src="./js/{{ page.script }}.js?v={{ site.time | date_to_xmlschema }}" type="text/javascript"></script> |
|
|
|
|
|
|
|
|
<script defer data-domain="mattw.io" src="https://plausible.io/js/plausible.js"></script> |
|
|
</head> |
|
|
<body> |
|
|
<nav class="navbar navbar-expand-lg navbar-light mb-15" style="border-bottom: 1px solid rgba(127,127,127,0.1);"> |
|
|
<div class="container"> |
|
|
<div class="navbar-brand"> |
|
|
<img src="./img/icon.png" alt="" class="d-inline-block align-text-top"> |
|
|
<span style="padding-left: .75rem;">{{ page.title }}</span> |
|
|
</div> |
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" |
|
|
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> |
|
|
<span class="navbar-toggler-icon"></span> |
|
|
</button> |
|
|
<div class="collapse navbar-collapse" id="navbarSupportedContent"> |
|
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0"> |
|
|
<li class="nav-item"> |
|
|
<a class="nav-link" href="./">Normal</a> |
|
|
</li> |
|
|
<li class="nav-item"> |
|
|
<a class="nav-link" href="./bulk">Bulk</a> |
|
|
</li> |
|
|
</ul> |
|
|
<form class="d-flex"> |
|
|
<div class="form-check form-switch"> |
|
|
<input class="form-check-input" type="checkbox" role="switch" id="darkMode" checked> |
|
|
<label class="form-check-label" for="darkMode">Dark</label> |
|
|
</div> |
|
|
<script> |
|
|
const switchDarkMode = document.querySelector("#darkMode"); |
|
|
switchDarkMode.onclick = function (e) { |
|
|
darkmode.toggleDarkMode(); |
|
|
} |
|
|
window.addEventListener('DOMContentLoaded', () => { |
|
|
if (DarkMode.getColorScheme() === "dark") { |
|
|
console.log(1) |
|
|
switchDarkMode.setAttribute("checked", "checked"); |
|
|
} else { |
|
|
console.log(2) |
|
|
switchDarkMode.removeAttribute("checked"); |
|
|
} |
|
|
}); |
|
|
</script> |
|
|
</form> |
|
|
</div> |
|
|
</div> |
|
|
</nav> |
|
|
{{ content }} |
|
|
<div class="ui container" style="padding-top:3%;padding-bottom:3%;color:darkgray;text-align:center"> |
|
|
<img src="https://developers.google.com/static/youtube/images/developed-with-youtube-sentence-case-light.png" style="width:200px!important"/> |
|
|
<br> |
|
|
mattwright324 | 2023 | <a href="/">home</a> | <a href="https://github.com/mattwright324">github</a> | |
|
|
<a href="https://github.com/mattwright324/youtube-metadata">youtube-metadata</a> |
|
|
<br> |
|
|
<a href="https://github.com/mattwright324/youtube-metadata/blob/master/PRIVACY.md">privacy</a> | |
|
|
<a href="https://github.com/mattwright324/youtube-metadata/blob/master/TERMS.md">terms of use</a> | |
|
|
<a href="/">contact</a> |
|
|
</div> |
|
|
</body> |
|
|
</html> |
|
|
|