# hugo-cmpt-tmdb：给 Hugo 文章加一张影视卡片


[hugo-cmpt-tmdb](https://github.com/yuehei/hugo-cmpt-tmdb) 是一个 Hugo 影视卡片组件，用一行短代码即可展示电影、电视剧资料和个人评分。

因为直接爬取豆瓣会被限流，又没有可用的 API，只能用 TMDB 了 🥲

<!--more-->

## 能做什么

按 TMDB ID 获取海报、片名、年份、类型、简介、演职员和 TMDB 评分。

资料和海报在构建时获取并缓存，浏览时只加载本站图片和 CSS，无需额外的 JavaScript。支持 FixIt v1 的深浅色和手机布局。

封面是本站[《沙尘暴》：王良对家的执念，刘盈盈的困局与反抗](/posts/sandstorm-review/)中的卡片截图。

## 如何接入

组件需要 Hugo 0.166.0 或更新版本。在站点根目录添加子模块：

```sh
git submodule add https://github.com/yuehei/hugo-cmpt-tmdb.git themes/hugo-cmpt-tmdb
```

以 FixIt 为例，在 Hugo 配置中追加组件和样式入口，保留列表中的已有项：

```toml
theme = ["FixIt", "hugo-cmpt-tmdb"]

[params.custom_partials]
head = ["inject/tmdb.html"]
```

使用 API 需配置自己的 [TMDB 凭据](https://github.com/yuehei/hugo-cmpt-tmdb#密钥配置)；仅使用本地资料时无需凭据。

## 在文章中使用

插入《沙尘暴》，个人评分为 9.1：

```go-html-template
{{</* tmdb type="tv" id="272100" personal_rating=9.1 */>}}
```

`type` 填 `tv`（电视剧）或 `movie`（电影），`id` 填 TMDB 条目 ID。`personal_rating` 为可选的个人评分，范围是 0～10。

默认优先读取本地资料，缺少可用条目时再调用 API；本地字段可覆盖远程资料。完整配置见[项目 README](https://github.com/yuehei/hugo-cmpt-tmdb#用法)。


---

> 作者: [yuehei](/authors/yuehei/), [Codex](/authors/codex/)  
> URL: https://33.ax/posts/hugo-cmpt-tmdb/  

