add favicon
Some checks are pending
continuous-integration/laminar-eldarion Build failed with exit code 128 after 1 second
Some checks are pending
continuous-integration/laminar-eldarion Build failed with exit code 128 after 1 second
This commit is contained in:
parent
3d777d0de1
commit
580545dd3d
5 changed files with 147 additions and 2 deletions
BIN
favicon.png
Normal file
BIN
favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
121
favicon.svg
Normal file
121
favicon.svg
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="152.08279mm"
|
||||||
|
height="152.08279mm"
|
||||||
|
viewBox="0 0 152.0828 152.08279"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
inkscape:version="1.2.2 (1:1.2.2+202212051552+b0a8486541)"
|
||||||
|
sodipodi:docname="favicon.svg"
|
||||||
|
inkscape:export-filename="favicon.png"
|
||||||
|
inkscape:export-xdpi="171.02264"
|
||||||
|
inkscape:export-ydpi="171.02264"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.77147867"
|
||||||
|
inkscape:cx="372.01288"
|
||||||
|
inkscape:cy="307.20227"
|
||||||
|
inkscape:window-width="1839"
|
||||||
|
inkscape:window-height="1056"
|
||||||
|
inkscape:window-x="81"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" />
|
||||||
|
<defs
|
||||||
|
id="defs2" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-43.57888,-132.2594)">
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-opacity:0.800554;stroke:#414f65;stroke-width:21.29999989;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
d="M 28.394409,257.97766 H 83.302658 L 141.48023,199.80009 V 124.72462"
|
||||||
|
id="path593" />
|
||||||
|
<g
|
||||||
|
id="g870"
|
||||||
|
transform="translate(-11.201123)">
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#414f65;stroke-width:13.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
d="M 150.54512,153.4599 H 121.80514"
|
||||||
|
id="path6498-5" />
|
||||||
|
<circle
|
||||||
|
style="fill:#fd7a05;fill-opacity:1;stroke:none;stroke-width:18.3649;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
id="path2707"
|
||||||
|
cx="106.59633"
|
||||||
|
cy="153.4599"
|
||||||
|
r="18.37009" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g866"
|
||||||
|
transform="translate(-13.351925,0.05290938)">
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#414f65;stroke-width:13.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
d="M 181.8927,175.46611 H 153.15272"
|
||||||
|
id="path6498" />
|
||||||
|
<circle
|
||||||
|
style="fill:#f19208;fill-opacity:1;stroke:none;stroke-width:18.3649;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
id="path2707-3"
|
||||||
|
cx="188.49271"
|
||||||
|
cy="175.46611"
|
||||||
|
r="18.37009" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g862"
|
||||||
|
transform="translate(-11.201123)">
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#414f65;stroke-width:13.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
d="M 135.77613,258.21735 115.45389,237.89511"
|
||||||
|
id="path6498-5-3-5" />
|
||||||
|
<circle
|
||||||
|
style="fill:#729307;fill-opacity:1;stroke:none;stroke-width:18.3649;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
id="path2707-6"
|
||||||
|
cx="140.18979"
|
||||||
|
cy="263.82999"
|
||||||
|
r="18.37009" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g858"
|
||||||
|
transform="translate(-11.201123)">
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#414f65;stroke-width:13.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
d="M 127.15682,220.81135 106.83458,200.48911"
|
||||||
|
id="path6498-5-3" />
|
||||||
|
<circle
|
||||||
|
style="fill:#ee4c2c;fill-opacity:1;stroke:none;stroke-width:18.3649;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
id="path2707-7"
|
||||||
|
cx="104.53458"
|
||||||
|
cy="195.67751"
|
||||||
|
r="18.37009" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g854"
|
||||||
|
transform="translate(-11.201123)">
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#414f65;stroke-width:13.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
d="M 77.226446,258.21735 V 229.47737"
|
||||||
|
id="path6498-5-1" />
|
||||||
|
<circle
|
||||||
|
style="fill:#351c60;fill-opacity:1;stroke:none;stroke-width:18.3649;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
id="path2707-7-6"
|
||||||
|
cx="77.226448"
|
||||||
|
cy="225.02669"
|
||||||
|
r="18.37009" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 4.9 KiB |
|
@ -66,4 +66,10 @@ textarea, input, #output-graph {
|
||||||
footer {
|
footer {
|
||||||
grid-area: footer;
|
grid-area: footer;
|
||||||
margin: 1em 1em 0.5em 1em;
|
margin: 1em 1em 0.5em 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
max-width: 1.25em;
|
||||||
|
vertical-align: middle;
|
||||||
}
|
}
|
|
@ -9,6 +9,11 @@ import esbuild from 'esbuild';
|
||||||
const __dirname = import.meta.url.slice(7, import.meta.url.lastIndexOf("/"));
|
const __dirname = import.meta.url.slice(7, import.meta.url.lastIndexOf("/"));
|
||||||
const outdir = path.resolve(__dirname, "../dist");
|
const outdir = path.resolve(__dirname, "../dist");
|
||||||
|
|
||||||
|
const copy = [
|
||||||
|
"../favicon.png",
|
||||||
|
"../favicon.svg",
|
||||||
|
]
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hashes the contents of a file.
|
* Hashes the contents of a file.
|
||||||
* @ref https://stackoverflow.com/a/44643479/1460422
|
* @ref https://stackoverflow.com/a/44643479/1460422
|
||||||
|
@ -34,7 +39,7 @@ async function do_html() {
|
||||||
let algorithm = "sha256";
|
let algorithm = "sha256";
|
||||||
let css_hash = await hash_file(algorithm, path.join(outdir, "app.css"));
|
let css_hash = await hash_file(algorithm, path.join(outdir, "app.css"));
|
||||||
let js_hash = await hash_file(algorithm, path.join(outdir, "app.js"));
|
let js_hash = await hash_file(algorithm, path.join(outdir, "app.js"));
|
||||||
|
|
||||||
let html = (await fs.promises.readFile(path.join(__dirname, "index.html"), "utf-8"))
|
let html = (await fs.promises.readFile(path.join(__dirname, "index.html"), "utf-8"))
|
||||||
.replace(/\{JS_HASH\}/g, js_hash)
|
.replace(/\{JS_HASH\}/g, js_hash)
|
||||||
.replace(/\{CSS_HASH\}/g, css_hash)
|
.replace(/\{CSS_HASH\}/g, css_hash)
|
||||||
|
@ -43,6 +48,13 @@ async function do_html() {
|
||||||
.replace(/\{ALGO\}/g, algorithm);
|
.replace(/\{ALGO\}/g, algorithm);
|
||||||
|
|
||||||
await fs.promises.writeFile(path.join(outdir, "index.html"), html);
|
await fs.promises.writeFile(path.join(outdir, "index.html"), html);
|
||||||
|
|
||||||
|
for (const filepath of copy) {
|
||||||
|
await fs.promises.copyFile(
|
||||||
|
path.join(__dirname, filepath),
|
||||||
|
path.join(outdir, path.basename(filepath))
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
|
|
|
@ -3,9 +3,15 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<title>Tensorflow Summary Visualisation</title>
|
<title>Tensorflow Summary Visualisation</title>
|
||||||
|
|
||||||
|
<link rel="icon" href="./favicon.png" type="image/png" />
|
||||||
|
<link rel="icon" href="./favicon.svg" type="image/svg+xml" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>Tensorflow Summary Visualisation</h1>
|
<h1>
|
||||||
|
<img class="icon" src="./favicon.svg" alt="tfsummaryvis icon" aria-hidden="hidden" />
|
||||||
|
Tensorflow Summary Visualisation
|
||||||
|
</h1>
|
||||||
|
|
||||||
<textarea name="input-summary" id="input-summary" placeholder="Paste a tensorflow summary here"></textarea>
|
<textarea name="input-summary" id="input-summary" placeholder="Paste a tensorflow summary here"></textarea>
|
||||||
<div id="output-graph"></div>
|
<div id="output-graph"></div>
|
||||||
|
|
Loading…
Reference in a new issue