Skip to content
Open
Show file tree
Hide file tree
Changes from 42 commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
2f0b115
feat: add scaffolding for the New Features section
ogwata May 5, 2026
ac7ee06
docs: add Footnotes guide (Vivliostyle.js v2.41.0+)
ogwata May 5, 2026
9c80707
docs: add CMYK Conversion guide (Vivliostyle.js v2.40.0+)
ogwata May 5, 2026
1b7d79e
docs: add Page Groups guide (Vivliostyle.js v2.39.0+)
ogwata May 5, 2026
25157d5
feat: integrate New Features section into top page and breadcrumbs
ogwata May 5, 2026
7fcace8
feat: add New Features to global nav and unify nav link font size
ogwata May 5, 2026
e18f495
fix(nav): move New Features to the leftmost position in the global nav
ogwata May 5, 2026
32a4328
style(nav): visually match FAQ size to CJK on Japanese pages
ogwata May 5, 2026
bf2dbe0
feat(home): mirror global nav structure in the home-page sidebar
ogwata May 5, 2026
486056b
style(home): tune visual hierarchy of the home sidebar
ogwata May 5, 2026
8878a2c
fix(home): broaden the New Features section description
ogwata May 5, 2026
6f42c43
fix(footnotes): name the product up front, fix dead JLReq link
ogwata May 5, 2026
f452d48
chore(screenshots): add capture environment for the Footnotes guide
ogwata May 5, 2026
125d60e
fix(screenshots): drop leading digits from ja footnote bodies
ogwata May 5, 2026
ba84dd3
fix: ignore vivliostyle preview vite cache
ogwata May 5, 2026
7219375
chore: bump @vivliostyle/cli to 10.5 and @vivliostyle/vfm to 2.6
ogwata May 5, 2026
b9aa55d
fix(screenshots): give DPUB-ARIA sample a visible footnote marker
ogwata May 5, 2026
7b88fc7
docs(footnotes): document the list-style-position: outside requirement
ogwata May 5, 2026
bf242d4
fix(screenshots): make 03 and 04 fixtures actually render correctly
ogwata May 5, 2026
4015b5f
docs(investigation): footnote-display: inline does not flow visually
ogwata May 5, 2026
7e805b1
docs(investigation): translate footnote-display issue draft to Japanese
ogwata May 5, 2026
fecdcd4
docs(investigation): add footnote-display: inline screenshots
ogwata May 5, 2026
b5fc3f2
chore: override @vivliostyle/viewer to ^2.42.0
ogwata May 6, 2026
0e999b8
fix(screenshots): rebuild 06 / 07 fixtures for Viewer 2.42.0
ogwata May 6, 2026
dd0d060
docs(footnotes): embed 14 screenshots and clarify v2.41.0 vs v2.42.0
ogwata May 6, 2026
cb48b5d
fix(screenshots): shrink 05 / 06 / 07 page size to match the rest
ogwata May 6, 2026
d4237db
fix(page-groups): replace em dash in §6 heading with double em dash
ogwata May 6, 2026
4f1453b
fix(cmyk): correct misleading "magenta?" comment in basic syntax
ogwata May 6, 2026
f7fe220
fix(page-groups): drop device-cmyk() from cover example
ogwata May 6, 2026
21f8a4d
a11y(home): improve home-sidebar accordion accessibility
ogwata May 6, 2026
2918e6f
refactor(footnotes): rebuild samples from VFM Markdown sources
ogwata May 7, 2026
a0cf783
feat(new-features): show H2/H3 of current page in sidebar
ogwata May 7, 2026
21bc92b
refactor(sidebar): unify H2/H3 sidebar across product sections
ogwata May 7, 2026
6476ab4
chore: archive handwritten footnote fixtures to _archive/
ogwata May 7, 2026
167814f
a11y(sidebar): address Copilot review on TOC headings component
ogwata May 7, 2026
4e7dd78
style(ja): strip 和欧 boundary half-width spaces in vfm-loader output
ogwata May 7, 2026
f11c675
fix(vfm-loader): replace embedded U+0000 in SENTINEL with text escape
ogwata May 8, 2026
113b175
Merge branch 'main' into feat/issue-15-new-features-section
ogwata May 8, 2026
096f5e2
chore(deps): sync package-lock.json with merged package.json
ogwata May 8, 2026
29fa309
fix(nav): restore intermediate-size scale-down breakpoint dropped by …
ogwata May 8, 2026
5a9186c
fix: address Copilot review comments on PR #17
ogwata May 8, 2026
ad14943
refactor(cookbook): rename "New Features" section to "Cookbook" / "活用…
ogwata May 8, 2026
097c667
docs(cookbook/footnotes): rephrase "番号を再開" to "番号を新規に採番"
ogwata May 8, 2026
8edd101
fix: address Copilot review on rename commit ad14943
ogwata May 8, 2026
9406cfb
docs(home): drop "Vivliostyle.js and CLI" framing from Cookbook intro
ogwata May 8, 2026
056eb3d
fix(nav): move Product to leftmost, Cookbook to its right
ogwata May 8, 2026
0f975a6
feat(cookbook): wire Cookbook section into PDF/EPUB/WebPub pipeline
ogwata May 8, 2026
30da0ec
docs(home): add a Downloads section listing every product's PDF / EPUB
ogwata May 8, 2026
62c0f0d
fix(layout): build the page title in frontmatter to stop body-leak
ogwata May 8, 2026
5153a59
fix(css): outline article images with a 1px border for light-mode vis…
ogwata May 8, 2026
7d1643e
feat: トップページにプロダクト群イラストを追加、VFM機能デモを拡充
ogwata May 9, 2026
cc729e5
docs: ダウンロードセクションの説明文を修正
ogwata May 9, 2026
4c81ec1
docs: ダウンロードセクションの説明文を再修正
ogwata May 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ pnpm-debug.log*
# Vivliostyle temporary files
.vivliostyle/

