0

问题:我应该使用什么软件来实现如下所述的静态站点生成器?

我正在寻找一个静态博客生成器,它...当然会生成静态博客:)。但是我需要更多的东西,比如一组不错的主题可供选择,更重要的是,一种管理资产的特定方式。

当我写文章/帖子/文本时,我会创建一个新目录。然后在里面我有一个像article.md, 或article.textile. 我也有包含代码、图片和图表等的文件。一切都在这个目录中。然后我曾经运行一个工具将其转换为html,并将html复制到一个网站进行发布。但是,图像总是存在问题。我不得不将图像复制到某个地方,例如到 Wordpress,然后更改 html 中的图像 url。这不是最好的方法。

我想要一个静态博客生成器,它可以让我保持正常的结构:每个帖子一个目录,并将目录中的所有图像保存在生成​​的结构中,这样我就可以拥有图像的相对路径。

我真的不喜欢将所有文章保存在一个全局目录中,而将所有图像保存在另一个全局目录中的想法。

到目前为止,我已经检查了 jekyll 和 pelican,并阅读了其他几个,但我还没有找到任何解决该问题的方法。我知道,像往常一样,你会有很多好主意要检查。

当然,我知道这篇文章很可能是“封闭的,没有建设性的”,或者有任何其他有趣的解释,但也许有人会在此之前发布任何解决方案。

4

4 回答 4

2

胡歌可以做到这一点。cd清空您选择的文件夹,然后 创建脚手架

hugo new site .

之后,您可以将您的内容放入content,例如:

内容
  邮政
    α
      索引.md
      1.jpg
      2.jpg
    好极了
      索引.md
      1.jpg
      2.jpg

建站:

hugo

结果在public文件夹中生成:

上市
  邮政
    α
      索引.html
      1.jpg
      2.jpg
    好极了
      索引.html
      1.jpg
      2.jpg
于 2015-06-24T01:02:00.610 回答
1

Jekyll 并没有明确规定将图片等资产放在何处,但Jekyll 不会直接将文件复制到以下划线开头的文件夹中。虽然一般做法是将所有图像放在\assets\目录中,但您可以将其放在目录以外的任何其他位置_posts\,这正是您想要的。

这是默认行为,但有一些方法可以解决这个问题:

  1. 让您的帖子位于_posts目录之外

将您的所有帖子与图像一起放在默认_posts文件夹之外(这将复制所有没有任何 YAML 前线的文件,并使用 YAML 前线预处理所有文件)。但是,您可以在 Jekyll 中自动处理帖子的任何其他功能将不再起作用。这可能是也可能不是问题。

  1. 插件

    • 这是一个专门为在 post 目录中制作 Jekyll 复制文件而编写的插件(链接到 SO question) 。如果你确实使用它,你绝对可以只写下面的 Markdown,它会像它应该的那样链接到帖子。:

      • ![Image title](my_image_filename.png)
    • Jekyll 资产路径插件是另一个功能强大的插件,它执行类似的操作,但不会将您的图像保存在一个目录中,但是它会链接相对于您的帖子标题的图像。

    • Jekyll 资产管道是另一个处理 CSS 和 JS 的插件,这可能是您希望与插件 1 一起使用的东西。

但是请注意,GitHub Pages 站点生成不支持使用第三方插件,这意味着您必须在另一个分支或本地生成它们,然后将静态 HTML 文件推送到 master。如果您打算使用 GitHub Pages 进行托管,这对您来说可能是个问题,否则您可以在自己的服务器实例上使用。

于 2015-06-26T15:11:00.943 回答
0

我还希望我的帖子是“自包含的”,文本内容和图像资产位于一个文件夹中。我正在使用 Jekyll。

我通过对 jekyll-picture 插件的 Pull Request实现了这一点。

然后,我可以使用简单的{% picture my-image.png %}语法在同一文件夹中的帖子中显示图像。

这是一个例子:https ://github.com/nhoizey/nicolas-hoizey.com/tree/master/_posts/2015/06/19-mon-jeu-esviji-integre-a-framagames

于 2015-06-24T19:25:39.230 回答
0

在我之前的回答一年后,我现在开发了一个 Jekyll 插件,可以帮助将帖子资产与 Markdown 文件一起保存,它可能会满足您的需求:https ://nhoizey.github.io/jekyll_post_files/

于 2016-06-29T14:33:14.353 回答