EXIF写真ブログhttps://photos.sambecker.com

NEXT_PUBLIC_SITE_DOMAIN (例:photos.domain.com-パーマリンクで使用され、右上航空で見られる)AUTH_SECRETADMIN_EMAILADMIN_PASSWORD/adminpnpm iを実行して依存関係をインストールしますvercel loginを実行してVercelCLIをインストールし、認証vercel linkを実行して、CLIをプロジェクトに接続しますvercel devを実行しますこの機能を使用すると、Openaiからの料金が発生します。 AIテキスト生成を有効にする場合、予期しない料金や攻撃を避けるために、推奨されるすべての緩和に従ってください。 OpenAI Secret Key Environment変数が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セットは、設定されていない場合、デフォルトは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で利用可能なパブリックAPIを有効にしますNEXT_PUBLIC_IGNORE_PRIORITY_ORDER = 1 priority_orderフィールドが写真の注文に影響を与えますNEXT_PUBLIC_HIDE_SOCIAL = 1共有モーダルから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になります - 0にセットすると制約が削除されます)NEXT_PUBLIC_SHOW_LARGE_THUMBNAILS = 1写真グリッドビューで大きなサムネイルを保証しますNEXT_PUBLIC_OG_TEXT_ALIGNMENT = BOTTOM og image text bottom aligned(デフォルトは上部) 1つのストレージアダプター(Vercel Blob、CloudFlare R2、またはAWS S3)のみを一度に使用できます。理想的には、これは写真がアップロードされる前に構成されています(移行に関する考慮事項については、第34号を参照)。複数のアダプターがある場合は、 NEXT_PUBLIC_STORAGE_PREFERENCEに「AWS-S3」、「CloudFlare-R2」、または「Vercel-Blob」を保存することで、1つを好むように設定できます。
[{
"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を無効にしますフォークされたリポジトリの場合は、[コード]をクリックし、メインレポジョンから「ブランチを更新」します。もともとコードをクローン化した場合は、GitHubからフォークを作成してから、Vercelプロジェクトの設定からGit接続を更新できます。これを実行したら、[プロジェクトの展開]ページに移動する必要がある場合があります
main
デスクトップで、サイトタイトルの隣にある上部のメニューを選択し、「倍数を選択」を選択します。モバイルでは、検索メニューから「複数の写真の選択」にアクセスできます。そこから、バルクタグ、お気に入り、削除アクションを実行できます。
このテンプレートは、訪問者の負荷時間を最小限に抑えるために、
/および/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、任意の数字(たとえば、3:2の画像で1.5)に設定するか、0に設定して無視することができます。
Fujifilmシミュレーションデータは、EXIFデータに埋め込まれたベンダー固有のMakernoteバイナリに保存されます。特定の状況下では、仲介者がこのデータを取り除くことができます。たとえば、iOSでは、画像を編集するなど、それをトリミングすると、Makernoteデータ損失を引き起こすという既知の問題があります。シミュレーションデータが欠落しているように見える場合は、カメラによって保存されている元のファイルをインポートしてみてください。さらに、シミュレーションモードを確認できる場合は、写真を編集して手動で選択できます。
いくつかの理由により、Exifオリエンテーションのみ:1、3、6、および8がサポートされています。ミラーリングを使用するオリエンテーション2、4、5、および7はサポートされていません。
このテンプレートの以前のバージョンは、クライアントにBlurデータを生成しました。これは、ブラウザからブラウザまで視覚的に異なりました。データがサーバー上で一貫して生成されるようになりました。特定の写真のぼかしデータを更新する場合は、問題の写真を編集し、変更を行わず、「更新」を選択します。
複数のアップロードを処理するためのデフォルトのタイムアウトは60秒です(趣味のアカウントの制限)。これは
src/app/admin/uploads/page.tsxでmaxDuration = 300設定することにより、Proアカウントで5分間に拡張できます。
OpenAI APIにアクセスする前に、クレジットを事前に購入する必要がある場合があります。ディスカッションについては、問題#110を参照してください。
おそらく。ディスカッションについては、問題#116を参照してください。