报纸版面式博客结构:题字、头条、按标签划分的“面”与列表页
astro-theme-shinbun — Astro 博客模板
作者 kamimen
一款以日本报纸版面为视觉语言的 Astro 博客主题,默认横排,可按文章切换竖排,并支持昼夜两种版面。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
默认横排,可按文章选择竖排,读者也能在文章页切换横排与竖排
昼夜两种纸面可切换,并记住上次的选择
Markdown 与 MDX 写作,frontmatter 由 Astro 内容集合做类型检查,支持草稿与定时发布
输出 RSS、站点地图、robots.txt、canonical、Open Graph 与 JSON-LD,并支持 site.base 基准路径
图片使用 Astro 图像优化,可用于头条照片、列表缩略图、带说明的正文图片与 OG 图像
模板详细介绍
astro-theme-shinbun 是一个面向日文博客的 Astro 主题,版式参考报纸纸面:博客名作为题字,最新文章成为头条,标签对应报纸的“面”,每个面有独立页面与列表。默认横排,单篇文章可设为竖排,读者也能在文章页自行切换横排与竖排;昼夜两种纸面同样可切换,选择会在下次打开时保留。
写作方面,文章使用 Markdown 与 MDX,frontmatter 通过 Astro 内容集合做类型检查;draft: true 与发布时间未到的文章不会公开,长文会自动生成见出目录,代码块在昼夜纸面下切换配色(Shiki),并可用 npm run new-post 生成文章模板。图片走 Astro 图像优化(WebP、srcset、延迟加载),可用于头条照片、列表缩略图、带说明的正文图片与 OG 图像。
输出方面包含 RSS、站点地图、robots.txt、canonical、Open Graph 与 JSON-LD 结构化数据,并带页面过渡(ClientRouter)与链接预取;支持 site.base 基准路径,因此可用于 GitHub Pages 项目页。配置集中在 shinbun.config.ts 一个文件。
需要注意:README 标注仅在 Chrome 测试,未测试 Firefox 与 Safari;示例中的人物、团体、事件与照片均为虚构;运行需要 Node.js 22.12 以上。
适合你的项目吗?
适用场景
- 用日文撰写以报纸版面为风格的博客或专栏
- 希望部分文章竖排、部分文章横排,并让读者自行切换的站点
- 需要 RSS、站点地图、结构化数据与 OG 图像等基础输出能力的静态博客
- 部署在 GitHub Pages 项目页等带基准路径的环境
适合人群
- 使用 Astro 并熟悉 Markdown 或 MDX 写作的个人博主
- 想要报纸式排版而非通用卡片式博客外观的日文内容站点
- 需要草稿、定时发布、目录与代码高亮等写作功能的作者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需要 Node.js 22.12 或更高版本
- 2
可通过 GitHub 模板、fork 或 npm create astro@latest -- --template kamimen/astro-theme-shinbun 创建项目
- 3
安装后执行 npm install 与 npm run dev,再修改 shinbun.config.ts 中的题字、说明、作者、URL 与菜单
- 4
用 npm run new-post <文件名> 生成文章模板,默认带 draft: true,写完需移除
- 5
README 标注仅在 Chrome 测试,未测试 Firefox 与 Safari;示例图片、字体等第三方素材需按各自许可核对
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 运行环境要求:必须使用 Node.js 22.12 或更高版本,低于该版本无法构建或运行。
- 浏览器兼容性限制:README 标注仅在 Chrome 测试,Firefox 与 Safari 未测试,使用前需自行验证。
- 示例内容限制:仓库内示例的人物、团体、事件与照片均为虚构,不可直接作为真实内容使用。
- 外部依赖限制:版面组件依赖外部项目 shinbun.css,其许可与维护状况需另行确认。
- 外部图片限制:使用外部图片时必须在 images.domains 中显式允许域名,否则不会被优化。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
Node.js 22.12 以上が必要です。
README 原文

