【问题标题】:Creating two blogs on same website (Jekyll GitHub) without altering layout/formatting在同一个网站(Jekyll GitHub)上创建两个博客而不改变布局/格式
【发布时间】:2020-05-07 08:13:02
【问题描述】:

我最近尝试使用 Jekyll GitHub 模板 here 创建一个网站。我希望对该模板进行的一项重大更改是在该模板的“博客”选项卡中提供两个“博客”格式,具体显示为here

我(在某种程度上)成功地在我的网站上创建了两个博客,并命名了相关的选项卡 (Media) 和 (Blog)。我通过重新组织文件结构来实现这一点,分别有一个“media”文件夹和一个“blog”文件夹,每个文件夹都包含一个_posts文件夹和index.html文件。现在,当我在_posts 文件夹中添加.md 文件时,这些帖子似乎被添加到了正确的选项卡(MediaBlog)。

尽管该功能有效,但与 original template blog 中的样式相比,BlogMedia 选项卡都失去了美感。即,1)顶部的横幅图像现在消失了; 2) 文本格式的标题在一行,然后是“漂亮”格式的日期(灰色,格式为29 Aug 2016)现在是不太吸引人的项目符号格式,日期在前,格式为@987654337 @; 3)介绍性摘录文本(在示例中:“壶式蒸馏器是一种用于蒸馏威士忌或白兰地等烈酒的蒸馏器。直接加热装有洗涤液(用于威士忌)或葡萄酒(用于白兰地)的壶.") 现在不见了。

我不清楚为什么我将_posts 文件夹分成两个单独的文件夹似乎会导致这些不需要的布局副作用。由于所有这三个布局问题都同时发生了变化,我假设它们都可以在同一个解决方案中得到解决。无论这是否属实,有关如何解决这些布局问题的任何建议都可能非常有帮助。感谢您分享任何想法!

【问题讨论】:

    标签: github jekyll github-pages blogs posts


    【解决方案1】:

    您已从 _config.yml 中删除了 posts 集合,该集合为所有帖子设置了默认 feature_image。除非您将其添加回或在每个单独的帖子中包含覆盖,否则它不会显示标题(它可能会或可能不会影响其余样式):

    collections:
      media:
        title: Media # Needed for Siteleaf
        output: true
        description: "Recent discussions with the media." # The post list page content
        feature_text: |
          Sharing our motivations and  
          opinions with the media.
        feature_image: "https://picsum.photos/2560/600?image=866"
    

    您实际上并没有在blog/index.htmlmedia/index.html 中使用媒体集合,您最终使用的是post.categories 进行过滤,一旦您开始滚动,这仍然会导致一些奇怪的分页。

    您可能希望考虑使用单独的集合,然后使用分页器 v2 (https://github.com/sverrirs/jekyll-paginate-v2/blob/master/README-GENERATOR.md) 预先构建您的网站,这将允许对不同集合进行分页。

    编辑 2020-01-23

    重新审视您的存储库,您仍然只有一个(帖子)集合。因此,读取feature_* 的逻辑正在共享。如果您查看包含 site_feature.html,您可以看到 feature_image 是如何从集合中解析出来的。

    {% assign collectiondata = site.collections | where: "label", page.collectionpage | first %}
    

    这就是为什么博客和媒体都有第二张图片?image=213。你的blog.htmlmedia.html 还有前面的collectionpage: post

    我仍然认为你正在走下一个滑坡,一旦你通过这种方式获得越来越多的帖子,这将导致事情无法完全按照你的意愿工作。

    【讨论】:

    • 谢谢@kendavidson。我尝试了不同的config.yml 文件更改。我当前的config.yml 现在有两个posts,分别用于“博客”和“媒体”选项卡,每个选项卡都有自己的“描述”和“功能文本”字段。在 blog/index.html 和 media/index.html 文件中,我现在都设置为 layout: postcollection page: posts。这些组合成功地将“媒体”和“博客”帖子分开。但是,出于某种原因,“媒体”选项卡与“博客”选项卡具有相同的横幅图像和“feature_text”。不知道为什么config.yml 没有正确阅读这两个帖子。
    • 谢谢@kendavidson。而且我也不确定为什么config.yml文件的posts下的description:字段也没有被读取。至少,当我查看网站的“博客”和“媒体”选项卡时,这两种情况都没有描述。尽管feature_textfeature_image 已被读取(尽管它只正确读取“博客”,然后错误地复制到“媒体”,但仅用于“博客”)。很抱歉在这里跟进。我正在考虑您将posts 保留在config.yml 中的第一个主要建议。再次感谢。
    • 感谢@kendavidson 的编辑。除了你的声明,我还看到了 Jekyll GitHub 中关于双博客的其他警告,以及在这种情况下分页是多么困难。我决定保留一个博客部分,只使用不同的类别标签在视觉上区分“媒体”和“博客”。在我的时间范围内,这似乎更具可持续性和可行性。再次感谢您的反馈;我能够学到一些新东西。
    猜你喜欢
    • 2015-11-01
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 2017-11-19
    • 1970-01-01
    相关资源
    最近更新 更多