fixed typos, added logos, changed email
1
.gitignore
vendored
|
@ -19,3 +19,4 @@ pnpm-debug.log*
|
||||||
|
|
||||||
# macOS-specific files
|
# macOS-specific files
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
sync.sh
|
||||||
|
|
78
public/assets/favicon.svg
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="300"
|
||||||
|
height="300"
|
||||||
|
viewBox="0 0 300 300"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:export-filename="git_favicon.png"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||||
|
sodipodi:docname="favicon.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="namedview1"
|
||||||
|
pagecolor="#505050"
|
||||||
|
bordercolor="#ffffff"
|
||||||
|
borderopacity="1"
|
||||||
|
inkscape:showpageshadow="0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pagecheckerboard="1"
|
||||||
|
inkscape:deskcolor="#505050"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:zoom="2.2250293"
|
||||||
|
inkscape:cx="126.96462"
|
||||||
|
inkscape:cy="169.8854"
|
||||||
|
inkscape:window-width="1906"
|
||||||
|
inkscape:window-height="1164"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1"><sodipodi:guide
|
||||||
|
position="-30.561395,300"
|
||||||
|
orientation="0,-1"
|
||||||
|
id="guide1"
|
||||||
|
inkscape:locked="false" /><sodipodi:guide
|
||||||
|
position="-69.662003,-0.22076072"
|
||||||
|
orientation="0,-1"
|
||||||
|
id="guide2"
|
||||||
|
inkscape:locked="false" /><sodipodi:guide
|
||||||
|
position="0,78.87932"
|
||||||
|
orientation="1,0"
|
||||||
|
id="guide3"
|
||||||
|
inkscape:locked="false" /><sodipodi:guide
|
||||||
|
position="300.22076,134.15949"
|
||||||
|
orientation="1,0"
|
||||||
|
id="guide4"
|
||||||
|
inkscape:locked="false" /></sodipodi:namedview><defs
|
||||||
|
id="defs1"><clipPath
|
||||||
|
id="a"><path
|
||||||
|
d="M0 .113h91.887V92H0Zm0 0"
|
||||||
|
id="path1" /></clipPath></defs><g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"><rect
|
||||||
|
style="fill:#121412;fill-opacity:1;stroke-width:1.05615"
|
||||||
|
id="rect1"
|
||||||
|
width="300"
|
||||||
|
height="300"
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
ry="41.023827" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:245.333px;font-family:Fahkwang;-inkscape-font-specification:'Fahkwang Bold';fill:#121412;fill-opacity:1;stroke-width:1"
|
||||||
|
x="48.309475"
|
||||||
|
y="235.86653"
|
||||||
|
id="text6"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan6"
|
||||||
|
x="48.309475"
|
||||||
|
y="235.86653"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:245.333px;font-family:Fahkwang;-inkscape-font-specification:'Fahkwang Bold';fill:#f2fcf4;fill-opacity:1;stroke-width:1">N</tspan></text></g></svg>
|
After Width: | Height: | Size: 2.8 KiB |
90
public/assets/favicon_git_inkscape.svg
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="300"
|
||||||
|
height="300"
|
||||||
|
viewBox="0 0 300 300"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:export-filename="git_favicon.png"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||||
|
sodipodi:docname="favicon_git.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="namedview1"
|
||||||
|
pagecolor="#505050"
|
||||||
|
bordercolor="#ffffff"
|
||||||
|
borderopacity="1"
|
||||||
|
inkscape:showpageshadow="0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pagecheckerboard="1"
|
||||||
|
inkscape:deskcolor="#505050"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:zoom="2.2250293"
|
||||||
|
inkscape:cx="126.96462"
|
||||||
|
inkscape:cy="169.8854"
|
||||||
|
inkscape:window-width="1906"
|
||||||
|
inkscape:window-height="1164"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1"><sodipodi:guide
|
||||||
|
position="-30.561395,300"
|
||||||
|
orientation="0,-1"
|
||||||
|
id="guide1"
|
||||||
|
inkscape:locked="false" /><sodipodi:guide
|
||||||
|
position="-69.662003,-0.22076072"
|
||||||
|
orientation="0,-1"
|
||||||
|
id="guide2"
|
||||||
|
inkscape:locked="false" /><sodipodi:guide
|
||||||
|
position="0,78.87932"
|
||||||
|
orientation="1,0"
|
||||||
|
id="guide3"
|
||||||
|
inkscape:locked="false" /><sodipodi:guide
|
||||||
|
position="300.22076,134.15949"
|
||||||
|
orientation="1,0"
|
||||||
|
id="guide4"
|
||||||
|
inkscape:locked="false" /></sodipodi:namedview><defs
|
||||||
|
id="defs1"><clipPath
|
||||||
|
id="a"><path
|
||||||
|
d="M0 .113h91.887V92H0Zm0 0"
|
||||||
|
id="path1" /></clipPath></defs><g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"><rect
|
||||||
|
style="fill:#121412;fill-opacity:1;stroke-width:0.704285"
|
||||||
|
id="rect1"
|
||||||
|
width="200.05225"
|
||||||
|
height="200.05225"
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
ry="27.356361" /><rect
|
||||||
|
style="fill:#121412;fill-opacity:1;stroke-width:0.42276"
|
||||||
|
id="rect1-4"
|
||||||
|
width="120.48536"
|
||||||
|
height="119.68626"
|
||||||
|
x="232.76726"
|
||||||
|
y="-53.60133"
|
||||||
|
ry="16.366627"
|
||||||
|
transform="rotate(43.795632)" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:163.598px;font-family:Fahkwang;-inkscape-font-specification:'Fahkwang Bold';fill:#121412;fill-opacity:1;stroke-width:0.666841"
|
||||||
|
x="32.214729"
|
||||||
|
y="157.28543"
|
||||||
|
id="text6"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan6"
|
||||||
|
x="32.214729"
|
||||||
|
y="157.28543"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:163.598px;font-family:Fahkwang;-inkscape-font-specification:'Fahkwang Bold';fill:#f2fcf4;fill-opacity:1;stroke-width:0.666841">N</tspan></text><path
|
||||||
|
style="fill:#f03c2e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.06862"
|
||||||
|
d="m 296.20681,196.64893 -82.99335,-82.98714 a 12.242143,12.242143 0 0 0 -17.31858,0 l -17.22753,17.23579 21.85713,21.85713 a 14.542457,14.542457 0 0 1 14.95617,3.48356 14.55073,14.55073 0 0 1 3.45256,15.05342 l 21.07311,21.0669 a 14.538321,14.538321 0 0 1 15.05547,3.45876 14.563144,14.563144 0 0 1 0,20.59732 14.583829,14.583829 0 0 1 -20.61386,0 14.571418,14.571418 0 0 1 -3.16087,-15.84568 l -19.65197,-19.64576 v 51.70948 a 14.563144,14.563144 0 0 1 3.84765,23.35483 14.563144,14.563144 0 0 1 -20.59732,0 14.563144,14.563144 0 0 1 0,-20.59941 14.604517,14.604517 0 0 1 4.76612,-3.18361 v -52.1853 a 14.581763,14.581763 0 0 1 -7.90218,-19.1017 L 170.1984,139.3624 113.28629,196.26002 a 12.256622,12.256622 0 0 0 0,17.3165 l 82.99751,82.99751 a 12.256622,12.256622 0 0 0 17.31442,0 l 82.60859,-82.60861 a 12.256622,12.256622 0 0 0 0,-17.31649"
|
||||||
|
id="path2"
|
||||||
|
clip-path="url(#clipPath3)" /></g></svg>
|
After Width: | Height: | Size: 4 KiB |
37
public/assets/favicon_git_normal.svg
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="300"
|
||||||
|
height="300"
|
||||||
|
viewBox="0 0 300 300"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
xml:space="preserve"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||||
|
id="defs1" /><g
|
||||||
|
id="layer1"><rect
|
||||||
|
style="fill:#121412;fill-opacity:1;stroke-width:0.704285"
|
||||||
|
id="rect1"
|
||||||
|
width="200.05225"
|
||||||
|
height="200.05225"
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
ry="27.356361" /><rect
|
||||||
|
style="fill:#121412;fill-opacity:1;stroke-width:0.42276"
|
||||||
|
id="rect1-4"
|
||||||
|
width="120.48536"
|
||||||
|
height="119.68626"
|
||||||
|
x="232.76726"
|
||||||
|
y="-53.60133"
|
||||||
|
ry="16.366627"
|
||||||
|
transform="rotate(43.795632)" /><path
|
||||||
|
style="font-weight:bold;font-size:163.598px;font-family:Fahkwang;-inkscape-font-specification:'Fahkwang Bold';fill:#f2fcf4;stroke-width:0.666841"
|
||||||
|
d="M 43.993786,42.766826 H 71.314653 L 129.88274,120.14868 V 42.766826 h 26.17568 V 157.28543 H 137.40825 L 70.169467,67.306527 V 157.28543 H 43.993786 Z"
|
||||||
|
id="text6"
|
||||||
|
aria-label="N" /><path
|
||||||
|
style="fill:#f03c2e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.06862"
|
||||||
|
d="m 296.20681,196.64893 -82.99335,-82.98714 a 12.242143,12.242143 0 0 0 -17.31858,0 l -17.22753,17.23579 21.85713,21.85713 a 14.542457,14.542457 0 0 1 14.95617,3.48356 14.55073,14.55073 0 0 1 3.45256,15.05342 l 21.07311,21.0669 a 14.538321,14.538321 0 0 1 15.05547,3.45876 14.563144,14.563144 0 0 1 0,20.59732 14.583829,14.583829 0 0 1 -20.61386,0 14.571418,14.571418 0 0 1 -3.16087,-15.84568 l -19.65197,-19.64576 v 51.70948 a 14.563144,14.563144 0 0 1 3.84765,23.35483 14.563144,14.563144 0 0 1 -20.59732,0 14.563144,14.563144 0 0 1 0,-20.59941 14.604517,14.604517 0 0 1 4.76612,-3.18361 v -52.1853 a 14.581763,14.581763 0 0 1 -7.90218,-19.1017 L 170.1984,139.3624 113.28629,196.26002 a 12.256622,12.256622 0 0 0 0,17.3165 l 82.99751,82.99751 a 12.256622,12.256622 0 0 0 17.31442,0 l 82.60859,-82.60861 a 12.256622,12.256622 0 0 0 0,-17.31649"
|
||||||
|
id="path2"
|
||||||
|
clip-path="url(#clipPath3)" /></g></svg>
|
After Width: | Height: | Size: 2.1 KiB |
25
public/assets/favicon_normal.svg
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="300"
|
||||||
|
height="300"
|
||||||
|
viewBox="0 0 300 300"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
xml:space="preserve"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||||
|
id="defs1" /><g
|
||||||
|
id="layer1"><rect
|
||||||
|
style="fill:#121412;fill-opacity:1;stroke-width:1.05615"
|
||||||
|
id="rect1"
|
||||||
|
width="300"
|
||||||
|
height="300"
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
ry="41.023827" /><path
|
||||||
|
style="font-weight:bold;font-size:245.333px;font-family:Fahkwang;-inkscape-font-specification:'Fahkwang Bold';fill:#f2fcf4"
|
||||||
|
d="m 65.97345,64.133437 h 40.97061 L 194.77327,180.17594 V 64.133437 h 39.25328 V 235.86653 H 206.05859 L 105.22673,100.93339 V 235.86653 H 65.97345 Z"
|
||||||
|
id="text6"
|
||||||
|
aria-label="N" /></g></svg>
|
After Width: | Height: | Size: 879 B |
BIN
public/assets/logo.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
public/assets/logo_git.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
public/favicon.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
|
@ -1,9 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128">
|
|
||||||
<path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" />
|
|
||||||
<style>
|
|
||||||
path { fill: #000; }
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
path { fill: #FFF; }
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 749 B |
BIN
public/favicon_git.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
|
@ -15,7 +15,7 @@ const opts = options as ISourceOptions;
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
<link rel="icon" type="image/svg+xml" href="/favicon.png" />
|
||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
<meta name="generator" content={Astro.generator} />
|
<meta name="generator" content={Astro.generator} />
|
||||||
<link rel="preconnect" href="https://fonts.bunny.net" />
|
<link rel="preconnect" href="https://fonts.bunny.net" />
|
||||||
|
@ -28,11 +28,11 @@ const opts = options as ISourceOptions;
|
||||||
|
|
||||||
<body class="bg-secondary text-primary relative" id="tsparticles">
|
<body class="bg-secondary text-primary relative" id="tsparticles">
|
||||||
<Header />
|
<Header />
|
||||||
<Profile />
|
<Profile id="profile"/>
|
||||||
<Projects />
|
<Projects id="projects"/>
|
||||||
<Contact />
|
<Contact id="contact"/>
|
||||||
<Footer />
|
<Footer />
|
||||||
<div class="absolute left-0 top-0 z-[-2] h-full w-full">
|
<div class="hidden md:block absolute left-0 top-0 z-[-2] h-full w-full">
|
||||||
<Particles id="tsparticles" options={opts} init="particlesInit"/>
|
<Particles id="tsparticles" options={opts} init="particlesInit"/>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -3,9 +3,10 @@ import Section from "../components/Section.astro";
|
||||||
import SecHeading from "../components/SecHeading.astro";
|
import SecHeading from "../components/SecHeading.astro";
|
||||||
import BodyText from "../components/BodyText.astro";
|
import BodyText from "../components/BodyText.astro";
|
||||||
import Link from "../components/Link.astro";
|
import Link from "../components/Link.astro";
|
||||||
|
const { ...rest } = Astro.props;
|
||||||
---
|
---
|
||||||
|
|
||||||
<Section>
|
<Section {...rest}>
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<SecHeading>CONTACT</SecHeading>
|
<SecHeading>CONTACT</SecHeading>
|
||||||
</div>
|
</div>
|
||||||
|
@ -14,5 +15,5 @@ import Link from "../components/Link.astro";
|
||||||
Email me at
|
Email me at
|
||||||
</BodyText>
|
</BodyText>
|
||||||
</div>
|
</div>
|
||||||
<Link href="mailto:noah@noahsw.xyz">noah@noahsw.xyz</Link>
|
<Link href="mailto:noahs@uchicago.edu">noahs@uchicago.edu</Link>
|
||||||
</Section>
|
</Section>
|
||||||
|
|
|
@ -6,10 +6,10 @@ import Section from "../components/Section.astro";
|
||||||
<div
|
<div
|
||||||
class="flex flex-cols justify-between md:gap-4 gap-1 my-2 md:text-lg font-display"
|
class="flex flex-cols justify-between md:gap-4 gap-1 my-2 md:text-lg font-display"
|
||||||
>
|
>
|
||||||
<div>PROFILE</div>
|
<div><a href="#profile">PROFILE</a></div>
|
||||||
<div>·</div>
|
<div>·</div>
|
||||||
<div>PROJECTS</div>
|
<div><a href="#projects">PROJECTS</a></div>
|
||||||
<div>·</div>
|
<div>·</div>
|
||||||
<div>CONTACT</div>
|
<div><a href="#contact">CONTACT</a></div>
|
||||||
</div>
|
</div>
|
||||||
</Section>
|
</Section>
|
||||||
|
|
|
@ -2,9 +2,10 @@
|
||||||
import Section from "../components/Section.astro";
|
import Section from "../components/Section.astro";
|
||||||
import BodyText from "../components/BodyText.astro";
|
import BodyText from "../components/BodyText.astro";
|
||||||
import SecHeading from "../components/SecHeading.astro";
|
import SecHeading from "../components/SecHeading.astro";
|
||||||
|
const { ...rest } = Astro.props;
|
||||||
---
|
---
|
||||||
|
|
||||||
<Section>
|
<Section {...rest}>
|
||||||
<div class="flex md:flex-row flex-col-reverse justify-around items-center">
|
<div class="flex md:flex-row flex-col-reverse justify-around items-center">
|
||||||
<div class="basis-1/2 my-7">
|
<div class="basis-1/2 my-7">
|
||||||
<SecHeading>PROFILE</SecHeading>
|
<SecHeading>PROFILE</SecHeading>
|
||||||
|
@ -23,7 +24,7 @@ import SecHeading from "../components/SecHeading.astro";
|
||||||
<BodyText>
|
<BodyText>
|
||||||
Outside of work and school, Noah enjoys reading and programming. His
|
Outside of work and school, Noah enjoys reading and programming. His
|
||||||
preferred genre of literature is the philosophical novel; among his
|
preferred genre of literature is the philosophical novel; among his
|
||||||
favories are Dostoevsky's <em>The Idiot</em> and di Lampedusa's
|
favorites are Dostoevsky's <em>The Idiot</em> and di Lampedusa's
|
||||||
<em>The Leopard.</em>
|
<em>The Leopard.</em>
|
||||||
</BodyText>
|
</BodyText>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,8 +5,9 @@ import SecHeading from "../components/SecHeading.astro";
|
||||||
import SubHeading from "../components/SubHeading.astro";
|
import SubHeading from "../components/SubHeading.astro";
|
||||||
import Link from "../components/Link.astro";
|
import Link from "../components/Link.astro";
|
||||||
import LinkButton from "../components/LinkButton.astro";
|
import LinkButton from "../components/LinkButton.astro";
|
||||||
|
const { ...rest } = Astro.props;
|
||||||
---
|
---
|
||||||
<Section class="mb-7">
|
<Section class="mb-7" {...rest}>
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<SecHeading>PROJECTS</SecHeading>
|
<SecHeading>PROJECTS</SecHeading>
|
||||||
</div>
|
</div>
|
||||||
|
@ -24,7 +25,7 @@ import LinkButton from "../components/LinkButton.astro";
|
||||||
<BodyText>
|
<BodyText>
|
||||||
ngen (engine) is a simple makefile generator for the Ninja build system.
|
ngen (engine) is a simple makefile generator for the Ninja build system.
|
||||||
Unlike other, more complex meta build systems, which require
|
Unlike other, more complex meta build systems, which require
|
||||||
knowledge unique configuration languages, ngen uses an
|
knowledge of unique configuration languages, ngen uses an
|
||||||
easy-to-understand key-value file, making build configuration simpler
|
easy-to-understand key-value file, making build configuration simpler
|
||||||
and easier for small to medium sized projects.
|
and easier for small to medium sized projects.
|
||||||
</BodyText>
|
</BodyText>
|
||||||
|
|