Design Vault Search use case, structure, colour, notes /
Index Categories Tags 日本語
Back to index

Appendix Door — What Is Inside, as a Numbered Grid

Grid
Appendix Door — What Is Inside, as a Numbered Grid
column 1
column 2
column 3
140 108

1920 × 1080 Seen as a design

Take it with you

Copy and paste, or save a file and hand it over. For a machine with no network, one “Everything” file is enough.

Everything

appendix-index-grid-everything.md

Everything in this panel, including the contents behind each URL, in one Markdown file

Prompt

1.4 KB
Produce one slide to the following specification.

- Canvas 1920 × 1080
- Margin top 108 right 140 bottom 108 left 140
- 3 equal columns, gap 24

## Type (px against a 1920px canvas)
kicker  15px / 500 / tracking 0.3em / uppercase
title  54px / 700 / tracking 0.01em / leading 1.3
count  17px / 400 / tabular numerals
id  16px / 700 / tracking 0.14em / tabular numerals
name  25px / 700 / leading 1.4
about  16px / 400 / leading 1.7
pages  14px / 400 / tabular numerals
foot  16px / 400 / leading 1.8

## Colour
Ground #111722 / Surface #1A2231 / Ink #E9EDF4 / Muted #8894A6 / Accent #5AA2E8 / Rule #2B3445

## Constraints — dropping these breaks it
- Tile it. A vertical list makes the appendix look like more reading, and people enter it the way they left the main deck
- One line of contents and a page count per item — a list of titles alone makes people open every one
- Raise the rule only on the items you will actually open; raised everywhere it stops being an index
- Number the appendices on their own series, apart from the chapters — shared numbers send every question to the wrong page
- Say plainly that this is outside the main deck — the appendix door is also the signal that nothing after it gets read aloud

Replace the content with [your content]. Keep the measurements and colours as given.
For an exact reproduction, use the verbatim HTML at https://design-vault.pages.dev/designs/appendix-index-grid/pattern.html.

Spec

1.8 KB

/ai/designs/appendix-index-grid.json

format: slide-16x9
density: medium
layout:
  kind: grid
  canvas:
    w: 1920
    h: 1080
  margin:
    top: 108
    right: 140
    bottom: 108
    left: 140
  columns:
    count: 3
    gap: 24
type:
  kicker:
    size: 15
    weight: 500
    tracking: 0.3em
    transform: upper
  title:
    size: 54
    weight: 700
    tracking: 0.01em
    leading: 1.3
  count:
    size: 17
    weight: 400
    numeric: tabular
  id:
    size: 16
    weight: 700
    tracking: 0.14em
    numeric: tabular
  name:
    size: 25
    weight: 700
    leading: 1.4
  about:
    size: 16
    weight: 400
    leading: 1.7
  pages:
    size: 14
    weight: 400
    numeric: tabular
  foot:
    size: 16
    weight: 400
    leading: 1.8
colors:
  ground: "#111722"
  surface: "#1A2231"
  ink: "#E9EDF4"
  muted: "#8894A6"
  accent: "#5AA2E8"
  rule: "#2B3445"
rules:
  - Tile it. A vertical list makes the appendix look like more reading, and people enter it the way they left the main deck
  - One line of contents and a page count per item — a list of titles alone makes people open every one
  - Raise the rule only on the items you will actually open; raised everywhere it stops being an index
  - Number the appendices on their own series, apart from the chapters — shared numbers send every question to the wrong page
  - Say plainly that this is outside the main deck — the appendix door is also the signal that nothing after it gets read aloud

Files

pattern.html

4.9 KB

/designs/appendix-index-grid/pattern.html — The artboard itself, font subset included — open it and this picture draws.

