概要

Editor.jsでインラインのマーカーツールを作成する方法の備忘録です。

参考

以下のページが参考になりました。

https://editorjs.io/creating-an-inline-tool/

https://note.com/eveningmoon_lab/n/n638b9541c47c

TypeScriptでの記述にあたっては、以下が参考になりました。

https://github.com/codex-team/editor.js/issues/900

実装

Nuxtで実装します。以下のmarker.tsを作成します。

ic}emlxpabsatcs}s}c}r}s}w}u}c}posutpalttoeurnhorstaigaar}arntttttnttttrri}taccmmrtwccmrecti}}rttt::ste;teshhhhhdhhhherfhpooaaah<rooaacohftMoesitm}ittiiiiieiiiitotri(nnrrnimannrnknitettan:As:cua,cursssssrsss<suu(hesrsskkgsapsskgSss(hlhdyr:Ptrrcru.....(...s.rntit.att..e.r(tt?ett.tisiepkbIrsgnklgncabstc)bbbvbndhsuwnca.akr..ashsesfeeno;ite:aetputaluuugu(i.rrgsmlpip>amtritmti..aruonrt{sttoitaga{tttttrsuna<eeaapninaeeneaasb{bu{Tllgi{srrttstttwtha.n;pm:lrses.grxms(rt.uulole;ns:iu(=oe=soooioinsw(aeksnesektoe)kestttAoagase{nnnndnsgtrrrRcNdre:vrtttPl|n;n"I;a="=S..t..eaaakat=aCtl==et{==aooMI;icnap=MV=tihcb<:tpn>nemhNeR(Ntnna{HHtdlpifA"Gyn=lume(ggddeiocatr)ot!e??r}TTixii;naRcdpn"ataR)reeToldtnha;dh!)..kMMz-nulKdoee2straa))ec=deigineimccefLLeme}ls"xcr0sokn{n;xu((oesg(sa{llrrB(a(:le;-u=H"Ln>gg{tmtsmn).et.raaTou)r);;mmTi;eeehea.a.eakssomtk{ae"Mhs))=nilre{pexp;ssot{e{rnbLet;tsekxixtiLLl"oraktui.{r..c)p.t).ii;@n"pe.t=gaacct;asr;ssseE,ircthdnrleneaettdl:"rotdgeaddlcl..ie;en=(easTTeteartmAa""t.tseocCcdeoePt;1hee;xTtotdmrnIe8ixEtaini(ojtE"stl)goto"vs;}l>.re;(nence/)e<aamm.n.d(emppcecaftfx"d{eaitnlrisi-cint.Ctakn(nmdtthso(s)d)daxo(tnts;P;Pr-r"dythaakmjb=leirreasu"enseerr"tMst.nn-k;t1.sttt-eo0i(aTTarn.n)gaac-"4l;)ggt-)5i;((ia;8nttvcehhet1Tii"i2oss)v.o..;e0ltt"4Baa)lugg;2t),.t;9ot1nh9)i;s1..c6l8a6ss.)7;811.417.984.03.9741.687H8.674l1.49-2.583.508.775.802-1.401zm.546.952l3.624-6.327a1.5971.5970012.182.591.6321.632001.6152.201l-3.5196.391-2.902-1.675zm-7.733.467h3.465a1.1231.12301102.247H3.273a1.1231.1230110-2.247z"/></svg>';

上記を以下のように呼び出します。

<iiic}c}i<<p}..}.}.}smmmo)o;n/t/srcccc/cpppntb];nn}ise<ttebbpweemdmdcsroooEsil,Ese)tcmd/eyaoah--axaxotirrrdtmo{}dtwhdo}t};Erpi<<dml{crdibtx-x-lyptttiec,ioan,o,dilvdhipekddtlo-b-molttb:ktd}tiEltCboM}ipailvl>geieoowlwareEtMolsya,onddahlla,tttsvj>arrn-clioir:>sdyaron:pttriie:aosrcso>etsto:gskbdcdkeipr.ceeae.ttrnc:klhr>yioeu:p_atkte#ttekjkw[::xjEo:bgkeao(ldn>n1a_rhhr3uoesstsdrles{rsr)e=dp1cc_:{:-8pr{rD'{:iJ'o:.:st;=":-x0eo_-8JT=aptSecv:c"eccp:ncc1aalSOota'o(dkaa{ubdoosxtoa0ceauorerr{isslMtainlo;penl0t5nftle(at.yua:cttolr調ntc%i;grpf)g=ovnerkoeriete(v=ouf<.r使rack'grn:d-,n1!e"mtrOgajl=eCrjtwt0itDouepsu(rMos=##r0m{s'amtth'eaaTDu""fca{%p"@tpT'=,,pwo+n>b4cpo>ea'ui,>iaoSd<lfc;-rd@tm)ilH-/o4;ti}/De{t,Icdcf8atua(=Foik40noftt)E>aTlvs;ptrria,dp+o>"x;jol>i{iMr)sms(t.':/{os,!e'traaid@o.vlmieojeiptdlsrcoois.errtsbtjmalasravun'jreet;sk(";/e)>er;d'Ii;Dtorjs';調使',

動作確認

マーカーアイコンをクリックすると、青色に変わり、<mark class=\"cdx-marker\">xxx</mark>というタグが挿入されます。

まとめ

参考になりましたら幸いです。