x 调试器
本模块提供模板供使用 o-取用器. 茶叶机用于呈现内容.
安装
npm install --save @financial-times/x-teaser @financial-times/o-teaser
这个 x-engine 模块用于将您选择的运行时间注入组件。 请读一下 x-engine 文档,如果您正在消费 x- 在应用程序中首次使用组件.
概念
特征
由于取笑器非常复杂,有上千个可能的通相被分解成逻辑组特征. 它们是:
- Meta, 标题上的内容分类
- 标题,内容标题
- Standfirst,一个字幕或内容描述
- 内容公布的状况、日期或时间
- 相关链接, 相关内容链接的补充列表
- 图像, 内容的海报图像
- 标题shot, 内容作者在其列中发布内容时的图像
- 视频,用于视频内容,可以播放视频
- 自定义槽, 插入自定义组件或标记的自由槽
- 促销内容,一个插入不同类型促销内容的插槽,例如但不仅限于:剪辑,交互式图形等.

指标
茶叶显示器 内容 但是,我们的内容项目也带有进一步描述它们的暗示和特征。 内容项目只能提供给保费订户,被排除在联合许可证之外,或选择作为编辑的选择。 这种额外数据可能并不总是能产生可见的输出,也可能不是所有用户都能看到. 然而,除了内容本身之外,它们还可以用来作出决定.
规则
因为有这么多 笑话属性 某些选项可能冲突。 在这种情况下,一种选择必须优先于另一种选择。 这些坐位通过使用 规则. 规则集是按先后顺序执行一系列条件的函数. 当一个条件被评估为真实时,必须返回.
例如,为了决定要显示的媒体类型(视频、头像或图像),我们定义了以下规则:
const media = (props) => {
if (props.showVideo && props.video && props.video.url) {
return 'video'
}
if (props.showHeadshot && props.headshot && props.headshot.url && props.indicators.isColumn) {
return 'headshot'
}
if (props.showImage && props.image && props.image.url) {
return 'image'
}
}
使用量
本单元提供的组件都是需要绘制地图的功能 笑话属性。它们可用于香草JavaScript或JSX(如果你不熟悉检查) WTF为JSX (第一编) 例如,如果您正在使用 React 写入您的应用程序,您可以使用这样的组件 :
import React from 'react'
import { Teaser } from '@financial-times/x-teaser'
// A == B == C
const a = Teaser(props)
const b = <Teaser {...props} />
const c = React.createElement(Teaser, props)
全体 x- 组件被设计为与各种运行时间相兼容,而不仅仅是回放. 看看这个 x-engine 建议的图书馆和框架清单的文档.
儿童成分
用于建造完整的取笑器的所有分部件都可以单独进口和使用。 每个组件都可以得到一整套 笑话属性。 。 。 .
import { Title, Standfirst } from '@financial-times/x-teaser'
const TeaserIsh = (title, standfirst) => (
<div className="teaser-ish">
<Title title={title} />
<Standfirst standfirst={standfirst} />
</div>
)
类型脚本
包含一个 TypeScript 定义文件,涵盖此组件预期的所有属性 。 你可以这样使用:
import { TeaserProps } from './Props'
const props: TeaserProps = {}
属性
载于 特性 记录取笑者属性,或 道具,也已被拆分为逻辑组。 没有道具是强制性的,也没有设定默认,但是 预设 用于常用组合。 在道具冲突的情况下 规则 应决定哪一个应优先。 有道具可用的TypeScript定义.
特性道具
| 特性 | 类型 | 页:1 |
showMeta | 布尔 | |
showTitle | 布尔 | |
showTitlePrefix | 布尔 | |
showStandfirst | 布尔 | |
showPremiumLabel | 布尔 | |
showExclusiveLabel | 布尔 | |
showStatus | 布尔 | |
showImage | 布尔 | |
showByline | 布尔 | 领先于头部射击 |
showBylineHeadshot | 布尔 | |
showHeadshot | 布尔 | 优于图像 |
showVideo | 布尔 | 优于图像或头照 |
showGuidance | 布尔 | 显示视频字幕指导 |
showRelatedLinks | 布尔 | |
showCustomSlot | 布尔 | |
showPromotionalContent | 布尔 | |
通用道具
| 财产 | 类型 | 页:1 |
id | 字符串 | 内容 UUID |
url | 字符串 | 目录 URL |
relativeUrl | 字符串 | URL 路径, 将取消 url |
type | 字符串 | 内容类型(文章、录像等) |
indicators | 指标 | |
dataTrackable | 字符串 | 调味器的跟踪数据 |
| 财产 | 类型 | 页:1 |
metaPrefixText | 字符串 | 折旧时 metaLinks 属性,此文本不显示在标签中。 它正在逐步取消,有利于 titlePrefix,将更加省用 |
metaSuffixText | 字符串 | |
metaLink | 元链接 | 折旧 - 使用时 metaLinks 属性代替 |
metaAltLink | 元链接 | 折旧 - 使用时 metaLinks 属性代替 |
metaLinks | 组合 [字符串,字符串] | 矩阵 [linkText, relativeUrl] |
promotedPrefixText | 字符串 | 将优先于链接 |
promotedSuffixText | 字符串 | |
标题
| 财产 | 类型 | 页:1 |
title | 字符串 | |
titlePrefix | 字符串 | |
altTitle。 。 。 . | 字符串 | 用于测试内容变化 |
站起第一支持
| 财产 | 类型 | 页:1 |
standfirst | 字符串 | |
altStandfirst | 字符串 | 用于测试内容变化 |
状态支持
| 财产 | 类型 | 页:1 |
publishedDate | 字符串、 数字、 日期 | 上次公布日期 |
firstPublishedDate | 字符串、 数字、 日期 | |
useRelativeTime | 布尔 | 发布后显示时间 |
status | 字符串 | 现场博客状态 |
图像道具
| 财产 | 类型 | 页:1 |
image | 媒体 | |
imageSize | 字符串 | XS、小、中、大、XL或XXL |
imageLazyLoad | 布尔, 字符串 | 输出图像为 data-src 属性。 如果这是字符串, 它将作为类名附在图像上 . |
imageHighestQuality | 布尔 | 调用“ 质量=最高” 选项的图像服务, 只使用 XXL 图像 |
imageOptions | 对象 | 使用指定的道具调用图像服务, 优先于其他图像选项, 如 imageSize 财务报告和审定财务报表 imageHighestQuality |
副线道具
| 财产 | 类型 | 页:1 |
byline | [字符串、字符串(可选)、字符串(可选)]的组合 | [text, relativeUrl, headshotUrl][] |
头镜头道具
| 财产 | 类型 | 页:1 |
headshot | 字符串 | 只有当 showHeadshot 和专栏指标为真 |
headshotTint | 字符串 | 见 图像服务 API 使用费 |
视频道具
| 财产 | 类型 | 页:1 |
video | 媒体 | 要求数 视频 创建视频播放器 |
systemCode | 字符串 | 视界要求通过请求. |
| 应该是执行系统的 Biz-Ops 代码 | |
| 财产 | 类型 | 页:1 |
relatedLinks | 矩阵 链接 | |
背景说明
| 财产 | 类型 | 页:1 |
headlineTesting | 布尔 | 启用标题测试的替代内容 |
parentLabel | 字符串 | 当标签匹配时显示替代元链接 |
parentId | 字符串 | 当ID匹配时显示替代元链接 |
备选道具
| 财产 | 类型 | 页:1 |
layout | 字符串 | "小" "大" "英雄" 或"顶层故事" |
theme | 字符串 | 软件包主题, 设置此选项将覆盖其它任何指标 |
parentTheme | 字符串 | 从任何父软件包继承的主题 |
modifiers | 字符串 [] | 附加附加的额外修饰类名称 |
| 财产 | 类型 | 页:1 |
prefLabel | 字符串 | |
url | 字符串 | 目录 URL |
relativeUrl | 字符串 | URL 路径, 将优先于 url |
链接道具
| 财产 | 类型 | 页:1 |
id | 字符串 | 内容 UUID |
url | 字符串 | 目录 URL |
relativeUrl | 字符串 | URL 路径, 将优先于 url |
type | 字符串 | 内容类型(文章、录像等) |
title | 字符串 | |
| 财产 | 类型 | 页:1 |
url | 字符串 | 内容UUID,或对于图像, data: 或者说 blob: 網址 |
width | 数目 | |
height | 数目 | |
指标道具
| 财产 | 类型 | 页:1 |
accessLevel | 字符串 | "premium","订阅","注册",或"免费" |
isOpinion | 布尔 | |
isColumn | 布尔 | |
isPodcast | 布尔 | |
isEditorsChoice | 布尔 | |
isExclusive | 布尔 | 控制独家徽章是否显示 |
isScoop | 布尔 | |
特殊样式道具
| 财产 | 类型 | 页:1 |
allowLiveTeaserStyling | 布尔 | 应用 o-teaser--live 呼叫集装箱 时间轴: 消费者也需要在他们的应用中包括O-teaser造型. |
预设
由于最常用的配置有这么多的选项预设,这些是: -
Small
SmallHeavy
Large
Hero
HeroNarrow
HeroVideo
HeroOverlay
TopStory
TopStoryLandscape
要使用预设导入 presets 属性和取笑器组件,并将您选择的预设与其他属性相混合.
import { Teaser, presets } from '@financial-times/x-teaser'
const html = Teaser({ ...props, ...presets.Hero, showStatus: false })