Stellen Sie eine Website effizient mit GitHub -Aktionen für NeoCities bereit. Verwendet Inhalte, die sich nur verändert haben, um nur Dateien zu aktualisieren.
Alternativ können Sie den Bin-Helfer in asynchronen Neocities verwenden, um vor Ort aus Ihrer eigenen Maschine sowie in CI für Neocities einzusetzen.
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
Erstellen Sie eine Workflow .yml
-Datei im .github/workflows
-Verzeichnis Ihres Repositorys. Ein Beispiel -Workflow ist oben verfügbar. Weitere Informationen erhalten Sie auf die Dokumentation von GitHub -Hilfe zum Erstellen einer Workflow -Datei.
Sie benötigen das API -Token für Ihre Website. Gehen Sie zu:
https://neocities.org/settings/{{your-sitename}}#api_key
Holen Sie sich das API -Token Ihrer Website. Stellen Sie in Ihrem Github -Repository ein Geheimnis namens NEOCITIES_API_TOKEN
fest. Setzen Sie die api_token
Eingabe für Ihre Aktion deploy-to-neocities
auf ${{ secrets.NEOCITIES_API_TOKEN }}
wie im obigen Beispiel.
Generieren Sie während Ihres Workflows die Dateien, die Sie für Neocities in ein Verzeichnis bereitstellen möchten. Legen Sie dies als dist_dir
-Verzeichnis in Ihrem Workflow ein (der Standard ist public
). Sie können über alle Tools verwendet werden, um Ihre Website zu generieren, die installiert oder in die GitHub Action -Umgebung eingebracht werden können.
Sobald der Build abgeschlossen ist, laden deploy-to-neocities
alle neuen und alle geänderten Dateien effizient in NeoCities hoch. Alle Dateien zu Neocities, die im dist_dir
nicht vorhanden sind, werden als "verwaiste" Dateien betrachtet. Um diese "verwaisten" -Dateien zerstörend zu entfernen, setzen Sie die cleanup
auf true
.
Sie möchten dies höchstwahrscheinlich nur in der master
-Filiale ausführen, so dass sich nur Änderungen zum master
-Ergebnis in Website -Updates verpflichtet haben. Ausführen eines Testbaus, der nicht in allen Zweigen und PRs bereitgestellt wird, kann dazu beitragen, Änderungen zu erfassen, die den Build brechen.
api_key
( erforderlich ): Das API -Token für Ihre Neocities -Website zum Bereitstellen.dist_dir
: Das Verzeichnis zum Bereitstellen von NeoCities. Standard: public
. Bereiten Sie Ihr Root Repo -Verzeichnis nicht bereit (z. B. ./
). Es enthält .git
, .github
und andere Dateien, die nicht ordnungsgemäß für NeoCities bereitgestellt werden. Halten Sie es sauber, indem Sie Ihre Website in einem Unterverdausten aufbewahren oder aufbauen und diese einsetzen.neocoties_supporter
: Setzen Sie dies auf true
, wenn Sie ein bezahltes NeoCities -Konto haben und den nicht unterstützten Dateienfilter umgehen möchten.cleanup
: Boolean String ( true
oder false
). Wenn true
deploy-to-neocities
destruktiv Dateien löscht, die auf Neocities gefunden wurden, die nicht in Ihrem dist_dir
zu finden sind. Standard: false
.preview_before_deploy
: boolean string ( true
oder false
). Wenn deploy-to-neocities
true
, wird eine Vorschau der Dateien gedruckt, die hochgeladen und gelöscht werden. Standard: true
.protected_files
: Eine optionale Glob -Zeichenfolge, mit der Dateien als geschützt markiert werden. Geschützte Dateien werden nie aufgeräumt. Testen Sie diese Option mit cleanup
auf False, bevor Sie sich darauf verlassen. Geschützte Dateien werden gedruckt, wenn cleanup
auf True oder False eingestellt ist. Glob -Saiten werden mit Minimatch gegen Remote NeoCities Dateipfade verarbeitet. Geschützte Dateien können weiterhin aktualisiert werden.Keiner.
NeoCities bietet eine Reihe von schönen Eigenschaften:
A
und AAAA
-Datensätze sind alles, was Sie brauchen. Nackte Namen und alles!Siehe ChangeLog.md