diff --git a/_projects/downlight_bikelight.md b/_projects/downlight_bikelight.md index d314dbb..5a78632 100644 --- a/_projects/downlight_bikelight.md +++ b/_projects/downlight_bikelight.md @@ -4,6 +4,7 @@ layout: project excerpt: An old ceiling mounted LED downlight becomes a chonky bike light. permalink: /projects/downlight_bikelight assets: /assets/projects/downlight_bikelight +images: /assets/projects/downlight_bikelight/img date: 2025-05-11 img: @@ -12,11 +13,33 @@ img: src: /assets/projects/downlight_bikelight/thumbnail.png social_image: /assets/projects/downlight_bikelight/thumbnail.png -model: /assets/projects//downlight_bikelight/models -draft: True +model: /assets/projects/downlight_bikelight/models + +head: | + --- +I pulled this dying LED downlight out of my kitchen ceiling. +
+My hand pulling a circular LED downlight out of the ceiling. +
+ +In doing so I realised that this downlight has an amusingly chonky heatsink and a nice lens. + +
+All the parts of the downlight laid out on the carpet. There's a lens, LED and various spacers. +All the parts of the downlight laid out on the carpet. There's a lens, LED and various spacers. +
+ +So I made a front plate for it to turn it into a bicycle light. I think it suits the current cobbled together, solarpunky aesthetic of my bike.

Loading model...

