diff options
| -rw-r--r-- | about.html | 169 | ||||
| -rw-r--r-- | articles/back-in-the-saddle.html | 119 | ||||
| -rw-r--r-- | blog.html | 17 | ||||
| -rw-r--r-- | composer.json | 6 | ||||
| -rw-r--r-- | composer.lock | 560 | ||||
| -rw-r--r-- | contact.html | 72 | ||||
| -rw-r--r-- | contact.php | 60 | ||||
| -rw-r--r-- | css/blog-post.css | 2 | ||||
| -rw-r--r-- | css/blog-styles.css | 18 | ||||
| -rw-r--r-- | css/projects-styles.css | 4 | ||||
| -rw-r--r-- | images/articles/IMG_3080.jpg | bin | 0 -> 1109936 bytes | |||
| -rw-r--r-- | projects.html | 2 | ||||
| -rw-r--r-- | valentine.html | 53 | ||||
| -rw-r--r-- | yesvalentine.html | 47 |
14 files changed, 249 insertions, 880 deletions
@@ -1,100 +1,89 @@ <!DOCTYPE html> <html lang="en"> - <head> - <!-- PAGE SETUP--> - <title>peten.ca | about</title> - <link rel="icon" type="image/x-icon" href="/images/petemcgeenobg.png" /> - <meta charset="utf-8" /> - <meta - content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;" - name="viewport" - /> - <meta name="viewport" content="width=device-width" /> - <!-- CSS --> - <link href="/css/about-styles.css" rel="stylesheet" /> - <link - href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" - rel="stylesheet" - integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" - crossorigin="anonymous" - /> +<head> + <!-- PAGE SETUP--> + <title>peten.ca | about</title> + <link rel="icon" type="image/x-icon" href="/images/petemcgeenobg.png" /> + <meta charset="utf-8" /> + <meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;" name="viewport" /> + <meta name="viewport" content="width=device-width" /> - <!-- JS --> - <script - src="https://code.jquery.com/jquery-3.7.1.js" - integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=" - crossorigin="anonymous" - ></script> - <script src="/scripts/peten.js"></script> - <script src="https://unpkg.com/typed.js@2.1.0/dist/typed.umd.js"></script> + <!-- CSS --> + <link href="/css/about-styles.css" rel="stylesheet" /> + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" + integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous" /> - <!-- FONTS --> - <link rel="preconnect" href="https://fonts.googleapis.com" /> - <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> - <link - href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Ubuntu+Sans:ital,wght@0,100..800;1,100..800&display=swap" - rel="stylesheet" - /> - </head> + <!-- JS --> + <script src="https://code.jquery.com/jquery-3.7.1.js" integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=" + crossorigin="anonymous"></script> + <script src="/scripts/peten.js"></script> + <script src="https://unpkg.com/typed.js@2.1.0/dist/typed.umd.js"></script> - <body class="font-montserrat fade-in"> - <header> - <div class="header"> - <h1 class="text-dark" onclick="history.back()">← back</h1> - </div> - </header> - <main> - <div class="about-intro"> - <p class="about-text"> - Hey, I’m <b>Peter</b>. <br /> - <br /> - I am (currently) an apprentice carpenter. I am <b>NOT</b> a - programmer, front OR backend engineer, or webdev. This is just a - side-project. <br /> - <br /> - When I’m not working, I enjoy long walks on the beach, knitting, - unicorns, and puppies. When I am working, I enjoy cigarettes and black - coffee. - </p> - <img src="/images/retep_portrait.png" class="about-image" /> - </div> + <!-- FONTS --> + <link rel="preconnect" href="https://fonts.googleapis.com" /> + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> + <link + href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Ubuntu+Sans:ital,wght@0,100..800;1,100..800&display=swap" + rel="stylesheet" /> +</head> - <div class="about-section"> - <h1>bio</h1> - <p class="about-section-text"> - Peter Nguyen is a Canadian creator, programmer, apprentice carpenter, - chemist, underwater ceramics technician, and much more. He currently - lives in Regina, Saskatchewan - where he was born and raised. Forbes - Magazine called him "the second most important thing to come out of - 2006" next to Microsoft Windows Vista. - </p> - </div> +<body class="font-montserrat fade-in"> + <header> + <div class="header"> + <h1 class="text-dark" onclick="history.back()">← back</h1> + </div> + </header> + <main> + <div class="about-intro"> + <p class="about-text"> + Hey, I’m <b>Peter</b>. <br /> + <br /> + I am (currently) a first year university student. I am <b>NOT</b> a + programmer, front OR backend engineer, or webdev. This is just a + side-project. <br /> + <br /> + When I’m not working, I enjoy long walks on the beach, knitting, + unicorns, and puppies. When I am working, I enjoy cigarettes and black + coffee. + </p> + <img src="/images/retep_portrait.png" class="about-image" /> + </div> - <div class="about-section"> - <h1>about this site</h1> - <p class="about-section-text"> - This site was made possible by way of really, really, hideously sloppy - code and late nights. It's a miracle that the CSS media queries - actually make the site mobile responsive (thanks ChatGPT). I bought - the domain peten.ca on a whim, and unfortunately, it has come to my - attention that a Toronto-based photographer not only owns the domain - petern.ca, but that his name is also Peter Nguyen. So that's - interesting, I guess. - </p> - </div> - </main> + <div class="about-section"> + <h1>bio</h1> + <p class="about-section-text"> + Peter Nguyen is a Canadian creator, programmer, (former) apprentice carpenter, + chemist, underwater ceramics technician, and much more. He currently + lives in Victoria, British Columbia - where he is studying. Forbes + Magazine called him "the second most important thing to come out of + 2006" next to Microsoft Windows Vista. + </p> + </div> - <footer class="footer"> - Copyright Peter Nguyen <span id="copyright-year"></span>. All rights - reserved. - </footer> + <div class="about-section"> + <h1>about this site</h1> + <p class="about-section-text"> + This site was made possible by way of really, really, hideously sloppy + code and late nights. It's a miracle that the CSS media queries + actually make the site mobile responsive (thanks ChatGPT). I bought + the domain peten.ca on a whim, and unfortunately, it has come to my + attention that a Toronto-based photographer not only owns the domain + petern.ca, but that his name is also Peter Nguyen. So that's + interesting, I guess. + </p> + </div> + </main> - <!-- BOOTSTAP JS --> - <script - src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" - integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" - crossorigin="anonymous" - ></script> - </body> -</html> + <footer class="footer"> + Copyright Peter Nguyen <span id="copyright-year"></span>. All rights + reserved. + </footer> + + <!-- BOOTSTAP JS --> + <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" + integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" + crossorigin="anonymous"></script> +</body> + +</html>
\ No newline at end of file diff --git a/articles/back-in-the-saddle.html b/articles/back-in-the-saddle.html new file mode 100644 index 0000000..d748d1f --- /dev/null +++ b/articles/back-in-the-saddle.html @@ -0,0 +1,119 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <!-- PAGE SETUP--> + <title>peten.ca | BACK IN THE SADDLE</title> + <link rel="icon" type="image/x-icon" href="/images/petemcgeenobg.png"> + <meta charset="utf-8"> + <meta content='width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;' name='viewport' /> + <meta name="viewport" content="width=device-width" /> + + <!-- CSS --> + <link href="/css/blog-post.css" rel="stylesheet"> + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" + integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> + + <!-- JS --> + <script src="https://code.jquery.com/jquery-3.7.1.js" + integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=" crossorigin="anonymous"></script> + <script src="/scripts/peten.js"></script> + <script src="https://unpkg.com/typed.js@2.1.0/dist/typed.umd.js"></script> + + <!-- FONTS --> + <link rel="preconnect" href="https://fonts.googleapis.com"> + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> + <link + href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Ubuntu+Sans:ital,wght@0,100..800;1,100..800&display=swap" + rel="stylesheet"> + +</head> + +<body class="font-montserrat fade-in"> + <header> + + + <div class="header text-dark"> + <a href="/blog.html">← BLOG POSTS</a> + <span class="date"> + SEP 5, 2025 + </span> + </div> + </header> + + <main class="blog-post"> + <h1>BACK IN THE SADDLE</h1> + + <p> + <i>Morale is high. Life is good. I can't complain. + </i> + <br> <br> + <img src="/images/articles/IMG_3080.jpg"> + <br> + <b>Regina Community Fridge Project</b> + <br> + <i>From left to right: Vincent, Me (Peter), Boh, and Adam</i> + <br> <br> + Kept you waitin', huh? + <br> <br> + Welcome back. It really has been a while, hasn't it? I've missed you, friend. And now I'm back, and exactly + where I want to be. + <br> <br> + For those who don't know, I've moved west. Onto the great green shores of British Columbia, where things are + popping. To commemorate the occasion, I've changed my description on all the pages from "Apprentice + carpenter, hobbyist programmer and mostly average high + school graduate" to something a little bit fresher, a little bit sweeter. I truly hope you'll enjoy it. + <br> <br> + My summer was great -- thanks for asking 😊. I had a swell time with brothers (close enough) and friends and + family, but that's + all over. We, and I mean WE, are LOCKED IN. First-year engineering student Peter Nguyen. That whole little + thing with the framing.. and the bleakness.. and the working.. it's all over! Honestly, I forgot how much + school meant to me. I can sit real schizo-like typing stuff in my room, alone. + <br> <br> + Don't worry, I know what you're thinking. "Peter, what happened to the army thing that you discussed at + length in your previous blog posts?" To that, I say this: I am allergic to walnuts, and there have been + complications. But it isn't over yet. Far from it. Regardless, I am kind of preoccupied with a one-year + lease and a suite in a house with chill roommates. Young professional type deal, you dig? + <br> <br> + I'm here, going to lecture, figuring things out, and starting work again. I know, I know. You're going to + say: "Peter, you're crazy! Engineering AND a job?" To that, I say: I literally cannot afford this without + working on the side. Thankfully, being a CATSA SOF Certified Screening Officer is also valuable in Victoria, + BC. I was worried for a minute that all these moving parts were going to come undone. Granted, things have + not picked up too much. Have faith, though. Come on. You're on my blog, reading my work, and you want to be + like that 😞. + <br> <br> + Vincent would probably want me to mention something about the drive we made here, so here's the section + where I talk about driving to Victoria. I drove from Regina to Victoria, over the course of a few days. Took + the ferry across, and it was awesome. Honestly, not as painful as I had figured. Lots of coffee and fast + food was involved, but I've since burned that all off. We're on rations now. + <br> <br> + And now I'm here, and hopeful. Things are finally looking up, and I'm so glad. If you had faith in me, then + thanks. It really means a lot. If you didn't have faith: I have some strong words for you. Contact me at <a + class="inline-link" href="mailto:petendotca@protonmail.com">petendotca@protonmail.com</a>. + <br> <br> + TLDR: Moved to Victoria, started university. Studying hard with a newfound appreciation for school. + Reflecting on a pretty eventful summer. Worrying (probably as I should) about money and rent. Keeping busy, + and doing my best to be out here. + <br> <br> + Anyways, I think that's about it. + <br> <br> + I'm sure there'll be more to come throughout the year. + <br> <br> + Your friend, Peter. + </p> + </main> + + + </div> + + <footer class="footer"> + Copyright Peter Nguyen <span id="copyright-year"></span>. All rights reserved. + </footer> + + <!-- BOOTSTAP JS --> + <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" + integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" + crossorigin="anonymous"></script> +</body> + +</html>
\ No newline at end of file @@ -34,8 +34,7 @@ <img src="/images/PeteMcGee.png" alt="Profile Picture" class="profile-pic" /> <h2 class="text-dark"><a href="index.html">peter nguyen</a></h2> <p> - Apprentice carpenter, hobbyist programmer and mostly average high - school graduate. + First year university student, screening officer, former apprentice carpenter, and (mostly) average high school graduate. </p> <nav> <ul> @@ -57,7 +56,19 @@ <main class="blog-content"> <article> - <hr /> + <hr> + <a href="articles/back-in-the-saddle.html"> + <span class="date">SEP 5, 2025 • 6 MIN READ</span> + <h1 class="text-dark">BACK IN THE SADDLE</h1> + <p> + Moved to Victoria, started university. Studying hard with a newfound appreciation for school. + Reflecting on a pretty eventful summer. Worrying (probably as I should) about money and rent. Keeping busy, + and doing my best to be out here. + </p> + </a> + </article> + <article> + <hr> <a href="articles/do-nothing-simulator.html"> <span class="date">MAR 5, 2025 • 6 MIN READ</span> <h1 class="text-dark">"Do Nothing Simulator"</h1> diff --git a/composer.json b/composer.json deleted file mode 100644 index 19e09b0..0000000 --- a/composer.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "require": { - "phpmailer/phpmailer": "^6.9", - "vlucas/phpdotenv": "^5.6" - } -} diff --git a/composer.lock b/composer.lock deleted file mode 100644 index 0f11737..0000000 --- a/composer.lock +++ /dev/null @@ -1,560 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "43f04f8ab298ae680223494104e06cf9", - "packages": [ - { - "name": "graham-campbell/result-type", - "version": "v1.1.3", - "source": { - "type": "git", - "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" - }, - "type": "library", - "autoload": { - "psr-4": { - "GrahamCampbell\\ResultType\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "An Implementation Of The Result Type", - "keywords": [ - "Graham Campbell", - "GrahamCampbell", - "Result Type", - "Result-Type", - "result" - ], - "support": { - "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", - "type": "tidelift" - } - ], - "time": "2024-07-20T21:45:45+00:00" - }, - { - "name": "phpmailer/phpmailer", - "version": "v6.9.3", - "source": { - "type": "git", - "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "2f5c94fe7493efc213f643c23b1b1c249d40f47e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/2f5c94fe7493efc213f643c23b1b1c249d40f47e", - "reference": "2f5c94fe7493efc213f643c23b1b1c249d40f47e", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-filter": "*", - "ext-hash": "*", - "php": ">=5.5.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^1.0", - "doctrine/annotations": "^1.2.6 || ^1.13.3", - "php-parallel-lint/php-console-highlighter": "^1.0.0", - "php-parallel-lint/php-parallel-lint": "^1.3.2", - "phpcompatibility/php-compatibility": "^9.3.5", - "roave/security-advisories": "dev-latest", - "squizlabs/php_codesniffer": "^3.7.2", - "yoast/phpunit-polyfills": "^1.0.4" - }, - "suggest": { - "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", - "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", - "ext-openssl": "Needed for secure SMTP sending and DKIM signing", - "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", - "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", - "league/oauth2-google": "Needed for Google XOAUTH2 authentication", - "psr/log": "For optional PSR-3 debug logging", - "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", - "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPMailer\\PHPMailer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-only" - ], - "authors": [ - { - "name": "Marcus Bointon", - "email": "phpmailer@synchromedia.co.uk" - }, - { - "name": "Jim Jagielski", - "email": "jimjag@gmail.com" - }, - { - "name": "Andy Prevost", - "email": "codeworxtech@users.sourceforge.net" - }, - { - "name": "Brent R. Matzelle" - } - ], - "description": "PHPMailer is a full-featured email creation and transfer class for PHP", - "support": { - "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.3" - }, - "funding": [ - { - "url": "https://github.com/Synchro", - "type": "github" - } - ], - "time": "2024-11-24T18:04:13+00:00" - }, - { - "name": "phpoption/phpoption", - "version": "1.9.3", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54", - "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - }, - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "PhpOption\\": "src/PhpOption/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh" - }, - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.3" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2024-07-20T21:41:07+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v5.6.1", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.3", - "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3", - "symfony/polyfill-ctype": "^1.24", - "symfony/polyfill-mbstring": "^1.24", - "symfony/polyfill-php80": "^1.24" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "ext-filter": "*", - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" - }, - "suggest": { - "ext-filter": "Required to use the boolean validator." - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - }, - "branch-alias": { - "dev-master": "5.6-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://github.com/vlucas" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "support": { - "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "type": "tidelift" - } - ], - "time": "2024-07-20T21:52:34+00:00" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": {}, - "prefer-stable": false, - "prefer-lowest": false, - "platform": {}, - "platform-dev": {}, - "plugin-api-version": "2.6.0" -} diff --git a/contact.html b/contact.html index 9453c88..519fc43 100644 --- a/contact.html +++ b/contact.html @@ -34,8 +34,8 @@ <img src="/images/PeteMcGee.png" alt="Profile Picture" class="profile-pic" /> <h2 class="text-dark"><a href="index.html">peter nguyen</a></h2> <p> - Apprentice carpenter, hobbyist programmer and mostly average high - school graduate. + First year university student, screening officer, former apprentice carpenter, and (mostly) average high school + graduate. </p> <nav> <ul> @@ -56,34 +56,20 @@ </aside> <main class="blog-content"> - <h3>Contact</h3> - - <form id="contactForm" action="contact.php" method="POST"> - <label for="name">Name:</label> - <input type="text" id="name" name="name" required> - - <label for="email">Email:</label> - <input type="email" id="email" name="email" required> - - <label class="form-label" for="message">Message:</label> - <textarea id="message" name="message" required></textarea> - - <!-- Google reCAPTCHA --> - <div class="g-recaptcha" data-sitekey="6LdCkMwqAAAAAMBqomzrbldJdtsmMNAeCzKSPHZK"></div> - - <button type="submit">Send</button> - </form> - - <!-- Response message container --> - <p id="responseMessage"></p> - - - + <h1 class="contact">contact</h1> + <p class="contact-text">personal—<a class="inline-link" + href="mailto:petendotca@protonmail.com">petendotca@protonmail.com</a> + <br>for any and all inquiries. + <br><br> + school—<a class="inline-link" href="mailto:petanguyen@uvic.ca">petanguyen@uvic.ca</a> + <br>honestly not sure why you'd need this, maybe you're in a class with me or something + <br> <br> + resume—<a class="inline-link" href="mailto:petendotca@protonmail.com">available on request</a> + <br>if anyone wants to headhunt me for their new trillion dollar startup + </p> </main> </div> - <!-- Include reCAPTCHA script --> - <script src="https://www.google.com/recaptcha/api.js" async defer></script> <footer class="footer"> Copyright Peter Nguyen <span id="copyright-year"></span>. All rights @@ -95,38 +81,6 @@ integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script> - <script> - document.getElementById("contactForm").addEventListener("submit", function (event) { - event.preventDefault(); // Prevent form from submitting normally - - let form = this; - let formData = new FormData(form); - - // Get reCAPTCHA response - let recaptchaResponse = grecaptcha.getResponse(); - if (!recaptchaResponse) { - document.getElementById("responseMessage").innerText = "Please complete the reCAPTCHA."; - return; - } - formData.append("g-recaptcha-response", recaptchaResponse); - - fetch("contact.php", { - method: "POST", - body: formData - }) - .then(response => response.text()) - .then(data => { - document.getElementById("responseMessage").innerText = data; - form.reset(); // Reset the form after submission - grecaptcha.reset(); // Reset reCAPTCHA - }) - .catch(error => { - document.getElementById("responseMessage").innerText = "Error submitting the form. Try again."; - console.error("Error:", error); - }); - }); - </script> - </body> </html>
\ No newline at end of file diff --git a/contact.php b/contact.php deleted file mode 100644 index 320a801..0000000 --- a/contact.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -use PHPMailer\PHPMailer\PHPMailer; -use PHPMailer\PHPMailer\Exception; - -require 'vendor/autoload.php'; - -if ($_SERVER["REQUEST_METHOD"] === "POST") { - // Sanitize input - $name = htmlspecialchars(strip_tags(trim($_POST["name"] ?? ''))); - $email = htmlspecialchars(strip_tags(trim($_POST["email"] ?? ''))); - $message = htmlspecialchars(strip_tags(trim($_POST["message"] ?? ''))); - $recaptchaResponse = $_POST['g-recaptcha-response'] ?? ''; - - // Validate input - if (empty($name) || empty($email) || empty($message) || empty($recaptchaResponse)) { - die("All fields are required, including reCAPTCHA."); - } - - if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { - die("Invalid email format."); - } - - // Verify reCAPTCHA - $secretKey = getenv("RECAPTCHA_SECRET_KEY"); // Use environment variable for security - $recaptchaURL = "https://www.google.com/recaptcha/api/siteverify?secret=$secretKey&response=$recaptchaResponse"; - $response = file_get_contents($recaptchaURL); - $responseKeys = json_decode($response, true); - - if (!$responseKeys["success"]) { - die("reCAPTCHA verification failed. Please try again."); - } - - // Send email via PHPMailer - $mail = new PHPMailer(true); - - try { - // SMTP Configuration (Use Environment Variables for Security) - $mail->isSMTP(); - $mail->Host = 'smtp.gmail.com'; - $mail->SMTPAuth = true; - $mail->Username = getenv("SMTP_EMAIL"); // Get email from environment variable - $mail->Password = getenv("SMTP_PASSWORD"); // Get password from environment variable - $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; - $mail->Port = 587; - - // Set email details - $mail->setFrom($email, $name); - $mail->addAddress(getenv("RECEIVER_EMAIL")); // Receiver's email - - $mail->Subject = "New Contact Form Submission from $name"; - $mail->Body = "From: $name <$email>\n\n$message"; - - // Send email - $mail->send(); - echo "Message sent successfully!"; - } catch (Exception $e) { - echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; - } -} -?> diff --git a/css/blog-post.css b/css/blog-post.css index d4e204a..ae872aa 100644 --- a/css/blog-post.css +++ b/css/blog-post.css @@ -141,6 +141,7 @@ a { .inline-link { font-size: inherit; font-weight: inherit; + color: #3366CC !important; } .date { @@ -168,6 +169,7 @@ p { } img { + max-width: 768px; padding-bottom: 1%; } diff --git a/css/blog-styles.css b/css/blog-styles.css index 58c4377..efaad52 100644 --- a/css/blog-styles.css +++ b/css/blog-styles.css @@ -60,6 +60,22 @@ a { color: inherit !important; } +.contact { + font-size: 2rem !important; + font-weight: 450 !important; +} + +.inline-link { + font-size: inherit; + font-weight: 450; + color: inherit !important; +} + +.contact-text { + max-width: 600px !important; + font-size: 1.05rem !important; +} + /* ANIMS */ .fade-in { @@ -127,7 +143,7 @@ article h1 { article p { font-size: 1rem !important; font-weight: 400; - max-width: 600px; + max-width: 100%; text-wrap: wrap; padding-top: 0.25rem; } diff --git a/css/projects-styles.css b/css/projects-styles.css index 5cf1843..7626a91 100644 --- a/css/projects-styles.css +++ b/css/projects-styles.css @@ -165,6 +165,10 @@ a { /* Keeps everything left-aligned */ } +.sidebar-text { + max-width: 600px; +} + .sidebar img { padding-bottom: 5%; } diff --git a/images/articles/IMG_3080.jpg b/images/articles/IMG_3080.jpg Binary files differnew file mode 100644 index 0000000..2dae069 --- /dev/null +++ b/images/articles/IMG_3080.jpg diff --git a/projects.html b/projects.html index 66f2ec0..28c4d64 100644 --- a/projects.html +++ b/projects.html @@ -35,7 +35,7 @@ <aside class="sidebar"> <img src="/images/PeteMcGee.png" alt="Profile Picture" class="profile-pic"> <h2 class="text-dark"><a href="index.html">peter nguyen</a></h2> - <p class="sidebar-text">Apprentice carpenter, hobbyist programmer and mostly average high school graduate. + <p class="sidebar-text">First year university student, screening officer, former apprentice carpenter, and (mostly) average high school graduate. </p> <nav> <ul> diff --git a/valentine.html b/valentine.html deleted file mode 100644 index f6f733b..0000000 --- a/valentine.html +++ /dev/null @@ -1,53 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - -<head> - <!-- PAGE SETUP--> - <title>aryanna's super cool valentine 2025</title> - <link rel="icon" type="image/x-icon" href="/images/petemcgeenobg.png"> - <meta charset="utf-8"> - <meta content='width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;' name='viewport' /> - <meta name="viewport" content="width=device-width" /> - - <!-- CSS --> - <link href="/css/valentine.css" rel="stylesheet"> - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" - integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> - - <!-- JS --> - <script src="https://code.jquery.com/jquery-3.7.1.js" - integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=" crossorigin="anonymous"></script> - <script src="/scripts/peten.js"></script> - <script src="https://unpkg.com/typed.js@2.1.0/dist/typed.umd.js"></script> - - <!-- FONTS --> - <link rel="preconnect" href="https://fonts.googleapis.com"> - <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - <link - href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Ubuntu+Sans:ital,wght@0,100..800;1,100..800&display=swap" - rel="stylesheet"> - -</head> - -<body class="font-montserrat fade-in"> - <audio autoplay> - <source src="/audio/carelesswhisper.mp3" type="audio/mpeg"> - </audio> - <div class="content-container"> - <div class="text-container"> - <h1 class="text-center pad-down">aryanna!</h1> - <h1 class="text-center pt-lg-1">will you be my valentine?</h1> - </div> - - <div class="button-wrapper"> - <a href="yesvalentine.html"> - <button type="button" class="btn btn-success btn-lg">YES!</button> - </a> - <button type="button" class="btn btn-danger btn-lg" id="moveBtn">NO!</button> - </div> - </div> - - <script src="/scripts/valentine.js"></script> -</body> - -</html>
\ No newline at end of file diff --git a/yesvalentine.html b/yesvalentine.html deleted file mode 100644 index c3783f3..0000000 --- a/yesvalentine.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - -<head> - <!-- PAGE SETUP--> - <title>aryanna's super cool valentine 2025</title> - <link rel="icon" type="image/x-icon" href="/images/petemcgeenobg.png"> - <meta charset="utf-8"> - <meta content='width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;' name='viewport' /> - <meta name="viewport" content="width=device-width" /> - - <!-- CSS --> - <link href="/css/valentine.css" rel="stylesheet"> - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" - integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> - - <!-- JS --> - <script src="https://code.jquery.com/jquery-3.7.1.js" - integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=" crossorigin="anonymous"></script> - <script src="/scripts/peten.js"></script> - <script src="https://unpkg.com/typed.js@2.1.0/dist/typed.umd.js"></script> - - <!-- FONTS --> - <link rel="preconnect" href="https://fonts.googleapis.com"> - <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - <link - href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Ubuntu+Sans:ital,wght@0,100..800;1,100..800&display=swap" - rel="stylesheet"> - -</head> - -<body class="font-montserrat fade-in"> - <audio autoplay> - <source src="/audio/letsgetiton.mp3" type="audio/mpeg"> - </audio> - <div class="content-container"> - <div class="text-container"> - <h1 class="text-center pad-down">teehee :3</h1> - <h1 class="text-center pt-lg-1">yay!!! i love you!!</h1> - </div> - <img src="/images/peten5.jpg"> - </div> - - <script src="/scripts/valentine.js"></script> -</body> - -</html>
\ No newline at end of file |
