From ca7f7246b671e89149915a916111ff7aad2899be Mon Sep 17 00:00:00 2001 From: Christian Bastian <80225746+cdb-boop@users.noreply.github.com> Date: Thu, 25 Jul 2024 08:10:13 -0400 Subject: [PATCH] Improved note parsing --- web/model-manager.js | 50 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/web/model-manager.js b/web/model-manager.js index 7147508..b5a2b21 100644 --- a/web/model-manager.js +++ b/web/model-manager.js @@ -2744,7 +2744,8 @@ class Civitai { return image["url"]; }), "name": modelVersionInfo["name"], - "description": modelVersionInfo["description"] ?? "", + "description": modelVersionInfo["description"], + "tags": modelVersionInfo["trainedWords"], }; } @@ -2780,7 +2781,8 @@ class Civitai { return { "name": modelVersionInfo["model"]["name"], "type": modelVersionInfo["model"]["type"], - "description": modelVersionInfo["description"] ?? "", + "description": modelVersionInfo["description"], + "tags": modelVersionInfo["trainedWords"], "versions": [filesInfo] } } @@ -3019,11 +3021,42 @@ async function getModelInfos(urlText) { const name = civitaiInfo["name"]; const infos = []; const type = civitaiInfo["type"]; - const modelInfo = civitaiInfo["description"]?? ""; + //console.log(civitaiInfo); civitaiInfo["versions"].forEach((version) => { const images = version["images"]; - const versionDescription = version["description"]??""; - const description = (versionDescription + "\n\n" + modelInfo).trim().replace(/<[^>]+>/g, ""); // quick hack + const tags = version["tags"]; + const description = [ + tags !== undefined ? "# Tags" : undefined, + tags?.join(", "), + version["description"] !== undefined ? "# Version Description" : undefined, + version["description"], + civitaiInfo["description"] !== undefined ? "# Description" : undefined, + civitaiInfo["description"], + ].filter(x => x !== undefined).join("\n\n") + .replaceAll("

", "\n\n") + .replaceAll("", "**").replaceAll("", "**") + .replaceAll("

    ", "\n").replaceAll("
", "\n") // wrong + .replaceAll("", "\n") + .replaceAll("
  • ", "- ").replaceAll("
  • ", "\n") + .replaceAll("", "*").replaceAll("", "*") + .replaceAll("", "`").replaceAll("", "`") + .replaceAll("", "\n") + .replaceAll("", "\n\n---\n\n") + .replaceAll("", "\n") + .replaceAll("", "\n") + .replaceAll("", "\n") + .replaceAll("", "\n") + .replaceAll("", "\n") + .replaceAll("", "\n") + .replace(/href="(\S*)">/g, 'href=""> $1 ') + .replace(/src="(\S*)">/g, 'src=""> $1 ') + // + // + .replace(/<[^>]+>/g, "") // quick hack + .replaceAll("<", "<").replaceAll(">", ">") + .replaceAll("<e;", "<=").replaceAll(">e;", ">="); + //console.log(description); version["files"].forEach((file) => { infos.push({ "images": images, @@ -3372,6 +3405,13 @@ class DownloadView { el_filename, ]), downloadPreviewSelect.elements.radioGroup, + $el("textarea.comfy-multiline-input", { + name: "model info notes", + value: info["description"]??"", + rows: 10, + disabled: true, + style: { display: info["description"] === undefined || info["description"] === "" ? "none" : "" }, + }) ]), ]), ]),