mirror of
https://github.com/runyanjake/jakesphotos.git
synced 2026-03-26 05:23:18 -07:00
Rewrite as bring-your-own-markdown website generator
This commit is contained in:
parent
2456040d9d
commit
ffa0a46213
17
build/asset-manifest.json
Normal file
17
build/asset-manifest.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"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"
|
||||
]
|
||||
}
|
||||
BIN
build/favicon.ico
Normal file
BIN
build/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
1
build/index.html
Normal file
1
build/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!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>
|
||||
BIN
build/logo192.png
Normal file
BIN
build/logo192.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.2 KiB |
BIN
build/logo512.png
Normal file
BIN
build/logo512.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.4 KiB |
25
build/manifest.json
Normal file
25
build/manifest.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
3
build/robots.txt
Normal file
3
build/robots.txt
Normal file
@ -0,0 +1,3 @@
|
||||
# https://www.robotstxt.org/robotstxt.html
|
||||
User-agent: *
|
||||
Disallow:
|
||||
2
build/static/css/main.39fd778a.css
Normal file
2
build/static/css/main.39fd778a.css
Normal file
File diff suppressed because one or more lines are too long
1
build/static/css/main.39fd778a.css.map
Normal file
1
build/static/css/main.39fd778a.css.map
Normal file
File diff suppressed because one or more lines are too long
2
build/static/js/488.9561f9b8.chunk.js
Normal file
2
build/static/js/488.9561f9b8.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
build/static/js/488.9561f9b8.chunk.js.map
Normal file
1
build/static/js/488.9561f9b8.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
3
build/static/js/main.fd3a90d8.js
Normal file
3
build/static/js/main.fd3a90d8.js
Normal file
File diff suppressed because one or more lines are too long
86
build/static/js/main.fd3a90d8.js.LICENSE.txt
Normal file
86
build/static/js/main.fd3a90d8.js.LICENSE.txt
Normal file
@ -0,0 +1,86 @@
|
||||
/*
|
||||
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
|
||||
*/
|
||||
1
build/static/js/main.fd3a90d8.js.map
Normal file
1
build/static/js/main.fd3a90d8.js.map
Normal file
File diff suppressed because one or more lines are too long
BIN
build/static/media/instagram-dark.60be80b890ecf588309c.png
Normal file
BIN
build/static/media/instagram-dark.60be80b890ecf588309c.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
BIN
build/static/media/instagram-light.2173f1e5eaee4fd6d94f.png
Normal file
BIN
build/static/media/instagram-light.2173f1e5eaee4fd6d94f.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
13
content/_config.json
Normal file
13
content/_config.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"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" }
|
||||
]
|
||||
}
|
||||
11
content/about/index.md
Normal file
11
content/about/index.md
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
template: default
|
||||
title: About Me
|
||||
profileImage: https://gallery.whitney.rip/api/v1/t/287329d8835b299400819437c9c2a2d192041159/2tdm690t/fit_4096
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
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/contact/index.md
Normal file
6
content/contact/index.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
template: contact
|
||||
title: Contact Me
|
||||
email: jake@runyan.dev
|
||||
instagram: jakerunyanphotography
|
||||
---
|
||||
21
content/gallery/index.md
Normal file
21
content/gallery/index.md
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
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.
|
||||
22
content/gallery/landscapes/images.json
Normal file
22
content/gallery/landscapes/images.json
Normal file
@ -0,0 +1,22 @@
|
||||
[
|
||||
"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"
|
||||
]
|
||||
4
content/gallery/landscapes/index.md
Normal file
4
content/gallery/landscapes/index.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
template: gallery
|
||||
title: Landscapes
|
||||
---
|
||||
21
content/gallery/nature/images.json
Normal file
21
content/gallery/nature/images.json
Normal file
@ -0,0 +1,21 @@
|
||||
[
|
||||
"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"
|
||||
]
|
||||
4
content/gallery/nature/index.md
Normal file
4
content/gallery/nature/index.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
template: gallery
|
||||
title: Nature
|
||||
---
|
||||
22
content/gallery/portraits/images.json
Normal file
22
content/gallery/portraits/images.json
Normal file
@ -0,0 +1,22 @@
|
||||
[
|
||||
"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"
|
||||
]
|
||||
4
content/gallery/portraits/index.md
Normal file
4
content/gallery/portraits/index.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
template: gallery
|
||||
title: Portraits
|
||||
---
|
||||
22
content/gallery/textures/images.json
Normal file
22
content/gallery/textures/images.json
Normal file
@ -0,0 +1,22 @@
|
||||
[
|
||||
"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"
|
||||
]
|
||||
4
content/gallery/textures/index.md
Normal file
4
content/gallery/textures/index.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
template: gallery
|
||||
title: Textures
|
||||
---
|
||||
81
content/images.json
Normal file
81
content/images.json
Normal file
@ -0,0 +1,81 @@
|
||||
[
|
||||
"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"
|
||||
]
|
||||
17
content/index.md
Normal file
17
content/index.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
template: homepage
|
||||
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.
|
||||
|
||||
## 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.
|
||||
|
||||
## Everyday Moments
|
||||

