commit 750af5f7de86c4c047fc28c2bf694c207bb4040d Author: Rapturate Date: Mon Feb 23 09:48:40 2026 -0500 Gitea migration diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2309cc8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,138 @@ +# ---> Node +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# vitepress build output +**/.vitepress/dist + +# vitepress cache directory +**/.vitepress/cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..37db34f --- /dev/null +++ b/LICENSE @@ -0,0 +1,18 @@ +MIT License + +Copyright (c) 2026 rapturate + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Project 1/css/indexStyle.css b/Project 1/css/indexStyle.css new file mode 100644 index 0000000..1c9a60c --- /dev/null +++ b/Project 1/css/indexStyle.css @@ -0,0 +1,418 @@ +/* Quick Reset */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +/*Variables*/ +:root { + --clr-name-plate: #1c3610; + --clr-text-color: rgb(41, 39, 39); + --clr-One:#F2D7C0; + --clr-Two:#B8C2C5; + --clr-Three:#43665f; + --clr-Four:#A68B78 ; + --clr-Five:#4A5052; + --clr-Six: #5D3A28; + + --fs-h1: 2.5rem; + --fs-h2: 1.8rem; + --fs-h3: 1.2rem; + --fs-text: 1rem; + --fs-small: 0.9rem; +} + +html { + height: 100%; +} + +body { + font-family: 'Open Sans', Arial, sans-serif; + line-height: 1.5; + background-color: var(--clr-One); + color: var(--clr-text-color); + min-height: 100vh; + display: flex; + flex-direction: column; +} + +/* Header */ +header { + position: fixed; + top: 0; + left: 0; + width: 100%; + background-color: var(--clr-Three); + z-index: 10; + box-shadow: 0 2px 5px rgba(0,0,0,0.1); +} + +div.nav-bar { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + max-width: 1200px; + margin: 0 auto; + padding: 1rem 2rem; +} + +.nav-logo { + background-color: var(--clr-One); + border-radius: 20px; + padding: 5px; +} + +nav ul.nav-links { + display: flex; + flex-direction: column; + gap: 1rem; + align-items: center; + list-style: none; +} + +nav ul.nav-links a { + color: var(--clr-Six); + text-decoration: none; + padding: 0.5rem 1rem; + border-radius: 10px; + background-color: var(--clr-One); + font-weight: 500; + transition: background-color 0.3s ease; +} + +nav ul.nav-links a:hover, +nav ul.nav-links a:focus { + background-color: var(--clr-Four); + outline: none; +} + +/* Main content */ +main { + flex: 1; + padding-top: 120px; +} + +/* Hero */ +#hero { + display: flex; + flex-direction: column; + padding: 3rem 2rem; + min-height: 30rem; + background-image: url("../images/hero background.jpg"); + background-size: cover; + background-position: center; + align-items: center; + justify-content: center; + gap: 2rem; +} + +div.hero-text { + display: flex; + flex-direction: column; + text-align: center; + max-width: 500px; + gap: 1rem; +} + +div.hero-text h1 { + color: var(--clr-name-plate); + font-size: var(--fs-h1); + font-weight: 700; +} + +div.hero-text p { + color: var(--clr-text-color); + font-size: var(--fs-text); + max-width: 60ch; +} + +.cta-button { + display: inline-block; + background-color: var(--clr-Three); + color: var(--clr-One); + padding: 1rem 2rem; + text-decoration: none; + border-radius: 10px; + font-weight: 600; + transition: background-color 0.3s ease; + margin-top: 1rem; + align-self: center; +} + +.cta-button:hover, +.cta-button:focus { + background-color: var(--clr-Six); + outline: none; +} + +img.hero-img { + width: 200px; + height: 200px; + border-radius: 50%; + object-fit: cover; +} + +/* About Section */ +.about-section { + padding: 4rem 2rem; + max-width: 800px; + margin: 0 auto; + text-align: justify; +} + +.about-section h2 { + font-size: var(--fs-h2); + color: var(--clr-name-plate); + margin-bottom: 2rem; + text-align: center; +} + +.about-section p { + font-size: var(--fs-text); + line-height: 1.6; + max-width: 75ch; +} + +/* Projects Containers */ +.list-all-projects { + background-color: var(--clr-Four); + padding: 4rem 2rem; + min-height: 400px; +} + +.list-all-projects h2 { + text-align: center; + color: var(--clr-text-color); + font-size: var(--fs-h2); + margin-bottom: 3rem; +} + +#projects { + display: grid; + gap: 2rem; + grid-template-columns: 1fr; + max-width: 1200px; + margin: 0 auto; +} + +.project-box { + background-color: var(--clr-Two); + border-radius: 15px; + display: flex; + align-items: flex-start; + color: var(--clr-text-color); + overflow: hidden; + box-shadow: 0 4px 8px rgba(0,0,0,0.1); + transition: transform 0.3s ease; +} + +.project-box:hover { + transform: translateY(-2px); +} + +.project-box img { + width: 150px; + height: 120px; + object-fit: cover; + flex-shrink: 0; +} + +.proj-text { + padding: 1rem; + flex: 1; +} + +.proj-text h3 { + font-size: var(--fs-h3); + margin-bottom: 0.5rem; + color: var(--clr-name-plate); +} + +.proj-text p { + font-size: var(--fs-small); + line-height: 1.4; +} + +/* Contact Section */ +#contact { + padding: 4rem 2rem; + background-color: var(--clr-One); +} + +#contact h2 { + text-align: center; + font-size: var(--fs-h2); + color: var(--clr-name-plate); + margin-bottom: 2rem; +} + +#socials { + display: flex; + justify-content: center; + gap: 2rem; + margin-bottom: 3rem; +} + +#socials a img { + width: 3rem; + height: 3rem; + transition: transform 0.3s ease; +} + +#socials a:hover img { + transform: scale(1.1); +} + +form { + display: flex; + flex-direction: column; + align-items: center; + gap: 1.5rem; + max-width: 500px; + margin: 0 auto; +} + +form label { + align-self: flex-start; + font-weight: 600; + color: var(--clr-name-plate); +} + +form input, +form textarea { + width: 100%; + padding: 1rem; + font-size: var(--fs-text); + border: 3px solid var(--clr-Five); + border-radius: 10px; + background-color: white; + color: var(--clr-text-color); +} + +form input:focus, +form textarea:focus { + outline: none; + border-color: var(--clr-Three); +} + +form textarea { + min-height: 120px; + resize: vertical; +} + +form button { + background-color: var(--clr-Three); + color: var(--clr-One); + border: none; + padding: 1rem 2rem; + font-size: var(--fs-text); + border-radius: 10px; + cursor: pointer; + font-weight: 600; + transition: background-color 0.3s ease; +} + +form button:hover, +form button:focus { + background-color: var(--clr-Six); + outline: none; +} + +/* Footer */ +footer { + background-color: var(--clr-Five); + color: var(--clr-One); + padding: 2rem; + text-align: center; + width: 100%; + margin-top: auto; +} + +footer p { + margin-bottom: 1rem; +} + +.social-links { + display: flex; + justify-content: center; + gap: 1.5rem; +} + +.social-links a img { + width: 2rem; + height: 2rem; + filter: brightness(0) invert(1); + transition: transform 0.3s ease; +} + +.social-links a:hover img { + transform: scale(1.1); +} + +/* Responsive Design - Mobile First */ +@media (min-width: 600px) { + nav ul.nav-links { + flex-direction: row; + } + + #hero { + display: grid; + grid-template-columns: 1fr 1fr; + align-items: center; + gap: 3rem; + padding: 4rem 2rem; + } + + div.hero-text { + text-align: left; + order: 2; + } + + div.hero-text h1 { + text-align: left; + } + + div.hero-text p { + text-align: left; + } + + .cta-button { + align-self: flex-start; + } + + img.hero-img { + order: 1; + justify-self: center; + } + + #projects { + grid-template-columns: repeat(2, 1fr); + } + + .project-box img { + width: 120px; + height: 100px; + } +} + +@media (min-width: 900px) { + #projects { + grid-template-columns: repeat(3, 1fr); + } + + .project-box { + flex-direction: column; + text-align: center; + } + + .project-box img { + width: 100%; + height: 200px; + } + + .proj-text { + text-align: left; + } +} \ No newline at end of file diff --git a/Project 1/css/projectStyle.css b/Project 1/css/projectStyle.css new file mode 100644 index 0000000..2b4c830 --- /dev/null +++ b/Project 1/css/projectStyle.css @@ -0,0 +1,219 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +/*Variables*/ +:root { + --clr-primary: #009DF0; + --clr-accent-light: #F09B00; + --clr-accent-dark: #F04E00; + --clr-card-background: #E3F0FB; + --clr-page-background: #fffcf6; + --clr-text-light: #263f4a; + --clr-text-main: #1B0A14; + --clr-header-bg: #43665f; + --clr-nav-bg: #F2D7C0; + + --fs-h1: 2.5rem; + --fs-h2: 1.5rem; + --fs-text: 1rem; +} + +html { + height: 100%; +} + +body { + font-family: 'Open Sans', Arial, sans-serif; + line-height: 1.5; + background-color: var(--clr-page-background); + color: var(--clr-text-main); + min-height: 100vh; + display: flex; + flex-direction: column; +} + +/* Header */ +header { + width: 100%; + background-color: var(--clr-header-bg); + box-shadow: 0 2px 5px rgba(0,0,0,0.1); +} + +.nav-bar { + display: flex; + justify-content: space-between; + align-items: center; + max-width: 1200px; + margin: 0 auto; + padding: 1rem 2rem; +} + +.nav-logo { + background-color: var(--clr-nav-bg); + border-radius: 20px; + padding: 5px; +} + +nav ul.nav-links { + display: flex; + flex-direction: column; + gap: 1rem; + align-items: center; + list-style: none; +} + +nav ul.nav-links a { + color: #5D3A28; + text-decoration: none; + padding: 0.5rem 1rem; + border-radius: 10px; + background-color: var(--clr-nav-bg); + font-weight: 500; + transition: background-color 0.3s ease; +} + +nav ul.nav-links a:hover, +nav ul.nav-links a:focus { + background-color: #A68B78; + outline: none; +} + +.header-content { + text-align: center; + padding: 2rem; + background-color: var(--clr-page-background); +} + +.header-content h1 { + font-size: var(--fs-h1); + color: var(--clr-text-main); + font-weight: 700; +} + +/* Main content */ +main { + flex: 1; + padding: 3rem 2rem; + max-width: 1200px; + margin: 0 auto; + width: 100%; +} + +#projects { + display: grid; + grid-template-columns: 1fr; /* Single column for mobile */ + gap: 2rem; +} + +#projects h2 { + font-size: var(--fs-h2); + color: var(--clr-text-main); + margin-bottom: 1rem; +} + +#projects p { + color: var(--clr-text-light); + font-size: var(--fs-text); + line-height: 1.6; + max-width: 65ch; +} + +.project-card { + display: flex; + flex-direction: column; + background-color: var(--clr-card-background); + border-radius: 16px; + box-shadow: 0 4px 12px rgba(91, 127, 161, 0.3); + overflow: hidden; + transition: transform 0.3s ease, box-shadow 0.3s ease; +} + +.project-card:hover { + transform: translateY(-4px); + box-shadow: 0 8px 20px rgba(91, 127, 161, 0.4); +} + +.project-image { + width: 100%; + height: 250px; + overflow: hidden; +} + +.project-image img { + width: 100%; + height: 100%; + object-fit: cover; + transition: transform 0.3s ease; +} + +.project-card:hover .project-image img { + transform: scale(1.05); +} + +.project-description { + padding: 1.5rem; + flex: 1; +} + +.project-description h2 { + margin-bottom: 1rem; +} + +/* Footer */ +footer { + background-color: #4A5052; + color: #F2D7C0; + padding: 2rem; + text-align: center; + width: 100%; + margin-top: auto; +} + +footer p { + margin-bottom: 1rem; +} + +.social-links { + display: flex; + justify-content: center; + gap: 1.5rem; +} + +.social-links a img { + width: 2rem; + height: 2rem; + filter: brightness(0) invert(1); + transition: transform 0.3s ease; +} + +.social-links a:hover img { + transform: scale(1.1); +} + +/* Responsive Design - Mobile First */ +@media (min-width: 600px) { + nav ul.nav-links { + flex-direction: row; + } + + #projects { + grid-template-columns: repeat(2, 1fr); + } + + .project-image { + height: 200px; + } +} + +@media (min-width: 900px) { + #projects { + grid-template-columns: repeat(3, 1fr); + } + + .project-image { + height: 250px; + } +} \ No newline at end of file diff --git a/Project 1/images/Lew Header icon.svg b/Project 1/images/Lew Header icon.svg new file mode 100644 index 0000000..f92e0e6 --- /dev/null +++ b/Project 1/images/Lew Header icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Project 1/images/Lew Header.svg b/Project 1/images/Lew Header.svg new file mode 100644 index 0000000..0a10b33 --- /dev/null +++ b/Project 1/images/Lew Header.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + Rapturate + \ No newline at end of file diff --git a/Project 1/images/Lew's Images/Doubly Linked List.jpg b/Project 1/images/Lew's Images/Doubly Linked List.jpg new file mode 100644 index 0000000..82ab27f Binary files /dev/null and b/Project 1/images/Lew's Images/Doubly Linked List.jpg differ diff --git a/Project 1/images/Lew's Images/Find Median Sorted Array.jpg b/Project 1/images/Lew's Images/Find Median Sorted Array.jpg new file mode 100644 index 0000000..b1b1757 Binary files /dev/null and b/Project 1/images/Lew's Images/Find Median Sorted Array.jpg differ diff --git a/Project 1/images/Lew's Images/Graph Theory Project.jpg b/Project 1/images/Lew's Images/Graph Theory Project.jpg new file mode 100644 index 0000000..63400b3 Binary files /dev/null and b/Project 1/images/Lew's Images/Graph Theory Project.jpg differ diff --git a/Project 1/images/Lew's Images/Lew.JPG b/Project 1/images/Lew's Images/Lew.JPG new file mode 100644 index 0000000..040a0eb Binary files /dev/null and b/Project 1/images/Lew's Images/Lew.JPG differ diff --git a/Project 1/images/Lew's Images/Project 1jpg.jpg b/Project 1/images/Lew's Images/Project 1jpg.jpg new file mode 100644 index 0000000..2440212 Binary files /dev/null and b/Project 1/images/Lew's Images/Project 1jpg.jpg differ diff --git a/Project 1/images/Lew's Images/ToDoList Project.jpg b/Project 1/images/Lew's Images/ToDoList Project.jpg new file mode 100644 index 0000000..a18e4c2 Binary files /dev/null and b/Project 1/images/Lew's Images/ToDoList Project.jpg differ diff --git a/Project 1/images/facebook-icon.svg b/Project 1/images/facebook-icon.svg new file mode 100644 index 0000000..2c6d1f7 --- /dev/null +++ b/Project 1/images/facebook-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Project 1/images/generic project photo.jpg b/Project 1/images/generic project photo.jpg new file mode 100644 index 0000000..2e6576d Binary files /dev/null and b/Project 1/images/generic project photo.jpg differ diff --git a/Project 1/images/generic_person.jfif b/Project 1/images/generic_person.jfif new file mode 100644 index 0000000..fccf834 Binary files /dev/null and b/Project 1/images/generic_person.jfif differ diff --git a/Project 1/images/hero background.jpg b/Project 1/images/hero background.jpg new file mode 100644 index 0000000..ca9de9d Binary files /dev/null and b/Project 1/images/hero background.jpg differ diff --git a/Project 1/images/hero.jpg b/Project 1/images/hero.jpg new file mode 100644 index 0000000..a03c6ac Binary files /dev/null and b/Project 1/images/hero.jpg differ diff --git a/Project 1/images/hero_superhero_dark.jpg b/Project 1/images/hero_superhero_dark.jpg new file mode 100644 index 0000000..7741ee8 Binary files /dev/null and b/Project 1/images/hero_superhero_dark.jpg differ diff --git a/Project 1/images/hero_superhero_light.jpg b/Project 1/images/hero_superhero_light.jpg new file mode 100644 index 0000000..7423ba4 Binary files /dev/null and b/Project 1/images/hero_superhero_light.jpg differ diff --git a/Project 1/images/instagram-icon.svg b/Project 1/images/instagram-icon.svg new file mode 100644 index 0000000..dda94e9 --- /dev/null +++ b/Project 1/images/instagram-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Project 1/images/linkedin-icon.svg b/Project 1/images/linkedin-icon.svg new file mode 100644 index 0000000..7893100 --- /dev/null +++ b/Project 1/images/linkedin-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Project 1/index.html b/Project 1/index.html new file mode 100644 index 0000000..1ec27dc --- /dev/null +++ b/Project 1/index.html @@ -0,0 +1,129 @@ + + + + + + + + + + + + + See the Magic + + + +
+ +
+ +
+
+ profile picture +
+

