0成本搭建属于自己的摄影plog

在v站上看到一篇帖子分享了开源项目Gallery-Portfolio,看了一下demo感觉蛮不错的,可以展示快门、光圈和ISO信息。
这个项目部署需要用到 vercelCloudflare R2,当然如果你有自己的域名会更好。

第一步,项目调整

因为项目本身有一些文字描述、页面标题等不支持动态设置,所以你觉得介意的话就得自己调整,这需要你有一定的开发知识。

我自己也有简单调整一些文字,默认主题也改成了dark模式,你可以在这里看看效果 baofeidyz’s gallery

项目本身的readme写的很详细,建议先看看readme,然后我这里补充几点:

  1. nodejs安装方法:https://nodejs.org/en/download/package-manager
  2. 新建的.env文件不要提交。默认fork操作后的权限都是public的,所以不要提交这个文件以避免Cloudflare R2的密钥被盗用

另外,如果你没有安装node.js你也可以不用拉取,善于利用GitHub提供的code space是更好的办法,关于code spaces可以看看https://docs.github.com/en/codespaces

第二步,申请免费的Cloudflare R2

你需要自己注册Cloudflare账号,如果已经有那么就直接复用就可以。

创建一个单独的桶,然后我建议是上传包含照片的文件夹,任意上传一张先试试,自己知道咋回事以后再尝试继续上传即可。

桶创建好以后,还需要创建“R2 API令牌”,需要注意的是,Gallery-Portfolio有一个压缩照片生成缩略图的功能,所以你在创建R2 API令牌的时候,需要选择“对象读和写”的权限,“指定存储桶”为刚才创建的那个桶,TTL选择永久。

在本地填好.env文件,按照readme给出的方法测试一下。

第三步,部署到vercel

简单描述一下吧,你需要注册一个账号,然后绑定你的GitHub账号,然后就可以一键部署了。
部署的时候会有一个地方填写环境变量,你不用一个一个拷贝,你把整个.env文件的内容粘贴一下就可以了。

可选一,去掉多余的exif信息

安装exiftool工具,官网地址:https://exiftool.org

macOS可以使用homebrew安装:

1
brew install exiftool

安装完成以后,可以使用以下脚本去除extif信息以保证隐私安全

1
exiftool -all= -tagsFromFile @ -ExposureTime -ISO -ApertureValue -FNumber *.jpg

同时我自己还加上了一个版权信息,完整的脚本如下

1
exiftool -all= -tagsFromFile @ -ExposureTime -ISO -ApertureValue -FNumber -copyright="© 2024 [email protected]" *.jpg

每个相机厂商的exif信息的关键字可能有所不同,对于你想要保留的快门时间、ISO、光圈等信息可能与我给出的关键字是不同的,你可以通过

1
exiftool -s xxx.jpg

来获取详细的关键字,然后再调整为你自己的脚本即可

可选二,增加水印

为了避免有人不经过我的允许拿去商用,我在每张照片的正中增加了水印,用的是Lightroom批量处理。