(async ()=>{
const titleOutline = document.querySelector(".mg .ikon .knm").innerText;
const title=window.prompt('Scrap "Scrapbox" to ${projectName}.',titleOutline);
console.assert(!title.empty);
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const fgParam=urlParams.get("fg");
const querySrcUrl=`/${fgParam}?dln&fmt=src`;
const srcOutline = await $.get(querySrcUrl);
console.assert(srcOutline);
const scrapboxLines = srcOutline.split("\n")
.map(line=>line.replace(/^(\s*)\+?(https?:\/\/[^\s]+)/g, "$1[$2]"))/*外部リンクやメディアリンクにブラケットをつける*/
.map(line=>line.replace(/\{|{/g, "[")).map(line=>line.replace(/\}|}/g, "]")).map(line=>line.replace(/\[((?:.*?)) K#(?:.*?)\/(?:.*?)\]/g, "[$1]"))/*リンク記法変換 雑変換だけどScrapboxのパーサーも雑なので問題ないはず*/
.filter(line=>line!="")/*改行のみの行を削除*/
.map(line=>line.replace(/^\s*(\n|$)/g, ''))/*スペースのみの行を空行に変換*/
;
const scrapboxTexts = scrapboxLines.join('\n');
const body=encodeURIComponent(`${scrapboxTexts}\n\nfrom: ${location.href}`);
const projectUrl = '${projectUrl}'.replace(/\/$/g, "")+"/";
window.open(projectUrl+encodeURIComponent(title.trim())+'?body='+body);
})();