17 lines
514 B
Python
17 lines
514 B
Python
|
from mkdocs.utils.cache import download_and_cache_url
|
||
|
from datetime import timedelta
|
||
|
import os
|
||
|
import json
|
||
|
import jinja2
|
||
|
|
||
|
UNSPLASH_CACHE_TIME = timedelta(days=14)
|
||
|
|
||
|
def get_unsplash_image(image_id):
|
||
|
client_id = os.environ["UNSPLASH_CLIENT_ID"]
|
||
|
url = f"https://api.unsplash.com/photos/{image_id}?client_id={client_id}"
|
||
|
return json.loads(download_and_cache_url(url, UNSPLASH_CACHE_TIME))
|
||
|
|
||
|
def on_env(env: jinja2.Environment, config, files):
|
||
|
env.globals["unsplash"] = get_unsplash_image
|
||
|
return env
|