Lew Price

+

Welcome to the Future!

+ Get In Touch +
+
+ +
+

About Me

+

I have been interested in computers and programming from a very young age. I started with HTML in 2008. I quickly dove deeper into the world of programming where I began learning Java. At the time, Minecraft Beta was just starting to become popular in the world of gaming and I would practice Java by modding Minecraft Beta. Java taught me the ins and outs of the object-oriented world where I started to branch out into other languages to learn more about algorithms and systems. I am now comfortable writing programs in C, C++, Java, Python, HTML, CSS, and Golang. In addition, I am comfortable working with SQL databases, UML diagraming, and MongoDB.

+
+ +
+

Personal Projects

+
+
+ project picture +
+

Web Scraper/Discord Bot

+

- Golang

+
+
+
+ project picture +
+

To-Do List

+

- Java

+
+
+
+ project picture +
+

Binary Search Tree

+

- C++

+
+
+
+ project picture +
+

Graph Theory Project

+

- C++

+
+
+
+ project picture +
+

Median of Two Sorted Arrays

+

- Golang

+
+
+
+
+ +
+

Contact Me

+ +
+ + + + + + + + + + +
+
+
+ + + + + \ No newline at end of file diff --git a/Project 1/project.html b/Project 1/project.html new file mode 100644 index 0000000..b211598 --- /dev/null +++ b/Project 1/project.html @@ -0,0 +1,106 @@ + + + + + + + + + + + + + Lew's Portfolio + + +
+ +
+ +
+
+ + +
+
+ Project 1 Image +
+
+

Web Scraper/Discord Bot

+

A web scraper and Discord bot that pulls codes to unlock special gear in Borderlands 4 when prompted by a user on Discord.

+
+
+ + +
+
+ Project 2 Image +
+
+

To-Do List

+

A modifiable To-Do list that allows for organization and scheduling based on priority, date, and category.

+
+
+ + +
+
+ Project 3 Image +
+
+

Binary Search Tree

+

A program that I wrote as a singly linked list then modified into a doubly linked list, and then modified into a binary search tree.

+
+
+ + +
+
+ Project 4 Image +
+
+

Graph Theory Project

+

An exploration of weighted graph theory using “Cities” and “Roads” as nodes and edges. Search functions include Breadth First, Depth First, and Dijkstra's.

+
+
+ + +
+
+ Project 5 Image +
+
+

Median of Two Sorted Arrays LeetCode Hard

+

Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays.

+
+
+ +
+ +
+ + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..1a90421 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Web_Dev_Project + +My personal website with HTML and CSS. Currently in development. \ No newline at end of file