mirror of
https://github.com/runyanjake/jakesphotos.git
synced 2026-03-26 05:23:18 -07:00
Compare commits
9 Commits
ffa0a46213
...
abd982677f
| Author | SHA1 | Date | |
|---|---|---|---|
| abd982677f | |||
| 68ac8a69db | |||
| 59390262b1 | |||
| 157298daaa | |||
| 757a002188 | |||
| 51845db643 | |||
| 753112ff46 | |||
| 81bdd08f01 | |||
| f0afaaf733 |
12
.claude/settings.local.json
Normal file
12
.claude/settings.local.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(for f in \"C:/Users/runya/Documents/repositories/jakesphotos/content/collections\"/*/images.json)",
|
||||
"Bash(do node -e \"JSON.parse\\(require\\(''fs''\\).readFileSync\\(''$f'',''utf8''\\)\\)\")",
|
||||
"Bash(echo \"OK: $f\")",
|
||||
"Bash(echo \"BAD: $f\")",
|
||||
"Bash(done)",
|
||||
"Bash(node -e \":*)"
|
||||
]
|
||||
}
|
||||
}
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1,3 @@
|
||||
node_modules/
|
||||
src/generated/
|
||||
build/
|
||||
@ -22,6 +22,9 @@ FROM nginx:alpine
|
||||
# Copy the build files from the previous stage
|
||||
COPY --from=build /app/build /usr/share/nginx/html
|
||||
|
||||
# Use custom nginx config so client-side routes (e.g. /contact, /about) fall back to index.html
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
# Expose port 80
|
||||
EXPOSE 80
|
||||
|
||||
|
||||
94
README.md
94
README.md
@ -31,6 +31,98 @@ npm start
|
||||
docker compose down && docker system prune -af && docker compose build && docker compose up -d && docker logs -f jakesphotos
|
||||
```
|
||||
|
||||
## Page Templates
|
||||
|
||||
Pages are defined in `content/` as `index.md` files with YAML frontmatter. The `template` frontmatter key selects which template renders the page. All templates support a `title` key.
|
||||
|
||||
### `carousel`
|
||||
Full-height image slideshow that auto-advances and loops infinitely. Shows 3 slides at a time. Pauses on hover; prev/next buttons and dot indicators are provided. Slides are defined as `##` sections — link the heading to make the slide clickable.
|
||||
|
||||
```markdown
|
||||
---
|
||||
template: carousel
|
||||
title: Home
|
||||
---
|
||||
|
||||
## [Landscapes](/collection/landscapes)
|
||||

|
||||
|
||||
## Nature
|
||||

|
||||
```
|
||||
|
||||
### `collection`
|
||||
Masonry photo grid with a lightbox viewer. Images are loaded from a sibling `images.json` array of URLs. Order is randomised on each page load.
|
||||
|
||||
```markdown
|
||||
---
|
||||
template: collection
|
||||
title: Landscapes
|
||||
---
|
||||
```
|
||||
|
||||
`images.json` (same directory):
|
||||
```json
|
||||
["https://...", "https://..."]
|
||||
```
|
||||
|
||||
### `menu`
|
||||
Grid of cards, each linking to another page. Useful for a collections index. Each `##` section becomes a card; link the heading for navigation and include an optional image and description.
|
||||
|
||||
```markdown
|
||||
---
|
||||
template: menu
|
||||
title: Collections
|
||||
description: Browse my photo collections
|
||||
---
|
||||
|
||||
## [Landscapes](/collection/landscapes)
|
||||

|
||||
Mountains, coastal cliffs, and open skies.
|
||||
```
|
||||
|
||||
### `default`
|
||||
Simple prose page. Renders markdown body content with an optional profile image.
|
||||
|
||||
```markdown
|
||||
---
|
||||
template: default
|
||||
title: About Me
|
||||
profileImage: https://...
|
||||
---
|
||||
|
||||
Markdown content here.
|
||||
```
|
||||
|
||||
### `contact`
|
||||
Contact page. Renders optional `email` and `instagram` frontmatter as links, followed by any markdown body content.
|
||||
|
||||
```markdown
|
||||
---
|
||||
template: contact
|
||||
title: Contact
|
||||
email: you@example.com
|
||||
instagram: yourhandle
|
||||
---
|
||||
|
||||
Optional extra markdown here.
|
||||
```
|
||||
|
||||
### `homepage`
|
||||
Alternating image/text sections. Each `##` section becomes a row with the image on one side and text on the other, alternating left/right.
|
||||
|
||||
```markdown
|
||||
---
|
||||
template: homepage
|
||||
title: Welcome
|
||||
subtitle: Optional subtitle
|
||||
---
|
||||
|
||||
## Section Heading
|
||||

|
||||
Paragraph text here.
|
||||
```
|
||||
|
||||
## Notes on Generating Image Links
|
||||
Getting image links from Immich is not straightforward.
|
||||
|
||||
@ -38,5 +130,5 @@ Procedure is to
|
||||
1. Add a new image to the shared folder.
|
||||
2. Generate a new share link for the folder.
|
||||
3. Open the shared link, and for each picture right click > open image in new tab.
|
||||
4. The generated URL should be of the form `https://images.whitney.rip/api/assets/e03f66a6-a619-4624-a473-860026b3446a/thumbnail?size=preview&key=G4sdLdVrDhEpIFRcIJ9alvI6Re6_CmJGQ1VirR5Y3zjkA22Cr6vMVcviTYpTjq8PnuA&c=S6DnBWy90pmryXsnoQX9CQ3Y%2BBo%3D`
|
||||
4. The generated URL should be of the form `https://images.whitney.rip/share/Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ/photos/e03f66a6-a619-4624-a473-860026b3446a/thumbnail?size=preview&key=G4sdLdVrDhEpIFRcIJ9alvI6Re6_CmJGQ1VirR5Y3zjkA22Cr6vMVcviTYpTjq8PnuA&c=S6DnBWy90pmryXsnoQX9CQ3Y%2BBo%3D`
|
||||
5. URL can be added to the images.js file.
|
||||
@ -1,17 +0,0 @@
|
||||
{
|
||||
"files": {
|
||||
"main.css": "/static/css/main.39fd778a.css",
|
||||
"main.js": "/static/js/main.fd3a90d8.js",
|
||||
"static/js/488.9561f9b8.chunk.js": "/static/js/488.9561f9b8.chunk.js",
|
||||
"static/media/instagram-light.png": "/static/media/instagram-light.2173f1e5eaee4fd6d94f.png",
|
||||
"static/media/instagram-dark.png": "/static/media/instagram-dark.60be80b890ecf588309c.png",
|
||||
"index.html": "/index.html",
|
||||
"main.39fd778a.css.map": "/static/css/main.39fd778a.css.map",
|
||||
"main.fd3a90d8.js.map": "/static/js/main.fd3a90d8.js.map",
|
||||
"488.9561f9b8.chunk.js.map": "/static/js/488.9561f9b8.chunk.js.map"
|
||||
},
|
||||
"entrypoints": [
|
||||
"static/css/main.39fd778a.css",
|
||||
"static/js/main.fd3a90d8.js"
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.8 KiB |
@ -1 +0,0 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>React App</title><script defer="defer" src="/static/js/main.fd3a90d8.js"></script><link href="/static/css/main.39fd778a.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 9.4 KiB |
@ -1,25 +0,0 @@
|
||||
{
|
||||
"short_name": "React App",
|
||||
"name": "Create React App Sample",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
"sizes": "64x64 32x32 24x24 16x16",
|
||||
"type": "image/x-icon"
|
||||
},
|
||||
{
|
||||
"src": "logo192.png",
|
||||
"type": "image/png",
|
||||
"sizes": "192x192"
|
||||
},
|
||||
{
|
||||
"src": "logo512.png",
|
||||
"type": "image/png",
|
||||
"sizes": "512x512"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#000000",
|
||||
"background_color": "#ffffff"
|
||||
}
|
||||
@ -1,3 +0,0 @@
|
||||
# https://www.robotstxt.org/robotstxt.html
|
||||
User-agent: *
|
||||
Disallow:
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,86 +0,0 @@
|
||||
/*
|
||||
object-assign
|
||||
(c) Sindre Sorhus
|
||||
@license MIT
|
||||
*/
|
||||
|
||||
/*!
|
||||
* Masonry v4.2.2
|
||||
* Cascading grid layout library
|
||||
* https://masonry.desandro.com
|
||||
* MIT License
|
||||
* by David DeSandro
|
||||
*/
|
||||
|
||||
/*!
|
||||
* Outlayer v2.1.1
|
||||
* the brains and guts of a layout library
|
||||
* MIT license
|
||||
*/
|
||||
|
||||
/*!
|
||||
* getSize v2.0.3
|
||||
* measure size of elements
|
||||
* MIT license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react-dom-client.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react-dom.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react-jsx-runtime.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* react.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license React
|
||||
* scheduler.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
/**
|
||||
* react-router v7.1.1
|
||||
*
|
||||
* Copyright (c) Remix Software Inc.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE.md file in the root directory of this source tree.
|
||||
*
|
||||
* @license MIT
|
||||
*/
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB |
@ -1,8 +1,9 @@
|
||||
{
|
||||
"siteTitle": "Jake Runyan Photography",
|
||||
"footerCopyright": "Jake Runyan",
|
||||
"collectionRoot": "collections",
|
||||
"nav": [
|
||||
{ "label": "Gallery", "path": "/gallery" },
|
||||
{ "label": "Collections", "path": "/collections" },
|
||||
{ "label": "Contact", "path": "/contact" },
|
||||
{ "label": "About", "path": "/about" }
|
||||
],
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
---
|
||||
template: default
|
||||
title: About Me
|
||||
profileImage: https://gallery.whitney.rip/api/v1/t/287329d8835b299400819437c9c2a2d192041159/2tdm690t/fit_4096
|
||||
profileImage: https://images.whitney.rip/api/assets/8b48f2d9-0b0e-406a-8c2c-ac52028bd7ea/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=YwgKDQLKZ2%2BGh3mId4aWhxaAaFCX
|
||||
---
|
||||
|
||||
I'm Jake, a small time photographer out of the Bay Area. I started shooting as a kid on my dad's old Canon EOS 60D, and now have graduated to owning my own gear. Having an artistic outlet has always been a force of balance for me, and with a background in video and photo editing, this has been a fun one.
|
||||
I'm Jake, an amateur photographer from the Bay Area. I took my first photos as a kid using my dad's old Canon EOS 60D, and since have graduated to owning my own gear. Having an artistic outlet has always been important for me, and photography has been a fun way to remember and relive fun moments from my life.
|
||||
|
||||
My current setup is a Sony Alpha 6300 with a 27mm pancake lens. This budget setup was perfect for bringing my camera along on bike rides, as cycling is another hobby. You can find me on Youtube as Jake's West Coast. My current photography interests include capturing the beauty of the Bay Area and California coast on our bike rides, as well as moments in my everyday life.
|
||||
My current setup is a Sony Alpha 6300 with a 27mm pancake lens. This budget setup was perfect for bringing my camera along on bike rides, as cycling is another hobby. (You can find me on Youtube as Jake's West Coast). My current photography interests include capturing the beauty of the Bay Area and California coast on our bike rides, as well as moments in my everyday life.
|
||||
|
||||
If you'd like to learn more about Jake, the person, you can find more at my instagram @runyanjake or on my personal website jake.runyan.dev.
|
||||
|
||||
6
content/collections/action/images.json
Normal file
6
content/collections/action/images.json
Normal file
@ -0,0 +1,6 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/dfb53a18-05dc-4cbc-bdd2-7f8b6f5a4e8e/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=KNcNFYKbeHd1iIhPdkeIl4twuQiX",
|
||||
"https://images.whitney.rip/api/assets/7d5803ea-20b9-448f-9659-6fb801f15c68/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=JAgKFYR4eIaPeJiHh5d4dGeAfAfI",
|
||||
"https://images.whitney.rip/api/assets/2250e289-03ae-4ee4-a63a-3ba29db99dd0/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=3sYJCoKGd4hwd5h2inCZCKg%3D",
|
||||
"https://images.whitney.rip/share/Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ/photos/dfb53a18-05dc-4cbc-bdd2-7f8b6f5a4e8e"
|
||||
]
|
||||
4
content/collections/action/index.md
Normal file
4
content/collections/action/index.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
template: collection
|
||||
title: Action
|
||||
---
|
||||
5
content/collections/index.md
Normal file
5
content/collections/index.md
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
template: collection-index
|
||||
title: Collections
|
||||
description: Browse my photo collections
|
||||
---
|
||||
15
content/collections/landscapes/images.json
Normal file
15
content/collections/landscapes/images.json
Normal file
@ -0,0 +1,15 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/4db2ea6d-8998-40df-bf05-fc27beeb2085/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=3QcGFYJ5g2mfdmhClmd3mKeSYAUn",
|
||||
"https://images.whitney.rip/api/assets/f7bfc5b1-6ef6-42ce-b4a2-237939b03ae9/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=k%2FcNFYKFd4efh4h2eGd3hodwZghn",
|
||||
"https://images.whitney.rip/api/assets/30273029-cba9-45a6-aa7c-3af27d0bd835/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=1vcRHYJneHifd3d3eFh4h4eAdgd4",
|
||||
"https://images.whitney.rip/api/assets/fe1b66b4-4f98-43a3-bb26-6d4661d5ffe2/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=FAgWFYRpd3ePh3eGiFiHeGmFgGYI",
|
||||
"https://images.whitney.rip/api/assets/d88e4a71-d645-48de-9b22-aad8f1ae3bde/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=n%2FcNHYJ4iHd%2FeIeIh3eHdnmAmAaI",
|
||||
"https://images.whitney.rip/api/assets/3a89717a-b0b9-42a6-ab34-0f4dc3d90987/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=3fcVFYB5mXh%2FiIiJd2Z4iFuQiBLP",
|
||||
"https://images.whitney.rip/api/assets/e03f66a6-a619-4624-a473-860026b3446a/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=RAgGDYCPSUOCendQh2oiqI9x8SgX",
|
||||
"https://images.whitney.rip/api/assets/d14fcd1e-5479-4312-ae39-055283c8fd75/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=2vcJBYAIeHdeeId8h8d4hoCxAVZb",
|
||||
"https://images.whitney.rip/api/assets/4d759c78-64c8-4607-9b61-7d1f536fe98f/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=HegJHYJ2eHifeIhleKh4iYWAVweI",
|
||||
"https://images.whitney.rip/api/assets/a837364d-ed8a-44cf-a8db-8db320bf81e6/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=G%2FgFFYJXeImfeHh5ipiHfHWQcFUI",
|
||||
"https://images.whitney.rip/api/assets/038e8d18-87cd-49f4-8e53-4c36a5f76cfb/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=5fcNDYB4h4h%2FiHd4iGiJd2aAWAWo",
|
||||
"https://images.whitney.rip/api/assets/a0193b43-937a-4b3e-8411-e58985902fd3/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=VvgJHQR4eI94iHiIiHeIiHdwdAdX",
|
||||
"https://images.whitney.rip/api/assets/5f102243-0652-42bb-94da-266adc1927dc/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=3fcRBQCIeI94F3end3dnmGeAK%2BYK"
|
||||
]
|
||||
@ -1,4 +1,4 @@
|
||||
---
|
||||
template: gallery
|
||||
template: collection
|
||||
title: Landscapes
|
||||
---
|
||||
18
content/collections/misc/images.json
Normal file
18
content/collections/misc/images.json
Normal file
@ -0,0 +1,18 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/fc6c3d20-2521-4d31-9f31-19476ad30a65/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=J%2FgNBYDWZnaPhod2iIh3eApgxvkD",
|
||||
"https://images.whitney.rip/api/assets/15dd24ba-e2ae-4093-a098-988aac86e1e0/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=7vcFBYDGVadvh3hdhoiHh55PPPnJ",
|
||||
"https://images.whitney.rip/api/assets/1a8dd56a-3433-40ab-8619-f385560ee807/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=GvgJHYRCZ2lidoefd8Z3dZeQgAc4",
|
||||
"https://images.whitney.rip/api/assets/0beaaf50-cb2c-4d84-b099-e1af24f7d2e3/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=lxgKDYB1ZmZZiZhweWaXhyBn0fZ%2B",
|
||||
"https://images.whitney.rip/api/assets/01d40f57-dbf6-4c9d-8fc1-0ac22dfe17e5/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=UQgGDYKwNlqIWGaBhlp4iIEvD6rT",
|
||||
"https://images.whitney.rip/api/assets/44f3ce06-3b34-42d2-9396-424ff95ba672/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=WvgJDQBJhoR896h3moqId%2Fl1kgbG",
|
||||
"https://images.whitney.rip/api/assets/2c55949d-7a2d-4bde-a87e-107ce352bc60/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=2PgFDYCllHkwd3hQiOiZfmhFIG9A",
|
||||
"https://images.whitney.rip/api/assets/0ff98add-0a3c-408b-af91-6320df62910f/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=GfgNHYJVeHefd3d6h0iIh3aAVQeJ",
|
||||
"https://images.whitney.rip/api/assets/ce5eba3e-c444-4a20-a88a-92bfe56c6891/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=KwgOHQSZeIx4%2BHdHh4O4iHiAmAeY",
|
||||
"https://images.whitney.rip/api/assets/8e254f41-7b14-48b3-ba98-a96fb9c05129/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=1OcJDQJmh194B3iYeHloeHaAewfp",
|
||||
"https://images.whitney.rip/api/assets/1f877a0c-8e36-4751-b50a-5ea12c73aefc/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=VugJDYA4eKZfhnmMiKiGhxlfhGf8",
|
||||
"https://images.whitney.rip/api/assets/1979efcd-ba01-4194-b0f7-8e64a996c1cc/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=1%2FcJJYQpaFaPh4doZ3eGlndwdgdo",
|
||||
"https://images.whitney.rip/api/assets/4d045446-e402-475d-8b85-8cbb04afc148/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=IQgSDQCVh4%2BHl2hoeImIWFtwxBQH",
|
||||
"https://images.whitney.rip/api/assets/30b56b85-3225-44df-903d-5ba14e07927c/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=3%2BcVHYKHeHh%2Fd4d3d1iIiHZwOBcH",
|
||||
"https://images.whitney.rip/api/assets/92063a5c-0c50-46c1-9bb3-8c294305b5a7/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=HQgaDYCQaHh6lniHd4iHhx%2BRWPYJ",
|
||||
"https://images.whitney.rip/api/assets/3017faba-56bb-4873-8a6a-822231545c1b/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=H9cRFQKJiI%2BHiIhHiHaHl3iAkggp"
|
||||
]
|
||||
4
content/collections/misc/index.md
Normal file
4
content/collections/misc/index.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
template: collection
|
||||
title: Miscellaneous
|
||||
---
|
||||
18
content/collections/nature/images.json
Normal file
18
content/collections/nature/images.json
Normal file
@ -0,0 +1,18 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/ec92f32f-0c08-4317-b8e2-90c53c2e6416/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=HggGBYAFZnhud3ZhdnhoaTRwcRn6",
|
||||
"https://images.whitney.rip/api/assets/8a750cc3-7bef-4bc6-9727-83151dead578/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=GOoFDYBpdUk%2Fh4eGWZZjWB5rgPu3",
|
||||
"https://images.whitney.rip/api/assets/40cb4952-0b8a-4500-a692-a20acbe01ff4/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=FvkFFYIrVGRDq4qFZwaXhmiOoAjH",
|
||||
"https://images.whitney.rip/api/assets/4e440673-7294-48ac-99a4-05cc3fb07cd2/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=legFDYIyZlqPlYhzemaYaEBvBcY3",
|
||||
"https://images.whitney.rip/api/assets/88cd4904-2ab1-4c60-b225-58d73945d724/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=lvgFDYCKlphvZ4iFl5hpdQuI2Jf4",
|
||||
"https://images.whitney.rip/api/assets/d33762bc-1204-4f33-8e6f-2ea5bde72f1a/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=lfgBDYD8t4W%2FRql5izS2eKZ%2FzDAJ",
|
||||
"https://images.whitney.rip/api/assets/fe4c9bf0-334b-40fb-9a44-8b1984e2818a/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=1vcJJYSGh4Zvd4d6aHeJh5eAdQlX",
|
||||
"https://images.whitney.rip/api/assets/993736e1-a3ae-4ec5-8c67-c25c4c734f23/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=UggKBYAQh3prd3eEeJd3h49SBsRU",
|
||||
"https://images.whitney.rip/api/assets/994408ea-6f04-473f-84ea-de3c77265298/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=UekFDQAJiINchlaIiXRZV3xYQIf7",
|
||||
"https://images.whitney.rip/api/assets/d496de3c-bf3a-4b49-a34a-96c998c288a0/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=D%2FgFBYAKJKdRvIh2ZqhqYjP784iR",
|
||||
"https://images.whitney.rip/api/assets/fd4b8886-7a55-478e-8bc8-6cba70fe9cd2/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=F%2BgRJQBFeH92eIhniId3eJmQ9grJ",
|
||||
"https://images.whitney.rip/api/assets/abefba8f-c77e-46e7-9f62-9a3da5ec8128/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=l%2BgFDQBXWLtXBWaGd4RnZlmKMArJ",
|
||||
"https://images.whitney.rip/api/assets/d9fc53c6-4645-4451-91d5-94927ff638ea/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=EvgJDQAXlp9nV7jGiZ2WmbBTkaQC",
|
||||
"https://images.whitney.rip/api/assets/b66557e8-aa4a-4f0b-b252-ee0ece28b0b5/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=EggGDYI3Z3Z6qndweoZ2eIdFgIEH",
|
||||
"https://images.whitney.rip/api/assets/0eef2205-2260-4307-80fa-520aeb139558/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=kjgKDYJpqml%2Fl4mGiHeIdiZKUPIT",
|
||||
"https://images.whitney.rip/api/assets/0fe37f58-c2c6-4007-ae6d-0230ab4a7507/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=T9gFDAIGZ8Yml3domGdmX4Rj%2Bg%3D%3D"
|
||||
]
|
||||
4
content/collections/nature/index.md
Normal file
4
content/collections/nature/index.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
template: collection
|
||||
title: Places
|
||||
---
|
||||
7
content/collections/people/images.json
Normal file
7
content/collections/people/images.json
Normal file
@ -0,0 +1,7 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/bfa43b2b-4aa1-4792-ab2f-aff1e226cdf0/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=TQgKFYJ2eWZ%2FiHeTeXiIe2VvVcYH",
|
||||
"https://images.whitney.rip/api/assets/91d11918-7471-4e81-b101-23511e14f45d/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=UOcNJQRml4%2BIZ5l4eXWHh5iAlgho",
|
||||
"https://images.whitney.rip/api/assets/787274d8-d94b-479c-9a11-b60f3ca3e640/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=2wcOFYJjeHiZdndwiLd3hoSQFwh6",
|
||||
"https://images.whitney.rip/api/assets/87cd7f35-f4c5-4a1e-a56d-c6d8e9d082da/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=mfcNFYJTWGl9hIevd6Z3l5aCcAc4",
|
||||
"https://images.whitney.rip/api/assets/f4fcf415-7eb1-4131-8ef8-b0456aa31c62/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=GAgODYIJd4eIdXePdXd4ZohwhQZn"
|
||||
]
|
||||
4
content/collections/people/index.md
Normal file
4
content/collections/people/index.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
template: collection
|
||||
title: People
|
||||
---
|
||||
8
content/collections/places/images.json
Normal file
8
content/collections/places/images.json
Normal file
@ -0,0 +1,8 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/8beaf017-029f-4827-a3c2-066f9453e271/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=GwgKDIJId1efiGiIiIj2dXuM9w%3D%3D",
|
||||
"https://images.whitney.rip/api/assets/2fb5267d-7b71-4612-ad9c-4be961704a67/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=W%2BcRHYR8eHd%2Fh4doiHeIh3aQRgd6",
|
||||
"https://images.whitney.rip/api/assets/4d0fbaa8-90c2-4a46-9b32-d463fac24ba1/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=mRgGFYJzR2yPdoZaeKZ6lY6U4DgI",
|
||||
"https://images.whitney.rip/api/assets/a00d29e7-7c50-46ba-9c69-d74d5d4ba04d/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=mfcJDYBJd3dvh4d0h3d5eIaAagSo",
|
||||
"https://images.whitney.rip/api/assets/b1adae05-fcfe-43c1-908b-b17388dc05cc/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=2QcOBQCYaI94KHeHZ4iXVymAlmQH",
|
||||
"https://images.whitney.rip/api/assets/3a47f867-70ee-4bba-b001-c6fc12ed8476/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=2AcOFQRod4%2BGp3doh3d4d4ZgcAcF"
|
||||
]
|
||||
4
content/collections/places/index.md
Normal file
4
content/collections/places/index.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
template: collection
|
||||
title: Places
|
||||
---
|
||||
7
content/collections/portraits/images.json
Normal file
7
content/collections/portraits/images.json
Normal file
@ -0,0 +1,7 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/3082f0af-fb30-4e04-baae-5b47d310e380/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=CvgFBQBZeHeIB4dniHeIeJedcOr7",
|
||||
"https://images.whitney.rip/api/assets/e29ce2a5-987c-4453-81f2-b2e7b161e7d2/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=TAgGDQBNV2mXCIZXeGWIaFSPU8MJ",
|
||||
"https://images.whitney.rip/api/assets/f4c18690-b0fe-4ed1-a1d7-ea49b8828aa6/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=kBgKDYKApXdyiIjGl1aXeJB%2BA%2Fc3",
|
||||
"https://images.whitney.rip/api/assets/d84b166b-56fc-48cb-b932-7847d70ade04/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=0ygKFYIDJ3l%2BhoiliYd3dEh%2FiPKG",
|
||||
"https://images.whitney.rip/api/assets/18e59afb-8d23-433d-9f91-fb78d6efc729/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=HggODYJRmYpfhpmLd2iJhnuQdgeI"
|
||||
]
|
||||
@ -1,4 +1,4 @@
|
||||
---
|
||||
template: gallery
|
||||
template: collection
|
||||
title: Portraits
|
||||
---
|
||||
22
content/collections/textures/images.json
Normal file
22
content/collections/textures/images.json
Normal file
@ -0,0 +1,22 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/e6934d1a-543c-4ed8-9c29-a94e915f9d94/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=2TgGDYCHWTTjlXlgiJmobXTHEDgO",
|
||||
"https://images.whitney.rip/api/assets/7635d87d-5ed6-4342-9cc2-0c6d0e0a1425/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=2DkCDYKKqWM8iOegekmHNgNJVIBV",
|
||||
"https://images.whitney.rip/api/assets/2fe3919e-00d4-4afc-8140-a81dbf266c82/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=lgoGDYJHDyFuq0k2aKV6Rg%2BboviG",
|
||||
"https://images.whitney.rip/api/assets/3afd7320-9719-4755-85b8-8a87163086fe/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=GecJBQCIiJ%2BIl3mIeHiIiIiApQyP",
|
||||
"https://images.whitney.rip/api/assets/27128ac2-6c4a-4e15-98e5-1dff32f5fa03/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=VigGDYL3ZHV5lYeHZ3h2av2l23%2B5",
|
||||
"https://images.whitney.rip/api/assets/dd59bec7-d922-4a53-af12-3f252c109d0d/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=GggGBQA0WIuVCVeHd4Z5VqCMFIgH",
|
||||
"https://images.whitney.rip/api/assets/214921e1-7b75-4059-ad53-1c1062f6df45/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=XucFBACG94VmaYqXh3iPUvRYRg%3D%3D",
|
||||
"https://images.whitney.rip/api/assets/185d198a-a2d3-40f1-b508-11d03edf8162/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=lvkJFICGd4d%2Fh3d7h3hmf3j6Nw%3D%3D",
|
||||
"https://images.whitney.rip/api/assets/bb8cf2fc-a745-4ff9-87a3-51a5407de9a3/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=F%2FgFBYAER2hnhYeTh4Z4hqxQ9%2Byw",
|
||||
"https://images.whitney.rip/api/assets/ddf6d29e-81f4-4c3b-8277-450a88b0d75f/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=F%2FgFBQBHeHuHCIh4eHeHeCxweSUI",
|
||||
"https://images.whitney.rip/api/assets/8f6df2db-6a63-446b-9c00-5830ff91ea5c/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=VPgFBQI4VYa4CIZ4V2hmqTbf%2FLQY",
|
||||
"https://images.whitney.rip/api/assets/00d4ad2e-d549-45ac-9a7c-d9f97cc2a0ba/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=GPgFBYAFVmhqdoeFdqiGh3DGqOb5",
|
||||
"https://images.whitney.rip/api/assets/97e8aa93-39fb-42d9-b1e0-0536eb81e4ba/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=2FkGBYAoaEqfh3hydod4dwHMEaA6",
|
||||
"https://images.whitney.rip/api/assets/96c2e801-ca3e-4f7b-832c-a2ff2ac7ae40/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=2vcJBQhge4t3WHh3d4Z3d4t%2FCniH",
|
||||
"https://images.whitney.rip/api/assets/da24e8f5-3fd4-494e-9e41-c0091a0fe467/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=E%2FgFBQAp%2BJVmh2hneHcapwKcgK%2BZ",
|
||||
"https://images.whitney.rip/api/assets/a4462903-154f-4ed1-b818-f6afa3dd9518/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=VRgKDIJ1d3d%2Fd3iEiKR6cKkHdw%3D%3D",
|
||||
"https://images.whitney.rip/api/assets/bd04ba66-93ff-4fb6-bf25-9d8058f045d5/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=WvgJDYJ3eIiPh4ieh1d4dXVwcAfH",
|
||||
"https://images.whitney.rip/api/assets/91579dd9-93a0-4cd4-8a36-6d5b02b25281/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=WBgCBgBsh8eGeXePiCSKPWRLXICgZwg%3D",
|
||||
"https://images.whitney.rip/api/assets/9b4c6b9c-02d4-4d15-9c0a-b6a027440e11/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=VggCBQBjiPpVdWGqy6CBpEb1WGR%2F",
|
||||
"https://images.whitney.rip/api/assets/ff9a0b2d-fdff-4780-99f0-9ae475bc29a9/thumbnail?key=Tr5UMHSuNxQ7C5YgyE10L3J6FaKltllrUjdLttGDnId_MTBF4riEcROs7NqXmC6HJYQ&size=preview&c=2vcFBQBYd3aHCIhoh4Z4d3Z%2FCrV1"
|
||||
]
|
||||
@ -1,4 +1,4 @@
|
||||
---
|
||||
template: gallery
|
||||
template: collection
|
||||
title: Textures
|
||||
---
|
||||
@ -1,21 +0,0 @@
|
||||
---
|
||||
template: menu
|
||||
title: Gallery
|
||||
description: Browse my photo collections
|
||||
---
|
||||
|
||||
## [Landscapes](/gallery/landscapes)
|
||||

