Jekyll如何使用自動同步腳本推送到Neocities免費網站空間?

💻教你用傑奇自動同步腳本✨快速推送到Neocities空間🎉

🚀快速上手!用Jekyll自動同步腳本✨將你的網站推送到Neocities免費空間🏡,再也不用手動操作!詳細步驟📋+實用技巧💡,讓你輕鬆搞定網站發佈🌐。點擊看完整教學🔍,馬上體驗方便操作! 🎉

使用腳本來同步Jekyll產生的靜態網站到Neocities的基本想法如下:

搭建Jekyll網站首先,你需要建立你的Jekyll網站。

  • 運行jekyll build命令,會在_site/目錄下產生靜態檔案。

使用Neocities CLI:安裝Neocities的命令列工具,這是一個Ruby gem

  • 可以透過執行以下命令來安裝:
gem install neocities
  • 使用批次腳本自動同步方式,可以將本地的靜態網站目錄同步推送到Neocities。

如何解ERROR: Could not find a valid gem 'neocities'?

假如運行了指令:

gem install neocities

出現以下錯誤:

ERROR: Could not find a valid gem 'neocities-jekyll' (>= 0), here is why:
     Unable to download data from https :// gems. ruby​​-china .com/ – SocketError: Failed to open TCP connection to gems.ruby-china.com:443 (getaddrinfo: 不知道這樣的主機。 ) (https://gems.ruby-china.com/specs.4.8.gz)

出現該錯誤的原因是你使用的RubyGems 來源https :// gems. ruby​​-china .com/ 無法連線。

這可能是由於以下幾個原因:

  1. 網路問題: 你可能沒有連接到互聯網,或者你的互聯網連接不穩定。
  2. RubyGems 來源問題: RubyGems 來源可能會發生故障或在維護中。
  3. 防火牆問題: 你的防火牆可能阻止了RubyGems 連線到來源。

以下是一些解決此問題的方案:

1. 檢查網路連接

首先,請確保你已連接到互聯網並可以訪問其他網站。你可以打開網頁瀏覽器並訪問一些網站,例如 https://www.chenweiliang.com/https://www.etufo.org/,以測試你的連線。

2. 更改RubyGems 來源

如果你的網路連線如常,可以嘗試更改RubyGems 來源。

你可以使用以下指令將RubyGems 來源改為官方來源:

gem source -a https://rubygems.org/

3. 然後,再嘗試安裝Neocities 外掛:

gem install neocities

Jekyll如何使用自動同步腳本推送到Neocities免費網站空間?

Jekyll如何使用自動同步腳本推送到Neocities免費網站空間?

編寫同步腳本:由於neocities push不會刪除已存在的文件,你需要寫一個腳本來同步文件。

這個腳本可以比較本地 _site/目錄和Neocities上的文件,刪除Neocities上那些在本地已經不存在的文件。

以下是一個簡單的Windows 批次腳本自動同步文件,展示如何執行上述步驟:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

REM 设置Neocities API密钥环境变量
set NEOCITIES_API_KEY=%NEOCITIES_API_KEY%

REM 检查API密钥是否已经设置
IF "!NEOCITIES_API_KEY!" == "" (
echo Neocities API key is not set in the environment variables.
goto error
)

REM 定义本地静态网站目录
set LOCAL_SITE_DIR=d:\Jekyll\site1\_site

REM 删除不在目录中的站点文件(小心!)
neocities push --prune "%LOCAL_SITE_DIR%"

:sync
REM 同步本地静态网站到Neocities
echo Syncing local site to Neocities...
neocities push "%LOCAL_SITE_DIR%"

echo Sync complete.
goto end

:error
echo There were errors during the script execution.

ENDLOCAL

REM 定義本地靜態網站目錄
set LOCAL_SITE_DIR=d:\Jekyll\site1\_site

  • 將以上腳本裡的 d:\Jekyll\site1 修改為你的資料夾名稱。

使用說明:

  1. 將此腳本儲存為.bat 文件,例如 sync_to_neocities.bat
  2. 將API金鑰設定為系統環境變數 NEOCITIES_API_KEY,然後在腳本中引用它(可從Neocities 帳戶設定中找到你的API 金鑰)。
  3. 確保Neocities CLI工具已經安裝,並且neocities 命令可以在命令列中正常使用。
  4. 開啟命令提示字元(cmd)或PowerShell視窗。
  5. 導航到腳本所在的目錄。
  6. 運行腳本:sync_to_neocities.bat

如何設定Neocities API金鑰環境變數?

  1. 開啟Windows的「控制台」。
  2. 按一下“系統和安全性”。
  3. 在“系統和安全性”下,按一下“系統”。
  4. 在“系統面板”中,按一下“進階系統設定”。
  5. 在系統屬性對話方塊中,按一下「環境變數」按鈕。
  6. 在環境變數對話方塊中,按一下新建、編輯或刪除按鈕以新增、編輯或刪除系統或使用者變數。
  7. 在“系統變數”中新建一個“NEOCITIES_API_KEY」變數,並將變數值設定為你的API金鑰。

如何運行腳本?

開啟命令提示字元(cmd)。

導航到腳本所在的目錄,例如:

cd /d d:\Jekyll\site1

運行腳本:

sync_to_neocities.bat

Neocities上傳指令說明

Neocities Push

|\—/|
| o_O | Neocities
\_^_/

Push – 遞歸地將本機目錄上傳到你的Neocities 站點

例子:

  • $ neocities push .遞歸上傳當前目錄。
  • $ neocities push -e node_modules -e Secret.txt .從推送中排除某些文件
  • $ neocities Push --no-gitignore .不要使用.gitignore 來排除文件
  • $ neocities Push --dry-run .只需顯示要上傳的內容
  • $ neocities Push --prune .刪除不在目錄中的網站檔案(小心!)

發表評論

您的郵箱地址不會被公開。 必填項已用 * 標註

回到頁首