pkgs/homepage: init
This commit is contained in:
parent
5b7ef75fa8
commit
bd3e249b1b
|
@ -103,10 +103,14 @@ let
|
||||||
vlan-report = import ./vlan-report.nix {
|
vlan-report = import ./vlan-report.nix {
|
||||||
inherit self nixpkgs system;
|
inherit self nixpkgs system;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
homepage = pkgs.callPackage ./homepage {
|
||||||
|
inherit self;
|
||||||
|
};
|
||||||
in
|
in
|
||||||
rootfs-packages // vm-packages // device-templates // openwrt-packages // network-graphs // network-cypher-graphs // starlink // subnetplans // {
|
rootfs-packages // vm-packages // device-templates // openwrt-packages // network-graphs // network-cypher-graphs // starlink // subnetplans // {
|
||||||
inherit export-openwrt-models export-config dns-slaves
|
inherit export-openwrt-models export-config dns-slaves
|
||||||
encrypt-secrets decrypt-secrets switch-to-production
|
encrypt-secrets decrypt-secrets switch-to-production
|
||||||
vlan-report
|
homepage vlan-report
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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/
|
||||||
|
'';
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
<figure>
|
||||||
|
<img src="@img@" alt="@caption@">
|
||||||
|
<figcaption>@caption@</figcaption>
|
||||||
|
</figure>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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 |
|
@ -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%;
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
|
@ -3,8 +3,10 @@ with nixpkgs.legacyPackages.${system};
|
||||||
let
|
let
|
||||||
config = self.lib.config;
|
config = self.lib.config;
|
||||||
in
|
in
|
||||||
writeText "vlan-report.txt" (
|
writeText "vlan-report.md" ''
|
||||||
lib.concatMapStrings (net: ''
|
# VLAN Report
|
||||||
|
|
||||||
|
${lib.concatMapStrings (net: ''
|
||||||
## ${net}${lib.optionalString (config.site.net.${net}.vlan != null) " (VLAN ${toString config.site.net.${net}.vlan})"}
|
## ${net}${lib.optionalString (config.site.net.${net}.vlan != null) " (VLAN ${toString config.site.net.${net}.vlan})"}
|
||||||
${lib.concatStringsSep "\n" (
|
${lib.concatStringsSep "\n" (
|
||||||
lib.concatMap (host:
|
lib.concatMap (host:
|
||||||
|
@ -18,5 +20,5 @@ writeText "vlan-report.txt" (
|
||||||
) (lib.attrNames config.site.hosts)
|
) (lib.attrNames config.site.hosts)
|
||||||
)}
|
)}
|
||||||
|
|
||||||
'') (lib.attrNames config.site.net)
|
'') (lib.attrNames config.site.net)}
|
||||||
)
|
''
|
||||||
|
|
Loading…
Reference in New Issue