我正在尝试在本地使用jekyll来构建我的网站。这一切都已设置好,我可以在localhost:4000上构建和服务并查看结果。没有错误。
问题在于,当我跑步时,#Jekyll服务"我无法保存文件。保存选项显示为灰色并且" ctrl + s"不会工作。
我可以打开并编辑文件,可以执行"另存为"并做其他事情 - 基本上除了保存以外的任何事情。
我可以在不提供文件时保存文件。
根据我的理解,Jekyll旨在用于在服务时节省,因此我们可以随时查看我们的更改。自动重新生成功能(现在默认使用serve)支持使用。
我怀疑问题与某种权限类型规则有关,阻止我编辑正在使用的文件。
但是因为我是自学新手并且不是开发人员/程序员,所以我不知道这是否与我如何设置jekyll,notepad ++,权限或其他完全相关。
这是我的环境:
以下是我的尝试:
将侦听宝石从v2.10.0缩小到v2.7.11(之前的版本在windows网站上列为jekyll的安全/测试版)
将Jekyll从v2.5.3缩减为v2.5.1(之前的版本在windows网站上列为jekyll的安全/测试版)
以管理模式而非普通模式打开Notepad ++。
尝试执行jekyll serve --watch(如果手表已启用保存)
我没有尝试重新安装ruby v2.1.3(在Windows网站上的Jekyll上列为安全/测试)因为Jekyll正在工作我不想尝试重新安装,除非作为最后的手段 - 作为一个新手,我发现首先在Windows上安装它是一件痛苦的事。
任何人都可以帮我解决这个问题(可能很简单)吗?
我提前感谢您的任何帮助。
答案 0 :(得分:3)
好。所以我觉得自己真的很蠢。
但不要假装从未发生过这种情况,我最好发布这个答案,万一其他人有金发女郎的时刻' (读:整整一天)就像我一样:
首先,您无法在投放时编辑_config.yml文件。您可以编辑其他文件 - html,markdown等 - 但不能编辑配置文件。
其次,在Notepad ++中,您需要在保存选项出现之前对文档进行实际更改。
我使用_config文件作为我的测试'再生文件。虽然我确实打开了其他文件来检查我什么时候第一次认为我遇到了问题,但我认为我可能没有对它们进行任何更改 - 因此保存它们的选项从未激活过。之后,我只在进行更改后查看了配置文件。
所以,我认为我可以在一直服务的同时保存。
然而,如果我错了,并不是我自己的愚蠢(我强烈怀疑),我采取的修复它的步骤是:
我的问题中概述的那些步骤;以及
重新安装Notepad ++(正如#nerver nerver'在我说不起作用之后删除了他/她的评论所推荐的那样)。
抱歉......对不起,我一边走一边躲开羞耻......
答案 1 :(得分:1)
如果您当时正在编辑的文件仅为_config.yml
,则预期的行为是当Jekyll服务器正在运行/观看时,未反映保存的更改。
这是因为服务器在读取_config.yml
中的配置设置后启动,然后Jekyll不监控此后特殊文件发生的更改(这是截至2015年5月的最新情况,如果是这样的话将来改变了)。 Currently this is by design。 see this SO question as well
这意味着什么,当Jekyll正常运行时,您一直在保存文件,更改只是没有更新。检查这个的一种方法是进行一些更改,关闭文件,然后再次打开它(如果你想要更加确定,在另一个编辑器中打开),看看是否显示出反映的变化。
将反映在服务器运行时对Jekyll中的其他文件所做的更改。例如,如果我在博文中编辑拼写错误,编辑CSS文件或更改某些格式,并在任何文本编辑器中保存,Jekyll将从头开始重新生成该文件您应该可以通过刷新localhost:4000
页面(或服务器运行时)来查看更改。
我不确定在Windows上运行Jekyll,但在Linux终端上,Jekyll实际上已经通知了已更改的文件数(带有时间戳)并且它重新生成了X个文件。像
这样的东西 <timestamp> 3 files have changed. Regenerated 3 files in 0.0536 sec..
最后,这可能不是您的问题,但我想我可能会在此处添加此内容以供将来参考,不要编辑 _site
中的文件文件夹,因为它们总是在服务器再次启动时被删除并重新生成。手动编辑这些文件可能会保存并显示更改,但更改将会丢失(因为它们是每次由Jekyll静态生成的)
TL; DR 您很可能一直在保存文件!只有在服务器运行时才会反映_config.yml
中的更改,并且必须重新启动才能使新配置参数生效。