From 62526a5ff4722eb16f27f84ff57144791cc963a5 Mon Sep 17 00:00:00 2001 From: Andrew Simonson Date: Mon, 26 Feb 2024 13:53:06 -0600 Subject: [PATCH] just a whole lot of things --- src/app.py | 1 + src/static/css/App.css | 81 ++++-- src/static/icons/neonfinal3.svg | 56 ++-- src/static/icons/withBackground.svg | 407 ++++++++++++++++++++++++++++ src/static/js/checkbox.js | 14 + src/static/json/skills.json | 27 ++ src/templates/about.html | 44 +-- src/templates/header.html | 2 +- src/templates/home.html | 8 +- src/templates/partials/skills.html | 17 +- src/templates/projects.html | 1 + 11 files changed, 561 insertions(+), 97 deletions(-) create mode 100644 src/static/icons/withBackground.svg create mode 100644 src/static/json/skills.json diff --git a/src/app.py b/src/app.py index f97d750..b114eb9 100644 --- a/src/app.py +++ b/src/app.py @@ -27,6 +27,7 @@ def goto(location='home'): try: page = flask.render_template(pagevars["template"], var=pagevars) except Exception as e: + # raise e e = HTTPerror.InternalServerError(None, e) page = page404(e) return [pagevars, page] diff --git a/src/static/css/App.css b/src/static/css/App.css index c2c5829..8dab421 100644 --- a/src/static/css/App.css +++ b/src/static/css/App.css @@ -318,7 +318,7 @@ a { max-width: 30em; } -#nametag *:not(h6) { +#nametag *:not(h1) { text-shadow: .1em .1em rgba(255, 255, 255, 0.2); } @@ -406,10 +406,6 @@ a { max-height: min(30rem, 100%); } -/* #aboutGrid{ - display: grid; -} */ - .col { width: calc(50% - 3rem); margin-bottom: 3em; @@ -429,23 +425,72 @@ a { margin-right: auto; } -.skills { - display: inline-block; - background-color: rgba(0, 0, 0, 0.3); - border: solid rgba(156, 49, 45, .8) .3rem; - text-align: center; - padding: 1rem; +#skillstag::after { + content: "Click for details..."; + display: block; + font-size: small; + color: #a8a8a8; +} + +#skillTree { + border-left: rgb(139, 36, 36) solid 3px; + background: rgba(22,22,22,.8); + font-size: x-large; + margin-bottom: 10px; } .skill { - display: inline-block; - border: rgba(156, 49, 45, .8) solid .15rem; - padding: .2rem; - margin: .5rem; - background-color: rgba(11, 11, 11, .8); - color: rgb(212, 212, 212); + display: none; + padding: .2em; + color: rgb(235, 235, 235); } +.skill.activeSkill > .skillname { + color: rgb(170, 170, 170); +} + +.skill > .skillname:hover { + color: rgb(170, 170, 170); +} + +#skillTree > .skill { + display: block; +} + +.skill > .skill { + font-size: large !important; + padding-left: .5em; +} + +.skill.activeSkill > .skill { + display: block !important; +} + +.skill > .skillname { + text-decoration: underline; +} + +.skill > .skillname::after { + content: " >"; +} + +.skill.activeSkill > .skillname::after { + content: " <"; +} + +.skill[data-length="0"].activeSkill > .skillname, .skill[data-length="0"] > .skillname:hover, .skill.activeSkill > .skillname:hover { + color: rgb(235, 235, 235); +} + +.skill[data-length="0"] > .skillname::after { + content: "" +} + +.skill[data-length="0"] > .skillname { + text-decoration: none; +} + + .projectList { padding: 0px; display: flex; @@ -974,7 +1019,7 @@ a { .col { width: 100%; - margin-bottom: 3rem; + margin-bottom: 0; } .rightCol { diff --git a/src/static/icons/neonfinal3.svg b/src/static/icons/neonfinal3.svg index c64caa3..6774942 100644 --- a/src/static/icons/neonfinal3.svg +++ b/src/static/icons/neonfinal3.svg @@ -2,9 +2,9 @@ + x="-0.041894038" + y="-0.041893957" + width="1.083788" + height="1.0837879"> + x="-0.10226285" + y="-0.10226277" + width="1.2045257" + height="1.2045255"> + x="-0.30969021" + y="-0.30969013" + width="1.6193804" + height="1.6193802"> + x="-0.01629857" + y="-0.01629849" + width="1.0325971" + height="1.032597"> + transform="translate(-1.6164577,-37.953551)"> + style="display:inline;opacity:0.75"> + style="opacity:1;filter:url(#filter9)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/static/js/checkbox.js b/src/static/js/checkbox.js index ceb5e9c..f7244d2 100644 --- a/src/static/js/checkbox.js +++ b/src/static/js/checkbox.js @@ -25,3 +25,17 @@ function toggleCheckbox(dir) { } } } + +function activeSkill(obj) { + if (obj.parentElement.classList.contains("activeSkill")) { + obj.parentElement.classList.remove("activeSkill"); + return; + } + // document.querySelectorAll(".skill").forEach((x) => { + // x.classList.remove("activeSkill"); + // }); + while (obj.parentElement.classList.contains("skill")) { + obj = obj.parentElement; + obj.classList.add("activeSkill"); + } +} diff --git a/src/static/json/skills.json b/src/static/json/skills.json new file mode 100644 index 0000000..538332c --- /dev/null +++ b/src/static/json/skills.json @@ -0,0 +1,27 @@ +{ + "Data and AI": { + "Python": { + "PyTorch/TensorFlow": {}, + "TensorFlow": {}, + "Numpy/Pandas": {}, + "Selenium/BS4": {} + }, + "R": {}, + "SQL": {} + }, + "Frontend": { + "Flask (Python)": {}, + "React (Javascript)": {}, + "Angular (Typescript)": {} + }, + "Backend & DevOps": { + "DevOps": { + "Docker": {}, + "Microsoft Azure": {}, + "Kubernetes/Openshift": {}, + "Bash": {} + }, + "C#": {}, + "C++": {} + } +} diff --git a/src/templates/about.html b/src/templates/about.html index b588155..42508dc 100644 --- a/src/templates/about.html +++ b/src/templates/about.html @@ -2,7 +2,6 @@
-