|
||||
Mountains, coastal cliffs, and open skies across California and the Bay Area.
|
||||
|
||||
## [Portraits](/gallery/portraits)
|
||||

|
||||
Candid moments and faces from everyday life.
|
||||
|
||||
## [Textures](/gallery/textures)
|
||||

|
||||
Abstract surfaces and patterns found in the world around us.
|
||||
|
||||
## [Nature](/gallery/nature)
|
||||

|
||||
Flora, fauna, and natural forms.
|
||||
@ -1,22 +0,0 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/d14fcd1e-5479-4312-ae39-055283c8fd75/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1114e4b3-99a7-4cdc-9ce2-ad52d1a0046f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1ce61b59-98a7-401c-9840-72dc51822494/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2250e289-03ae-4ee4-a63a-3ba29db99dd0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ec93e5f8-ca2e-4078-8190-d884435513eb/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/40cb4952-0b8a-4500-a692-a20acbe01ff4/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2fe3919e-00d4-4afc-8140-a81dbf266c82/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/3a89717a-b0b9-42a6-ab34-0f4dc3d90987/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8beaf017-029f-4827-a3c2-066f9453e271/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/87cd7f35-f4c5-4a1e-a56d-c6d8e9d082da/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2c55949d-7a2d-4bde-a87e-107ce352bc60/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/44f3ce06-3b34-42d2-9396-424ff95ba672/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d88e4a71-d645-48de-9b22-aad8f1ae3bde/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d84b166b-56fc-48cb-b932-7847d70ade04/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/01d40f57-dbf6-4c9d-8fc1-0ac22dfe17e5/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e7055bf2-626a-47a5-9526-15b2de26249e/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/7635d87d-5ed6-4342-9cc2-0c6d0e0a1425/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0beaaf50-cb2c-4d84-b099-e1af24f7d2e3/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/90052323-c4df-4820-8fe8-7658424991b8/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4749cdd5-aa5a-4911-9567-f3f5afca6ecc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D"
|
||||
]
|
||||
@ -1,21 +0,0 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/18e59afb-8d23-433d-9f91-fb78d6efc729/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/72d0e30d-c27c-4d8e-8977-0ae438178324/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d496de3c-bf3a-4b49-a34a-96c998c288a0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fd4b8886-7a55-478e-8bc8-6cba70fe9cd2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/30b56b85-3225-44df-903d-5ba14e07927c/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/185d198a-a2d3-40f1-b508-11d03edf8162/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/92063a5c-0c50-46c1-9bb3-8c294305b5a7/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2fb5267d-7b71-4612-ad9c-4be961704a67/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4d0fbaa8-90c2-4a46-9b32-d463fac24ba1/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/bb8cf2fc-a745-4ff9-87a3-51a5407de9a3/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/abefba8f-c77e-46e7-9f62-9a3da5ec8128/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d9fc53c6-4645-4451-91d5-94927ff638ea/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ddf6d29e-81f4-4c3b-8277-450a88b0d75f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/b66557e8-aa4a-4f0b-b252-ee0ece28b0b5/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8f6df2db-6a63-446b-9c00-5830ff91ea5c/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/00d4ad2e-d549-45ac-9a7c-d9f97cc2a0ba/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/97e8aa93-39fb-42d9-b1e0-0536eb81e4ba/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0eef2205-2260-4307-80fa-520aeb139558/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0fe37f58-c2c6-4007-ae6d-0230ab4a7507/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D"
|
||||
]
|
||||
@ -1,4 +0,0 @@
|
||||
---
|
||||
template: gallery
|
||||
title: Nature
|
||||
---
|
||||
@ -1,22 +0,0 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/f4c18690-b0fe-4ed1-a1d7-ea49b8828aa6/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1a8dd56a-3433-40ab-8619-f385560ee807/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fe1b66b4-4f98-43a3-bb26-6d4661d5ffe2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/787274d8-d94b-479c-9a11-b60f3ca3e640/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/91d11918-7471-4e81-b101-23511e14f45d/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/bfa43b2b-4aa1-4792-ab2f-aff1e226cdf0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/30273029-cba9-45a6-aa7c-3af27d0bd835/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/f7bfc5b1-6ef6-42ce-b4a2-237939b03ae9/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e29ce2a5-987c-4453-81f2-b2e7b161e7d2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/3082f0af-fb30-4e04-baae-5b47d310e380/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/15dd24ba-e2ae-4093-a098-988aac86e1e0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fc6c3d20-2521-4d31-9f31-19476ad30a65/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8a750cc3-7bef-4bc6-9727-83151dead578/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4db2ea6d-8998-40df-bf05-fc27beeb2085/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ec92f32f-0c08-4317-b8e2-90c53c2e6416/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/7d5803ea-20b9-448f-9659-6fb801f15c68/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/dfb53a18-05dc-4cbc-bdd2-7f8b6f5a4e8e/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e6934d1a-543c-4ed8-9c29-a94e915f9d94/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0e88d871-fc8e-4ac3-a96a-920fce3cc546/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/379a3b92-ff9b-4455-afe7-c2c6a8a270cd/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D"
|
||||
]
|
||||
@ -1,22 +0,0 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/e03f66a6-a619-4624-a473-860026b3446a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4d759c78-64c8-4607-9b61-7d1f536fe98f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0ff98add-0a3c-408b-af91-6320df62910f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ce5eba3e-c444-4a20-a88a-92bfe56c6891/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/a837364d-ed8a-44cf-a8db-8db320bf81e6/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8e254f41-7b14-48b3-ba98-a96fb9c05129/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1f877a0c-8e36-4751-b50a-5ea12c73aefc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1979efcd-ba01-4194-b0f7-8e64a996c1cc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/f4fcf415-7eb1-4131-8ef8-b0456aa31c62/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4e440673-7294-48ac-99a4-05cc3fb07cd2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/62baec73-487d-4a72-bdc4-7c168cf6f82a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/88cd4904-2ab1-4c60-b225-58d73945d724/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/dd59bec7-d922-4a53-af12-3f252c109d0d/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d33762bc-1204-4f33-8e6f-2ea5bde72f1a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fe4c9bf0-334b-40fb-9a44-8b1984e2818a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/993736e1-a3ae-4ec5-8c67-c25c4c734f23/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/038e8d18-87cd-49f4-8e53-4c36a5f76cfb/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/994408ea-6f04-473f-84ea-de3c77265298/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ddaf8248-7cdf-4e39-9639-d2826dc9d038/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/214921e1-7b75-4059-ad53-1c1062f6df45/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D"
|
||||
]
|
||||
@ -1,81 +0,0 @@
|
||||
[
|
||||
"https://images.whitney.rip/api/assets/d14fcd1e-5479-4312-ae39-055283c8fd75/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1114e4b3-99a7-4cdc-9ce2-ad52d1a0046f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1ce61b59-98a7-401c-9840-72dc51822494/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2250e289-03ae-4ee4-a63a-3ba29db99dd0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ec93e5f8-ca2e-4078-8190-d884435513eb/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/40cb4952-0b8a-4500-a692-a20acbe01ff4/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2fe3919e-00d4-4afc-8140-a81dbf266c82/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/3a89717a-b0b9-42a6-ab34-0f4dc3d90987/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8beaf017-029f-4827-a3c2-066f9453e271/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/87cd7f35-f4c5-4a1e-a56d-c6d8e9d082da/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2c55949d-7a2d-4bde-a87e-107ce352bc60/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/44f3ce06-3b34-42d2-9396-424ff95ba672/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d88e4a71-d645-48de-9b22-aad8f1ae3bde/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d84b166b-56fc-48cb-b932-7847d70ade04/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/01d40f57-dbf6-4c9d-8fc1-0ac22dfe17e5/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e7055bf2-626a-47a5-9526-15b2de26249e/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/7635d87d-5ed6-4342-9cc2-0c6d0e0a1425/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0beaaf50-cb2c-4d84-b099-e1af24f7d2e3/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/90052323-c4df-4820-8fe8-7658424991b8/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4749cdd5-aa5a-4911-9567-f3f5afca6ecc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/f4c18690-b0fe-4ed1-a1d7-ea49b8828aa6/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1a8dd56a-3433-40ab-8619-f385560ee807/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fe1b66b4-4f98-43a3-bb26-6d4661d5ffe2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/787274d8-d94b-479c-9a11-b60f3ca3e640/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/91d11918-7471-4e81-b101-23511e14f45d/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/bfa43b2b-4aa1-4792-ab2f-aff1e226cdf0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/30273029-cba9-45a6-aa7c-3af27d0bd835/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/f7bfc5b1-6ef6-42ce-b4a2-237939b03ae9/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e29ce2a5-987c-4453-81f2-b2e7b161e7d2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/3082f0af-fb30-4e04-baae-5b47d310e380/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/15dd24ba-e2ae-4093-a098-988aac86e1e0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fc6c3d20-2521-4d31-9f31-19476ad30a65/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8a750cc3-7bef-4bc6-9727-83151dead578/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4db2ea6d-8998-40df-bf05-fc27beeb2085/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ec92f32f-0c08-4317-b8e2-90c53c2e6416/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/7d5803ea-20b9-448f-9659-6fb801f15c68/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/dfb53a18-05dc-4cbc-bdd2-7f8b6f5a4e8e/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e6934d1a-543c-4ed8-9c29-a94e915f9d94/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0e88d871-fc8e-4ac3-a96a-920fce3cc546/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/379a3b92-ff9b-4455-afe7-c2c6a8a270cd/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e03f66a6-a619-4624-a473-860026b3446a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4d759c78-64c8-4607-9b61-7d1f536fe98f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0ff98add-0a3c-408b-af91-6320df62910f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ce5eba3e-c444-4a20-a88a-92bfe56c6891/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/a837364d-ed8a-44cf-a8db-8db320bf81e6/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8e254f41-7b14-48b3-ba98-a96fb9c05129/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1f877a0c-8e36-4751-b50a-5ea12c73aefc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1979efcd-ba01-4194-b0f7-8e64a996c1cc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/f4fcf415-7eb1-4131-8ef8-b0456aa31c62/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4e440673-7294-48ac-99a4-05cc3fb07cd2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/62baec73-487d-4a72-bdc4-7c168cf6f82a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/88cd4904-2ab1-4c60-b225-58d73945d724/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/dd59bec7-d922-4a53-af12-3f252c109d0d/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d33762bc-1204-4f33-8e6f-2ea5bde72f1a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fe4c9bf0-334b-40fb-9a44-8b1984e2818a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/993736e1-a3ae-4ec5-8c67-c25c4c734f23/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/038e8d18-87cd-49f4-8e53-4c36a5f76cfb/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/994408ea-6f04-473f-84ea-de3c77265298/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ddaf8248-7cdf-4e39-9639-d2826dc9d038/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/214921e1-7b75-4059-ad53-1c1062f6df45/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/18e59afb-8d23-433d-9f91-fb78d6efc729/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/72d0e30d-c27c-4d8e-8977-0ae438178324/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d496de3c-bf3a-4b49-a34a-96c998c288a0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fd4b8886-7a55-478e-8bc8-6cba70fe9cd2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/30b56b85-3225-44df-903d-5ba14e07927c/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/185d198a-a2d3-40f1-b508-11d03edf8162/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/92063a5c-0c50-46c1-9bb3-8c294305b5a7/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2fb5267d-7b71-4612-ad9c-4be961704a67/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4d0fbaa8-90c2-4a46-9b32-d463fac24ba1/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/bb8cf2fc-a745-4ff9-87a3-51a5407de9a3/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/abefba8f-c77e-46e7-9f62-9a3da5ec8128/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d9fc53c6-4645-4451-91d5-94927ff638ea/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ddf6d29e-81f4-4c3b-8277-450a88b0d75f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/b66557e8-aa4a-4f0b-b252-ee0ece28b0b5/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8f6df2db-6a63-446b-9c00-5830ff91ea5c/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/00d4ad2e-d549-45ac-9a7c-d9f97cc2a0ba/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/97e8aa93-39fb-42d9-b1e0-0536eb81e4ba/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0eef2205-2260-4307-80fa-520aeb139558/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0fe37f58-c2c6-4007-ae6d-0230ab4a7507/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D"
|
||||
]
|
||||
@ -1,17 +1,28 @@
|
||||
---
|
||||
template: homepage
|
||||
template: carousel
|
||||
title: Jake Runyan Photography
|
||||
subtitle: Bay Area · Cycling · Life
|
||||
---
|
||||
|
||||
## Bay Area Life
|
||||