+ + +Next job is to actually mount it! + +
+Me holding the printed out new front ring in front of the CAD model on my laptop. +
\ No newline at end of file diff --git a/_projects/elegoo_mount.md b/_projects/elegoo_mount.md index 21d47c5..af90cb1 100644 --- a/_projects/elegoo_mount.md +++ b/_projects/elegoo_mount.md @@ -12,7 +12,7 @@ img: src: /assets/projects/elegoo_mount/thumbnail.png social_image: /assets/projects/elegoo_mount/thumbnail.png -draft: True +draft: false --- This is just a quick mount for a [BIQU H2V2](https://biqu.equipment/products/biqu-h2-v2-0-extruder) hotend on an Elegoo Neptune 2. diff --git a/_projects/helmet_lights.md b/_projects/helmet_lights.md index e84b8f8..351354f 100644 --- a/_projects/helmet_lights.md +++ b/_projects/helmet_lights.md @@ -11,6 +11,7 @@ img: social_image: /assets/projects/helmet_lights/thumbnail.png models: /assets/projects/helmet_lights/models +date: 2023-01-01 --- diff --git a/_projects/lamps.md b/_projects/lamps.md index c22e225..43b33b8 100644 --- a/_projects/lamps.md +++ b/_projects/lamps.md @@ -4,6 +4,8 @@ layout: project excerpt: 3D Printed Lamp Shades permalink: /projects/lamps assets: /assets/projects/lamps +date: 2023-01-01 +draft: true img: alt: A CAD model of a 3D printable mount for a common LED light onto a helmet. diff --git a/_sass/base.scss b/_sass/base.scss index 804515d..6c3c95d 100644 --- a/_sass/base.scss +++ b/_sass/base.scss @@ -125,10 +125,16 @@ hr.heading { width: 100%; margin-top: 0; margin-bottom: 2em; - border: 1px solid rgba(128, 128, 128, 0.2); height: 0; + border: 1px solid rgba(128, 128, 128, 0.2); } +hr.byline { + margin-top: 0.2em; + margin-bottom: 0.5em; + border: 1px solid rgba(128, 128, 128, 0.2); + } + // Used for both blog and project summaries @mixin time-text { font-size: 0.75em; @@ -163,10 +169,7 @@ section.byline-time { } } -hr.byline { - margin-top: 0.2em; - margin-bottom: 0.5em; -} + section.byline { font-style: italic; diff --git a/assets/js/expand_img_tags.js b/assets/js/expand_img_tags.js new file mode 100644 index 0000000..cbb082f --- /dev/null +++ b/assets/js/expand_img_tags.js @@ -0,0 +1,62 @@ +function isIOS() { + return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; +} + +function enterFullscreen(element) { + if (element.requestFullscreen) { + element.requestFullscreen(); + } else if (element.webkitRequestFullscreen) { + element.webkitRequestFullscreen(); + } else { + console.warn("Fullscreen API not supported on this browser"); + } +} + +function exitFullscreen() { + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } +} + +// Create and style fullscreen overlay container +const fullscreenContainer = document.createElement("div"); +fullscreenContainer.style.position = "fixed"; +fullscreenContainer.style.top = 0; +fullscreenContainer.style.left = 0; +fullscreenContainer.style.width = "100vw"; +fullscreenContainer.style.height = "100vh"; +fullscreenContainer.style.background = "rgba(0, 0, 0, 0.95)"; +fullscreenContainer.style.display = "flex"; +fullscreenContainer.style.alignItems = "center"; +fullscreenContainer.style.justifyContent = "center"; +fullscreenContainer.style.zIndex = 9999; +fullscreenContainer.style.cursor = "zoom-out"; +fullscreenContainer.style.visibility = "hidden"; + +const fullscreenImage = document.createElement("img"); +fullscreenImage.style.maxWidth = "90vw"; +fullscreenImage.style.maxHeight = "90vh"; +fullscreenImage.style.boxShadow = "0 0 20px rgba(0,0,0,0.8)"; +fullscreenContainer.appendChild(fullscreenImage); + +document.body.appendChild(fullscreenContainer); + +document.querySelectorAll("img").forEach((img) => { + img.style.cursor = "zoom-in"; + img.addEventListener("click", () => { + console.log("Image clicked:", img.src); + fullscreenImage.src = img.src; + fullscreenContainer.style.visibility = "visible"; + + // Only attempt fullscreen if supported + enterFullscreen(fullscreenContainer); + }); +}); + +fullscreenContainer.addEventListener("click", () => { + console.log("Exiting fullscreen"); + fullscreenContainer.style.visibility = "hidden"; + exitFullscreen(); +}); diff --git a/assets/projects/downlight_bikelight/img/cad.jpeg b/assets/projects/downlight_bikelight/img/cad.jpeg new file mode 100644 index 0000000..fbe5414 Binary files /dev/null and b/assets/projects/downlight_bikelight/img/cad.jpeg differ diff --git a/assets/projects/downlight_bikelight/img/laid_out_front.jpeg b/assets/projects/downlight_bikelight/img/laid_out_front.jpeg new file mode 100644 index 0000000..43b6551 Binary files /dev/null and b/assets/projects/downlight_bikelight/img/laid_out_front.jpeg differ diff --git a/assets/projects/downlight_bikelight/img/laid_out_top.jpeg b/assets/projects/downlight_bikelight/img/laid_out_top.jpeg new file mode 100644 index 0000000..cb016d6 Binary files /dev/null and b/assets/projects/downlight_bikelight/img/laid_out_top.jpeg differ diff --git a/assets/projects/downlight_bikelight/img/original_location.jpeg b/assets/projects/downlight_bikelight/img/original_location.jpeg new file mode 100644 index 0000000..7635094 Binary files /dev/null and b/assets/projects/downlight_bikelight/img/original_location.jpeg differ diff --git a/assets/projects/downlight_bikelight/models/fbx_export.glb b/assets/projects/downlight_bikelight/models/fbx_export.glb new file mode 100644 index 0000000..c0355a4 Binary files /dev/null and b/assets/projects/downlight_bikelight/models/fbx_export.glb differ diff --git a/highlights.md b/highlights.md index 9097d4f..6573e05 100644 --- a/highlights.md +++ b/highlights.md @@ -45,7 +45,7 @@ Welcome to my little home on the web! Below you'll find recent blog posts, proje Last Modified
-{% assign projects = site.projects | sort_natural: "last_modified_at"%} +{% assign projects = site.projects | sort_natural: "date" | reverse %} {% for post in projects limit:5 %} {% if post.draft == false or jekyll.environment == "development" %} {% include project_summary.html %}