Show contents
<!doctype html>
<meta charset="utf-8">
<title>付録の扉 — 収録物を番号つきの格子で見せる</title>
<meta name="dv-font" content="Zen Kaku Gothic New:400;500;700">
<link rel="stylesheet" href="./font.css">
<style>
  /* この版そのもの。index.md の layout / type / colors は、この HTML を
     scripts/render-pattern.mjs で実測した結果であって、別に書いた説明ではない。 */
  :root {
    --ground: #111722;
    --surface: #1A2231;
    --ink: #E9EDF4;
    --muted: #8894A6;
    --accent: #5AA2E8;
    --rule: #2B3445;
  }
  * { box-sizing: border-box; margin: 0; }
  html, body { width: 1920px; height: 1080px; }
  body { font-family: "Zen Kaku Gothic New", "IPAGothic", sans-serif; }

  .artboard {
    width: 1920px; height: 1080px;
    background: var(--ground); color: var(--ink);
    padding: 108px 140px;                 /* → layout.margin */
  }
  .content { height: 100%; display: grid; grid-template-rows: auto 1fr auto; }

  .head { display: flex; align-items: baseline; justify-content: space-between; gap: 40px; }
  .left { display: flex; align-items: baseline; gap: 30px; }
  .kicker { font-size: 15px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--accent); }
  .title { font-size: 54px; font-weight: 700; line-height: 1.3; letter-spacing: .01em; }
  .count { font-size: 17px; font-weight: 400; color: var(--muted); font-variant-numeric: tabular-nums; }

  /* 格子にすると、付録が「読み物の続き」ではなく「引くもの」として見える。
     本編の流れを切った先なので、通し読みの姿勢のまま入らせない。 */
  .grid { align-self: center; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .card { background: var(--surface); border-top: 2px solid var(--rule); padding: 32px 34px 34px; }
  /* この場で参照する付録だけを立てる。全部立てると索引として使えない。 */
  .card[data-here] { border-top-color: var(--accent); }
  .id { font-size: 16px; font-weight: 700; letter-spacing: .14em; color: var(--muted); font-variant-numeric: tabular-nums; }
  .card[data-here] .id { color: var(--accent); }
  .name { font-size: 25px; font-weight: 700; line-height: 1.4; margin-top: 14px; }
  .about { font-size: 16px; font-weight: 400; line-height: 1.7; color: var(--muted); margin-top: 14px; }
  .pages { font-size: 14px; font-weight: 400; color: var(--muted); margin-top: 18px; font-variant-numeric: tabular-nums; }

  .foot { font-size: 16px; font-weight: 400; line-height: 1.8; color: var(--muted); border-top: 1px solid var(--rule); padding-top: 26px; }
</style>

<div class="artboard" data-artboard>
  <div class="content" data-content>
    <div class="head">
      <div class="left">
        <p class="kicker" data-type="kicker">APPENDIX</p>
        <h1 class="title" data-type="title">付録</h1>
      </div>
      <p class="count" data-type="count">6 編 / 全 34 頁 / 本編には含みません</p>
    </div>

    <div class="grid">
      <section class="card" data-col="1" data-here>
        <p class="id" data-type="id">A-1</p>
        <p class="name" data-type="name">要求一覧への回答(全 48 件)</p>
        <p class="about" data-type="about">本編 3 章で抜粋した 6 件を含む全件。判定と実現方式を要求番号順に記載。</p>
        <p class="pages" data-type="pages">12 頁</p>
      </section>
      <section class="card" data-col="2">
        <p class="id">A-2</p>
        <p class="name">現行業務フローと課題の対応</p>
        <p class="about">1 章の課題が、現行フローのどの手順から出ているかの対応表。</p>
        <p class="pages">4 頁</p>
      </section>
      <section class="card" data-col="3">
        <p class="id">B-1</p>
        <p class="name">要員一覧と稼働率</p>
        <p class="about">体制図に載せなかった氏名・経歴・月別の稼働率。</p>
        <p class="pages">3 頁</p>
      </section>
      <section class="card">
        <p class="id">B-2</p>
        <p class="name">見積の内訳</p>
        <p class="about">工程別の人月と単価、前提条件および変動要因。</p>
        <p class="pages">5 頁</p>
      </section>
      <section class="card" data-here>
        <p class="id">C-1</p>
        <p class="name">移行方式の比較検討</p>
        <p class="about">一括・段階・並行の 3 案を比較し、一括を選んだ理由。</p>
        <p class="pages">6 頁</p>
      </section>
      <section class="card">
        <p class="id">C-2</p>
        <p class="name">用語集</p>
        <p class="about">本編と付録で使う業務用語・システム用語の定義。</p>
        <p class="pages">4 頁</p>
      </section>
    </div>

    <p class="foot" data-type="foot">罫を立てた 2 編は、本日のご説明中に参照します。それ以外はお持ち帰りいただく資料で、この場では読み上げません。</p>
  </div>
</div>

font.css

4.3 KB

/designs/appendix-index-grid/font.css — Not in Everything

Show contents
/* dv-subset v2 — generated by scripts/subset-font.mjs. Do not edit.
 * font    Zen Kaku Gothic New 400;500;700
 * chars   176 (f6e7a14b2089d508)
 *
 * pattern.html の文字だけを含む部分集合。描画時に外部へ取りに行かないよう同梱する。
 * 版の文字を変えたら取り直すこと — 忘れると足りない字が豆腐になる。
 * その取り忘れは pattern-entries.test.ts が上の指紋で検出する。
 */

@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(./font-0.woff2) format('woff2');
  unicode-range: U+2d, U+31-36, U+38, U+41-45, U+49, U+4e, U+50, U+58, U+2014, U+3001-3002, U+3044, U+3046, U+304a-3054, U+3057-306b, U+306e-3070, U+3072-3073, U+3078-3079, U+307e-3080, U+3088-308c, U+3092-3094, U+3099, U+30b7-30ba, U+30c6-30c7, U+30d5-30d6, U+30e0, U+30ed, U+30fb-30fc, U+4e00, U+4e0a, U+4e26, U+4e2d, U+4eba, U+4ed8, U+4ee5, U+4ef6, U+4f53, U+4f7f, U+4fa1, U+50cd, U+5168, U+5185, U+51fa, U+5224-5225, U+5236, U+524d, U+52d5, U+52d9, U+5358, U+53c2, U+53ce, U+53f7, U+540d, U+542b, U+54e1, U+56de, U+56e0, U+56f3, U+5834, U+5909, U+5916, U+5b50, U+5b9a, U+5b9f, U+5bfe, U+5de5, U+5e30, U+5f0f, U+5fdc, U+6249, U+624b, U+629c, U+62ec, U+6301, U+63d0, U+6599, U+65b9, U+65e5, U+660e, U+6708, U+672c, U+6761, U+683c, U+6848, U+691c, U+696d, U+6b74, U+6bb5, U+6bd4, U+6c0f, U+6c42, U+7167, U+7269, U+7387, U+73fe, U+7406, U+7528, U+7531, U+756a, U+79fb, U+7a0b, U+7a3c, U+7a4d, U+7acb, U+7ae0, U+7b54, U+7c8b, U+7d4c, U+7de8, U+7f6b, U+7fa9, U+884c, U+8868, U+8981, U+898b, U+89a7, U+8a0e, U+8a18, U+8a33, U+8a9e, U+8aac-8aad, U+8ab2, U+8cc7, U+8f03, U+8f09, U+9078, U+9332, U+968e, U+96c6, U+9801, U+9806, U+984c, U+ff08-ff09, U+ff0f;
}
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url(./font-1.woff2) format('woff2');
  unicode-range: U+2d, U+31-36, U+38, U+41-45, U+49, U+4e, U+50, U+58, U+2014, U+3001-3002, U+3044, U+3046, U+304a-3054, U+3057-306b, U+306e-3070, U+3072-3073, U+3078-3079, U+307e-3080, U+3088-308c, U+3092-3094, U+3099, U+30b7-30ba, U+30c6-30c7, U+30d5-30d6, U+30e0, U+30ed, U+30fb-30fc, U+4e00, U+4e0a, U+4e26, U+4e2d, U+4eba, U+4ed8, U+4ee5, U+4ef6, U+4f53, U+4f7f, U+4fa1, U+50cd, U+5168, U+5185, U+51fa, U+5224-5225, U+5236, U+524d, U+52d5, U+52d9, U+5358, U+53c2, U+53ce, U+53f7, U+540d, U+542b, U+54e1, U+56de, U+56e0, U+56f3, U+5834, U+5909, U+5916, U+5b50, U+5b9a, U+5b9f, U+5bfe, U+5de5, U+5e30, U+5f0f, U+5fdc, U+6249, U+624b, U+629c, U+62ec, U+6301, U+63d0, U+6599, U+65b9, U+65e5, U+660e, U+6708, U+672c, U+6761, U+683c, U+6848, U+691c, U+696d, U+6b74, U+6bb5, U+6bd4, U+6c0f, U+6c42, U+7167, U+7269, U+7387, U+73fe, U+7406, U+7528, U+7531, U+756a, U+79fb, U+7a0b, U+7a3c, U+7a4d, U+7acb, U+7ae0, U+7b54, U+7c8b, U+7d4c, U+7de8, U+7f6b, U+7fa9, U+884c, U+8868, U+8981, U+898b, U+89a7, U+8a0e, U+8a18, U+8a33, U+8a9e, U+8aac-8aad, U+8ab2, U+8cc7, U+8f03, U+8f09, U+9078, U+9332, U+968e, U+96c6, U+9801, U+9806, U+984c, U+ff08-ff09, U+ff0f;
}
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url(./font-2.woff2) format('woff2');
  unicode-range: U+2d, U+31-36, U+38, U+41-45, U+49, U+4e, U+50, U+58, U+2014, U+3001-3002, U+3044, U+3046, U+304a-3054, U+3057-306b, U+306e-3070, U+3072-3073, U+3078-3079, U+307e-3080, U+3088-308c, U+3092-3094, U+3099, U+30b7-30ba, U+30c6-30c7, U+30d5-30d6, U+30e0, U+30ed, U+30fb-30fc, U+4e00, U+4e0a, U+4e26, U+4e2d, U+4eba, U+4ed8, U+4ee5, U+4ef6, U+4f53, U+4f7f, U+4fa1, U+50cd, U+5168, U+5185, U+51fa, U+5224-5225, U+5236, U+524d, U+52d5, U+52d9, U+5358, U+53c2, U+53ce, U+53f7, U+540d, U+542b, U+54e1, U+56de, U+56e0, U+56f3, U+5834, U+5909, U+5916, U+5b50, U+5b9a, U+5b9f, U+5bfe, U+5de5, U+5e30, U+5f0f, U+5fdc, U+6249, U+624b, U+629c, U+62ec, U+6301, U+63d0, U+6599, U+65b9, U+65e5, U+660e, U+6708, U+672c, U+6761, U+683c, U+6848, U+691c, U+696d, U+6b74, U+6bb5, U+6bd4, U+6c0f, U+6c42, U+7167, U+7269, U+7387, U+73fe, U+7406, U+7528, U+7531, U+756a, U+79fb, U+7a0b, U+7a3c, U+7a4d, U+7acb, U+7ae0, U+7b54, U+7c8b, U+7d4c, U+7de8, U+7f6b, U+7fa9, U+884c, U+8868, U+8981, U+898b, U+89a7, U+8a0e, U+8a18, U+8a33, U+8a9e, U+8aac-8aad, U+8ab2, U+8cc7, U+8f03, U+8f09, U+9078, U+9332, U+968e, U+96c6, U+9801, U+9806, U+984c, U+ff08-ff09, U+ff0f;
}

Notes

この構成について / About this pattern

本編から外した資料の置き場を扉で示す版。pattern.html が版そのもので、cover.png と frontmatter の寸法はどちらもそこから機械的に出している。編集するのは pattern.html だけ。

The door to what was taken out of the main deck. pattern.html is the artboard itself; both cover.png and the measurements come from it, so the three cannot drift apart.

Techniques

Apply to