ปรับใช้เว็บไซต์ให้กับ Neocities ได้อย่างมีประสิทธิภาพโดยใช้การกระทำของ GitHub ใช้การรับรู้เนื้อหาการเปลี่ยนแปลงเป็นเฉพาะการอัปเดตไฟล์ที่เปลี่ยนแปลง
อีกทางเลือกหนึ่งคุณสามารถใช้ตัวช่วยถังใน async-nocities เพื่อปรับใช้กับ neocities ในพื้นที่จากเครื่องของคุณเองและใน 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
สร้างไฟล์เวิร์กโฟลว์ .yml
ในไดเรกทอรี .github/workflows
ที่เก็บข้อมูลของคุณ ตัวอย่างเวิร์กโฟลว์มีอยู่ด้านบน สำหรับข้อมูลเพิ่มเติมอ้างอิงเอกสารช่วยเหลือของ GitHub สำหรับการสร้างไฟล์เวิร์กโฟลว์
คุณจะต้องใช้โทเค็น API สำหรับเว็บไซต์ของคุณ ไปที่:
https://neocities.org/settings/{{your-sitename}}#api_key
รับโทเค็น API ของเว็บไซต์ของคุณ ในที่เก็บ GitHub ของคุณตั้งค่าความลับที่เรียกว่า NEOCITIES_API_TOKEN
ตั้งค่าอินพุต api_token
ในการ deploy-to-neocities
ของคุณเป็น ${{ secrets.NEOCITIES_API_TOKEN }}
ดังตัวอย่างด้านบน
ในระหว่างเวิร์กโฟลว์ของคุณสร้างไฟล์ที่คุณต้องการปรับใช้กับ neocities ลงในไดเรกทอรี ตั้งค่านี่เป็นไดเรกทอรี dist_dir
ในเวิร์กโฟลว์ของคุณ (ค่าเริ่มต้นคือ public
) คุณสามารถใช้เครื่องมือใด ๆ เพื่อสร้างเว็บไซต์ของคุณที่สามารถติดตั้งหรือนำเข้าสู่สภาพแวดล้อมการกระทำของ GitHub
เมื่อบิลด์เสร็จสมบูรณ์ deploy-to-neocities
จะอัปโหลดไฟล์ใหม่ทั้งหมดและเปลี่ยนไปเป็น neocities ได้อย่างมีประสิทธิภาพ ไฟล์ใด ๆ ใน neocities ที่ไม่มีอยู่ใน dist_dir
ถือเป็นไฟล์ 'กำพร้า' หากต้องการลบไฟล์ 'กำพร้า' เหล่านี้ทำลายให้ตั้งค่าอินพุต cleanup
เป็น true
คุณมักจะต้องการเรียกใช้สิ่งนี้ในสาขา master
เพื่อให้มีการเปลี่ยนแปลงเฉพาะที่จะส่งผล master
ในการอัปเดตเว็บไซต์ การใช้งานบิลด์การทดสอบที่ไม่ได้ปรับใช้ในทุกสาขาและ PRS สามารถช่วยจับการเปลี่ยนแปลงที่จะทำลายการสร้าง
api_key
( จำเป็น ): โทเค็น API สำหรับเว็บไซต์ Neocities ของคุณเพื่อปรับใช้dist_dir
: ไดเรกทอรีที่จะปรับใช้กับ neocities ค่าเริ่มต้น: public
อย่าปรับใช้ไดเรกทอรีรูท repo ของคุณ (เช่น ./
) มันมี .git
, .github
และไฟล์อื่น ๆ ที่จะไม่ปรับใช้อย่างถูกต้องกับ neocities รักษาความสะอาดโดยการรักษาหรือสร้างเว็บไซต์ของคุณให้เป็น subdir และปรับใช้สิ่งนั้นneocoties_supporter
: ตั้งค่าเป็น true
หากคุณมีบัญชี Neocities ที่ชำระเงินและต้องการข้ามตัวกรองไฟล์ที่ไม่ได้รับการสนับสนุนcleanup
: สตริงบูลีน ( true
หรือ false
) หากเป็น true
deploy-to-neocities
จะลบไฟล์ที่พบใน neocities ที่ไม่พบใน dist_dir
ของคุณ ค่าเริ่มต้น: false
preview_before_deploy
: สตริงบูลีน ( true
หรือ false
) หากเป็น true
deploy-to-neocities
จะพิมพ์ตัวอย่างของไฟล์ที่จะอัปโหลดและลบ ค่าเริ่มต้น: true
protected_files
: สตริงลูกโลกเสริมที่ใช้ทำเครื่องหมายไฟล์ที่ได้รับการป้องกัน ไฟล์ที่ได้รับการป้องกันจะไม่ถูกทำความสะอาด ทดสอบตัวเลือกนี้ด้วยการตั้งค่า cleanup
เป็นเท็จก่อนที่จะพึ่งพามัน ไฟล์ที่ได้รับการป้องกันจะถูกพิมพ์เมื่อ cleanup
ถูกตั้งค่าเป็นจริงหรือเท็จ สตริงลูกโลกถูกประมวลผลโดย minimatch กับเส้นทางไฟล์ neocities ระยะไกล ไฟล์ที่ได้รับการป้องกันยังสามารถอัปเดตได้ไม่มี.
Neocities เสนอคุณสมบัติที่ดีมากมาย:
A
และ AAAA
ที่เรียบง่ายคือสิ่งที่คุณต้องการ ชื่อเปลือยและทั้งหมด!ดู changelog.md