Storybook AMP Html

用于 AMP Html 的 Storybook 插件。允许在您的故事中显示使用 React 生成的 AMP Html 组件。

在 Github 上查看

Storybook AMP Html · npm 包

用于 AMP (加速移动页面) 的 Storybook 插件。允许在您的故事中显示使用 React 生成的AMP Html 组件。

Screenshot

功能

  • 在每个故事中交付 SSR 生成的输出代码(AMP 就绪)。
  • 适用于 AMP 网站AMP 邮件AMP 广告
  • 实时 AMP 验证。
  • 添加插件面板,还用于验证故事(使用在线 AMP 验证器)并查看输出代码。
  • 使用自定义渲染函数支持样式化组件

演示

入门

安装

npm install -D storybook-amp

配置

接下来,将.storybook/main.js更新为以下内容

// .storybook/main.js

module.exports = {
  stories: [
    // ...
  ],
  addons: [
    // Other Storybook addons

    'storybook-amp', // 👈 The addon registered here
  ],
};

使用

要设置自定义设置,请使用amp参数。

// .storybook/preview.js

const scripts = '';
const styles = '';

export const parameters = {
  // Other defined parameters

  amp: {              // 👈 The addon parameters here
    isEnabled: true,  // Enable the addon, false by default (boolean)
    scripts,          // Global scripts to add, empty by default (string)
    styles,           // Custom css styles, empty by default (string)
  },
};

您可以使用amp参数单独覆盖每个故事上的设置

// Story example

export default {
  title: "Components/amp-youtube",
  parameters: {
    amp: {
      scripts: // 👈 Script needed by the story
        `<script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"></script>`,
    },
  },
};

export const Story = (args) => (
  <amp-youtube
    width="480"
    height="270"
    layout="responsive"
    data-videoid='lBTCB7yLs8Y'
  ></amp-youtube>
)

示例

路线图

  • 使其与Chromatic 插件兼容
  • 使其与辅助功能插件兼容
  • 在与文档插件一起使用时调整 UI 细节
  • 用于AMP 广告AMP 邮件的更多工具
  • 添加更多示例测试
  • 添加测试
  • 使 CI 集成成为可能

贡献

Storybook AMP Html 插件是一个开源项目。我们致力于完全透明的开发流程,并高度感谢任何贡献。无论您是帮助我们修复错误、提出新功能、改进我们的文档还是传播这个消息,我们都希望您成为社区的一员。

请参考我们的 贡献指南行为准则

许可证

Storybook AMP Html 插件在 MIT 许可下获得许可 - 有关详细信息,请参见 许可证 文件。

致谢

最初由 onWidget 创建,并由一个由 贡献者 构成的社区维护。

链接