README 原文
見本の内容(人物・団体・出来事・写真)は、すべて架空です。
README 原文
紙面の部品は [shinbun.css](https://github.com/kamimen/shinbun-css) を使っています。
README 原文
https://github.com/kamimen/astro-theme-shinbun/blob/main/LICENSEhttps://github.com/kamimen/astro-theme-shinbun/blob/main/README.md`images.domains` | 最適化を許可する外部の画像のドメイン
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-08。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 80 / 100
- 技术栈
- Astro
- 网站类型
- 博客
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-10-08
- 截图检查日期
- 2026-10-08
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-09
查看当时使用的来源资料
SHA-256: f327816d0db26c32a3eec9c534ec6c20f7dc6c06c4596dbb5005f3b3a243b3bc
2026-10-08T22:10:15.371Z
来源文件 / 仓库
# astro-theme-shinbun
新聞の紙面のように書ける、日本語のブログの Astro テーマです。紙面の部品は [shinbun.css](https://github.com/kamimen/shinbun-css) を使っています。
    
日本語 | [English](README_en.md)


見本の内容(人物・団体・出来事・写真)は、すべて架空です。
## 特徴
### 紙面
ブログの名前が題字になり、最新の記事がトップ記事になります。タグは新聞の「面」にあたり、面ごとのページと一覧があります。既定は横組みで、記事ごとに縦組みを選べます。読む人は、記事ページで横組みと縦組みを切り替えられます。昼と夜の紙面も切り替えられ、選んだ紙面は次に開いたときも保たれます。
### 書く
記事は Markdown と MDX で書きます。frontmatter は、Astro のコンテンツコレクションで型を検査します。下書き(`draft: true`)と、公開日時が先の記事は公開しません。長い記事には、見出しの一覧(目次)が自動で付きます。コードのブロックは、昼と夜の紙面で色が切り替わります(Shiki)。記事の雛形は `npm run new-post` で作れます。
### 画像
Astro の画像最適化(WebP、`srcset`、遅延読み込み)に対応しています。トップ記事の写真、一覧のサムネイル、本文の画像(キャプションつき)、OG 画像に使えます。
### 公開
RSS、サイトマップ、robots.txt、canonical、Open Graph、構造化データ(JSON-LD)を出力します。ページ遷移(`ClientRouter`)とリンクの先読みもあります。公開する場所の基準パス(`site.base`)に対応するので、GitHub Pages のプロジェクトページでも使えます。設定は `shinbun.config.ts` の 1 ファイルです。
## プロジェクトの構成
```
/
├── public/
│ └── favicon.svg
├── scripts/
│ ├── new-post.ts 記事の雛形を作る
│ ├── update-theme.ts このテーマの更新を取り込む
│ └── make-sample-images.ts 見本のダミー画像を作る
├── src/
│ ├── assets/photos/ 見本の写真
│ ├── components/ 題字、欄外、記事、ページ送りなど
│ ├── content/
│ │ ├── pages/about.md
│ │ └── posts/ 記事(.md と .mdx)
│ ├── i18n/ja.ts 画面の文字列
│ ├── layouts/ Layout.astro
│ ├── pages/ トップ、記事、タグ、アーカイブ、about、404、RSS
│ ├── plugins/rehype-figure.ts 本文の画像を写真(figure)にする
│ ├── scripts/ 昼夜の切り替え、縦組み・横組みの切り替え
│ ├── styles/blog.css shinbun.css の上に重ねるブログ向けの調整
│ ├── utils/ 記事の絞り込み、並べ替え、日付など
│ ├── config.ts 既定値を補った設定
│ └── content.config.ts 記事の frontmatter の型
├── test/ 単体テスト
├── vendor/ shinbun.css(CSS と JavaScript)
├── astro.config.ts
└── shinbun.config.ts 利用者が直す設定
```
記事は、`src/content/posts/` に置きます。
## はじめ方
1. このリポジトリを、GitHub のテンプレートとして使うか、fork します。次のコマンドでも作れます
```sh
npm create astro@latest -- --template kamimen/astro-theme-shinbun
```
2. 次を実行します
```sh
npm install
npm run dev
```
3. `shinbun.config.ts` を直します(題字、説明、著者、URL、メニュー)
4. `npm run new-post <ファイル名>` で、記事の雛形を作ります(`src/content/posts/` に作られます。`draft: true` が付いているので、書き終えたら外します)
5. `npm run build` で、`dist/` に静的なサイトを作ります
Node.js 22.12 以上が必要です。
## 設定(`shinbun.config.ts`)
| 項目 | 内容 |
|---|---|
| `site.url`、`site.title`、`site.subtitle`、`site.description`、`site.author` | サイトの情報。`url` は、公開する URL |
| `site.base` | 公開する場所の基準パス。GitHub Pages のプロジェクトページなら、`"/リポジトリ名/"` |
| `site.timezone` | 日付を表示するタイムゾーン(既定は `Asia/Tokyo`) |
| `writing` | サイトの組方向。`"horizontal"`(横組み)または `"vertical"`(縦組み) |
| `paper.dan`、`paper.verticalDan`、`paper.fontSize` | 横組み・縦組みの段数と、文字の大きさ |
| `masthead.left`、`masthead.right` | 題字の左右に出す文 |
| `images.domains` | 最適化を許可する外部の画像のドメイン |
| `nav`、`socials` | メニューと、フッターのリンク |
| `posts.perPage`、`posts.columns`、`posts.scheduledMargin` | 1 ページの記事数、記事の段数(既定は 1)、予約投稿を早く出す余裕(ミリ秒) |
| `features.darkMode`、`features.archives`、`features.transitions` | 夜の紙面の切り替え、アーカイブ、ページ遷移 |
## 記事の frontmatter
```yaml
---
title: 見出し
description: 記事の要点を、一文で。リードとして表示されます
pubDatetime: 2026-10-07T09:00:00+09:00
tags: [まちの話, 建築]
kicker: みどり市 # 見出しの上の肩見出し。省略するとタグの先頭
dateline: みどり市 # 発信地
byline: 架空太郎 # 署名。省略するとサイトの著者
writing: vertical # この記事だけ縦組みにする
image: ../../assets/photos/library.jpg # 記事の写真
imageAlt: 写真の説明
draft: false
---
```
## 画像
- 記事の写真: frontmatter の `image` に、記事の Markdown から見た相対パスで書きます。トップ記事と記事ページに大きく、一覧にはサムネイルで出ます。OG 画像にも使います
- 本文の画像: Markdown の `` で書きます。`src/` の画像は、自動で最適化されます。`"キャプション"` を付けると、写真の説明(`figcaption`)になります
- MDX: `.mdx` の記事では、`Image` の部品も使えます(見本: `src/content/posts/code-sample.mdx`)
- 外部の画像: `images.domains` に、許可するドメインを書きます。許可しない画像は、最適化されません
- `public/` に置いた画像は、最適化されません
## 縦組みの記事の書き方
- 日付は、縦組みでは漢数字(二〇二六年十月五日)で表示されます
- 本文の数字は、書いたとおりに表示されます。縦組みの記事では、二桁の数字は縦中横になります。三桁以上や年は、漢数字で書くと読みやすくなります
- 写真は、縦組みでは高さを抑えて表示します
## 色を変える
紙面の色は、shinbun.css のトークンで決まっています。`src/styles/blog.css` で上書きします。
```css
.sb-paper {
--sb-paper: light-dark(#f4eedd, #17140f); /* 紙の色(昼、夜) */
--sb-ink: light-dark(#1b1812, #eee6d2); /* 文字の色 */
--sb-accent: light-dark(#a02a1f, #e5786b); /* 肩見出しなどの差し色 */
}
```
トークンの一覧は、[shinbun.css の API](https://github.com/kamimen/shinbun-css/blob/main/docs/API.md) にあります。
## ライセンス
[MIT License](LICENSE)
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

astrowind
⭕️ AstroWind: A free template using Astro v7 and Tailwind CSS v4. Astro starter theme.
Astro · 博客

astro-paper
A minimal, accessible and SEO-friendly Astro blog theme.
Astro · 博客

fuwari
✨A static blog template built with Astro.
Astro · 博客

Firefly
Firefly 是一款基于 Astro 的静态博客主题,由 CuteLeaf 在 saicaca 的 Fuwari 模板基础上二次开发,主打清新美观的视觉风格。
Astro · 博客

astro-theme-cactus
A simple Astro theme. Use it to create your blog or website.
Astro · 作品集

astrofy
Astrofy is a free and open-source template for your Personal Portfolio Website built with Astro and TailwindCS…
Astro · 作品集