|
||||
Beyond landscapes, it's the small details that catch my eye — textures, light, the quiet moments between everything else.
|
||||
1380
package-lock.json
generated
1380
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
15
package.json
15
package.json
@ -8,11 +8,14 @@
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-helmet": "^6.1.0",
|
||||
"react-markdown": "^9.1.0",
|
||||
"react-router-dom": "^7.1.1",
|
||||
"react-scripts": "5.0.1",
|
||||
"web-vitals": "^4.2.4"
|
||||
},
|
||||
"scripts": {
|
||||
"prebuild": "node scripts/build-content.js",
|
||||
"prestart": "node scripts/build-content.js",
|
||||
"start": "react-scripts start",
|
||||
"build": "react-scripts build",
|
||||
"test": "react-scripts test",
|
||||
@ -35,5 +38,17 @@
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
},
|
||||
"devDependencies": {
|
||||
"@testing-library/jest-dom": "^6.9.1",
|
||||
"@testing-library/react": "^16.3.2",
|
||||
"@testing-library/user-event": "^14.6.1"
|
||||
},
|
||||
"jest": {
|
||||
"moduleNameMapper": {
|
||||
"^react-router-dom$": "<rootDir>/node_modules/react-router-dom/dist/index.js",
|
||||
"^react-router$": "<rootDir>/node_modules/react-router/dist/development/index.js",
|
||||
"^react-router/dom$": "<rootDir>/node_modules/react-router/dist/development/dom-export.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
95
scripts/build-content.js
Normal file
95
scripts/build-content.js
Normal file
@ -0,0 +1,95 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* Prebuild script: reads content/ files and generates src/generated/content.js
|
||||
* Run automatically via npm prestart / prebuild hooks.
|
||||
*/
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const CONTENT_DIR = path.resolve(__dirname, '../content');
|
||||
const OUTPUT_FILE = path.resolve(__dirname, '../src/generated/content.js');
|
||||
|
||||
// --- Frontmatter parser ---
|
||||
function parseFrontmatter(raw) {
|
||||
const match = raw.match(/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n)?([\s\S]*)$/);
|
||||
if (!match) return { frontmatter: {}, content: raw.trim() };
|
||||
|
||||
const lines = match[1].split('\n');
|
||||
const frontmatter = {};
|
||||
for (const line of lines) {
|
||||
const m = line.match(/^(\w[\w-]*)\s*:\s*(.*)/);
|
||||
if (m) frontmatter[m[1]] = m[2].trim();
|
||||
}
|
||||
return { frontmatter, content: match[2].trim() };
|
||||
}
|
||||
|
||||
// --- Route derivation ---
|
||||
function routeFromDir(dirName) {
|
||||
// content/index.md -> /
|
||||
// content/about/index.md -> /about
|
||||
if (dirName === '') return '/';
|
||||
return '/' + dirName;
|
||||
}
|
||||
|
||||
// --- Load site config ---
|
||||
const configPath = path.join(CONTENT_DIR, '_config.json');
|
||||
if (!fs.existsSync(configPath)) {
|
||||
console.error('Missing content/_config.json');
|
||||
process.exit(1);
|
||||
}
|
||||
const siteConfig = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
||||
|
||||
// --- Discover page dirs ---
|
||||
// Root-level index.md lives directly in content/
|
||||
// Subdir index.md lives in content/<slug>/
|
||||
const pages = {};
|
||||
|
||||
function processDir(dirPath, slug) {
|
||||
const indexPath = path.join(dirPath, 'index.md');
|
||||
if (!fs.existsSync(indexPath)) return;
|
||||
|
||||
const raw = fs.readFileSync(indexPath, 'utf8');
|
||||
const { frontmatter, content } = parseFrontmatter(raw);
|
||||
|
||||
// Resolve images: check dirPath/images.json first, then dirPath/images/ subfolder
|
||||
let images = [];
|
||||
const localImagesJsonPath = path.join(dirPath, 'images.json');
|
||||
if (fs.existsSync(localImagesJsonPath)) {
|
||||
images = JSON.parse(fs.readFileSync(localImagesJsonPath, 'utf8'));
|
||||
} else {
|
||||
const imagesDirPath = path.join(dirPath, 'images');
|
||||
if (fs.existsSync(imagesDirPath)) {
|
||||
const files = fs.readdirSync(imagesDirPath);
|
||||
images = files.map(f => `/content-images/${slug}/${f}`);
|
||||
}
|
||||
}
|
||||
|
||||
const route = routeFromDir(slug);
|
||||
pages[route] = { frontmatter, content, images };
|
||||
}
|
||||
|
||||
function walkContent(dirPath, slug) {
|
||||
processDir(dirPath, slug);
|
||||
const entries = fs.readdirSync(dirPath, { withFileTypes: true });
|
||||
for (const entry of entries) {
|
||||
if (!entry.isDirectory() || entry.name.startsWith('_')) continue;
|
||||
const childSlug = slug ? `${slug}/${entry.name}` : entry.name;
|
||||
walkContent(path.join(dirPath, entry.name), childSlug);
|
||||
}
|
||||
}
|
||||
|
||||
walkContent(CONTENT_DIR, '');
|
||||
|
||||
// --- Write output ---
|
||||
const output = `// AUTO-GENERATED by scripts/build-content.js — do not edit by hand.
|
||||
|
||||
export const siteConfig = ${JSON.stringify(siteConfig, null, 2)};
|
||||
|
||||
export const pages = ${JSON.stringify(pages, null, 2)};
|
||||
`;
|
||||
|
||||
fs.mkdirSync(path.dirname(OUTPUT_FILE), { recursive: true });
|
||||
fs.writeFileSync(OUTPUT_FILE, output, 'utf8');
|
||||
console.log(`[build-content] Generated ${OUTPUT_FILE}`);
|
||||
console.log(`[build-content] Pages: ${Object.keys(pages).join(', ')}`);
|
||||
40
src/App.js
40
src/App.js
@ -1,25 +1,33 @@
|
||||
import React from 'react';
|
||||
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
|
||||
import { ContentProvider, usePages } from './framework/ContentProvider';
|
||||
import { getTemplate } from './framework/TemplateRegistry';
|
||||
import Navbar from './components/Navbar';
|
||||
import Home from './components/Home';
|
||||
import Contact from './components/Contact';
|
||||
import About from './components/About';
|
||||
import Footer from './components/Footer';
|
||||
import './plugins/index';
|
||||
|
||||
const App = () => {
|
||||
const PageRoutes = () => {
|
||||
const pages = usePages();
|
||||
return (
|
||||
<Router>
|
||||
<>
|
||||
<Navbar />
|
||||
<Routes>
|
||||
<Route path="/" element={<Home />} />
|
||||
<Route path="/contact" element={<Contact />} />
|
||||
<Route path="/about" element={<About />} />
|
||||
</Routes>
|
||||
<Footer />
|
||||
</>
|
||||
</Router>
|
||||
<Routes>
|
||||
{Object.entries(pages).map(([route, page]) => {
|
||||
const Template = getTemplate(page.frontmatter.template);
|
||||
return <Route key={route} path={route} element={<Template page={page} />} />;
|
||||
})}
|
||||
</Routes>
|
||||
);
|
||||
};
|
||||
|
||||
export default App;
|
||||
const App = () => (
|
||||
<Router>
|
||||
<ContentProvider>
|
||||
<>
|
||||
<Navbar />
|
||||
<PageRoutes />
|
||||
<Footer />
|
||||
</>
|
||||
</ContentProvider>
|
||||
</Router>
|
||||
);
|
||||
|
||||
export default App;
|
||||
|
||||
@ -3,19 +3,24 @@ import App from './App';
|
||||
|
||||
// masonry-layout requires DOM layout APIs not available in jsdom
|
||||
jest.mock('masonry-layout', () => {
|
||||
return jest.fn().mockImplementation(() => ({
|
||||
layout: jest.fn(),
|
||||
destroy: jest.fn(),
|
||||
}));
|
||||
const MockMasonry = function () {};
|
||||
MockMasonry.prototype.layout = jest.fn();
|
||||
MockMasonry.prototype.destroy = jest.fn();
|
||||
return MockMasonry;
|
||||
});
|
||||
|
||||
test('renders site title in navbar', () => {
|
||||
render(<App />);
|
||||
expect(screen.getByText(/Jake Runyan Photography/i)).toBeInTheDocument();
|
||||
// Use getAllByText since the title also appears in the homepage hero
|
||||
const matches = screen.getAllByText(/Jake Runyan Photography/i);
|
||||
expect(matches.length).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
test('renders navigation links', () => {
|
||||
render(<App />);
|
||||
expect(screen.getByRole('link', { name: /contact/i })).toBeInTheDocument();
|
||||
expect(screen.getByRole('link', { name: /about/i })).toBeInTheDocument();
|
||||
// Use getAllByRole to handle multiple matching links (navbar + footer)
|
||||
const contactLinks = screen.getAllByRole('link', { name: /^contact$/i });
|
||||
const aboutLinks = screen.getAllByRole('link', { name: /^about$/i });
|
||||
expect(contactLinks.length).toBeGreaterThan(0);
|
||||
expect(aboutLinks.length).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
@ -1,46 +0,0 @@
|
||||
.about-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%; /* Full width container */
|
||||
height: 100vh; /* Full height of viewport */
|
||||
background-color: #333;
|
||||
}
|
||||
|
||||
.about-content {
|
||||
width: 33%; /* 1/3 of the viewport width */
|
||||
max-width: 800px; /* Limit maximum width */
|
||||
padding: 20px;
|
||||
background-color: #222;
|
||||
border: 1px solid black; /* Light border for contrast */
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow */
|
||||
border-radius: 10px; /* Rounded corners */
|
||||
text-align: center; /* Center align headers and image */
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.about-content {
|
||||
width: 90%; /* Full width on smaller screens */
|
||||
}
|
||||
}
|
||||
|
||||
.about-image {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
border-radius: 50%;
|
||||
margin-bottom: 20px;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.about-title {
|
||||
font-size: 1.5rem;
|
||||
margin-bottom: 10px;
|
||||
color: whitesmoke;
|
||||
}
|
||||
|
||||
.about-content p {
|
||||
text-align: left;
|
||||
color: #999;
|
||||
line-height: 1.6;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
@ -1,34 +0,0 @@
|
||||
import React from 'react';
|
||||
import './About.css';
|
||||
|
||||
const About = () => {
|
||||
return (
|
||||
<div className="about-container">
|
||||
<div className="about-content">
|
||||
<img
|
||||
src="https://gallery.whitney.rip/api/v1/t/287329d8835b299400819437c9c2a2d192041159/2tdm690t/fit_4096"
|
||||
alt="Jake"
|
||||
className="about-image"
|
||||
/>
|
||||
<h1 className="about-title">About Me</h1>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
<p>
|
||||
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 cycing 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.
|
||||
</p>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default About;
|
||||
@ -1,17 +0,0 @@
|
||||
.contact {
|
||||
background-color: #333;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.contact h1 {
|
||||
color:white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.contact p {
|
||||
color:white;
|
||||
}
|
||||
@ -1,16 +0,0 @@
|
||||
import React from 'react';
|
||||
import { Helmet } from 'react-helmet';
|
||||
import './Contact.css';
|
||||
|
||||
const Contact = () => {
|
||||
return (
|
||||
<div className="contact">
|
||||
<Helmet><title>Contact</title></Helmet>
|
||||
<h1>Contact Me</h1>
|
||||
<p>Email: jake@runyan.dev</p>
|
||||
<p>Instagram: @jakerunyanphotography</p>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Contact;
|
||||
@ -2,8 +2,8 @@
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
background-color: #0b0b0b;
|
||||
color: white;
|
||||
background-color: var(--color-bg-nav);
|
||||
color: var(--color-text-nav);
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
}
|
||||
|
||||
.footer-links a {
|
||||
color: gray;
|
||||
color: var(--color-text-footer);
|
||||
text-decoration: none;
|
||||
margin: 5px 0;
|
||||
user-select: none;
|
||||
|
||||
@ -1,24 +1,28 @@
|
||||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { useSiteConfig } from '../framework/ContentProvider';
|
||||
import './Footer.css';
|
||||
|
||||
const Footer = () => {
|
||||
const { footerCopyright, nav, social } = useSiteConfig();
|
||||
return (
|
||||
<footer className="footer">
|
||||
<div className="footer-links left">
|
||||
<a href="https://github.com/runyanjake/jakesphotos" rel="noopener noreferrer">GitHub</a>
|
||||
<a href="https://www.instagram.com/jakerunyanphotography" rel="noopener noreferrer">Instagram</a>
|
||||
{social.map(({ label, url }) => (
|
||||
<a key={url} href={url} rel="noopener noreferrer">{label}</a>
|
||||
))}
|
||||
</div>
|
||||
<div className="footer-title">
|
||||
<p>© {new Date().getFullYear()} Jake Runyan</p>
|
||||
<p>© {new Date().getFullYear()} {footerCopyright}</p>
|
||||
</div>
|
||||
<div className="footer-links right">
|
||||
<Link to="/">Home</Link>
|
||||
<Link to="/contact">Contact</Link>
|
||||
<Link to="/about">About</Link>
|
||||
{nav.map(({ label, path }) => (
|
||||
<Link key={path} to={path}>{label}</Link>
|
||||
))}
|
||||
</div>
|
||||
</footer>
|
||||
);
|
||||
};
|
||||
|
||||
export default Footer;
|
||||
export default Footer;
|
||||
|
||||
23
src/components/MarkdownRenderer.css
Normal file
23
src/components/MarkdownRenderer.css
Normal file
@ -0,0 +1,23 @@
|
||||
.markdown-body {
|
||||
color: var(--color-text-muted);
|
||||
font-family: var(--font-body);
|
||||
font-size: var(--font-size-base);
|
||||
line-height: var(--line-height-body);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.markdown-body p {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.markdown-body h1,
|
||||
.markdown-body h2,
|
||||
.markdown-body h3 {
|
||||
color: var(--color-text);
|
||||
font-family: var(--font-heading);
|
||||
margin-bottom: var(--space-sm);
|
||||
}
|
||||
|
||||
.markdown-body a {
|
||||
color: var(--color-accent);
|
||||
}
|
||||
11
src/components/MarkdownRenderer.js
Normal file
11
src/components/MarkdownRenderer.js
Normal file
@ -0,0 +1,11 @@
|
||||
import React from 'react';
|
||||
import ReactMarkdown from 'react-markdown';
|
||||
import './MarkdownRenderer.css';
|
||||
|
||||
const MarkdownRenderer = ({ content }) => (
|
||||
<div className="markdown-body">
|
||||
<ReactMarkdown>{content}</ReactMarkdown>
|
||||
</div>
|
||||
);
|
||||
|
||||
export default MarkdownRenderer;
|
||||
@ -2,7 +2,7 @@
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background-color: #0b0b0b;
|
||||
background-color: var(--color-bg-nav);
|
||||
padding: 10px 20px;
|
||||
gap: 10px;
|
||||
}
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
.navbar-logo .logo {
|
||||
height: 50px;
|
||||
border-radius: 10px;
|
||||
border-radius: var(--radius-lg);
|
||||
}
|
||||
|
||||
.navbar-links {
|
||||
@ -25,10 +25,11 @@
|
||||
}
|
||||
|
||||
.navbar-links a {
|
||||
color: white;
|
||||
color: var(--color-text-nav);
|
||||
text-decoration: none;
|
||||
font-family: 'Arial', sans-serif;
|
||||
font-size: 16px;
|
||||
font-family: var(--font-heading);
|
||||
font-size: var(--font-size-base);
|
||||
transition: text-decoration var(--transition-fast);
|
||||
}
|
||||
|
||||
.navbar-links a:hover {
|
||||
@ -36,8 +37,8 @@
|
||||
}
|
||||
|
||||
.navbar-title h1 {
|
||||
color: white;
|
||||
font-family: 'Arial', sans-serif;
|
||||
color: var(--color-text-nav);
|
||||
font-family: var(--font-heading);
|
||||
font-size: 24px;
|
||||
margin: 0;
|
||||
}
|
||||
@ -51,7 +52,7 @@
|
||||
.navbar-icons .icon {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
transition: transform 0.2s;
|
||||
transition: transform var(--transition-fast);
|
||||
}
|
||||
|
||||
.navbar-icons .icon:hover {
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { useSiteConfig } from '../framework/ContentProvider';
|
||||
import './Navbar.css';
|
||||
import logo from './static/navbar-logo.png';
|
||||
import github_dark from './static/github-dark.png';
|
||||
@ -7,9 +8,15 @@ import github_light from './static/github-light.png';
|
||||
import instagram_dark from './static/instagram-dark.png';
|
||||
import instagram_light from './static/instagram-light.png';
|
||||
|
||||
const ICON_MAP = {
|
||||
github: { dark: github_light, light: github_dark },
|
||||
instagram: { dark: instagram_light, light: instagram_dark },
|
||||
};
|
||||
|
||||
const darkModeQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
||||
|
||||
const Navbar = () => {
|
||||
const { siteTitle, nav, social } = useSiteConfig();
|
||||
const [isDarkMode, setIsDarkMode] = useState(darkModeQuery.matches);
|
||||
|
||||
useEffect(() => {
|
||||
@ -18,9 +25,6 @@ const Navbar = () => {
|
||||
return () => darkModeQuery.removeEventListener('change', handler);
|
||||
}, []);
|
||||
|
||||
const githubIcon = isDarkMode ? github_light : github_dark;
|
||||
const instagramIcon = isDarkMode ? instagram_light : instagram_dark;
|
||||
|
||||
return (
|
||||
<nav className="navbar">
|
||||
<div className="navbar-logo">
|
||||
@ -28,20 +32,24 @@ const Navbar = () => {
|
||||
<img src={logo} alt="Logo" className="logo" />
|
||||
</Link>
|
||||
<div className="navbar-links">
|
||||
<Link to="/contact">Contact</Link>
|
||||
<Link to="/about">About</Link>
|
||||
{nav.map(({ label, path }) => (
|
||||
<Link key={path} to={path}>{label}</Link>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<div className="navbar-title">
|
||||
<h1>Jake Runyan Photography</h1>
|
||||
<h1>{siteTitle}</h1>
|
||||
</div>
|
||||
<div className="navbar-icons">
|
||||
<a href="https://www.instagram.com/jakerunyanphotography" target="_blank" rel="noopener noreferrer">
|
||||
<img src={instagramIcon} alt="Instagram" className="icon" title="My Instagram" />
|
||||
</a>
|
||||
<a href="https://github.com/runyanjake/jakesphotos" target="_blank" rel="noopener noreferrer">
|
||||
<img src={githubIcon} alt="GitHub" className="icon" title="This Website's Source Code!" />
|
||||
</a>
|
||||
{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>
|
||||
</nav>
|
||||
);
|
||||
|
||||
@ -1,84 +0,0 @@
|
||||
/* Images are loaded from urls to avoid checking everything in to git. */
|
||||
const 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",
|
||||
];
|
||||
|
||||
export default images;
|
||||
16
src/framework/ContentProvider.js
Normal file
16
src/framework/ContentProvider.js
Normal file
@ -0,0 +1,16 @@
|
||||
import React, { createContext, useContext } from 'react';
|
||||
import { siteConfig, pages } from '../generated/content';
|
||||
|
||||
const SiteConfigContext = createContext(siteConfig);
|
||||
const PagesContext = createContext(pages);
|
||||
|
||||
export const ContentProvider = ({ children }) => (
|
||||
<SiteConfigContext.Provider value={siteConfig}>
|
||||
<PagesContext.Provider value={pages}>
|
||||
{children}
|
||||
</PagesContext.Provider>
|
||||
</SiteConfigContext.Provider>
|
||||
);
|
||||
|
||||
export const useSiteConfig = () => useContext(SiteConfigContext);
|
||||
export const usePages = () => useContext(PagesContext);
|
||||
19
src/framework/TemplateRegistry.js
Normal file
19
src/framework/TemplateRegistry.js
Normal file
@ -0,0 +1,19 @@
|
||||
import GalleryTemplate from '../templates/GalleryTemplate';
|
||||
import DefaultTemplate from '../templates/DefaultTemplate';
|
||||
import ContactTemplate from '../templates/ContactTemplate';
|
||||
import HomepageTemplate from '../templates/HomepageTemplate';
|
||||
import MenuTemplate from '../templates/MenuTemplate';
|
||||
|
||||
const registry = {
|
||||
gallery: GalleryTemplate,
|
||||
default: DefaultTemplate,
|
||||
contact: ContactTemplate,
|
||||
homepage: HomepageTemplate,
|
||||
menu: MenuTemplate,
|
||||
};
|
||||
|
||||
export const getTemplate = (name) => registry[name] || registry['default'];
|
||||
|
||||
export const registerTemplate = (name, Component) => {
|
||||
registry[name] = Component;
|
||||
};
|
||||
267
src/generated/content.js
Normal file
267
src/generated/content.js
Normal file
@ -0,0 +1,267 @@
|
||||
// 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"
|
||||
]
|
||||
}
|
||||
};
|
||||
@ -1,5 +1,6 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom/client';
|
||||
import './theme/theme.css';
|
||||
import './index.css';
|
||||
import App from './App';
|
||||
import reportWebVitals from './reportWebVitals';
|
||||
|
||||
5
src/plugins/index.js
Normal file
5
src/plugins/index.js
Normal file
@ -0,0 +1,5 @@
|
||||
// Register custom templates here using registerTemplate from the framework.
|
||||
// Example:
|
||||
// import { registerTemplate } from '../framework/TemplateRegistry';
|
||||
// import MyCustomTemplate from './MyCustomTemplate';
|
||||
// registerTemplate('custom', MyCustomTemplate);
|
||||
@ -3,3 +3,26 @@
|
||||
// expect(element).toHaveTextContent(/react/i)
|
||||
// learn more: https://github.com/testing-library/jest-dom
|
||||
import '@testing-library/jest-dom';
|
||||
|
||||
// react-router v7 requires TextEncoder/TextDecoder; polyfill for jsdom
|
||||
const { TextEncoder, TextDecoder } = require('util');
|
||||
if (typeof globalThis.TextEncoder === 'undefined') globalThis.TextEncoder = TextEncoder;
|
||||
if (typeof globalThis.TextDecoder === 'undefined') globalThis.TextDecoder = TextDecoder;
|
||||
|
||||
// window.matchMedia is not implemented in jsdom
|
||||
Object.defineProperty(window, 'matchMedia', {
|
||||
writable: true,
|
||||
value: jest.fn().mockImplementation(query => ({
|
||||
matches: false,
|
||||
media: query,
|
||||
onchange: null,
|
||||
addEventListener: jest.fn(),
|
||||
removeEventListener: jest.fn(),
|
||||
})),
|
||||
});
|
||||
|
||||
// react-markdown v9 is ESM-only; mock it for jsdom tests
|
||||
jest.mock('react-markdown', () => {
|
||||
const React = require('react');
|
||||
return ({ children }) => React.createElement('div', null, children);
|
||||
});
|
||||
|
||||
44
src/templates/ContactTemplate.css
Normal file
44
src/templates/ContactTemplate.css
Normal file
@ -0,0 +1,44 @@
|
||||
.contact-container {
|
||||
background-color: var(--color-bg);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.contact-content {
|
||||
width: 33%;
|
||||
max-width: var(--content-max-width);
|
||||
padding: var(--content-padding);
|
||||
background-color: var(--color-bg-surface);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-lg);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.contact-content {
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
|
||||
.contact-title {
|
||||
color: var(--color-text);
|
||||
font-family: var(--font-heading);
|
||||
font-weight: bold;
|
||||
margin-bottom: var(--space-md);
|
||||
}
|
||||
|
||||
.contact-item {
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.contact-item a {
|
||||
color: var(--color-text);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.contact-item a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
33
src/templates/ContactTemplate.js
Normal file
33
src/templates/ContactTemplate.js
Normal file
@ -0,0 +1,33 @@
|
||||
import React from 'react';
|
||||
import { Helmet } from 'react-helmet';
|
||||
import MarkdownRenderer from '../components/MarkdownRenderer';
|
||||
import './ContactTemplate.css';
|
||||
|
||||
const ContactTemplate = ({ page }) => {
|
||||
const { title, email, instagram } = page.frontmatter;
|
||||
return (
|
||||
<div className="contact-container">
|
||||
<Helmet><title>{title}</title></Helmet>
|
||||
<div className="contact-content">
|
||||
<h1 className="contact-title">{title}</h1>
|
||||
{email && (
|
||||
<p className="contact-item">
|
||||
Email: <a href={`mailto:${email}`}>{email}</a>
|
||||
</p>
|
||||
)}
|
||||
{instagram && (
|
||||
<p className="contact-item">
|
||||
Instagram: <a
|
||||
href={`https://www.instagram.com/${instagram}`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>@{instagram}</a>
|
||||
</p>
|
||||
)}
|
||||
{page.content && <MarkdownRenderer content={page.content} />}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default ContactTemplate;
|
||||
40
src/templates/DefaultTemplate.css
Normal file
40
src/templates/DefaultTemplate.css
Normal file
@ -0,0 +1,40 @@
|
||||
.default-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
min-height: 100vh;
|
||||
background-color: var(--color-bg);
|
||||
}
|
||||
|
||||
.default-content {
|
||||
width: 33%;
|
||||
max-width: var(--content-max-width);
|
||||
padding: var(--content-padding);
|
||||
background-color: var(--color-bg-surface);
|
||||
border: 1px solid var(--color-border);
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
||||
border-radius: var(--radius-lg);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.default-content {
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
|
||||
.default-profile-image {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
border-radius: 50%;
|
||||
margin-bottom: var(--space-lg);
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.default-title {
|
||||
font-size: 1.5rem;
|
||||
margin-bottom: var(--space-sm);
|
||||
color: var(--color-text);
|
||||
font-family: var(--font-heading);
|
||||
}
|
||||
22
src/templates/DefaultTemplate.js
Normal file
22
src/templates/DefaultTemplate.js
Normal file
@ -0,0 +1,22 @@
|
||||
import React from 'react';
|
||||
import { Helmet } from 'react-helmet';
|
||||
import MarkdownRenderer from '../components/MarkdownRenderer';
|
||||
import './DefaultTemplate.css';
|
||||
|
||||
const DefaultTemplate = ({ page }) => {
|
||||
const { title, profileImage } = page.frontmatter;
|
||||
return (
|
||||
<div className="default-container">
|
||||
<Helmet><title>{title}</title></Helmet>
|
||||
<div className="default-content">
|
||||
{profileImage && (
|
||||
<img src={profileImage} alt={title} className="default-profile-image" />
|
||||
)}
|
||||
<h1 className="default-title">{title}</h1>
|
||||
<MarkdownRenderer content={page.content} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default DefaultTemplate;
|
||||
@ -2,7 +2,7 @@
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
||||
margin: 0 auto;
|
||||
background-color: #333;
|
||||
background-color: var(--color-bg);
|
||||
}
|
||||
|
||||
.gallery-photo {
|
||||
@ -14,9 +14,8 @@
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
/* Responsive adjustments */
|
||||
@media (max-width: 768px) {
|
||||
.gallery-photo {
|
||||
width: calc(100% - 10px); /* Single column on smaller screens */
|
||||
width: calc(100% - 10px);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,8 @@
|
||||
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
||||
import Masonry from 'masonry-layout';
|
||||
import images from '../data/Images';
|
||||
import { Helmet } from 'react-helmet';
|
||||
import './Home.css';
|
||||
import Lightbox from './Lightbox';
|
||||
import Lightbox from '../components/Lightbox';
|
||||
import './GalleryTemplate.css';
|
||||
|
||||
const shuffleArray = (array) => {
|
||||
for (let i = array.length - 1; i > 0; i--) {
|
||||
@ -13,12 +12,11 @@ const shuffleArray = (array) => {
|
||||
return array;
|
||||
};
|
||||
|
||||
const Home = () => {
|
||||
const GalleryTemplate = ({ page }) => {
|
||||
const masonryRef = useRef(null);
|
||||
const [focusedImage, setFocusedImage] = useState(null);
|
||||
|
||||
// Compute once on mount; avoids a re-shuffle on every render
|
||||
const shuffledImages = useMemo(() => shuffleArray([...images]), []);
|
||||
const shuffledImages = useMemo(() => shuffleArray([...page.images]), [page.images]);
|
||||
|
||||
useEffect(() => {
|
||||
const masonry = new Masonry(masonryRef.current, {
|
||||
@ -28,7 +26,6 @@ const Home = () => {
|
||||
});
|
||||
|
||||
const relayout = () => masonry.layout();
|
||||
|
||||
const imgElements = masonryRef.current.querySelectorAll('img');
|
||||
imgElements.forEach(img => img.addEventListener('load', relayout));
|
||||
|
||||
@ -40,10 +37,17 @@ const Home = () => {
|
||||
|
||||
return (
|
||||
<>
|
||||
<Helmet><title>{page.frontmatter.title}</title></Helmet>
|
||||
<div className="gallery" ref={masonryRef}>
|
||||
<Helmet><title>Jake Runyan Photography</title></Helmet>
|
||||
{shuffledImages.map((image) => (
|
||||
<img key={image} src={image} alt="© Jake Runyan" className="gallery-photo" style={{ cursor: 'pointer' }} onClick={() => setFocusedImage(image)} />
|
||||
<img
|
||||
key={image}
|
||||
src={image}
|
||||
alt="© Jake Runyan"
|
||||
className="gallery-photo"
|
||||
style={{ cursor: 'pointer' }}
|
||||
onClick={() => setFocusedImage(image)}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
{focusedImage && <Lightbox src={focusedImage} onClose={() => setFocusedImage(null)} />}
|
||||
@ -51,4 +55,4 @@ const Home = () => {
|
||||
);
|
||||
};
|
||||
|
||||
export default Home;
|
||||
export default GalleryTemplate;
|
||||
91
src/templates/HomepageTemplate.css
Normal file
91
src/templates/HomepageTemplate.css
Normal file
@ -0,0 +1,91 @@
|
||||
.homepage {
|
||||
background-color: var(--color-bg);
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.homepage-hero {
|
||||
text-align: center;
|
||||
padding: 80px 20px 60px;
|
||||
}
|
||||
|
||||
.homepage-hero-title {
|
||||
font-size: 3rem;
|
||||
font-weight: 300;
|
||||
letter-spacing: 0.05em;
|
||||
color: var(--color-text);
|
||||
margin: 0 0 var(--space-md) 0;
|
||||
}
|
||||
|
||||
.homepage-hero-subtitle {
|
||||
text-transform: uppercase;
|
||||
color: var(--color-text-muted);
|
||||
letter-spacing: 0.15em;
|
||||
font-size: 0.9rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.homepage-sections {
|
||||
max-width: 1100px;
|
||||
margin: 0 auto;
|
||||
padding: 0 var(--content-padding) 60px;
|
||||
}
|
||||
|
||||
.homepage-section {
|
||||
display: flex;
|
||||
gap: var(--space-xl);
|
||||
background-color: var(--color-bg-surface);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-md);
|
||||
padding: var(--space-xl);
|
||||
margin-bottom: 60px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.homepage-section.image-right {
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
|
||||
.homepage-section-image {
|
||||
flex: 0 0 45%;
|
||||
}
|
||||
|
||||
.homepage-section-image img {
|
||||
width: 100%;
|
||||
height: 300px;
|
||||
object-fit: cover;
|
||||
border-radius: var(--radius-sm);
|
||||
display: block;
|
||||
}
|
||||
|
||||
.homepage-section-text {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.homepage-section-text h2 {
|
||||
font-size: 1.6rem;
|
||||
font-weight: 400;
|
||||
color: var(--color-text);
|
||||
margin: 0 0 var(--space-md) 0;
|
||||
}
|
||||
|
||||
.homepage-section-text p {
|
||||
color: var(--color-text-muted);
|
||||
line-height: var(--line-height-body);
|
||||
margin: 0 0 var(--space-sm) 0;
|
||||
}
|
||||
|
||||
@media (max-width: 700px) {
|
||||
.homepage-hero-title {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.homepage-section,
|
||||
.homepage-section.image-right {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.homepage-section-image {
|
||||
flex: none;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
64
src/templates/HomepageTemplate.js
Normal file
64
src/templates/HomepageTemplate.js
Normal file
@ -0,0 +1,64 @@
|
||||
import React from 'react';
|
||||
import './HomepageTemplate.css';
|
||||
|
||||
function parseSections(content) {
|
||||
const parts = content.split(/^## /m);
|
||||
return parts
|
||||
.filter(part => part.trim())
|
||||
.map(part => {
|
||||
const lines = part.split('\n');
|
||||
const heading = lines[0].trim();
|
||||
const rest = lines.slice(1);
|
||||
|
||||
let imageUrl = null;
|
||||
const textLines = [];
|
||||
|
||||
for (const line of rest) {
|
||||
const imgMatch = line.match(/!\[.*?\]\((.*?)\)/);
|
||||
if (imgMatch && !imageUrl) {
|
||||
imageUrl = imgMatch[1];
|
||||
} else if (line.trim()) {
|
||||
textLines.push(line.trim());
|
||||
}
|
||||
}
|
||||
|
||||
return { heading, imageUrl, textLines };
|
||||
});
|
||||
}
|
||||
|
||||
export default function HomepageTemplate({ page }) {
|
||||
const { frontmatter, content } = page;
|
||||
const sections = parseSections(content);
|
||||
|
||||
return (
|
||||
<div className="homepage">
|
||||
<div className="homepage-hero">
|
||||
<h1 className="homepage-hero-title">{frontmatter.title}</h1>
|
||||
{frontmatter.subtitle && (
|
||||
<p className="homepage-hero-subtitle">{frontmatter.subtitle}</p>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="homepage-sections">
|
||||
{sections.map((section, i) => (
|
||||
<div
|
||||
key={i}
|
||||
className={`homepage-section ${i % 2 === 0 ? 'image-left' : 'image-right'}`}
|
||||
>
|
||||
{section.imageUrl && (
|
||||
<div className="homepage-section-image">
|
||||
<img src={section.imageUrl} alt={section.heading} />
|
||||
</div>
|
||||
)}
|
||||
<div className="homepage-section-text">
|
||||
<h2>{section.heading}</h2>
|
||||
{section.textLines.map((line, j) => (
|
||||
<p key={j}>{line}</p>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
68
src/templates/MenuTemplate.css
Normal file
68
src/templates/MenuTemplate.css
Normal file
@ -0,0 +1,68 @@
|
||||
.menu-page {
|
||||
background-color: var(--color-bg);
|
||||
min-height: 100vh;
|
||||
padding: 60px var(--content-padding) 60px;
|
||||
}
|
||||
|
||||
.menu-header {
|
||||
text-align: center;
|
||||
margin-bottom: var(--space-xl);
|
||||
}
|
||||
|
||||
.menu-header h1 {
|
||||
font-size: 2.5rem;
|
||||
font-weight: 300;
|
||||
color: var(--color-text);
|
||||
margin: 0 0 var(--space-md) 0;
|
||||
}
|
||||
|
||||
.menu-description {
|
||||
color: var(--color-text-muted);
|
||||
font-size: 1rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.menu-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
||||
max-width: 900px;
|
||||
margin: 0 auto;
|
||||
gap: var(--space-lg);
|
||||
}
|
||||
|
||||
.menu-card {
|
||||
background-color: var(--color-bg-surface);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-md);
|
||||
padding: var(--space-md);
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
transition: transform var(--transition-fast), border-color var(--transition-fast);
|
||||
}
|
||||
|
||||
.menu-card:hover {
|
||||
transform: translateY(-2px);
|
||||
border-color: var(--color-accent);
|
||||
}
|
||||
|
||||
.menu-card-image {
|
||||
width: 100%;
|
||||
height: 180px;
|
||||
object-fit: cover;
|
||||
border-radius: var(--radius-sm);
|
||||
margin-bottom: var(--space-md);
|
||||
display: block;
|
||||
}
|
||||
|
||||
.menu-card-title {
|
||||
color: var(--color-text);
|
||||
font-size: 1.3rem;
|
||||
font-weight: 400;
|
||||
margin-bottom: var(--space-sm);
|
||||
}
|
||||
|
||||
.menu-card-desc {
|
||||
color: var(--color-text-muted);
|
||||
font-size: 0.9rem;
|
||||
line-height: var(--line-height-body);
|
||||
}
|
||||
83
src/templates/MenuTemplate.js
Normal file
83
src/templates/MenuTemplate.js
Normal file
@ -0,0 +1,83 @@
|
||||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import './MenuTemplate.css';
|
||||
|
||||
function parseMenuItems(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);
|
||||
|
||||
// Extract label + path from [Label](path), fallback to plain text
|
||||
const linkMatch = headingLine.match(/^\[(.+?)\]\((.+?)\)/);
|
||||
const label = linkMatch ? linkMatch[1] : headingLine;
|
||||
const path = linkMatch ? linkMatch[2] : null;
|
||||
|
||||
let imageUrl = null;
|
||||
const descLines = [];
|
||||
|
||||
for (const line of rest) {
|
||||
const imgMatch = line.match(/!\[.*?\]\((.*?)\)/);
|
||||
if (imgMatch && !imageUrl) {
|
||||
imageUrl = imgMatch[1];
|
||||
} else if (line.trim()) {
|
||||
descLines.push(line.trim());
|
||||
}
|
||||
}
|
||||
|
||||
return { label, path, imageUrl, desc: descLines.join(' ') };
|
||||
});
|
||||
}
|
||||
|
||||
export default function MenuTemplate({ page }) {
|
||||
const { frontmatter, content } = page;
|
||||
const items = parseMenuItems(content);
|
||||
|
||||
return (
|
||||
<div className="menu-page">
|
||||
<div className="menu-header">
|
||||
<h1>{frontmatter.title}</h1>
|
||||
{frontmatter.description && (
|
||||
<p className="menu-description">{frontmatter.description}</p>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="menu-grid">
|
||||
{items.map((item, i) => (
|
||||
item.path ? (
|
||||
<Link key={i} to={item.path} className="menu-card">
|
||||
{item.imageUrl && (
|
||||
<img
|
||||
className="menu-card-image"
|
||||
src={item.imageUrl}
|
||||
alt={item.label}
|
||||
/>
|
||||
)}
|
||||
<div className="menu-card-title">{item.label}</div>
|
||||
{item.desc && (
|
||||
<div className="menu-card-desc">{item.desc}</div>
|
||||
)}
|
||||
</Link>
|
||||
) : (
|
||||
<div key={i} className="menu-card">
|
||||
{item.imageUrl && (
|
||||
<img
|
||||
className="menu-card-image"
|
||||
src={item.imageUrl}
|
||||
alt={item.label}
|
||||
/>
|
||||
)}
|
||||
<div className="menu-card-title">{item.label}</div>
|
||||
{item.desc && (
|
||||
<div className="menu-card-desc">{item.desc}</div>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
28
src/theme/theme.css
Normal file
28
src/theme/theme.css
Normal file
@ -0,0 +1,28 @@
|
||||
:root {
|
||||
--color-bg: #333;
|
||||
--color-bg-surface: #222;
|
||||
--color-bg-nav: #0b0b0b;
|
||||
--color-text: #f5f5f5;
|
||||
--color-text-muted: #999;
|
||||
--color-text-nav: #fff;
|
||||
--color-text-footer: #808080;
|
||||
--color-border: #000;
|
||||
--color-accent: #fff;
|
||||
--font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
||||
--font-heading: 'Arial', sans-serif;
|
||||
--font-size-base: 16px;
|
||||
--line-height-body: 1.6;
|
||||
--nav-height: 70px;
|
||||
--content-max-width: 800px;
|
||||
--content-padding: 20px;
|
||||
--space-xs: 4px;
|
||||
--space-sm: 8px;
|
||||
--space-md: 16px;
|
||||
--space-lg: 24px;
|
||||
--space-xl: 40px;
|
||||
--radius-sm: 4px;
|
||||
--radius-md: 8px;
|
||||
--radius-lg: 10px;
|
||||
--transition-fast: 0.2s ease;
|
||||
--transition-base: 0.3s ease;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user