Compare commits
No commits in common. "c2d70f0988eb2f4a31bf5bb5442a2a2b8649b691" and "dafbda9509461bebecd0bc40d16a02b75ea868b1" have entirely different histories.
c2d70f0988
...
dafbda9509
4132
package-lock.json
generated
4132
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -10,10 +10,10 @@
|
|||||||
"astro": "astro"
|
"astro": "astro"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/check": "^0.5.6",
|
"@astrojs/check": "^0.3.1",
|
||||||
"@astrojs/mdx": "^2.1.1",
|
"@astrojs/mdx": "^1.1.5",
|
||||||
"@c0ntroller/wasm-terminal": ">=0.1.0",
|
"@c0ntroller/wasm-terminal": ">=0.1.0",
|
||||||
"astro": "^4.4.9",
|
"astro": "^3.6.0",
|
||||||
"astro-icon": "^1.1.0",
|
"astro-icon": "^1.1.0",
|
||||||
"sass": "^1.69.5",
|
"sass": "^1.69.5",
|
||||||
"typescript": "^5.3.2"
|
"typescript": "^5.3.2"
|
||||||
|
@ -3,11 +3,15 @@ import { Image } from "astro:assets";
|
|||||||
import { Icon } from "astro-icon/components";
|
import { Icon } from "astro-icon/components";
|
||||||
import ThemeSwitch from "./ThemeSwitch.astro";
|
import ThemeSwitch from "./ThemeSwitch.astro";
|
||||||
import logo from "./logo.png";
|
import logo from "./logo.png";
|
||||||
|
|
||||||
|
const defaultFontSize = 16;
|
||||||
|
// 120%, 2em
|
||||||
|
const svgSize = defaultFontSize * 1.2 * 2;
|
||||||
---
|
---
|
||||||
|
|
||||||
<nav class="navigation">
|
<nav class="navigation">
|
||||||
<a href="/" class="nostyle imgContainer">
|
<a href="/" class="nostyle imgContainer">
|
||||||
<Image src={logo} alt="Logo" class="logoImg" loading="eager" />
|
<Image src={logo} alt="Logo" class="logoImg" />
|
||||||
</a>
|
</a>
|
||||||
<div class="navLink">
|
<div class="navLink">
|
||||||
<a href="/" class="nostyle">
|
<a href="/" class="nostyle">
|
||||||
@ -15,9 +19,9 @@ import logo from "./logo.png";
|
|||||||
<span class="linkIcon"
|
<span class="linkIcon"
|
||||||
><Icon
|
><Icon
|
||||||
name="mdi:home"
|
name="mdi:home"
|
||||||
|
size={svgSize}
|
||||||
title="Home and Projects"
|
title="Home and Projects"
|
||||||
id="mdi_nav_home"
|
id="mdi_nav_home"
|
||||||
class="icon-2em"
|
|
||||||
/></span
|
/></span
|
||||||
>
|
>
|
||||||
</a>
|
</a>
|
||||||
@ -28,7 +32,7 @@ import logo from "./logo.png";
|
|||||||
<span class="linkIcon"
|
<span class="linkIcon"
|
||||||
><Icon
|
><Icon
|
||||||
name="mdi:account"
|
name="mdi:account"
|
||||||
class="icon-2em"
|
size={svgSize}
|
||||||
title="About Me"
|
title="About Me"
|
||||||
id="mdi_nav_aboutme"
|
id="mdi_nav_aboutme"
|
||||||
/></span
|
/></span
|
||||||
@ -40,7 +44,7 @@ import logo from "./logo.png";
|
|||||||
<a href="/terminal" class="nostyle">
|
<a href="/terminal" class="nostyle">
|
||||||
<Icon
|
<Icon
|
||||||
name="mdi:console"
|
name="mdi:console"
|
||||||
class="icon-2em"
|
size={svgSize}
|
||||||
title="Terminal"
|
title="Terminal"
|
||||||
id="mdi_nav_terminal"
|
id="mdi_nav_terminal"
|
||||||
/>
|
/>
|
||||||
|
@ -3,9 +3,9 @@ import { Icon } from "astro-icon/components";
|
|||||||
---
|
---
|
||||||
|
|
||||||
<div class="switch" transition:persist="theme-switch">
|
<div class="switch" transition:persist="theme-switch">
|
||||||
<Icon name="mdi:language-javascript" title="Theme switching needs JS to be enabled." data-theme-ph class="icon-15em" />
|
<Icon name="mdi:language-javascript" title="Theme switching needs JS to be enabled." data-theme-ph />
|
||||||
<Icon name="mdi:white-balance-sunny" title="Switch to dark theme" data-theme-sun class="icon-15em" />
|
<Icon name="mdi:white-balance-sunny" title="Switch to dark theme" data-theme-sun />
|
||||||
<Icon name="mdi:weather-night" title="Switch to light theme" data-theme-moon class="icon-15em" />
|
<Icon name="mdi:weather-night" title="Switch to light theme" data-theme-moon />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -40,7 +40,7 @@ const cardStyle = {
|
|||||||
.map((skill) => (
|
.map((skill) => (
|
||||||
<div class="skillBar">
|
<div class="skillBar">
|
||||||
<div class="barName">
|
<div class="barName">
|
||||||
<Icon name={skill.icon} class="icon-2em" />
|
<Icon name={skill.icon} />
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="percentBar"
|
class="percentBar"
|
||||||
@ -61,7 +61,7 @@ const cardStyle = {
|
|||||||
<>
|
<>
|
||||||
<div class="badge">
|
<div class="badge">
|
||||||
<span>
|
<span>
|
||||||
<Icon name={additional.icon} class="icon-1em" />
|
<Icon name={additional.icon} />
|
||||||
</span>
|
</span>
|
||||||
<span>{additional.name}</span>
|
<span>{additional.name}</span>
|
||||||
</div>
|
</div>
|
||||||
@ -202,6 +202,7 @@ const cardStyle = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
& > div:first-of-type {
|
& > div:first-of-type {
|
||||||
|
height: 2em;
|
||||||
grid-row: 1/3;
|
grid-row: 1/3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,8 +137,8 @@ const { title, showAfterMain, mainTransitionName } = Astro.props;
|
|||||||
<span class="divider">|</span>
|
<span class="divider">|</span>
|
||||||
{socials.flatMap((social, i) => (
|
{socials.flatMap((social, i) => (
|
||||||
i !== 0 ?
|
i !== 0 ?
|
||||||
[<span class="divider">|</span>, <a href={social.url} target="_blank" rel="noreferrer" class="socialIcon"><Icon name={social.icon} title={social.name} class="socialIcon" /></a>] :
|
[<span class="divider">|</span>, <a href={social.url} target="_blank" rel="noreferrer" class="socialIcon"><Icon name={social.icon} title={social.name} /></a>] :
|
||||||
[<a href={social.url} target="_blank" rel="noreferrer" class="socialIcon"><Icon name={social.icon} title={social.name} class="socialIcon" /></a>]
|
[<a href={social.url} target="_blank" rel="noreferrer" class="socialIcon"><Icon name={social.icon} title={social.name} /></a>]
|
||||||
))}
|
))}
|
||||||
<span class="divider">|</span>
|
<span class="divider">|</span>
|
||||||
<a class="nocolor" target="_blank" href="mailto:admin-website@c0ntroller.de" rel="noreferrer">Contact</a>
|
<a class="nocolor" target="_blank" href="mailto:admin-website@c0ntroller.de" rel="noreferrer">Contact</a>
|
||||||
@ -304,20 +304,4 @@ const { title, showAfterMain, mainTransitionName } = Astro.props;
|
|||||||
h6 {
|
h6 {
|
||||||
color: var(--blog_color-accent-dark);
|
color: var(--blog_color-accent-dark);
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-1em {
|
|
||||||
height: 1em;
|
|
||||||
width: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon-15em {
|
|
||||||
height: 1.5em;
|
|
||||||
width: 1.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon-2em {
|
|
||||||
height: 2em;
|
|
||||||
width: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -24,7 +24,7 @@ const gitUrl = `https://git.c0ntroller.de/c0ntroller/frontpage/src/branch/dev/sr
|
|||||||
|
|
||||||
{ moreLinks && moreLinks.length !== 0 ?
|
{ moreLinks && moreLinks.length !== 0 ?
|
||||||
<div class="more">
|
<div class="more">
|
||||||
{ moreLinks.map(l => <a href={l.href} referrerpolicy="no-referrer" class="nostyle"><Icon name={l.icon} class="icon-2em" /></a>) }
|
{ moreLinks.map(l => <a href={l.href} referrerpolicy="no-referrer" class="nostyle" style={{ display: "inline-block", width: "2em" }}><Icon name={l.icon} /></a>) }
|
||||||
</div>
|
</div>
|
||||||
: null}
|
: null}
|
||||||
<h1 transition:name={`markdown-title-${slug}`}>{title}</h1>
|
<h1 transition:name={`markdown-title-${slug}`}>{title}</h1>
|
||||||
|
@ -15,7 +15,7 @@ const age = new Date().getFullYear() - 1998 - (new Date().getMonth() <= 10 ? 1 :
|
|||||||
<Layout title="About me">
|
<Layout title="About me">
|
||||||
<h1>This is me.</h1>
|
<h1>This is me.</h1>
|
||||||
<div class="photo">
|
<div class="photo">
|
||||||
<Image src={pic} alt="Me" loading="eager" />
|
<Image src={pic} alt="Me" />
|
||||||
</div>
|
</div>
|
||||||
<div class="personal">
|
<div class="personal">
|
||||||
<p class="preText">
|
<p class="preText">
|
||||||
@ -67,16 +67,16 @@ const age = new Date().getFullYear() - 1998 - (new Date().getMonth() <= 10 ? 1 :
|
|||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
class="nocolor"
|
class="nocolor"
|
||||||
aria-label={`Link to my ${social.name} profile`}
|
style={{ width: "2em" }}
|
||||||
>
|
>
|
||||||
<Icon name={social.icon} class="icon-2em" />
|
<Icon name={social.icon} />
|
||||||
</a>
|
</a>
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
<h2>Achievements</h2>
|
<h2>Achievements</h2>
|
||||||
{achievements.map((achievement) => <div class="achievement">
|
{achievements.map((achievement) => <div class="achievement">
|
||||||
<Icon name={achievement.icon} class="icon-2em" /><span>{achievement.description}</span>
|
<Icon name={achievement.icon} /><span>{achievement.description}</span>
|
||||||
</div>)}
|
</div>)}
|
||||||
<h2>Skills</h2>
|
<h2>Skills</h2>
|
||||||
{skills.cards.map((card) => <SkillCard card={card} />)}
|
{skills.cards.map((card) => <SkillCard card={card} />)}
|
||||||
|
@ -7,7 +7,7 @@ const screenVersion = `${date.getFullYear()}${date.getMonth()+1}${date.getDate()
|
|||||||
const wasmVersion = wasmData.version;
|
const wasmVersion = wasmData.version;
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout title="Terminal" showAfterMain>
|
<Layout title="Terminal">
|
||||||
<div class="screen" data-terminal-screen>
|
<div class="screen" data-terminal-screen>
|
||||||
<div data-terminal-output>
|
<div data-terminal-output>
|
||||||
<noscript><pre>You need to enable JavaScript to use this terminal.</pre></noscript>
|
<noscript><pre>You need to enable JavaScript to use this terminal.</pre></noscript>
|
||||||
@ -29,16 +29,12 @@ const wasmVersion = wasmData.version;
|
|||||||
@@@@@
|
@@@@@
|
||||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@</pre>
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@</pre>
|
||||||
</div>
|
</div>
|
||||||
<div class="input"><pre class="user">user@cer0</pre><pre>:</pre><pre class="pwd">/</pre><pre class="dollar">$ </pre><input type="text" data-terminal-input /></div>
|
<div class="input"><pre class="user">user@cer0</pre><pre>:</pre><pre class="pwd">/</pre><pre class="dollar">$ </pre><input type="text" data-terminal-input autofocus /></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<template data-terminal-user-cmd>
|
<template data-terminal-user-cmd>
|
||||||
<pre><pre class="user">user@cer0</pre><pre>:</pre><pre class="pwd"></pre><pre class="dollar">$ </pre><pre class="user-cmd"></pre></pre>
|
<pre><pre class="user">user@cer0</pre><pre>:</pre><pre class="pwd"></pre><pre class="dollar">$ </pre><pre class="user-cmd"></pre></pre>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<div slot="after-main" class="more">
|
|
||||||
Read more about the development of this terminal <a href="/blog/wasm-terminal" class="nocolor">here</a>.
|
|
||||||
</div>
|
|
||||||
</Layout>
|
</Layout>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -188,12 +184,4 @@ const wasmVersion = wasmData.version;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.more {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
font-style: italic;
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
</style>
|
Loading…
Reference in New Issue
Block a user