From d5e0a5e03512faf9ffdb0c8e75d0c84238f0dcf8 Mon Sep 17 00:00:00 2001 From: PaulsRepo Date: Thu, 10 Jul 2025 16:20:31 +0100 Subject: [PATCH] Add files via upload --- README.md | 4 +- index.html | 190 ++++++++++++++++++++++++++--------------------------- script.js | 38 +++++------ style.css | 134 ++++++++++++++++++------------------- 4 files changed, 183 insertions(+), 183 deletions(-) diff --git a/README.md b/README.md index a902e98..b157db9 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -# resume-site -vibe coded personal resume +# resume-site +vibe coded personal resume diff --git a/index.html b/index.html index b3ddd4a..3de2300 100644 --- a/index.html +++ b/index.html @@ -1,95 +1,95 @@ - - - - - - Paul Niland β€” Resume - - - - - -
-

Paul Niland

-

Contact: paul@niland.tw

- πŸ“„ Download CV -
- -
-

About Me

-

Experienced professional across communications, analysis, project management, and teaching. Adaptable and international in scope.

-
- -
- 🌍 Experience -
- - - - -
- -
- -
- Gigabyte Logo -

Gigabyte Server β€” Marketing Manager (Jul 2017–Dec 2017)

-
-
- QNAP Logo -

QNAP Inc. β€” Teaching & Technical (Feb 2014–Aug 2016)

-
-
- D-Link Logo -

UK Government β€” Research Officer (Apr 2001–Aug 2003)

-
-
-
- -
- πŸ“œ Skills - -
- -
- πŸŽ“ Education & Certifications - -
- -
- πŸ“¬ Get in Touch -
- - - - - - - - - - -
- - -
- - -
-
- - - - + + + + + + Paul Niland β€” Resume + + + + + +
+

Paul Niland

+

Contact: paul@niland.tw

+ πŸ“„ Download CV +
+ +
+

About Me

+

Experienced professional across communications, analysis, project management, and teaching. Adaptable and international in scope.

+
+ +
+ 🌍 Experience +
+ + + + +
+ +
+ +
+ Gigabyte Logo +

Gigabyte Server β€” Marketing Manager (Jul 2017–Dec 2017)

+
+
+ QNAP Logo +

QNAP Inc. β€” Teaching & Technical (Feb 2014–Aug 2016)

+
+
+ D-Link Logo +

UK Government β€” Research Officer (Apr 2001–Aug 2003)

+
+
+
+ +
+ πŸ“œ Skills + +
+ +
+ πŸŽ“ Education & Certifications + +
+ +
+ πŸ“¬ Get in Touch +
+ + + + + + + + + + +
+ + +
+ + +
+
+ + + + diff --git a/script.js b/script.js index edfa18f..b0fa3da 100644 --- a/script.js +++ b/script.js @@ -1,19 +1,19 @@ -function filterExp(type) { - const entries = document.querySelectorAll(".entry"); - entries.forEach(entry => { - if (type === "all") { - entry.style.display = "flex"; - } else { - entry.style.display = entry.classList.contains(type) ? "flex" : "none"; - } - }); -} - -// Optional: handle form honeypot logic on submission -document.getElementById("contactForm")?.addEventListener("submit", function (e) { - const companyField = this.querySelector("input[name='company']"); - if (companyField.value) { - e.preventDefault(); // Detected spam - alert("Spam detected. Submission blocked."); - } -}); +function filterExp(type) { + const entries = document.querySelectorAll(".entry"); + entries.forEach(entry => { + if (type === "all") { + entry.style.display = "flex"; + } else { + entry.style.display = entry.classList.contains(type) ? "flex" : "none"; + } + }); +} + +// Optional: handle form honeypot logic on submission +document.getElementById("contactForm")?.addEventListener("submit", function (e) { + const companyField = this.querySelector("input[name='company']"); + if (companyField.value) { + e.preventDefault(); // Detected spam + alert("Spam detected. Submission blocked."); + } +}); diff --git a/style.css b/style.css index 831504e..7dab0eb 100644 --- a/style.css +++ b/style.css @@ -1,67 +1,67 @@ -body { - font-family: system-ui, sans-serif; - margin: 0; - padding: 0; - background: #f4f4f4; - color: #333; -} - -header { - background: #222; - color: #fff; - padding: 2em; - text-align: center; -} - -section, details { - padding: 1.5em; - max-width: 800px; - margin: auto; -} - -h2, summary { - border-bottom: 1px solid #aaa; - margin-bottom: 0.5em; -} - -details summary { - cursor: pointer; - font-weight: bold; -} - -.filters button { - margin-right: 0.5em; -} - -.entry { - background: #fff; - margin: 1em 0; - padding: 1em; - border-left: 5px solid #0077cc; - display: flex; - align-items: center; - gap: 1em; -} - -.entry img { - width: 40px; - height: 40px; -} - -form label { - display: block; - margin-top: 1em; -} - -form input, form textarea, form button { - width: 100%; - padding: 0.75em; - margin-top: 0.5em; - box-sizing: border-box; -} - -footer { - text-align: center; - padding: 1em; - background: #ddd; -} +body { + font-family: system-ui, sans-serif; + margin: 0; + padding: 0; + background: #f4f4f4; + color: #333; +} + +header { + background: #222; + color: #fff; + padding: 2em; + text-align: center; +} + +section, details { + padding: 1.5em; + max-width: 800px; + margin: auto; +} + +h2, summary { + border-bottom: 1px solid #aaa; + margin-bottom: 0.5em; +} + +details summary { + cursor: pointer; + font-weight: bold; +} + +.filters button { + margin-right: 0.5em; +} + +.entry { + background: #fff; + margin: 1em 0; + padding: 1em; + border-left: 5px solid #0077cc; + display: flex; + align-items: center; + gap: 1em; +} + +.entry img { + width: 40px; + height: 40px; +} + +form label { + display: block; + margin-top: 1em; +} + +form input, form textarea, form button { + width: 100%; + padding: 0.75em; + margin-top: 0.5em; + box-sizing: border-box; +} + +footer { + text-align: center; + padding: 1em; + background: #ddd; +}