Skip to content

Commit 54963b8

Browse files
Merge pull request #2 from danny-burrows/portfolio
Portfolio Improvements
2 parents 194ab29 + 44736fc commit 54963b8

24 files changed

+1858
-1941
lines changed

package-lock.json

Lines changed: 1691 additions & 1882 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/assets/class7.png

-95.9 KB
Binary file not shown.

public/assets/cmdui.png

-97.2 KB
Binary file not shown.

public/assets/joronline.png

-390 KB
Binary file not shown.

public/assets/portfolio/+.svg

Lines changed: 15 additions & 0 deletions
Loading
111 KB
Loading

public/assets/portfolio/CMDUI.png

60.6 KB
Loading

public/assets/portfolio/Class 7.png

15.5 KB
Loading

public/assets/portfolio/Cmacs.png

134 KB
Loading
128 KB
Loading

public/assets/portfolio/Loki.png

4.1 KB
Loading
59.2 KB
Loading

public/assets/portfolio/SHINC.png

20.1 KB
Loading
8.72 KB
Loading

public/assets/portfolio/jorOnline.png

114 KB
Loading

public/assets/portfolio/next.svg

Lines changed: 10 additions & 0 deletions
Loading

public/style/global.css

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,11 @@ body {
6262

6363
@media (max-width: 650px) {
6464
body {
65-
padding-top: 2rem;
6665
padding-right: 2rem;
6766
padding-left: 2rem;
6867
}
6968
}
7069

71-
72-
73-
7470
h2 {
7571
font-weight: 500;
7672
font-size: clamp(1.5rem, 1rem + 1.25vw, 2rem);

src/components/AboutMe.astro

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,17 @@ code:not(.tree) {
5353

5454
<article>
5555
<section>
56-
<h2>Hello, I'm Danny.</h2>
56+
<h2>Hi, I'm Danny!</h2>
5757
<p>
5858
I'm studying Computer Science at the <a href="https://york.ac.uk">University of York</a> and I'm the Technical Director at <a href="https://class7.consulting">Class 7 Consulting</a>.
5959
</p>
6060
<p>
61-
I also do freelance work, building full stack web applications, IT solutions and promotional websites for businesses.
62-
My clients include startups and established companies in industries such as finance, insurance and
63-
retail.
61+
I'm passionate about engineering bespoke solutions to real-world problems.
62+
63+
I build full-stack web applications, IT solutions, and promotional websites for businesses across the UK.
64+
65+
My clients include startups and established companies in industries such as finance, insurance and retail.
6466
</p>
65-
<h3>Technologies I'm experienced in...</h3>
67+
<h3>Technologies I'm experienced in:</h3>
6668
</section>
6769
</article>

src/components/portfolio/Portfolio.astro

Lines changed: 75 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,43 +24,103 @@ import PortfolioItem from './PortfolioItem.jsx'
2424
}
2525
</style>
2626

27-
<h2>Projects & Jobs</h2>
27+
<h2>Professional Info</h2>
2828
<div class="container">
2929

3030
<PortfolioItem
31-
ids="thng-2"
3231
title="Class 7"
33-
content="Website & Full stack web application."
32+
content="Technical Director & Software Consultant."
3433
link="https://class7.consulting"
35-
imgUrl="/assets/class7.png"
34+
imgUrl="/assets/portfolio/Class 7.png"
3635
client:load/>
3736

37+
<!-- Perhaps this should be a page on class7.consulting... -->
3838
<PortfolioItem
39-
ids="thng-1"
40-
title="CMDUI"
41-
content="A GUI Framework in CMD."
42-
link="https://github.com/danny-burrows/CMDUI"
43-
imgUrl="/assets/cmdui.png"
39+
title="Loki"
40+
content="A marine underwriting system for the 21st century."
41+
link="#"
42+
imgUrl="/assets/portfolio/Loki.png"
43+
client:load/>
44+
45+
<PortfolioItem
46+
title="SHINC"
47+
content="Website services, hosting and domain management."
48+
link="https://shinc-underwriting.com/"
49+
imgUrl="/assets/portfolio/SHINC.png"
50+
client:load/>
51+
52+
<PortfolioItem
53+
title="JTC"
54+
content="Software consulting, website design, and techinical lead."
55+
link="https://jacktradescards.com"
56+
imgUrl="/assets/portfolio/JackTradesCards.png"
57+
client:load/>
58+
59+
<PortfolioItem
60+
title="Box Of Frogs"
61+
content="Software consulting & algorithmic development."
62+
link="#"
63+
imgUrl="/assets/portfolio/Box Of Frogs.png"
64+
client:load />
65+
66+
<PortfolioItem
67+
title="Contact Me!"
68+
content="If you've got something for me do get in touch."
69+
link="#"
70+
imgUrl="/assets/portfolio/+.svg"
71+
client:load/>
72+
73+
<PortfolioItem client:load/>
74+
<PortfolioItem client:load/>
75+
<PortfolioItem client:load/>
76+
</div>
77+
78+
<h2>Personal</h2>
79+
<div class="container">
80+
81+
<PortfolioItem
82+
title="Rotate Screen"
83+
content="Open source python project with 500+ monthly downloads."
84+
link="https://github.com/danny-burrows/rotate-screen"
85+
imgUrl="/assets/portfolio/Rotate Screen.png"
86+
client:load />
87+
88+
<PortfolioItem
89+
title="img_to_txt"
90+
content="Utility that converts images into ASCII or ANSI text. "
91+
link="https://github.com/danny-burrows/img_to_txt"
92+
imgUrl="/assets/portfolio/img_to_txt.png"
4493
client:load />
4594

4695
<PortfolioItem
47-
ids="thng-3"
4896
title="jorOnline"
4997
content="A chat app with a custom websocket server."
5098
link="https://github.com/danny-burrows/jorOnline"
51-
imgUrl="/assets/joronline.png"
99+
imgUrl="/assets/portfolio/jorOnline.png"
52100
client:load/>
53101

54102
<PortfolioItem
55-
ids="thng-4"
56-
client:load/>
103+
title="CMDUI"
104+
content="A GUI framework for Windows CMD in Python."
105+
link="https://github.com/danny-burrows/CMDUI"
106+
imgUrl="/assets/portfolio/CMDUI.png"
107+
client:load />
57108

58109
<PortfolioItem
59-
ids="thng-5"
110+
title="Cmacs"
111+
content="Emacs-inspired text editor in C."
112+
link="#"
113+
imgUrl="/assets/portfolio/Cmacs.png"
60114
client:load/>
61115

62116
<PortfolioItem
63-
ids="thng-6"
117+
title="Want more?"
118+
content="Click here to see my GitHub for more details!"
119+
link="https://github.com/danny-burrows"
120+
imgUrl="/assets/portfolio/next.svg"
64121
client:load/>
65122

123+
<PortfolioItem client:load/>
124+
<PortfolioItem client:load/>
125+
<PortfolioItem client:load/>
66126
</div>

src/components/portfolio/PortfolioItem.jsx

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,35 @@
11
import React from 'react';
22
import styles from './PortfolioItem.module.css'
33

4-
54
const PortfolioItem = (props) => {
5+
const portfolio_item_ref = React.useRef(null);
66

77
React.useEffect(() => {
8-
const port_item = document.getElementById(props.ids);
8+
if (props.title) {
9+
portfolio_item_ref.current.style.setProperty('aspect-ratio', `9 / 5`);
10+
}
11+
12+
// TODO: Axe this.
13+
if (props.title == "Loki") {
14+
portfolio_item_ref.current.style.setProperty('outline', `solid #b0b0b0 2px`);
15+
}
16+
917
if (props.imgUrl) {
1018
const tst = new Image();
1119

1220
tst.onload = () => {
13-
port_item.style.setProperty('--img-url', `url("${props.imgUrl}")`);
14-
port_item.style.setProperty('--op2', "100");
21+
portfolio_item_ref.current.style.setProperty('--img-url', `url("${props.imgUrl}")`);
22+
portfolio_item_ref.current.style.setProperty('--op2', "100");
1523
};
16-
24+
1725
tst.src = props.imgUrl;
1826
} else {
19-
port_item.style.setProperty('--op2', "100");
27+
portfolio_item_ref.current.style.setProperty('--op2', "100");
2028
}
2129
}, []);
2230

2331
return (
24-
<a href={props.link} id={props.ids} className={styles.item}>
32+
<a ref={portfolio_item_ref} href={props.link} className={styles.item}>
2533
<h2 className={styles.title}>{props.title}</h2>
2634
<p className={styles.content}>{props.content}</p>
2735
</a>

src/components/portfolio/PortfolioItem.module.css

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@
33
text-decoration: none;
44

55
/* These are explicitly specified to allow for transition */
6-
height: 100%;
6+
/* height: 100%; */
77
max-height: 100%;
88

9+
width: 100%;
10+
/* aspect-ratio: 9 / 5; */
11+
912
--op2: 0;
1013
--img-url: linear-gradient(var(--background-color-light), var(--background-color));
1114

@@ -58,16 +61,19 @@
5861
opacity: 120%;
5962
}
6063

64+
.item > h2 {
65+
font-size: x-large;
66+
}
6167
.content {
6268
font-size: 1.3ch;
6369
}
6470

6571
@media screen and (max-width: 768px) {
6672

6773
.item {
68-
height: 7ch;
69-
max-height: 7ch;
70-
/* padding: 3px 10px; */
74+
height: 10ch;
75+
max-height: 10ch;
76+
padding: 2px 2px;
7177
}
7278
.item > h2 {
7379
font-size: medium;
@@ -76,4 +82,11 @@
7682
font-size: 1ch;
7783
}
7884

85+
}
86+
87+
@media screen and (max-width: 550px) {
88+
.item {
89+
height: 7ch;
90+
max-height: 7ch;
91+
}
7992
}

src/components/slider/AstroSliderItem.astro

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ i {
1414
color: var(--text-color);
1515
font-size: 70px;
1616
z-index: 100;
17+
margin-right: 20px;
1718
}
1819

1920
svg {
20-
width: 160px;
21+
width: 70px;
2122
height: 70px;
2223
}
2324
</style>
@@ -36,4 +37,5 @@ svg {
3637
<title>Astro</title>
3738
<path id="a" fill-rule="evenodd" clip-rule="evenodd" d="M163.008 18.929c1.944 2.413 2.935 5.67 4.917 12.181l43.309 142.27a180.277 180.277 0 00-51.778-17.53l-28.198-95.29a3.67 3.67 0 00-7.042.01l-27.857 95.232a180.225 180.225 0 00-52.01 17.557l43.52-142.281c1.99-6.502 2.983-9.752 4.927-12.16a15.999 15.999 0 016.484-4.798c2.872-1.154 6.271-1.154 13.07-1.154h31.085c6.807 0 10.211 0 13.086 1.157a16.004 16.004 0 016.487 4.806z" class="astro-RnEq1mMV"></path><path id="flame" fill-rule="evenodd" clip-rule="evenodd" d="M168.19 180.151c-7.139 6.105-21.39 10.268-37.804 10.268-20.147 0-37.033-6.272-41.513-14.707-1.602 4.835-1.961 10.367-1.961 13.902 0 0-1.056 17.355 11.015 29.426 0-6.268 5.081-11.349 11.349-11.349 10.743 0 10.731 9.373 10.721 16.977v.679c0 11.542 7.054 21.436 17.086 25.606a23.27 23.27 0 01-2.339-10.2c0-11.008 6.463-15.107 13.974-19.87 5.976-3.79 12.616-8.001 17.192-16.449a31.024 31.024 0 003.743-14.82c0-3.299-.513-6.479-1.463-9.463z" class="astro-RnEq1mMV"></path>
3839
</svg>
40+
<span>Astro</span>
3941
</div>

src/components/slider/Slider.astro

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -49,27 +49,27 @@ import AstroSliderObj from './AstroSliderItem.astro'
4949
<div class="slider">
5050
<div class="slide-track">
5151
<AstroSliderObj />
52-
<SliderObj icon="devicon-nextjs-original" />
53-
<SliderObj icon="devicon-react-original" />
54-
<SliderObj icon="devicon-javascript-plain" />
55-
<SliderObj icon="devicon-typescript-plain" />
56-
<SliderObj icon="devicon-mongodb-plain" />
57-
<SliderObj icon="devicon-graphql-plain" />
58-
<SliderObj icon="devicon-python-plain" />
59-
<SliderObj icon="devicon-flask-original" />
60-
<SliderObj icon="devicon-html5-plain" />
61-
<SliderObj icon="devicon-css3-plain" />
62-
<SliderObj icon="devicon-bootstrap-plain" />
63-
<SliderObj icon="devicon-git-plain" />
64-
<SliderObj icon="devicon-nodejs-plain" />
65-
<SliderObj icon="devicon-c-plain" />
66-
<SliderObj icon="devicon-rust-plain" />
67-
<SliderObj icon="devicon-raspberrypi-line" />
68-
<SliderObj icon="devicon-java-plain" />
69-
<SliderObj icon="devicon-php-plain" />
70-
<SliderObj icon="devicon-composer-line" />
71-
<SliderObj icon="devicon-jupyter-plain" />
72-
<SliderObj icon="devicon-figma-plain" />
73-
<SliderObj icon="devicon-trello-plain" />
52+
<SliderObj icon="devicon-nextjs-original" text="NextJS" />
53+
<SliderObj icon="devicon-react-original" text="React" />
54+
<SliderObj icon="devicon-javascript-plain" text="Javascript " />
55+
<SliderObj icon="devicon-typescript-plain" text="Typescript" />
56+
<SliderObj icon="devicon-mongodb-plain" text="MongoDB" />
57+
<SliderObj icon="devicon-graphql-plain" text="GraphQL" />
58+
<SliderObj icon="devicon-python-plain" text="Python" />
59+
<SliderObj icon="devicon-flask-original" text="Flask" />
60+
<SliderObj icon="devicon-html5-plain" text="HTML5" />
61+
<SliderObj icon="devicon-css3-plain" text="CSS3" />
62+
<SliderObj icon="devicon-bootstrap-plain" text="Bootstrap" />
63+
<SliderObj icon="devicon-git-plain" text="Git" />
64+
<SliderObj icon="devicon-nodejs-plain" text="NodeJS" />
65+
<SliderObj icon="devicon-c-plain" text="ANSI C" />
66+
<SliderObj icon="devicon-rust-plain" text="Rust" />
67+
<SliderObj icon="devicon-raspberrypi-line" text="Raspberry Pi" />
68+
<SliderObj icon="devicon-java-plain" text="Java" />
69+
<SliderObj icon="devicon-php-plain" text="PHP" />
70+
<SliderObj icon="devicon-composer-line" text="Composer" />
71+
<SliderObj icon="devicon-jupyter-plain" text="Jupyter" />
72+
<SliderObj icon="devicon-figma-plain" text="Figma" />
73+
<SliderObj icon="devicon-trello-plain" text="Trello" />
7474
</div>
7575
</div>

src/components/slider/SliderItem.astro

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
const { icon = 'devicon-javascript-plain' } = Astro.props;
2+
const { icon = 'devicon-javascript-plain', text = '' } = Astro.props;
33
---
44

55
<style>
@@ -13,6 +13,7 @@ i {
1313
display: flex;
1414
justify-content: center;
1515
width: 160px;
16+
margin-right: 20px;
1617
}
1718
.slide > i {
1819
color: var(--text-color);
@@ -23,4 +24,5 @@ i {
2324

2425
<div class="slide">
2526
<i class={icon}></i>
27+
<span>{text}</span>
2628
</div>

0 commit comments

Comments
 (0)