development #24
30
.gitea/workflows/dev.yaml
Normal file
30
.gitea/workflows/dev.yaml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
name: Build and Push Development Docker Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ development ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-push:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Log in to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ${{ secrets.CONTAINER_REGISTRY }}
|
||||||
|
username: ${{ secrets.CONTAINER_REGISTRY_USERNAME }}
|
||||||
|
password: ${{ secrets.CONTAINER_REGISTRY_PASSKEY }}
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Build and Tag Docker Image
|
||||||
|
run: |
|
||||||
|
docker build -t ${{ secrets.CONTAINER_REGISTRY }}/${{ secrets.CONTAINER_REGISTRY_USERNAME }}/luke-else.co.uk:dev .
|
||||||
|
|
||||||
|
- name: Push Docker Image
|
||||||
|
run: |
|
||||||
|
docker push ${{ secrets.CONTAINER_REGISTRY }}/${{ secrets.CONTAINER_REGISTRY_USERNAME }}/luke-else.co.uk:dev
|
@ -1,10 +1,8 @@
|
|||||||
name: Build and Push Docker Image
|
name: Build and Push Latest Docker Image
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
pull_request:
|
|
||||||
branches: [ main ]
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-push:
|
build-and-push:
|
12
src/app.html
12
src/app.html
@ -28,7 +28,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
border: .2em solid var(--bg-grad-3);
|
border: .12em solid var(--accent);
|
||||||
border-radius: 5em;
|
border-radius: 5em;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
@ -85,16 +85,6 @@
|
|||||||
color: var(--header);
|
color: var(--header);
|
||||||
}
|
}
|
||||||
|
|
||||||
.button {
|
|
||||||
color: var(--fg);
|
|
||||||
background-color: var(--bg-grad-1);
|
|
||||||
transition: all 0.2s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.button:hover {
|
|
||||||
box-shadow: .3em .3em .3em var(--header);
|
|
||||||
}
|
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 90%;
|
max-width: 90%;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
|
@ -23,8 +23,9 @@
|
|||||||
box-shadow: .25em .25em .5em var(--hover);
|
box-shadow: .25em .25em .5em var(--hover);
|
||||||
}
|
}
|
||||||
|
|
||||||
.card:hover {
|
.card:hover, .card:focus-within {
|
||||||
box-shadow: .5em .5em .5em var(--hover);
|
box-shadow: .5em .5em .5em var(--hover);
|
||||||
|
transform: scale(1.02);
|
||||||
}
|
}
|
||||||
|
|
||||||
.card .card-header :global(div) {
|
.card .card-header :global(div) {
|
||||||
|
@ -45,12 +45,12 @@
|
|||||||
.slider {
|
.slider {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background-color: var(--bg-grad-4);
|
background-color: var(--accent);
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
background-color: #ccc;
|
background-color: var(--accent);
|
||||||
-webkit-transition: .4s;
|
-webkit-transition: .4s;
|
||||||
transition: .4s;
|
transition: .4s;
|
||||||
}
|
}
|
||||||
@ -62,17 +62,10 @@
|
|||||||
width: 45%;
|
width: 45%;
|
||||||
left: 4px;
|
left: 4px;
|
||||||
bottom: 4px;
|
bottom: 4px;
|
||||||
background-color: white;
|
background-color: var(--bg);
|
||||||
-webkit-transition: .4s;
|
-webkit-transition: .4s;
|
||||||
transition: .4s;
|
transition: .4s;
|
||||||
}
|
}
|
||||||
input:checked + .slider {
|
|
||||||
background-color: var(--bg-grad-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
input:checked + .slider:before {
|
|
||||||
background: var(--bg);
|
|
||||||
}
|
|
||||||
|
|
||||||
input:checked + .slider:before {
|
input:checked + .slider:before {
|
||||||
-webkit-transform: translateX(1.625em);
|
-webkit-transform: translateX(1.625em);
|
||||||
|
@ -44,13 +44,13 @@
|
|||||||
max-width: 80%;
|
max-width: 80%;
|
||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
background: IndianRed;
|
background: var(--red);
|
||||||
}
|
}
|
||||||
.success {
|
.success {
|
||||||
background: MediumSeaGreen;
|
background: var(--green);
|
||||||
}
|
}
|
||||||
.info {
|
.info {
|
||||||
background: SkyBlue;
|
background: var(--blue);
|
||||||
}
|
}
|
||||||
.text {
|
.text {
|
||||||
margin-left: 1rem;
|
margin-left: 1rem;
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
height: 8em;
|
height: 8em;
|
||||||
width: 8em;
|
width: 8em;
|
||||||
padding: 1em 1em 1em 1em;
|
padding: 1em 1em 1em 1em;
|
||||||
border: .5em solid var(--bg-grad-3);
|
border: .25em solid var(--accent);
|
||||||
}
|
}
|
||||||
|
|
||||||
.about {
|
.about {
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
flex: 2 1;
|
flex: 2 1;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
gap: 1em 3em;
|
gap: 1em 3em;
|
||||||
}
|
}
|
||||||
@ -38,6 +39,16 @@
|
|||||||
font-size: .8em;
|
font-size: .8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
background-color: var(--fg);
|
||||||
|
color: var(--bg);
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button:hover {
|
||||||
|
transform: scale(1.01);
|
||||||
|
}
|
||||||
|
|
||||||
textarea {
|
textarea {
|
||||||
min-height: 12em;
|
min-height: 12em;
|
||||||
}
|
}
|
||||||
|
@ -26,10 +26,10 @@
|
|||||||
<TimelineSeparator>
|
<TimelineSeparator>
|
||||||
{#if item.duration.includes('Present') || !item.duration.includes('-')}
|
{#if item.duration.includes('Present') || !item.duration.includes('-')}
|
||||||
<div class="elementToFadeInAndOut">
|
<div class="elementToFadeInAndOut">
|
||||||
<TimelineDot style={`background-color: var(--link); border-color: var(--bg-grad-2);`} />
|
<TimelineDot style={`background-color: var(--link); border-color: var(--accent);`} />
|
||||||
</div>
|
</div>
|
||||||
{:else}
|
{:else}
|
||||||
<TimelineDot style={`background-color: var(--link); border-color: var(--bg-grad-2);`} />
|
<TimelineDot style={`background-color: var(--link); border-color: var(--accent);`} />
|
||||||
{/if}
|
{/if}
|
||||||
<TimelineConnector />
|
<TimelineConnector />
|
||||||
</TimelineSeparator>
|
</TimelineSeparator>
|
||||||
@ -45,7 +45,7 @@
|
|||||||
.oposite-content-title {
|
.oposite-content-title {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
color: var(--bg-grad-2);
|
color: var(--accent);
|
||||||
}
|
}
|
||||||
.content-title {
|
.content-title {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
18
static/themes/cool-modern.css
Normal file
18
static/themes/cool-modern.css
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
:root {
|
||||||
|
--bg: #f2f6f7; /* Soft blue-tinted white */
|
||||||
|
--bg-secondary: #d7e1e4; /* Cool grey-blue */
|
||||||
|
--accent: #92a9b0; /* Subtle blue-green */
|
||||||
|
|
||||||
|
--header: #5d7075; /* Deep slate blue-green */
|
||||||
|
--fg: #3c4649; /* Rich dark grey */
|
||||||
|
|
||||||
|
--input: #e0e6e8; /* Light desaturated blue-grey */
|
||||||
|
|
||||||
|
--link: #678d97; /* Muted sea blue */
|
||||||
|
--glow: #b2c4c8; /* Gentle cool glow */
|
||||||
|
--hover: #8fa7af; /* Soft grey-blue hover */
|
||||||
|
|
||||||
|
--green: #78a890; /* Balanced green */
|
||||||
|
--red: #e08c96; /* Soft dusty red */
|
||||||
|
--blue: #729da5; /* Medium desaturated blue */
|
||||||
|
}
|
@ -1,18 +1,18 @@
|
|||||||
:root {
|
:root {
|
||||||
--bg: #282c34;
|
--bg: #282c34;
|
||||||
--bg-secondary: #3e434b;
|
--bg-secondary: #3e434b;
|
||||||
--bg-grad-1: #484e58;
|
--accent: #59616d;
|
||||||
--bg-grad-2: #4e5560;
|
|
||||||
--bg-grad-3: #59616d;
|
|
||||||
--bg-grad-4: #606a7b;
|
|
||||||
--bg-grad-5: #606978;
|
|
||||||
--input: #2b3136;
|
|
||||||
--fg: #9eaac0;
|
|
||||||
--header: #E06C75;
|
--header: #E06C75;
|
||||||
|
--fg: #9eaac0;
|
||||||
|
|
||||||
|
--input: #2b3136;
|
||||||
|
|
||||||
--link: #98C379;
|
--link: #98C379;
|
||||||
--hover: #56B6C2;
|
|
||||||
--glow: #C678DD;
|
--glow: #C678DD;
|
||||||
|
--hover: #56B6C2;
|
||||||
|
|
||||||
--green: #98C379;
|
--green: #98C379;
|
||||||
--red: #E06C75;
|
--red: #E06C75;
|
||||||
|
--blue: #79aec3;
|
||||||
}
|
}
|
17
static/themes/frosted-blue.css
Normal file
17
static/themes/frosted-blue.css
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
:root {
|
||||||
|
--bg: #1e1f2a;
|
||||||
|
--bg-secondary: #3a3f4b;
|
||||||
|
--accent: #777f8d;
|
||||||
|
|
||||||
|
--header: #cad1da;
|
||||||
|
--fg: #e4e1db;
|
||||||
|
|
||||||
|
--input: #2e3438;
|
||||||
|
|
||||||
|
--link: #95add8;
|
||||||
|
--glow: #bcc3ca;
|
||||||
|
--hover: #cdd8e2;
|
||||||
|
|
||||||
|
--green: #98C379;
|
||||||
|
--red: #E06C75;
|
||||||
|
}
|
18
static/themes/jet-brains-dracula.css
Normal file
18
static/themes/jet-brains-dracula.css
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
:root {
|
||||||
|
--bg: #2b2b2b; /* Dark but not too harsh */
|
||||||
|
--bg-secondary: #3c3f41; /* Deep warm grey */
|
||||||
|
--accent: #6897bb; /* Muted but clear blue */
|
||||||
|
|
||||||
|
--header: #a9b7c6; /* Softer contrast */
|
||||||
|
--fg: #bbbbbb; /* Light but not pure white */
|
||||||
|
|
||||||
|
--input: #414141; /* Dark grey input */
|
||||||
|
|
||||||
|
--link: #519aba; /* Soft coding blue */
|
||||||
|
--glow: #4e5d68; /* Subtle bluish glow */
|
||||||
|
--hover: #8c9da8; /* Brighter on hover */
|
||||||
|
|
||||||
|
--green: #6a8759; /* Classic Darcula green */
|
||||||
|
--red: #cc6666; /* Softer, warm red */
|
||||||
|
--blue: #6897bb; /* Standard coding blue */
|
||||||
|
}
|
@ -1,18 +1,18 @@
|
|||||||
:root {
|
:root {
|
||||||
--bg: #fff;
|
--bg: #f5f5f5; /* Slightly deeper light grey for subtle contrast */
|
||||||
--bg-secondary: #ebebeb;
|
--bg-secondary: #d9dddf; /* More defined soft grey */
|
||||||
--bg-grad-1: #c1c1c1;
|
--accent: #8ea29b; /* Stronger muted sage green */
|
||||||
--bg-grad-2: #a1a1a1;
|
|
||||||
--bg-grad-3: #858585;
|
|
||||||
--bg-grad-4: #616161;
|
|
||||||
--bg-grad-5: #484848;
|
|
||||||
--input: #cbc9c9;
|
|
||||||
--fg: #2f2f2f;
|
|
||||||
--header: #514a4a;
|
|
||||||
--link: #df0000;
|
|
||||||
--hover: #4f4b489b;
|
|
||||||
--glow: #545454;
|
|
||||||
|
|
||||||
--green: #98C379;
|
--header: #4a5a56; /* Darker desaturated green-grey for better contrast */
|
||||||
--red: #E06C75;
|
--fg: #2f3739; /* Richer dark grey for improved readability */
|
||||||
|
|
||||||
|
--input: #e4e7e8; /* Slightly deeper soft grey input background */
|
||||||
|
|
||||||
|
--link: #5f8480; /* Darker muted teal for contrast */
|
||||||
|
--glow: #b0bdb9; /* More noticeable but soft glow */
|
||||||
|
--hover: #85a29c; /* Stronger pastel hover effect */
|
||||||
|
|
||||||
|
--green: #6fa984; /* More vibrant pastel green */
|
||||||
|
--red: #e8858f; /* Slightly deeper pastel red for contrast */
|
||||||
|
--blue: #6fa9a4; /* Same as accent */
|
||||||
}
|
}
|
18
static/themes/monokai-dark.css
Normal file
18
static/themes/monokai-dark.css
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
:root {
|
||||||
|
--bg: #272822; /* Classic Monokai dark */
|
||||||
|
--bg-secondary: #3e3d32; /* Darker olive grey */
|
||||||
|
--accent: #f92672; /* Monokai’s signature pink-red */
|
||||||
|
|
||||||
|
--header: #a6e22e; /* Neon green */
|
||||||
|
--fg: #f8f8f2; /* Soft off-white */
|
||||||
|
|
||||||
|
--input: #373831; /* Slightly lighter grey-green */
|
||||||
|
|
||||||
|
--link: #66d9ef; /* Monokai cyan */
|
||||||
|
--glow: #49483e; /* Muted background glow */
|
||||||
|
--hover: #fd7c95; /* Lighter pink hover */
|
||||||
|
|
||||||
|
--green: #a6e22e; /* Bright Monokai green */
|
||||||
|
--red: #f92672; /* Soft pinkish-red */
|
||||||
|
--blue: #66d9ef; /* Bright cyan */
|
||||||
|
}
|
18
static/themes/vscode-dark.css
Normal file
18
static/themes/vscode-dark.css
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
:root {
|
||||||
|
--bg: #1e1e1e; /* Dark neutral background */
|
||||||
|
--bg-secondary: #252526; /* Slightly lighter for separation */
|
||||||
|
--accent: #569cd6; /* Signature VS Code blue */
|
||||||
|
|
||||||
|
--header: #9cdcfe; /* Brighter cyan for contrast */
|
||||||
|
--fg: #d4d4d4; /* Light grey for readability */
|
||||||
|
|
||||||
|
--input: #333; /* Dark but still visible */
|
||||||
|
|
||||||
|
--link: #4fc1ff; /* Brighter blue for hyperlinks */
|
||||||
|
--glow: #2a3f5f; /* Soft deep blue glow */
|
||||||
|
--hover: #7bb8e8; /* Brighter accent on hover */
|
||||||
|
|
||||||
|
--green: #4ec9b0; /* Soft green */
|
||||||
|
--red: #d16969; /* Coding red */
|
||||||
|
--blue: #9cdcfe; /* Soft bright cyan */
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user