Update generate-site-documentation.js
This commit is contained in:
parent
88a402ce0f
commit
205dd803f0
@ -37,6 +37,49 @@ function resolveSiteData(json) {
|
|||||||
throw new Error("getsiteレスポンスの想定構造が見つかりません。Response.Data を含むJSONを渡してください。");
|
throw new Error("getsiteレスポンスの想定構造が見つかりません。Response.Data を含むJSONを渡してください。");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function resolveTableCellValue(row, header) {
|
||||||
|
if (row[header] != null) return row[header];
|
||||||
|
|
||||||
|
const normalized = String(header)
|
||||||
|
.replace(/\s+/g, "")
|
||||||
|
.replace(/[()]/g, "")
|
||||||
|
.replace(///g, "/");
|
||||||
|
if (row[normalized] != null) return row[normalized];
|
||||||
|
|
||||||
|
const aliasMap = {
|
||||||
|
"順番": ["No", "Order", "Index"],
|
||||||
|
"列名": ["Column", "ColumnName", "Field", "Name"],
|
||||||
|
"列名(内部)": ["Column", "ColumnName", "Field", "Name"],
|
||||||
|
"表示ラベル": ["Label", "LabelText", "DisplayName", "Title"],
|
||||||
|
"説明/入力ガイド": ["Description", "DescriptionText", "ToolTip", "InputHelpText"],
|
||||||
|
"備考": ["Remarks", "Remark", "Notes"],
|
||||||
|
"種別": ["Type", "Kind"],
|
||||||
|
"対象": ["Target", "TargetId"],
|
||||||
|
"権限値": ["Permission", "PermissionValue", "Level", "Value"],
|
||||||
|
"タブ/キー": ["Tab", "Key", "TabKey"],
|
||||||
|
"項目一覧": ["Items", "ItemList"],
|
||||||
|
"項目": ["Field", "Column", "ColumnName"],
|
||||||
|
"権限設定": ["Permission", "PermissionSetting", "Value"],
|
||||||
|
"ファイル": ["File", "Path"],
|
||||||
|
"要約": ["Summary", "Description"],
|
||||||
|
"操作": ["Operation", "Name"],
|
||||||
|
"状態の変化": ["Change", "Transition"],
|
||||||
|
"説明": ["Description", "Detail"],
|
||||||
|
"起点列": ["From", "FromColumn", "FromField"],
|
||||||
|
"参照先SiteId": ["TargetSite", "TargetSiteId", "SiteId"],
|
||||||
|
"参照先の値→コピー先": ["To", "ToColumn", "ToField"],
|
||||||
|
"JsonFormat": ["JsonFormat", "Format"],
|
||||||
|
"ラベル": ["Label", "LabelText"],
|
||||||
|
"内容": ["Content", "Value", "Body"],
|
||||||
|
};
|
||||||
|
|
||||||
|
for (const alias of aliasMap[header] || []) {
|
||||||
|
if (row[alias] != null) return row[alias];
|
||||||
|
}
|
||||||
|
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
function formatMarkdownTable(header, rows) {
|
function formatMarkdownTable(header, rows) {
|
||||||
if (!rows || rows.length === 0) return "";
|
if (!rows || rows.length === 0) return "";
|
||||||
const heads = header.map((h) => `| ${h} `).join("") + "|";
|
const heads = header.map((h) => `| ${h} `).join("") + "|";
|
||||||
@ -45,7 +88,7 @@ function formatMarkdownTable(header, rows) {
|
|||||||
.map((row) => {
|
.map((row) => {
|
||||||
return header
|
return header
|
||||||
.map((cell) => {
|
.map((cell) => {
|
||||||
const value = row[cell] != null ? row[cell] : "";
|
const value = resolveTableCellValue(row, cell);
|
||||||
return `| ${String(value).replace(/\|/g, "\\|")} `;
|
return `| ${String(value).replace(/\|/g, "\\|")} `;
|
||||||
})
|
})
|
||||||
.join("") + "|";
|
.join("") + "|";
|
||||||
@ -463,7 +506,7 @@ function generateAllDocs() {
|
|||||||
console.log(`[OK] 概要書生成: ${overviewPath}`);
|
console.log(`[OK] 概要書生成: ${overviewPath}`);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
child_process.execSync("node", [path.join(ROOT, "md-to-pdf.js"), overviewPath], {
|
child_process.execFileSync("node", [path.join(ROOT, "md-to-pdf.js"), overviewPath], {
|
||||||
stdio: "inherit",
|
stdio: "inherit",
|
||||||
cwd: ROOT,
|
cwd: ROOT,
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user