Skip to content

Commit

Permalink
Updated the writings
Browse files Browse the repository at this point in the history
  • Loading branch information
HHogg committed Jul 19, 2021
1 parent 9ca04bb commit fbb14c2
Show file tree
Hide file tree
Showing 21 changed files with 351 additions and 283 deletions.
2 changes: 0 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,4 @@ before_deploy:
deploy:
provider: firebase
skip_cleanup: true
token:
secure: QCtEd4Qw1+qGex4VdGO72VlcCIO9er1rhbnA9yI6HNqP30JdbOWnODZifs7igLwh9z9eZQDPqX1K3cBfUbsJi6BXxUNjELVB6sXUvGwiXuA7L8A2QUR+rXH9C0+WlC/v1s3mswl3YfI+b/XbVLmebea3ryH1hcp9WNykb8ZIyCyrLEn3jxqbNbM5YaqUONnwKVDE1ZG+WIZXAfZrNV30ROcJgLSmATjoC4LyGULkF2H+cBYcFp8PNueCRty2GcwKU5f8PqZBigSVHKcYlsSGVoWUCXaKc1odETUte6qTVwjpur9iq/qwiJPkeMDMIRRyZFoBp3wKPKEPnw39dE0AAIbYBIqHV7O8qAy67hkNA0PH4ATpOJPPgNc1RhMNTiOVsBYk71qXSITVNJhyJyooA7lMZBJbe7vW5l3VteyL7zkse8IirIW1EIXhreom2UEJsM/nR1DWZSCN3S/x08TLg8w+cy3D75UVKWifDAG4jX0eXNQiPAbSR/hQgkn6/WUfKhFiE+GhG584/1bJ+/Y/46Gg3nzMwnONjnt8NMEkakvofb/agCT6OaYprrpKyM023QwoBGHlJiReNNGSozy4bP8YFSSA9Cdd6d/yKEBhBBFylTfdUsqP54J2ScuPTnWGVfhjvo00NAyhpZT4dakBLbZCHolqmEkBZzy5chpvVRc=

