From 3760a03c442f4d80f23ab8ffcc27845683918413 Mon Sep 17 00:00:00 2001 From: Nonpawit Teerachetmongkol Date: Thu, 17 Feb 2022 09:04:44 +0700 Subject: [PATCH] feat: Add DBdiagram (dbdiagram.io) embed (#3124) * Add dbdiagram embed * clean variable name --- public/images/dbdiagram.png | Bin 0 -> 5346 bytes shared/editor/embeds/DBDiagram.tsx | 22 ++++++++++++++++++++++ shared/editor/embeds/index.tsx | 8 ++++++++ 3 files changed, 30 insertions(+) create mode 100644 public/images/dbdiagram.png create mode 100644 shared/editor/embeds/DBDiagram.tsx diff --git a/public/images/dbdiagram.png b/public/images/dbdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..2dd42f308a0234c8b3076ff4062f23c85b272358 GIT binary patch literal 5346 zcmV<86dmh{P))RM)zOsk%8;=hwZ~J%3^x z5Kv>Hmfkp_Orj-_X z&yD!rwbt&&KE!kj?4}#stLiN*r1$Px&;EwB*7t2ay&jC`r7iz+`gW;>^`R`+dES!S zGj^m#&GnMhTe_vf#!&e0fTSWj{e@wc;1R;Vf!x{*A~D7ZJSaGF*QR!}RQO z4Co1?E{~!r*+1ORLy!u((>W*mXe%aUm3 zQDE+IG%q-X9Q)r8;d}|U2ku~uv>gA`DBSW|**hCg<+#t@m6kZ#F;VN_`Xk`Zno0Ee zcYximNZS(#FKL+uEIKN^VZfLBGaSvfrsQZF*4qZSvlf4k9OAyWgrxHX+VgzDyH=i( z%VQi9%MEk@*4qx4in#BZb?5NM?m)cTBe>gt$As- zrEXc#q)GI*nbQSfOno z0^sh6WY_hZuVCkE;g;97z0+6MxdPxSK>Iv9>`7fccU2&qzCP2Oo6+w(-xh9n**QmIc77HTxT2O8_=9xVfb* z|NYsX^k>?J&^G|T#EipK?L6xxcWr*HI8v00|J6JFXNd(p^3yg1od!$*SP~GHhhMQKXT1Ot>hjAvVS`-kmnpno8x)7>CN?$1opR$4PF4tt%*+h?4vTc zUu#8DemhEQ+fmi? z^g3+=&^^HNm`f&lLK7YX8}FS z9jRIepmTr^b1|1%)7_*O8iT7C2|4xn#48QccIU#(r;5et88qqYA>hT|6Tl{0Q?w31 zCjpbB$9#Vs!ZX`64mh*05sMF|Vd_pPi^mrG>q)ZJ*5hPr-bo7hYXR_IL}D*>ljgoP zh|JPF;H;uXEb&VvZaR~5)8xV81MuhH3V>f@y)Wf}n_;%E5|Np*-T{0t1ykJxz`Y0f zAO&0@0PYJC0P6q*0k8mA04x9&01JQx!2M4GU>$&Bi%6#(}F zU`4$ZnNa5oZHUg+yh|1U_Xc2jbtDD*$&pqZ3zi|X^kuKOWC3t50jBZR>N^>}C2(6c ze<~;d?lr)2xZZ&>WR+^J9Oq3(MqvXM`6dg1yAL=6<_B6xtmVKiIMD|Gpf*%CsCLQp z|0?TbXm8i7-;PMD#`GN`0dThgJ4s-+znQ`P^0W-sV%yQ8#wF8YII*-2doN_7sH#O{ zaNCIk`Q}CrCb`B6fV(FV0i2GRevR09tray*>a9^)+=v~&q+^O}BqnZ(gzJwIWS2DY z4!5>(w9%Xq8FdTRh%x=Zlu<7TzB&8@O_#AnxG<&jiO+a|)4 ztqGX2EeWRXDOhnV0|C#<5t>+qr^!9n&4^O$IhP63Z84a%B@R=zr(oLdJXR(|J0526 zQ2ef8z#E!o` znDTWTjJHI?cyna8HDxpB878_$WAfMW+`T*qY_AfS`_{4!2R_PXc?Qf)D3$)ISn`uU z>93TF{#$;J*8>-Ie2>xVM8y5&qr67-X%J1Ma?6@v0nC!`CuuXR7c2jxWHRNE~ zy%^jUUVD>x1T5kvd_@#yY>!8*qz+9j{H!mjh1C#HewVW`eq9)bE`JRD6_Mm#(VZ-r z`wm}tr6M@4O6_%NmVEM$TztGU7Lzu|!kD>9DT8a_Tf^KW*YPJ~lTIy*#zyn~wFF2N zClW8aE&6$KAFji&nHAbou$G7U=`Q3Eu!vc&KACV^|5TLMYVLsieoP6*+26yEuR;ju zC*+<{a7}zpkeG zgXMj}d_vU>U^2lY?4xlbtW0BY>8Ndx!R@pdgTK6sAxj@X-})I0Rz|_fGZ|MNm$O7k z)o5yYfiw3DvB)=pB{y6Q%x3YHT2+Ueq%QI=&0k90{r)`ZKf3#M6)<&^BqmyH6(cpb zQKNwAxbiR?gBIQ*kb^K}StwQ?NkhD}UhU^9>SXx&ZXU~kCv7H~u$#Qui@D@#t~t8{ zu9{AJCCl!Scm}Ewz%;9+iPhYlVn~bl-wfzH9z^Hky?Ftc=6Dak-OE#Z`a}Q!(t~Ww z^NMB55*BOSGg-2vSduW8tU*_)E%5+Y#Kk}o3+L_>^$OsS*aFyiKS7A7nC%3q8pRcj z_~Awh#@qdYkDMdeI+i9fciW5}`)0+)h~Vc(5z#0+1XjInM77{9aRtUkZTxK43cXN*l4`hXfLPA9b8E4O1!%5CHdaz={#@C?96dkJ)h|EeueA zHe8cH0B2}@!Ue!R9J01{JQ9~<`9AWUs3ntlJdC(&gVkb;aFJ+z!Ue!@FkZYt5qd#c zBj$P#>s=noEZM+bgb~i^80kvgbe3G&2Ot1`%?OFfhwra3D6Ld|FIob7HaHIx9f>8c zBuUu%cw)t=1agKFXzfGjGk`y5fHi;M9~_kj!v$xt-tRFIGAmX7Ev?`P5tYMqb0mhZ zi^7Nv3dq!5_kYOz0bUV_8C#Ey72I0sR32GZv z7yH#Vwc)o1g?Qg7in!}I5|dLfa+9QAyK5c*zbe_G8~aPWW06sy87ppk(T=MRr5L^J zGTxhi6@wPu;OerL1mi>72iWwT7-iKhDoc1;NL>E@ZXssuipOxL{_n1N0nBYE#B$l{ z@(?WB7lUGw0P)!=Pun+t56Ob*x|_t{=H)z2Pa*tqksK8E(Xl*pz)UbX=toa^3a(IXn*ClMPTGeQ5 zX@~32Ss3jiVxXDJc1iD7kof~_8^@jASch}gv?PdF*-hd~ud%Y3fpgDe;GA>pAs8Pfn6Bo;fxVmMn$ zrC|iy6j2h5)#Udh$wR=FThz68NA$DATX30tdZ*17{$TSAm|BsjqkWWFGj*FbVa%Pf zWQfG*F3I{S_gQPMGK0Bd2KROS!lG9RAI<7*o^^NzOjxYLBQ!}sp0 ztDXJIA%p9i8n!Y5M(bi==wVl#>F9m};o16Z39!EkjvNoZ18hD=?qkz))- z6PJB6qJ$ktXnVv;yBMow{TLah%cLX=gb zRlwiD-OXT&AwDd0IYGq%I;diHW_FJ%UN?2j8;EFOorw&Yyq%F z0V^OYPKxA9DW`a5$)QQ=cfAC_IuH0iL9=DlMsE8sG)b^vomba-lgOmf^IGRr7LP-d z1;9G5E(4}XmrE+!2nkKD6#(nH1i(4~K>#cO761!?1;7Ge0dW6Qp8&iqgm=IbJP2Tm z?WtM^pu2!Yc#xp^b#Th_YM5?*z&l{$-Or&n&s(B(0J;TO%57QFeQ75#d;)UOsNu4n zE01zuU~`N2^WaYp`{D{{>f}&bRFCC8^nD_?c(3S~ z=bvAp_l374)WA;r5OfYOJ#^TZ3`62F=lh89B&kAeqj^^b?TxFdZ-w2Va2Tx!gucyf zrJAf{UYg)O_RR~`v+|O-jdo0I(>4U10<1V$lDlbI(qmxz5TEY~!}@Py;c_yrM{+(9 zhedmzVwC-##B%>2aPP3|8?B9$cRHr_xTqXj>|7A_sXJt!Y$wk_q6wt)zMyC?I#x#6dRt4IAU zU^=$`ocrOYyVAtkh9Us&nx=c_iuVMR8LNa#M_@$dJFAaLjftx+?k`)I{TcB4L=!!7 z8eM-Y{q*pkmG7tptQeo{Otb%RT|$Yr;Rt|LYtqh~W&-!8HwLRbRvwm`Sh%J3d3W7k z0h@T{inm@Uo7XM4bo>}p`p(`91;$giB!`b$8!yu~C;>31G261+X8Go&Z9ZFS?D>27 zo4e(|8>erVjG4Dra(0|kVxL?>^(VlScRk1aBLx9|w<^c?7;NWp{8q`ZPj{uCp&KH7 z>2RVy05;zByl#$P{zU@ThyNok`U6YCA_b^D;AF9N0q z1{2(Knu*0qmVQ@wX2r>(&wQ>|{7a*7JCD=1OUK(Cle!Z3eRGya+H>=5DHydjLF+*K zDqs>@VYx3CR{r^=#0}qE_fzqXllQ77_Jq;@1Iwd;;Sf`^w*UYD07*qoM6N<$f}z?* A_W%F@ literal 0 HcmV?d00001 diff --git a/shared/editor/embeds/DBDiagram.tsx b/shared/editor/embeds/DBDiagram.tsx new file mode 100644 index 000000000..ed1832961 --- /dev/null +++ b/shared/editor/embeds/DBDiagram.tsx @@ -0,0 +1,22 @@ +import * as React from "react"; +import Frame from "./components/Frame"; +import { EmbedProps as Props } from "."; + +export default class DBDiagram extends React.Component { + static ENABLED = [new RegExp("https://dbdiagram.io/(embed|d)/(\\w+)$")]; + + render() { + const { matches } = this.props.attrs; + const shareId = matches[2]; + + return ( + + ); + } +} diff --git a/shared/editor/embeds/index.tsx b/shared/editor/embeds/index.tsx index 38045dccb..59cf7423f 100644 --- a/shared/editor/embeds/index.tsx +++ b/shared/editor/embeds/index.tsx @@ -7,6 +7,7 @@ import Bilibili from "./Bilibili"; import Cawemo from "./Cawemo"; import ClickUp from "./ClickUp"; import Codepen from "./Codepen"; +import DBDiagram from "./DBDiagram"; import Descript from "./Descript"; import Diagrams from "./Diagrams"; import Figma from "./Figma"; @@ -115,6 +116,13 @@ const embeds: EmbedDescriptor[] = [ component: Codepen, matcher: matcher(Codepen), }, + { + title: "DBDiagram", + keywords: "diagrams database", + icon: () => DBDiagram, + component: DBDiagram, + matcher: matcher(DBDiagram), + }, { title: "Descript", keywords: "audio",