function encode(str) { return encodeURIComponent(str).replace("-", "%2D") } let sel = window.document.getSelection(), ctx = sel?.anchorNode?.parentElement?.textContent?.split(sel), anc = sel.toString() ? `:~:text=${ctx[0] ? encode(ctx[0])+"-," : ""}${sel}${ctx[1] ? ",-"+encode(ctx[1]) : ""}` : "" let url = new URL(window.location) if (anc) url.hash = anc url.toString()