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

2023-02-03 10:42:17 +08:00
 M9l7chlLGv

文档 | GitHub

感觉各家 Front Matter 都太过简单——所以我写了一个足够复杂的,就是这样。

特点

命名我参考了 microformats2JSON 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

741 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/912796

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX