@takagaki/cortex-decisions-viewer 0.12.99 → 0.12.100

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.
Files changed (2) hide show
  1. package/dist/render.js +27 -16
  2. package/package.json +1 -1
package/dist/render.js CHANGED
@@ -6334,6 +6334,18 @@ ${calendarAddUrl.toString()}
6334
6334
  // href に javascript: を置けるし、html: は innerHTML への抜け道(実使用は
6335
6335
  // homeGroundingSections の1箇所=ビルド時サニタイズ済みのHTMLのみ)。
6336
6336
  // 外部由来のURLを href に載せるときは、呼び出し側で isHttp() を通すこと。
6337
+ /**
6338
+ * 見出しに出す言葉。題名が記録の ID の形(term:… / rule:… / member:… / 20260928-002)のままなら、
6339
+ * 種類の接頭辞と決定番号を落として人の言葉だけにする(#551)。ID は見出しに出さず、
6340
+ * カードの title 属性と data-record-id にだけ残す。
6341
+ */
6342
+ function humanTitle(t) {
6343
+ var s = String(t == null ? "" : t).trim();
6344
+ var m = /^(?:term|rule|member|decision|person|glossary):\s*(.+)$/i.exec(s);
6345
+ if (m) s = m[1].trim();
6346
+ if (/^\d{8}-\d{3}(?:-|$)/.test(s)) s = s.replace(/^\d{8}-\d{3}-?/, "").trim();
6347
+ return s || "(題名なし)";
6348
+ }
6337
6349
  function el(tag, props, children) {
6338
6350
  var e = document.createElement(tag);
6339
6351
  if (props) Object.keys(props).forEach(function (k) {
@@ -6767,8 +6779,8 @@ ${calendarAddUrl.toString()}
6767
6779
  function followupDecisionEl(id) {
6768
6780
  var hit = null;
6769
6781
  (SITE.decisions || []).forEach(function (dd) { if (!hit && dd.id === id) hit = dd; });
6770
- if (!hit) return el("span", { class: "mono", text: id });
6771
- var a = el("a", { href: "?id=" + encodeURIComponent(id), text: hit.title || id });
6782
+ if (!hit) return el("span", { title: id, text: "(表示できない決定)" });
6783
+ var a = el("a", { href: "?id=" + encodeURIComponent(id), text: humanTitle(hit.title) });
6772
6784
  a.addEventListener("click", function (ev) { ev.preventDefault(); go(id); });
6773
6785
  return a;
6774
6786
  }
@@ -7014,7 +7026,7 @@ ${calendarAddUrl.toString()}
7014
7026
  var rec = byId[id];
7015
7027
  var li = el("li", { class: "supersede-row" });
7016
7028
  if (rec && rec._kind === "decision") {
7017
- var a = el("a", { href: "?id=" + encodeURIComponent(id), text: rec.title });
7029
+ var a = el("a", { href: "?id=" + encodeURIComponent(id), text: humanTitle(rec.title) });
7018
7030
  a.addEventListener("click", function (ev) {
7019
7031
  if (ev.defaultPrevented || ev.button !== 0 || ev.metaKey || ev.ctrlKey || ev.shiftKey || ev.altKey) return;
7020
7032
  ev.preventDefault();
@@ -7022,7 +7034,7 @@ ${calendarAddUrl.toString()}
7022
7034
  });
7023
7035
  li.appendChild(a);
7024
7036
  }
7025
- li.appendChild(el("span", { class: "supersede-id mono", text: (date ? date + " · " : "") + id }));
7037
+ if (date) li.appendChild(el("span", { class: "supersede-id mono", title: id, text: date }));
7026
7038
  if (unconfirmed) {
7027
7039
  li.appendChild(el("span", { class: "supersede-unconfirmed", title: "置き換えた側の決定が、まだ人の確認を経ていません", text: "未確認" }));
7028
7040
  }
@@ -18569,17 +18581,16 @@ ${calendarAddUrl.toString()}
18569
18581
  latestBadge(d),
18570
18582
  el("span", { class: "mono", text: d.date || "----" }),
18571
18583
  catBadge(d.category),
18572
- el("span", { class: "mono", text: d.id }),
18573
18584
  ]);
18574
18585
  var eb = fmErrorBadge(d);
18575
18586
  if (eb) meta.appendChild(eb);
18576
18587
  var traceD = el("a", { class: "mc-trace", href: "?tab=graph", text: "🕸 つながり" });
18577
18588
  traceD.addEventListener("click", function (ev) { ev.preventDefault(); ev.stopPropagation(); openExplorerFor(d); });
18578
18589
  meta.appendChild(traceD);
18579
- var card = el("div", { class: "card" }, [
18590
+ var card = el("div", { class: "card", title: d.id, "data-record-id": d.id }, [
18580
18591
  meta,
18581
18592
  // 消したレコードは一覧でも取り消し線(次のビルドまで一覧には残る)
18582
- el("div", { class: "card-title" + (d.deleted ? " is-deleted" : ""), text: d.title }),
18593
+ el("div", { class: "card-title" + (d.deleted ? " is-deleted" : ""), text: humanTitle(d.title) }),
18583
18594
  d.summary ? el("p", { class: "card-summary", text: d.summary }) : null,
18584
18595
  ]);
18585
18596
  card.addEventListener("click", function () { go(d.id); });
@@ -18640,16 +18651,15 @@ ${calendarAddUrl.toString()}
18640
18651
  proposalBadge(r),
18641
18652
  latestBadge(r),
18642
18653
  r.date ? el("span", { class: "mono", text: r.date }) : null,
18643
- el("span", { class: "mono", text: r.id }),
18644
18654
  ]);
18645
18655
  var ebr = fmErrorBadge(r);
18646
18656
  if (ebr) meta.appendChild(ebr);
18647
18657
  var traceR = el("a", { class: "mc-trace", href: "?tab=graph", text: "🕸 つながり" });
18648
18658
  traceR.addEventListener("click", function (ev) { ev.preventDefault(); ev.stopPropagation(); openExplorerFor(r); });
18649
18659
  meta.appendChild(traceR);
18650
- var card = el("div", { class: "card" }, [
18660
+ var card = el("div", { class: "card", title: r.id, "data-record-id": r.id }, [
18651
18661
  meta,
18652
- el("div", { class: "card-title" + (r.deleted ? " is-deleted" : ""), text: r.title }),
18662
+ el("div", { class: "card-title" + (r.deleted ? " is-deleted" : ""), text: humanTitle(r.title) }),
18653
18663
  r.summary ? el("p", { class: "card-summary", text: r.summary }) : null,
18654
18664
  ]);
18655
18665
  card.addEventListener("click", function () { go(r.id); });
@@ -19450,7 +19460,7 @@ ${calendarAddUrl.toString()}
19450
19460
  app.appendChild(back);
19451
19461
 
19452
19462
  var head = el("div", { class: "detail-head" });
19453
- head.appendChild(el("div", {}, [ el("h1", { class: "detail-title", text: r.title }) ]));
19463
+ head.appendChild(el("div", {}, [ el("h1", { class: "detail-title", text: humanTitle(r.title) }) ]));
19454
19464
  var traceBtn2 = el("a", { class: "trace-btn", href: "?tab=graph", text: "🕸 つながり" });
19455
19465
  traceBtn2.addEventListener("click", function (ev) { ev.preventDefault(); openExplorerFor(r); });
19456
19466
  var editRowR = el("div", { class: "detail-actions-row" });
@@ -19468,14 +19478,14 @@ ${calendarAddUrl.toString()}
19468
19478
  ]));
