今天卡

日期以大数字显示,包含星期、月份和年份、年度天数和ISO周数,以及主要纪念日和当天纪念行。

日期以大数字显示,下面是星期,包含月份和年份、年度天数和ISO周数,以及主要纪念日和当天纪念行,字号大以便远距离阅读。它可填满整个屏幕或任意矩形,居中显示,缩小为角落的小方块或一行,或作为边缘的横幅。可设置非今日日期、时区和自定义纪念日,选择普通或撕页样式,显示年度天数和ISO周数的两条条形,以及当天纪念行。

直播卡片

此卡由浏览器绘制,使用与播放器相同的代码,带示例数据。

类别:时间。标签:时钟和日历,时间表,办公室和工作场所,大堂和接待处。

布局

此核心卡适用于所有布局:全屏、居中、宽屏、角落、芯片、条带或任何自由矩形。

布局:全屏,自由,居中,宽屏,角落,芯片,条带。表单:横向,纵向,方形,条带。

卡片布局、主题和发布。浏览卡片。

数据与隐私

信息源:screenrig.almanac/v1。

信息源文档带有来源归属。播放器向卡片提供信息源。

属性

有关主题、背景、强调色和位置,请参见通用属性。

创建卡片时,在卡片的params中设置静态属性。其数据文档仅包含动态属性。嵌套行描述其父属性的内容。

静态属性

名称类型默认数值和限制描述
date字符串,空值null模式:"^\\d{4}-\\d{2}-\\d{2}$"YYYY-MM-DD 用于替代屏幕所在时区的今天;null 表示今天。
location对象,空值nulladditionalProperties:false年鉴所针对的地点,即计算其太阳和月亮时间所依据的地点。{screen.location} 使用屏幕自身所在的地点;null 表示读取不含地点的年鉴。
location.namestringmaxLength:40;必填
location.latitudenumber最小值:-90;最大值:90;必填
location.longitudenumber最小值:-180;最大值:180;必填
countrystring""maxLength:2ISO 3166-1 国家(两个字母,例如 CA),其公共假日和纪念日会并入国际节日。为空时仅读取国际节日。
languagestring"en""ar", "bs", "cs", "de", "en", "es", "fr", "it", "pt", "ru", "sv", "tr", "uk", "zh"“历史上的今天”栏目所读取的 Wikipedia 语言版本。
timeZone字符串,空值null
stylestring"plain""plain", "page"plain 以数字形式显示日期,星期显示在其下方;page 完整、自由且居中地显示可撕页。
showProgress布尔值,空值null在日期旁显示一年中的天数和ISO周数的两条条形。空值(默认)在无观察或历史填充时显示;false则永不显示。
showHistorybooleantrue显示来自年鉴订阅的“历史上的今天”栏目。
backgroundColor字符串,空值null模式:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"用纯色 CSS 顺序覆盖卡片背景和底板。#RRGGBBAA 提供透明度。背景无则优先。
textColor字符串,空值null模式:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"覆盖主文本和次要文本颜色。强调色和语义状态色保持原有功能。

动态属性

名称类型默认数值和限制描述
observancesarray[]minItems:0;maxItems:12你自己的纪念日:公司日、休假、生日。它们加入数据源,节假日时优先显示。
observances[].datestring模式:"^(\\d{4}-)?\\d{2}-\\d{2}$";必填每年 MM-DD,或一天 YYYY-MM-DD。
observances[].namestringminLength:1;maxLength:60;必填
observances[].kindstring"observance""observance", "holiday"节假日排在列表首位,温暖页面。

画布示例

将静态属性保存为 params.json 并创建卡片。结果中包含它的 crd_ ID。

{
  "theme": "neomustard",
  "location": {
    "name": "Vancouver",
    "latitude": 49.25,
    "longitude": -123.0
  }
}
screenrig card create --type today --major 1 --file params.json

将此项目添加到播放列表页面的primitives中,并用该 ID 替换示例中的 ID。发布播放列表并分配屏幕。

{
  "id": "today",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

写入实时数据

创建卡片后向其写入文档,之后替换该文档即可更新屏幕,无需重新发布。卡片会按其动态属性检查每次写入,并拒绝它不接受的文档。请使用与播放列表相同的项目。

将文档保存为card-data.json。CLI直接读取文档,无需包装:

{
  "observances": []
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

或直接调用 API。API 将相同文档包装在 document 字段中。智能体令牌已指定其项目,因此不发送项目头;若发送 ScreenRig-Project,必须与令牌项目匹配。通过环境提供 API 授权;详见 API 认证。

curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"document":{"observances":[]}}'