# Vivliostyle preview (vite) cache
.vite/

# ビルド成果物(PDF / EPUB / WebPub)はリポジトリに含めない。
# .github/workflows/deploy.yml が CI 側で `npm run build:formats` を実行して
# dist/ に組み込み、GitHub Pages 配信時に同梱する。
Expand Down
124 changes: 124 additions & 0 deletions _archive/footnotes-handwritten/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
# 脚注ガイド スクリーンショット撮影環境

`content/{en,ja}/cookbook/footnotes.md` に埋め込むスクリーンショットを
撮影するためのソース HTML を置く作業ディレクトリです。

## 設計方針

- **ページサイズを意図的に小さく設定**(140mm × 90mm 程度の短冊型)して、
「本文の参照位置 + 脚注エリア」だけが 1 ページに収まるようにしてある。
撮影時は **ページ全体** を撮るだけで OK。トリミング作業が不要になり、
ファイルサイズも自然に抑えられる。
- 各 HTML は完全自己完結(CSS は `<style>` 内にインライン)。Vivliostyle.js
v2.41.0+ で開けば、ガイド記事に対応する見え方を確認できる。

## ディレクトリ構成

```
_screenshots/footnotes/
├── README.md ← このファイル
├── en/ ← 英語サンプル本文の HTML
│ ├── 01-html-class-themebase.html
│ ├── 02-vfm-pandoc-endnotes.html
│ ├── 03-dpub-aria-default.html
│ ├── 04-page-footnote-styled.html
│ ├── 05-footnote-display-inline.html
│ ├── 06-footnote-display-compact.html
│ └── 07-footnote-marker-outside.html
└── ja/ ← 日本語サンプル本文の HTML
└── (same 7 files)
```

## 撮影手順

### 1. ローカルで開く

#### a) Vivliostyle CLI で個別プレビュー(推奨)

```sh
# 例: 日本語版の例 1 を開く
npx vivliostyle preview _screenshots/footnotes/ja/01-html-class-themebase.html
```

ブラウザが自動で開く。プレビュー画面で「単ページ」表示にする。

#### b) HTTP サーバ + Vivliostyle Viewer

```sh
npx http-server _screenshots/footnotes -p 8080
```

そのうえで Vivliostyle Viewer を以下の URL で開く:

```
https://vivliostyle.org/viewer/?src=http://localhost:8080/ja/01-html-class-themebase.html
```

### 2. 撮影

- 短冊型のページ全体(本文 + 脚注エリア)を 1 枚に収める
- 推奨フォーマット: **PNG**
- 解像度: Retina 相当(DPR 2x)程度

### 3. 保存先

