From 829522eaccc7c42a5ee5e16fdfc9c8777098f2bb Mon Sep 17 00:00:00 2001 From: xiangyu <3170102889@zju.edu.cn> Date: Mon, 30 May 2022 00:21:54 +0800 Subject: [PATCH] add: LaTex support resolve: #14 --- README.md | 13 ++-- addon/chrome/content/lib/css/katex.min.css | 1 + image/README/LaTex.gif | Bin 0 -> 79138 bytes package.json | 1 + src/events.ts | 84 +++++++++++++++++++++ src/views.ts | 42 ++++++++++- 6 files changed, 131 insertions(+), 10 deletions(-) create mode 100644 addon/chrome/content/lib/css/katex.min.css create mode 100644 image/README/LaTex.gif diff --git a/README.md b/README.md index 32a441f..b27073e 100644 --- a/README.md +++ b/README.md @@ -10,16 +10,13 @@ https://user-images.githubusercontent.com/33902321/167992626-34adfd97-c2df-48b0- ## Features -- Note as you go; -- Archive notes/annotations in one place with just a click; -- Foward-link to sub-notes and back-link to PDF attachments; +- `LaTex` view supported(v0.4.0). Click the `Tex` button in the toolbar or `Ctrl/⌘+'/'` to switch between editor view & LaTex view!; +![LaTex View](./image/README/LaTex.gif) +- Archive notes/annotations in one place with just a click; +- Foward-link to sub-notes and back-link to PDF attachments; - Export archived notes in MarkDown/rich-text format. - Export markdown with images is supported in v0.1.1 -- Use templates to customize your note! [Document](./Template.md) - -## Test Features - -- Note template(v0.3.0), doc & discussion [here](https://github.com/windingwind/zotero-better-notes/issues/23) +- Use templates to customize your note! [Document](./Template.md). Discuss & contribute your template [here](https://github.com/windingwind/zotero-better-notes/issues/23) # Quick Start Guide diff --git a/addon/chrome/content/lib/css/katex.min.css b/addon/chrome/content/lib/css/katex.min.css new file mode 100644 index 0000000..444a00c --- /dev/null +++ b/addon/chrome/content/lib/css/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{text-rendering:auto;font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.15.6"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/image/README/LaTex.gif b/image/README/LaTex.gif new file mode 100644 index 0000000000000000000000000000000000000000..466ba053eb9858d04e3d813bf60ccc2ebc73725a GIT binary patch literal 79138 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
~N0T(_M&IH5q*HagK>8;_$5I!inJiqY8Z- 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 { + this.onEditorEvent( + new EditorMessage("switchEditorTex", { + editorInstance: message.content.editorInstance, + }) + ); + }); + + message.content.editorInstance._iframeWindow.document.addEventListener( + "keyup", + (e) => { + if (e.ctrlKey && e.key === "/") { + this.onEditorEvent( + new EditorMessage("switchEditorTex", { + editorInstance: message.content.editorInstance, + }) + ); + } + } + ); + await this._Addon.views.addEditorButton( message.content.editorInstance, "knowledge-end", @@ -364,6 +395,15 @@ class AddonEvents extends AddonBase { h6 {text-indent: 50px} `; _window.document.body.append(style); + + const texStyle = _window.document.createElement("link"); + texStyle.setAttribute("rel", "stylesheet"); + texStyle.setAttribute( + "href", + "chrome://Knowledge4Zotero/content/lib/css/katex.min.css" + ); + _window.document.body.append(texStyle); + message.content.editorInstance._knowledgeUIInitialized = true; } else if (message.type === "enterWorkspace") { /* @@ -439,6 +479,50 @@ class AddonEvents extends AddonBase { "closePreview" ); } + } else if (message.type === "switchEditorTex") { + /* + message.content = { + editorInstance + } + */ + const instance = message.content.editorInstance; + if (!instance._viewTex) { + const editorElement = + instance._iframeWindow.document.getElementsByClassName( + "primary-editor" + )[0]; + if (!editorElement) { + return; + } + const viewNode = editorElement.cloneNode(true) as HTMLElement; + renderMathInElement(viewNode, { + // customised options + // • auto-render specific keys, e.g.: + delimiters: [ + { left: "$$", right: "$$", display: true }, + { left: "$", right: "$", display: false }, + { left: "\\(", right: "\\)", display: false }, + { left: "\\[", right: "\\]", display: true }, + ], + // • rendering keys, e.g.: + throwOnError: false, + }); + instance._viewTex = true; + this._Addon.views.switchEditorTexView(instance, true, viewNode); + this._Addon.views.changeEditorButtonView( + instance._iframeWindow.document.getElementById("knowledge-switchTex"), + "switchEditor", + `Editor View ${Zotero.isWin ? "Ctrl" : "⌘"}+/` + ); + } else { + instance._viewTex = false; + this._Addon.views.switchEditorTexView(instance, false); + this._Addon.views.changeEditorButtonView( + instance._iframeWindow.document.getElementById("knowledge-switchTex"), + "switchTex", + `LaTex View ${Zotero.isWin ? "Ctrl" : "⌘"}+/` + ); + } } else if (message.type === "addToKnowledge") { /* message.content = { diff --git a/src/views.ts b/src/views.ts index 49055c8..7306f9d 100644 --- a/src/views.ts +++ b/src/views.ts @@ -20,6 +20,8 @@ class AddonViews extends AddonBase { isMainKnowledge: ``, openAttachment: ``, addAnnotationNote: ``, + switchTex: ``, + switchEditor: ``, export: ``, close: ``, openWorkspaceCollectionView: ``, @@ -64,7 +66,8 @@ class AddonViews extends AddonBase { icon: string, title: string, eventType: string, - position: "start" | "middle" | "end" + position: "start" | "middle" | "end", + target: "knowledge" | "buitin" = "knowledge" ) { // Use Zotero.Notes._editorInstances to find current opened note editor await editorInstances._initPromise; @@ -74,7 +77,15 @@ class AddonViews extends AddonBase { if (!knowledgeToolBar) { await this.addEditorKnowledgeToolBar(editorInstances); } - const toolbar = _document.getElementById(`knowledge-tools-${position}`); + let toolbar: HTMLElement; + if (target === "knowledge") { + toolbar = _document.getElementById(`knowledge-tools-${position}`); + } else { + toolbar = Array.prototype.find.call( + _document.getElementsByClassName(position), + (e) => e.getAttribute("id") !== `knowledge-tools-${position}` + ); + } const dropdown = _document.createElement("div"); dropdown.setAttribute("class", "dropdown more-dropdown"); dropdown.setAttribute("id", id); @@ -168,6 +179,33 @@ class AddonViews extends AddonBase { button.hidden = hidden; } + switchEditorTexView( + instance: EditorInstance, + showView: boolean, + viewNode: HTMLElement = undefined + ) { + const editorCore = instance._iframeWindow.document.getElementsByClassName( + "editor-core" + )[0] as HTMLElement; + if (showView) { + viewNode.setAttribute("id", "texView"); + viewNode.style.height = "100%"; + viewNode.style.padding = "20px 30px 20px 30px"; + viewNode.style.overflowY = "scroll"; + viewNode.removeAttribute("contentEditable"); + editorCore.after(viewNode); + editorCore.style.visibility = "hidden"; + viewNode.scrollTop = editorCore.scrollTop; + } else { + const texView = instance._iframeWindow.document.getElementById("texView"); + if (texView) { + editorCore.scrollTop = texView.scrollTop; + texView.remove(); + } + editorCore.style.visibility = ""; + } + } + async scrollToLine(instance: EditorInstance, lineIndex: number) { await instance._initPromise; let editor = this.getEditor(instance._iframeWindow.document);