EXIF 사진 블로그https://photos.sambecker.com

NEXT_PUBLIC_SITE_DOMAIN (예 : photos.domain.com-퍼머 링크에 사용 및 오른쪽 NAV에서 볼 수 있음)AUTH_SECRETADMIN_EMAILADMIN_PASSWORD/adminpnpm i 실행하여 종속성을 설치하십시오vercel login 실행하여 인증하십시오.vercel link 실행하십시오.vercel dev 실행하여 Vercel 관리 환경 변수로 Dev Server를 시작하십시오.
이 기능을 사용하면 OpenAI의 수수료가 발생합니다. AI 텍스트 생성을 활성화 할 때 예상치 못한 충전 및 공격을 피하기 위해 권장되는 모든 완화를 따르십시오. OpenAi 비밀 키 환경 변수가 Next_Public과 접두어가 없는지 확인하십시오.
OPENAI_SECRET_KEY 에 저장하십시오.AI_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 repo로 바닥 글 링크를 제거합니다NEXT_PUBLIC_ALLOW_PUBLIC_DOWNLOADS = 1 모든 방문자에 대한 공개 사진 다운로드 활성화 (NEXT_PUBLIC_PUBLIC_API = 1 /api 에서 공개 API를 사용할 수 있습니다NEXT_PUBLIC_IGNORE_PRIORITY_ORDER = 1 priority_order 필드가 사진 순서에 영향을 미칩니다NEXT_PUBLIC_HIDE_SOCIAL = 1 share modal에서 x 버튼을 제거합니다NEXT_PUBLIC_HIDE_FILM_SIMULATIONS = 1 /grid 사이드 바 및 CMD-K 검색 결과에 나타나는 Fujifilm 시뮬레이션을 방지합니다.NEXT_PUBLIC_HIDE_EXIF_DATA = 1 사진 세부 사항 및 OG 이미지에 exif 데이터를 숨 깁니다 (사진에 초점을 맞추지 않는 포트폴리오에 유용 할 수 있음)NEXT_PUBLIC_GRID_ASPECT_RATIO = 1.5 그리드 타일의 종횡비 설정 (기본값 1 대 1 - 0 조건을 제거합니다)NEXT_PUBLIC_SHOW_LARGE_THUMBNAILS = 1 사진 그리드보기에서 큰 축소판을 보장합니다.NEXT_PUBLIC_OG_TEXT_ALIGNMENT = BOTTOM 유지 OG 이미지 텍스트 하단 정렬 (기본값은 상단) 한 번에 한 번에 사용될 수 있습니다. 이상적으로는 사진이 업로드되기 전에 구성됩니다 (마이그레이션 고려 사항은 문제 #34 참조). 여러 가지 어댑터가있는 경우 NEXT_PUBLIC_STORAGE_PREFERENCE 에 "aws-s3", "cloudflare-r2"또는 "vercel-blob"을 저장하여 선호하는대로 설정할 수 있습니다.
[{
"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 : 계정 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_URL 업데이트하여 다른 Postgres 호환 가능한 풀링 제공 업체로 전환 할 수 있습니다. 일부 제공 업체는 SSL이 비활성화 된 경우에만 작동하며 DISABLE_POSTGRES_SSL = 1 설정하여 구성 할 수 있습니다.
6543 통해 연결 문자열이 "트랜잭션 모드"로 설정되었는지 확인DISABLE_POSTGRES_SSL = 1 설정하여 SSL을 비활성화하십시오 Forked Repos의 경우 "Code"를 클릭 한 다음 기본 repo 페이지에서 "업데이트"를 클릭하십시오. 원래 코드를 복제 한 경우 Github에서 포크를 만들고 Vercel 프로젝트 설정에서 GIT 연결을 업데이트 할 수 있습니다. 이 작업을 마치면 프로젝트 배포 페이지로 이동하여 •••를 클릭하고 "배포 생성"을 선택하고
main선택해야 할 수도 있습니다.
데스크탑에서 사이트 제목 바로 옆 상단에서 ••• 메뉴를 선택하고 "배수를 선택하십시오"를 선택하십시오. 모바일에서 검색 메뉴에서 "여러 사진 선택"에 액세스 할 수 있습니다. 거기에서 대량 태그, 좋아하는 작업 및 삭제 작업을 수행 할 수 있습니다.
이 템플릿은
/및/grid와 같은 핵심 뷰를 정적으로 최적화하여 방문자로드 시간을 최소화합니다. 결과적으로 사진이 추가, 편집 또는 제거되면 전파에 변경하는 데 몇 분이 걸릴 수 있습니다. 변경 사항이 적용되지 않는 경우/admin/configuration탐색하고 "Clear Cache"를 클릭하십시오.
템플릿이 진화함에 따라 EXIF 필드 (예 : 렌즈)가 추가되었으며 다른 방법을 통해 블러 데이터가 생성되며 AI/개인 정보 기능이 추가되었습니다. 이전 사진을 최신 상태로 가져 오려면 사진 옆의 '동기화'버튼을 클릭하거나 구식 사진 페이지 (
/admin/outdated)를 사용하여 배치 업데이트를 작성하십시오.
Imessage, Slack 및 X와 같은 많은 서비스는 링크 기반 컨텐츠를 펼칠 때 거의 영향을 미치는 응답이 필요합니다. 충분한 응답 성을 보장하기 위해
NEXT_PUBLIC_STATICALLY_OPTIMIZE_PAGES = 1및NEXT_PUBLIC_STATICALLY_OPTIMIZE_OG_IMAGES = 1을 설정하여 정적 최적화를 활성화하여 페이지 및 이미지 자산을 미리 렌더링하는 것을 미리 고려하십시오. 이것은 플랫폼 사용을 증가시킬 것임을 명심하십시오.
기본적으로 모든 사진은 방향에 관계없이 전폭 표시됩니다. matting이
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숫자 (예 : 3 : 2 이미지의 경우1.5)로 설정하거나0으로 설정하여 무시할 수 있습니다.
Fujifilm 시뮬레이션 데이터는 Exif 데이터에 포함 된 공급 업체 별 Makernote Binaries에 저장됩니다. 특정 상황에서 중개자는이 데이터를 제거 할 수 있습니다. 예를 들어, iOS에는 이미지 편집 (예 : 자르기)이 Makernote 데이터 손실을 일으키는 알려진 문제가 있습니다. 시뮬레이션 데이터가 누락 된 것으로 보이면 카메라에서 저장된대로 원본 파일을 가져 오십시오. 또한 시뮬레이션 모드를 확인할 수 있으면 사진을 편집하고 수동으로 선택할 수 있습니다.
여러 가지 이유로, 1, 3, 6 및 8 만 지원됩니다. 오리엔테이션 2, 4, 5 및 7 (미러링을 사용하는)은 지원되지 않습니다.
이 템플릿의 이전 버전은 클라이언트에서 블러 데이터를 생성하여 브라우저에서 브라우저마다 시각적으로 다양합니다. 이제 서버에서 데이터가 일관되게 생성됩니다. 특정 사진의 Blur 데이터를 업데이트하려면 문제의 사진을 편집하고 변경하지 않고 "업데이트"를 선택하십시오.
다중 업로드 처리를위한 기본 시간 초과는 60 초입니다 (취미 계정의 제한).
src/app/admin/uploads/page.tsx에서maxDuration = 300설정하여 Pro 계정에서 5 분으로 연장 할 수 있습니다.
OpenAI API에 액세스하기 전에 크레딧을 사전 구매해야 할 수도 있습니다. 토론은 이슈 #110을 참조하십시오.
혹시. 토론은 이슈 #116을 참조하십시오.