generated at
kujakujira

虚飾で彩られたカラス

クジャクみたいなのでクジャクにしましたkujakujira
クジラは単なるク繋ぎ
そういえばゴジラの名前もクジラに由来してるっぽい


script.js
var _e=t=>typeof t=="object"&&t!==null,je=t=>_e(t)?(t.name===void 0||typeof t.name=="string")&&typeof t.message=="string":!1,X=t=>{try{let o=typeof t=="string"?JSON.parse(t):t;return je(o)?o:!1}catch(o){if(o instanceof SyntaxError)return!1;throw o}};var Y=!1;scrapbox.addListener("lines:changed",()=>Y=!1);scrapbox.addListener("layout:changed",()=>Y=!1);var Q=(t,o)=>{if(!(t instanceof HTMLDivElement))throw new TypeError(`"${o}" must be HTMLDivElememt but actual is "${t}"`)};var J=(t,o)=>{if(!(t instanceof HTMLTextAreaElement))throw new TypeError(`"${o}" must be HTMLTextAreaElement but actual is "${t}"`)};var L=()=>{let t=document.getElementById("text-input");if(!!t)return J(t,"textarea#text-input"),t};var Z=()=>$e(document.getElementsByClassName("status-bar")?.[0],"div.status-bar"),$e=(t,o)=>{if(!!t)return Q(t,o),t};var F=t=>new Promise(o=>setTimeout(()=>o(),t));var te=async t=>{let o=L();if(!o)throw Error("#text-input is not ditected.");o.focus(),o.value=t;let e=new InputEvent("input",{bubbles:!0});o.dispatchEvent(e),await F(1)};var re=()=>{let t=Z();if(!t)throw new Error("div.status-bar can't be found");let o=document.createElement("div");return t.append(o),{render:(...e)=>{o.textContent="";let r=ne(...e);r&&o.append(r)},dispose:()=>o.remove()}},ne=(...t)=>{let o=t.flatMap(r=>{switch(r.type){case"spinner":return[qe()];case"check-circle":return[Ae()];case"exclamation-triangle":return[Ge()];case"text":return[$(r.text)];case"group":{let n=ne(...r.items);return n?[n]:[]}}});if(o.length===0)return;if(o.length===1)return o[0];let e=document.createElement("span");return e.classList.add("item-group"),e.append(...o),e},$=t=>{let o=document.createElement("span");return o.classList.add("item"),o.append(t),o},qe=()=>{let t=document.createElement("i");return t.classList.add("fa","fa-spinner"),$(t)},Ae=()=>{let t=document.createElement("i");return t.classList.add("kamon","kamon-check-circle"),$(t)},Ge=()=>{let t=document.createElement("i");return t.classList.add("fas","fa-exclamation-triangle"),$(t)};var k=t=>[...t].map((o,e)=>o===" "?"_":!Ke.includes(o)||e===t.length-1&&ze.includes(o)?encodeURIComponent(o):o).join(""),Ke='@$&+=:;",',ze=':;",';var g=t=>typeof t=="string";var H=(t,...o)=>{let e=t;for(let r of o){let n=e instanceof Promise?e.then(s=>g(s)?s:r(s)):r(e);if(g(n))return n;e=n instanceof URL?new URL(n):n.then(s=>g(s)?s:new URL(s))}return e instanceof Promise?e.then(r=>`${r}`):`${t}`};var E=t=>t.ok?void 0:{name:"HTTPError",message:`${t.status} ${t.statusText}`,response:t};var oe=t=>{if(!window.GM_fetch)return;let o=window.GM_fetch;return(async()=>{let e=await o(`https://cdn.syndication.twimg.com/tweet-result?id=${t}`),r=E(e);if(r)return{ok:!1,value:r};let n=await e.json();return{ok:!0,value:n}})()};var p=t=>{let{fetch:o=globalThis.fetch,hostName:e="scrapbox.io",...r}=t;return{fetch:o,hostName:e,...r}};var w=class extends Error{constructor(o){super(`${o.status} ${o.statusText} when fetching ${o.url}`);this.response=o;this.name="UnexpectedResponseError";Error.captureStackTrace&&Error.captureStackTrace(this,w)}},f=async t=>{let o=t.clone(),e=await o.text(),r=X(e);if(!r)throw new w(o);return{ok:!1,value:r}};var q=async t=>{let{sid:o,hostName:e,fetch:r}=p(t??{}),n=new Request(`https://${e}/api/users/me`,o?{headers:{Cookie:l(o)}}:void 0),s=await r(n);if(!s.ok)throw new w(s);return await s.json()};var l=t=>`connect.sid=${t}`,y=async t=>window._csrf?window._csrf:(await q(t)).csrfToken;var se=(t,o,e)=>{let{sid:r,hostName:n,followRename:s,projects:a}=p(e??{}),i=new URLSearchParams;i.append("followRename",`${s??!0}`);for(let m of a??[])i.append("projects",m);let c=`https://${n}/api/pages/${t}/${k(o)}?${i.toString()}`;return new Request(c,r?{headers:{Cookie:l(r)}}:void 0)},ie=async t=>{if(!t.ok)return t.status===414?{ok:!1,value:{name:"TooLongURIError",message:"project ids may be too much."}}:f(t);let o=await t.json();return{ok:!0,value:o}},A=async(t,o,e)=>{let{fetch:r}=p(e??{}),n=se(t,o,e),s=await r(n);return await ie(s)};A.toRequest=se;A.fromResponse=ie;var ae=(t,o)=>{let{sid:e,hostName:r,sort:n,limit:s,skip:a}=p(o??{}),i=new URLSearchParams;n!==void 0&&i.append("sort",n),s!==void 0&&i.append("limit",`${s}`),a!==void 0&&i.append("skip",`${a}`);let c=`https://${r}/api/pages/${t}?${i.toString()}`;return new Request(c,e?{headers:{Cookie:l(e)}}:void 0)},ce=async t=>{if(!t.ok)return f(t);let o=await t.json();return{ok:!0,value:o}},pe=async(t,o)=>{let{fetch:e}=p(o??{}),r=await e(ae(t,o));return await ce(r)};pe.toRequest=ae;pe.fromResponse=ce;var de=(t,o,e,r)=>{let{sid:n,hostName:s}=p(r??{}),a=`https://${s}/api/table/${t}/${k(o)}/${encodeURIComponent(e)}.csv`;return new Request(a,n?{headers:{Cookie:l(n)}}:void 0)},me=async t=>t.ok?{ok:!0,value:await t.text()}:t.status===404?{ok:!1,value:{name:"NotFoundError",message:"Table not found."}}:f(t),le=async(t,o,e,r)=>{let{fetch:n}=p(r??{}),s=de(t,o,e,r),a=await n(s);return await me(a)};le.toRequest=de;le.fromResponse=me;var ue=(t,o)=>{let{sid:e,hostName:r}=p(o??{});return new Request(`https://${r}/api/projects/${t}`,e?{headers:{Cookie:l(e)}}:void 0)},fe=async t=>{if(!t.ok)return f(t);let o=await t.json();return{ok:!0,value:o}},G=async(t,o)=>{let{fetch:e}=p(o??{}),r=ue(t,o),n=await e(r);return fe(n)};G.toRequest=ue;G.fromResponse=fe;var ge=(t,o)=>{let{sid:e,hostName:r}=p(o??{}),n=new URLSearchParams;for(let s of t)n.append("ids",s);return new Request(`https://${r}/api/projects?${n.toString()}`,e?{headers:{Cookie:l(e)}}:void 0)},xe=async t=>{if(!t.ok)return f(t);let o=await t.json();return{ok:!0,value:o}},he=async(t,o)=>{let{fetch:e}=p(o??{}),r=await e(ge(t,o));return xe(r)};he.toRequest=ge;he.fromResponse=xe;var we=async(t,o)=>{let{sid:e,hostName:r,fetch:n,csrf:s}=p(o??{}),a=new Request(`https://${r}/api/embed-text/url?url=${encodeURIComponent(t.toString())}`,{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":s??await y(o),...e?{Cookie:l(e)}:{}},body:JSON.stringify({timeout:3e3})}),i=await n(a);if(!i.ok)return i.status===422?{ok:!1,value:{name:"InvalidURLError",message:(await i.json()).message}}:f(i);let{title:c}=await i.json();return{ok:!0,value:c}};var ye=async(t,o)=>{let{sid:e,hostName:r,fetch:n,csrf:s}=p(o??{}),a=new Request(`https://${r}/api/embed-text/twitter?url=${encodeURIComponent(t.toString())}`,{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":s??await y(o),...e?{Cookie:l(e)}:{}},body:JSON.stringify({timeout:3e3})}),i=await n(a);if(!i.ok)return i.status===422?{ok:!1,value:{name:"InvalidURLError",message:(await i.json()).message}}:f(i);let c=await i.json();return{ok:!0,value:c}};var Qo=new Map;var be=new TextEncoder().encode("0123456789abcdef");function Ee(t){let o=new Uint8Array(t.length*2);for(let e=0;e<o.length;e++){let r=t[e];o[e*2]=be[r>>4],o[e*2+1]=be[r&15]}return o}var Le="md5: `data` is invalid type",b=64,K=class{#e;#t;#r;#n;#o;#i;#s;#a;constructor(){this.#e=1732584193,this.#t=4023233417,this.#r=2562383102,this.#n=271733878,this.#o=new Uint8Array(b),this.#i=0,this.#s=0,this.#a=0}#p(o){let e=this.#s;e+=o,e>4294967295&&(this.#a+=1),this.#s=e>>>0}#c(o){let e=this.#e,r=this.#t,n=this.#r,s=this.#n,a=h=>o[h]|o[h+1]<<8|o[h+2]<<16|o[h+3]<<24,i=(h,V)=>h<<V|h>>>32-V,c=a(0),m=a(4),d=a(8),u=a(12),x=a(16),R=a(20),v=a(24),P=a(28),I=a(32),C=a(36),N=a(40),M=a(44),S=a(48),U=a(52),_=a(56),j=a(60);e=r+i(((n^s)&r^s)+e+c+3614090360,7),s=e+i(((r^n)&e^n)+s+m+3905402710,12),n=s+i(((e^r)&s^r)+n+d+606105819,17),r=n+i(((s^e)&n^e)+r+u+3250441966,22),e=r+i(((n^s)&r^s)+e+x+4118548399,7),s=e+i(((r^n)&e^n)+s+R+1200080426,12),n=s+i(((e^r)&s^r)+n+v+2821735955,17),r=n+i(((s^e)&n^e)+r+P+4249261313,22),e=r+i(((n^s)&r^s)+e+I+1770035416,7),s=e+i(((r^n)&e^n)+s+C+2336552879,12),n=s+i(((e^r)&s^r)+n+N+4294925233,17),r=n+i(((s^e)&n^e)+r+M+2304563134,22),e=r+i(((n^s)&r^s)+e+S+1804603682,7),s=e+i(((r^n)&e^n)+s+U+4254626195,12),n=s+i(((e^r)&s^r)+n+_+2792965006,17),r=n+i(((s^e)&n^e)+r+j+1236535329,22),e=r+i(((r^n)&s^n)+e+m+4129170786,5),s=e+i(((e^r)&n^r)+s+v+3225465664,9),n=s+i(((s^e)&r^e)+n+M+643717713,14),r=n+i(((n^s)&e^s)+r+c+3921069994,20),e=r+i(((r^n)&s^n)+e+R+3593408605,5),s=e+i(((e^r)&n^r)+s+N+38016083,9),n=s+i(((s^e)&r^e)+n+j+3634488961,14),r=n+i(((n^s)&e^s)+r+x+3889429448,20),e=r+i(((r^n)&s^n)+e+C+568446438,5),s=e+i(((e^r)&n^r)+s+_+3275163606,9),n=s+i(((s^e)&r^e)+n+u+4107603335,14),r=n+i(((n^s)&e^s)+r+I+1163531501,20),e=r+i(((r^n)&s^n)+e+U+2850285829,5),s=e+i(((e^r)&n^r)+s+d+4243563512,9),n=s+i(((s^e)&r^e)+n+P+1735328473,14),r=n+i(((n^s)&e^s)+r+S+2368359562,20),e=r+i((r^n^s)+e+R+4294588738,4),s=e+i((e^r^n)+s+I+2272392833,11),n=s+i((s^e^r)+n+M+1839030562,16),r=n+i((n^s^e)+r+_+4259657740,23),e=r+i((r^n^s)+e+m+2763975236,4),s=e+i((e^r^n)+s+x+1272893353,11),n=s+i((s^e^r)+n+P+4139469664,16),r=n+i((n^s^e)+r+N+3200236656,23),e=r+i((r^n^s)+e+U+681279174,4),s=e+i((e^r^n)+s+c+3936430074,11),n=s+i((s^e^r)+n+u+3572445317,16),r=n+i((n^s^e)+r+v+76029189,23),e=r+i((r^n^s)+e+C+3654602809,4),s=e+i((e^r^n)+s+S+3873151461,11),n=s+i((s^e^r)+n+j+530742520,16),r=n+i((n^s^e)+r+d+3299628645,23),e=r+i((n^(r|~s))+e+c+4096336452,6),s=e+i((r^(e|~n))+s+P+1126891415,10),n=s+i((e^(s|~r))+n+_+2878612391,15),r=n+i((s^(n|~e))+r+R+4237533241,21),e=r+i((n^(r|~s))+e+S+1700485571,6),s=e+i((r^(e|~n))+s+u+2399980690,10),n=s+i((e^(s|~r))+n+N+4293915773,15),r=n+i((s^(n|~e))+r+m+2240044497,21),e=r+i((n^(r|~s))+e+I+1873313359,6),s=e+i((r^(e|~n))+s+j+4264355552,10),n=s+i((e^(s|~r))+n+v+2734768916,15),r=n+i((s^(n|~e))+r+U+1309151649,21),e=r+i((n^(r|~s))+e+x+4149444226,6),s=e+i((r^(e|~n))+s+M+3174756917,10),n=s+i((e^(s|~r))+n+d+718787259,15),r=n+i((s^(n|~e))+r+C+3951481745,21),this.#e=this.#e+e>>>0,this.#t=this.#t+r>>>0,this.#r=this.#r+n>>>0,this.#n=this.#n+s>>>0}update(o){let e;if(typeof o=="string")e=new TextEncoder().encode(o);else if(typeof o=="object")if(o instanceof ArrayBuffer||ArrayBuffer.isView(o))e=new Uint8Array(o);else throw new TypeError(Le);else throw new TypeError(Le);let r=this.#i,n=b-r;if(e.length<n)this.#o.set(e,r),r+=e.length;else{this.#o.set(e.slice(0,n),r),this.#c(this.#o);let s=n;for(;s+b<=e.length;)this.#c(e.slice(s,s+b)),s+=b;this.#o.fill(0).set(e.slice(s),0),r=e.length-s}return this.#i=r,this.#p(e.length),this}digest(){let o=b-this.#i;o<9&&(o+=b);let e=new Uint8Array(o);e[0]=128;let r=this.#s<<3,n=this.#a<<3|this.#s>>>29;e[e.length-8]=r&255,e[e.length-7]=r>>>8&255,e[e.length-6]=r>>>16&255,e[e.length-5]=r>>>24&255,e[e.length-4]=n&255,e[e.length-3]=n>>>8&255,e[e.length-2]=n>>>16&255,e[e.length-1]=n>>>24&255,this.update(e.buffer);let s=new ArrayBuffer(16),a=new DataView(s);return a.setUint32(0,this.#e,!0),a.setUint32(4,this.#t,!0),a.setUint32(8,this.#r,!0),a.setUint32(12,this.#n,!0),s}toString(o="hex"){let e=this.digest();switch(o){case"hex":return new TextDecoder().decode(Ee(new Uint8Array(e)));case"base64":{let r=new Uint8Array(e),n="";for(let s=0;s<r.length;++s)n+=String.fromCharCode(r[s]);return btoa(n)}default:throw new Error("md5: invalid format")}}};var O=t=>{let o={name:t.user.name,screenName:t.user.screen_name},e=new Date(t.created_at),r=[...t.entities.hashtags.map(c=>({type:"hashtag",...c})),...t.entities.symbols.map(c=>({type:"symbol",...c})),...t.entities.user_mentions.map(c=>({type:"mention",name:c.name,screenName:c.screen_name,indices:c.indices})),...t.entities.urls.map(c=>{let m={type:"url",indices:c.indices,url:new URL(c.expanded_url)};if(t.card&&t.card?.url===c.url){let{description:d,title:u}=t.card.binding_values,x="STRING";d?.type===x&&(m.description=d.string_value),u?.type===x&&(m.title=u.string_value)}return m}),...t.entities.media?.map?.(c=>({type:"media",indices:c.indices,media:t.mediaDetails?.flatMap?.(m=>m.url===c.url?[{type:m.type,url:new URL(m.video_info?.variants?.sort?.((d,u)=>u.bitrate-d.bitrate)?.[0].url??m.media_url_https)}]:[])??[]}))??[]].sort((c,m)=>c.indices[0]-m.indices[0]),n=0,s=t.text,a=[];for(let{indices:c,...m}of r){let d=s.slice(0,c[0]-n);a.push({type:"plain",text:d}),a.push(m),s=s.slice(c[1]-n),n=c[1]}s&&a.push({type:"plain",text:s});let i={id:t.id_str,content:a,author:o,posted:e,replyCount:"reply_count"in t?t.reply_count:t.conversation_count};return t.self_thread&&(i.rootId=t.self_thread.id_str),t.in_reply_to_status_id_str&&(i.replyId=t.in_reply_to_status_id_str),t.parent&&(i.replyTo=O(t.parent)),t.quoted_tweet&&(i.quote=O(t.quoted_tweet)),i};var Ye=["landing","product","enterprise","pricing","try-enterprise","contact","terms","privacy","jp-commercial-act","support","case","features","business","auth","login","logout","oauth2","_","api","app.html","assets","file","files","billing","billings","config","feed","index","io","new","opensearch","project","projects","search","setting","settings","setup-profile","slide","socket.io","stream","user","users"],B=(t=scrapbox.Project.name,o=location.host)=>e=>{if(e.host!==o)return e;let[,r,n]=e.pathname.match(/^\/([\w\d][\w\d-]{0,22}[\w\d])(?:\/?|\/(.+))$/)??[];return!r||Ye.includes(r)?e:n?r===t?`[${decodeURIComponent(n)}]`:`[/${r}/${decodeURIComponent(n)}]`:`[/${r}]`};var ke=(t=Qe)=>o=>{let[,e]=o.href.match(/^https:\/\/(?:www\.|mobile\.|m\.|)twitter\.com\/[\w\d_]+\/(?:status|statuses)\/(\d+)/)??[];return e?(async()=>{let r=await(oe(e)??ye(o.href));if(!r.ok)throw r.value;return t(r.value,o)})():o},Qe=(t,o)=>{if("images"in t)return[`[${T(t.screenName)}(@${T(t.userName)}) ${o.origin}${o.pathname}]`,...t.description.split(` `).map(s=>`> ${T(s)}`),...t.images.length>0?[`> ${t.images.map(s=>`[${s}]`)}`]:[]].join(` `);let{quote:e,replyTo:r,...n}=O(t);return[...r?[...D(r).map(s=>` > ${s}`),...r.quote?D(r.quote).map(s=>` > ${s}`):[]]:[],...D(n).map(s=>`> ${s}`),...e?D(e).map(s=>`> > ${s}`):[]].join(` `)},D=({content:t,author:o,id:e})=>{let r=`https://twitter.com/${o.screenName}/status/${e}`;return[`[${T(o.name)}(@${T(o.screenName)}) ${r}]`,...t.map(n=>{switch(n.type){case"plain":return n.text;case"hashtag":return` #${n.text} `;case"symbol":return` #$${n.text} `;case"mention":return`[@${n.screenName} https://twitter.com/${n.screenName}]`;case"media":{let s=[],a=1;for(;a<n.media.length;a+=2)s.push(`${z(n.media[a-1])} ${z(n.media[a])}`);return a===n.media.length&&s.push(z(n.media[a-1])),` ${s.join(` `)} `}case"url":return`${B()(n.url)} `}}).join("").split(` `)]},z=t=>`[${t.url}${t.type==="photo"?/\.(?:png|jpe?g|gif|svg)$/.test(`${t.url}`)?"":"#.jpg":/\.(?:mp4|webm)$/.test(`${t.url}`)?"":"#.mp4"}]`,T=t=>t.replace(/\b/gm,"").replace(/[\s\r\n\u2028\u2029]+/gm," ").replace(/\s*[[\]`]\s*/g," ").trim();var Te=t=>{if(!window.GM_fetch)return;let o=window.GM_fetch;return(async()=>{let e=await o(`https://t.co/${t}`),r=E(e);if(r)return{ok:!1,value:r};let n=new DOMParser().parseFromString(await e.text(),"text/html");return{ok:!0,value:n.title}})()};var Re=t=>{if(["bit.ly","amzn.to","amzn.asia","goo.gl","s.nikkei.com","apple.co","nico.ms","w.wiki"].includes(t.hostname)&&window.GM_fetch)return window.GM_fetch(t).then(e=>e.ok?new URL(e.url):t);if(t.hostname!=="t.co")return t;let o=Te(t.pathname.slice(1));return o?(async()=>{let e=await o;if(!e.ok)throw e.value;try{return new URL(e.value)}catch(r){if(r instanceof TypeError)return t;throw r}})():t};var ve=t=>{if(!t.pathname.startsWith("/wiki/"))return t;if(!/^\w+\.wikipedia\.org$/.test(t.hostname)){let[,n]=t.hostname.match(/^(\w+)\.m\.wikipedia\.org$/)??[];if(!n)return t;t.hostname=`${n}.wikipedia.org`}let o=decodeURIComponent(t.pathname.slice(6)),e=t.hash?decodeURIComponent(t.hash.slice(1)):"",r=`${t.origin}/wiki/${o}`;return e?`[${e} | ${o} - Wikipedia ${r}#${e}]`:`[${o} - Wikipedia ${r}]`};var Pe=t=>{if(t.hostname!=="www.wikiwand.com")return t;let[,o,e]=t.pathname.match(/^\/([^\/]+)\/([^\/]+)/)??[];return!o||!e||(t.hostname=`${o}.wikipedia.org`,t.pathname=`/wiki/${e}`,t.hash=t.hash.startsWith("#/")?`#${t.hash.slice(2)}`:t.hash),t};var W=t=>{if(!t.hostname.startsWith("www.google."))return t;let o=t.searchParams.get("url");return o?new URL(decodeURIComponent(o)):t};var Ie=/charset=([^;]+)/,Ce=t=>{if(!window.GM_fetch)return;let o=window.GM_fetch;return(async()=>{let e=await o(`${t}`),r=E(e);if(r)return{ok:!1,value:r};let n=e.headers.get("content-type")?.match?.(Ie)?.[1]??await Je(e.clone()),s=new TextDecoder(n).decode(await e.arrayBuffer());return{ok:!0,value:s}})()},Je=async t=>{let o=new DOMParser().parseFromString(await t.text(),"text/html");return o.querySelector("meta[charset]")?.getAttribute?.("charset")??o.querySelector('meta[http-equiv="content-type"]')?.getAttribute?.("content")?.match?.(Ie)?.[1]??"utf-8"};var Ne=(t=Ze)=>async o=>t(await et(o),o),Ze=(t,o)=>{let e=(g(t)?t:t.title).replace(/\s/g," ").replaceAll("[","[").replaceAll("]","]");return e?`[${o.hash?`${decodeURIComponent(o.hash.slice(1))} | `:""}${e} ${o}]`:`${o}`},et=async t=>{let o=Ce(t);if(!o){let r=await we(t);if(!r.ok)throw r.value;return r.value}let e=await o;if(!e.ok)throw e.value;return new DOMParser().parseFromString(e.value,"text/html")};var Me=t=>{if(!/^(?:www\.)?amazon(?:\.co|com)?\.(?:au|br|ca|fr|de|in|it|jp|mx|nl|sg|es|tr|ae|uk|cn)$/.test(t.hostname))return t;let[,o]=t.pathname.match(/\/dp\/([\w\d]+)/)??t.pathname.match(/\/gp\/product\/([\w\d]+)/)??t.pathname.match(/\/exec\/obidos\/asin\/([\w\d]+)/)??t.pathname.match(/\/o\/ASIN\/([\w\d]+)/)??[];return o&&(t.hash="",t.search="",t.pathname=`/dp/${o}`),t};var Se=t=>{if(!/(?:[0-9a-z-]\.)?gyazo\.com/.test(t.hostname))return t;let[,o]=t.pathname.match(/^\/([0-9a-f]{32})(?:\/raw)?$/)??[];return o?`[https://gyazo.com/${o}]`:t};var Ue=(t,...o)=>{if(t instanceof URL)return H(new URL(t),...o);let e=0,r=0,n=0,s=!1,a=t.split(/(https?:\/\/\S+)/g).map(d=>{if(!/^https?:\/\/\S+$/.test(d))return d;e++;try{let u=H(new URL(d),...o);return g(u)?(r++,u):(s=!0,[u,d])}catch(u){return console.error(u),n++,d}});if(!s)return a.join("");let{render:i,dispose:c}=re(),m=()=>i({type:"spinner"},{type:"text",text:`URL: ${r}/${e} converted, ${n} failed`});return m(),Promise.all(a.map(async d=>{if(g(d))return d;try{let u=await d[0];return r++,u}catch(u){return console.error(u),n++,d[1]}finally{m()}})).then(d=>(i({type:"check-circle"},{type:"text",text:`URL: ${r}/${e} converted, ${n} failed`}),d.join(""))).finally(()=>{setTimeout(c,1e3)})};var tt=[W,Re,W,Pe,Me,B(),Se,ke(),ve,Ne()];scrapbox.PopupMenu.addButton({title:t=>/https?:\/\/\S+/.test(t)?"URL":"",onClick:t=>{let o=Ue(t,...tt);if(typeof o=="string")return t===o?void 0:o;o.then(e=>{if(t!==e)return te(e)})}});

script.js
import {convertWholeText} from '/api/code/1cc/UserScript_-_TweetEmbed/convert.js'; // https://scrapbox.io/customize/scrapbox-insert-text export function insertText({text}) { const cursor = document.getElementById('text-input'); cursor.focus(); const start = cursor.selectionStart; // in this case maybe 0 cursor.setRangeText(text); cursor.selectionStart = cursor.selectionEnd = start + text.length; const uiEvent = document.createEvent('UIEvent'); uiEvent.initEvent('input', true, false); cursor.dispatchEvent(uiEvent); } scrapbox.PopupMenu.addButton({ title: 'Embed a tweet', onClick: text => { // URLがなければ何もしない if (!/https:\/\/((twitter)|x)\.com\S+\/status\/\d+/.test(text)) return; const cursor = document.getElementById('text-input') Promise.all(text.split('\n').map(line => { const matches = line.match(/^\s+|.*/g); const indent = /^\s+$/.test(matches[0])? matches[0] : ''; const content = /^\s+$/.test(matches[0])? matches[1] : matches[0]; return convertWholeText(content, indent) })).then(lines => insertText({text: lines.join('\n'), cursor: cursor})); // 入力しやすいよう選択範囲を先に消しておく return ''; }, });

script.js
import '/api/code/1cc/UserScript_-_ClearBracket/script.js';

script.js
import { mount } from '/api/code/1cc/ScrapBubble/script.js'; mount();
style.css
div.page { overflow-x: visible; overflow-y: visible; }

script.js
var m=!1;scrapbox.addListener("lines:changed",()=>m=!1);scrapbox.addListener("layout:changed",()=>m=!1);var f=(e,t)=>{if(!(e instanceof HTMLTextAreaElement))throw new TypeError(`"${t}" must be HTMLTextAreaElement but actual is "${e}"`)};var s=()=>{let e=document.getElementById("text-input");if(e)return f(e,"textarea#text-input"),e};var a=(e,t)=>{let{noModifiedKeys:n=!1,...r}=t??{},i={bubbles:!0,cancelable:!0,keyCode:w[e],...n?{}:{...r}},o=s();if(!o)throw Error("#text-input must exist.");o.dispatchEvent(new KeyboardEvent("keydown",i)),o.dispatchEvent(new KeyboardEvent("keyup",i))},w={Backspace:8,Tab:9,Enter:13,Delete:46,Escape:27," ":32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,a:65,A:65,b:66,B:66,c:67,C:67,d:68,D:68,e:69,E:69,f:70,F:70,g:71,G:71,h:72,H:72,i:73,I:73,j:74,J:74,k:75,K:75,l:76,L:76,m:77,M:77,n:78,N:78,o:79,O:79,p:80,P:80,q:81,Q:81,r:82,R:82,s:83,S:83,t:84,T:84,u:85,U:85,v:86,V:86,w:87,W:87,x:88,X:88,y:89,Y:89,z:90,Z:90,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,F1:113,F2:114,F3:115,F4:116,F5:117,F6:118,F7:119,F8:120,F9:121,F10:122,F11:123,F12:124,":":186,"*":186,";":187,"+":187,"-":189,"=":189,".":190,">":190,"/":191,"?":191,"@":192,"`":192,"[":219,"{":219,"\\":220,"|":220,"]":221,"}":221,"^":222,"~":222,_:226};function c(e,t={}){let{signal:n,persistent:r=!0}=t;return n?.aborted?Promise.reject(n.reason):new Promise((i,o)=>{let u=()=>{clearTimeout(l),o(n?.reason)},l=setTimeout(()=>{n?.removeEventListener("abort",u),i()},e);if(n?.addEventListener("abort",u,{once:!0}),r===!1)try{Deno.unrefTimer(l)}catch(p){if(!(p instanceof ReferenceError))throw p;console.error("`persistent` option is only available in Deno")}})}var x=async e=>{let t=s();if(!t)throw Error("#text-input is not ditected.");t.focus(),t.value=e;let n=new InputEvent("input",{bubbles:!0});t.dispatchEvent(n),await c(1)};var d=()=>{let e=s();if(!e)throw Error("#text-input is not found.");let t=Object.keys(e).find(o=>o.startsWith("__reactFiber"));if(!t)throw Error('#text-input must has the property whose name starts with "__reactFiber"');let n=e[t].return.return.stateNode._stores,r=n.find(o=>o.constructor.name==="Cursor");if(!r)throw Error('#text-input must has a "Cursor" store.');let i=n.find(o=>o.constructor.name==="Selection");if(!i)throw Error('#text-input must has a "Selection" store.');return{cursor:r,selection:i}};var E=()=>d().cursor;var h=e=>{if(e===0)return;let t={};return e&1&&(t.capture=!0),e&2&&(t.once=!0),e&4&&(t.passive=!0),t};var H=new Map;scrapbox.on("layout:changed",()=>{let e=s();if(e)for(let[t,n]of H)for(let[r,i]of n)for(let o of i)e.addEventListener(t,r,h(o))});s().addEventListener("keydown",async e=>{if(e.key!=="Enter"||e.metaKey||e.altKey||!e.ctrlKey||e.shiftKey||scrapbox.Layout!=="page")return;let t=E(),n=t.getPosition().line,r=scrapbox.Page.lines[n];!("codeBlock"in r)||r.codeBlock.start||r.codeBlock.end||(a("End"),a("Enter"),t.setPosition({line:t.getPosition().line,char:r.codeBlock.indent-1}),a("End",{shiftKey:!0}),await x(`code:${r.codeBlock.filename??""}`),a("Home"),a("Enter"),a("ArrowUp"))});

時戳格式
script.js
scrapbox.TimeStamp.removeAllFormats() scrapbox.TimeStamp.addFormat('YYYY-MM-DD')