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 {
|
||||
grid-area: footer;
|
||||
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 outdir = path.resolve(__dirname, "../dist");
|
||||
|
||||
const copy = [
|
||||
"../favicon.png",
|
||||
"../favicon.svg",
|
||||
]
|
||||
|
||||
/**
|
||||
* Hashes the contents of a file.
|
||||
* @ref https://stackoverflow.com/a/44643479/1460422
|
||||
|
@ -34,7 +39,7 @@ async function do_html() {
|
|||
let algorithm = "sha256";
|
||||
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 html = (await fs.promises.readFile(path.join(__dirname, "index.html"), "utf-8"))
|
||||
.replace(/\{JS_HASH\}/g, js_hash)
|
||||
.replace(/\{CSS_HASH\}/g, css_hash)
|
||||
|
@ -43,6 +48,13 @@ async function do_html() {
|
|||
.replace(/\{ALGO\}/g, algorithm);
|
||||
|
||||
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 () => {
|
||||
|
|
|
@ -3,9 +3,15 @@
|
|||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<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>
|
||||
<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>
|
||||
<div id="output-graph"></div>
|
||||
|
|
Loading…
Reference in a new issue