65 jekyll
我想知道其他人在使用Jekyll时如何为个别帖子组织资产.例如,如果帖子有图像,您只是将其转储到共享图像文件夹中吗?我真的不喜欢这样做的想法 - 这意味着当我认为它们应该配对时,图像与帖子完全分离.
小智 22
我写了一个插件,让我轻松地在子目录中组织资产:https:
//github.com/samrayner/jekyll-asset-path-plugin
{% asset_path my-image.png %}
Run Code Online (Sandbox Code Playgroud)
在2013-01-01之后 - 标题后会输出:
/assets/posts/post-title/my-image.png
Run Code Online (Sandbox Code Playgroud)
在页面my-first-page中输出:
/assets/my-first-page/my-image.png
Run Code Online (Sandbox Code Playgroud)
Ala*_*ith 19
我更喜欢将图像视为零个或多个页面中包含的独立资产.大多数情况下,我的图像显示在一个页面中.有时我想将它们放在多个页面中,而在其他情况下我根本不链接图像.如果您的工作流程是将每个图像放在带有帖子的目录中,则找到它们开始需要大量搜索,并且您必须为不属于特定帖子的图像提供不同的内容.
我使用的方法是在光谱的另一面.我有一个图像目录(由"/ images"提供),我的100%图像都存放在那里.这样做的好处是:
当我在帖子中添加图像时,很容易知道要使用的路径.总是如此:
/images/{image-name}
Run Code Online (Sandbox Code Playgroud)
例如:http://alanwsmith.com/i/aws-20111017--0906-02.这使得编写插件成为可能,因此您只需要输入图像名称,并自动填写已知路径的其余部分.
使用像Photo Mechanic这样的应用程序,可以非常轻松地在本地浏览单个目录并查看每个图像.如果我想在另一个页面上包含图像,这会大大减少查找它的时间.
如果我想将图像发送给某人而不将其实际包含在页面中(即向他们发送直接链接到图像文件),则没有单独的位置/过程.我只是将图像抛出标准目录并发送直接链接.
如果你想要更高级一点,将所有图像保存在一个目录中也可以进行一些很好的调整.例如,即使我的图像的URL以"/ images"开头,图像实际上也存储在jekyll使用的目录之外的目录中.就我而言,源代码树的顶部如下所示:
./html
./source-files
./image-files
Run Code Online (Sandbox Code Playgroud)
我的所有图像都存储在"./image-files"目录中.在我的apache配置中,我设置了一个别名,以便URL"/ images"指向"./image-files"目录.例如:
Alias /images /webroot/image-files
Run Code Online (Sandbox Code Playgroud)
当我运行jekyll时,它会处理"./source-files"中的所有内容并将其放入"./html"中.因为所有图像都在这两个目录之外,所以jekyll永远不会看到/接触它们.随着图像库的增长,这将有助于加快速度,并防止大量不必要的文件复制.
在Apache中我喜欢的另一个调整是:
Options +MultiViews
Run Code Online (Sandbox Code Playgroud)
这使您可以调用图像而无需使用文件扩展名(例如,没有'.jpg','.png'等...).您可以在我上面提供的示例链接中看到.性能并不重要.我只是喜欢它的外观,它使我免于每次调用图像时都必须输入扩展名.
MultiViews还可以将一种格式的图像替换为另一种格式,而无需重新编码.例如,如果删除"some-image.gif"并将其替换为"some-image.png",则不必触及任何HTML.它仍将以"/ images/some-image"形式提供.需要做出这样的改变可能非常罕见.我认为这是一件有趣的事情.
最后,您可以做出关于允许或禁止浏览图像目录的单一决定.就个人而言,我只希望我的图像显示在我放置它们的位置.所以,我已经将我的images目录中的.htaccess文件设置为:
Options -Indexes
Run Code Online (Sandbox Code Playgroud)
如果您打算在拥有数千或数万页和图像的网站上工作,这可能无法扩展.对于正常大小的个人网站,我发现这种方法可以使维护图像更容易.
就像你一样,我真的很讨厌将所有图像放在一个共享文件夹中.
大多数(如果不是全部)我的图像在一个帖子中都很有用,并且将它们与Markdown文件放在一起对于帖子管理来说真的更好:
/_posts/在一个步骤中将新帖子作为单个子文件夹删除,而无需将Markdown放在一个位置而将图像放在另一个位置/assets/文件夹中找到正确的图像,它位于Markdown文件附近我试着将这个用于我的博客(示例帖子在这里).
对于响应式图像,我使用了Jekyll Picture Tag插件,但我不得不分叉,因为不接受处理这些路径的Pull Request.
现在Jekyll 3就在那里,我希望它可以让我们在一个帖子文件夹和一个文件夹中使用图像,按顺序/assets/查找两者中标记的图像.
| 归档时间: |
|
| 查看次数: |
15453 次 |
| 最近记录: |