diff --git a/eleventy.config.js b/eleventy.config.js index 9a83481..fac42ec 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -4,6 +4,9 @@ import brokenLinksPlugin from 'eleventy-plugin-broken-links' import { eleventyImageTransformPlugin } from '@11ty/eleventy-img' import syntaxHighlight from '@11ty/eleventy-plugin-syntaxhighlight' import footnote from 'markdown-it-footnote' +import fetch from 'node-fetch' +import fs from 'node:fs' +import exifParser from 'exif-parser' import { EleventyRenderPlugin, IdAttributePlugin } from '@11ty/eleventy' import { setupBlogCollections } from './scripts/eleventy/blog.js' import { setupFeedCollections } from './scripts/eleventy/feed.js' @@ -33,6 +36,16 @@ const setupPlugins = eleventyConfig => { eleventyConfig.addLiquidFilter('dateToRfc822', rssPlugin.dateToRfc822) eleventyConfig.addLiquidFilter('dateToRfc3339', rssPlugin.dateToRfc3339) eleventyConfig.addLiquidFilter('getNewestCollectionItemDate', rssPlugin.getNewestCollectionItemDate) + + eleventyConfig.addLiquidFilter('parseExif', async (src) => { + const content = src.startsWith('https://') + ? await fetch(src).then(r => r.arrayBuffer()) + : fs.readFileSync(src) + + const result = exifParser.create(content).parse() + console.log({ result }) + return result + }) } export default function (eleventyConfig) { diff --git a/package.json b/package.json index 69dc8f8..7490be4 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0", "canvas": "^3.1.0", "eleventy-plugin-broken-links": "^2.2.1", + "exif-parser": "^0.1.12", "favicons": "^7.2.0", "markdown-it-footnote": "^4.0.0", "node-fetch": "^3.3.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d643303..a691dad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,6 +29,9 @@ importers: eleventy-plugin-broken-links: specifier: ^2.2.1 version: 2.2.1 + exif-parser: + specifier: ^0.1.12 + version: 0.1.12 favicons: specifier: ^7.2.0 version: 7.2.0 @@ -643,6 +646,9 @@ packages: eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + exif-parser@0.1.12: + resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==} + expand-template@2.0.3: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} @@ -2176,6 +2182,8 @@ snapshots: eventemitter3@4.0.7: {} + exif-parser@0.1.12: {} + expand-template@2.0.3: {} extend-shallow@2.0.1: diff --git a/src/_includes/icons/aperture.liquid b/src/_includes/icons/aperture.liquid new file mode 100644 index 0000000..5de867b --- /dev/null +++ b/src/_includes/icons/aperture.liquid @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/_includes/icons/arrow-up.liquid b/src/_includes/icons/arrow-up.liquid new file mode 100644 index 0000000..71fd923 --- /dev/null +++ b/src/_includes/icons/arrow-up.liquid @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/_includes/icons/calendar.liquid b/src/_includes/icons/calendar.liquid new file mode 100644 index 0000000..4c131e3 --- /dev/null +++ b/src/_includes/icons/calendar.liquid @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/_includes/icons/camera.liquid b/src/_includes/icons/camera.liquid new file mode 100644 index 0000000..6b84fac --- /dev/null +++ b/src/_includes/icons/camera.liquid @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/_includes/icons/crop.liquid b/src/_includes/icons/crop.liquid new file mode 100644 index 0000000..7628e2d --- /dev/null +++ b/src/_includes/icons/crop.liquid @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/_includes/icons/locate-fixed.liquid b/src/_includes/icons/locate-fixed.liquid new file mode 100644 index 0000000..10d4384 --- /dev/null +++ b/src/_includes/icons/locate-fixed.liquid @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/_includes/icons/map-pin.liquid b/src/_includes/icons/map-pin.liquid new file mode 100644 index 0000000..c4d566f --- /dev/null +++ b/src/_includes/icons/map-pin.liquid @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/_includes/icons/rabbit.liquid b/src/_includes/icons/rabbit.liquid new file mode 100644 index 0000000..93c16bd --- /dev/null +++ b/src/_includes/icons/rabbit.liquid @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/_includes/photo_exif.liquid b/src/_includes/photo_exif.liquid new file mode 100644 index 0000000..80f3a51 --- /dev/null +++ b/src/_includes/photo_exif.liquid @@ -0,0 +1,47 @@ +{% assign exif = src | parseExif %} +
+{%
+ include '../../_includes/photo_exif',
+ src:'https://static.garrettmills.dev/assets/blog-images/IMG_2655.jpg',
+ title:'Spring Tulips.',
+ location: 'Chi Omega Fountain, Lawrence, KS'
+%}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-