GitHubアクションを使用して、WebサイトをNeoCitiesに効率的に展開します。 Content Aware Diffingを使用して、変更されたファイルのみを更新します。
または、Binヘルパーを非同期に使用して、自分のマシンからもCIでも局所的に新生学に展開することができます。
name : Deploy to neocities
# only run on changes to main. Use main or master depending on whatever your default branch is called.
on :
push :
branches :
- main
concurrency : # prevent concurrent deploys doing strange things
group : deploy-to-neocities
cancel-in-progress : true
jobs :
deploy :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v4
# Set up any tools and build steps here
# This example uses a Node.js toolchain to build a site
- name : Use Node.js
uses : actions/setup-node@v4
with :
node-version : lts/*
# If you have a different build process, replace this with your own build steps
- name : Install deps and build
run : |
npm i
npm run build
# When the dist_dir is ready, deploy it to neocities
- name : Deploy to neocities
uses : bcomnes/deploy-to-neocities@v3
with :
api_key : ${{ secrets.NEOCITIES_API_TOKEN }}
cleanup : false
neocities_supporter : false # set this to true if you have a supporter account and want to bypass unsuported files filter.
preview_before_deploy : true # print a deployment plan prior to waiting for files to upload.
dist_dir : public
リポジトリの.github/workflows
ディレクトリにワークフロー.yml
ファイルを作成します。上記のワークフローの例をご覧ください。詳細については、GitHubヘルプドキュメントを参照して、ワークフローファイルを作成します。
サイトにはAPIトークンが必要です。移動:
https://neocities.org/settings/{{your-sitename}}#api_key
サイトのAPIトークンを入手してください。 githubリポジトリで、 NEOCITIES_API_TOKEN
という秘密を設定します。上記の例のように、 deploy-to-neocities
アクションのapi_token
入力を${{ secrets.NEOCITIES_API_TOKEN }}
に設定します。
ワークフロー中に、ネオシティに展開するファイルをディレクトリに生成します。これをワークフローのdist_dir
ディレクトリとして設定します(デフォルトはpublic
です)。任意のツールを使用して、GitHubアクション環境にインストールまたは持ち込むことができるサイトを生成できます。
ビルドが完了すると、 deploy-to-neocities
すべての新規およびすべての変更されたファイルをNeoCitiesに効率的にアップロードします。 dist_dir
に存在しない新生学に関するファイルは、「孤児」ファイルと見なされます。これらの「孤児」ファイルを破壊的に削除するには、 cleanup
入力をtrue
に設定します。
おそらく、これをmaster
ブランチでのみ実行したいので、 master
にコミットすることのみがウェブサイトの更新を行うためだけに変更されます。すべてのブランチやPRSに展開しないテストビルドを実行すると、ビルドを破る変更をキャッチするのに役立ちます。
api_key
(必須):NeoCities Webサイトが展開するAPIトークン。dist_dir
:NeoCitiesに展開するディレクトリ。デフォルト: public
。 root Repo Directory(例: ./
)を展開しないでください。 .git
、 .github
、およびその他のファイルが含まれており、その他のファイルには新生学に適切に展開されません。サイトを維持または構築することにより、清潔に保ち、それを展開します。neocoties_supporter
:有料NeoCitiesアカウントがあり、サポートされていないファイルフィルターをバイパスする場合は、これをtrue
に設定します。cleanup
:ブール文字列( true
またはfalse
)。 true
の場合、 deploy-to-neocities
、 dist_dir
で見つからない新生学で見つかったファイルを破壊的に削除します。デフォルト: false
。preview_before_deploy
:boolean string( true
or false
)。 true
の場合、 deploy-to-neocities
アップロードおよび削除されるファイルのプレビューを印刷します。デフォルト: true
。protected_files
:ファイルを保護されているとマークするために使用されるオプションのグローブ文字列。保護されたファイルがクリーンアップされることはありません。このオプションは、 cleanup
Set falseに頼る前にfalseに設定してテストします。保護されたファイルは、 cleanup
がtrueまたはfalsに設定されたときに印刷されます。グローブ文字列は、リモートNeoCitiesファイルパスに対してMinimatchによって処理されます。保護されたファイルは引き続き更新できます。なし。
Neocitiesはたくさんの素晴らしいプロパティを提供します:
A
とAAAA
レコードが必要です。裸の名前とすべて!changelog.mdを参照してください