具有多个图像目录的静态博客生成器

时间:2015-06-23 20:06:34

标签: jekyll static-site

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

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

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

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

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

到目前为止,我已经检查了jekyll和鹈鹕,并阅读了其他几个,但我没有找到任何解决方案。我知道,通常情况下,你会有很多好主意要检查。

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

4 个答案:

答案 0 :(得分:2)

Hugo可以做到这一点。 cd清空您选择的文件夹 create the scaffolding

hugo new site .

之后,您可以在contentput your content,例如:

content
  post
    alpha
      index.md
      1.jpg
      2.jpg
    bravo
      index.md
      1.jpg
      2.jpg

构建网站:

hugo

结果在public文件夹中生成:

public
  post
    alpha
      index.html
      1.jpg
      2.jpg
    bravo
      index.html
      1.jpg
      2.jpg

答案 1 :(得分:1)

Jekyll没有明确强制执行关于将资源放在何处的规则,除了 Jekyll不会直接将文件复制到以下划线开头的文件夹。虽然通常的做法是将所有图像放在\assets\目录中,但您可以将其放在_posts\目录以外的任何其他位置,这就是您想要的。

这是默认行为,但有办法解决这个问题:

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

    将所有帖子放在默认的_posts文件夹中以及图像(这将复制所有文件而不使用任何YAML前端,并使用YAML前端对所有文件进行预处理)。但是,您在Jekyll中自动发布的任何其他功能都不再有效。这可能是也可能不是问题。

    1. <强>插件

      • Here's a plugin (link to SO question)专门用于在post目录中制作Jekyll复制文件。如果您确实使用了这个,那么您肯定只需编写以下Markdown,它就可以相对于帖子进行链接。 :

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

      • Jekyll asset pipeline是另一个处理CSS和JS的插件,可能是你想要与插件1一起使用的。

    2. 请注意,GitHub Pages网站生成不支持使用第三方插件,这意味着您必须在另一个分支或本地生成它们,然后将静态HTML文件推送到主。如果您计划使用GitHub页面托管,这可能是一个问题,否则您自己的服务器实例上就可以了。

答案 2 :(得分:0)

我还希望我的帖子“自包含”,文本内容和图片资源位于一个文件夹中。我正在使用杰基尔。

我已经通过a Pull Request on the great jekyll-picture plugin实现了这一目标。

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

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

答案 3 :(得分:0)

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