FFF - 通用 & 高扩展性的 Front Matter 参数格式

查看 19|回复 0
作者:M9l7chlLGv   
文档 | GitHub
感觉各家 Front Matter 都太过简单——所以我写了一个足够复杂的,就是这样。
特点
命名我参考了 microformats2 和 JSON Feed,同时用下划线作为分隔符(而不是在 YAML 看起来很别扭的 camelCase ),看起来会规整一些。
与 microformats2 兼容
例如 bookmark_of, like_of, repost_of, in_reply_to 四种提及类型... 懒得写了,可以在文档里看
flags
立 flag 灵感源于 chrome://flags。可以减少需要额外定义的变量:
# before
draft: true
visibility: 'unlisted'
# after
flags:
  - draft
  - unlisted
对象媒体
为媒体文件如 image 提供了接近 HTML 的扩展性,同时也支持仅 src 的简洁格式。
# string
image: 'https://fff.local/images/foo.avif'
# object
image:
  src: 'https://fff.local/images/foo.avif'
  alt: 'lorem ipsum'
  figcaption: 'lorem ipsum'
  sources:
    - srcset: 'https://fff.local/images/foo444.avif'
      media: '(min-width:444px)'
    - srcset: 'https://fff.local/images/foo666.avif'
      media: '(min-width:666px)'

fff-flavored-frontmatter
类型定义和一些工具函数,比如帖文类型发现和转换为对应的 JSON Feed 对象
remark-fff
Remark 插件,用于将其他 SSG 的 Front Matter 转换为 FFF
目前支持 MDsveX (Svelte / SvelteKit) 和 Astro,之后会兼容更多环境
markdown-it-fff
上面插件的 Markdown-It 版本,需要配合 @mdit-vue/plugin-frontmatter 食用
indiekit-preset-fff
Indiekit 的 FFF 预设,默认 postTypes 为 Urara
您需要登录后才可以回帖 登录 | 立即注册

返回顶部