12 changes: 5 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,14 @@
},
"dependencies": {
"@bitrise/bitviz": "^0.0.9",
"@hhogg/antwerp": "^3.0.4",
"@hhogg/snake": "^0.0.3",
"@hhogg/antwerp": "^3.0.5",
"@hhogg/snake": "^0.0.4",
"autoprefixer": "^9.7.4",
"babel-eslint": "^8.2.3",
"bezier-easing": "^2.1.0",
"caniuse-lite": "^1.0.30000697",
"classnames": "^2.2.5",
"d3-scale": "^3.3.0",
"delaunay-triangulate": "^1.1.6",
"firebase": "^7.14.0",
"firebase-tools": "^7.14.0",
"framer": "^1.1.7",
Expand All @@ -40,16 +39,15 @@
"parcel-bundler": "^1.12.4",
"parcel-plugin-html-externals": "^0.2.0",
"postcss-preset-env": "^6.7.0",
"preshape": "^5.0.0",
"preshape": "^6.1.0",
"react": "^16.13.0",
"react-dom": "^16.13.0",
"react-helmet": "6.0.0-beta.2 ",
"react-router-dom": "^5.1.2",
"react-snap": "^1.23.0",
"regl": "^1.3.11",
"regl": "^2.0.1",
"sat": "^0.8.0",
"typescript": "^3.7.5",
"vishull2d": "^0.1.0"
"typescript": "^3.7.5"
},
"devDependencies": {
"@types/bezier-easing": "*",
Expand Down
48 changes: 24 additions & 24 deletions src/components/Experience/Experience.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as React from 'react';
import { Flex, Label, Labels, Text } from 'preshape';
import { Box, Label, Labels, Text } from 'preshape';
import { DateTime } from 'luxon';
import { Experience } from '../../Types';

Expand All @@ -11,15 +11,15 @@ const ExperienceComponent = (props: Props) => {
const { current, company, date, description, tags, role } = props;

return (
<Flex
direction="horizontal"
<Box
flex="horizontal"
gap="x6"
margin="x2">
<Flex
direction="vertical"
<Box
flex="vertical"
gap="x2">
{ current && (
<Flex>
<Box>
<Text
backgroundColor="accent-shade-2"
borderRadius="x1"
Expand All @@ -30,24 +30,24 @@ const ExperienceComponent = (props: Props) => {
textColor="light-shade-1">
Now
</Text>
</Flex>
</Box>
) }

<Flex
<Box
alignChildrenHorizontal="middle"
direction="horizontal"
flex="horizontal"
grow>
<Flex
<Box
alignChildrenHorizontal="middle"
direction="vertical">
<Flex
flex="vertical">
<Box
backgroundColor="accent-shade-2"
grow
width="2px" />
</Flex>
</Flex>
</Box>
</Box>

<Flex>
<Box>
<Text
backgroundColor="accent-shade-2"
borderRadius="x1"
Expand All @@ -58,20 +58,20 @@ const ExperienceComponent = (props: Props) => {
textColor="light-shade-1">
{ DateTime.fromISO(date).toFormat('yyyy') }
</Text>
</Flex>
</Flex>
</Box>
</Box>

<Flex backgroundColor="background-shade-2" basis="none" grow padding="x6">
<Text strong>{ company }</Text>
<Text size="x1" strong>{ role }</Text>
<Text margin="x2" size="x1">{ description }</Text>
<Box backgroundColor="background-shade-2" basis="0" grow padding="x6">
<Text size="x3" strong>{ company }</Text>
<Text strong>{ role }</Text>
<Text margin="x2">{ description }</Text>
<Labels margin="x3">
{ tags.map((tag) =>
<Label key={ tag } size="x1">{ tag } </Label>
<Label key={ tag }>{ tag } </Label>
) }
</Labels>
</Flex>
</Flex>
</Box>
</Box>
);
};

Expand Down
40 changes: 20 additions & 20 deletions src/components/Header/Header.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as React from 'react';
import { Route } from 'react-router-dom';
import { Flex, FlexProps, Icon, Link, Text, ThemeSwitcher } from 'preshape';
import { Box, BoxProps, Icon, Link, Text, ThemeSwitcher } from 'preshape';
import { RootContext } from '../Root';

interface Props extends FlexProps {
interface Props extends BoxProps {
description?: string;
themeable?: boolean;
title?: string;
Expand All @@ -14,46 +14,46 @@ const Header = (props: Props) => {
const { onChangeTheme, theme } = React.useContext(RootContext);

return (
<Flex { ...rest }
<Box { ...rest }
alignChildrenHorizontal="between"
direction="horizontal"
flex="horizontal"
gap="x4"
margin="x6">
<Flex alignSelf="middle">
<Box alignSelf="middle">
<Route path="/:nested">
<Link to="/">
<Flex direction="horizontal">
<Flex>
<Box flex="horizontal">
<Box>
<Icon name="ChevronLeft" size="24px" />
</Flex>
<Flex>
</Box>
<Box>
<Text strong>Back</Text>
</Flex>
</Flex>
</Box>
</Box>
</Link>
</Route>
</Flex>
</Box>

{ title && (
<React.Fragment>
<Flex borderSize="x1" />
<Box borderSize="x1" />

<Flex grow>
<Text strong>{ title }</Text>
<Box grow>
<Text size="x3" strong>{ title }</Text>

{ description && (
<Text size="x1">{ description }</Text>
<Text>{ description }</Text>
) }
</Flex>
</Box>
</React.Fragment>
) }

{ themeable && (
<Flex>
<Box>
<ThemeSwitcher onChange={ onChangeTheme } theme={ theme } />
</Flex>
</Box>
) }
</Flex>
</Box>
);
};

Expand Down
82 changes: 41 additions & 41 deletions src/components/Landing/Landing.tsx
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
import * as React from 'react';
import { motion } from 'framer';
import { Flex, Grid, Link, Text, Icon } from 'preshape';
import { Box, Grid, Link, Text, Icon } from 'preshape';
import data from '../../data';
import Experience from '../Experience/Experience';
import Project from '../Project/Project';
import Writing from '../Writing/Writing';
import Header from '../Header/Header';

export default () => {
export default function Landing() {
return (
<Flex backgroundColor="background-shade-1" padding="x6">
<Box backgroundColor="background-shade-1" padding="x6">
<Header />

<Flex
<Box
alignChildrenHorizontal="middle"
direction="vertical"
flex="vertical"
gap="x16">
<Flex maxWidth="600px" paddingVertical="x3">
<Flex margin="x6">
<Text margin="x2" size="x5" strong>
<Box maxWidth="600px" paddingVertical="x3">
<Box margin="x6">
<Text margin="x2" size="x6" strong>
Hi. <motion.span
animate={ { rotate: ['0deg', '25deg', '0deg', '25deg', '0deg', '25deg', '0deg'] } }
initial={ { rotate: '0deg' } }
Expand All @@ -33,21 +33,21 @@ export default () => {
</motion.span>
</Text>
<Text margin="x2" size="x5" strong>I'm Harrison Hogg, a Software Engineer from Brighton, UK.</Text>
</Flex>
</Box>

<Flex margin="x6">
<Text margin="x3">I love designing and building things, which frequently
<Box margin="x6">
<Text margin="x3" size="x3">I love designing and building things, which frequently
sends me down rabbit holes on side projects. I studied at <Link href="https://www.open.ac.uk/" underline>The Open University</Link> where
I received my BSc Computing and Design Honours degree. When I'm not stringing characters together, I'm
a less than stable climbing frame for my two daughters 👧🏼👩🏼.</Text>
</Flex>
</Flex>
</Box>
</Box>

<Flex maxWidth="930px" paddingVertical="x3">
<Flex maxWidth="600px">
<Box maxWidth="1240px" paddingVertical="x3">
<Box maxWidth="600px">
<Text size="x4" strong>Personal Projects</Text>
<Text margin="x3">Some of my favourite and finished personal side projects.</Text>
</Flex>
<Text margin="x2">Some of my favourite and finished personal side projects.</Text>
</Box>

<Grid
gap="x4"
Expand All @@ -57,30 +57,30 @@ export default () => {
<Project { ...project } key={ project.title } />
)) }
</Grid>
</Flex>
</Box>

<Flex maxWidth="600px" paddingVertical="x3">
<Flex margin="x6">
<Text margin="x3" size="x4" strong>Writings</Text>
<Text margin="x3">
<Box maxWidth="600px" paddingVertical="x3">
<Box margin="x6">
<Text margin="x2" size="x4" strong>Writings</Text>
<Text margin="x2">
Usually when doing one of my side projects, I find something to write about and then
add them to this list. It's like an infrequent blog with no consistent theme.
</Text>
</Flex>
</Box>

{ Object
.values(data.writings)
.sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime())
.map((writing) => (
<Writing { ...writing } key={ writing.title } />
)) }
</Flex>
</Box>

<Flex maxWidth="600px" paddingVertical="x3">
<Flex margin="x6">
<Text margin="x3" size="x4" strong>Experience</Text>
<Text margin="x3">A timeline of where and what I've worked on over the years.</Text>
</Flex>
<Box maxWidth="600px" paddingVertical="x3">
<Box margin="x10">
<Text margin="x2" size="x4" strong>Experience</Text>
<Text margin="x2">A timeline of where and what I've worked on over the years.</Text>
</Box>

{ Object
.values(data.experience)
Expand All @@ -90,33 +90,33 @@ export default () => {
current={ index === 0 }
key={ exp.date } />
)) }
</Flex>
</Box>

<Flex
<Box
alignChildrenHorizontal="middle"
direction="horizontal"
flex="horizontal"
gap="x8"
maxWidth="600px"
paddingVertical="x8">
<Flex>
<Box>
<Link href="mailto:[email protected]">
<Icon name="Letter" size="2rem" />
</Link>
</Flex>
</Box>

<Flex>
<Box>
<Link href="https://github.com/HHogg" target="Github">
<Icon name="Github" size="2rem" />
</Link>
</Flex>
</Box>

<Flex>
<Box>
<Link href="https://linkedin.com/in/harrison-hogg" target="LinkedIn">
<Icon name="LinkedIn" size="2rem" />
</Link>
</Flex>
</Flex>
</Flex>
</Flex>
</Box>
</Box>
</Box>
</Box>
);
};
Loading

0 comments on commit fbb14c2

Please sign in to comment.