使用 Jekyll 插件在 _site 内生成文件

2024-02-26

我编写了一个 Jekyll 插件“Tags”,它生成一个文件并返回该文件的链接字符串。

一切都很好,但如果我将该文件直接写入 _site 文件夹,它就会被删除。如果我将该文件放在 _site 文件夹之外,则它不会在 _site 内生成。

我应该在哪里以及如何添加我的文件,以便它在 _site 文件夹中可用?


你应该使用类Page为此并调用方法render and write.

这是生成的示例存档页面 http://izidor.matusov.sk/archive.html在我的博客上:

module Jekyll
  class ArchiveIndex < Page
    def initialize(site, base, dir, periods)
      @site = site
      @base = base
      @dir = dir
      @name = 'archive.html'
      self.process(@name)
      self.read_yaml(File.join(base, '_layouts'), 'archive_index.html')
      self.data['periods'] = periods
    end   
  end

  class ArchiveGenerator < Generator
    priority :low

    def generate(site)
        periods = site.posts.reverse.group_by{ |c| {"month" => Date::MONTHNAMES[c.date.month], "year" => c.date.year} }

        index = ArchiveIndex.new(site, site.source, '/', periods)
        index.render(site.layouts, site.site_payload)
        index.write(site.dest)
        site.pages << index
    end
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Jekyll 插件在 _site 内生成文件 的相关文章

  • 与heroku配合使用的统计引擎

    我有一个 Heroku Rails 应用程序 需要处理一些重要的数字 并且我需要使用像 R 这样的统计库 更糟糕的是 MatLab 我正在寻找以下任何问题的答案 是否有不需要二进制文件的功能齐全的统计包 GEM 是否可以将 R 二进制文件作
  • 获取特定时区一天开始时的时间对象

    如何获取代表给定时区特定日期的一天开始时间的 ruby Time 对象 date Date today date to time in time zone America New York beginning of day 目前输出 gt
  • Rails 未定义“2013-03-06”的方法“strftime”:字符串

    我收到错误 2013 03 06 的未定义方法 strftime 字符串 当尝试使用 strftime 从字符串 2013 03 06 正常显示日期 2013 年 6 月星期日 3 日或类似的日期 时 在我的 index html erb
  • 如何使用 Nokogiri 将带有 & 符号的字符串放入 xml 文件中?

    我试图在 XML 文件中包含图像的 URL 并且 URL 查询字符串中的 符号被删除 bgdoc xpath Master each do elem part elem xpath Part inner text image imageha
  • Rails current_path 助手?

    我正在开发具有以下路由条件的 Rails 3 2 应用程序 scope locale locale de en do resources categories only index show get newest index as newe
  • 机架测试失败:JSON 请求尚未响应

    我正在尝试为我的 Ruby 项目创建一个 JSON API 如下所示Ticketee https github com rails3book ticketeeYehuda Katz 书中提供的示例Rails 3 实际应用 http www
  • 在 Ruby 中的文件中查找并替换

    我有一个用 ruby 编写的小程序 我在这里找到了一段很好的代码 用于查找和替换文件中的某些内容 但它似乎不起作用 这是代码 usr bin env ruby DOC test txt FIND M SEP n make substitut
  • 检查数组元素的大小是否相同

    有没有最好 最有效的方法来检查数组元素的大小是否相同 1 2 3 4 5 gt false 1 2 3 4 5 6 gt true 我有什么 def element of same size arr arr map size uniq si
  • 将表列添加到 Group by 子句 - Ruby on Rails - Postgresql

    我正在尝试使用 Heroku 显然 Postgresql 对于聚合函数来说比 SQL 严格得多 当我推送到 Heroku 时 我收到一条错误消息 内容如下 关于另一个问题 https stackoverflow com questions
  • Rails has_many 通过带有附加属性的表单

    我正在尝试创建一个表单 允许用户向活动添加 编辑 删除位置 我目前找到的所有例子要么是HABTM表单 不允许编辑存在于表单中的附加属性 has many through配置 或仅列出现有关系 下面的图片显示了我想要完成的任务 该列表将显示每
  • Ruby 多维数组

    也许只是我缺乏在这里找到东西的能力 这就是问题所在 但我找不到任何关于如何在 Ruby 中创建多维数组的信息 有人可以给我一个如何做的例子吗 严格来说 在 Ruby 中创建多维数组是不可能的 但是可以将一个数组放入另一个数组中 这与多维数组
  • 当你不继承Rails 4中的ApplicationController时,如何包含respond_to?

    我在 Rails 4 1 2 应用程序中有一个 API 控制器 它不继承自应用程序控制器 我试图包含 respond to 方法并得到一个方法未定义的错误 所以然后我需要在顶部的操作包 如下所示 require action pack cl
  • 是否可以在 proc 中查看 ruby​​ 代码?

    p Proc new puts ok 是否可以在过程中看到 ruby 代码 inspect返回内存位置 puts p inspect
  • 字符串被两个不同的分隔符分割

    我有这样的字符串 some dasd dasd dasdas dasdas dasd das dsad 我需要用两个不同的符号将字符串拆分为数组 and 所以我想得到数组 some dasd dasd dasdas dasdas dasd
  • 回形针:从带扩展名的 url 上传

    我想通过 S3 存储上的回形针从 URL 上传图片 我与 Ruby 1 9 3 Rails 3 2 6 paperclip 3 1 3 aws sdk 1 3 9 我有我的图片模型 class Asset has attached file
  • 在所有延迟的作业之前挂钩

    是否可以在所有delayed job任务之前运行一个方法 基本上 我们试图确保每台运行delayed job的服务器都有我们代码的最新实例 因此我们希望运行一个方法来在每个作业运行之前检查这一点 我们已经有了 check 方法并在其他地方使
  • 如何找到 Ruby 应用程序中的性能瓶颈?

    我编写了一个 Ruby 应用程序 它可以解析来自不同格式 html xml 和 csv 文件的源的大量数据 如何找出代码的哪些区域花费时间最长 有没有关于如何提高 Ruby 应用程序性能的好资源 或者您是否有始终遵循的性能编码标准 例如 您
  • sinatra 应用程序在运行时无法启动

    我使用的是 Ubuntu 10 10 Ruby 1 9 2 无论我做什么 我都无法在本地计算机上启动 sinatra 应用程序 你好 rb require sinatra get do Hello World end ruby hello
  • 如何将 STDOUT 捕获到字符串?

    puts hi puts bye 我想存储到目前为止代码的 STDOUT 在本例中 hi nbye 到变量中说 结果 并打印它 puts result 我这样做的原因是我已将 R 代码集成到我的 Ruby 代码中 当 R 代码运行时 其输出
  • 不将所需的文件包含到 vim 全方位补全中

    如果我尝试在具有 require xxx 语句的 Ruby 文件中自动完成 它会开始扫描所需的所有文件 以及所需文件所需的文件 它每次都会这样做 是否可以使 vim 自动完成功能不扫描所需文件或仅扫描特定路径中的文件 例如仅 app 以下之