19469
19479
  app.appendChild(head);
19470
19480
 
19471
- app.appendChild(el("div", { class: "detail-meta" }, [
19481
+ var metaR = el("div", { class: "detail-meta", title: r.id, "data-record-id": r.id }, [
19472
19482
  draftBadge(r),
19473
19483
  proposalBadge(r),
19474
19484
  latestBadge(r),
19475
19485
  r.date ? el("span", { class: "mono", text: r.date }) : null,
19476
- el("span", { class: "mono", text: r.id }),
19477
19486
  r.summary ? el("span", { text: r.summary }) : null,
19478
- ]));
19487
+ ]);
19488
+ app.appendChild(metaR);
19479
19489
 
19480
19490
  var en2 = fmErrorNote(r);
19481
19491
  if (en2) app.appendChild(en2);
@@ -20126,7 +20136,7 @@ ${calendarAddUrl.toString()}
20126
20136
  app.appendChild(back);
20127
20137
 
20128
20138
  var head = el("div", { class: "detail-head" });
20129
- var headLeft = el("div", {}, [ el("h1", { class: "detail-title", text: d.title }) ]);
20139
+ var headLeft = el("div", {}, [ el("h1", { class: "detail-title", text: humanTitle(d.title) }) ]);
20130
20140
  head.appendChild(headLeft);
20131
20141
  var traceBtn = el("a", { class: "trace-btn", href: "?tab=graph", text: "🕸 つながり" });
20132
20142
  traceBtn.addEventListener("click", function (ev) { ev.preventDefault(); openExplorerFor(d); });
@@ -20152,8 +20162,9 @@ ${calendarAddUrl.toString()}
20152
20162
  latestBadge(d),
20153
20163
  el("span", { class: "mono", text: d.date || "----" }),
20154
20164
  catBadge(d.category),
20155
- el("span", { class: "mono", text: d.id }),
20156
20165
  ]);
20166
+ meta.title = d.id;
20167
+ meta.setAttribute("data-record-id", d.id);
20157
20168
  app.appendChild(meta);
20158
20169
 
20159
20170
  var en = fmErrorNote(d);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takagaki/cortex-decisions-viewer",
3
- "version": "0.12.99",
3
+ "version": "0.12.100",
4
4
  "description": "Cortexの意思決定記録(Decisions/*.md)を静的サイトにビルドして閲覧する。各レコードに「Edit on GitHub」リンクを付与する。",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,