About Me

@@ -12,19 +11,15 @@ science with a focus on predictive analytics.

-

+
Ominous positivity is kinda my thing.

+
- - {% from 'partials/skills.html' import skills %} {{ skills([ "Python", - "JavaScript", "Java", "C", "C++", "R", "MIPS Assembly", "Processing", - "P5.js", "SQL", "SQLite", "PostgreSQL", "SQLAlchemy", "HTML", "CSS", - "Docker", "LaTeX", "ArcGIS", "Git", "Github", "Linux", "OKD4", - "Kubernetes", "Openshift", "Nginx", "Angular", "Flask", "Jinja", "Web - Scraping", "Google API", "React", "Node.js", "ArcGIS", ]) }} +

Skills

+ {% from 'partials/skills.html' import skills %} {{ skills(var['skillList']) }}

Timeline

@@ -85,37 +80,6 @@ toggleCheckbox("up");
-
-
diff --git a/src/templates/header.html b/src/templates/header.html index 91939ea..3ca8535 100644 --- a/src/templates/header.html +++ b/src/templates/header.html @@ -2,7 +2,7 @@ - + diff --git a/src/templates/home.html b/src/templates/home.html index 3357e3a..9f5afe2 100644 --- a/src/templates/home.html +++ b/src/templates/home.html @@ -6,7 +6,7 @@ />

Andrew Simonson

Computer Science student at Rochester Institute of Technology

-
🦅 🦅 🦅 Raahhh wtf is homepage content, we don't do that here 🦅 🦅 🦅
+
End-to-End Services in Data Science and AI
{% endmacro %}
@@ -24,12 +24,6 @@
- Language stats -
{% from 'partials/chess.html' import chess %} {{ chess('asimonson1125') }} diff --git a/src/templates/partials/skills.html b/src/templates/partials/skills.html index 840bbd9..aed678f 100644 --- a/src/templates/partials/skills.html +++ b/src/templates/partials/skills.html @@ -1,5 +1,16 @@ +{% macro expandSkill(dict, name, classes="") %} +
+
{{ name }}
+{% for child in dict[name] %} +{{ expandSkill(dict[name], child) }} +{% endfor %} +
+{% endmacro %} + {% macro skills(skills) %} -
    - {% for i in skills %}
  • {{i}}
  • {% endfor %} -
+
+ {% for skill in skills %} + {{ expandSkill(skills, skill, 'activeSkill') }} + {% endfor %} +
{% endmacro %} \ No newline at end of file diff --git a/src/templates/projects.html b/src/templates/projects.html index d514fa0..11d8d74 100644 --- a/src/templates/projects.html +++ b/src/templates/projects.html @@ -3,6 +3,7 @@

Projects

+

Shhh shh shh sh sh I know I know I'm gonna revamp this page later

Project status is indicated by the color of the project card: