init portfolio
Build / Deploy (push) Failing after 1m55s
Details
|
@ -0,0 +1,4 @@
|
||||||
|
*.PNG filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jpg filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.JPG filter=lfs diff=lfs merge=lfs -text
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 130 B |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 130 B |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 130 B |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 130 B |
|
@ -49,7 +49,8 @@
|
||||||
<div class="nav-links">
|
<div class="nav-links">
|
||||||
<div class="d-inline-block">
|
<div class="d-inline-block">
|
||||||
{{navItem("Home", "/")}}
|
{{navItem("Home", "/")}}
|
||||||
{{navItem("Blog", "/blog", false)}}
|
{{navItem("Blog", "/blog")}}
|
||||||
|
{{navItem("Portfolio", "/portfolio", false)}}
|
||||||
</div>
|
</div>
|
||||||
<div class="d-inline-block">
|
<div class="d-inline-block">
|
||||||
<span> | </span>
|
<span> | </span>
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
title: 'Portfolio'
|
||||||
|
permalink: "/portfolio/"
|
||||||
|
---
|
||||||
|
<h1>Portfolio</h1>
|
||||||
|
{% for portfolioItem in collections.portfolio %}
|
||||||
|
<div class="portfolio-list-item">
|
||||||
|
<div class="portfolio-list-item-header">
|
||||||
|
<h2>{{portfolioItem.data.title}}</h2>
|
||||||
|
- {{portfolioItem.data.description}}
|
||||||
|
</div>
|
||||||
|
<div class="flex">
|
||||||
|
{% for image in portfolioItem.data.images | slice(3) %}
|
||||||
|
|
||||||
|
<img src="{{image}}" alt="" />
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: Luxor Live
|
||||||
|
description: Delivering dynamic, on-the-spot lighting solutions for visiting acts without their own lighting designer, and ensuring a smooth experience for touring LD's
|
||||||
|
---
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
import * as path from 'node:path';
|
||||||
|
import * as fs from 'node:fs';
|
||||||
|
|
||||||
|
const conf = {
|
||||||
|
tags: "portfolio",
|
||||||
|
layout: "base.njk",
|
||||||
|
eleventyComputed: {
|
||||||
|
images(data) {
|
||||||
|
const dir = path.dirname(data.page.inputPath);
|
||||||
|
|
||||||
|
const images = fs.readdirSync(dir).filter(file => ['.png', '.jpg', '.jpeg', '.JPG'].includes(path.extname(file).toLowerCase())).map(image => `${data.page.url}${image}`);
|
||||||
|
|
||||||
|
return images;
|
||||||
|
},
|
||||||
|
data(data) { return data; }
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default conf;
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: Sowulo
|
||||||
|
description: Designing a theatrical, atmospheric and detailed show while efficiently adapting to both venues of varying sizes and large festivals with very short on-site preparation times
|
||||||
|
---
|
|
@ -59,6 +59,42 @@ body {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.portfolio-list-item {
|
||||||
|
padding: 0.5rem;
|
||||||
|
background-color: $grey-dark;
|
||||||
|
margin-top: 1rem;
|
||||||
|
|
||||||
|
.flex {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
picture {
|
||||||
|
max-width: 33%;
|
||||||
|
display: block;
|
||||||
|
height: 15rem;
|
||||||
|
|
||||||
|
img {
|
||||||
|
height: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
min-width: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&-header {
|
||||||
|
margin-bottom: 0.3rem;
|
||||||
|
|
||||||
|
& * {
|
||||||
|
display: inline;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
margin-right: 0.2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ol:not(ol *, ul *),
|
ol:not(ol *, ul *),
|
||||||
ul:not(ol *, ul *) {
|
ul:not(ol *, ul *) {
|
||||||
margin-left: 0rem;
|
margin-left: 0rem;
|
||||||
|
|