Fixing various css problems.
parent
7433e20e01
commit
b8c9f03288
|
@ -1,6 +1,6 @@
|
|||
[tech.ingolf-wagner.de](https://tech.ingolf-wagner.de) source code.
|
||||
|
||||
```
|
||||
rake run_server
|
||||
rake publish
|
||||
nix run # to run local server
|
||||
nix run ".#publish" # to publish site
|
||||
```
|
|
@ -1,69 +1,350 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg viewBox="0 0 608 588" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs id="defs_block">
|
||||
<filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
|
||||
<feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
|
||||
</filter>
|
||||
</defs>
|
||||
<title>blockdiag</title>
|
||||
<desc>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
viewBox="0 0 592.06694 460.41859"
|
||||
version="1.1"
|
||||
id="svg60567"
|
||||
sodipodi:docname="2subnets.svg"
|
||||
width="156.65105mm"
|
||||
height="121.81908mm"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<sodipodi:namedview
|
||||
id="namedview60569"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
units="mm"
|
||||
lock-margins="true"
|
||||
fit-margin-top="1.5"
|
||||
fit-margin-left="1.5"
|
||||
fit-margin-right="1.5"
|
||||
fit-margin-bottom="1.5"
|
||||
inkscape:zoom="1.9013605"
|
||||
inkscape:cx="175.66369"
|
||||
inkscape:cy="202.22361"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1440"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg60567"
|
||||
inkscape:document-units="mm" />
|
||||
<defs
|
||||
id="defs_block" />
|
||||
<title
|
||||
id="title60489">blockdiag</title>
|
||||
<desc
|
||||
id="desc60491">
|
||||
nwdiag {
|
||||
|
||||
internet [shape = cloud];
|
||||
|
||||
internet -- Gibson [address = "my.awesome.dns.com"]
|
||||
internet -- Gibson [address = "my.awesome.dns.com"]
|
||||
|
||||
network private {
|
||||
address = "10.1.1.0/24";
|
||||
address = "10.1.1.0/24";
|
||||
|
||||
Gibson [address = "10.1.1.1"];
|
||||
Hackbardt [address = "10.1.1.2"];
|
||||
HAL [address = "10.1.1.3"];
|
||||
Gibson [address = "10.1.1.1"];
|
||||
Hackbardt [address = "10.1.1.2"];
|
||||
HAL [address = "10.1.1.3"];
|
||||
}
|
||||
|
||||
network "private (subnet)" {
|
||||
Hackbardt [address = "10.2.2.0/24"];
|
||||
HAL [address = "10.2.3.0/24"];
|
||||
network "private (subnet)" {
|
||||
Hackbardt [address = "10.2.2.0/24"];
|
||||
HAL [address = "10.2.3.0/24"];
|
||||
}
|
||||
|
||||
}
|
||||
</desc>
|
||||
<path d="M 171 178 A16,8 0 0 1 187 170 A16,6 0 0 1 227 170 A16,8 0 0 1 243 178 A16,8 0 0 1 243 194 A16,20 0 0 1 219 194 A16,20 0 0 1 195 194 A16,20 0 0 1 171 194 A16,8 0 0 1 171 178" fill="rgb(0,0,0)" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
|
||||
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="155" y="306" />
|
||||
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="307" y="450" />
|
||||
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="459" y="450" />
|
||||
<path d="M 131 391 L 587 391 A2,4 0 0 1 587 399 L 131 399 A2,4 0 0 1 131 391" fill="rgb(0,0,0)" style="filter:url(#filter_blur)" />
|
||||
<path d="M 283 535 L 587 535 A2,4 0 0 1 587 543 L 283 543 A2,4 0 0 1 283 535" fill="rgb(0,0,0)" style="filter:url(#filter_blur)" />
|
||||
<path d="M 128 388 L 584 388 A2,4 0 0 1 584 396 L 128 396 A2,4 0 0 1 128 388" fill="rgb(185,203,228)" stroke="rgb(0,0,0)" />
|
||||
<path d="M 584 396 A2,4 0 0 1 584 388" fill="none" stroke="rgb(0,0,0)" />
|
||||
<path d="M 128 388 L 584 388" fill="none" stroke="none" />
|
||||
<path d="M 280 532 L 584 532 A2,4 0 0 1 584 540 L 280 540 A2,4 0 0 1 280 532" fill="rgb(185,203,228)" stroke="rgb(0,0,0)" />
|
||||
<path d="M 584 540 A2,4 0 0 1 584 532" fill="none" stroke="rgb(0,0,0)" />
|
||||
<path d="M 280 532 L 584 532" fill="none" stroke="none" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="42" x="99.0" y="391">private</text>
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="87.0" y="404">10.1.1.0/24</text>
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="218.0" y="542">"private (subnet)"</text>
|
||||
<path d="M 204 104 L 204 156" fill="none" stroke="rgb(0,0,0)" />
|
||||
<path d="M 204 196 L 204 248" fill="none" stroke="rgb(0,0,0)" />
|
||||
<path d="M 168 172 A16,8 0 0 1 184 164 A16,6 0 0 1 224 164 A16,8 0 0 1 240 172 A16,8 0 0 1 240 188 A16,20 0 0 1 216 188 A16,20 0 0 1 192 188 A16,20 0 0 1 168 188 A16,8 0 0 1 168 172" fill="rgb(255,255,255)" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="204.0" y="182">internet</text>
|
||||
<path d="M 204 248 L 204 300" fill="none" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="270.0" y="280">my.awesome.dns.com</text>
|
||||
<path d="M 204 340 L 204 388" fill="none" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="240.0" y="368">10.1.1.1</text>
|
||||
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="152" y="300" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="204.0" y="326">Gibson</text>
|
||||
<path d="M 356 396 L 356 444" fill="none" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="392.0" y="424">10.1.1.2</text>
|
||||
<path d="M 356 484 L 356 532" fill="none" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="401.0" y="512">10.2.2.0/24</text>
|
||||
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="304" y="444" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="54" x="356.0" y="470">Hackbardt</text>
|
||||
<path d="M 508 396 L 508 444" fill="none" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="544.0" y="424">10.1.1.3</text>
|
||||
<path d="M 508 484 L 508 532" fill="none" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="553.0" y="512">10.2.3.0/24</text>
|
||||
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="456" y="444" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="18" x="508.0" y="470">HAL</text>
|
||||
<path
|
||||
d="M 78.601518,289.66929 H 534.60152 a 2,4 0 0 1 0,8 H 78.601518 a 2,4 0 0 1 0,-8"
|
||||
fill="#b9cbe4"
|
||||
stroke="#000000"
|
||||
id="path60505" />
|
||||
<path
|
||||
d="m 534.60152,297.66929 a 2,4 0 0 1 0,-8"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60507" />
|
||||
<path
|
||||
d="M 78.601518,289.66929 H 534.60152"
|
||||
fill="none"
|
||||
stroke="none"
|
||||
id="path60509" />
|
||||
<path
|
||||
d="m 230.60152,433.66929 h 304 a 2,4 0 0 1 0,8 h -304 a 2,4 0 0 1 0,-8"
|
||||
fill="#b9cbe4"
|
||||
stroke="#000000"
|
||||
id="path60511" />
|
||||
<path
|
||||
d="m 534.60152,441.66929 a 2,4 0 0 1 0,-8"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60513" />
|
||||
<path
|
||||
d="m 230.60152,433.66929 h 304"
|
||||
fill="none"
|
||||
stroke="none"
|
||||
id="path60515" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="42"
|
||||
x="99"
|
||||
y="391"
|
||||
id="text60517"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">private</text>
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="66"
|
||||
x="87"
|
||||
y="404"
|
||||
id="text60519"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">10.1.1.0/24</text>
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="108"
|
||||
x="218"
|
||||
y="542"
|
||||
id="text60521"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">"private (subnet)"</text>
|
||||
<path
|
||||
d="M 154.60152,5.6692913 V 57.669291"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60523" />
|
||||
<path
|
||||
d="M 154.60152,97.669291 V 149.66929"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60525" />
|
||||
<path
|
||||
d="m 118.60152,73.669291 a 16,8 0 0 1 16,-8 20,7.5 0 0 1 40,0 16,8 0 0 1 16,8 16,8 0 0 1 0,16 16,20 0 0 1 -24,0 16,20 0 0 1 -24,0 16,20 0 0 1 -24,0 16,8 0 0 1 0,-16"
|
||||
fill="#ffffff"
|
||||
stroke="#000000"
|
||||
id="path60527"
|
||||
style="fill:none" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="48"
|
||||
x="204"
|
||||
y="182"
|
||||
id="text60529"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">internet</text>
|
||||
<path
|
||||
d="m 154.60152,149.66929 v 52"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60531" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="108"
|
||||
x="270"
|
||||
y="280"
|
||||
id="text60533"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">my.awesome.dns.com</text>
|
||||
<path
|
||||
d="m 154.60152,241.66929 v 48"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60535" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="48"
|
||||
x="240"
|
||||
y="368"
|
||||
id="text60537"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">10.1.1.1</text>
|
||||
<rect
|
||||
fill="#ffffff"
|
||||
height="40"
|
||||
stroke="#000000"
|
||||
width="104"
|
||||
x="102.60152"
|
||||
y="201.6693"
|
||||
id="rect60539"
|
||||
style="fill:none" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="36"
|
||||
x="204"
|
||||
y="326"
|
||||
id="text60541"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">Gibson</text>
|
||||
<path
|
||||
d="m 306.60152,297.66929 v 48"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60543" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="48"
|
||||
x="392"
|
||||
y="424"
|
||||
id="text60545"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">10.1.1.2</text>
|
||||
<path
|
||||
d="m 306.60152,385.66929 v 48"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60547" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="66"
|
||||
x="401"
|
||||
y="512"
|
||||
id="text60549"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">10.2.2.0/24</text>
|
||||
<rect
|
||||
fill="#ffffff"
|
||||
height="40"
|
||||
stroke="#000000"
|
||||
width="104"
|
||||
x="254.60152"
|
||||
y="345.66928"
|
||||
id="rect60551"
|
||||
style="fill:none" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="54"
|
||||
x="356"
|
||||
y="470"
|
||||
id="text60553"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">Hackbardt</text>
|
||||
<path
|
||||
d="m 458.60152,297.66929 v 48"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60555" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="48"
|
||||
x="544"
|
||||
y="424"
|
||||
id="text60557"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">10.1.1.3</text>
|
||||
<path
|
||||
d="m 458.60152,385.66929 v 48"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60559" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="66"
|
||||
x="553"
|
||||
y="512"
|
||||
id="text60561"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">10.2.3.0/24</text>
|
||||
<rect
|
||||
fill="#ffffff"
|
||||
height="40"
|
||||
stroke="#000000"
|
||||
width="104"
|
||||
x="406.60153"
|
||||
y="345.66928"
|
||||
id="rect60563"
|
||||
style="fill:none" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="18"
|
||||
x="508"
|
||||
y="470"
|
||||
id="text60565"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">HAL</text>
|
||||
<metadata
|
||||
id="metadata60640">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:title>blockdiag</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 8.5 KiB |
|
@ -1,55 +1,281 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg viewBox="0 0 608 588" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs id="defs_block">
|
||||
<filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
|
||||
<feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
|
||||
</filter>
|
||||
</defs>
|
||||
<title>blockdiag</title>
|
||||
<desc>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
viewBox="0 0 592.06694 447.73858"
|
||||
version="1.1"
|
||||
id="svg60634"
|
||||
sodipodi:docname="3computers.svg"
|
||||
width="156.65105mm"
|
||||
height="118.46416mm"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
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"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<sodipodi:namedview
|
||||
id="namedview60636"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
lock-margins="true"
|
||||
units="mm"
|
||||
fit-margin-top="1.5"
|
||||
fit-margin-left="1.5"
|
||||
fit-margin-right="1.5"
|
||||
fit-margin-bottom="1.5"
|
||||
inkscape:zoom="1.9013605"
|
||||
inkscape:cx="274.54025"
|
||||
inkscape:cy="212.7424"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1440"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg60634"
|
||||
inkscape:document-units="mm" />
|
||||
<defs
|
||||
id="defs_block" />
|
||||
<title
|
||||
id="title60574">blockdiag</title>
|
||||
<desc
|
||||
id="desc60576">
|
||||
nwdiag {
|
||||
|
||||
internet [shape = cloud];
|
||||
|
||||
internet -- Gibson [address = "my.awesome.dns.com"]
|
||||
internet -- Gibson [address = "my.awesome.dns.com"]
|
||||
|
||||
network private {
|
||||
address = "10.1.1.0/24";
|
||||
address = "10.1.1.0/24";
|
||||
|
||||
Gibson [address = "10.1.1.1"];
|
||||
Hackbardt [address = "10.1.1.2"];
|
||||
HAL [address = "10.1.1.3"];
|
||||
Gibson [address = "10.1.1.1"];
|
||||
Hackbardt [address = "10.1.1.2"];
|
||||
HAL [address = "10.1.1.3"];
|
||||
}
|
||||
|
||||
}
|
||||
</desc>
|
||||
<path d="M 171 178 A16,8 0 0 1 187 170 A16,6 0 0 1 227 170 A16,8 0 0 1 243 178 A16,8 0 0 1 243 194 A16,20 0 0 1 219 194 A16,20 0 0 1 195 194 A16,20 0 0 1 171 194 A16,8 0 0 1 171 178" fill="rgb(0,0,0)" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
|
||||
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="155" y="306" />
|
||||
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="307" y="450" />
|
||||
<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="104" x="459" y="450" />
|
||||
<path d="M 131 391 L 587 391 A2,4 0 0 1 587 399 L 131 399 A2,4 0 0 1 131 391" fill="rgb(0,0,0)" style="filter:url(#filter_blur)" />
|
||||
<path d="M 128 388 L 584 388 A2,4 0 0 1 584 396 L 128 396 A2,4 0 0 1 128 388" fill="rgb(185,203,228)" stroke="rgb(0,0,0)" />
|
||||
<path d="M 584 396 A2,4 0 0 1 584 388" fill="none" stroke="rgb(0,0,0)" />
|
||||
<path d="M 128 388 L 584 388" fill="none" stroke="none" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="42" x="99.0" y="391">private</text>
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="66" x="87.0" y="404">10.1.1.0/24</text>
|
||||
<path d="M 204 104 L 204 156" fill="none" stroke="rgb(0,0,0)" />
|
||||
<path d="M 204 196 L 204 248" fill="none" stroke="rgb(0,0,0)" />
|
||||
<path d="M 168 172 A16,8 0 0 1 184 164 A16,6 0 0 1 224 164 A16,8 0 0 1 240 172 A16,8 0 0 1 240 188 A16,20 0 0 1 216 188 A16,20 0 0 1 192 188 A16,20 0 0 1 168 188 A16,8 0 0 1 168 172" fill="rgb(255,255,255)" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="204.0" y="182">internet</text>
|
||||
<path d="M 204 248 L 204 300" fill="none" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="108" x="270.0" y="280">my.awesome.dns.com</text>
|
||||
<path d="M 204 340 L 204 388" fill="none" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="240.0" y="368">10.1.1.1</text>
|
||||
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="152" y="300" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="36" x="204.0" y="326">Gibson</text>
|
||||
<path d="M 356 396 L 356 444" fill="none" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="392.0" y="424">10.1.1.2</text>
|
||||
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="304" y="444" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="54" x="356.0" y="470">Hackbardt</text>
|
||||
<path d="M 508 396 L 508 444" fill="none" stroke="rgb(0,0,0)" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="544.0" y="424">10.1.1.3</text>
|
||||
<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="104" x="456" y="444" />
|
||||
<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="18" x="508.0" y="470">HAL</text>
|
||||
<path
|
||||
d="M 78.601518,289.66929 H 534.60152 a 2,4 0 0 1 0,8 H 78.601518 a 2,4 0 0 1 0,-8"
|
||||
fill="#b9cbe4"
|
||||
stroke="#000000"
|
||||
id="path60588" />
|
||||
<path
|
||||
d="m 534.60152,297.66929 a 2,4 0 0 1 0,-8"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60590" />
|
||||
<path
|
||||
d="M 78.601518,289.66929 H 534.60152"
|
||||
fill="none"
|
||||
stroke="none"
|
||||
id="path60592" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="42"
|
||||
x="99"
|
||||
y="391"
|
||||
id="text60594"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">private</text>
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="66"
|
||||
x="87"
|
||||
y="404"
|
||||
id="text60596"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">10.1.1.0/24</text>
|
||||
<path
|
||||
d="M 154.60152,5.6692913 V 57.669291"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60598" />
|
||||
<path
|
||||
d="M 154.60152,97.669291 V 149.66929"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60600" />
|
||||
<path
|
||||
d="m 118.60152,73.669291 a 16,8 0 0 1 16,-8 20,7.5 0 0 1 40,0 16,8 0 0 1 16,8 16,8 0 0 1 0,16 16,20 0 0 1 -24,0 16,20 0 0 1 -24,0 16,20 0 0 1 -24,0 16,8 0 0 1 0,-16"
|
||||
fill="#ffffff"
|
||||
stroke="#000000"
|
||||
id="path60602"
|
||||
style="fill:none" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="48"
|
||||
x="204"
|
||||
y="182"
|
||||
id="text60604"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">internet</text>
|
||||
<path
|
||||
d="m 154.60152,149.66929 v 52"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60606" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="108"
|
||||
x="270"
|
||||
y="280"
|
||||
id="text60608"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">my.awesome.dns.com</text>
|
||||
<path
|
||||
d="m 154.60152,241.66929 v 48"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60610" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="48"
|
||||
x="240"
|
||||
y="368"
|
||||
id="text60612"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">10.1.1.1</text>
|
||||
<rect
|
||||
fill="#ffffff"
|
||||
height="40"
|
||||
stroke="#000000"
|
||||
width="104"
|
||||
x="102.60152"
|
||||
y="201.6693"
|
||||
id="rect60614"
|
||||
style="fill:none" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="36"
|
||||
x="204"
|
||||
y="326"
|
||||
id="text60616"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">Gibson</text>
|
||||
<path
|
||||
d="m 306.60152,297.66929 v 48"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60618" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="48"
|
||||
x="392"
|
||||
y="424"
|
||||
id="text60620"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">10.1.1.2</text>
|
||||
<rect
|
||||
fill="#ffffff"
|
||||
height="40"
|
||||
stroke="#000000"
|
||||
width="104"
|
||||
x="254.60152"
|
||||
y="345.66928"
|
||||
id="rect60622"
|
||||
style="fill:none" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="54"
|
||||
x="356"
|
||||
y="470"
|
||||
id="text60624"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">Hackbardt</text>
|
||||
<path
|
||||
d="m 458.60152,297.66929 v 48"
|
||||
fill="none"
|
||||
stroke="#000000"
|
||||
id="path60626" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="48"
|
||||
x="544"
|
||||
y="424"
|
||||
id="text60628"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">10.1.1.3</text>
|
||||
<rect
|
||||
fill="#ffffff"
|
||||
height="40"
|
||||
stroke="#000000"
|
||||
width="104"
|
||||
x="406.60153"
|
||||
y="345.66928"
|
||||
id="rect60630"
|
||||
style="fill:none" />
|
||||
<text
|
||||
fill="#000000"
|
||||
font-family="sans-serif"
|
||||
font-size="11px"
|
||||
font-style="normal"
|
||||
font-weight="normal"
|
||||
text-anchor="middle"
|
||||
textLength="18"
|
||||
x="508"
|
||||
y="470"
|
||||
id="text60632"
|
||||
lengthAdjust="spacing"
|
||||
transform="translate(-49.398482,-98.330709)">HAL</text>
|
||||
<metadata
|
||||
id="metadata60638">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:title>blockdiag</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 6.8 KiB |
|
@ -0,0 +1,254 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="163.95656mm"
|
||||
height="85.695374mm"
|
||||
viewBox="0 0 163.95656 85.695374"
|
||||
version="1.1"
|
||||
id="svg26511"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="qemu-kvm-setup.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="namedview26513"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="2.8170388"
|
||||
inkscape:cx="372.02185"
|
||||
inkscape:cy="119.80666"
|
||||
inkscape:window-width="2556"
|
||||
inkscape:window-height="1436"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer3"
|
||||
lock-margins="true"
|
||||
fit-margin-top="1.5"
|
||||
fit-margin-left="1.5"
|
||||
fit-margin-right="1.5"
|
||||
fit-margin-bottom="1.5" />
|
||||
<defs
|
||||
id="defs26508">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Lend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path26692" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker26957"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path26955" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path26674" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Mstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path26695" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Sstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Sstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(0.3,0,0,0.3,-0.69,0)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path26701" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="Layer 2"
|
||||
transform="translate(-11.982074,-21.964117)">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect26550"
|
||||
width="115.06891"
|
||||
height="82.495377"
|
||||
x="13.582074"
|
||||
y="23.564117" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect26552"
|
||||
width="32.57613"
|
||||
height="10.205474"
|
||||
x="141.7625"
|
||||
y="37.863419" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect26554"
|
||||
width="72.29763"
|
||||
height="39.356071"
|
||||
x="51.037868"
|
||||
y="57.229633" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 13.555926,33.277492 H 27.272789 V 23.517457"
|
||||
id="path26608" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 50.930566,67.346684 H 99.245794 V 57.511473"
|
||||
id="path26610" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
|
||||
d="M 141.69494,41.488036 H 76.658099"
|
||||
id="path26612" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
|
||||
d="M 27.030677,46.518414 V 77.140349 H 59.501682"
|
||||
id="path26973"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
|
||||
d="m 71.579758,77.10685 h 19.631681 v 6.6211"
|
||||
id="path26975" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
|
||||
d="M 89.441093,57.178433 V 44.583544 h 51.202597"
|
||||
id="path26977"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
|
||||
x="61.244846"
|
||||
y="78.313263"
|
||||
id="text32222"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan32220"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
|
||||
x="61.244846"
|
||||
y="78.313263">sshd</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
|
||||
x="66.268555"
|
||||
y="88.277306"
|
||||
id="text36868"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan36866"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
|
||||
x="66.268555"
|
||||
y="88.277306">nixos-rebuild switch</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
|
||||
x="54.093658"
|
||||
y="62.60902"
|
||||
id="text39732"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan39730"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
|
||||
x="54.093658"
|
||||
y="62.60902" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
|
||||
x="55.435448"
|
||||
y="63.666706"
|
||||
id="text42728"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan42726"
|
||||
style="stroke-width:0.264583"
|
||||
x="55.435448"
|
||||
y="63.666706">qemu-kvm /dev/sdb</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
|
||||
x="15.95615"
|
||||
y="29.764059"
|
||||
id="text48250"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan48248"
|
||||
style="stroke-width:0.264583"
|
||||
x="15.95615"
|
||||
y="29.764059">host</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
|
||||
x="20.977367"
|
||||
y="44.197021"
|
||||
id="text49574"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan49572"
|
||||
style="stroke-width:0.264583"
|
||||
x="20.977367"
|
||||
y="44.197021">colmena</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
|
||||
x="57.19186"
|
||||
y="42.669193"
|
||||
id="text51536"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan51534"
|
||||
style="stroke-width:0.264583"
|
||||
x="57.19186"
|
||||
y="42.669193">/dev/sdb</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52777px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
|
||||
x="148.55846"
|
||||
y="43.976742"
|
||||
id="text55214"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan55212"
|
||||
style="stroke-width:0.264583"
|
||||
x="148.55846"
|
||||
y="43.976742">usb-stick</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.9 KiB |
|
@ -0,0 +1,160 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="110.46066mm"
|
||||
height="41.361336mm"
|
||||
viewBox="0 0 110.46062 41.361336"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="usb-stick-partitions.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="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="2.8284271"
|
||||
inkscape:cx="196.92924"
|
||||
inkscape:cy="60.634407"
|
||||
inkscape:window-width="2556"
|
||||
inkscape:window-height="1436"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer2"
|
||||
fit-margin-top="1.5"
|
||||
fit-margin-left="1.5"
|
||||
fit-margin-right="1.5"
|
||||
fit-margin-bottom="1.5"
|
||||
lock-margins="true" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2"
|
||||
transform="translate(-22.29669,-14.720924)">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect44"
|
||||
width="88.651665"
|
||||
height="37.361336"
|
||||
x="42.105679"
|
||||
y="16.720924" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 50.993066,53.783195 V 25.111681 h 79.767774"
|
||||
id="path1114"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52777778px;line-height:1.25;font-family:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.151373;-inkscape-font-specification:monospace;font-stretch:normal;font-variant:normal"
|
||||
x="44.726772"
|
||||
y="22.669426"
|
||||
id="text4176"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4174"
|
||||
style="fill:#000000;fill-opacity:1;stroke-width:0.151373;-inkscape-font-specification:monospace;font-family:monospace;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:3.52777778px"
|
||||
x="44.726772"
|
||||
y="22.669426">USB stick</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52777778px;line-height:1.25;font-family:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.124082;-inkscape-font-specification:monospace;font-stretch:normal;font-variant:normal"
|
||||
x="54.430748"
|
||||
y="30.861319"
|
||||
id="text5038"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5036"
|
||||
style="fill:#000000;fill-opacity:1;stroke-width:0.124082;-inkscape-font-specification:monospace;font-family:monospace;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:3.52777778px"
|
||||
x="54.430748"
|
||||
y="30.861319">/dev/sda1 boot1 (MBR 1MB)</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52777778px;line-height:1.25;font-family:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.124082;-inkscape-font-specification:monospace;font-stretch:normal;font-variant:normal"
|
||||
x="54.430748"
|
||||
y="39.026749"
|
||||
id="text5936"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5934"
|
||||
style="fill:#000000;fill-opacity:1;stroke-width:0.124082;-inkscape-font-specification:monospace;font-family:monospace;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:3.52777778px"
|
||||
x="54.430748"
|
||||
y="39.026749">/dev/sda2 boot2 (EFI 511MB)</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:3.52777778px;line-height:1.25;font-family:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.124082;-inkscape-font-specification:monospace;font-stretch:normal;font-variant:normal"
|
||||
x="54.430748"
|
||||
y="47.192181"
|
||||
id="text8700"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan8698"
|
||||
style="fill:#000000;fill-opacity:1;stroke-width:0.124082;-inkscape-font-specification:monospace;font-family:monospace;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:3.52777778px"
|
||||
x="54.430748"
|
||||
y="47.192181">/dev/sda3 root (ext4 > 64GB)</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
x="86.616371"
|
||||
y="52.156216"
|
||||
id="text9430"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan9428"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:monospace;-inkscape-font-specification:monospace;fill:#000000;fill-opacity:1;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
x="86.616371"
|
||||
y="52.156216">(encrypted)</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 51.01631,33.86599 h 79.85925"
|
||||
id="path11809"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 50.95848,41.642773 h 80.06198"
|
||||
id="path11811"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect12235"
|
||||
width="17.683184"
|
||||
height="17.683184"
|
||||
x="24.29669"
|
||||
y="26.111729" />
|
||||
<rect
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect12361"
|
||||
width="8.4353819"
|
||||
height="2.0950499"
|
||||
x="29.423376"
|
||||
y="31.978249" />
|
||||
<rect
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect12361-7"
|
||||
width="11.610385"
|
||||
height="2.0950508"
|
||||
x="26.248373"
|
||||
y="27.894917" />
|
||||
<rect
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect12361-3"
|
||||
width="8.4353819"
|
||||
height="2.0950499"
|
||||
x="29.423376"
|
||||
y="36.061569" />
|
||||
<rect
|
||||
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect12361-7-5"
|
||||
width="11.610385"
|
||||
height="2.0950508"
|
||||
x="26.248373"
|
||||
y="40.144897" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.3 KiB |
|
@ -11,52 +11,39 @@ summary: >
|
|||
running NixOS.
|
||||
---
|
||||
|
||||
How to Create and update an bootable Linux USB stick, which is encrypted
|
||||
How to Create and update a bootable Linux USB stick, which is encrypted
|
||||
is quite easy and has some use cases.
|
||||
|
||||
* As ultimate backup
|
||||
* As a holiday tool
|
||||
* For schools
|
||||
|
||||
# Requirements
|
||||
|
||||
# Requirments
|
||||
|
||||
## USB Stick
|
||||
|
||||
You need an USB stick with at least 64GB otherwise major updates might get problematic.
|
||||
You need a USB stick with at least 64GB otherwise major updates might get problematic.
|
||||
|
||||
The USB stick, which should hold the system, will be `/dev/sdb`.
|
||||
You can plugin the usb stick and run `dmesg` to find out which device we are using
|
||||
You can plug in the usb stick and run `dmesg` to find out which device we are using
|
||||
|
||||
|
||||
# Step by Step Guide
|
||||
# Step-by-Step Guide
|
||||
|
||||
Here are the steps I use to create my encrypted USB sticks running NixOS.
|
||||
|
||||
## format and create gpt partition table
|
||||
## Create partitions
|
||||
|
||||
```
|
||||
┌────────────────────────────────┐
|
||||
│USB-stick │
|
||||
│ ┌──────────────────────────────┤
|
||||
│ │ /dev/sda1 boot1 (MBR 1MB) │
|
||||
│ ├──────────────────────────────┤
|
||||
│ │ /dev/sda2 boot2 (EFI 511MB) │
|
||||
│ ├──────────────────────────────┤
|
||||
│ │ │
|
||||
│ │ /dev/sda3 root (ext4 > 64GB) │
|
||||
│ │ (encrypted) │
|
||||
└─┴──────────────────────────────┘
|
||||
```
|
||||
{{< card footer="usb stick partitions" >}}
|
||||
{{<figure src="../images/usb-stick-partitions.svg" align=center >}}
|
||||
{{< /card >}}
|
||||
|
||||
> We use 511 MB for the boot partition, but you might want to increas this partition,
|
||||
> if you want to place bootable ISOs on that partiton you want to boot instead of your NixOS system.
|
||||
> We use 511 MB for the boot partition, but you might want to increase this partition,
|
||||
> if you want to place bootable ISOs on that partition you want to boot instead of your NixOS system.
|
||||
|
||||
> We create an EFI partition as well a 1MB MBR partiton to make the stick boot
|
||||
> We create an EFI partition as well a 1MB MBR partition to make the stick boot
|
||||
> on all kinds of computers.
|
||||
|
||||
I always delete all partitions using `fdisk` before starting repartitioning.
|
||||
Than I start with the partitioning.
|
||||
First I delete all partitions using `fdisk` before starting repartitioning,
|
||||
then I start with the partitioning.
|
||||
|
||||
```shell
|
||||
parted /dev/sdb -- mklabel gpt
|
||||
|
@ -67,69 +54,64 @@ parted /dev/sdb -- set 2 boot on
|
|||
parted /dev/sdb -- mkpart primary 512MiB 100%
|
||||
```
|
||||
|
||||
It most likely is not necesary but to be sure, I unplug and plug the USB device again
|
||||
to be sure the new partiton table will be used.
|
||||
It most likely is not necessary but to be sure, I unplug and plug the USB device again
|
||||
to be sure the new partition table will be used.
|
||||
|
||||
## create and encrypt partition
|
||||
## Encrypt and format root partition
|
||||
|
||||
```shell
|
||||
cryptsetup luksFormat /dev/sdb3
|
||||
cryptsetup luksOpen /dev/sdb3 root-enc
|
||||
mkfs.ext4 -L root /dev/mapper/root-enc
|
||||
```
|
||||
|
||||
This will be the password you have to type in every time you boot the USB Stick.
|
||||
|
||||
## create boot partitions
|
||||
## Format boot partition
|
||||
|
||||
```shell
|
||||
mkfs.fat -F 32 -n boot /dev/sdb2
|
||||
mkfs.ext4 -L root /dev/mapper/root-enc
|
||||
```
|
||||
|
||||
## prepare installation
|
||||
## Prepare installation
|
||||
|
||||
We have to mount the created partitons.
|
||||
We have to mount the created partitions
|
||||
to generate initial configuration files.
|
||||
|
||||
```shell
|
||||
mount /dev/mapper/root-enc /mnt
|
||||
mkdir /mnt/boot && mount /dev/sdb2 /mnt/boot
|
||||
```
|
||||
|
||||
And generate inital configuration files.
|
||||
|
||||
```shell
|
||||
nixos-generate-config --root /mnt
|
||||
```
|
||||
|
||||
Now you can update `configuration.nix`
|
||||
before installation.
|
||||
Now you can update `configuration.nix` before installation.
|
||||
You can `hardware-configuration.nix` edit as too,
|
||||
but usally that is not necessary.
|
||||
but usually that is not necessary.
|
||||
|
||||
> don't forget to set your ssh key in `users.users.<name>.openssh.authorizedKeys.keys`
|
||||
> und `users.users.<name>.openssh.authorizedKeys.keyFiles`
|
||||
|
||||
I usually have also these configurations set
|
||||
```
|
||||
|
||||
```nix
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
wget
|
||||
htop
|
||||
silver-searcher
|
||||
iotop
|
||||
vim wget htop silver-searcher iotop
|
||||
];
|
||||
|
||||
# use vi shortcuts
|
||||
environment.extraInit = ''
|
||||
# use vi shortcuts
|
||||
# ----------------
|
||||
set -o vi
|
||||
EDITOR=vim
|
||||
'';
|
||||
```
|
||||
|
||||
These options have to be added to make it bootable and to start it with qemu-kvm (See [Update stick using qemu-kvm](#update-stick-using-qemu-kvm))
|
||||
These options have to be added to make it bootable and to start it with qemu-kvm
|
||||
(See [Update stick using qemu-kvm](#update-stick-using-qemu-kvm))
|
||||
|
||||
```
|
||||
```nix
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.efiSupport = true;
|
||||
boot.loader.grub.device = "/dev/sdb"; # todo : change me once the system booted
|
||||
|
@ -139,7 +121,7 @@ boot.tmpOnTmpfs = true;
|
|||
|
||||
You most likely have to disable these parameters
|
||||
|
||||
```
|
||||
```nix
|
||||
boot.loader.systemd-boot.enable = false;
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
```
|
||||
|
@ -168,32 +150,15 @@ root partition is encrypted.
|
|||
|
||||
To run frequent updates, it might be a hassle to boot a dedicated machine to access these updates.
|
||||
This is why I use `qemu` to start the machine and update the machine via [colmena](https://colmena.cli.rs/unstable/reference/)
|
||||
which my prefered NixOS provisioning system. Of course your favorit provisioning tool will work as well.
|
||||
which my preferred NixOS provisioning system. Of course your favorite provisioning tool will work as well.
|
||||
|
||||
```
|
||||
┌────┬─────────────────────────────────────┐
|
||||
│host│ │
|
||||
├────┘ │
|
||||
│ │ ┌───────────┐
|
||||
│ colmena /dev/sdb ◄─────┬────────────┼────┤ usb-stick │
|
||||
│ │ │ │ └───────────┘
|
||||
│ │ │ │
|
||||
│ │ ┌───────────────┴─┬────────┐ │
|
||||
│ │ │qemu-kvm /dev/sdb│ │ │
|
||||
│ │ ├─────────────────┘ │ │
|
||||
│ │ │ │ │
|
||||
│ └────────┤► sshd ───────┐ │ │
|
||||
│ │ ▼ │ │
|
||||
│ │ nixos-rebuild switch │ │
|
||||
│ │ │ │
|
||||
│ └──────────────────────────┘ │
|
||||
│ │
|
||||
└──────────────────────────────────────────┘
|
||||
```
|
||||
{{< card footer="partitions on the usb-stick">}}
|
||||
{{<figure src="../images/qemu-kvm-setup.svg" align=center >}}
|
||||
{{< /card >}}
|
||||
|
||||
To run `qemu-kvm` on you machine, you need these options in your host `configuration.nix`.
|
||||
|
||||
```
|
||||
```nix
|
||||
virtualisation.libvirtd.enable = true;
|
||||
users.users.mainUser.extraGroups = [ "libvirtd" ];
|
||||
environment.systemPackages = [
|
||||
|
@ -202,8 +167,9 @@ environment.systemPackages = [
|
|||
];
|
||||
```
|
||||
|
||||
To start the machine you simple have to run this command:
|
||||
To start the machine you simply have to run this command:
|
||||
|
||||
{{% code footer="start vm from /dev/sdb with port forwarding 2222 -> 22" %}}
|
||||
```shell
|
||||
sudo qemu-kvm \
|
||||
-m 4G \
|
||||
|
@ -211,6 +177,7 @@ sudo qemu-kvm \
|
|||
-net user,hostfwd=tcp:127.0.0.1:2222-:22 \
|
||||
-net nic
|
||||
```
|
||||
{{% /code %}}
|
||||
|
||||
![screenshot1.png](../images/screenshot1.png)
|
||||
|
||||
|
@ -226,7 +193,6 @@ ssh root@localhost -p2222
|
|||
|
||||
So you should be able to update you usb stick with the comfort of you normal desktop setup.
|
||||
|
||||
|
||||
# further inspirations
|
||||
|
||||
* [Yubikey based Full Disk Encryption (NixOS Wiki)](https://nixos.wiki/wiki/Yubikey_based_Full_Disk_Encryption_(FDE)_on_NixOS)
|
||||
|
|
|
@ -4,4 +4,5 @@
|
|||
{{ with .Get "text" }}<p>{{ . }}<p>{{ end }}
|
||||
{{ .Inner }}
|
||||
</div>
|
||||
{{ with .Get "footer" }}<div class="card-footer">{{ . }}</div>{{ end }}
|
||||
</div>
|
|
@ -0,0 +1,5 @@
|
|||
<div class="code-block">
|
||||
{{ with .Get "header" }}<div class="code-header">{{ . }}</div>{{ end }}
|
||||
{{.Inner}}
|
||||
{{ with .Get "footer" }}<div class="code-footer">{{ . }}</div>{{ end }}
|
||||
</div>
|
|
@ -4,9 +4,12 @@
|
|||
@color-body-background: @gb-lm-bg0-hard;
|
||||
@color-body-background-highlight: @gb-lm-bg0-soft;
|
||||
@color-body-font: @gb-lm-fg0;
|
||||
@color-header-font-symbol: @gb-lm-light-gray;
|
||||
|
||||
@color-code-border: @gb-lm-light-yellow;
|
||||
@color-code-inline: @gb-lm-light-gray;
|
||||
@color-code-footer: @gb-lm-fg4;
|
||||
@color-code-header: @gb-lm-fg4;
|
||||
|
||||
@color-note-background: @color-body-background;
|
||||
@color-note-border: @gb-lm-light-green;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
@font-normal: ~"'Roboto', sans-serif";
|
||||
|
||||
//@font-code: ~"'Inconsolata', monospace";
|
||||
@font-code: ~"monospace"; // because diagrams look strange
|
||||
@font-code: ~"'Inconsolata', monospace";
|
||||
//@font-code: ~"monospace"; // because diagrams look strange
|
||||
|
||||
@font-header: ~"'Roboto', sans-serif";
|
||||
//@font-header: ~"'Zilla Slab', serif";
|
||||
|
|
|
@ -57,6 +57,21 @@ blockquote{
|
|||
border-top: 2px solid @color-card-border;
|
||||
border-left: 2px solid @color-card-border;
|
||||
border-right: 2px solid @color-card-border;
|
||||
|
||||
}
|
||||
|
||||
.card-footer{
|
||||
text-align: right;
|
||||
color: @color-code-footer;
|
||||
|
||||
padding-top: .3em ;
|
||||
padding-bottom: .3em;
|
||||
padding-left: .5em;
|
||||
padding-right: .5em;
|
||||
|
||||
border-bottom: 2px solid @color-card-border;
|
||||
border-left: 2px solid @color-card-border;
|
||||
border-right: 2px solid @color-card-border;
|
||||
}
|
||||
|
||||
.card-body{
|
||||
|
|
|
@ -40,3 +40,34 @@
|
|||
li > code {
|
||||
.inline-code();
|
||||
}
|
||||
|
||||
.code-block {
|
||||
margin-bottom: @standard-margin;
|
||||
margin-top: @standard-margin;
|
||||
.code-header{
|
||||
text-align: left;
|
||||
color: @color-code-header;
|
||||
border-top: 1px solid @color-code-border;
|
||||
border-left: 1px solid @color-code-border;
|
||||
border-right: 1px solid @color-code-border;
|
||||
padding-left: .5em;
|
||||
padding-top: .3em ;
|
||||
padding-right: .5em;
|
||||
padding-bottom: 0.3em;
|
||||
}
|
||||
pre {
|
||||
margin-bottom: 0;
|
||||
margin-top: 0;
|
||||
}
|
||||
.code-footer {
|
||||
text-align: right;
|
||||
color: @color-code-footer;
|
||||
border-bottom: 1px solid @color-code-border;
|
||||
border-left: 1px solid @color-code-border;
|
||||
border-right: 1px solid @color-code-border;
|
||||
padding-left: .5em;
|
||||
padding-top: .3em ;
|
||||
padding-right: .5em;
|
||||
padding-bottom: 0.3em;
|
||||
}
|
||||
}
|
|
@ -30,7 +30,7 @@ h1, h2, h3, h4, h5, h6 {
|
|||
|
||||
h1:before, h2:before, h3:before, h4:before, h5:before, h6:before {
|
||||
display: inline;
|
||||
color: @gb-lm-fg4;
|
||||
color: @color-header-font-symbol;
|
||||
}
|
||||
|
||||
h1:before {
|
||||
|
|
Loading…
Reference in New Issue