Deployment 不使用Web服务器部署Jekyll项目

Deployment 不使用Web服务器部署Jekyll项目,deployment,webserver,jekyll,Deployment,Webserver,Jekyll,我用Jekyll创建了一个博客,现在我需要部署它并将它发送给需要在没有web服务器的情况下导航的人。因此,我从终端输入了jekyll build,并在\u站点中获得编译后的项目。但是现在,如果我打开index.html,它不会得到资产(CSS)。在head标签中有/css/main.css,而我需要css/main.css(没有初始斜杠)。我不想手动更改url,因此我询问是否有方法部署Jakyll项目,以便在本地显示而不使用Web服务器。只有在您知道它将部署在文件系统中的何处时才有可能 示例:

我用Jekyll创建了一个博客,现在我需要部署它并将它发送给需要在没有web服务器的情况下导航的人。因此,我从终端输入了
jekyll build
,并在
\u站点
中获得编译后的项目。但是现在,如果我打开index.html,它不会得到资产(CSS)。在head标签中有
/css/main.css
,而我需要
css/main.css
(没有初始斜杠)。我不想手动更改url,因此我询问是否有方法部署Jakyll项目,以便在本地显示而不使用Web服务器。

只有在您知道它将部署在文件系统中的何处时才有可能

示例:

Linux 对于
/home/user/www
中的部署,请进入
\u config.yml
并设置
baseurl:/home/user/www

窗户 对于
C:/Users/Toto/www
中的部署,进入
\u config.yml
并设置
baseurl:/C:/Users/Toto/www

部署意味着在目标文件夹中复制
生成的文件
,而不是复制
\u站点
文件夹

执行
jekyll构建
,并向您发送带有部署说明的文件

编辑:

这个答案是给你的,不是给客户的

由于您的客户端肯定在运行windows,您只需设置
baseurl:/C://\u站点
,压缩
\u站点
文件夹,并要求客户端在
C:///code>中解压缩即可


客户端只需单击
C://\u site/index.html
即可在其默认浏览器中启动站点。

将资产目录更改为相对路径,例如:资产/css/。 这将在服务器上或本地工作

设置一个页面变量来表示Yaml前端中的嵌套。然后,将该变量附加到资产中

---
layout: default
title: Nested Page
path: ../
---

---
布局:默认值
标题:根级别页面
路径:“
---

那么您正在寻找一种在没有任何Web服务器的情况下为静态文件提供服务的方法?我不认为这是特定于Jekyll的,如果不更改url(因为您提到您不希望这样),您可以使用不同的本地Web服务器来提供文件,就像这样:这样您的客户端就不需要安装Jekyll,或者使用免费的Web主机(如000)或github让他们看到(但这是“公共的”)。如果这是可行的,我会发布一个答案。我感谢你的贡献,但我想知道一种不用手工编辑的方法(为了避免客户的复杂化)
---
layout: default
title: Root level page
path: ""
---

<link rel="stylesheet" href="{{ page.path }}assets/stylesheets/style.css">