EXIF Photo Bloghttps://photos.sambecker.com

NEXT_PUBLIC_SITE_DOMAIN (например, Photos.domain.com-используется в постоянных ссылках и виден в вершине навигации)AUTH_SECRETADMIN_EMAILADMIN_PASSWORD/adminpnpm i для установки зависимостейvercel loginvercel link , чтобы подключить CLI к вашему проектуvercel dev , чтобы запустить Dev Server с управляемыми Vercel Environment
Использование этой функции приведет к сбору от OpenAI. При включении генерации текста ИИ следуйте всем рекомендованным смягчениям, чтобы избежать неожиданных зарядов и атак. Убедитесь, что ваша переменная среды Open Secret Key не префиксирована с помощью Next_public.
OPENAI_SECRET_KEYAI_TEXT_AUTO_GENERATED_FIELDS = title, semanticall (по умолчанию)titlecaptiontagssemanticnone@vercel/analytics уже включена)@vercel/speed-insights уже включены)Поведение приложения может быть изменено путем настройки следующих переменных среды:
NEXT_PUBLIC_SITE_TITLE (видно на вкладке браузера)NEXT_PUBLIC_SITE_DESCRIPTION (видно в Nav, под заголовком)NEXT_PUBLIC_SITE_ABOUT (видно в боковой панели сетки - насыщенные теги форматирования: <b> , <strong> , <i> , <em> , <u> , <br> ) NEXT_PUBLIC_GRID_HOMEPAGE = 1 показывает макет сетки на домашней страницеNEXT_PUBLIC_DEFAULT_THEME = light | dark Sets Предпочтительная начальная тема (по умолчанию в system , когда он не настроен)NEXT_PUBLIC_PRO_MODE = 1 включает в себя более качественное хранилище изображений (приводит к увеличению использования хранения)NEXT_PUBLIC_STATICALLY_OPTIMIZE_PAGES = 1 включает статическую оптимизацию для страниц, то есть рендерирует страницы во время сборки (приводит к увеличению использования проекта) -NEXT_PUBLIC_STATICALLY_OPTIMIZE_OG_IMAGES = 1 включает статическую оптимизацию для изображений OG, то есть рендерирует изображения во время сборки (приводит к увеличению использования проекта) -NEXT_PUBLIC_MATTE_PHOTOS = 1 ограничивает размер каждой фотографии и позволяет окружающая граница (потенциально полезно для фотографий с высокими соотношениями сторон)NEXT_PUBLIC_BLUR_DISABLED = 1 предотвращает хранение и отображение данных о размывании изображения (потенциально полезно для ограничения использования Postgres)NEXT_PUBLIC_GEO_PRIVACY = 1 Отключает сбор/отображение данных на основе местоположения (NEXT_PUBLIC_HIDE_REPO_LINK = 1 Удаляет ссылку нижнего колонтитула в репоNEXT_PUBLIC_ALLOW_PUBLIC_DOWNLOADS = 1 включает публичные фотографии для всех посетителей (NEXT_PUBLIC_PUBLIC_API = 1 включает публичный API доступен по адресу /apiNEXT_PUBLIC_IGNORE_PRIORITY_ORDER = 1 предотвращает поля priority_order , влияющий на заказ фотоNEXT_PUBLIC_HIDE_SOCIAL = 1 удаляет кнопку x из модала «ПоделитьсяNEXT_PUBLIC_HIDE_FILM_SIMULATIONS = 1 предотвращает моделирование Fujifilm, отображаемые на боковой панели /grid и результатах поиска CMD-KNEXT_PUBLIC_HIDE_EXIF_DATA = 1 скрывает данные в сведениях на фотографиях и изображения OG (потенциально полезные для портфелей, которые не фокусируются на фотографии)NEXT_PUBLIC_GRID_ASPECT_RATIO = 1.5 Устанавливает соотношение сторон для плиток сетки (по умолчанию до 1 - с 0 ограничения)NEXT_PUBLIC_SHOW_LARGE_THUMBNAILS = 1 обеспечивает большие миниатюры в видах фото сеткиNEXT_PUBLIC_OG_TEXT_ALIGNMENT = BOTTOM сохраняет текст изображения OG внизу (по умолчанию вверху) Только один адаптер хранилища - Blob -Blob, Cloudflare R2 или AWS S3 - может использоваться одновременно. В идеале это настроено до того, как будут загружены фотографии (см. Выпуск № 34 для соображений миграции). Если у вас есть несколько адаптеров, вы можете установить его как предпочтительный, сохранив «AWS-S3», «CloudFlare-R2» или «Vercel-Blob» в NEXT_PUBLIC_STORAGE_PREFERENCE .
[{
"AllowedHeaders" : [ " * " ],
"AllowedMethods" : [
" GET " ,
" PUT "
],
"AllowedOrigins" : [
" http://localhost:3000 " ,
" https://{VERCEL_PROJECT_NAME}*.vercel.app " ,
" {PRODUCTION_DOMAIN} "
]
}]NEXT_PUBLIC_CLOUDFLARE_R2_BUCKET : имя ведраNEXT_PUBLIC_CLOUDFLARE_R2_ACCOUNT_ID : идентификатор учетной записи (найденный на странице обзор R2)NEXT_PUBLIC_CLOUDFLARE_R2_PUBLIC_DOMAIN : либо "your-custom-domain.com", либо "pub-jf90908 ... s0d9f8s0s9df.r2.dev" ( не включайте "https: //"NEXT_PUBLIC ):CLOUDFLARE_R2_ACCESS_KEYCLOUDFLARE_R2_SECRET_ACCESS_KEY[{
"AllowedHeaders" : [ " * " ],
"AllowedMethods" : [
" GET " ,
" PUT "
],
"AllowedOrigins" : [
" http://localhost:* " ,
" https://{VERCEL_PROJECT_NAME}*.vercel.app " ,
" {PRODUCTION_DOMAIN} "
],
"ExposeHeaders" : []
}]NEXT_PUBLIC_AWS_S3_BUCKET : имя ведраNEXT_PUBLIC_AWS_S3_REGION : область ведра, например, "US-EAST-1"{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Effect" : " Allow " ,
"Action" : [
" s3:PutObject " ,
" s3:PutObjectACL " ,
" s3:GetObject " ,
" s3:ListBucket " ,
" s3:DeleteObject "
],
"Resource" : [
" arn:aws:s3:::{BUCKET_NAME} " ,
" arn:aws:s3:::{BUCKET_NAME}/* "
]
}
]
}NEXT_PUBLIC ):AWS_S3_ACCESS_KEYAWS_S3_SECRET_ACCESS_KEY Vercel Postgres может быть переключен на другого, совместимого с Postgres, объединяющим поставщиком путем обновления POSTGRES_URL . Некоторые поставщики работают только при отключении SSL, что может настроить настройку DISABLE_POSTGRES_SSL = 1 .
6543DISABLE_POSTGRES_SSL = 1 Для разветвленных репо, нажмите «Код», затем «Обновить филиал» со страницы основной репо. Если вы изначально клонировали код, вы можете создать вилку из GitHub, а затем обновить соединение GIT из настройки проекта Vercel. После того, как вы это сделаете, вам может потребоваться перейти на страницу развертывания вашего проекта, нажмите «•••, выберите« Создать развертывание »и выберите
main.
На рабочем столе выберите меню ••• Вверху правой рядом с заголовком сайта и выберите: «Выберите несколько». На Mobile «Выберите несколько фотографий» можно получить в меню поиска. Оттуда вы можете выполнить объемный тег, любимый и удалять действия.
Этот шаблон статически оптимизирует представления основного ядра, такие как
/и/gridчтобы минимизировать время загрузки посетителей. Следовательно, когда фотографии добавляются, отредактированы или удаляются, для распространения этих изменений может потребоваться несколько минут. Если кажется, что изменение не вступает в силу, попробуйте перемещаться по/admin/configurationи нажать «Очистить кеш».
По мере развития шаблона были добавлены поля EXIF (такие как линзы), данные о размывании генерируются с помощью другого метода, и были добавлены функции AI/конфиденциальности. Чтобы привлечь старые фотографии в настоящее время, нажмите кнопку «Синхронизировать» рядом с фотографией, либо используйте устаревшую страницу фотографий (
/admin/outdated), чтобы сделать обновления пакетов.
Многие услуги, такие как Imessage, Slack и X, требуют почти мгновенных ответов при развертывании контента, основанного на ссылках. Чтобы гарантировать достаточную отзывчивость, рассмотрите возможность рендеринга страниц и активов изображений заранее, включив статическую оптимизацию, установив
NEXT_PUBLIC_STATICALLY_OPTIMIZE_PAGES = 1иNEXT_PUBLIC_STATICALLY_OPTIMIZE_OG_IMAGES = 1. Имейте в виду, что это увеличит использование платформы.
По умолчанию все фотографии показаны полной шириной, независимо от ориентации. Включите матинг для демонстрации горизонтальных и вертикальных фотографий в аналогичных масштабах, установив
NEXT_PUBLIC_MATTE_PHOTOS = 1.
Плотность сетки миниатюры (видна
/grid, обзоры тегов и другие наборы фотографий) зависит от конфигурации соотношения сторон (соотношения 1 или менее имеют больше фотографий на строку). Это может быть переопределено, установивNEXT_PUBLIC_SHOW_LARGE_THUMBNAILS = 1.
В то время как все скрытые пути (
/tag/hidden/*) требуют аутентификации, необработанные ссылки на отдельные фото -активы остаются общедоступными. Случайно сгенерированные URL -адреса от поставщиков хранения защищены только через мрачность. Использовать с осторожностью.
Перейдите к
/admin/configurationи нажмите «Очистить кеш».
Перейдите к
/admin/configurationи нажмите «Очистить кеш». Если это не поможет, откройте проблему.
Отсутствие конфигурации, соотношение сторон по умолчанию сетки составляет
1.NEXT_PUBLIC_GRID_ASPECT_RATIOможет быть установлен на любой номер (например,1.5для изображений 3: 2) или игнорируется настройкой на0.
Данные моделирования fujifilm хранятся в специфических для поставщика бинарий Makernote, встроенных в данные ESIF. При определенных обстоятельствах посредник может разобраться с этими данными. Например, существует известная проблема на iOS, где редактирование изображения, например, обрезка его, вызывает потерю данных Makernote. Если данные моделирования, по -видимому, отсутствуют, попробуйте импортировать исходный файл, поскольку он хранился камерой. Кроме того, если вы можете подтвердить режим моделирования, вы можете редактировать фотографию и вручную выбрать ее.
По ряду причин поддерживаются только ориентации ESIF: 1, 3, 6 и 8. Ориентации 2, 4, 5 и 7, которые используют зеркалирование, не поддерживаются.
Более ранние версии этого шаблона сгенерировали размытые данные на клиенте, которые визуально различались от браузера к браузере. Данные теперь генерируются последовательно на сервере. Если вы хотите обновить данные размытия для конкретной фотографии, отредактируйте представленную фотографию, не внесите никаких изменений и выберите «Обновление».
Тайм -аут по умолчанию для обработки нескольких загрузок составляет 60 секунд (ограничение для хобби -учетных записей). Это может быть расширено на 5 минут на учетных записях Pro, установив
maxDuration = 300вsrc/app/admin/uploads/page.tsx.
Возможно, вам потребуется предварительно приобрести кредиты, прежде чем получить доступ к API OpenAI. Смотрите вопрос № 110 для обсуждения.
Возможно. Смотрите вопрос № 116 для обсуждения.