banner
老孙

老孙博客

资深网民孙先生
mastodon
email

Github Actionを使用して静的アルバムを自動生成する

前言#

使用memos呼び出しのアルバムは便利ですが、いくつかの解決できない痛点があります。

  1. CDN がトラフィックを刷られた後、私はほぼすべての国内 CDN サービスを停止しました。小さな水道サーバーでは大量の画像を同時に読み込むことができず、その遅さは誰が使ってもわかります。
  2. S3 ストレージは高すぎます。COS がトラフィックを刷られた後(そう、私はこんなに運が悪いです)、私は多くのバックアップを決定し、主に GitHub にアップロードし、Cloudflare + Vercel + GitHub Pages + その他の SaaS を利用しています。これらのサービスの利点は無料であることです。
  3. テンプレートはネットから取得しました。

Deepseek#

主に AI を使用して主要機能のコードを解決し、使えることが重要です。バグが何かあっても、簡単なウェブページ生成にどんな逆天バグがあっても問題ありません.... でしょう。
主要なコードはPythonです。

機能#

  • 私が欲しい機能
  1. 画像を GitHub リポジトリにアップロードし、Actions をトリガーして自動的に HTML ページを生成する。
  2. アルバムのサムネイルは圧縮する必要があり、クリックで原画像を表示し、小さな水道の負担を軽減します(そう、私は定期的に git で国内サーバーに引っ張って、どこでもアクセスできることを重視します)。
  3. 画像名に基づいて自動的にタイトルを生成する。
  • 更新
    2024.12.29
    また新しいテンプレートを見つけました。自分ではまあまあだと思います。
    追加しました。
    workflow で実行する必要のあるスクリプトを設定しました。
    2 つのスクリプトはそれぞれtimes.pylens.pyで、2 つのテンプレートに対応しています。

デモアドレス#

lens テンプレート https://photo.asbid.cn
times テンプレート https://photo.sgcd.net

GitHub Pages にデプロイされています。

使用#

プロジェクトテンプレート#

設定#

自分のリポジトリのSettingsで見つけます。

指示

TOKENはあなたのGithub tokenです。

REPOはアルバムを生成したいリポジトリ名(例:username/repo)です。

設定

アップロードルール#

アルバムの内容はphotosというディレクトリにアップロードします。

photosのルートディレクトリにある写真のデフォルトタイトルは生活を共有です。

新しいフォルダを作成し、そのフォルダ名はこのディレクトリ内のすべての画像のタイトルとします。

  • 同名の txt ファイルのテキストは説明として最高優先度です。
    例:1.jpg 1.txtの場合、1.txtのテキストを説明として使用します。

  • ディレクトリ内の説明.txtはこのディレクトリ内のすべての画像の説明として第二優先度です。

  • 両方がない場合は、写真ファイル名を説明として使用します。

その他の部分#

必要に応じてtemplateディレクトリ内の対応するテンプレートのindex.htmlファイルのレイアウトと内容を変更できます。

リポジトリを変更するたびに Action が自動的にトリガーされ、HTML がターゲットリポジトリに生成されます。ターゲットリポジトリはGithub Pagesを使用することも、Vercel にデプロイすることもできます。ここでは詳しく説明しません。

デモ#

https://photos-jkjkjoy.vercel.app/

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。