diff --git a/content/posts/2025/12/bottle-dryer/0-sketch.png b/content/posts/2025/12/bottle-dryer/0-sketch.png new file mode 100644 index 0000000..5156f3e Binary files /dev/null and b/content/posts/2025/12/bottle-dryer/0-sketch.png differ diff --git a/content/posts/2025/12/bottle-dryer/1-marked.png b/content/posts/2025/12/bottle-dryer/1-marked.png new file mode 100644 index 0000000..c101b64 Binary files /dev/null and b/content/posts/2025/12/bottle-dryer/1-marked.png differ diff --git a/content/posts/2025/12/bottle-dryer/2-arrangement.jpg b/content/posts/2025/12/bottle-dryer/2-arrangement.jpg new file mode 100644 index 0000000..e137354 Binary files /dev/null and b/content/posts/2025/12/bottle-dryer/2-arrangement.jpg differ diff --git a/content/posts/2025/12/bottle-dryer/index.de.md b/content/posts/2025/12/bottle-dryer/index.de.md new file mode 100644 index 0000000..c3a2270 --- /dev/null +++ b/content/posts/2025/12/bottle-dryer/index.de.md @@ -0,0 +1,37 @@ ++++ +title = 'Ein Flaschentrockner?!' +date = 2025-12-25T12:00:00+01:00 +draft = false +toc = false +cover = 'cover.png' +translated = 'en2de' ++++ + + +## Die Idee {id=introduction} + +Es ist Weihnachtszeit. Und das bedeutet, dass man etwas als Geschenk für seine Liebsten finden muss. Ein Problem, das vor allem Familien kennen dürften, ist, dass beim Spülen vieler Flaschen von Hand der Abtropfständer schnell voll ist, da die Flaschen viel Platz einnehmen. Um dieses Problem zu lösen, habe ich mir einen einfachen Flaschentrockner ausgedacht, in dem die nassen Flaschen Platz finden. Nach dem Sortieren verschiedener Ideen kam ich auf ein zusammenklappbares Design, das sich an den verfügbaren Platz anpassen lässt. + + + + +## Die Umsetzung {id=implementation} + +| Artikel | *x | (Gesamtlänge) | +| ------- | -- | ------------- | +| 21cm Lattenholz | 4 | 84cm | +| 25cm Rundholz | 6 | 150cm | +| Nägel / andere Verbinder für Rotationspunkte | 4 | - | +| Dübel für Verbindung Latte-Rundholz | 6 | - | + +Der finanzielle und zeitliche Aufwand dafür hält sich in Grenzen. Man kauft ein paar Holzstäbe und Kanthölzer, markiert sie entsprechend... + + + +... und legt sie so aus, wie sie am Ende positioniert sein sollen: + + + +Nach dem Zuschneiden und Fräsen der Teile sollte ein Lack als Wasserschutz aufgetragen werden, um die Langlebigkeit zu gewährleisten. Anschließend wird alles zusammengebaut - fertig ist: der Flaschentrockner! + + diff --git a/content/posts/2025/12/bottle-dryer/index.en.md b/content/posts/2025/12/bottle-dryer/index.en.md new file mode 100644 index 0000000..eb781af --- /dev/null +++ b/content/posts/2025/12/bottle-dryer/index.en.md @@ -0,0 +1,36 @@ ++++ +title = 'Bottle Dryer?!' +date = 2025-12-25T12:00:00+01:00 +draft = false +toc = false +cover = 'cover.png' ++++ + + +## The Idea {id=introduction} + +It's christmas time. And that means finding something to give as a gift to your closest. And a problem that especially families might know is that when washing many bottles by hand, the dish rack is filled as they consume a lot of space. To tackle this, i imagined a simple bottle dryer to hold the wet bottles. After sorting ideas, I came up with a collapsible design that can adapt to the available space. + + + + +## The Implementation {id=implementation} + +| Item | *x | (Total length) | +| ------- | -- | ------------- | +| 21 cm slats | 4 | 84 cm | +| 25 cm round timber | 6 | 150 cm | +| Nails / other fasteners for pivot points | 4 | - | +| Dowels for connecting slats to round timber | 6 | - | + +Not much effort in terms of finances and time has to be put into this. Buy some wooden rods and square timbers, mark them correctly... + + + +... and lay them down how they should be positioned in the end: + + + +After cutting and milling the parts, a coat of varnish needs to be applied to protect them from water and ensure their longevity. Then everything is assembled - and there you have it: the bottle dryer! + + \ No newline at end of file diff --git a/public/css/code.min.4f0ccc8439f99bf7f7970298556b94011aabc1fcae743b6842fc3361a2da9ea3.css b/public/css/code.min.4f0ccc8439f99bf7f7970298556b94011aabc1fcae743b6842fc3361a2da9ea3.css deleted file mode 100644 index d4823da..0000000 --- a/public/css/code.min.4f0ccc8439f99bf7f7970298556b94011aabc1fcae743b6842fc3361a2da9ea3.css +++ /dev/null @@ -1 +0,0 @@ -:root{--code-border:color-mix(in srgb, var(--foreground) 10%, transparent)}pre:not(.chroma){margin:20px 0;padding:10px}pre.chroma{margin:0;padding:10px 0;color:var(--foreground)}pre code{color:var(--foreground);border:none}code{color:var(--accent)}.highlight{position:relative;margin:20px 0;border:1px solid var(--code-border)}.highlight pre{border:none}.code-title{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--foreground) 5%,transparent);border-bottom:1px solid var(--code-border);color:var(--comment);text-transform:uppercase;font-size:calc(var(--font-size) * .8);padding:6px 10px;line-height:1}.copy-button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);appearance:none;cursor:pointer;outline:none}.code-title .copy-button{z-index:1;background:color-mix(in srgb,var(--foreground) 5%,var(--background))}.code-title:hover .copy-button{display:inline-block}.code-title .copy-button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--background))}.collapsable-code{position:relative;width:100%;margin:20px 0;border:1px solid var(--accent);.highlight { margin: 0; }}.collapsable-code__title{display:inline-flex;align-items:center;flex:1;color:var(--accent);padding:3px 10px;font-size:calc(var(--font-size) * .9);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapsable-code__language{color:var(--accent);border:1px solid var(--accent);border-bottom:none;text-transform:uppercase;padding:3px 10px}.collapsable-code summary{color:var(--accent);padding:0 10px;cursor:pointer}.collapsable-code summary:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.collapsable-code pre{margin-top:0}.collapsable-code pre::first-line{line-height:0} \ No newline at end of file diff --git a/public/css/code.min.d529ea4b2fb8d34328d7d31afc5466d5f7bc2f0bc9abdd98b69385335d7baee4.css b/public/css/code.min.d529ea4b2fb8d34328d7d31afc5466d5f7bc2f0bc9abdd98b69385335d7baee4.css new file mode 100644 index 0000000..de12fb9 --- /dev/null +++ b/public/css/code.min.d529ea4b2fb8d34328d7d31afc5466d5f7bc2f0bc9abdd98b69385335d7baee4.css @@ -0,0 +1 @@ +:root{--code-border:color-mix(in srgb, var(--foreground) 10%, transparent)}pre:not(.chroma){padding:10px}pre.chroma{margin:0;padding:10px 0;color:var(--foreground)}pre code{color:var(--foreground);border:none}code{color:var(--accent);text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%}.highlight{position:relative;margin:20px 0;border:1px solid var(--code-border)}.highlight pre{border:none}.code-title{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--foreground) 5%,transparent);border-bottom:1px solid var(--code-border);color:var(--comment);text-transform:uppercase;font-size:calc(var(--font-size) * .8);padding:6px 10px;line-height:1}.copy-button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);appearance:none;cursor:pointer;outline:none}.code-title .copy-button{z-index:1;background:color-mix(in srgb,var(--foreground) 5%,var(--background))}.code-title:hover .copy-button{display:inline-block}.code-title .copy-button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--background))}.collapsable-code{position:relative;width:100%;margin:20px 0;border:1px solid var(--accent);.highlight { margin: 0; }}.collapsable-code__title{display:inline-flex;align-items:center;flex:1;color:var(--accent);padding:3px 10px;font-size:calc(var(--font-size) * .9);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapsable-code__language{color:var(--accent);border:1px solid var(--accent);border-bottom:none;text-transform:uppercase;padding:3px 10px}.collapsable-code summary{color:var(--accent);padding:0 10px;cursor:pointer}.collapsable-code summary:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.collapsable-code pre{margin-top:0}.collapsable-code pre::first-line{line-height:0} \ No newline at end of file diff --git a/public/css/main.min.1d90a993d506516707eea93a3ab2638e4e9f92eb2c6b3aa1a4f08f8f9fa0648e.css b/public/css/main.min.1d90a993d506516707eea93a3ab2638e4e9f92eb2c6b3aa1a4f08f8f9fa0648e.css new file mode 100644 index 0000000..c47f62c --- /dev/null +++ b/public/css/main.min.1d90a993d506516707eea93a3ab2638e4e9f92eb2c6b3aa1a4f08f8f9fa0648e.css @@ -0,0 +1 @@ +:root{--background:#1a170f;--foreground:#eceae5;--accent:#eec35e;--font-size:1rem;--line-height:1.54em;--radius:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit;word-break:break-word}body{margin:0;padding:0;font-family:fira code,Monaco,Consolas,ubuntu mono,monospace;font-size:var(--font-size);line-height:var(--line-height);background-color:var(--background);color:var(--foreground);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;text-size-adjust:100%}h1{font-size:calc(var(--font-size) * 1.45);letter-spacing:0}h2{font-size:calc(var(--font-size) * 1.35);letter-spacing:0}h3{font-size:calc(var(--font-size) * 1.15);letter-spacing:0}h4,h5,h6{font-size:calc(var(--font-size) * 1);letter-spacing:0}h1,h2,h3,h4,h5,h6,p,ul,ol,img,figure,video,table{margin:25px 0}a{color:var(--accent)}button{position:relative;font:inherit;font-weight:700;text-decoration:none;text-align:center;background:0 0;color:var(--accent);padding:5px 18px;border:4px solid var(--accent);border-radius:var(--radius);transition:background .15s linear;appearance:none;cursor:pointer;outline:none}button:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:2px}fieldset{display:inline-block;border:2px solid var(--foreground);border-radius:calc(var(--radius) * 1.6);padding:10px}fieldset *:first-child{margin-top:0}fieldset input,fieldset select,fieldset textarea,fieldset label,fieldset button{margin-top:calc(var(--line-height) * .5);width:100%}label{display:inline-block}label input{margin-top:0}input,textarea,select{background:0 0;color:var(--foreground);border:1px solid var(--foreground);border-radius:var(--radius);padding:10px;font:inherit;appearance:none}input[type=checkbox]{width:auto}input:focus-visible,input:active,textarea:focus-visible,textarea:active,select:focus-visible,select:active{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:2px}input:active,textarea:active,select:active{box-shadow:none}select{background-image:linear-gradient( 45deg,transparent 50%,var(--foreground) 50% ),linear-gradient(135deg,var(--foreground) 50%,transparent 50%);background-position:calc(100% - 20px),calc(100% - 1em);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}select option{background:var(--background)}input[type=checkbox]{vertical-align:middle;padding:10px;box-shadow:inset 0 0 0 3px var(--background)}input[type=checkbox]:checked{background:var(--accent)}img{display:block;max-width:100%;border:8px solid var(--accent);border-radius:var(--radius);padding:8px;overflow:hidden}img.left{margin-right:auto}img.center{margin-left:auto;margin-right:auto}img.right{margin-left:auto}figure{width:fit-content}figure.left{margin-right:auto}figure.center{margin-left:auto;margin-right:auto}figure.right{margin-left:auto}figure img,figure video{margin-bottom:0}figure figcaption{background:var(--accent);color:var(--background);text-align:center;font-size:var(--font-size);font-weight:400;margin-top:-8px;padding:0 8px;border-radius:0 0 var(--radius)var(--radius)}figure figcaption p:first-child{margin-top:0}ul,ol{margin-left:4ch;padding:0}ul ul,ul ol,ol ul,ol ol{margin-top:0}li::marker{color:var(--accent)}ul li,ol li{position:relative}code,kbd{font-family:fira code,Monaco,Consolas,ubuntu mono,monospace!important;font-feature-settings:normal;background:color-mix(in srgb,var(--foreground) 5%,transparent);border:1px solid var(--code-border);padding:1px 6px;margin:0 2px;font-size:calc(var(--font-size) * .95)}kbd{border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-left:1px solid var(--accent);border-right:1px solid var(--accent);border-bottom:4px solid var(--accent);border-radius:4px}code code{background:0 0;padding:0;margin:0}pre{tab-size:4;background:color-mix(in srgb,var(--foreground) 5%,transparent)!important;color:var(--foreground);padding:20px 10px;font-size:calc(var(--font-size) * .95)!important;overflow:auto;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}pre code{background:0 0!important;margin:0;padding:0;border:none}sup{line-height:0}abbr{position:relative;text-decoration-style:wavy;text-decoration-color:var(--accent);cursor:help}sub{bottom:-.25em}sup{top:-.25em}mark{background:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--foreground)}blockquote{position:relative;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);margin:0;padding:25px}blockquote::before{content:">";display:block;position:absolute;left:0;color:var(--accent)}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}table{border:8px solid var(--accent);width:100%;table-layout:auto;border-collapse:collapse}th,td{border:6px solid var(--accent)}table,th,td{padding:10px}th{border-style:solid;color:var(--foreground);text-align:left;text-transform:uppercase;letter-spacing:.04em}hr{width:100%;border:none;background:var(--accent);height:2px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.4rem;line-height:1.3;margin:20px 0}.headings--one-size~h1:first-child,.headings--one-size~h2:first-child,.headings--one-size~h3:first-child,.headings--one-size~h4:first-child,.headings--one-size~h5:first-child,.headings--one-size~h6:first-child{margin-top:20px}blockquote.twitter-tweet{position:relative;background:var(--background);font:inherit;color:inherit;border:1px solid var(--accent);padding-top:60px}blockquote.twitter-tweet a{color:var(--accent);text-decoration:underline}blockquote.twitter-tweet::before{content:"> From X:";position:absolute;top:20px;left:20px;color:var(--accent);font-weight:700}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid color-mix(in srgb,var(--accent) 10%,transparent)}.container.full,.container.center{border:none;margin:0 auto}.container.full{max-width:100%}.content{display:flex;flex-direction:column}.hidden{display:none}.__h_video{position:relative;overflow:visible!important;height:auto!important;padding-bottom:0!important}.__h_video a{position:relative;display:block;width:100%}.__h_video a img{width:100%}.__h_video a .play{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:60px;height:60px}iframe{border:8px solid var(--accent)!important;padding:8px!important;width:100%;aspect-ratio:16/10}@media(max-width:684px){:root{--font-size:0.95rem}.container{padding:20px}}@media print{.container{display:initial}.content{display:initial}} \ No newline at end of file diff --git a/public/css/main.min.c90e47ca794a3e0d427da049e74434d1a06b439b22f1997b3bd74b740b5e0b5c.css b/public/css/main.min.c90e47ca794a3e0d427da049e74434d1a06b439b22f1997b3bd74b740b5e0b5c.css deleted file mode 100644 index 0855d82..0000000 --- a/public/css/main.min.c90e47ca794a3e0d427da049e74434d1a06b439b22f1997b3bd74b740b5e0b5c.css +++ /dev/null @@ -1 +0,0 @@ -:root{--background:#1a170f;--foreground:#eceae5;--accent:#eec35e;--font-size:1rem;--line-height:1.54em;--radius:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}body{margin:0;padding:0;font-family:fira code,Monaco,Consolas,ubuntu mono,monospace;font-size:var(--font-size);line-height:var(--line-height);background-color:var(--background);color:var(--foreground);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;text-size-adjust:100%}h1{font-size:calc(var(--font-size) * 1.45);letter-spacing:0}h2{font-size:calc(var(--font-size) * 1.35);letter-spacing:0}h3{font-size:calc(var(--font-size) * 1.15);letter-spacing:0}h4,h5,h6{font-size:calc(var(--font-size) * 1);letter-spacing:0}h1,h2,h3,h4,h5,h6,p,ul,ol,img,figure,video,table{margin:25px 0}a{color:var(--accent)}button{position:relative;font:inherit;font-weight:700;text-decoration:none;text-align:center;background:0 0;color:var(--accent);padding:5px 18px;border:4px solid var(--accent);border-radius:var(--radius);transition:background .15s linear;appearance:none;cursor:pointer;outline:none}button:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:2px}fieldset{display:inline-block;border:2px solid var(--foreground);border-radius:calc(var(--radius) * 1.6);padding:10px}fieldset *:first-child{margin-top:0}fieldset input,fieldset select,fieldset textarea,fieldset label,fieldset button{margin-top:calc(var(--line-height) * .5);width:100%}label{display:inline-block}label input{margin-top:0}input,textarea,select{background:0 0;color:var(--foreground);border:1px solid var(--foreground);border-radius:var(--radius);padding:10px;font:inherit;appearance:none}input[type=checkbox]{width:auto}input:focus-visible,input:active,textarea:focus-visible,textarea:active,select:focus-visible,select:active{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:2px}input:active,textarea:active,select:active{box-shadow:none}select{background-image:linear-gradient( 45deg,transparent 50%,var(--foreground) 50% ),linear-gradient(135deg,var(--foreground) 50%,transparent 50%);background-position:calc(100% - 20px),calc(100% - 1em);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}select option{background:var(--background)}input[type=checkbox]{vertical-align:middle;padding:10px;box-shadow:inset 0 0 0 3px var(--background)}input[type=checkbox]:checked{background:var(--accent)}img{display:block;max-width:100%;border:8px solid var(--accent);border-radius:var(--radius);padding:8px;overflow:hidden}img.left{margin-right:auto}img.center{margin-left:auto;margin-right:auto}img.right{margin-left:auto}figure{width:fit-content}figure.left{margin-right:auto}figure.center{margin-left:auto;margin-right:auto}figure.right{margin-left:auto}figure img,figure video{margin-bottom:0}figure figcaption{background:var(--accent);color:var(--background);text-align:center;font-size:var(--font-size);font-weight:400;margin-top:-8px;padding:0 8px;border-radius:0 0 var(--radius)var(--radius)}figure figcaption p:first-child{margin-top:0}ul,ol{margin-left:4ch;padding:0}ul ul,ul ol,ol ul,ol ol{margin-top:0}li::marker{color:var(--accent)}ul li,ol li{position:relative}code,kbd{font-family:fira code,Monaco,Consolas,ubuntu mono,monospace!important;font-feature-settings:normal;background:color-mix(in srgb,var(--foreground) 5%,transparent);border:1px solid var(--code-border);padding:1px 6px;margin:0 2px;font-size:calc(var(--font-size) * .95)}kbd{border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-left:1px solid var(--accent);border-right:1px solid var(--accent);border-bottom:4px solid var(--accent);border-radius:4px}code code{background:0 0;padding:0;margin:0}pre{tab-size:4;background:color-mix(in srgb,var(--foreground) 5%,transparent)!important;color:var(--foreground);padding:20px 10px;font-size:calc(var(--font-size) * .95)!important;overflow:auto;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}pre code{background:0 0!important;margin:0;padding:0;border:none}sup{line-height:0}abbr{position:relative;text-decoration-style:wavy;text-decoration-color:var(--accent);cursor:help}sub{bottom:-.25em}sup{top:-.25em}mark{background:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--foreground)}blockquote{position:relative;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);margin:0;padding:25px}blockquote::before{content:">";display:block;position:absolute;left:0;color:var(--accent)}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}table{table-layout:auto;border-collapse:collapse}table,th,td{border:2px solid var(--foreground);padding:10px}th{border-style:solid;color:var(--foreground);text-align:left;text-transform:uppercase;letter-spacing:.04em}hr{width:100%;border:none;background:var(--accent);height:2px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.4rem;line-height:1.3;margin:20px 0}.headings--one-size~h1:first-child,.headings--one-size~h2:first-child,.headings--one-size~h3:first-child,.headings--one-size~h4:first-child,.headings--one-size~h5:first-child,.headings--one-size~h6:first-child{margin-top:20px}blockquote.twitter-tweet{position:relative;background:var(--background);font:inherit;color:inherit;border:1px solid var(--accent);padding-top:60px}blockquote.twitter-tweet a{color:var(--accent);text-decoration:underline}blockquote.twitter-tweet::before{content:"> From X:";position:absolute;top:20px;left:20px;color:var(--accent);font-weight:700}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid color-mix(in srgb,var(--accent) 10%,transparent)}.container.full,.container.center{border:none;margin:0 auto}.container.full{max-width:100%}.content{display:flex;flex-direction:column}.hidden{display:none}.__h_video{position:relative;overflow:visible!important;height:auto!important;padding-bottom:0!important}.__h_video a{position:relative;display:block;width:100%}.__h_video a img{width:100%}.__h_video a .play{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:60px;height:60px}iframe{border:8px solid var(--accent)!important;padding:8px!important;width:100%;aspect-ratio:16/10}@media(max-width:684px){:root{--font-size:0.95rem}.container{padding:20px}}@media print{.container{display:initial}.content{display:initial}} \ No newline at end of file diff --git a/public/de/404.html b/public/de/404.html index 2668432..e1659ab 100644 --- a/public/de/404.html +++ b/public/de/404.html @@ -1,3 +1,3 @@ -