Jekyll如何使用自动同步脚本推送到Neocities免费网站空间?

💻教你用Jekyll自动同步脚本✨快速推送到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 .删除不在目录中的站点文件(小心!)

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动到顶部