112 lines
3.4 KiB
HTML
112 lines
3.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="description" content="{{ desc }}"/>
|
|
<title>{{ title }}</title>
|
|
<link rel="icon" href="./images/logo.png" />
|
|
<link rel="manifest" href="./manifest.json" />
|
|
<!-- bootstrap -->
|
|
<link
|
|
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
|
|
rel="stylesheet"
|
|
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
|
|
crossorigin="anonymous"
|
|
/>
|
|
<script
|
|
src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"
|
|
></script>
|
|
|
|
<link
|
|
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"
|
|
rel="stylesheet"
|
|
/>
|
|
<script
|
|
src="https://cdnjs.cloudflare.com/ajax/libs/html-to-image/1.11.11/html-to-image.min.js"
|
|
integrity="sha512-7tWCgq9tTYS/QkGVyKrtLpqAoMV9XIUxoou+sPUypsaZx56cYR/qio84fPK9EvJJtKvJEwt7vkn6je5UVzGevw=="
|
|
crossorigin="anonymous"
|
|
referrerpolicy="no-referrer"
|
|
></script>
|
|
<link rel="stylesheet" href="./css/styles.css" />
|
|
<script>
|
|
if ("serviceWorker" in navigator) {
|
|
navigator.serviceWorker.register("./js/service-worker.js");
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="container">
|
|
<div id="init-page">
|
|
</div>
|
|
|
|
<div id="result-page" style="display: none;">
|
|
</div>
|
|
|
|
<div class="row">
|
|
<i
|
|
class="col-2 fas fa-palette"
|
|
id="toggle-theme-button"
|
|
data-bs-toggle="modal"
|
|
data-bs-target="#themeModal"
|
|
></i>
|
|
<button class="col-4 offset-2 bi bi-files" id="btn" onclick="get{{ name }}()">
|
|
Generate
|
|
</button>
|
|
<i
|
|
class="col-2 offset-2 fas fa-clone d-none"
|
|
id="copy-result-button"
|
|
onclick="copyResultImageToClipboard()"
|
|
></i>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Theme Modal -->
|
|
<div
|
|
class="modal fade"
|
|
id="themeModal"
|
|
tabindex="-1"
|
|
aria-labelledby="themeModalLabel"
|
|
aria-hidden="true"
|
|
>
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="themeModalLabel">Choose Theme</h5>
|
|
<button
|
|
type="button"
|
|
class="btn-close"
|
|
data-bs-dismiss="modal"
|
|
aria-label="Close"
|
|
>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body" style="max-height: 70vh; overflow-y: auto">
|
|
<ul class="list-group" id="themeList">
|
|
<!-- Theme items will be dynamically populated here -->
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<canvas id="Matrix"></canvas>
|
|
<script src="./js/scripts.js"></script>
|
|
<script src="./js/{{ name }}.js"></script>
|
|
<script src="./js/matrix.js"></script>
|
|
<script src="./js/theme.js"></script>
|
|
|
|
<script
|
|
src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"
|
|
integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r"
|
|
crossorigin="anonymous"
|
|
></script>
|
|
<script
|
|
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js"
|
|
integrity="sha384-0pUGZvbkm6XF6gxjEnlmuGrJXVbNuzT9qBBavbLwCsOGabYfZo0T0to5eqruptLy"
|
|
crossorigin="anonymous"
|
|
></script>
|
|
</body>
|
|
</html>
|