如何设置Eleventy(11ty)以将工作静态站点输出到_site文件夹?
在过去的几年里,我一直在使用Hexo.io生成我的静态站点。 当我运行“hexog”时,它会输出一个静态站点,我可以在没有服务器的情况下在本地打开它。 这就是我想要的 在将我的站点转换为11ty之后,当我使用本地开发服务器时,它工作得非常好。 但是当我打开_site>index.html时,它无法正确呈现。 缺少所有样式、js和图像,因为它们都以“/”开头 我觉得我错过了一些明显的东西。 必须有一种方法设置11ty以输出工作静态站点 我一直在研究11ty文档和在线,看看是否还有其他人有这个问题。 大多数情况下,我看到人们希望部署到子目录或使用Netlify之类的东西。 我宁愿避免那样 我尝试过使用URL过滤器,该过滤器使用pathPrefix输出相对路径。 但似乎没有删除“/”的路径前缀 如有任何建议,将不胜感激。如何设置Eleventy(11ty)以将工作静态站点输出到_site文件夹?,eleventy,Eleventy,在过去的几年里,我一直在使用Hexo.io生成我的静态站点。 当我运行“hexog”时,它会输出一个静态站点,我可以在没有服务器的情况下在本地打开它。 这就是我想要的 在将我的站点转换为11ty之后,当我使用本地开发服务器时,它工作得非常好。 但是当我打开_site>index.html时,它无法正确呈现。 缺少所有样式、js和图像,因为它们都以“/”开头 我觉得我错过了一些明显的东西。 必须有一种方法设置11ty以输出工作静态站点 我一直在研究11ty文档和在线,看看是否还有其他人有这个问题。
谢谢。我不确定有没有简单的方法;我曾经在一个杰基尔论坛上问过同样的问题,但没有人知道答案 我认为难点在于文件夹结构,因为foo.com/bar在Eleventy中具有底层结构bar/index.htm(当脱机站点需要的是bar.htm时)
当我研究这个问题时,Hexo似乎是唯一具有脱机功能的生成器。确保正确配置11ty。然后还要记住,您需要为资产设置传递复制
module.exports = function (eleventyConfig) {
// NOTE: unlike in hugo, not the content of the assets folder, but the asset folder itself (with it's subfolders) will be copied...
eleventyConfig.addPassthroughCopy("src/assets/**/!(*.scss)");
eleventyConfig.addLayoutAlias('default', 'base.njk')
eleventyConfig.setFrontMatterParsingOptions({ excerpt: true, excerpt_separator: '---' });
return {
passthroughFileCopy: true,
dataTemplateEngine: 'njk',
htmlTemplateEngine: "njk",
markdownTemplateEngine: "njk",
templateFormats: [
"html",
"njk",
"ejs",
"md"
],
dir: {
input: "src",
output: "_site",
includes: "includes",
layouts: "includes/layouts",
data: "data",
},
pathPrefix: "/abc"
};
}
非常感谢。我确实计划将网站上传到Github页面。但是,我希望将源文件和生产静态文件分开。这就是我使用Hexo的方式。请检查任何现有的eleventy模板,因为它可以工作。至于设置,有一种简单的方法来配置目录。有了11ty,你就有可能对一切都进行微调,但这会耗费你的时间。如果您不关心HEXO强加给您的目录和本地资产文件夹结构,那么我会选择HEXO。雨果也很棒,如果你选择一个现有的主题…没有问题。我没有意识到我可以上传网站文件夹的内容而不需要修改。一切正常。