forked from zentralwerk/network
pkgs/homepage: init
This commit is contained in:
parent
5b7ef75fa8
commit
bd3e249b1b
|
@ -103,10 +103,14 @@ let
|
|||
vlan-report = import ./vlan-report.nix {
|
||||
inherit self nixpkgs system;
|
||||
};
|
||||
|
||||
homepage = pkgs.callPackage ./homepage {
|
||||
inherit self;
|
||||
};
|
||||
in
|
||||
rootfs-packages // vm-packages // device-templates // openwrt-packages // network-graphs // network-cypher-graphs // starlink // subnetplans // {
|
||||
inherit export-openwrt-models export-config dns-slaves
|
||||
encrypt-secrets decrypt-secrets switch-to-production
|
||||
vlan-report
|
||||
homepage vlan-report
|
||||
;
|
||||
}
|
||||
|
|
52
nix/pkgs/homepage/default.nix
Normal file
52
nix/pkgs/homepage/default.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{ self
|
||||
, system
|
||||
, substituteAll
|
||||
, stdenv
|
||||
, pandoc
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
inherit (self.packages.${system}) network-graphs subnetplans vlan-report;
|
||||
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "zentralwerk-network-homepage";
|
||||
version = self.lastModifiedDate;
|
||||
|
||||
src = ./src;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pandoc
|
||||
];
|
||||
buildPhase = ''
|
||||
pandoc -t html ${../../../doc/hello.md} > index.html
|
||||
pandoc -t html ${vlan-report} > vlan-report.html
|
||||
ln -s ${substituteAll {
|
||||
src = ./figure.html;
|
||||
img = "physical.png";
|
||||
caption = "Physikalische Netzwerkstruktur";
|
||||
}} physical.html
|
||||
ln -s ${substituteAll {
|
||||
src = ./figure.html;
|
||||
img = "logical.png";
|
||||
caption = "Logische Netzwerkstruktur";
|
||||
}} logical.html
|
||||
|
||||
ln -s ${subnetplans}/share/doc/zentralwerk/* .
|
||||
for F in *.html; do
|
||||
cat ${./header.html} "$F" ${./footer.html} > "$F.new"
|
||||
rm "$F"
|
||||
mv "$F.new" "$F"
|
||||
done
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
DIR=$out/share/doc/zentralwerk/www
|
||||
mkdir -p $DIR
|
||||
|
||||
ln -s ${network-graphs}/share/doc/zentralwerk/* $DIR/
|
||||
ln -s ${../../../doc/core.png} $DIR/core.png
|
||||
cp *.{html,css,png,svg} $DIR/
|
||||
'';
|
||||
}
|
4
nix/pkgs/homepage/figure.html
Normal file
4
nix/pkgs/homepage/figure.html
Normal file
|
@ -0,0 +1,4 @@
|
|||
<figure>
|
||||
<img src="@img@" alt="@caption@">
|
||||
<figcaption>@caption@</figcaption>
|
||||
</figure>
|
14
nix/pkgs/homepage/footer.html
Normal file
14
nix/pkgs/homepage/footer.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
</main>
|
||||
|
||||
<footer>
|
||||
<p>
|
||||
<a href="https://gitea.c3d2.de/zentralwerk/network">git</a>
|
||||
vom
|
||||
<a href="https://www.c3d2.de/">C3D2</a>
|
||||
im
|
||||
<a href="https://www.zentralwerk.de/">Zentralwerk</a>
|
||||
</p>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
31
nix/pkgs/homepage/header.html
Normal file
31
nix/pkgs/homepage/header.html
Normal file
|
@ -0,0 +1,31 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de" xml:lang="de">
|
||||
<head>
|
||||
<title>zentralwerk.org</title>
|
||||
<meta charset="utf-8"/>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
|
||||
<meta name="robots" content="index,follow"/>
|
||||
<meta name="description" content="zentralwerk-network"/>
|
||||
<meta name="keywords" content="c3d2 ccc zentralwerk network"/>
|
||||
<meta name="generator" content="zentralwerk-network"/>
|
||||
<meta name="language" content="de"/>
|
||||
<meta name="author" content="Astro"/>
|
||||
<link rel="icon" type="image/png" href="zw.png"/>
|
||||
<link rel="stylesheet" title="Default" type="text/css" href="style.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>zentralwerk-network</h1>
|
||||
<nav>
|
||||
<ul>
|
||||
<li><a href="index.html">Willkommen</a></li>
|
||||
<li><a href="subnetplan4.html">IPv4-Plan</a></li>
|
||||
<li><a href="subnetplan6.html">IPv6-Plan</a></li>
|
||||
<li><a href="vlan-report.html">VLAN-Belegungen</a></li>
|
||||
<li><a href="logical.html">Logische Topologie</a></li>
|
||||
<li><a href="physical.html">Physische Topologie</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main>
|
61
nix/pkgs/homepage/src/background.svg
Normal file
61
nix/pkgs/homepage/src/background.svg
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="1920"
|
||||
height="1080"
|
||||
viewBox="0 0 507.99999 285.75"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||
sodipodi:docname="background.svg"
|
||||
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="#af1f00"
|
||||
bordercolor="#cccccc"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.23657384"
|
||||
inkscape:cx="1470.9995"
|
||||
inkscape:cy="762.97531"
|
||||
inkscape:window-width="1916"
|
||||
inkscape:window-height="1057"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:0.349515;fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#ffff00;stroke-width:1.21295;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path163"
|
||||
inkscape:flatsided="false"
|
||||
sodipodi:sides="48"
|
||||
sodipodi:cx="266.05429"
|
||||
sodipodi:cy="144.57217"
|
||||
sodipodi:r1="179.29391"
|
||||
sodipodi:r2="44.823479"
|
||||
sodipodi:arg1="0.36233915"
|
||||
sodipodi:arg2="0.427789"
|
||||
inkscape:rounded="-2.4286129e-17"
|
||||
inkscape:randomized="0"
|
||||
d="m 433.7067,208.12514 -126.86819,-44.95749 117.13857,66.29681 -119.91468,-61.13249 107.48296,81.01929 -110.9094,-76.26151 95.98829,94.3555 -100.00643,-90.08565 82.85123,106.07726 -87.39232,-102.36842 68.29656,115.98401 -73.28291,-112.89964 52.57333,123.90625 -57.9196,-121.4991 35.95054,129.7084 -41.56528,-128.01968 18.71264,133.29122 -24.49976,-132.34982 1.15456,134.59339 -7.01505,-134.41541 -16.42328,133.59262 10.5897,-134.18111 -33.72012,130.30605 28.01326,-131.65094 -50.43999,124.7899 44.95749,-126.86818 -66.29682,117.13856 61.1325,-119.91468 -81.01929,107.48296 76.2615,-110.9094 -94.3555,95.98829 90.08566,-100.00643 -106.07726,82.85123 102.36842,-87.39232 -115.98401,68.29657 112.89963,-73.28291 -123.90624,52.57332 121.4991,-57.9196 L 94.358103,196.21253 222.37779,154.64726 89.086568,173.35989 221.43638,148.86013 86.843,150.01469 221.2584,142.99964 87.665786,126.57636 221.8469,137.16606 91.54085,103.44594 223.19179,131.4592 98.401887,81.01921 225.27007,125.9767 108.1315,59.679885 228.04618,120.81238 120.56322,39.79309 231.47262,116.0546 135.48433,21.699094 235.49076,111.78475 152.63953,5.7074906 240.03185,108.07591 171.73529,-7.9080994 245.0182,104.99153 192.44487,-18.91471 250.36448,102.58439 214.41393,-27.124014 255.97921,100.89567 237.26657,-32.395549 261.76633,99.954267 260.61178,-34.639117 267.62682,99.776288 284.0501,-33.81633 273.4604,100.36478 307.18052,-29.941267 279.16727,101.70967 329.60725,-23.08023 284.64976,103.78795 350.94658,-13.350614 289.81408,106.56406 370.83338,-0.91889557 294.57187,109.9905 388.92737,14.002216 298.84171,114.00865 404.91897,31.157415 302.55055,118.54974 418.53456,50.253172 305.63493,123.53608 429.54117,70.962754 308.04207,128.88236 437.75048,92.931813 309.73079,134.49709 443.02201,115.78445 310.6722,140.28421 445.26558,139.12966 310.85018,146.1447 444.4428,162.56799 310.26169,151.97829 440.56773,185.6984 308.91679,157.68515 Z"
|
||||
inkscape:transform-center-x="-1.5557927e-05"
|
||||
inkscape:transform-center-y="1.8543187e-05"
|
||||
transform="matrix(3.4901017,0,0,3.4901017,-674.55653,24.83979)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
78
nix/pkgs/homepage/src/style.css
Normal file
78
nix/pkgs/homepage/src/style.css
Normal file
|
@ -0,0 +1,78 @@
|
|||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #AF1F00 url('background.svg') fixed no-repeat center/100%;
|
||||
color: #FFEF00;
|
||||
font-family: sans-serif;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
color: #CF3F1F;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: #AF1F00;
|
||||
}
|
||||
|
||||
header, footer {
|
||||
background-color: #FFEF00;
|
||||
color: #AF1F00;
|
||||
text-align: center;
|
||||
}
|
||||
header {
|
||||
margin: 0 0 3rem;
|
||||
border-bottom: 1rem solid #DFCF00;
|
||||
}
|
||||
header h1 {
|
||||
margin: 0.5rem 0;
|
||||
padding: 0rem 2rem;
|
||||
font-family: serif;
|
||||
}
|
||||
footer {
|
||||
margin: 3rem 0 0;
|
||||
}
|
||||
footer p {
|
||||
margin: 0.3rem 0;
|
||||
}
|
||||
nav ul {
|
||||
margin: 0.3rem 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
nav ul li {
|
||||
display: inline-block;
|
||||
margin: 0 2rem;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
main {
|
||||
min-width: 50vh;
|
||||
max-width: 60rem;
|
||||
margin: 1rem auto;
|
||||
padding: 1.5rem 4rem;
|
||||
background: #FFF;
|
||||
color: #111;
|
||||
border-top: 1rem solid #EFDF00;
|
||||
border-left: 1rem solid #EFDF00;
|
||||
border-right: 1.5rem solid #DFCF00;
|
||||
border-bottom: 1.5rem solid #DFCF00;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
main figure {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
main figure img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
main table {
|
||||
font-size: 75%;
|
||||
}
|
BIN
nix/pkgs/homepage/src/zw.png
Normal file
BIN
nix/pkgs/homepage/src/zw.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
|
@ -3,8 +3,10 @@ with nixpkgs.legacyPackages.${system};
|
|||
let
|
||||
config = self.lib.config;
|
||||
in
|
||||
writeText "vlan-report.txt" (
|
||||
lib.concatMapStrings (net: ''
|
||||
writeText "vlan-report.md" ''
|
||||
# VLAN Report
|
||||
|
||||
${lib.concatMapStrings (net: ''
|
||||
## ${net}${lib.optionalString (config.site.net.${net}.vlan != null) " (VLAN ${toString config.site.net.${net}.vlan})"}
|
||||
${lib.concatStringsSep "\n" (
|
||||
lib.concatMap (host:
|
||||
|
@ -18,5 +20,5 @@ writeText "vlan-report.txt" (
|
|||
) (lib.attrNames config.site.hosts)
|
||||
)}
|
||||
|
||||
'') (lib.attrNames config.site.net)
|
||||
)
|
||||
'') (lib.attrNames config.site.net)}
|
||||
''
|
||||
|
|
Loading…
Reference in New Issue
Block a user