Jekyll 解决Jekyll server本地预览文章not found的问题
layout: post
tags: [Jekyll]
comments: true
执行Jekyll
本地浏览器预览指令
bundle exec jekyll serve
进入浏览器输入127.0.0.1:4000
,可以正常浏览首页,但是点击文章链接,则会显示404
页面,查看控制台显示错误的log
,如下:
PS D:\work\github\test\_site> bundle exec jekyll serve
Configuration file: none
Source: D:/work/github/test/_site
Destination: D:/work/github/test/_site/_site
Incremental build: disabled. Enable with --incremental
Generating...
done in 1.972 seconds.
Auto-regeneration: enabled for 'D:/work/github/test/_site'
Server address: http://127.0.0.1:4000
Server running... press ctrl-c to stop.
[2019-12-14 09:20:28] ERROR `/2019-11-06-STM32-TIM1高级定时器配置快速入门/' not found.
[2019-12-14 09:20:37] ERROR `/2019-11-05-STM32-时钟树配置快速入门/' not found.
[2019-12-14 09:20:42] ERROR `/2019-11-04-STM32-J-scope的使用/' not found.
[2019-12-14 09:20:48] ERROR `/2019-10-28-Matlab-simulink-步进电机驱动仿真/' not found.
[2019-12-14 09:21:07] ERROR `/2019-10-25-STM32-正交解码功能采集编码器信号/' not found.
[2019-12-14 09:21:13] ERROR `/2019-10-24-STM32-互补PWM波形配置/' not found.
[2019-12-14 09:57:47] ERROR `/favicon.ico' not found.
[2019-12-14 10:07:20] ERROR `/2019-09-14-PMSM-一-电机的数学模型/' not found.
[2019-12-14 10:07:25] ERROR `/2019-09-20-STM32-标准库启动文件分析/' not found.
[2019-12-14 10:07:29] ERROR `/2019-10-25-STM32-正交解码功能采集编码器信号/' not found.
以上无法找到的文件,在_site
文件夹下都存在,简单分析应该是编码格式的问题,导致server
无法正确找到对应的文章;
解决方案:
找到文件C:\Ruby26-x64\lib\ruby\2.6.0\webrick\httpservlet\filehandler.rb
,具体安装目录根据实际情况确定;
文件修改如下所示;
diff --git a/filehandler_back.rb b/filehandler.rb
index 601882e..10f51d6 100644
--- a/filehandler_back.rb
+++ b/filehandler.rb
@@ -283,6 +283,7 @@ module WEBrick
# dirty hack for filesystem encoding; in nature, File.expand_path
# should not be used for path normalization. [Bug #3345]
path = req.path_info.dup.force_encoding(Encoding.find("filesystem"))
+ path.force_encoding("UTF-8")
if trailing_pathsep?(req.path_info)
# File.expand_path removes the trailing path separator.
# Adding a character is a workaround to save it.
@@ -330,6 +331,7 @@ module WEBrick
path_info.unshift("") # dummy for checking @root dir
while base = path_info.first
break if base == "/"
+ base.force_encoding("UTF-8")
break unless File.directory?(File.expand_path(res.filename + base))
shift_path_info(req, res, path_info)
call_callback(:DirectoryCallback, req, res)
修改完,重新执行bundle exec jekyll serve
,进入浏览器发现已经可以解决这个问题。
Jekyll 解决Jekyll server本地预览文章not found的问题的更多相关文章
- IE8/9 本地预览上传图片
本地预览的意思是,在选择图片之后先不上传到服务器,而是由一个<img>标签来预览本地的图片,非 IE8/9 浏览器可以从<input type="file"/&g ...
- 微软发布 Windows Server 2016 预览版第三版,开发者要重点关注Nano Server
微软已经发布 Windows Server 2016 和 System Center 2016 第三个技术预览版,已经提供下载.Windows Server 2016 技术预览版第三版也是首个包括了容 ...
- 网站中集成jquery.imgareaselect实现图片的本地预览和选择截取
imgAreaSelect 是由 Michal Wojciechowski开发的一款非常好用的jquery插件,实现了图片的截取功能.其文档和Demo也是很详尽的.大家可以到http://odynie ...
- 去除DEDECMS后台预览文章URL地址多余的数字信息
在使用织梦模板时发现这样一个问题:在后台预览文章的时候,出现的文章网址尽管是静态URL,但是会在网址的尾部出现问号并跟随一个时间戳,在复制URL时就显得很不方便.那么如何解决这一问题呢? 经过查找资料 ...
- 图像本地预览插件(基于JQUERY、HTML5)
最近是被这项目搞疯了.害我天天写插件,上周才写,现在就继续吧..... 说说这个吧.主要是用于本地图像预览的.我们知道在以前,图像预览一般都很麻烦,一般都是异步上传然后返回路径,动态设置路径,但是这样 ...
- ajax:html5上传文件,上传之前可以实现本地预览
本主题主要涉及两个新内容: 1.上传文件(主要使用了FormData) 2.本地预览(主要使用了FileReader) html5的FormData其实就是平时的Form表单,只是html5可以直接新 ...
- jQuery图片上传前先在本地预览(不经过后端处理)
前段时间遇到一个问题,前端想实现图片上传预览(不经过后端PHP或JAVA处理),用户点击file按钮上传文件,点击确定马上就能看到预览的效果,但在实现的时候无论怎样都取不到file上图片的真实路径,得 ...
- 利用FileReader实现上传图片前本地预览
引子 平时做图片上传预览时如果没有特殊的要求就直接先把图片传到后台去,成功之后拿到URL再渲染到页面上,这样做在图片比较小的时候没什么问题,大一点的话就会比较慢才能看到预览了,而且还产生了垃圾文件,所 ...
- 搞清Image加载事件(onload)、加载状态(complete)后,实现图片的本地预览,并自适应于父元素内(完成)
onload与complete介绍 complete只是HTMLImageElement对象的一个属性,可以判断图片加载完成,不管图片是不是有缓存:而onload则是这个Image对象的load事件回 ...
随机推荐
- python干货-类属性和方法,类的方法重写
类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来 ...
- L1线性回归
线性回归 主要内容包括: 线性回归的基本要素 线性回归模型从零开始的实现 线性回归模型使用pytorch的简洁实现 代码下载地址 https://download.csdn.net/download/ ...
- weblogic漏洞(一)----CVE-2017-10271
WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271) 0x01 漏洞原因: Weblogic的WLS Security组件对外提供webservice服务,其中使用了XM ...
- 《Spring In Action》阅读笔记之装配bean
Spring主要装配机制 1.在XML中进行显式配置 2.在Java中进行显式配置 3.隐式的的bean发现机制和自动装配 自动化装配bean Spring从两个角度来实现自动化装配 1.组件扫描:S ...
- Spring5:IOC注解
使用注解须知: 1:导入约束:导入context的命名空间 2:配置注解的支持:<context:annotation-config/> <?xml version="1. ...
- [半翻] 设计面向DDD的微服务
这篇文章行文结构对照微软博客, 结合本人意译和多年实践的回顾思考形成此次读书笔记. Domian-driven Design 领域-驱动-设计(DDD)提倡基于(用例相关的现实业务)进行建模. 1. ...
- UML 建模工具的安装与使用
一. 实验目的1) 学习使用 EA(Enterprise Architect) 开发环境创建模型的一般方法: 2) 理解 EA 界面布局和元素操作的一般技巧: 3) 熟悉 UML 中的各种图的建立和表 ...
- vue中使用echarts 制作某市各个街道镇的地图
我要制作的是青州的各街道镇的地图,于是我上网搜,很感谢这篇文章的作者给的提点和帮助https://www.jianshu.com/p/7337c2f56876 现在我把自己的制作过程做个整理,以山东省 ...
- 咦,Java拆分个字符串都这么讲究
提到 Java 拆分字符串,我猜你十有八九会撂下一句狠话,"这有什么难的,直接上 String 类的 split() 方法不就拉到了!"假如你真的这么觉得,那可要注意了,事情远没这 ...
- java程序员从小工到专家成神之路(2020版)
目录 必须掌握的基础知识 1. Git & Github 2. Linux 3. 数据结构和算法 4. HTTP / HTTPS 5. 设计模式 6. 计算机原理 java学习之路 1. 工具 ...