@subroh0508/marp-theme-canvas 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,128 @@
1
+ // ===== _base.scss =====
2
+ // シンタックスハイライト用スタイル(highlight.jsクラスへのカラーマッピング)
3
+ // marp-core v4.2.0 を改変
4
+ // https://github.com/marp-team/marp-core/blob/v4.2.0/themes/default.scss
5
+
6
+ @mixin configure(
7
+ $comment, // コメント (pl-c)
8
+ $constant, // 定数 (pl-c1)
9
+ $entity, // エンティティ・関数名 (pl-e, pl-en)
10
+ $entity-tag, // タグ名 (pl-ent)
11
+ $keyword, // キーワード (pl-k)
12
+ $string, // 文字列 (pl-s)
13
+ $variable, // 変数 (pl-v)
14
+ $storage-modifier, // デフォルトテキスト (pl-smi)
15
+ $markup-heading, // 見出し (pl-mh)
16
+ $markup-list, // リストマーカー (pl-ml)
17
+ $markup-inserted-text, // 挿入テキスト色 (pl-mi1)
18
+ $markup-inserted-bg, // 挿入背景色 (pl-mi1)
19
+ $markup-deleted-text, // 削除テキスト色 (pl-md)
20
+ $markup-deleted-bg // 削除背景色 (pl-md)
21
+ ) {
22
+ pre {
23
+ // デフォルト色
24
+ :where(.hljs) {
25
+ color: $storage-modifier;
26
+ }
27
+
28
+ // キーワード系
29
+ :where(.hljs-doctag),
30
+ :where(.hljs-keyword),
31
+ :where(.hljs-meta .hljs-keyword),
32
+ :where(.hljs-template-tag),
33
+ :where(.hljs-template-variable),
34
+ :where(.hljs-type),
35
+ :where(.hljs-variable.language_) {
36
+ color: $keyword;
37
+ }
38
+
39
+ // 関数・クラス名
40
+ :where(.hljs-title),
41
+ :where(.hljs-title.class_),
42
+ :where(.hljs-title.class_.inherited__),
43
+ :where(.hljs-title.function_) {
44
+ color: $entity;
45
+ }
46
+
47
+ // 定数・属性・数値
48
+ :where(.hljs-attr),
49
+ :where(.hljs-attribute),
50
+ :where(.hljs-literal),
51
+ :where(.hljs-meta),
52
+ :where(.hljs-number),
53
+ :where(.hljs-operator),
54
+ :where(.hljs-selector-attr),
55
+ :where(.hljs-selector-class),
56
+ :where(.hljs-selector-id),
57
+ :where(.hljs-variable) {
58
+ color: $constant;
59
+ }
60
+
61
+ // 文字列・正規表現
62
+ :where(.hljs-string),
63
+ :where(.hljs-meta .hljs-string),
64
+ :where(.hljs-regexp) {
65
+ color: $string;
66
+ }
67
+
68
+ // 組み込み関数・シンボル
69
+ :where(.hljs-built_in),
70
+ :where(.hljs-symbol) {
71
+ color: $variable;
72
+ }
73
+
74
+ // コメント
75
+ :where(.hljs-code),
76
+ :where(.hljs-comment),
77
+ :where(.hljs-formula) {
78
+ color: $comment;
79
+ }
80
+
81
+ // タグ名・セレクタ
82
+ :where(.hljs-name),
83
+ :where(.hljs-quote),
84
+ :where(.hljs-selector-pseudo),
85
+ :where(.hljs-selector-tag) {
86
+ color: $entity-tag;
87
+ }
88
+
89
+ // 変数展開
90
+ :where(.hljs-subst) {
91
+ color: $storage-modifier;
92
+ }
93
+
94
+ // マークアップ: 見出し
95
+ :where(.hljs-section) {
96
+ font-weight: bold;
97
+ color: $markup-heading;
98
+ }
99
+
100
+ // マークアップ: リスト
101
+ :where(.hljs-bullet) {
102
+ color: $markup-list;
103
+ }
104
+
105
+ // マークアップ: 強調
106
+ :where(.hljs-emphasis) {
107
+ font-style: italic;
108
+ color: $storage-modifier;
109
+ }
110
+
111
+ :where(.hljs-strong) {
112
+ font-weight: bold;
113
+ color: $storage-modifier;
114
+ }
115
+
116
+ // diff: 追加行
117
+ :where(.hljs-addition) {
118
+ color: $markup-inserted-text;
119
+ background-color: $markup-inserted-bg;
120
+ }
121
+
122
+ // diff: 削除行
123
+ :where(.hljs-deletion) {
124
+ color: $markup-deleted-text;
125
+ background-color: $markup-deleted-bg;
126
+ }
127
+ }
128
+ }
@@ -0,0 +1,41 @@
1
+ // ===== _dark.scss =====
2
+ // シンタックスハイライト(Dark テーマ)カラー定義
3
+ // github-markdown-css v5.8.1 を改変
4
+ // https://github.com/sindresorhus/github-markdown-css/blob/v5.8.1/github-markdown-dark.css
5
+
6
+ @use 'base';
7
+
8
+ // ===== Dark テーマカラー =====
9
+ $pl-comment: #9198a1;
10
+ $pl-constant: #79c0ff;
11
+ $pl-entity: #d2a8ff;
12
+ $pl-entity-tag: #7ee787;
13
+ $pl-keyword: #ff7b72;
14
+ $pl-string: #a5d6ff;
15
+ $pl-variable: #ffa657;
16
+ $pl-storage-modifier: #f0f6fc;
17
+ $pl-markup-heading: #1f6feb;
18
+ $pl-markup-list: #f2cc60;
19
+ $pl-markup-inserted-text: #aff5b4;
20
+ $pl-markup-inserted-bg: #033a16;
21
+ $pl-markup-deleted-text: #ffdcd7;
22
+ $pl-markup-deleted-bg: #67060c;
23
+
24
+ @mixin configure {
25
+ @include base.configure(
26
+ $pl-comment,
27
+ $pl-constant,
28
+ $pl-entity,
29
+ $pl-entity-tag,
30
+ $pl-keyword,
31
+ $pl-string,
32
+ $pl-variable,
33
+ $pl-storage-modifier,
34
+ $pl-markup-heading,
35
+ $pl-markup-list,
36
+ $pl-markup-inserted-text,
37
+ $pl-markup-inserted-bg,
38
+ $pl-markup-deleted-text,
39
+ $pl-markup-deleted-bg
40
+ );
41
+ }
@@ -0,0 +1,13 @@
1
+ @charset "utf-8";
2
+
3
+ /*!
4
+ * Prettylights - GitHub風シンタックスハイライトテーマ
5
+ *
6
+ * @use '@subroh0508/marp-theme-canvas/scss/component/prettylights';
7
+ * @use '@subroh0508/marp-theme-canvas/scss/component/prettylights/light';
8
+ * @use '@subroh0508/marp-theme-canvas/scss/component/prettylights/dark';
9
+ */
10
+
11
+ @forward 'base' as base-*;
12
+ @forward 'light' as light-*;
13
+ @forward 'dark' as dark-*;
@@ -0,0 +1,41 @@
1
+ // ===== _light.scss =====
2
+ // シンタックスハイライト(Light テーマ)カラー定義
3
+ // github-markdown-css v5.8.1 を改変
4
+ // https://github.com/sindresorhus/github-markdown-css/blob/v5.8.1/github-markdown-light.css
5
+
6
+ @use 'base';
7
+
8
+ // ===== Light テーマカラー =====
9
+ $pl-comment: #59636e;
10
+ $pl-constant: #0550ae;
11
+ $pl-entity: #6639ba;
12
+ $pl-entity-tag: #0550ae;
13
+ $pl-keyword: #cf222e;
14
+ $pl-string: #0a3069;
15
+ $pl-variable: #953800;
16
+ $pl-storage-modifier: #1f2328;
17
+ $pl-markup-heading: #0550ae;
18
+ $pl-markup-list: #3b2300;
19
+ $pl-markup-inserted-text: #116329;
20
+ $pl-markup-inserted-bg: #dafbe1;
21
+ $pl-markup-deleted-text: #82071e;
22
+ $pl-markup-deleted-bg: #ffebe9;
23
+
24
+ @mixin configure {
25
+ @include base.configure(
26
+ $pl-comment,
27
+ $pl-constant,
28
+ $pl-entity,
29
+ $pl-entity-tag,
30
+ $pl-keyword,
31
+ $pl-string,
32
+ $pl-variable,
33
+ $pl-storage-modifier,
34
+ $pl-markup-heading,
35
+ $pl-markup-list,
36
+ $pl-markup-inserted-text,
37
+ $pl-markup-inserted-bg,
38
+ $pl-markup-deleted-text,
39
+ $pl-markup-deleted-bg
40
+ );
41
+ }
@@ -0,0 +1,74 @@
1
+ # page
2
+
3
+ 特定用途に特化したページスタイル(Marpのclass指定で切り替え)
4
+
5
+ ## ファイル構成
6
+
7
+ ```scss
8
+ // ===== _ファイル名.scss =====
9
+ // スタイルの説明(どのようなページに使うか)
10
+ //
11
+ // 使用方法: <!-- _class: クラス名 -->
12
+
13
+ @mixin configure($引数1, $引数2, $引数3: デフォルト値) {
14
+ &.クラス名 {
15
+ // セレクタの役割をコメントで説明
16
+ セレクタ {
17
+ プロパティ: 値;
18
+ }
19
+ }
20
+ }
21
+ ```
22
+
23
+ ## スコープ設定
24
+
25
+ 必ず `&.クラス名` でラップする(親の `section` に依存)
26
+
27
+ ```scss
28
+ &.toc {
29
+ ul,
30
+ ol {
31
+ font-size: $font-size;
32
+ }
33
+ }
34
+ ```
35
+
36
+ ## コメント規約
37
+
38
+ - **セレクタの役割**: 各セレクタの前にコメントで用途を説明
39
+ - **レイアウト情報**: flexの配置方法など、視覚的な配置をコメント
40
+
41
+ ```scss
42
+ // h1: タイトル文字列
43
+ // section上8割を占有、上下中央揃え、左寄せ
44
+ h1 {
45
+ font-size: $font-size-title;
46
+ flex: 0 0 80%;
47
+ // ...
48
+ }
49
+ ```
50
+
51
+ ## テーマからの呼び出し
52
+
53
+ `white-canvas.scss` などテーマファイルで `section` ブロック内から呼び出す:
54
+
55
+ ```scss
56
+ @use './page/title' as page-title;
57
+
58
+ section {
59
+ @include page-title.configure(
60
+ $font-size-title: var(--font-size-display),
61
+ $color-metadata-text: var(--color-grey-light)
62
+ );
63
+ }
64
+ ```
65
+
66
+ ## 既存のページスタイル一覧
67
+
68
+ | ファイル | クラス名 | 用途 |
69
+ |----------|----------|------|
70
+ | `_title.scss` | `title` | タイトルページ(h1 + メタデータ) |
71
+ | `_toc.scss` | `toc` | 目次ページ |
72
+ | `_agenda.scss` | `agenda` | アジェンダ(今日話すこと等) |
73
+ | `_section.scss` | `section` | 中扉ページ |
74
+ | `_display.scss` | `display` | 大きく表示(文章または画像) |
@@ -0,0 +1,38 @@
1
+ // ===== _agenda.scss =====
2
+ // アジェンダページ用スタイル
3
+ // 「今日話すこと」「Learning Outcome」等を冒頭に提示するページ
4
+ //
5
+ // 使用方法: <!-- _class: agenda -->
6
+
7
+ @mixin configure(
8
+ $font-size-heading,
9
+ $font-size-body,
10
+ $line-height-heading,
11
+ $line-height-body,
12
+ $font-weight-heading: bold,
13
+ $font-weight-body: normal
14
+ ) {
15
+ &.agenda {
16
+ // リスト: 直接の子要素
17
+ > ul,
18
+ > ol {
19
+ font-size: $font-size-heading;
20
+ font-weight: $font-weight-heading;
21
+ line-height: $line-height-heading;
22
+
23
+ // ネストされたリスト(第2レベル)
24
+ ul,
25
+ ol {
26
+ font-size: calc(#{$font-size-body} / #{$font-size-heading} * 1em);
27
+ font-weight: $font-weight-body;
28
+ line-height: $line-height-body;
29
+
30
+ // 第3レベル以降はサイズを維持
31
+ ul,
32
+ ol {
33
+ font-size: 1em;
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,39 @@
1
+ // ===== _display.scss =====
2
+ // 短い文章を大きく表示したり、1枚の写真や図を目立たせるページ用スタイル
3
+ //
4
+ // 使用方法: <!-- _class: display -->
5
+
6
+ @mixin configure(
7
+ $font-size,
8
+ $font-weight-bold: bold,
9
+ $font-weight-normal: normal
10
+ ) {
11
+ &.display {
12
+ // 上下左右中央揃え
13
+ justify-content: center;
14
+ align-items: center;
15
+
16
+ // p: メイン文章(上下左右中央揃え)
17
+ p {
18
+ margin: 0;
19
+ text-align: center;
20
+ }
21
+
22
+ // imgが存在しない場合、pタグを大きく表示
23
+ &:not(:has(img)) p {
24
+ font-size: $font-size;
25
+ font-weight: $font-weight-bold;
26
+ }
27
+
28
+ // img: 画像(上下左右中央揃え)
29
+ img {
30
+ display: block;
31
+ margin: 0 0;
32
+ }
33
+
34
+ // pタグが存在する場合、imgの下にマージンを追加
35
+ &:has(p) img {
36
+ margin: 0 0 1em;
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,14 @@
1
+ @charset "utf-8";
2
+
3
+ /*!
4
+ * Page Styles - 特定用途に特化したページスタイル
5
+ *
6
+ * @use '@subroh0508/marp-theme-canvas/scss/page';
7
+ * @use '@subroh0508/marp-theme-canvas/scss/page/title';
8
+ */
9
+
10
+ @forward 'agenda' as agenda-*;
11
+ @forward 'display' as display-*;
12
+ @forward 'section' as section-*;
13
+ @forward 'title' as title-*;
14
+ @forward 'toc' as toc-*;
@@ -0,0 +1,20 @@
1
+ // ===== _section.scss =====
2
+ // 中扉ページ用スタイル
3
+ //
4
+ // 使用方法: <!-- _class: section -->
5
+
6
+ @mixin configure($font-size, $font-weight: bold) {
7
+ &.section {
8
+ // p: セクションタイトル
9
+ // 上下中央揃え、左寄せ
10
+ p {
11
+ flex: 1;
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: flex-start;
15
+ font-size: $font-size;
16
+ font-weight: $font-weight;
17
+ margin: 0;
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,38 @@
1
+ // ===== _title.scss =====
2
+ // タイトルページ用スタイル
3
+ //
4
+ // 使用方法: <!-- _class: title -->
5
+
6
+ @mixin configure($font-size-title, $color-metadata-text) {
7
+ &.title {
8
+ // h1: タイトル文字列
9
+ // section上8割を占有、上下中央揃え、左寄せ
10
+ h1 {
11
+ font-size: $font-size-title;
12
+ flex: 0 0 80%;
13
+ display: flex;
14
+ flex-direction: column;
15
+ align-items: flex-start;
16
+ justify-content: center;
17
+ margin: 0;
18
+
19
+ // small: サブタイトル
20
+ small {
21
+ margin-top: 0.5em;
22
+ font-size: 0.5em;
23
+ }
24
+ }
25
+
26
+ // h1直後のp: 日付・イベント名・著者名
27
+ h1 + p {
28
+ flex: 1;
29
+ display: flex;
30
+ flex-direction: column;
31
+ align-items: flex-end;
32
+ justify-content: center;
33
+ text-align: right;
34
+ color: $color-metadata-text;
35
+ margin: 0;
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,15 @@
1
+ // ===== _toc.scss =====
2
+ // 目次ページ用スタイル
3
+ //
4
+ // 使用方法: <!-- _class: toc -->
5
+
6
+ @mixin configure($font-size, $line-height) {
7
+ &.toc {
8
+ // リスト: 目次項目(直接の子要素のみ)
9
+ > ul,
10
+ > ol {
11
+ font-size: $font-size;
12
+ line-height: $line-height;
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,233 @@
1
+ /*!
2
+ * White Canvas - 極力余計なスタイリングを廃した、シンプルなスライドテーマ
3
+ *
4
+ * 使用時はMarpのインラインスタイル指定で以下の変数を必ず定義してください。
5
+ * - --color-primary: メインカラー(h2の文字色など)
6
+ * - --color-accent: アクセントカラー(markタグの背景色など)
7
+ *
8
+ * 例:
9
+ * style: |
10
+ * :root {
11
+ * --color-primary: #3b91c4;
12
+ * --color-accent: #ead7a4;
13
+ * }
14
+ *
15
+ * @theme white-canvas
16
+ * @author subroh_0508
17
+ *
18
+ * @auto-scaling true
19
+ * @size 16:9 1920px 1080px
20
+ */
21
+
22
+ // ===== コンポーネント =====
23
+ @use './component/prettylights/light' as prettylights;
24
+ @use './component/table' as table;
25
+ @use './component/code' as code;
26
+ @use './component/section' as section;
27
+ @use './component/pagination' as pagination;
28
+ @use './component/header' as header;
29
+ @use './component/footer' as footer;
30
+ @use './component/heading' as heading;
31
+ @use './component/blockquote' as blockquote;
32
+ @use './component/text-decorator' as text-decorator;
33
+ @use './component/columns' as columns;
34
+ @use './component/a' as a;
35
+
36
+ // ===== ページスタイル =====
37
+ @use './page/title' as page-title;
38
+ @use './page/section' as page-section;
39
+ @use './page/toc' as page-toc;
40
+ @use './page/agenda' as page-agenda;
41
+ @use './page/display' as page-display;
42
+
43
+ // ===== Google Fonts =====
44
+ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap');
45
+
46
+ // ===== CSS変数(デフォルト値) =====
47
+ :root {
48
+ // --- 色(白黒) ---
49
+ --color-black: #000;
50
+ --color-white: #fff;
51
+
52
+ // --- 色(グレースケール 7色): Tailwind slate 300-900 ---
53
+ --color-grey-lightest: #cbd5e1; // slate-300
54
+ --color-grey-lighter: #94a3b8; // slate-400
55
+ --color-grey-light: #64748b; // slate-500
56
+ --color-grey-medium: #475569; // slate-600
57
+ --color-grey-dark: #334155; // slate-700
58
+ --color-grey-darker: #1e293b; // slate-800
59
+ --color-grey-darkest: #0f172a; // slate-900
60
+
61
+ // --- 色(コンポーネント: blockquote) ---
62
+ --color-blockquote-background: color-mix(in srgb, var(--color-grey-light) 10%, transparent);
63
+ --color-blockquote-mark: var(--color-grey-medium);
64
+ --color-blockquote-text: var(--color-grey-medium);
65
+
66
+ // --- 色(コンポーネント: table) ---
67
+ --color-table-row-bg: var(--color-white);
68
+ --color-table-row-bg-header: var(--color-grey-lightest);
69
+ --color-table-border: var(--color-grey-light);
70
+
71
+ // --- 色(コンポーネント: code) ---
72
+ --color-code-bg: color-mix(in srgb, var(--color-grey-light) 10%, transparent);
73
+ --color-code-fg: var(--color-grey-darkest);
74
+
75
+ // --- 色(コンポーネント: link) ---
76
+ --color-link: #2563eb; // Tailwind blue-600
77
+
78
+ // --- フォント ---
79
+ --font-family-base: 'Noto Sans JP', sans-serif;
80
+ --font-family-mono: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
81
+
82
+ // --- フォントサイズ ---
83
+ --font-size-base: 40px;
84
+ --font-size-display: 2.5em;
85
+ --font-size-title: 2em;
86
+ --font-size-heading: 1.3em;
87
+ --font-size-medium: 1.15em;
88
+ --font-size-body: 1em;
89
+ --font-size-small: 0.85em;
90
+ --font-size-note: 0.7em;
91
+
92
+ // --- フォントウェイト ---
93
+ --font-weight-normal: 400;
94
+ --font-weight-bold: 700;
95
+ --font-weight-black: 900;
96
+
97
+ // --- 行間 ---
98
+ --line-height-tight: 1.2;
99
+ --line-height-normal: 1.45;
100
+ --line-height-loose: 2;
101
+
102
+ // --- レイアウト ---
103
+ --slide-padding-x: 80px;
104
+ --slide-padding-y: 80px;
105
+ --header-footer-margin-x: 80px;
106
+ --header-footer-margin-y: 20px;
107
+ --border-radius: 8px;
108
+ }
109
+
110
+ // ===== section(スライド本体) =====
111
+ section {
112
+ @include prettylights.configure;
113
+ @include section.configure(
114
+ $width: 1920px,
115
+ $height: 1080px,
116
+ $padding-x: var(--slide-padding-x),
117
+ $padding-y: var(--slide-padding-y),
118
+ $color-bg: var(--color-white),
119
+ $color-text: var(--color-grey-darkest),
120
+ $font-family: var(--font-family-base),
121
+ $font-size: var(--font-size-base),
122
+ $line-height: var(--line-height-normal),
123
+ $list-indent: 1.3em
124
+ );
125
+ @include pagination.configure(
126
+ $margin-x: var(--header-footer-margin-x),
127
+ $margin-y: var(--header-footer-margin-y),
128
+ $font-size: var(--font-size-note),
129
+ $color-text: var(--color-grey-medium)
130
+ );
131
+
132
+ // ===== ページスタイル =====
133
+ @include page-title.configure(
134
+ $font-size-title: var(--font-size-display),
135
+ $color-metadata-text: var(--color-grey-light)
136
+ );
137
+
138
+ @include page-section.configure(
139
+ $font-size: var(--font-size-title)
140
+ );
141
+
142
+ @include page-toc.configure(
143
+ $font-size: var(--font-size-heading),
144
+ $line-height: var(--line-height-loose)
145
+ );
146
+
147
+ @include page-agenda.configure(
148
+ $font-size-heading: var(--font-size-heading),
149
+ $font-size-body: var(--font-size-body),
150
+ $line-height-heading: var(--line-height-loose),
151
+ $line-height-body: var(--line-height-normal),
152
+ $font-weight-heading: var(--font-weight-bold),
153
+ $font-weight-body: var(--font-weight-normal)
154
+ );
155
+
156
+ @include page-display.configure(
157
+ $font-size: var(--font-size-display),
158
+ $font-weight-bold: var(--font-weight-bold),
159
+ $font-weight-normal: var(--font-weight-normal)
160
+ );
161
+
162
+ // ===== カラムレイアウト =====
163
+ @include columns.configure();
164
+ }
165
+
166
+ // ===== header =====
167
+ @include header.configure(
168
+ $margin-x: var(--header-footer-margin-x),
169
+ $margin-y: var(--header-footer-margin-y),
170
+ $font-size: var(--font-size-note),
171
+ $color-text: var(--color-grey-medium)
172
+ );
173
+
174
+ // ===== footer =====
175
+ @include footer.configure(
176
+ $margin-x: var(--header-footer-margin-x),
177
+ $margin-y: var(--header-footer-margin-y),
178
+ $font-size: var(--font-size-note),
179
+ $color-text: var(--color-grey-medium)
180
+ );
181
+
182
+ // ===== 見出し(h1-h6) =====
183
+ @include heading.configure(
184
+ $line-height: var(--line-height-tight),
185
+ $font-size-h1: var(--font-size-title),
186
+ $font-size-h2: var(--font-size-heading),
187
+ $font-size-h3: var(--font-size-medium),
188
+ $font-weight-h1: var(--font-weight-bold),
189
+ $font-weight-h2: var(--font-weight-bold),
190
+ $font-weight-h3: var(--font-weight-bold),
191
+ $font-weight-h4: var(--font-weight-bold),
192
+ $font-weight-h5: var(--font-weight-normal),
193
+ $font-weight-h6: var(--font-weight-normal),
194
+ $color-text-h2: var(--color-primary)
195
+ );
196
+
197
+ // ===== 引用(blockquote) =====
198
+ @include blockquote.configure(
199
+ $font-size: var(--font-size-body),
200
+ $line-height: var(--line-height-tight),
201
+ $color-text: var(--color-blockquote-text),
202
+ $color-bg: var(--color-blockquote-background),
203
+ $color-mark: var(--color-blockquote-mark),
204
+ $border-radius: var(--border-radius)
205
+ );
206
+
207
+ // ===== テキスト装飾(strong, mark, rp) =====
208
+ @include text-decorator.configure(
209
+ $font-weight-bold: var(--font-weight-bold),
210
+ $font-weight-normal: var(--font-weight-normal),
211
+ $color-text-highlight: var(--color-accent)
212
+ );
213
+
214
+ // ===== リンク(a) =====
215
+ @include a.configure(
216
+ $color-text: var(--color-link)
217
+ );
218
+
219
+ // ===== table =====
220
+ @include table.configure(
221
+ $color-row-bg: var(--color-table-row-bg),
222
+ $color-header-bg: var(--color-table-row-bg-header),
223
+ $color-even-row-bg: var(--color-table-row-bg),
224
+ $color-border-vert: var(--color-table-border),
225
+ $color-border-horz: var(--color-table-border)
226
+ );
227
+
228
+ // ===== code =====
229
+ @include code.configure(
230
+ $font-mono: var(--font-family-mono),
231
+ $color-bg: var(--color-code-bg),
232
+ $color-fg: var(--color-code-fg)
233
+ );