|
||||
I'm Jake, a small-time photographer out of the Bay Area. I shoot the world around me — the coastlines, the hills, the everyday scenes that make this place feel like home.
|
||||
## [Action](/collections/action)
|
||||

|
||||
|
||||
## On Two Wheels
|
||||

|
||||
My Sony Alpha 6300 comes along on every ride. There's something about cycling that puts you right in the middle of a scene — no glass between you and the world.
|
||||
## [Landscapes](/collections/landscapes)
|
||||

|
||||
|
||||
## Everyday Moments
|
||||

|
||||
Beyond landscapes, it's the small details that catch my eye — textures, light, the quiet moments between everything else.
|
||||
## [Nature](/collections/nature)
|
||||

|
||||
|
||||
## [Textures](/collections/textures)
|
||||

|
||||
|
||||
## [People](/collections/people)
|
||||

|
||||
|
||||
## [Places](/collections/places)
|
||||

|
||||
|
||||
## [Portraits](/collections/portraits)
|
||||

|
||||
|
||||
## [Other Photos](/collections/misc)
|
||||

|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
version: '2.4'
|
||||
|
||||
networks:
|
||||
traefik:
|
||||
external: true
|
||||
|
||||
10
nginx.conf
Normal file
10
nginx.conf
Normal file
@ -0,0 +1,10 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
root /usr/share/nginx/html;
|
||||
index index.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
}
|
||||
32
package-lock.json
generated
32
package-lock.json
generated
@ -84,6 +84,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz",
|
||||
"integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@ampproject/remapping": "^2.2.0",
|
||||
"@babel/code-frame": "^7.26.0",
|
||||
@ -724,6 +725,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.26.0.tgz",
|
||||
"integrity": "sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.25.9"
|
||||
},
|
||||
@ -1588,6 +1590,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz",
|
||||
"integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/helper-annotate-as-pure": "^7.25.9",
|
||||
"@babel/helper-module-imports": "^7.25.9",
|
||||
@ -3472,7 +3475,6 @@
|
||||
"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"dequal": "^2.0.3"
|
||||
}
|
||||
@ -3482,8 +3484,7 @@
|
||||
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
|
||||
"integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@testing-library/jest-dom": {
|
||||
"version": "6.9.1",
|
||||
@ -3570,8 +3571,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
|
||||
"integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/babel__core": {
|
||||
"version": "7.20.5",
|
||||
@ -3999,6 +3999,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz",
|
||||
"integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/regexpp": "^4.4.0",
|
||||
"@typescript-eslint/scope-manager": "5.62.0",
|
||||
@ -4052,6 +4053,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
|
||||
"integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "5.62.0",
|
||||
"@typescript-eslint/types": "5.62.0",
|
||||
@ -4421,6 +4423,7 @@
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
|
||||
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
@ -4507,6 +4510,7 @@
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
@ -5373,6 +5377,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"caniuse-lite": "^1.0.30001688",
|
||||
"electron-to-chromium": "^1.5.73",
|
||||
@ -6483,8 +6488,7 @@
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
|
||||
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/damerau-levenshtein": {
|
||||
"version": "1.0.8",
|
||||
@ -7310,6 +7314,7 @@
|
||||
"integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
|
||||
"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.6.1",
|
||||
@ -10186,6 +10191,7 @@
|
||||
"resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz",
|
||||
"integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jest/core": "^27.5.1",
|
||||
"import-local": "^3.0.2",
|
||||
@ -11483,7 +11489,6 @@
|
||||
"integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"lz-string": "bin/bin.js"
|
||||
}
|
||||
@ -13098,6 +13103,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.7",
|
||||
"picocolors": "^1.1.1",
|
||||
@ -14285,6 +14291,7 @@
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
|
||||
"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"cssesc": "^3.0.0",
|
||||
"util-deprecate": "^1.0.2"
|
||||
@ -14654,6 +14661,7 @@
|
||||
"resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz",
|
||||
"integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
@ -14791,6 +14799,7 @@
|
||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz",
|
||||
"integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"scheduler": "^0.25.0"
|
||||
},
|
||||
@ -14872,6 +14881,7 @@
|
||||
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
|
||||
"integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
@ -15420,6 +15430,7 @@
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz",
|
||||
"integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"rollup": "dist/bin/rollup"
|
||||
},
|
||||
@ -15646,6 +15657,7 @@
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
|
||||
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"fast-uri": "^3.0.1",
|
||||
@ -17321,6 +17333,7 @@
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
|
||||
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
|
||||
"license": "(MIT OR CC0-1.0)",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
@ -17877,6 +17890,7 @@
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz",
|
||||
"integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/eslint-scope": "^3.7.7",
|
||||
"@types/estree": "^1.0.6",
|
||||
@ -17946,6 +17960,7 @@
|
||||
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz",
|
||||
"integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/bonjour": "^3.5.9",
|
||||
"@types/connect-history-api-fallback": "^1.3.5",
|
||||
@ -18375,6 +18390,7 @@
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
|
||||
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"fast-uri": "^3.0.1",
|
||||
|
||||
@ -81,6 +81,28 @@ function walkContent(dirPath, slug) {
|
||||
|
||||
walkContent(CONTENT_DIR, '');
|
||||
|
||||
// --- Auto-discover collections ---
|
||||
// If collectionRoot is set, find all direct sub-pages and populate siteConfig.collections
|
||||
// so templates can consume them without manual markdown links.
|
||||
if (siteConfig.collectionRoot) {
|
||||
const rootRoute = '/' + siteConfig.collectionRoot;
|
||||
siteConfig.collections = Object.entries(pages)
|
||||
.filter(([route]) => {
|
||||
const prefix = rootRoute + '/';
|
||||
if (!route.startsWith(prefix)) return false;
|
||||
const rest = route.slice(prefix.length);
|
||||
return !rest.includes('/'); // direct children only, no deeper nesting
|
||||
})
|
||||
.map(([route, page]) => ({
|
||||
slug: route.split('/').pop(),
|
||||
label: page.frontmatter.title || route.split('/').pop(),
|
||||
description: page.frontmatter.description || '',
|
||||
previewImage: page.images[0] || null,
|
||||
path: route,
|
||||
}));
|
||||
console.log(`[build-content] Collections: ${siteConfig.collections.map(c => c.slug).join(', ')}`);
|
||||
}
|
||||
|
||||
// --- Write output ---
|
||||
const output = `// AUTO-GENERATED by scripts/build-content.js — do not edit by hand.
|
||||
|
||||
|
||||
@ -23,7 +23,9 @@ const App = () => (
|
||||
<ContentProvider>
|
||||
<>
|
||||
<Navbar />
|
||||
<PageRoutes />
|
||||
<main className="app-content">
|
||||
<PageRoutes />
|
||||
</main>
|
||||
<Footer />
|
||||
</>
|
||||
</ContentProvider>
|
||||
|
||||
@ -1,27 +1,30 @@
|
||||
.navbar {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background-color: var(--color-bg-nav);
|
||||
padding: 10px 20px;
|
||||
gap: 10px;
|
||||
padding: 0 20px;
|
||||
height: var(--nav-height);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.navbar-logo {
|
||||
.navbar-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
gap: 20px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.navbar-logo .logo {
|
||||
height: 50px;
|
||||
.navbar-left .logo {
|
||||
height: 44px;
|
||||
border-radius: var(--radius-lg);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.navbar-links {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 10px;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.navbar-links a {
|
||||
@ -29,32 +32,140 @@
|
||||
text-decoration: none;
|
||||
font-family: var(--font-heading);
|
||||
font-size: var(--font-size-base);
|
||||
transition: text-decoration var(--transition-fast);
|
||||
letter-spacing: 0.05em;
|
||||
text-transform: uppercase;
|
||||
opacity: 0.75;
|
||||
transition: opacity var(--transition-fast);
|
||||
}
|
||||
|
||||
.navbar-links a:hover {
|
||||
text-decoration: underline;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.navbar-title h1 {
|
||||
/* Absolutely positioned so it's always centered relative to the full navbar width */
|
||||
.navbar-center {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.navbar-center a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.navbar-center h1 {
|
||||
color: var(--color-text-nav);
|
||||
font-family: var(--font-heading);
|
||||
font-size: 24px;
|
||||
font-size: clamp(11px, 3.2vw, 20px);
|
||||
font-weight: 400;
|
||||
letter-spacing: 0.12em;
|
||||
text-transform: uppercase;
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: calc(100vw - 160px);
|
||||
}
|
||||
|
||||
.navbar-icons {
|
||||
.navbar-right {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
gap: 16px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.navbar-icons .icon {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
transition: transform var(--transition-fast);
|
||||
.navbar-social {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.navbar-icons .icon:hover {
|
||||
.icon {
|
||||
height: 28px;
|
||||
width: 28px;
|
||||
opacity: 0.75;
|
||||
transition: opacity var(--transition-fast), transform var(--transition-fast);
|
||||
}
|
||||
|
||||
.icon:hover {
|
||||
opacity: 1;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.navbar-hamburger {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
background: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.navbar-hamburger span {
|
||||
display: block;
|
||||
width: 22px;
|
||||
height: 2px;
|
||||
background-color: var(--color-text-nav);
|
||||
border-radius: 2px;
|
||||
transition: transform 0.2s ease, opacity 0.2s ease;
|
||||
}
|
||||
|
||||
.navbar-hamburger.open span:nth-child(1) {
|
||||
transform: translateY(7px) rotate(45deg);
|
||||
}
|
||||
|
||||
.navbar-hamburger.open span:nth-child(2) {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.navbar-hamburger.open span:nth-child(3) {
|
||||
transform: translateY(-7px) rotate(-45deg);
|
||||
}
|
||||
|
||||
/* Mobile dropdown menu */
|
||||
.navbar-mobile-menu {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-color: var(--color-bg-nav);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 16px 20px 20px;
|
||||
gap: 16px;
|
||||
z-index: 100;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
|
||||
.navbar-mobile-menu a {
|
||||
color: var(--color-text-nav);
|
||||
text-decoration: none;
|
||||
font-family: var(--font-heading);
|
||||
font-size: var(--font-size-base);
|
||||
letter-spacing: 0.05em;
|
||||
text-transform: uppercase;
|
||||
opacity: 0.75;
|
||||
transition: opacity var(--transition-fast);
|
||||
}
|
||||
|
||||
.navbar-mobile-menu a:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.mobile-menu-icons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
.mobile-menu-icons .icon {
|
||||
height: 22px;
|
||||
width: 22px;
|
||||
}
|
||||
|
||||
/* Nav links are always in the dropdown, never inline */
|
||||
.navbar-links {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { useSiteConfig } from '../framework/ContentProvider';
|
||||
import './Navbar.css';
|
||||
@ -18,6 +18,7 @@ const darkModeQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
||||
const Navbar = () => {
|
||||
const { siteTitle, nav, social } = useSiteConfig();
|
||||
const [isDarkMode, setIsDarkMode] = useState(darkModeQuery.matches);
|
||||
const [menuOpen, setMenuOpen] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
const handler = (e) => setIsDarkMode(e.matches);
|
||||
@ -25,9 +26,25 @@ const Navbar = () => {
|
||||
return () => darkModeQuery.removeEventListener('change', handler);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
const handleResize = () => { if (window.innerWidth > 640) setMenuOpen(false); };
|
||||
window.addEventListener('resize', handleResize);
|
||||
return () => window.removeEventListener('resize', handleResize);
|
||||
}, []);
|
||||
|
||||
const SocialIcons = () => social.map(({ label, url, icon }) => {
|
||||
const icons = ICON_MAP[icon];
|
||||
const src = icons ? (isDarkMode ? icons.dark : icons.light) : null;
|
||||
return (
|
||||
<a key={icon} href={url} target="_blank" rel="noopener noreferrer">
|
||||
{src && <img src={src} alt={label} className="icon" title={label} />}
|
||||
</a>
|
||||
);
|
||||
});
|
||||
|
||||
return (
|
||||
<nav className="navbar">
|
||||
<div className="navbar-logo">
|
||||
<div className="navbar-left">
|
||||
<Link to="/">
|
||||
<img src={logo} alt="Logo" className="logo" />
|
||||
</Link>
|
||||
@ -37,20 +54,35 @@ const Navbar = () => {
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<div className="navbar-title">
|
||||
<h1>{siteTitle}</h1>
|
||||
|
||||
<div className="navbar-center">
|
||||
<Link to="/"><h1>{siteTitle}</h1></Link>
|
||||
</div>
|
||||
<div className="navbar-icons">
|
||||
{social.map(({ label, url, icon }) => {
|
||||
const icons = ICON_MAP[icon];
|
||||
const src = icons ? (isDarkMode ? icons.dark : icons.light) : null;
|
||||
return (
|
||||
<a key={icon} href={url} target="_blank" rel="noopener noreferrer">
|
||||
{src && <img src={src} alt={label} className="icon" title={label} />}
|
||||
</a>
|
||||
);
|
||||
})}
|
||||
|
||||
<div className="navbar-right">
|
||||
<div className="navbar-social">
|
||||
<SocialIcons />
|
||||
</div>
|
||||
<button
|
||||
className={`navbar-hamburger${menuOpen ? ' open' : ''}`}
|
||||
onClick={() => setMenuOpen(o => !o)}
|
||||
aria-label="Toggle menu"
|
||||
aria-expanded={menuOpen}
|
||||
>
|
||||
<span /><span /><span />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{menuOpen && (
|
||||
<div className="navbar-mobile-menu">
|
||||
{nav.map(({ label, path }) => (
|
||||
<Link key={path} to={path} onClick={() => setMenuOpen(false)}>{label}</Link>
|
||||
))}
|
||||
<div className="mobile-menu-icons">
|
||||
<SocialIcons />
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</nav>
|
||||
);
|
||||
};
|
||||
|
||||
@ -1,11 +1,15 @@
|
||||
import GalleryTemplate from '../templates/GalleryTemplate';
|
||||
import CarouselTemplate from '../templates/CarouselTemplate';
|
||||
import CollectionTemplate from '../templates/CollectionTemplate';
|
||||
import CollectionIndexTemplate from '../templates/CollectionIndexTemplate';
|
||||
import DefaultTemplate from '../templates/DefaultTemplate';
|
||||
import ContactTemplate from '../templates/ContactTemplate';
|
||||
import HomepageTemplate from '../templates/HomepageTemplate';
|
||||
import MenuTemplate from '../templates/MenuTemplate';
|
||||
|
||||
const registry = {
|
||||
gallery: GalleryTemplate,
|
||||
carousel: CarouselTemplate,
|
||||
collection: CollectionTemplate,
|
||||
'collection-index': CollectionIndexTemplate,
|
||||
default: DefaultTemplate,
|
||||
contact: ContactTemplate,
|
||||
homepage: HomepageTemplate,
|
||||
|
||||
@ -1,267 +0,0 @@
|
||||
// AUTO-GENERATED by scripts/build-content.js — do not edit by hand.
|
||||
|
||||
export const siteConfig = {
|
||||
"siteTitle": "Jake Runyan Photography",
|
||||
"footerCopyright": "Jake Runyan",
|
||||
"nav": [
|
||||
{
|
||||
"label": "Gallery",
|
||||
"path": "/gallery"
|
||||
},
|
||||
{
|
||||
"label": "Contact",
|
||||
"path": "/contact"
|
||||
},
|
||||
{
|
||||
"label": "About",
|
||||
"path": "/about"
|
||||
}
|
||||
],
|
||||
"social": [
|
||||
{
|
||||
"label": "Instagram",
|
||||
"url": "https://www.instagram.com/jakerunyanphotography",
|
||||
"icon": "instagram"
|
||||
},
|
||||
{
|
||||
"label": "GitHub",
|
||||
"url": "https://github.com/runyanjake/jakesphotos",
|
||||
"icon": "github"
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
export const pages = {
|
||||
"/": {
|
||||
"frontmatter": {
|
||||
"template": "homepage",
|
||||
"title": "Jake Runyan Photography",
|
||||
"subtitle": "Bay Area · Cycling · Life"
|
||||
},
|
||||
"content": "## Bay Area Life\n\nI'm Jake, a small-time photographer out of the Bay Area. I shoot the world around me — the coastlines, the hills, the everyday scenes that make this place feel like home.\n\n## On Two Wheels\n\nMy Sony Alpha 6300 comes along on every ride. There's something about cycling that puts you right in the middle of a scene — no glass between you and the world.\n\n## Everyday Moments\n\nBeyond landscapes, it's the small details that catch my eye — textures, light, the quiet moments between everything else.",
|
||||
"images": [
|
||||
"https://images.whitney.rip/api/assets/d14fcd1e-5479-4312-ae39-055283c8fd75/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1114e4b3-99a7-4cdc-9ce2-ad52d1a0046f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1ce61b59-98a7-401c-9840-72dc51822494/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2250e289-03ae-4ee4-a63a-3ba29db99dd0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ec93e5f8-ca2e-4078-8190-d884435513eb/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/40cb4952-0b8a-4500-a692-a20acbe01ff4/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2fe3919e-00d4-4afc-8140-a81dbf266c82/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/3a89717a-b0b9-42a6-ab34-0f4dc3d90987/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8beaf017-029f-4827-a3c2-066f9453e271/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/87cd7f35-f4c5-4a1e-a56d-c6d8e9d082da/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2c55949d-7a2d-4bde-a87e-107ce352bc60/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/44f3ce06-3b34-42d2-9396-424ff95ba672/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d88e4a71-d645-48de-9b22-aad8f1ae3bde/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d84b166b-56fc-48cb-b932-7847d70ade04/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/01d40f57-dbf6-4c9d-8fc1-0ac22dfe17e5/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e7055bf2-626a-47a5-9526-15b2de26249e/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/7635d87d-5ed6-4342-9cc2-0c6d0e0a1425/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0beaaf50-cb2c-4d84-b099-e1af24f7d2e3/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/90052323-c4df-4820-8fe8-7658424991b8/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4749cdd5-aa5a-4911-9567-f3f5afca6ecc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/f4c18690-b0fe-4ed1-a1d7-ea49b8828aa6/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1a8dd56a-3433-40ab-8619-f385560ee807/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fe1b66b4-4f98-43a3-bb26-6d4661d5ffe2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/787274d8-d94b-479c-9a11-b60f3ca3e640/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/91d11918-7471-4e81-b101-23511e14f45d/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/bfa43b2b-4aa1-4792-ab2f-aff1e226cdf0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/30273029-cba9-45a6-aa7c-3af27d0bd835/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/f7bfc5b1-6ef6-42ce-b4a2-237939b03ae9/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e29ce2a5-987c-4453-81f2-b2e7b161e7d2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/3082f0af-fb30-4e04-baae-5b47d310e380/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/15dd24ba-e2ae-4093-a098-988aac86e1e0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fc6c3d20-2521-4d31-9f31-19476ad30a65/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8a750cc3-7bef-4bc6-9727-83151dead578/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4db2ea6d-8998-40df-bf05-fc27beeb2085/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ec92f32f-0c08-4317-b8e2-90c53c2e6416/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/7d5803ea-20b9-448f-9659-6fb801f15c68/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/dfb53a18-05dc-4cbc-bdd2-7f8b6f5a4e8e/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e6934d1a-543c-4ed8-9c29-a94e915f9d94/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0e88d871-fc8e-4ac3-a96a-920fce3cc546/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/379a3b92-ff9b-4455-afe7-c2c6a8a270cd/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e03f66a6-a619-4624-a473-860026b3446a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4d759c78-64c8-4607-9b61-7d1f536fe98f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0ff98add-0a3c-408b-af91-6320df62910f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ce5eba3e-c444-4a20-a88a-92bfe56c6891/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/a837364d-ed8a-44cf-a8db-8db320bf81e6/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8e254f41-7b14-48b3-ba98-a96fb9c05129/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1f877a0c-8e36-4751-b50a-5ea12c73aefc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1979efcd-ba01-4194-b0f7-8e64a996c1cc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/f4fcf415-7eb1-4131-8ef8-b0456aa31c62/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4e440673-7294-48ac-99a4-05cc3fb07cd2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/62baec73-487d-4a72-bdc4-7c168cf6f82a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/88cd4904-2ab1-4c60-b225-58d73945d724/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/dd59bec7-d922-4a53-af12-3f252c109d0d/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d33762bc-1204-4f33-8e6f-2ea5bde72f1a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fe4c9bf0-334b-40fb-9a44-8b1984e2818a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/993736e1-a3ae-4ec5-8c67-c25c4c734f23/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/038e8d18-87cd-49f4-8e53-4c36a5f76cfb/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/994408ea-6f04-473f-84ea-de3c77265298/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ddaf8248-7cdf-4e39-9639-d2826dc9d038/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/214921e1-7b75-4059-ad53-1c1062f6df45/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/18e59afb-8d23-433d-9f91-fb78d6efc729/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/72d0e30d-c27c-4d8e-8977-0ae438178324/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d496de3c-bf3a-4b49-a34a-96c998c288a0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fd4b8886-7a55-478e-8bc8-6cba70fe9cd2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/30b56b85-3225-44df-903d-5ba14e07927c/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/185d198a-a2d3-40f1-b508-11d03edf8162/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/92063a5c-0c50-46c1-9bb3-8c294305b5a7/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2fb5267d-7b71-4612-ad9c-4be961704a67/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4d0fbaa8-90c2-4a46-9b32-d463fac24ba1/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/bb8cf2fc-a745-4ff9-87a3-51a5407de9a3/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/abefba8f-c77e-46e7-9f62-9a3da5ec8128/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d9fc53c6-4645-4451-91d5-94927ff638ea/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ddf6d29e-81f4-4c3b-8277-450a88b0d75f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/b66557e8-aa4a-4f0b-b252-ee0ece28b0b5/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8f6df2db-6a63-446b-9c00-5830ff91ea5c/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/00d4ad2e-d549-45ac-9a7c-d9f97cc2a0ba/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/97e8aa93-39fb-42d9-b1e0-0536eb81e4ba/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0eef2205-2260-4307-80fa-520aeb139558/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0fe37f58-c2c6-4007-ae6d-0230ab4a7507/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D"
|
||||
]
|
||||
},
|
||||
"/about": {
|
||||
"frontmatter": {
|
||||
"template": "default",
|
||||
"title": "About Me",
|
||||
"profileImage": "https://gallery.whitney.rip/api/v1/t/287329d8835b299400819437c9c2a2d192041159/2tdm690t/fit_4096"
|
||||
},
|
||||
"content": "I'm Jake, a small time photographer out of the Bay Area. I started shooting as a kid on my dad's old Canon EOS 60D, and now have graduated to owning my own gear. Having an artistic outlet has always been a force of balance for me, and with a background in video and photo editing, this has been a fun one.\n\nMy current setup is a Sony Alpha 6300 with a 27mm pancake lens. This budget setup was perfect for bringing my camera along on bike rides, as cycling is another hobby. You can find me on Youtube as Jake's West Coast. My current photography interests include capturing the beauty of the Bay Area and California coast on our bike rides, as well as moments in my everyday life.\n\nIf you'd like to learn more about Jake, the person, you can find more at my instagram @runyanjake or on my personal website jake.runyan.dev.",
|
||||
"images": []
|
||||
},
|
||||
"/contact": {
|
||||
"frontmatter": {
|
||||
"template": "contact",
|
||||
"title": "Contact Me",
|
||||
"email": "jake@runyan.dev",
|
||||
"instagram": "jakerunyanphotography"
|
||||
},
|
||||
"content": "",
|
||||
"images": []
|
||||
},
|
||||
"/gallery": {
|
||||
"frontmatter": {
|
||||
"template": "menu",
|
||||
"title": "Gallery",
|
||||
"description": "Browse my photo collections"
|
||||
},
|
||||
"content": "## [Landscapes](/gallery/landscapes)\n\nMountains, coastal cliffs, and open skies across California and the Bay Area.\n\n## [Portraits](/gallery/portraits)\n\nCandid moments and faces from everyday life.\n\n## [Textures](/gallery/textures)\n\nAbstract surfaces and patterns found in the world around us.\n\n## [Nature](/gallery/nature)\n\nFlora, fauna, and natural forms.",
|
||||
"images": []
|
||||
},
|
||||
"/gallery/landscapes": {
|
||||
"frontmatter": {
|
||||
"template": "gallery",
|
||||
"title": "Landscapes"
|
||||
},
|
||||
"content": "",
|
||||
"images": [
|
||||
"https://images.whitney.rip/api/assets/d14fcd1e-5479-4312-ae39-055283c8fd75/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1114e4b3-99a7-4cdc-9ce2-ad52d1a0046f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1ce61b59-98a7-401c-9840-72dc51822494/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2250e289-03ae-4ee4-a63a-3ba29db99dd0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ec93e5f8-ca2e-4078-8190-d884435513eb/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/40cb4952-0b8a-4500-a692-a20acbe01ff4/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2fe3919e-00d4-4afc-8140-a81dbf266c82/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/3a89717a-b0b9-42a6-ab34-0f4dc3d90987/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8beaf017-029f-4827-a3c2-066f9453e271/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/87cd7f35-f4c5-4a1e-a56d-c6d8e9d082da/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2c55949d-7a2d-4bde-a87e-107ce352bc60/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/44f3ce06-3b34-42d2-9396-424ff95ba672/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d88e4a71-d645-48de-9b22-aad8f1ae3bde/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d84b166b-56fc-48cb-b932-7847d70ade04/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/01d40f57-dbf6-4c9d-8fc1-0ac22dfe17e5/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e7055bf2-626a-47a5-9526-15b2de26249e/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/7635d87d-5ed6-4342-9cc2-0c6d0e0a1425/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0beaaf50-cb2c-4d84-b099-e1af24f7d2e3/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/90052323-c4df-4820-8fe8-7658424991b8/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4749cdd5-aa5a-4911-9567-f3f5afca6ecc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D"
|
||||
]
|
||||
},
|
||||
"/gallery/nature": {
|
||||
"frontmatter": {
|
||||
"template": "gallery",
|
||||
"title": "Nature"
|
||||
},
|
||||
"content": "",
|
||||
"images": [
|
||||
"https://images.whitney.rip/api/assets/18e59afb-8d23-433d-9f91-fb78d6efc729/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/72d0e30d-c27c-4d8e-8977-0ae438178324/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d496de3c-bf3a-4b49-a34a-96c998c288a0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fd4b8886-7a55-478e-8bc8-6cba70fe9cd2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/30b56b85-3225-44df-903d-5ba14e07927c/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/185d198a-a2d3-40f1-b508-11d03edf8162/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/92063a5c-0c50-46c1-9bb3-8c294305b5a7/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/2fb5267d-7b71-4612-ad9c-4be961704a67/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4d0fbaa8-90c2-4a46-9b32-d463fac24ba1/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/bb8cf2fc-a745-4ff9-87a3-51a5407de9a3/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/abefba8f-c77e-46e7-9f62-9a3da5ec8128/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d9fc53c6-4645-4451-91d5-94927ff638ea/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ddf6d29e-81f4-4c3b-8277-450a88b0d75f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/b66557e8-aa4a-4f0b-b252-ee0ece28b0b5/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8f6df2db-6a63-446b-9c00-5830ff91ea5c/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/00d4ad2e-d549-45ac-9a7c-d9f97cc2a0ba/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/97e8aa93-39fb-42d9-b1e0-0536eb81e4ba/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0eef2205-2260-4307-80fa-520aeb139558/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0fe37f58-c2c6-4007-ae6d-0230ab4a7507/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D"
|
||||
]
|
||||
},
|
||||
"/gallery/portraits": {
|
||||
"frontmatter": {
|
||||
"template": "gallery",
|
||||
"title": "Portraits"
|
||||
},
|
||||
"content": "",
|
||||
"images": [
|
||||
"https://images.whitney.rip/api/assets/f4c18690-b0fe-4ed1-a1d7-ea49b8828aa6/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1a8dd56a-3433-40ab-8619-f385560ee807/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fe1b66b4-4f98-43a3-bb26-6d4661d5ffe2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/787274d8-d94b-479c-9a11-b60f3ca3e640/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/91d11918-7471-4e81-b101-23511e14f45d/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/bfa43b2b-4aa1-4792-ab2f-aff1e226cdf0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/30273029-cba9-45a6-aa7c-3af27d0bd835/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/f7bfc5b1-6ef6-42ce-b4a2-237939b03ae9/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e29ce2a5-987c-4453-81f2-b2e7b161e7d2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/3082f0af-fb30-4e04-baae-5b47d310e380/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/15dd24ba-e2ae-4093-a098-988aac86e1e0/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fc6c3d20-2521-4d31-9f31-19476ad30a65/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8a750cc3-7bef-4bc6-9727-83151dead578/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4db2ea6d-8998-40df-bf05-fc27beeb2085/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ec92f32f-0c08-4317-b8e2-90c53c2e6416/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/7d5803ea-20b9-448f-9659-6fb801f15c68/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/dfb53a18-05dc-4cbc-bdd2-7f8b6f5a4e8e/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/e6934d1a-543c-4ed8-9c29-a94e915f9d94/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0e88d871-fc8e-4ac3-a96a-920fce3cc546/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/379a3b92-ff9b-4455-afe7-c2c6a8a270cd/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D"
|
||||
]
|
||||
},
|
||||
"/gallery/textures": {
|
||||
"frontmatter": {
|
||||
"template": "gallery",
|
||||
"title": "Textures"
|
||||
},
|
||||
"content": "",
|
||||
"images": [
|
||||
"https://images.whitney.rip/api/assets/e03f66a6-a619-4624-a473-860026b3446a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4d759c78-64c8-4607-9b61-7d1f536fe98f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/0ff98add-0a3c-408b-af91-6320df62910f/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ce5eba3e-c444-4a20-a88a-92bfe56c6891/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/a837364d-ed8a-44cf-a8db-8db320bf81e6/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/8e254f41-7b14-48b3-ba98-a96fb9c05129/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1f877a0c-8e36-4751-b50a-5ea12c73aefc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/1979efcd-ba01-4194-b0f7-8e64a996c1cc/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/f4fcf415-7eb1-4131-8ef8-b0456aa31c62/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/4e440673-7294-48ac-99a4-05cc3fb07cd2/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/62baec73-487d-4a72-bdc4-7c168cf6f82a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/88cd4904-2ab1-4c60-b225-58d73945d724/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/dd59bec7-d922-4a53-af12-3f252c109d0d/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/d33762bc-1204-4f33-8e6f-2ea5bde72f1a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/fe4c9bf0-334b-40fb-9a44-8b1984e2818a/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/993736e1-a3ae-4ec5-8c67-c25c4c734f23/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/038e8d18-87cd-49f4-8e53-4c36a5f76cfb/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/994408ea-6f04-473f-84ea-de3c77265298/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/ddaf8248-7cdf-4e39-9639-d2826dc9d038/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D",
|
||||
"https://images.whitney.rip/api/assets/214921e1-7b75-4059-ad53-1c1062f6df45/thumbnail?size=preview&key=3bkhzXZq8wkOQRjr58hDYLhenYNOyIDDCoq0tJ0G1nYOnJg04e-PLvFj9zJHEYV3ni8&c=iSbUaYtTBiWbtzPKIazyFcbZYFQ%3D"
|
||||
]
|
||||
}
|
||||
};
|
||||
@ -7,6 +7,19 @@ body {
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
#root {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.app-content {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background-color: var(--color-bg);
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
||||
monospace;
|
||||
|
||||
118
src/templates/CarouselTemplate.css
Normal file
118
src/templates/CarouselTemplate.css
Normal file
@ -0,0 +1,118 @@
|
||||
.carousel {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
height: calc(100vh - var(--nav-height));
|
||||
background-color: var(--color-bg);
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.carousel-track {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
/* transition managed inline to allow silent snaps */
|
||||
}
|
||||
|
||||
.carousel-slide {
|
||||
flex-shrink: 0;
|
||||
width: calc(100vw / 3);
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.carousel-slide-inner {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.carousel-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.carousel-caption {
|
||||
position: absolute;
|
||||
bottom: 72px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-family: var(--font-heading);
|
||||
font-size: clamp(0.65rem, 2vw, 1.4rem);
|
||||
font-weight: 300;
|
||||
letter-spacing: 0.2em;
|
||||
text-transform: uppercase;
|
||||
text-shadow: 0 2px 12px rgba(0, 0, 0, 0.7);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.carousel-slide {
|
||||
width: 100vw;
|
||||
}
|
||||
|
||||
.carousel-caption {
|
||||
font-size: clamp(0.8rem, 4vw, 1.2rem);
|
||||
letter-spacing: 0.12em;
|
||||
bottom: 48px;
|
||||
}
|
||||
}
|
||||
|
||||
.carousel-btn {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0, 0, 0, 0.25);
|
||||
border: none;
|
||||
color: #fff;
|
||||
font-size: 3rem;
|
||||
line-height: 1;
|
||||
padding: 16px 20px;
|
||||
cursor: pointer;
|
||||
z-index: 10;
|
||||
transition: background var(--transition-fast);
|
||||
}
|
||||
|
||||
.carousel-btn:hover {
|
||||
background: rgba(0, 0, 0, 0.55);
|
||||
}
|
||||
|
||||
.carousel-btn-prev {
|
||||
left: 0;
|
||||
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
|
||||
}
|
||||
|
||||
.carousel-btn-next {
|
||||
right: 0;
|
||||
border-radius: var(--radius-sm) 0 0 var(--radius-sm);
|
||||
}
|
||||
|
||||
.carousel-dots {
|
||||
position: absolute;
|
||||
bottom: 28px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.carousel-dot {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
border: none;
|
||||
background: rgba(255, 255, 255, 0.45);
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
transition: background var(--transition-fast), transform var(--transition-fast);
|
||||
}
|
||||
|
||||
.carousel-dot.active {
|
||||
background: #fff;
|
||||
transform: scale(1.35);
|
||||
}
|
||||
157
src/templates/CarouselTemplate.js
Normal file
157
src/templates/CarouselTemplate.js
Normal file
@ -0,0 +1,157 @@
|
||||
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { Helmet } from 'react-helmet';
|
||||
import './CarouselTemplate.css';
|
||||
|
||||
const VISIBLE = 3;
|
||||
const AUTOPLAY_DELAY = 4000;
|
||||
const MOBILE_BREAKPOINT = 600;
|
||||
|
||||
function parseSlides(content) {
|
||||
const parts = content.split(/^## /m);
|
||||
return parts
|
||||
.filter(part => part.trim())
|
||||
.map(part => {
|
||||
const lines = part.split('\n');
|
||||
const headingLine = lines[0].trim();
|
||||
const rest = lines.slice(1);
|
||||
|
||||
const linkMatch = headingLine.match(/^\[(.+?)\]\((.+?)\)/);
|
||||
const label = linkMatch ? linkMatch[1] : headingLine;
|
||||
const path = linkMatch ? linkMatch[2] : null;
|
||||
|
||||
let imageUrl = null;
|
||||
for (const line of rest) {
|
||||
const imgMatch = line.match(/!\[.*?\]\((.*?)\)/);
|
||||
if (imgMatch) { imageUrl = imgMatch[1]; break; }
|
||||
}
|
||||
|
||||
return { label, path, imageUrl };
|
||||
})
|
||||
.filter(s => s.imageUrl);
|
||||
}
|
||||
|
||||
function buildTrack(slides) {
|
||||
// Prepend last VISIBLE slides, append first VISIBLE slides as clones.
|
||||
// Real slides start at trackIndex = VISIBLE.
|
||||
const pre = slides.slice(-VISIBLE);
|
||||
const post = slides.slice(0, VISIBLE);
|
||||
return [...pre, ...slides, ...post];
|
||||
}
|
||||
|
||||
export default function CarouselTemplate({ page }) {
|
||||
const { frontmatter, content } = page;
|
||||
const slides = parseSlides(content);
|
||||
const count = slides.length;
|
||||
const track = buildTrack(slides);
|
||||
|
||||
// Start positioned at the first real slide (after the prepended clones)
|
||||
const [trackIndex, setTrackIndex] = useState(VISIBLE);
|
||||
const [animated, setAnimated] = useState(true);
|
||||
const [paused, setPaused] = useState(false);
|
||||
const [slideWidthPct, setSlideWidthPct] = useState(
|
||||
window.innerWidth <= MOBILE_BREAKPOINT ? 100 : 100 / 3
|
||||
);
|
||||
const timerRef = useRef(null);
|
||||
|
||||
useEffect(() => {
|
||||
const mq = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT}px)`);
|
||||
const handler = (e) => setSlideWidthPct(e.matches ? 100 : 100 / 3);
|
||||
mq.addEventListener('change', handler);
|
||||
return () => mq.removeEventListener('change', handler);
|
||||
}, []);
|
||||
|
||||
const advance = useCallback(() => setTrackIndex(i => i + 1), []);
|
||||
|
||||
const startTimer = useCallback(() => {
|
||||
clearInterval(timerRef.current);
|
||||
timerRef.current = setInterval(advance, AUTOPLAY_DELAY);
|
||||
}, [advance]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!paused) startTimer();
|
||||
else clearInterval(timerRef.current);
|
||||
return () => clearInterval(timerRef.current);
|
||||
}, [paused, startTimer]);
|
||||
|
||||
// After the CSS transition lands in the clone zone, snap silently to the real equivalent
|
||||
const handleTransitionEnd = useCallback(() => {
|
||||
if (trackIndex >= count + VISIBLE) {
|
||||
setAnimated(false);
|
||||
setTrackIndex(VISIBLE);
|
||||
} else if (trackIndex < VISIBLE) {
|
||||
setAnimated(false);
|
||||
setTrackIndex(count);
|
||||
}
|
||||
}, [trackIndex, count]);
|
||||
|
||||
// Re-enable animation on the next two frames after a silent snap
|
||||
useEffect(() => {
|
||||
if (!animated) {
|
||||
const f1 = requestAnimationFrame(() => {
|
||||
const f2 = requestAnimationFrame(() => setAnimated(true));
|
||||
return () => cancelAnimationFrame(f2);
|
||||
});
|
||||
return () => cancelAnimationFrame(f1);
|
||||
}
|
||||
}, [animated]);
|
||||
|
||||
const handlePrev = () => { setTrackIndex(i => i - 1); if (!paused) startTimer(); };
|
||||
const handleNext = () => { setTrackIndex(i => i + 1); if (!paused) startTimer(); };
|
||||
const goTo = (slideIndex) => { setTrackIndex(slideIndex + VISIBLE); if (!paused) startTimer(); };
|
||||
|
||||
// Which real slide is at the left edge of the window (for dots)
|
||||
const activeSlide = ((trackIndex - VISIBLE) % count + count) % count;
|
||||
|
||||
if (!count) return null;
|
||||
|
||||
return (
|
||||
<>
|
||||
<Helmet><title>{frontmatter.title}</title></Helmet>
|
||||
<div
|
||||
className="carousel"
|
||||
onMouseEnter={() => setPaused(true)}
|
||||
onMouseLeave={() => setPaused(false)}
|
||||
>
|
||||
<div
|
||||
className="carousel-track"
|
||||
style={{
|
||||
transform: `translateX(calc(-${trackIndex * slideWidthPct}vw))`,
|
||||
transition: animated ? 'transform 1.2s ease' : 'none',
|
||||
}}
|
||||
onTransitionEnd={handleTransitionEnd}
|
||||
>
|
||||
{track.map((slide, i) => (
|
||||
<div key={i} className="carousel-slide">
|
||||
{slide.path ? (
|
||||
<Link to={slide.path} className="carousel-slide-inner">
|
||||
<img className="carousel-image" src={slide.imageUrl} alt={slide.label} />
|
||||
<div className="carousel-caption">{slide.label}</div>
|
||||
</Link>
|
||||
) : (
|
||||
<div className="carousel-slide-inner">
|
||||
<img className="carousel-image" src={slide.imageUrl} alt={slide.label} />
|
||||
<div className="carousel-caption">{slide.label}</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<button className="carousel-btn carousel-btn-prev" onClick={handlePrev} aria-label="Previous">‹</button>
|
||||
<button className="carousel-btn carousel-btn-next" onClick={handleNext} aria-label="Next">›</button>
|
||||
|
||||
<div className="carousel-dots">
|
||||
{slides.map((_, i) => (
|
||||
<button
|
||||
key={i}
|
||||
className={`carousel-dot${i === activeSlide ? ' active' : ''}`}
|
||||
onClick={() => goTo(i)}
|
||||
aria-label={`Go to slide ${i + 1}`}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
33
src/templates/CollectionIndexTemplate.js
Normal file
33
src/templates/CollectionIndexTemplate.js
Normal file
@ -0,0 +1,33 @@
|
||||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { Helmet } from 'react-helmet';
|
||||
import { useSiteConfig } from '../framework/ContentProvider';
|
||||
import './MenuTemplate.css';
|
||||
|
||||
export default function CollectionIndexTemplate({ page }) {
|
||||
const { collections } = useSiteConfig();
|
||||
const { title, description } = page.frontmatter;
|
||||
|
||||
return (
|
||||
<div className="menu-page">
|
||||
<Helmet><title>{title}</title></Helmet>
|
||||
<div className="menu-header">
|
||||
<h1>{title}</h1>
|
||||
{description && <p className="menu-description">{description}</p>}
|
||||
</div>
|
||||
<div className="menu-grid">
|
||||
{(collections || []).map(col => (
|
||||
<Link key={col.slug} to={col.path} className="menu-card">
|
||||
{col.previewImage && (
|
||||
<img className="menu-card-image" src={col.previewImage} alt={col.label} />
|
||||
)}
|
||||
<div className="menu-card-title">{col.label}</div>
|
||||
{col.description && (
|
||||
<div className="menu-card-desc">{col.description}</div>
|
||||
)}
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@ -1,6 +1,5 @@
|
||||
.gallery {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
background-color: var(--color-bg);
|
||||
}
|
||||
@ -2,7 +2,7 @@ import React, { useEffect, useMemo, useRef, useState } from 'react';
|
||||
import Masonry from 'masonry-layout';
|
||||
import { Helmet } from 'react-helmet';
|
||||
import Lightbox from '../components/Lightbox';
|
||||
import './GalleryTemplate.css';
|
||||
import './CollectionTemplate.css';
|
||||
|
||||
const shuffleArray = (array) => {
|
||||
for (let i = array.length - 1; i > 0; i--) {
|
||||
@ -12,7 +12,7 @@ const shuffleArray = (array) => {
|
||||
return array;
|
||||
};
|
||||
|
||||
const GalleryTemplate = ({ page }) => {
|
||||
const CollectionTemplate = ({ page }) => {
|
||||
const masonryRef = useRef(null);
|
||||
const [focusedImage, setFocusedImage] = useState(null);
|
||||
|
||||
@ -55,4 +55,4 @@ const GalleryTemplate = ({ page }) => {
|
||||
);
|
||||
};
|
||||
|
||||
export default GalleryTemplate;
|
||||
export default CollectionTemplate;
|
||||
Loading…
x
Reference in New Issue
Block a user