随机推荐

  • 捕获 java.lang.OutOfMemoryError?

    文档 http java sun com javase 6 docs api java lang Error html for java lang Error says Error 是 Throwable 的子类 表示合理的应用程序不应尝试
  • SQL 比较和空值的问题

    我有一个更新查询 当一个表中的值与另一表中的字段不匹配时 该查询会更新一个表中的字段 UPDATE table1 SET a field1 b field3 FROM table1 a table2 b WHERE a field2 b f
  • 开发环境与测试和生产环境不同?

    如果开发人员想要实现sql2008开发环境 但我们仍然被迫使用sql2000测试和sql2000生产环境 你会怎么说 在开发服务器上使用sql2008会有什么问题吗 当然 您需要知道哪些功能您无法使用 因此将工作从 sql2008 服务器迁
  • 扑。在非常大的 ListView 上设置 ListView 初始位置

    我想创建一个几乎无限的元素列表 但我想将列表的初始位置设置为某个特定元素 像这样的图片 其中索引 0 是初始位置 并且该列表可能会也可能不会在两个方向上延伸很长 我可以创建我的元素 例如 Widget build tile int i re
  • 文本装饰:无不适用于 ul

    我看到了很多与这个主题相关的问题 但没有一个回答我的问题 我正在为一个网站制作一个侧边栏 我试图在与侧边栏宽度相同的框中创建链接 只有一点填充 也许是10 15px 并且每个链接之间有一点点空间 也许 3 像素 但我似乎无法得到 text
  • 如何更改gridview所选项目的背景颜色?

    如何在 Asp net Web 应用程序中更改 gridview 所选项目的背景颜色 您可以在 GridView 标记下的 aspx 页面中执行此操作
  • React-router URL 在刷新或手动写入时不起作用

    我正在使用 React router 当我单击链接按钮时它工作正常 但是当我刷新网页时它不会加载我想要的内容 例如 我在localhost joblist一切都很好 因为我按链接到达这里 但if我刷新我得到的网页 Cannot GET jo
  • Node.js - 启动进程(firebase 模拟器)并读取其输出

    我想在 Jest 测试之前启动 firebase 模拟器 执行此操作 但以编程方式执行 E my projct gt firebase emulators start only firestore i emulators Starting
  • 字符串中的动态 t-sql 引号

    我在存储过程中有以下内容 DECLARE new column name varchar 9 DECLARE table name varchar 16 DECLARE SQLString nvarchar 2000 SET new col
  • 如何使用 Play 2.0 定义标签?

    关于 Play 2 0 模板引擎的文档并不多 如何使用 Scala 模板创建标签 play 2 0 中的模板引擎直接来自 play 1 0 scala 模块 如果您仍然想知道像 Scala 这样的函数式语言能带来什么好处 那么这肯定是它的亮
  • Ruby 正则表达式:即使没有 m 修饰符,^ 也匹配行首?

    红宝石 1 8 7 我使用带有 的正则表达式来匹配字符串开头的模式 问题是 如果在开始处找到该模式any line在字符串中它仍然匹配 如果我使用 m 修饰符 这是我期望的行为 但我没有 irb irb main 001 0 gt str
  • 多个按顺序的 HTTP POST

    我有一个正在开发的应用程序 我需要按顺序执行 3 个 HTTP POST 实现这一点的最佳方法是什么 我是不是该 使每个 HTTP Post 都有自己的异步类 并以菊花链方式连接异步类 即从第一个异步的 onPostExecute 调用第二
  • 空指针测试性能

    C 中测试引用类型变量是否为空指针的性能如何 like if x null 与测试小于零的整数甚至布尔值是否为假相比 是否还有其他关于此类的问题空指针测试 例如是产生的垃圾 我对游戏的每一帧进行了数百次这样的测试 我想知道这些测试是否会导致
  • 如何在没有 $this 的情况下处理类变量?

    我正在制作一个带有 OOP 概念的 WordPress 插件 但我面临一些有线问题 首先我有一个main plugin php文件 我有这样的课程 include once plugin dir path FILE something ph
  • 如何无异常地检查文件是否存在?

    如何在不使用try https docs python org 3 6 reference compound stmts html try陈述 如果您检查的原因是这样您可以执行类似的操作if file exists open it 使用更安
  • pandas 按大写字母排序

    运行这段代码 df pd DataFrame ADc Abc AEc columns Test index 0 1 2 df sort columns Test axis 0 ascending False inplace True 返回排
  • C++开源项目推荐[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • ActionBar 中操作/菜单项的动态控制

    有没有办法动态禁用 隐藏 添加 删除 ActionBar 中的菜单项 例如 在用户在活动中填写有效的电话号码之前 操作将被禁用 我在 ActionBar API 中没有找到任何有用的方法 唯一的方法似乎是在 ActionBar 中使用自定义
  • 如何使用imagick的writeImage()函数?

    如果我将脚本保存在与正在操作的图像相同的目录中 则此方法有效 并且结果图像 foo jpg 也在同一位置生成 但是 如果脚本位于一个位置 而我希望使用的图像位于另一个位置 而我希望保存缩略图的位置位于其他位置 那么如何指定这些路径呢 做这样
  • 使用 Jekyll 插件在 _site 内生成文件

    我编写了一个 Jekyll 插件 Tags 它生成一个文件并返回该文件的链接字符串 一切都很好 但如果我将该文件直接写入 site 文件夹 它就会被删除 如果我将该文件放在 site 文件夹之外 则它不会在 site 内生成 我应该在哪里以