```
public/cookbook/footnotes/
├── en/
│ ├── 01-html-class-themebase.png
│ ├── …
└── ja/
├── 01-html-class-themebase.png
└── …
```

`public/` 以下に置くことで Astro のデプロイに含まれる。

### 4. 記事への組み込み

`content/{en,ja}/cookbook/footnotes.md` の該当セクションに以下のように
追記:

```markdown
![Footnote rendered with theme-base CSS](/cookbook/footnotes/en/01-html-class-themebase.png)
```

```markdown
![theme-base で描画された脚注](/cookbook/footnotes/ja/01-html-class-themebase.png)
```

Markdown への画像挿入作業は別ステップとして依頼してください。

## サンプル一覧

| # | ファイル | デモする内容 | 対応する記事節 |
|----|---------|-----------|--------------|
| 01 | `01-html-class-themebase.html` | `<span class="footnote">` + GCPM クラス方式 | Part 2 §2 |
| 02 | `02-vfm-pandoc-endnotes.html` | VFM Pandoc 形式の後注 | Part 2 §3 |
| 03 | `03-dpub-aria-default.html` | DPUB-ARIA `<aside role="doc-footnote">`、テーマ CSS なし | Part 3 §5 |
| 04 | `04-page-footnote-styled.html` | `@page { @footnote { … } }` と `::before` | Part 3 §7 |
| 05 | `05-footnote-display-inline.html` | `footnote-display: inline` | Part 3 §8 |
| 06 | `06-footnote-display-compact.html` | `footnote-display: compact` | Part 3 §8 |
| 07 | `07-footnote-marker-outside.html` | `::footnote-marker` の `list-style-position: outside` | Part 3 §9 |

## ページ寸法について

各サンプルは以下で統一:

```css
@page {
size: 140mm 90mm;
margin: 12mm 14mm;
}
```

A5 などより明らかに小さいので、撮影された画像も自然と小さく仕上がる。
記事内に並べたときに本文を圧迫しないサイズを目指している。

## 注意

- これらの HTML は **記事内の文言と完全一致しません**。短冊サイズに収まる
量の本文に絞ってあります。
- フォントは `Noto Serif JP` 系(日本語)/ `Source Serif Pro` 系(英語)を
指定。インストールされていない場合は OS 既定の serif にフォールバック
します。
40 changes: 40 additions & 0 deletions _archive/footnotes-handwritten/en/01-html-class-themebase.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example 1: HTML class footnote (theme-base style)</title>
<style>
@page { size: 140mm 90mm; margin: 12mm 14mm; }
body {
font-family: "Source Serif Pro", "Georgia", serif;
font-size: 10pt;
line-height: 1.55;
text-align: justify;
}
p { margin: 0 0 0.5em; }
code { font-size: 0.92em; }

/* GCPM class style (equivalent to what theme-base provides) */
.footnote { float: footnote; }
::footnote-call {
content: counter(footnote);
font-size: 0.7em;
vertical-align: super;
line-height: 0;
}
::footnote-marker { content: counter(footnote) ". "; }
@page {
@footnote {
border-top: 0.4pt solid currentColor;
padding-top: 4pt;
font-size: 8.5pt;
line-height: 1.5;
}
}
</style>
</head>
<body>
<p>A footnote written directly in HTML as <code>&lt;span class="footnote"&gt;</code><span class="footnote">The footnote body. <code>float: footnote</code> moves it to the page-bottom area at layout time.</span> is moved to the page-bottom footnote area at layout time, thanks to a theme (theme-base / theme-techbook) that defines <code>.footnote { float: footnote }</code>.</p>
<p>Multiple references in the same paragraph<span class="footnote">A second note. Numbering is automatic.</span> share an auto-incrementing counter, generated by the <code>::footnote-call</code> and <code>::footnote-marker</code> pseudo-elements.</p>
</body>
</html>
39 changes: 39 additions & 0 deletions _archive/footnotes-handwritten/en/02-vfm-pandoc-endnotes.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example 2: VFM Pandoc-style endnotes</title>
<style>
@page { size: 140mm 90mm; margin: 12mm 14mm; }
body {
font-family: "Source Serif Pro", "Georgia", serif;
font-size: 10pt;
line-height: 1.55;
text-align: justify;
}
p { margin: 0 0 0.5em; }
code { font-size: 0.92em; }
sup a { text-decoration: none; font-size: 0.75em; vertical-align: super; line-height: 0; }
/* Equivalent to <section role="doc-endnotes"> emitted by VFM in Pandoc mode */
section[role="doc-endnotes"] {
border-top: 0.4pt solid currentColor;
margin-top: 1.2em;
padding-top: 0.4em;
font-size: 8.5pt;
line-height: 1.5;
}
section[role="doc-endnotes"] ol { padding-left: 1.5em; margin: 0; }
section[role="doc-endnotes"] li { margin: 0.1em 0; }
</style>
</head>
<body>
<p>VFM's default setting (<code>footnote: 'pandoc'</code>) renders <code>[^1]</code> as a <code>&lt;section role="doc-endnotes"&gt;</code> appended to the end of the document<sup id="fnref1"><a href="#fn1">1</a></sup>.</p>
<p>Because endnotes flow inline with the main text, they are not subject to <code>float: footnote</code>, and <code>@page { @footnote { } }</code> styling has no effect on them<sup id="fnref2"><a href="#fn2">2</a></sup>.</p>
<section role="doc-endnotes">
<ol>
<li id="fn1">First endnote body. <a href="#fnref1" aria-label="back">↩</a></li>
<li id="fn2">Second endnote body. <a href="#fnref2" aria-label="back">↩</a></li>
</ol>
</section>
</body>
</html>
31 changes: 31 additions & 0 deletions _archive/footnotes-handwritten/en/03-dpub-aria-default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example 3: DPUB-ARIA footnote (no theme CSS, minimal marker styling)</title>
<style>
@page { size: 140mm 90mm; margin: 12mm 14mm; }
body {
font-family: "Source Serif Pro", "Georgia", serif;
font-size: 10pt;
line-height: 1.55;
text-align: justify;
}
p { margin: 0 0 0.5em; }
code { font-size: 0.92em; }
/* No theme CSS and no @footnote rule. The UA stylesheet in
Vivliostyle.js v2.41.0+ floats [role="doc-footnote"] asides
into the @footnote area on its own.
The footnote-area marker is provided as plain HTML
(<sup>n</sup> inside each aside) rather than via author
CSS pseudo-elements, so the file truly has zero stylesheet
rules beyond page geometry and body typography. */
</style>
</head>
<body>
<p>Place an inline reference using <code>&lt;a role="doc-noteref"&gt;</code><a role="doc-noteref" href="#fn1">1</a> and the corresponding <code>&lt;aside role="doc-footnote"&gt;</code> elsewhere in the flow.</p>
<aside id="fn1" role="doc-footnote"><sup>1</sup> The footnote body. No CSS has been written for this rendering.</aside>
<p>Vivliostyle.js v2.41.0+ applies <code>float: footnote</code> automatically through its built-in UA stylesheet, so the note is placed in the page-bottom area without any theme CSS<a role="doc-noteref" href="#fn2">2</a>.</p>
<aside id="fn2" role="doc-footnote"><sup>2</sup> A second note. Numbering is automatic.</aside>
</body>
</html>
46 changes: 46 additions & 0 deletions _archive/footnotes-handwritten/en/04-page-footnote-styled.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example 4: Custom styling via @page { @footnote { … } }</title>
<style>
@page {
size: 140mm 90mm;
margin: 12mm 14mm;

@footnote {
border-top: 1pt solid #555;
padding-top: 6pt;
margin-top: 6pt;
font-size: 8.5pt;
line-height: 1.5;
color: #333;
}
/* The correct syntax is `@footnote ::before` (with a space).
Without the space, the @page block is invalid and silently
drops; the asides then stay in the body flow. */
@footnote ::before {
content: "Notes";
display: block;
font-weight: 600;
margin-bottom: 0.2em;
color: #555;
}
}
body {
font-family: "Source Serif Pro", "Georgia", serif;
font-size: 10pt;
line-height: 1.55;
text-align: justify;
}
p { margin: 0 0 0.5em; }
code { font-size: 0.92em; }
</style>
</head>
<body>
<p>This example styles the footnote area with <code>@page { @footnote { … } }</code><a role="doc-noteref" href="#fn1">1</a>, applying a top border, padding, and a generated "Notes" heading via <code>::before</code>.</p>
<aside id="fn1" role="doc-footnote"><sup>1</sup> A styled footnote.</aside>
<p>With multiple notes<a role="doc-noteref" href="#fn2">2</a>, the heading appears once for the entire footnote area, not per note.</p>
<aside id="fn2" role="doc-footnote"><sup>2</sup> A second styled footnote.</aside>
</body>
</html>
30 changes: 30 additions & 0 deletions _archive/footnotes-handwritten/en/05-footnote-display-inline.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example 5: footnote-display: inline</title>
<style>
@page {
size: 140mm 90mm;
margin: 12mm 14mm;
}
body {
font-family: "Source Serif Pro", "Georgia", serif;
font-size: 10pt;
line-height: 1.45;
}
p { margin: 0 0 0.5em; }
code { font-size: 0.92em; }
/* Same pattern as vivliostyle's dpub-footnote-display.html test. */
.footnote-display-inline .footnote { footnote-display: inline; }
</style>
</head>
<body>
<section class="footnote-display-inline">
<p>With <code>footnote-display: inline</code>, multiple footnotes flow on the same line<a id="ref1" href="#fn1" class="footnote-ref" role="doc-noteref"><sup>1</sup></a>. Three short references<a id="ref2" href="#fn2" class="footnote-ref" role="doc-noteref"><sup>2</sup></a> in a row<a id="ref3" href="#fn3" class="footnote-ref" role="doc-noteref"><sup>3</sup></a> still keep the footnote area compact in the vertical direction.</p>
<aside id="fn1" class="footnote" role="doc-footnote"><a href="#ref1" class="footnote-back" role="doc-backlink"><sup>1</sup></a>A short note.</aside>
<aside id="fn2" class="footnote" role="doc-footnote"><a href="#ref2" class="footnote-back" role="doc-backlink"><sup>2</sup></a>Another short note.</aside>
<aside id="fn3" class="footnote" role="doc-footnote"><a href="#ref3" class="footnote-back" role="doc-backlink"><sup>3</sup></a>A third short note.</aside>
</section>
</body>
</html>
33 changes: 33 additions & 0 deletions _archive/footnotes-handwritten/en/06-footnote-display-compact.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example 6: footnote-display: compact</title>
<style>
/* `compact` keeps short notes inline and falls back to block for
notes that don't fit on a single line. */
@page {
size: 140mm 90mm;
margin: 12mm 14mm;
}
body {
font-family: "Source Serif Pro", "Georgia", serif;
font-size: 10pt;
line-height: 1.45;
}
p { margin: 0 0 0.5em; }
code { font-size: 0.92em; }
/* Same pattern as vivliostyle's dpub-footnote-display.html test. */
.footnote-display-compact .footnote { footnote-display: compact; }
</style>
</head>
<body>
<section class="footnote-display-compact">
<p><code>footnote-display: compact</code> packs short notes inline<a id="ref1" href="#fn1" class="footnote-ref" role="doc-noteref"><sup>1</sup></a> as unbreakable units<a id="ref2" href="#fn2" class="footnote-ref" role="doc-noteref"><sup>2</sup></a>, with following short notes joining the same run<a id="ref3" href="#fn3" class="footnote-ref" role="doc-noteref"><sup>3</sup></a>. A note that does not fit on one rendered line falls back to block automatically<a id="ref4" href="#fn4" class="footnote-ref" role="doc-noteref"><sup>4</sup></a>.</p>
<aside id="fn1" class="footnote" role="doc-footnote"><a href="#ref1" class="footnote-back" role="doc-backlink"><sup>1</sup></a>A short note.</aside>
<aside id="fn2" class="footnote" role="doc-footnote"><a href="#ref2" class="footnote-back" role="doc-backlink"><sup>2</sup></a>Another short note.</aside>
<aside id="fn3" class="footnote" role="doc-footnote"><a href="#ref3" class="footnote-back" role="doc-backlink"><sup>3</sup></a>A third short note.</aside>
<aside id="fn4" class="footnote" role="doc-footnote"><a href="#ref4" class="footnote-back" role="doc-backlink"><sup>4</sup></a>A longer note that cannot fit on one rendered inline line and therefore falls back to a block layout under `compact`.</aside>
</section>
</body>
</html>
Loading
Loading