collabmd 0.1.21 → 0.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -12
- package/bin/collabmd.js +3 -2
- package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-BHWNpLuY.js +1 -0
- package/dist/client/assets/_basePickBy-CJWegqog.js +1 -0
- package/dist/client/assets/_baseUniq-CFKN1k1n.js +1 -0
- package/dist/client/assets/apl-khHl8vBy.js +1 -0
- package/dist/client/assets/ar-SA-NXDWD63E-DND5MLpM.js +8 -0
- package/dist/client/assets/arc-D1SV2GW0.js +1 -0
- package/dist/client/assets/architecture-PBZL5I3N-0dui3p7-.js +1 -0
- package/dist/client/assets/architectureDiagram-2XIMDMQ5-DXpDe6lq.js +36 -0
- package/dist/client/assets/array-BTHl6o_K.js +1 -0
- package/dist/client/assets/asciiarmor-7xnRhA8w.js +1 -0
- package/dist/client/assets/asn1-_x-T1mFB.js +1 -0
- package/dist/client/assets/asterisk-Ct2NwVUw.js +1 -0
- package/dist/client/assets/az-AZ-MXSORGZV-ILYw2sYr.js +1 -0
- package/dist/client/assets/bg-BG-O6MV2KSF-DmfoZHM8.js +5 -0
- package/dist/client/assets/blockDiagram-WCTKOSBZ-DlJn0Rs1.js +132 -0
- package/dist/client/assets/bn-BD-T2VJNT7N-uYQx1Wph.js +3 -0
- package/dist/client/assets/bn-IN-MMW2ORAC-CmlBLY7g.js +3 -0
- package/dist/client/assets/brainfuck-CAmdgqDN.js +1 -0
- package/dist/client/assets/c4Diagram-IC4MRINW-C6S9MOEW.js +10 -0
- package/dist/client/assets/ca-ES-MKBCGNOG-DWiYvMvF.js +8 -0
- package/dist/client/assets/channel-CVwYcdlk.js +1 -0
- package/dist/client/assets/chunk-27N2SPOM-RxZ2_zJJ.js +34 -0
- package/dist/client/assets/chunk-3PELD44J-BvOh9EJp.js +1 -0
- package/dist/client/assets/chunk-4BX2VUAB-LBTVcC6-.js +1 -0
- package/dist/client/assets/chunk-55IACEB6-T5nuDI6U.js +1 -0
- package/dist/client/assets/chunk-7E7YKBS2-CBNUsbS7.js +1 -0
- package/dist/client/assets/chunk-7R4GIKGN-Dh9p1sbP.js +80 -0
- package/{public/assets/js/chunks/chunk-IR2DOYV4.js → dist/client/assets/chunk-A66AFZZU-D0IDIehU.js} +2 -2
- package/dist/client/assets/chunk-C72U2L5F-DLNOvzEI.js +1 -0
- package/dist/client/assets/chunk-Cq_f4orQ.js +1 -0
- package/dist/client/assets/chunk-EGIJ26TM-BkBsHEWn.js +1 -0
- package/dist/client/assets/chunk-ETSVUAFD-BnK5BhxL.js +12 -0
- package/{public/assets/js/chunks/chunk-U6APNHAF.js → dist/client/assets/chunk-FMBD7UC4-BoiIqhkb.js} +2 -2
- package/dist/client/assets/chunk-GEFDOKGD-CIg-LRSp.js +2 -0
- package/dist/client/assets/chunk-GLR3WWYH-CqGMuOti.js +2 -0
- package/dist/client/assets/chunk-HHEYEP7N-Czb3OX2v.js +1 -0
- package/dist/client/assets/chunk-JSJVCQXG-C6-G93S3.js +1 -0
- package/dist/client/assets/chunk-KX2RTZJC-CJlt0Rne.js +1 -0
- package/dist/client/assets/chunk-KYZI473N-C-ObF5L3.js +53 -0
- package/dist/client/assets/chunk-L3YUKLVL-BzkNNFii.js +1 -0
- package/dist/client/assets/chunk-MX3YWQON-bjcMtEei.js +1 -0
- package/dist/client/assets/chunk-NQ4KR5QH-DY9oh8PD.js +220 -0
- package/dist/client/assets/chunk-O4XLMI2P-CVfnFXq8.js +7 -0
- package/dist/client/assets/chunk-OZEHJAEY-DyD-ywvu.js +1 -0
- package/dist/client/assets/chunk-PQ6SQG4A-BOJs3QbF.js +1 -0
- package/dist/client/assets/chunk-PU5JKC2W-1nkyDxBh.js +70 -0
- package/dist/client/assets/chunk-QZHKN3VN-DU7fMcaP.js +1 -0
- package/dist/client/assets/chunk-R5LLSJPH-D9t4mFiL.js +1 -0
- package/dist/client/assets/chunk-SRAX5OIU-B-Zdxy2r.js +1 -0
- package/dist/client/assets/chunk-WL4C6EOR-Bs95uEnp.js +189 -0
- package/dist/client/assets/chunk-XIRO2GV7-CtwY16Jh.js +1 -0
- package/dist/client/assets/chunk-XPW4576I-CvxG514V.js +32 -0
- package/dist/client/assets/chunk-XZSTWKYB-BNB3Mgw3.js +94 -0
- package/dist/client/assets/chunk-YBOYWFTD-MIDp82ug.js +1 -0
- package/dist/client/assets/chunk-Z5NKEFVG-CIMf1Se5.js +22 -0
- package/dist/client/assets/classDiagram-VBA2DB6C-CBSmkOe7.js +1 -0
- package/dist/client/assets/classDiagram-v2-RAHNMMFH-CJarRy94.js +1 -0
- package/dist/client/assets/clike-BJcwKCE7.js +1 -0
- package/dist/client/assets/clojure-uSRILJfc.js +1 -0
- package/dist/client/assets/clone-CMmi3x0H.js +1 -0
- package/dist/client/assets/cmake-j5-7WxMz.js +1 -0
- package/dist/client/assets/cobol-cnURuZ43.js +1 -0
- package/dist/client/assets/coffeescript-iQD116iO.js +1 -0
- package/dist/client/assets/commonlisp-DGzExN9H.js +1 -0
- package/dist/client/assets/cose-bilkent-S5V4N54A-BKEY00wk.js +1 -0
- package/dist/client/assets/crystal-CnjkM1-q.js +1 -0
- package/dist/client/assets/cs-CZ-V77HGUP7-sLBAF2Iw.js +7 -0
- package/dist/client/assets/css-C-Nv0c9S.js +1 -0
- package/dist/client/assets/cypher-hxitpny2.js +1 -0
- package/dist/client/assets/cytoscape.esm-0xzpJ66h.js +321 -0
- package/dist/client/assets/d-BtdAWoTB.js +1 -0
- package/dist/client/assets/da-DK-I5RFNTM4-B__PLwca.js +2 -0
- package/dist/client/assets/dagre-Cm2w_QpZ.js +1 -0
- package/dist/client/assets/dagre-KLK3FWXG-BddfhbwG.js +4 -0
- package/dist/client/assets/de-CH-WLRDEVBV-D61DKw_9.js +7 -0
- package/dist/client/assets/de-DE-DTI4WUSC-Ba3fBYEU.js +7 -0
- package/dist/client/assets/defaultLocale-PG3Gbk8q.js +1 -0
- package/dist/client/assets/diagram-E7M64L7V-BoyJ8kpo.js +24 -0
- package/dist/client/assets/diagram-IFDJBPK2-DLWembLL.js +43 -0
- package/dist/client/assets/diagram-P4PSJMXO-CPmPa0OC.js +24 -0
- package/dist/client/assets/diff-f_ZkWiYS.js +1 -0
- package/dist/client/assets/dist-BATDm5JF.js +1 -0
- package/dist/client/assets/dist-BDDCA7hC.js +1 -0
- package/dist/client/assets/dist-BEs40fGb.js +1 -0
- package/dist/client/assets/dist-BPyPcaZr.js +1 -0
- package/dist/client/assets/dist-BiNL3fhN.js +1 -0
- package/dist/client/assets/dist-BpEcA20b.js +2 -0
- package/dist/client/assets/dist-BtROnx4-.js +1 -0
- package/dist/client/assets/dist-CCxn5Mk-.js +13 -0
- package/dist/client/assets/dist-CKdaLumK.js +1 -0
- package/dist/client/assets/dist-CNcGnl0T.js +1 -0
- package/dist/client/assets/dist-CPzoLjNz.js +1 -0
- package/dist/client/assets/dist-CQzPpOiH.js +1 -0
- package/dist/client/assets/dist-Cje3pdZH.js +9 -0
- package/dist/client/assets/dist-CnKD4Y92.js +1 -0
- package/dist/client/assets/dist-CxPc5kI6.js +1 -0
- package/dist/client/assets/dist-Czv7DXcw.js +23 -0
- package/dist/client/assets/dist-D4ebIlQB.js +6 -0
- package/dist/client/assets/dist-D7S1mzwR.js +1 -0
- package/dist/client/assets/dist-DFIisyRk.js +1 -0
- package/dist/client/assets/dist-DGbPPlZ8.js +1 -0
- package/dist/client/assets/dist-DL-EaOiC.js +1 -0
- package/dist/client/assets/dist-DhkKj77m.js +1 -0
- package/dist/client/assets/dist-DnpxzfoU.js +1 -0
- package/dist/client/assets/dist-Dy9oGocr.js +11 -0
- package/dist/client/assets/dist-Le-AVwIk.js +1 -0
- package/dist/client/assets/dist-StJm6K24.js +1 -0
- package/dist/client/assets/dist-gCWIHDgw.js +1 -0
- package/dist/client/assets/dist-mDBaykBY.js +1 -0
- package/dist/client/assets/dist-tyxqXzyB.js +1 -0
- package/dist/client/assets/dist-vL71uaef.js +1 -0
- package/dist/client/assets/dockerfile-BmylqEVx.js +1 -0
- package/dist/client/assets/dtd-B6xdyNDx.js +1 -0
- package/dist/client/assets/dylan-BzUoKQTn.js +1 -0
- package/dist/client/assets/ebnf-BlTaNq16.js +1 -0
- package/dist/client/assets/ecl-CffPaRqR.js +1 -0
- package/dist/client/assets/editor-session-DsM3VgQv.js +16 -0
- package/dist/client/assets/eiffel-B66P6crR.js +1 -0
- package/dist/client/assets/el-GR-ZXDJ2OS4-CpEbk42T.js +7 -0
- package/dist/client/assets/elm-DIwllOLv.js +1 -0
- package/dist/client/assets/en-CTDJDZ6K-C36Iqh9O.js +1 -0
- package/dist/client/assets/erDiagram-INFDFZHY-Dwg_AhU2.js +70 -0
- package/dist/client/assets/erlang-DwYA67QU.js +1 -0
- package/dist/client/assets/es-ES-DYQHAD43-Ba-6t0Wr.js +7 -0
- package/dist/client/assets/eu-ES-QDSYU5Y3-CYzUKQ2_.js +7 -0
- package/dist/client/assets/excalidraw-editor-Cs5p0lBn.js +182 -0
- package/dist/client/assets/excalidraw-editor-D8O7A69r.css +1 -0
- package/dist/client/assets/excalidraw-mermaid-stub-BtCKxPxK.js +1 -0
- package/dist/client/assets/excalidraw-mermaid-stub-C1ZaaI05.js +1 -0
- package/dist/client/assets/excalidrawEditor-wgJb2hmP.js +2 -0
- package/dist/client/assets/fa-IR-26LZG4PM-CxLc7ohL.js +9 -0
- package/dist/client/assets/factor-Cc9mS1OI.js +1 -0
- package/dist/client/assets/fcl-DD6dBrvI.js +1 -0
- package/dist/client/assets/fi-FI-6YS4KDE4-DtYLOEJY.js +6 -0
- package/dist/client/assets/flowDiagram-PKNHOUZH-BIJd4wAz.js +162 -0
- package/dist/client/assets/forth-DFLLMv-i.js +1 -0
- package/dist/client/assets/fortran-CNZVMQdQ.js +1 -0
- package/dist/client/assets/fr-FR-BRLLPTZC-9O_U5gdi.js +12 -0
- package/dist/client/assets/ganttDiagram-A5KZAMGK-BiMwicnp.js +292 -0
- package/dist/client/assets/gas-DyiCLKEJ.js +1 -0
- package/dist/client/assets/gherkin-CHgE7bAJ.js +1 -0
- package/dist/client/assets/gitGraph-HDMCJU4V-iPo6Lz4k.js +1 -0
- package/dist/client/assets/gitGraphDiagram-K3NZZRJ6-lk_paRel.js +65 -0
- package/dist/client/assets/github-dark.min-Z5exjX_n.css +1 -0
- package/dist/client/assets/github.min-D2BCvnWf.css +1 -0
- package/dist/client/assets/gl-ES-OKUZTLYG-Bb7TO64O.js +6 -0
- package/dist/client/assets/graphlib-B2nPo9Z4.js +1 -0
- package/dist/client/assets/groovy-BZc3It91.js +1 -0
- package/dist/client/assets/haskell-DJ4hTi3A.js +1 -0
- package/dist/client/assets/haxe-sJjg_lHN.js +1 -0
- package/dist/client/assets/he-IL-26MGYIU7-CQW1igm9.js +8 -0
- package/dist/client/assets/hi-IN-Q4ZOGTP2-BM91ENLs.js +3 -0
- package/dist/client/assets/http-DwAi3Ho1.js +1 -0
- package/dist/client/assets/hu-HU-P2OXPSN5-HiGbsUwM.js +3 -0
- package/dist/client/assets/id-ID-2EIKXYN6-DEG8vRZ2.js +8 -0
- package/dist/client/assets/idl-CCIDRFwr.js +1 -0
- package/dist/client/assets/image-32MOCVDX-viHDtJGM.js +1 -0
- package/dist/client/assets/image-blob-reduce.esm-D4wBfumB.js +2 -0
- package/dist/client/assets/index-B6m_KATZ.css +1 -0
- package/dist/client/assets/index-D20GlrKF.js +2 -0
- package/dist/client/assets/info-3K5VOQVL-DePZHLA4.js +1 -0
- package/dist/client/assets/infoDiagram-LFFYTUFH-CiAT_kJZ.js +2 -0
- package/dist/client/assets/init-Bb7Vx0CW.js +1 -0
- package/dist/client/assets/isArrayLikeObject-DxEG9mY7.js +1 -0
- package/dist/client/assets/isEmpty-DGNCKhlT.js +1 -0
- package/dist/client/assets/ishikawaDiagram-PHBUUO56-CE3HierS.js +70 -0
- package/dist/client/assets/it-IT-4CFKVXI2-DSrGqCKD.js +12 -0
- package/dist/client/assets/ja-JP-MAND2Z4V-OFpEymIv.js +7 -0
- package/dist/client/assets/javascript-BlUxwA0O.js +1 -0
- package/dist/client/assets/javascript-DcX_cm1u.js +1 -0
- package/dist/client/assets/journeyDiagram-4ABVD52K-CzoczPjW.js +139 -0
- package/dist/client/assets/jsx-runtime-DRYOYO9I.js +1 -0
- package/dist/client/assets/julia-BU0qBb1w.js +1 -0
- package/dist/client/assets/kaa-HQRTCXTJ-CpOJ_vn4.js +1 -0
- package/dist/client/assets/kab-KAB-JKIKKTGH-CNPzzJH6.js +4 -0
- package/dist/client/assets/kanban-definition-K7BYSVSG-Cr6iNYl4.js +89 -0
- package/dist/client/assets/katex-DoaSnJ5T.js +261 -0
- package/dist/client/assets/kk-KZ-HXQ63ZFC-CgtjU5JI.js +1 -0
- package/dist/client/assets/km-KH-PKL3LSGX-BAJh8UnF.js +7 -0
- package/dist/client/assets/ko-KR-KXLREZX3-BshOksBX.js +5 -0
- package/dist/client/assets/ku-TR-MJ4IER3X-Bi3YtiD-.js +6 -0
- package/dist/client/assets/line-D2NTyhqv.js +1 -0
- package/dist/client/assets/linear-DntNI0Uj.js +1 -0
- package/dist/client/assets/livescript-uk34VDGK.js +1 -0
- package/dist/client/assets/lt-LT-H6WFQ6FJ-DQ2W0g7h.js +3 -0
- package/dist/client/assets/lua-ClQGOv84.js +1 -0
- package/dist/client/assets/lv-LV-GOCK6SJW-DeqTo8T7.js +4 -0
- package/dist/client/assets/main-DONXLDrC.js +599 -0
- package/dist/client/assets/math-DQo53qzt.js +1 -0
- package/dist/client/assets/mathematica-BDmKpvRN.js +1 -0
- package/dist/client/assets/mbox-T5kA6jAQ.js +1 -0
- package/dist/client/assets/mermaid-parser.core-Bh2Ta9ou.js +4 -0
- package/dist/client/assets/mermaid-runtime-CLtta79D.js +11 -0
- package/dist/client/assets/mindmap-definition-YRQLILUH-DufPyQO8.js +68 -0
- package/dist/client/assets/mirc-DRRKKkcJ.js +1 -0
- package/dist/client/assets/mllike-iZXopbca.js +1 -0
- package/dist/client/assets/modelica-DP8T2DKM.js +1 -0
- package/dist/client/assets/mr-IN-IXVLDMEQ-CnH5Wjc7.js +9 -0
- package/dist/client/assets/mscgen-DXIRw2qg.js +1 -0
- package/dist/client/assets/mumps-BKUS05-y.js +1 -0
- package/dist/client/assets/my-MM-YG6MYTTD-BefEpouO.js +1 -0
- package/dist/client/assets/nb-NO-XGWJISD2-CNRrlrPY.js +8 -0
- package/dist/client/assets/nginx-CzYOtr2G.js +1 -0
- package/dist/client/assets/nl-NL-XVDVCPNC-CuLTw3kL.js +13 -0
- package/dist/client/assets/nn-NO-EMX5MJX5-NHFRnQkl.js +4 -0
- package/dist/client/assets/nsis-YyYYKQIB.js +1 -0
- package/dist/client/assets/ntriples-ZgZuaYbW.js +1 -0
- package/dist/client/assets/oc-FR-ROEINTVO-8kCbAtcr.js +4 -0
- package/dist/client/assets/octave-CnOndUN3.js +1 -0
- package/dist/client/assets/ordinal-BuNU9EgZ.js +1 -0
- package/dist/client/assets/oz-DjW322Rn.js +1 -0
- package/dist/client/assets/pa-IN-ZYN6SUDY-Dh8USSIe.js +4 -0
- package/dist/client/assets/packet-RMMSAZCW-BVw0pEk-.js +1 -0
- package/dist/client/assets/pascal-BdeW5uRX.js +1 -0
- package/dist/client/assets/path-BxyPWlyM.js +1 -0
- package/dist/client/assets/percentages-5DKR754L-RQFE76Sg.js +1 -0
- package/dist/client/assets/perl-_CDvIe1D.js +1 -0
- package/dist/client/assets/pica-BG8AR4mo.js +2 -0
- package/dist/client/assets/pie-UPGHQEXC-ChUWa5qF.js +1 -0
- package/dist/client/assets/pieDiagram-SKSYHLDU--YidSJxi.js +30 -0
- package/dist/client/assets/pig-inWo_B4W.js +1 -0
- package/dist/client/assets/pl-PL-6VTG7PHC-BMbgP62B.js +12 -0
- package/dist/client/assets/powershell-CO5KWJsy.js +1 -0
- package/dist/client/assets/preload-helper-Chd9yIcd.js +1 -0
- package/dist/client/assets/preview-render-compiler-CWBdv5tw.js +1 -0
- package/dist/client/assets/preview-render-profile-BjrQVCWD.js +23 -0
- package/dist/client/assets/preview-render-worker-DbMTa0Y6.js +23 -0
- package/dist/client/assets/properties-CjVp4a6M.js +1 -0
- package/dist/client/assets/protobuf-DybFT2KT.js +1 -0
- package/dist/client/assets/pt-BR-5YFKRR5G-CyrwFw_N.js +6 -0
- package/dist/client/assets/pt-PT-GEIXXZ67-SpK5vaGR.js +8 -0
- package/dist/client/assets/pug-CM36H1hd.js +1 -0
- package/dist/client/assets/puppet-Dw_NDgko.js +1 -0
- package/dist/client/assets/python-2pwcWoy7.js +1 -0
- package/dist/client/assets/q-C47l8kdS.js +1 -0
- package/dist/client/assets/quadrantDiagram-337W2JSQ-n7EIFT_f.js +7 -0
- package/dist/client/assets/quick-switcher-controller-CKrGBgcl.js +5 -0
- package/dist/client/assets/r-BmcXGVZ5.js +1 -0
- package/dist/client/assets/radar-KQ55EAFF-B4gMcoDX.js +1 -0
- package/dist/client/assets/requirementDiagram-Z7DCOOCP-BrquJATD.js +73 -0
- package/dist/client/assets/ro-RO-E2P6TFZI-90dn2iUp.js +12 -0
- package/dist/client/assets/room-zaSnuMv5.js +4 -0
- package/dist/client/assets/rough.esm-C7Rbwqik.js +1 -0
- package/dist/client/assets/roundRect-CDlbNkEg.js +1 -0
- package/dist/client/assets/rpm-Cm0x5xT_.js +1 -0
- package/dist/client/assets/ru-RU-YBIIY43T-Cl52NZnQ.js +10 -0
- package/dist/client/assets/ruby-Dl-I4pxG.js +1 -0
- package/dist/client/assets/runtime-config-loader--hxFvh23.js +1 -0
- package/dist/client/assets/sankeyDiagram-WA2Y5GQK-IpD6lgfO.js +10 -0
- package/dist/client/assets/sas-Bxkg4GVX.js +1 -0
- package/dist/client/assets/scheme-CO3zogua.js +1 -0
- package/dist/client/assets/sequenceDiagram-2WXFIKYE-DxZ6glIZ.js +145 -0
- package/dist/client/assets/shell-gYrTvBTP.js +1 -0
- package/dist/client/assets/si-LK-673C2CI2-DMSUxT-y.js +1 -0
- package/dist/client/assets/sieve-COX4Kn1X.js +1 -0
- package/dist/client/assets/simple-mode-BY9UFVy7.js +1 -0
- package/dist/client/assets/sk-SK-CKZHQ4AP-DUDai5Oe.js +7 -0
- package/dist/client/assets/sl-SI-557H2GWM-BbLeATfl.js +6 -0
- package/dist/client/assets/smalltalk-Dma1z5eE.js +1 -0
- package/dist/client/assets/solr-BvhcdkNH.js +1 -0
- package/dist/client/assets/sparql-gX7W9xeh.js +1 -0
- package/dist/client/assets/spreadsheet-BnlQRxWz.js +1 -0
- package/dist/client/assets/sql-CwA10oIk.js +1 -0
- package/dist/client/assets/src-H0-aBY9y.js +1 -0
- package/dist/client/assets/stateDiagram-RAJIS63D-A-rbDcdL.js +1 -0
- package/dist/client/assets/stateDiagram-v2-FVOUBMTO-CKhOHHLe.js +1 -0
- package/dist/client/assets/stex-DhLUylSV.js +1 -0
- package/dist/client/assets/stylus-9ZGSp3KB.js +1 -0
- package/dist/client/assets/subset-shared.chunk-93a-Md8B.js +1 -0
- package/dist/client/assets/subset-worker.chunk-B7pmUG1o.js +1 -0
- package/dist/client/assets/sv-SE-XOPKKDWS-BBa-AcMf.js +8 -0
- package/dist/client/assets/swift-CurfpLXH.js +1 -0
- package/dist/client/assets/ta-IN-XBH7DQI3-9uR7ADzx.js +6 -0
- package/dist/client/assets/tcl-BPvzXR-t.js +1 -0
- package/dist/client/assets/textile-BUq3vgBH.js +1 -0
- package/dist/client/assets/th-TH-TOCWH3R4-Box9U3ny.js +1 -0
- package/dist/client/assets/tiddlywiki-DRR6E4hS.js +1 -0
- package/dist/client/assets/tiki-C1XMixgx.js +1 -0
- package/dist/client/assets/timeline-definition-YZTLITO2-DuTppHot.js +61 -0
- package/dist/client/assets/toml-BQjoWSzq.js +1 -0
- package/dist/client/assets/tr-TR-GXW6CYY5-BA8pS3C5.js +4 -0
- package/dist/client/assets/treemap-KZPCXAKY-on28XbV_.js +1 -0
- package/dist/client/assets/troff-DbgTp3Cj.js +1 -0
- package/dist/client/assets/ttcn-1OxchGWH.js +1 -0
- package/dist/client/assets/ttcn-cfg-CC8OhyHu.js +1 -0
- package/dist/client/assets/turtle-D1WjVU4-.js +1 -0
- package/dist/client/assets/uk-UA-IJKTNUDG-B6hoHqzM.js +6 -0
- package/dist/client/assets/uz-UZ-TBZZEA4V-CPuftH33.js +1 -0
- package/dist/client/assets/vault-api-client-D7C_m9eq.js +188 -0
- package/dist/client/assets/vault-utils-Js2T-e-h.js +1 -0
- package/dist/client/assets/vb-Bf-XXYNJ.js +1 -0
- package/dist/client/assets/vbscript-HeSyWuOi.js +1 -0
- package/dist/client/assets/velocity-CUkiDsJQ.js +1 -0
- package/dist/client/assets/vennDiagram-LZ73GAT5-J0SBkXj8.js +34 -0
- package/dist/client/assets/verilog-BFxB5RAN.js +1 -0
- package/dist/client/assets/vhdl-BJUXQE-6.js +1 -0
- package/dist/client/assets/vi-VN-MULSGNVB-yRFd9OXl.js +7 -0
- package/dist/client/assets/webidl-advQMGTP.js +1 -0
- package/dist/client/assets/xquery-CNzoFgd7.js +1 -0
- package/dist/client/assets/xychartDiagram-JWTSCODW-Dn9dSYxn.js +7 -0
- package/dist/client/assets/yacas-BsmlDKac.js +1 -0
- package/dist/client/assets/yjs-provider-reset-guard-BcnBGrS9.js +4 -0
- package/dist/client/assets/z80-Bnez4vZ_.js +1 -0
- package/dist/client/assets/zh-CN-MVX3E32U-VzUIXB4K.js +11 -0
- package/dist/client/assets/zh-HK-JNU5RLIE-i0G2jHO_.js +1 -0
- package/dist/client/assets/zh-TW-LENVCA6T-BkHZg3jv.js +9 -0
- package/dist/client/excalidraw-editor.html +31 -0
- package/{public → dist/client}/index.html +135 -222
- package/docker-compose.yml +13 -1
- package/package.json +14 -7
- package/src/client/app/excalidraw-editor-entry.js +4 -0
- package/{public → src/client/app}/excalidraw-editor.html +1 -3
- package/src/client/app/index.html +469 -0
- package/src/client/app/main-entry.js +24 -0
- package/src/client/application/app-shell/git-feature.js +268 -32
- package/src/client/application/app-shell/ui-feature-identity.js +170 -0
- package/src/client/application/app-shell/ui-feature-shell.js +419 -0
- package/src/client/application/app-shell/ui-feature-sidebar.js +98 -0
- package/src/client/application/app-shell/ui-feature-tab-activity.js +128 -0
- package/src/client/application/app-shell/ui-feature-toolbar.js +520 -0
- package/src/client/application/app-shell/ui-feature.js +10 -648
- package/src/client/application/app-shell/workspace-feature.js +46 -0
- package/src/client/application/app-shell-elements.js +4 -0
- package/src/client/application/mermaid-preview-hydrator.js +1 -1
- package/src/client/application/plantuml-preview-hydrator.js +1 -1
- package/src/client/application/workspace-coordinator.js +147 -18
- package/src/client/application/workspace-preview-controller.js +34 -0
- package/src/client/application/workspace-route-controller.js +104 -0
- package/src/client/bootstrap/collabmd-app-shell.js +104 -0
- package/src/client/domain/markdown-formatting.js +197 -52
- package/src/client/domain/markdown-toolbar-actions.js +191 -0
- package/src/client/domain/runtime-paths.js +15 -0
- package/src/client/domain/workspace-request-id.js +7 -0
- package/src/client/excalidraw-editor.js +48 -2
- package/src/client/infrastructure/app-version-monitor.js +114 -0
- package/src/client/infrastructure/auth-client.js +219 -52
- package/src/client/infrastructure/browser-navigation-port.js +20 -0
- package/src/client/infrastructure/editor-collaboration-client.js +4 -0
- package/src/client/infrastructure/editor-session.js +47 -7
- package/src/client/infrastructure/editor-view-adapter.js +122 -58
- package/src/client/infrastructure/runtime-config-loader.js +56 -0
- package/src/client/infrastructure/runtime-config.js +66 -0
- package/src/client/infrastructure/vault-api-client.js +41 -7
- package/src/client/presentation/backlinks-panel.js +42 -9
- package/src/client/presentation/comment-ui/comment-ui-card.js +632 -0
- package/src/client/presentation/comment-ui/comment-ui-layout.js +452 -0
- package/src/client/presentation/comment-ui/comment-ui-render.js +149 -0
- package/src/client/presentation/comment-ui/comment-ui-shared.js +297 -0
- package/src/client/presentation/comment-ui/comment-ui-state.js +268 -0
- package/src/client/presentation/comment-ui-controller.js +13 -1529
- package/src/client/presentation/comments-panel.js +2 -2
- package/src/client/presentation/excalidraw-embed-controller.js +60 -2
- package/src/client/presentation/file-action-controller.js +195 -32
- package/src/client/presentation/file-explorer-controller.js +16 -2
- package/src/client/presentation/file-explorer-view.js +248 -7
- package/src/client/presentation/file-history-view-controller.js +806 -0
- package/src/client/presentation/file-tree-state.js +100 -5
- package/src/client/presentation/git-diff-view-controller.js +718 -121
- package/src/client/presentation/git-panel-controller.js +458 -66
- package/src/client/presentation/layout-controller.js +1 -1
- package/src/client/presentation/toast-controller.js +49 -6
- package/src/client/styles/components/actions.css +89 -0
- package/src/client/styles/components/feedback.css +71 -0
- package/src/client/styles/components/navigation.css +68 -0
- package/src/client/styles/components/scrollbars.css +104 -0
- package/src/client/styles/components/states.css +289 -0
- package/src/client/styles/components/surfaces.css +155 -0
- package/src/client/styles/features/backlinks.css +218 -0
- package/src/client/styles/features/collaboration-chat.css +228 -0
- package/src/client/styles/features/collaboration-dialogs.css +154 -0
- package/src/client/styles/features/collaboration-presence.css +103 -0
- package/src/client/styles/features/collaboration-ui.css +3 -0
- package/src/client/styles/features/comment-card.css +236 -0
- package/src/client/styles/features/comment-markdown.css +127 -0
- package/src/client/styles/features/comment-overlays.css +60 -0
- package/src/client/styles/features/comments-drawer.css +120 -0
- package/src/client/styles/features/comments.css +4 -0
- package/src/client/styles/features/diagram-preview.css +227 -0
- package/src/client/styles/features/diff-commit.css +268 -0
- package/src/client/styles/features/diff-lines.css +160 -0
- package/src/client/styles/features/diff-toolbar.css +98 -0
- package/src/client/styles/features/diff.css +3 -0
- package/src/client/styles/features/embedded-preview.css +218 -0
- package/src/client/styles/features/git-branch.css +155 -0
- package/src/client/styles/features/git-files.css +105 -0
- package/src/client/styles/features/git-history.css +339 -0
- package/src/client/styles/features/git.css +3 -0
- package/src/client/styles/features/media-lightbox.css +157 -0
- package/src/client/styles/features/outline.css +115 -0
- package/src/client/styles/features/preview-content.css +3 -0
- package/src/client/styles/features/preview-markdown.css +201 -0
- package/src/client/styles/features/preview-sidebars.css +2 -0
- package/src/client/styles/features/quick-switcher.css +167 -0
- package/src/client/styles/foundation/themes.css +347 -0
- package/src/client/styles/foundation/tokens.css +66 -0
- package/src/client/styles/foundation/utilities.css +36 -0
- package/src/client/styles/layout/editor-page.css +303 -0
- package/src/client/styles/layout/overlays.css +132 -0
- package/src/client/styles/layout/responsive.css +331 -0
- package/src/client/styles/layout/shell.css +314 -0
- package/src/client/styles/layout/sidebar.css +209 -0
- package/src/client/styles/layout/view-modes.css +92 -0
- package/src/client/styles/overrides/codemirror.css +53 -0
- package/src/client/styles/overrides/highlightjs.css +7 -0
- package/src/client/styles/overrides/vendor.css +2 -0
- package/src/client/styles/primitives/controls.css +277 -0
- package/src/client/styles/style.css +25 -4945
- package/src/server/auth/create-auth-service.js +373 -15
- package/src/server/auth/session-cookie.js +30 -4
- package/src/server/config/build-info.js +76 -0
- package/src/server/config/env.js +130 -6
- package/src/server/create-app-server.js +8 -0
- package/src/server/domain/collaboration/collaboration-room.js +90 -47
- package/src/server/index.js +3 -1
- package/src/server/infrastructure/git/command-runner.js +2 -1
- package/src/server/infrastructure/git/git-service.js +48 -2
- package/src/server/infrastructure/git/history-service.js +683 -0
- package/src/server/infrastructure/git/parsers.js +30 -0
- package/src/server/infrastructure/git/responses.js +73 -0
- package/src/server/infrastructure/http/create-auth-api-handler.js +30 -2
- package/src/server/infrastructure/http/create-git-api-command-handler.js +2 -0
- package/src/server/infrastructure/http/create-git-api-handler.js +2 -0
- package/src/server/infrastructure/http/create-git-api-query-handler.js +61 -0
- package/src/server/infrastructure/http/create-request-handler.js +15 -0
- package/src/server/infrastructure/http/create-static-handler.js +11 -2
- package/src/server/infrastructure/http/create-vault-api-command-handler.js +67 -0
- package/src/server/infrastructure/persistence/path-utils.js +11 -0
- package/src/server/infrastructure/persistence/vault-file-store.js +158 -3
- package/src/server/infrastructure/workspace/workspace-mutation-coordinator.js +84 -3
- package/public/assets/css/base.css +0 -1
- package/public/assets/css/style.css +0 -1
- package/public/assets/js/chunks/CodeMirrorEditor-UCMRAMCV-MAKZFDBE.js +0 -12
- package/public/assets/js/chunks/apl-C5P5JBDI.js +0 -1
- package/public/assets/js/chunks/ar-SA-NXDWD63E-MF6HMEA4.js +0 -8
- package/public/assets/js/chunks/architecture-PBZL5I3N-55LDZ5WS.js +0 -1
- package/public/assets/js/chunks/architectureDiagram-2XIMDMQ5-2VP562X7.js +0 -36
- package/public/assets/js/chunks/asciiarmor-3NCLLELT.js +0 -1
- package/public/assets/js/chunks/asn1-KF4WXU3M.js +0 -1
- package/public/assets/js/chunks/asterisk-EA3VIN65.js +0 -1
- package/public/assets/js/chunks/az-AZ-MXSORGZV-AIGO4TNU.js +0 -1
- package/public/assets/js/chunks/bg-BG-O6MV2KSF-X6AVO2AF.js +0 -5
- package/public/assets/js/chunks/blockDiagram-WCTKOSBZ-KM56WWDE.js +0 -132
- package/public/assets/js/chunks/bn-BD-T2VJNT7N-7OMHRIGC.js +0 -3
- package/public/assets/js/chunks/bn-IN-MMW2ORAC-EPKMNKG7.js +0 -3
- package/public/assets/js/chunks/brainfuck-A3CTQVFD.js +0 -1
- package/public/assets/js/chunks/c4Diagram-IC4MRINW-KX6UEGQZ.js +0 -10
- package/public/assets/js/chunks/ca-ES-MKBCGNOG-U44SUUTN.js +0 -8
- package/public/assets/js/chunks/chunk-2NTQWLZD.js +0 -25
- package/public/assets/js/chunks/chunk-2YRP2AWD.js +0 -1
- package/public/assets/js/chunks/chunk-3BUCGSSJ.js +0 -1
- package/public/assets/js/chunks/chunk-47L7JGE3.js +0 -1
- package/public/assets/js/chunks/chunk-4BCHPULB.js +0 -1
- package/public/assets/js/chunks/chunk-4NKM6YFO.js +0 -161
- package/public/assets/js/chunks/chunk-4WGMPBK5.js +0 -1
- package/public/assets/js/chunks/chunk-55WF6Y2Q.js +0 -1
- package/public/assets/js/chunks/chunk-5QRWYPYT.js +0 -25
- package/public/assets/js/chunks/chunk-775E65SU.js +0 -1
- package/public/assets/js/chunks/chunk-AJRGTECU.js +0 -70
- package/public/assets/js/chunks/chunk-B2J3PHGY.js +0 -1
- package/public/assets/js/chunks/chunk-B4JKB3BC.js +0 -1
- package/public/assets/js/chunks/chunk-CGVY4PKT.js +0 -13
- package/public/assets/js/chunks/chunk-CVTRX3TE.js +0 -220
- package/public/assets/js/chunks/chunk-DW6KK6VF.js +0 -1
- package/public/assets/js/chunks/chunk-E2HMNOQL.js +0 -189
- package/public/assets/js/chunks/chunk-EPTJZP5H.js +0 -7
- package/public/assets/js/chunks/chunk-G7NUGGE7.js +0 -13
- package/public/assets/js/chunks/chunk-GFDM7YCF.js +0 -1
- package/public/assets/js/chunks/chunk-GI7LBIBP.js +0 -1
- package/public/assets/js/chunks/chunk-GXRL27M7.js +0 -1
- package/public/assets/js/chunks/chunk-H6EYDHRW.js +0 -1
- package/public/assets/js/chunks/chunk-HEWVH67U.js +0 -9
- package/public/assets/js/chunks/chunk-HOCBCDA5.js +0 -1
- package/public/assets/js/chunks/chunk-HS2CUOC6.js +0 -1
- package/public/assets/js/chunks/chunk-HUAS4BYI.js +0 -12
- package/public/assets/js/chunks/chunk-HVNNEPP5.js +0 -2
- package/public/assets/js/chunks/chunk-I2GVZI7W.js +0 -38
- package/public/assets/js/chunks/chunk-I6PVWGBN.js +0 -14
- package/public/assets/js/chunks/chunk-IZ3V3F2A.js +0 -1
- package/public/assets/js/chunks/chunk-KPAQHIOI.js +0 -1
- package/public/assets/js/chunks/chunk-M3EW4V74.js +0 -1
- package/public/assets/js/chunks/chunk-MK3AFU3C.js +0 -90
- package/public/assets/js/chunks/chunk-NM6J3ND7.js +0 -1
- package/public/assets/js/chunks/chunk-NO7UPWTU.js +0 -1
- package/public/assets/js/chunks/chunk-OHGDMMWM.js +0 -1
- package/public/assets/js/chunks/chunk-OOT2HALX.js +0 -1
- package/public/assets/js/chunks/chunk-OQLLZFFN.js +0 -1
- package/public/assets/js/chunks/chunk-PF6TP4EI.js +0 -1
- package/public/assets/js/chunks/chunk-PMOZMECZ.js +0 -85
- package/public/assets/js/chunks/chunk-QBGS6DJR.js +0 -1
- package/public/assets/js/chunks/chunk-QF3ZQ6UQ.js +0 -1
- package/public/assets/js/chunks/chunk-QFXMAUW4.js +0 -1
- package/public/assets/js/chunks/chunk-QYKIT2IH.js +0 -41
- package/public/assets/js/chunks/chunk-S75BI2UQ.js +0 -1
- package/public/assets/js/chunks/chunk-SKEZZ3H6.js +0 -1
- package/public/assets/js/chunks/chunk-SO6QBCB6.js +0 -1
- package/public/assets/js/chunks/chunk-TFP6LRYJ.js +0 -53
- package/public/assets/js/chunks/chunk-VOODXHXA.js +0 -1
- package/public/assets/js/chunks/chunk-W7WJUTSA.js +0 -3
- package/public/assets/js/chunks/chunk-WNXFO2F2.js +0 -1
- package/public/assets/js/chunks/chunk-X6EEYWV4.js +0 -6
- package/public/assets/js/chunks/chunk-YVW3ZETS.js +0 -1
- package/public/assets/js/chunks/chunk-ZR2QRTBG.js +0 -339
- package/public/assets/js/chunks/chunk-ZZJX4LQ2.js +0 -1
- package/public/assets/js/chunks/classDiagram-VBA2DB6C-IYW4O2RM.js +0 -1
- package/public/assets/js/chunks/classDiagram-v2-RAHNMMFH-DNKVN2WD.js +0 -1
- package/public/assets/js/chunks/clike-RTBH33GE.js +0 -1
- package/public/assets/js/chunks/clojure-BR2VJ2JI.js +0 -1
- package/public/assets/js/chunks/cmake-2HEWVFEE.js +0 -1
- package/public/assets/js/chunks/cobol-V6EIK6DN.js +0 -1
- package/public/assets/js/chunks/coffeescript-JW3ZOGMD.js +0 -1
- package/public/assets/js/chunks/commonlisp-UCWSIHYK.js +0 -1
- package/public/assets/js/chunks/cose-bilkent-S5V4N54A-QVYRFFNC.js +0 -1
- package/public/assets/js/chunks/crystal-GR4VLC3M.js +0 -1
- package/public/assets/js/chunks/cs-CZ-V77HGUP7-OLBAKFG5.js +0 -7
- package/public/assets/js/chunks/css-C5DVWGB4.js +0 -1
- package/public/assets/js/chunks/cypher-K7FZM5GC.js +0 -1
- package/public/assets/js/chunks/d-CF3QNNH5.js +0 -1
- package/public/assets/js/chunks/da-DK-I5RFNTM4-QJIG2SEZ.js +0 -2
- package/public/assets/js/chunks/dagre-KLK3FWXG-KVNBUDOY.js +0 -4
- package/public/assets/js/chunks/de-CH-WLRDEVBV-4MMJDMVD.js +0 -7
- package/public/assets/js/chunks/de-DE-DTI4WUSC-ML7C46TT.js +0 -7
- package/public/assets/js/chunks/diagram-E7M64L7V-ZP33VRUC.js +0 -24
- package/public/assets/js/chunks/diagram-IFDJBPK2-ZG35YWOD.js +0 -43
- package/public/assets/js/chunks/diagram-P4PSJMXO-ZGIGM7D2.js +0 -24
- package/public/assets/js/chunks/diff-KOMSZU7O.js +0 -1
- package/public/assets/js/chunks/dist-7RQKSOUX.js +0 -7
- package/public/assets/js/chunks/dist-ARWGZ6MN.js +0 -1
- package/public/assets/js/chunks/dist-DPBSGC3Y.js +0 -2
- package/public/assets/js/chunks/dist-E36PJE5M.js +0 -1
- package/public/assets/js/chunks/dist-E5NM7OBW.js +0 -1
- package/public/assets/js/chunks/dist-ERADYPEK.js +0 -1
- package/public/assets/js/chunks/dist-F43RIHBZ.js +0 -1
- package/public/assets/js/chunks/dist-HAB5NIXI.js +0 -1
- package/public/assets/js/chunks/dist-HG23OLRA.js +0 -1
- package/public/assets/js/chunks/dist-IEJXBSDJ.js +0 -1
- package/public/assets/js/chunks/dist-IQA4KVJK.js +0 -1
- package/public/assets/js/chunks/dist-OIQTNVT2.js +0 -3
- package/public/assets/js/chunks/dist-PMZJ734S.js +0 -1
- package/public/assets/js/chunks/dist-RCQFQRLD.js +0 -1
- package/public/assets/js/chunks/dist-RQLC4GVI.js +0 -1
- package/public/assets/js/chunks/dist-RSJGLSKC.js +0 -1
- package/public/assets/js/chunks/dist-SGNQZVVX.js +0 -1
- package/public/assets/js/chunks/dist-VCFTF7Z6.js +0 -1
- package/public/assets/js/chunks/dist-VTO23SHH.js +0 -1
- package/public/assets/js/chunks/dist-XOODBV4L.js +0 -1
- package/public/assets/js/chunks/dist-ZFZNCRZY.js +0 -1
- package/public/assets/js/chunks/dockerfile-XCIKYOSI.js +0 -1
- package/public/assets/js/chunks/dtd-3XFH7W6Z.js +0 -1
- package/public/assets/js/chunks/dylan-3UWPKVOR.js +0 -1
- package/public/assets/js/chunks/ebnf-OLHTL3VN.js +0 -1
- package/public/assets/js/chunks/ecl-43LZ3ZRM.js +0 -1
- package/public/assets/js/chunks/editor-session-EAUBJCHH.js +0 -22
- package/public/assets/js/chunks/eiffel-ISPO2UJF.js +0 -1
- package/public/assets/js/chunks/el-GR-ZXDJ2OS4-WSCEIO6J.js +0 -7
- package/public/assets/js/chunks/elm-CLK576PK.js +0 -1
- package/public/assets/js/chunks/en-CTDJDZ6K-IC3QAUOI.js +0 -1
- package/public/assets/js/chunks/erDiagram-INFDFZHY-ZMS6H2TH.js +0 -70
- package/public/assets/js/chunks/erlang-AVQXQFOT.js +0 -1
- package/public/assets/js/chunks/es-ES-DYQHAD43-XGB5X5IM.js +0 -7
- package/public/assets/js/chunks/eu-ES-QDSYU5Y3-LA3JTIJ2.js +0 -7
- package/public/assets/js/chunks/excalidraw-mermaid-stub-NYXTOJ4H.js +0 -1
- package/public/assets/js/chunks/fa-IR-26LZG4PM-PFALMEDX.js +0 -9
- package/public/assets/js/chunks/factor-CRTVBD6Q.js +0 -1
- package/public/assets/js/chunks/fcl-FX24LKTH.js +0 -1
- package/public/assets/js/chunks/fi-FI-6YS4KDE4-ES5MV6P4.js +0 -6
- package/public/assets/js/chunks/flowDiagram-PKNHOUZH-QD4L5IE5.js +0 -162
- package/public/assets/js/chunks/forth-YKDKCTVS.js +0 -1
- package/public/assets/js/chunks/fortran-UJWC6SLU.js +0 -1
- package/public/assets/js/chunks/fr-FR-BRLLPTZC-VMFE22YV.js +0 -12
- package/public/assets/js/chunks/ganttDiagram-A5KZAMGK-VTMTQESP.js +0 -292
- package/public/assets/js/chunks/gas-MYEMWGRE.js +0 -1
- package/public/assets/js/chunks/gherkin-JWHAU2YG.js +0 -1
- package/public/assets/js/chunks/gitGraph-HDMCJU4V-YPHS74XX.js +0 -1
- package/public/assets/js/chunks/gitGraphDiagram-K3NZZRJ6-Z3EZ634T.js +0 -65
- package/public/assets/js/chunks/gl-ES-OKUZTLYG-GPT42ZHV.js +0 -6
- package/public/assets/js/chunks/groovy-QZIZQIAK.js +0 -1
- package/public/assets/js/chunks/haskell-JR3G7YNW.js +0 -1
- package/public/assets/js/chunks/haxe-TVLAIYEN.js +0 -1
- package/public/assets/js/chunks/he-IL-26MGYIU7-VQ5XQYYY.js +0 -8
- package/public/assets/js/chunks/hi-IN-Q4ZOGTP2-2Z766MXA.js +0 -3
- package/public/assets/js/chunks/http-YXQRE77G.js +0 -1
- package/public/assets/js/chunks/hu-HU-P2OXPSN5-6XDVPGTE.js +0 -3
- package/public/assets/js/chunks/id-ID-2EIKXYN6-J5GWSY2S.js +0 -8
- package/public/assets/js/chunks/idl-RAQGJ6LJ.js +0 -1
- package/public/assets/js/chunks/image-32MOCVDX-JN2EUMQG.js +0 -1
- package/public/assets/js/chunks/image-blob-reduce.esm-K5OWL55S.js +0 -13
- package/public/assets/js/chunks/info-3K5VOQVL-CXJSPNNP.js +0 -1
- package/public/assets/js/chunks/infoDiagram-LFFYTUFH-WQ34MUJA.js +0 -2
- package/public/assets/js/chunks/ishikawaDiagram-PHBUUO56-4IARWKJK.js +0 -70
- package/public/assets/js/chunks/it-IT-4CFKVXI2-NMBWUWFF.js +0 -12
- package/public/assets/js/chunks/ja-JP-MAND2Z4V-GQZYXXOC.js +0 -7
- package/public/assets/js/chunks/javascript-NM7KDJUE.js +0 -1
- package/public/assets/js/chunks/journeyDiagram-4ABVD52K-FJ4LF4SX.js +0 -139
- package/public/assets/js/chunks/julia-LG3BH25B.js +0 -1
- package/public/assets/js/chunks/kaa-HQRTCXTJ-7D6PAKDJ.js +0 -1
- package/public/assets/js/chunks/kab-KAB-JKIKKTGH-TNKFXNAX.js +0 -4
- package/public/assets/js/chunks/kanban-definition-K7BYSVSG-TY4EVYI3.js +0 -89
- package/public/assets/js/chunks/katex-5YJCUCFD.js +0 -261
- package/public/assets/js/chunks/kk-KZ-HXQ63ZFC-T4HCMWED.js +0 -1
- package/public/assets/js/chunks/km-KH-PKL3LSGX-HTLHEJV6.js +0 -7
- package/public/assets/js/chunks/ko-KR-KXLREZX3-QMR52QVI.js +0 -5
- package/public/assets/js/chunks/ku-TR-MJ4IER3X-K5CNY4UO.js +0 -6
- package/public/assets/js/chunks/livescript-4CVWVI4M.js +0 -1
- package/public/assets/js/chunks/lt-LT-H6WFQ6FJ-IW25FAGX.js +0 -3
- package/public/assets/js/chunks/lua-VWGE7DQ7.js +0 -1
- package/public/assets/js/chunks/lv-LV-GOCK6SJW-KTDFW5OH.js +0 -4
- package/public/assets/js/chunks/mathematica-D7APQSEU.js +0 -1
- package/public/assets/js/chunks/mbox-BN3XQBYX.js +0 -1
- package/public/assets/js/chunks/mermaid-runtime-BIFNJ2CT.js +0 -18
- package/public/assets/js/chunks/mindmap-definition-YRQLILUH-5B565RNP.js +0 -68
- package/public/assets/js/chunks/mirc-565WBI76.js +0 -1
- package/public/assets/js/chunks/mllike-VV3KS46B.js +0 -1
- package/public/assets/js/chunks/modelica-EGX44FZV.js +0 -1
- package/public/assets/js/chunks/mr-IN-IXVLDMEQ-PHM5DT7Q.js +0 -9
- package/public/assets/js/chunks/mscgen-GFGTHENT.js +0 -1
- package/public/assets/js/chunks/mumps-POZYWSMI.js +0 -1
- package/public/assets/js/chunks/my-MM-YG6MYTTD-ZHLCMEVA.js +0 -1
- package/public/assets/js/chunks/nb-NO-XGWJISD2-KSDFG6YU.js +0 -8
- package/public/assets/js/chunks/nginx-JUBX55EU.js +0 -1
- package/public/assets/js/chunks/nl-NL-XVDVCPNC-KVF3ZO2R.js +0 -13
- package/public/assets/js/chunks/nn-NO-EMX5MJX5-34QKSHNR.js +0 -4
- package/public/assets/js/chunks/nsis-RC4CREGM.js +0 -1
- package/public/assets/js/chunks/ntriples-4WK6CNVE.js +0 -1
- package/public/assets/js/chunks/oc-FR-ROEINTVO-5GP4AOYO.js +0 -4
- package/public/assets/js/chunks/octave-GOKFN2V7.js +0 -1
- package/public/assets/js/chunks/oz-OQUMNC63.js +0 -1
- package/public/assets/js/chunks/pa-IN-ZYN6SUDY-MVL7O44W.js +0 -4
- package/public/assets/js/chunks/packet-RMMSAZCW-D7XTR5TT.js +0 -1
- package/public/assets/js/chunks/pascal-BBWQWWWD.js +0 -1
- package/public/assets/js/chunks/percentages-5DKR754L-DG7W23CV.js +0 -1
- package/public/assets/js/chunks/perl-KTPJTTAM.js +0 -1
- package/public/assets/js/chunks/pica-6G3NROWT.js +0 -17
- package/public/assets/js/chunks/pie-UPGHQEXC-KGC3O6LN.js +0 -1
- package/public/assets/js/chunks/pieDiagram-SKSYHLDU-KWKRDEZS.js +0 -30
- package/public/assets/js/chunks/pig-IJMBS4FZ.js +0 -1
- package/public/assets/js/chunks/pl-PL-6VTG7PHC-VADRWSX4.js +0 -12
- package/public/assets/js/chunks/powershell-6YGCBHDP.js +0 -1
- package/public/assets/js/chunks/preview-render-compiler-6Y7TKXFJ.js +0 -1
- package/public/assets/js/chunks/properties-5QTD3364.js +0 -1
- package/public/assets/js/chunks/protobuf-LTRWBIK3.js +0 -1
- package/public/assets/js/chunks/pt-BR-5YFKRR5G-HHF4UPO4.js +0 -6
- package/public/assets/js/chunks/pt-PT-GEIXXZ67-TUTAUZJK.js +0 -8
- package/public/assets/js/chunks/pug-U4PV3WLG.js +0 -1
- package/public/assets/js/chunks/puppet-WGYJPR3Y.js +0 -1
- package/public/assets/js/chunks/python-6YGH4S47.js +0 -1
- package/public/assets/js/chunks/q-VIG4IJLI.js +0 -1
- package/public/assets/js/chunks/quadrantDiagram-337W2JSQ-GWQRUFHQ.js +0 -7
- package/public/assets/js/chunks/quick-switcher-controller-A6SKH5HI.js +0 -5
- package/public/assets/js/chunks/r-NVPCXGTR.js +0 -1
- package/public/assets/js/chunks/radar-KQ55EAFF-OPO64DRI.js +0 -1
- package/public/assets/js/chunks/requirementDiagram-Z7DCOOCP-ASW7IPJL.js +0 -73
- package/public/assets/js/chunks/ro-RO-E2P6TFZI-RJFCULYF.js +0 -12
- package/public/assets/js/chunks/roundRect-Z3DX3W5S.js +0 -1
- package/public/assets/js/chunks/rpm-UEA257HD.js +0 -1
- package/public/assets/js/chunks/ru-RU-YBIIY43T-BF27TNVK.js +0 -10
- package/public/assets/js/chunks/ruby-KPQRAJGE.js +0 -1
- package/public/assets/js/chunks/sankeyDiagram-WA2Y5GQK-W6BBWCLW.js +0 -10
- package/public/assets/js/chunks/sas-L7VATVH5.js +0 -1
- package/public/assets/js/chunks/scheme-T2NOWR3P.js +0 -1
- package/public/assets/js/chunks/sequenceDiagram-2WXFIKYE-H4G3ISLN.js +0 -145
- package/public/assets/js/chunks/shell-DLVDUNFA.js +0 -1
- package/public/assets/js/chunks/si-LK-673C2CI2-IOFGU4U2.js +0 -1
- package/public/assets/js/chunks/sieve-BKBZYDBU.js +0 -1
- package/public/assets/js/chunks/sk-SK-CKZHQ4AP-6O5JGN26.js +0 -7
- package/public/assets/js/chunks/sl-SI-557H2GWM-2NEHLV7W.js +0 -6
- package/public/assets/js/chunks/smalltalk-WRJQKJSD.js +0 -1
- package/public/assets/js/chunks/solr-66B3BIDL.js +0 -1
- package/public/assets/js/chunks/sparql-S25Z47JG.js +0 -1
- package/public/assets/js/chunks/spreadsheet-B272EF7Y.js +0 -1
- package/public/assets/js/chunks/sql-BPLIIUYC.js +0 -1
- package/public/assets/js/chunks/stateDiagram-RAJIS63D-OF5XXRUS.js +0 -1
- package/public/assets/js/chunks/stateDiagram-v2-FVOUBMTO-IV2CSQSQ.js +0 -1
- package/public/assets/js/chunks/stex-4IJY64QX.js +0 -1
- package/public/assets/js/chunks/stylus-PJUHLGPT.js +0 -1
- package/public/assets/js/chunks/subset-shared.chunk-4NMWHS4D.js +0 -1
- package/public/assets/js/chunks/subset-worker.chunk-NTLP7Y66.js +0 -1
- package/public/assets/js/chunks/sv-SE-XOPKKDWS-Q2L6KGFV.js +0 -8
- package/public/assets/js/chunks/swift-UYHTO4SX.js +0 -1
- package/public/assets/js/chunks/ta-IN-XBH7DQI3-ISSUGZAK.js +0 -6
- package/public/assets/js/chunks/tcl-OQ5J3VO2.js +0 -1
- package/public/assets/js/chunks/textile-NOGVBEYF.js +0 -1
- package/public/assets/js/chunks/th-TH-TOCWH3R4-TABEAMJA.js +0 -1
- package/public/assets/js/chunks/tiddlywiki-SYTK4QUE.js +0 -1
- package/public/assets/js/chunks/tiki-P7K4ZLOM.js +0 -1
- package/public/assets/js/chunks/timeline-definition-YZTLITO2-HBCANIUC.js +0 -61
- package/public/assets/js/chunks/toml-AUZYRP36.js +0 -1
- package/public/assets/js/chunks/tr-TR-GXW6CYY5-5NQRN52Y.js +0 -4
- package/public/assets/js/chunks/treemap-KZPCXAKY-WYMCT5F7.js +0 -1
- package/public/assets/js/chunks/troff-XFYJNQOJ.js +0 -1
- package/public/assets/js/chunks/ttcn-AK2IXWU6.js +0 -1
- package/public/assets/js/chunks/ttcn-cfg-3IDPIYPU.js +0 -1
- package/public/assets/js/chunks/turtle-OIDMF46P.js +0 -1
- package/public/assets/js/chunks/uk-UA-IJKTNUDG-2IIL3TO5.js +0 -6
- package/public/assets/js/chunks/uz-UZ-TBZZEA4V-X22KVKBP.js +0 -1
- package/public/assets/js/chunks/vb-J6K4XVA2.js +0 -1
- package/public/assets/js/chunks/vbscript-FM7DDZZE.js +0 -1
- package/public/assets/js/chunks/velocity-6KZFEOFD.js +0 -1
- package/public/assets/js/chunks/vennDiagram-LZ73GAT5-EBRF3MZR.js +0 -34
- package/public/assets/js/chunks/verilog-EWWQPMNN.js +0 -1
- package/public/assets/js/chunks/vhdl-CJ3M4IHI.js +0 -1
- package/public/assets/js/chunks/vi-VN-MULSGNVB-TENM65C7.js +0 -7
- package/public/assets/js/chunks/webidl-XVBHXCRV.js +0 -1
- package/public/assets/js/chunks/xquery-7WZOZ4UK.js +0 -1
- package/public/assets/js/chunks/xychartDiagram-JWTSCODW-WIFVRQPR.js +0 -7
- package/public/assets/js/chunks/yacas-MZ2ZZPF3.js +0 -1
- package/public/assets/js/chunks/z80-I447CBF7.js +0 -1
- package/public/assets/js/chunks/zh-CN-MVX3E32U-S5VA2BA5.js +0 -11
- package/public/assets/js/chunks/zh-HK-JNU5RLIE-A4VUKZFV.js +0 -1
- package/public/assets/js/chunks/zh-TW-LENVCA6T-KFB6KHMM.js +0 -9
- package/public/assets/js/excalidraw-editor-7ORML5YA.css +0 -1
- package/public/assets/js/excalidraw-editor-TCIH6GJL.js +0 -347
- package/public/assets/js/excalidraw-editor.css +0 -1
- package/public/assets/js/excalidraw-editor.js +0 -1
- package/public/assets/js/main.js +0 -381
- package/public/assets/js/preview-render-worker.js +0 -30
- /package/{public/assets/js/assets/Assistant-Bold-ZDZZ6JHA.woff2 → dist/client/assets/Assistant-Bold-gm-uSS1B.woff2} +0 -0
- /package/{public/assets/js/assets/Assistant-Medium-DZ25RZU3.woff2 → dist/client/assets/Assistant-Medium-DrcxCXg3.woff2} +0 -0
- /package/{public/assets/js/assets/Assistant-Regular-PLF2XOGW.woff2 → dist/client/assets/Assistant-Regular-DVxZuzxb.woff2} +0 -0
- /package/{public/assets/js/assets/Assistant-SemiBold-CZ5MX6FK.woff2 → dist/client/assets/Assistant-SemiBold-SCI4bEL9.woff2} +0 -0
- /package/{public → src/client}/assets/vendor/highlight/github-dark.min.css +0 -0
- /package/{public → src/client}/assets/vendor/highlight/github.min.css +0 -0
package/docker-compose.yml
CHANGED
|
@@ -6,7 +6,19 @@ services:
|
|
|
6
6
|
environment:
|
|
7
7
|
HOST: 0.0.0.0
|
|
8
8
|
PORT: 1234
|
|
9
|
+
AUTH_STRATEGY: ${AUTH_STRATEGY:-none}
|
|
10
|
+
AUTH_PASSWORD: ${AUTH_PASSWORD:-}
|
|
11
|
+
AUTH_SESSION_COOKIE_NAME: ${AUTH_SESSION_COOKIE_NAME:-collabmd_auth}
|
|
12
|
+
AUTH_SESSION_SECRET: ${AUTH_SESSION_SECRET:-}
|
|
13
|
+
PUBLIC_BASE_URL: ${PUBLIC_BASE_URL:-http://localhost:1234}
|
|
14
|
+
AUTH_OIDC_CLIENT_ID: ${AUTH_OIDC_CLIENT_ID:-}
|
|
15
|
+
AUTH_OIDC_CLIENT_SECRET: ${AUTH_OIDC_CLIENT_SECRET:-}
|
|
16
|
+
AUTH_OIDC_ALLOWED_EMAILS: ${AUTH_OIDC_ALLOWED_EMAILS:-}
|
|
17
|
+
AUTH_OIDC_ALLOWED_DOMAINS: ${AUTH_OIDC_ALLOWED_DOMAINS:-}
|
|
18
|
+
BASE_PATH: ${BASE_PATH:-}
|
|
19
|
+
PUBLIC_WS_BASE_URL: ${PUBLIC_WS_BASE_URL:-}
|
|
9
20
|
PLANTUML_SERVER_URL: http://plantuml:8080
|
|
21
|
+
COLLABMD_VAULT_DIR: ${COLLABMD_VAULT_DIR:-/data}
|
|
10
22
|
COLLABMD_GIT_REPO_URL: ${COLLABMD_GIT_REPO_URL:-}
|
|
11
23
|
COLLABMD_GIT_SSH_PRIVATE_KEY_FILE: ${COLLABMD_GIT_SSH_PRIVATE_KEY_FILE:-}
|
|
12
24
|
COLLABMD_GIT_SSH_PRIVATE_KEY_B64: ${COLLABMD_GIT_SSH_PRIVATE_KEY_B64:-}
|
|
@@ -25,7 +37,7 @@ services:
|
|
|
25
37
|
volumes:
|
|
26
38
|
- type: bind
|
|
27
39
|
source: ${HOST_VAULT_DIR:-./data/vault}
|
|
28
|
-
target:
|
|
40
|
+
target: ${COLLABMD_VAULT_DIR:-/data}
|
|
29
41
|
# Optional: mount secret files when using file-based SSH auth.
|
|
30
42
|
# - type: bind
|
|
31
43
|
# source: ${HOST_SSH_KEY_FILE}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "collabmd",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Collaborative markdown vault — like Obsidian, but online. Serve any directory of markdown files for realtime collaborative editing.",
|
|
6
6
|
"repository": {
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"files": [
|
|
15
15
|
"README.md",
|
|
16
16
|
"bin/",
|
|
17
|
+
"dist/",
|
|
17
18
|
"docker-compose.yml",
|
|
18
|
-
"public/",
|
|
19
19
|
"scripts/cloudflare-tunnel.mjs",
|
|
20
20
|
"scripts/local-plantuml-compose.mjs",
|
|
21
21
|
"server.js",
|
|
@@ -26,9 +26,11 @@
|
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
|
28
28
|
"prepack": "npm run build",
|
|
29
|
-
"build": "
|
|
29
|
+
"build": "vite build",
|
|
30
30
|
"capture:readme-assets": "node scripts/capture-readme-assets.mjs",
|
|
31
|
-
"check": "npm run
|
|
31
|
+
"check": "npm run lint && npm run test:guardrails && npm run test:unit && npm run test:browser",
|
|
32
|
+
"dev:client": "vite",
|
|
33
|
+
"dev:server": "node bin/collabmd.js --no-tunnel",
|
|
32
34
|
"homebrew:formula": "node scripts/render-homebrew-formula.mjs",
|
|
33
35
|
"lint": "eslint .",
|
|
34
36
|
"plantuml:up": "node scripts/local-plantuml-compose.mjs up",
|
|
@@ -36,7 +38,8 @@
|
|
|
36
38
|
"start": "npm run build && node bin/collabmd.js",
|
|
37
39
|
"start:local-plantuml": "npm run build && node bin/collabmd.js --local-plantuml",
|
|
38
40
|
"start:prod": "node bin/collabmd.js",
|
|
39
|
-
"test": "npm run test:unit && npm run test:e2e",
|
|
41
|
+
"test": "npm run test:unit && npm run test:browser && npm run test:e2e",
|
|
42
|
+
"test:browser": "vitest run --config vitest.config.mjs --browser=chromium",
|
|
40
43
|
"test:e2e": "playwright test",
|
|
41
44
|
"test:e2e:headed": "playwright test --headed",
|
|
42
45
|
"test:guardrails": "node --test tests/node/architecture-boundaries.test.js tests/node/facade-structure.test.js",
|
|
@@ -71,6 +74,7 @@
|
|
|
71
74
|
"lib0": "^0.2.0",
|
|
72
75
|
"markdown-it": "^14.1.0",
|
|
73
76
|
"mermaid": "^11.13.0",
|
|
77
|
+
"openid-client": "^6.8.2",
|
|
74
78
|
"react": "^19.2.0",
|
|
75
79
|
"react-dom": "^19.2.0",
|
|
76
80
|
"ws": "^8.0.0",
|
|
@@ -86,8 +90,11 @@
|
|
|
86
90
|
},
|
|
87
91
|
"devDependencies": {
|
|
88
92
|
"@playwright/test": "^1.58.2",
|
|
89
|
-
"
|
|
93
|
+
"@vitest/browser": "^4.1.0",
|
|
94
|
+
"@vitest/browser-playwright": "^4.1.0",
|
|
90
95
|
"eslint": "^9.22.0",
|
|
91
|
-
"globals": "^16.0.0"
|
|
96
|
+
"globals": "^16.0.0",
|
|
97
|
+
"vite": "^8.0.1",
|
|
98
|
+
"vitest": "^4.1.0"
|
|
92
99
|
}
|
|
93
100
|
}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>Excalidraw — CollabMD</title>
|
|
7
|
-
<link rel="stylesheet" href="./assets/js/excalidraw-editor.css">
|
|
8
7
|
<style>
|
|
9
8
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
10
9
|
html, body { width: 100%; height: 100%; overflow: hidden; background: transparent; }
|
|
@@ -20,12 +19,11 @@
|
|
|
20
19
|
}
|
|
21
20
|
.loading-state.error { color: #e55; }
|
|
22
21
|
</style>
|
|
23
|
-
<script src="./app-config.js"></script>
|
|
24
22
|
</head>
|
|
25
23
|
<body>
|
|
26
24
|
<div id="root">
|
|
27
25
|
<div class="loading-state" id="loadingState">Loading Excalidraw...</div>
|
|
28
26
|
</div>
|
|
29
|
-
<script type="module" src="./
|
|
27
|
+
<script type="module" src="./excalidraw-editor-entry.js"></script>
|
|
30
28
|
</body>
|
|
31
29
|
</html>
|
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en" data-theme="dark">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<meta name="description" content="CollabMD — collaborative markdown vault. Edit markdown files together in realtime.">
|
|
7
|
+
<title>CollabMD — Collaborative Markdown Vault</title>
|
|
8
|
+
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect x='2' y='4' width='18' height='24' rx='3' fill='%23818cf8'/><rect x='12' y='4' width='18' height='24' rx='3' fill='%234f46e5' opacity='0.8'/><path d='M18 12h6M18 16h6M18 20h4' stroke='white' stroke-width='1.5' stroke-linecap='round'/></svg>">
|
|
9
|
+
<script>
|
|
10
|
+
if (
|
|
11
|
+
window.location.hash.includes('file=')
|
|
12
|
+
|| window.location.hash.includes('git-diff=')
|
|
13
|
+
|| window.location.hash.includes('git-file-preview=')
|
|
14
|
+
) {
|
|
15
|
+
document.documentElement.setAttribute('data-initial-file-requested', 'true');
|
|
16
|
+
}
|
|
17
|
+
</script>
|
|
18
|
+
</head>
|
|
19
|
+
<body>
|
|
20
|
+
<a href="#editorContainer" class="sr-only skip-link">Skip to editor</a>
|
|
21
|
+
|
|
22
|
+
<div class="app-shell">
|
|
23
|
+
<!-- ========== SIDEBAR ========== -->
|
|
24
|
+
<aside id="sidebar" class="sidebar">
|
|
25
|
+
<div class="sidebar-header">
|
|
26
|
+
<div class="sidebar-brand">
|
|
27
|
+
<svg width="20" height="20" viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
28
|
+
<rect x="6" y="8" width="28" height="38" rx="4" stroke="var(--color-primary)" stroke-width="2" fill="var(--color-primary)" fill-opacity="0.12"/>
|
|
29
|
+
<rect x="22" y="10" width="28" height="38" rx="4" stroke="var(--color-primary)" stroke-width="2" fill="var(--color-primary)" fill-opacity="0.25"/>
|
|
30
|
+
<path d="M14 20l4 10 1.5-4 4-1.5L14 20z" fill="var(--color-primary)" opacity="0.7"/>
|
|
31
|
+
<path d="M38 28l-4-10-1.5 4-4 1.5L38 28z" fill="var(--color-primary)"/>
|
|
32
|
+
</svg>
|
|
33
|
+
<span class="sidebar-title">CollabMD</span>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="sidebar-actions">
|
|
36
|
+
<button class="ui-icon-button sidebar-close-btn" id="sidebarClose" aria-label="Close sidebar" title="Close sidebar">
|
|
37
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
|
|
38
|
+
<line x1="18" y1="6" x2="6" y2="18"/>
|
|
39
|
+
<line x1="6" y1="6" x2="18" y2="18"/>
|
|
40
|
+
</svg>
|
|
41
|
+
</button>
|
|
42
|
+
<button class="ui-icon-button" id="newFileBtn" aria-label="New file" title="New file">
|
|
43
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>
|
|
44
|
+
</button>
|
|
45
|
+
<button class="ui-icon-button" id="newDrawingBtn" aria-label="New drawing" title="New Excalidraw drawing">
|
|
46
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19l7-7 3 3-7 7-3-3z"/><path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"/><path d="M2 2l7.586 7.586"/><circle cx="11" cy="11" r="2"/></svg>
|
|
47
|
+
</button>
|
|
48
|
+
<button class="ui-icon-button" id="newMermaidBtn" aria-label="New Mermaid diagram" title="New Mermaid diagram">
|
|
49
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 7.5c0-1.38 1.12-2.5 2.5-2.5 1.04 0 1.93.64 2.3 1.56A2.5 2.5 0 0 1 14 8.5v1"/><path d="M19 16.5c0 1.38-1.12 2.5-2.5 2.5-1.04 0-1.93-.64-2.3-1.56A2.5 2.5 0 0 1 10 15.5v-1"/><path d="M8 10.5h8"/><path d="M8 13.5h8"/><path d="M10 8.5v7"/><path d="M14 8.5v7"/></svg>
|
|
50
|
+
</button>
|
|
51
|
+
<button class="ui-icon-button" id="newPlantumlBtn" aria-label="New PlantUML diagram" title="New PlantUML diagram">
|
|
52
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="7" height="6" rx="1"/><rect x="14" y="4" width="7" height="6" rx="1"/><rect x="8.5" y="14" width="7" height="6" rx="1"/><path d="M10 7h4"/><path d="M17.5 10v2.5"/><path d="M6.5 10v2.5"/><path d="M6.5 12.5h11"/></svg>
|
|
53
|
+
</button>
|
|
54
|
+
<button class="ui-icon-button" id="newFolderBtn" aria-label="New folder" title="New folder">
|
|
55
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/><line x1="12" y1="11" x2="12" y2="17"/><line x1="9" y1="14" x2="15" y2="14"/></svg>
|
|
56
|
+
</button>
|
|
57
|
+
<button class="ui-icon-button" id="refreshFilesBtn" aria-label="Refresh" title="Refresh file list">
|
|
58
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><polyline points="23 4 23 10 17 10"/><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"/></svg>
|
|
59
|
+
</button>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
<div class="ui-nav-tabs hidden" id="sidebarTabs">
|
|
63
|
+
<button class="ui-nav-tab active" id="filesSidebarTab" type="button">
|
|
64
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>
|
|
65
|
+
Files
|
|
66
|
+
</button>
|
|
67
|
+
<button class="ui-nav-tab hidden" id="gitSidebarTab" type="button">
|
|
68
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="18" cy="18" r="3"/><circle cx="6" cy="6" r="3"/><path d="M13 6h3a2 2 0 0 1 2 2v7"/><path d="M6 9v12"/></svg>
|
|
69
|
+
Git
|
|
70
|
+
</button>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="sidebar-search" id="fileSearch">
|
|
73
|
+
<input type="text" class="sidebar-search-input" id="fileSearchInput" placeholder="Search files..." autocomplete="off" spellcheck="false" aria-label="Search files">
|
|
74
|
+
</div>
|
|
75
|
+
<div class="sidebar-search hidden" id="gitSearch">
|
|
76
|
+
<input type="text" class="sidebar-search-input" id="gitSearchInput" placeholder="Search changes..." autocomplete="off" spellcheck="false" aria-label="Search changed files">
|
|
77
|
+
</div>
|
|
78
|
+
<nav id="fileTree" class="file-tree" aria-label="File explorer"></nav>
|
|
79
|
+
<div id="gitPanel" class="git-panel hidden" aria-label="Git changes"></div>
|
|
80
|
+
</aside>
|
|
81
|
+
|
|
82
|
+
<!-- ========== MAIN AREA ========== -->
|
|
83
|
+
<main class="main-area" id="mainContent">
|
|
84
|
+
<!-- Toolbar -->
|
|
85
|
+
<header class="toolbar" role="banner">
|
|
86
|
+
<div class="toolbar-left">
|
|
87
|
+
<button class="ui-button btn btn-ghost ui-toolbar-button" id="sidebarToggle" aria-label="Toggle sidebar" title="Toggle sidebar">
|
|
88
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>
|
|
89
|
+
</button>
|
|
90
|
+
<div class="toolbar-room-info">
|
|
91
|
+
<span class="toolbar-room-name" id="activeFileName">CollabMD</span>
|
|
92
|
+
<span class="ui-pill-badge ui-pill-badge--accent toolbar-badge" id="userCount"></span>
|
|
93
|
+
<span class="ui-pill-badge ui-pill-badge--accent toolbar-badge hidden" id="toolbarDiffBadge">Diff</span>
|
|
94
|
+
<span class="ui-pill-badge ui-pill-badge--accent toolbar-badge hidden" id="gitOperationStatus" aria-live="polite" aria-atomic="true"></span>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
<div class="toolbar-center" id="toolbarCenter">
|
|
99
|
+
<div class="ui-segmented-control view-toggle" role="group" aria-label="View mode">
|
|
100
|
+
<button class="ui-segmented-btn view-btn active" data-view="split" aria-label="Split view" aria-pressed="true" title="Split view">
|
|
101
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"/><line x1="12" y1="3" x2="12" y2="21"/></svg>
|
|
102
|
+
</button>
|
|
103
|
+
<button class="ui-segmented-btn view-btn" data-view="editor" aria-label="Editor only" aria-pressed="false" title="Editor only">
|
|
104
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"/><line x1="8" y1="8" x2="16" y2="8"/><line x1="8" y1="12" x2="14" y2="12"/><line x1="8" y1="16" x2="12" y2="16"/></svg>
|
|
105
|
+
</button>
|
|
106
|
+
<button class="ui-segmented-btn view-btn" data-view="preview" aria-label="Preview only" aria-pressed="false" title="Preview only">
|
|
107
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>
|
|
108
|
+
</button>
|
|
109
|
+
</div>
|
|
110
|
+
</div>
|
|
111
|
+
|
|
112
|
+
<div class="toolbar-right">
|
|
113
|
+
<button class="ui-button btn btn-ghost ui-toolbar-button mobile-view-toggle" id="mobileViewToggle" aria-label="Toggle editor/preview" title="Toggle view">
|
|
114
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>
|
|
115
|
+
<span class="ui-toolbar-button-label">Preview</span>
|
|
116
|
+
</button>
|
|
117
|
+
|
|
118
|
+
<div class="user-avatars toolbar-presence-cluster" id="userAvatars"></div>
|
|
119
|
+
|
|
120
|
+
<button class="ui-button btn btn-ghost ui-toolbar-button toolbar-overflow-toggle" id="toolbarOverflowToggle" aria-label="Open more actions" aria-expanded="false" title="More actions">
|
|
121
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
|
|
122
|
+
<circle cx="12" cy="12" r="1"/>
|
|
123
|
+
<circle cx="19" cy="12" r="1"/>
|
|
124
|
+
<circle cx="5" cy="12" r="1"/>
|
|
125
|
+
</svg>
|
|
126
|
+
</button>
|
|
127
|
+
|
|
128
|
+
<div class="toolbar-overflow-menu" id="toolbarOverflowMenu">
|
|
129
|
+
<button class="ui-button btn btn-ghost ui-toolbar-button hidden" id="fileHistoryBtn" aria-label="Open file history" title="View file history">
|
|
130
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
131
|
+
<path d="M3 12a9 9 0 1 0 3-6.7"/>
|
|
132
|
+
<path d="M3 4v5h5"/>
|
|
133
|
+
<path d="M12 7v5l3 3"/>
|
|
134
|
+
</svg>
|
|
135
|
+
<span class="ui-toolbar-button-label" id="fileHistoryBtnLabel">History</span>
|
|
136
|
+
</button>
|
|
137
|
+
|
|
138
|
+
<button class="ui-button btn btn-ghost ui-toolbar-button ui-toolbar-button--name" id="editNameBtn" aria-label="Set name. Change display name" title="Change display name">
|
|
139
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"/><path d="M16.5 3.5a2.12 2.12 0 1 1 3 3L7 19l-4 1 1-4Z"/></svg>
|
|
140
|
+
<span class="ui-toolbar-button-label ui-toolbar-button-text" id="currentUserName">Set name</span>
|
|
141
|
+
</button>
|
|
142
|
+
|
|
143
|
+
<div class="chat-container" id="chatContainer">
|
|
144
|
+
<button class="ui-button btn btn-ghost ui-toolbar-button chat-toggle-btn" id="chatToggleBtn" aria-label="Open team chat" aria-expanded="false" title="Team chat">
|
|
145
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>
|
|
146
|
+
<span class="ui-toolbar-button-label">Chat</span>
|
|
147
|
+
<span class="ui-pill-badge ui-pill-badge--solid ui-pill-badge--count chat-toggle-badge hidden" id="chatToggleBadge">0</span>
|
|
148
|
+
</button>
|
|
149
|
+
<div class="toast-container chat-toast-container" id="chatToastContainer" aria-live="polite" aria-atomic="true"></div>
|
|
150
|
+
|
|
151
|
+
<section class="chat-panel hidden" id="chatPanel" aria-label="Team chat">
|
|
152
|
+
<div class="chat-panel-header">
|
|
153
|
+
<div>
|
|
154
|
+
<h2 class="chat-panel-title">Team chat</h2>
|
|
155
|
+
<p class="chat-panel-status" id="chatStatus">Syncing...</p>
|
|
156
|
+
</div>
|
|
157
|
+
<button class="ui-button ui-button--compact ui-pill-button ui-action-pill ui-action-pill--surface btn btn-secondary chat-notification-action" id="chatNotificationBtn" type="button">Enable alerts</button>
|
|
158
|
+
</div>
|
|
159
|
+
|
|
160
|
+
<div class="chat-empty-state" id="chatEmptyState">
|
|
161
|
+
Temporary room chat for whoever is online right now.
|
|
162
|
+
</div>
|
|
163
|
+
<div class="chat-messages hidden" id="chatMessages" role="log" aria-live="polite" aria-relevant="additions text"></div>
|
|
164
|
+
|
|
165
|
+
<form class="chat-form" id="chatForm">
|
|
166
|
+
<input type="text" class="input chat-input" id="chatInput" placeholder="Send a quick update..." autocomplete="off" spellcheck="true" maxlength="280" aria-label="Team chat message">
|
|
167
|
+
<button type="submit" class="ui-button btn btn-primary chat-send-btn">Send</button>
|
|
168
|
+
</form>
|
|
169
|
+
</section>
|
|
170
|
+
</div>
|
|
171
|
+
|
|
172
|
+
<button class="ui-button btn btn-ghost ui-toolbar-button" id="shareBtn" aria-label="Share. Copy link" title="Share link">
|
|
173
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>
|
|
174
|
+
<span class="ui-toolbar-button-label">Share</span>
|
|
175
|
+
</button>
|
|
176
|
+
<button class="ui-button btn btn-ghost ui-toolbar-button" id="themeToggleBtn" data-theme-toggle aria-label="Toggle theme" title="Toggle theme">
|
|
177
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg>
|
|
178
|
+
<span class="ui-toolbar-button-label">Theme</span>
|
|
179
|
+
</button>
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
</header>
|
|
183
|
+
|
|
184
|
+
<!-- Empty state (no file selected) -->
|
|
185
|
+
<div id="emptyState" class="empty-state">
|
|
186
|
+
<div class="empty-state-content">
|
|
187
|
+
<div class="empty-state-logo" aria-hidden="true">
|
|
188
|
+
<svg width="48" height="48" viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
189
|
+
<rect x="6" y="8" width="28" height="38" rx="4" stroke="var(--color-primary)" stroke-width="2" fill="var(--color-primary)" fill-opacity="0.12"/>
|
|
190
|
+
<rect x="22" y="10" width="28" height="38" rx="4" stroke="var(--color-primary)" stroke-width="2" fill="var(--color-primary)" fill-opacity="0.25"/>
|
|
191
|
+
<path d="M14 20l4 10 1.5-4 4-1.5L14 20z" fill="var(--color-primary)" opacity="0.7"/>
|
|
192
|
+
<path d="M38 28l-4-10-1.5 4-4 1.5L38 28z" fill="var(--color-primary)"/>
|
|
193
|
+
</svg>
|
|
194
|
+
</div>
|
|
195
|
+
<h2 class="empty-state-title">Welcome to CollabMD</h2>
|
|
196
|
+
<p class="empty-state-desc">Open a file from the sidebar, or get started quickly:</p>
|
|
197
|
+
<div class="empty-state-actions">
|
|
198
|
+
<button class="ui-button btn btn-secondary empty-state-btn" id="emptyStateNewFileBtn">
|
|
199
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>
|
|
200
|
+
New File
|
|
201
|
+
</button>
|
|
202
|
+
<button class="ui-button btn btn-secondary empty-state-btn" id="emptyStateSearchBtn">
|
|
203
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
|
|
204
|
+
Search Everything
|
|
205
|
+
<kbd class="empty-state-kbd">⌘K</kbd>
|
|
206
|
+
</button>
|
|
207
|
+
</div>
|
|
208
|
+
</div>
|
|
209
|
+
</div>
|
|
210
|
+
|
|
211
|
+
<!-- Editor page (shown when a file is open) -->
|
|
212
|
+
<div id="editor-page" class="editor-page hidden">
|
|
213
|
+
<div class="editor-layout" id="editorLayout" data-view="split">
|
|
214
|
+
<div class="editor-pane" id="editorPane">
|
|
215
|
+
<div class="pane-header">
|
|
216
|
+
<div class="pane-header-meta">
|
|
217
|
+
<span class="pane-label">Editor</span>
|
|
218
|
+
<span class="pane-label-meta" id="lineInfo">Ln 1, Col 1</span>
|
|
219
|
+
</div>
|
|
220
|
+
<div class="pane-header-actions">
|
|
221
|
+
<button class="ui-button ui-button--compact ui-button--toggle btn btn-ghost hidden" id="commentSelectionBtn" aria-label="Comment current line or selection" title="Comment current line or selection">
|
|
222
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
223
|
+
<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>
|
|
224
|
+
</svg>
|
|
225
|
+
<span class="ui-action-label">Comment</span>
|
|
226
|
+
</button>
|
|
227
|
+
<button class="ui-button ui-button--compact ui-button--toggle btn btn-ghost" id="toggleWrapBtn" aria-label="Disable line wrap" title="Disable line wrap">
|
|
228
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
229
|
+
<path d="M3 6h14a4 4 0 1 1 0 8H9"/>
|
|
230
|
+
<path d="m9 10-4 4 4 4"/>
|
|
231
|
+
<path d="M3 18h7"/>
|
|
232
|
+
</svg>
|
|
233
|
+
<span id="wrapToggleLabel">Wrap on</span>
|
|
234
|
+
</button>
|
|
235
|
+
</div>
|
|
236
|
+
</div>
|
|
237
|
+
<div id="markdownToolbar" class="markdown-toolbar hidden" role="toolbar" aria-label="Markdown formatting"></div>
|
|
238
|
+
<div id="editorContainer" class="editor-container">
|
|
239
|
+
<div class="editor-loading" id="editorLoading">
|
|
240
|
+
<div class="skeleton-line skeleton-line--title skeleton-line--break"></div>
|
|
241
|
+
<div class="skeleton-line skeleton-line--full"></div>
|
|
242
|
+
<div class="skeleton-line skeleton-line--ninety"></div>
|
|
243
|
+
<div class="skeleton-line skeleton-line--ninety-five"></div>
|
|
244
|
+
<div class="skeleton-line skeleton-line--eighty skeleton-line--break"></div>
|
|
245
|
+
<div class="skeleton-line skeleton-line--full"></div>
|
|
246
|
+
<div class="skeleton-line skeleton-line--eighty-five"></div>
|
|
247
|
+
</div>
|
|
248
|
+
</div>
|
|
249
|
+
</div>
|
|
250
|
+
|
|
251
|
+
<div class="resizer" id="resizer" role="separator" aria-orientation="vertical" tabindex="0" aria-label="Resize editor and preview" aria-controls="editorPane previewPane" aria-valuemin="20" aria-valuemax="80" aria-valuenow="50"></div>
|
|
252
|
+
|
|
253
|
+
<div class="preview-pane" id="previewPane">
|
|
254
|
+
<div class="pane-header">
|
|
255
|
+
<span class="pane-label">Preview</span>
|
|
256
|
+
<div class="pane-header-actions">
|
|
257
|
+
<button class="ui-button ui-button--compact ui-button--toggle btn btn-ghost hidden" id="commentsToggle" aria-label="Toggle comments" title="Toggle comments">
|
|
258
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
259
|
+
<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>
|
|
260
|
+
</svg>
|
|
261
|
+
<span class="ui-action-label">Comments</span>
|
|
262
|
+
</button>
|
|
263
|
+
<button class="ui-button ui-button--compact ui-button--toggle btn btn-ghost" id="outlineToggle" aria-label="Toggle outline" title="Toggle outline">
|
|
264
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="15" y2="12"/><line x1="3" y1="18" x2="18" y2="18"/></svg>
|
|
265
|
+
</button>
|
|
266
|
+
</div>
|
|
267
|
+
</div>
|
|
268
|
+
<div class="preview-body">
|
|
269
|
+
<div id="previewContainer" class="preview-container">
|
|
270
|
+
<div id="previewContent" class="preview-content"></div>
|
|
271
|
+
<div id="backlinksInlinePanel" class="backlinks-panel backlinks-panel-inline hidden">
|
|
272
|
+
<button type="button" class="backlinks-header" aria-expanded="false">
|
|
273
|
+
<svg class="backlinks-chevron" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg>
|
|
274
|
+
<span class="backlinks-toggle">0 Linked Mentions</span>
|
|
275
|
+
<span class="backlinks-count"></span>
|
|
276
|
+
</button>
|
|
277
|
+
<div class="backlinks-body" aria-hidden="true" inert>
|
|
278
|
+
<div class="backlinks-list"></div>
|
|
279
|
+
</div>
|
|
280
|
+
</div>
|
|
281
|
+
</div>
|
|
282
|
+
<div id="backlinksPanel" class="backlinks-panel-layer hidden">
|
|
283
|
+
<div class="backlinks-panel backlinks-panel-dock" data-backlinks-variant="dock">
|
|
284
|
+
<button type="button" class="backlinks-header" aria-expanded="false">
|
|
285
|
+
<svg class="backlinks-chevron" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg>
|
|
286
|
+
<span class="backlinks-toggle">0 Linked Mentions</span>
|
|
287
|
+
<span class="backlinks-count"></span>
|
|
288
|
+
</button>
|
|
289
|
+
<div class="backlinks-body" aria-hidden="true" inert>
|
|
290
|
+
<div class="backlinks-list"></div>
|
|
291
|
+
</div>
|
|
292
|
+
</div>
|
|
293
|
+
</div>
|
|
294
|
+
<aside id="commentsDrawer" class="comments-drawer hidden" aria-label="Comments">
|
|
295
|
+
<div class="comments-drawer-header">
|
|
296
|
+
<span class="comments-drawer-title">Comments</span>
|
|
297
|
+
</div>
|
|
298
|
+
<div id="commentsDrawerEmpty" class="comments-drawer-empty">
|
|
299
|
+
Add a comment from the editor or the preview bubbles.
|
|
300
|
+
</div>
|
|
301
|
+
<div id="commentsDrawerList" class="comments-drawer-list"></div>
|
|
302
|
+
</aside>
|
|
303
|
+
<aside id="outlinePanel" class="outline-panel hidden" aria-label="Document outline">
|
|
304
|
+
<div class="outline-header">
|
|
305
|
+
<span class="outline-title">Outline</span>
|
|
306
|
+
</div>
|
|
307
|
+
<nav id="outlineNav" class="outline-nav"></nav>
|
|
308
|
+
</aside>
|
|
309
|
+
</div>
|
|
310
|
+
</div>
|
|
311
|
+
</div>
|
|
312
|
+
</div>
|
|
313
|
+
|
|
314
|
+
<div id="diff-page" class="diff-page hidden">
|
|
315
|
+
<div class="diff-toolbar">
|
|
316
|
+
<div class="diff-toolbar-left">
|
|
317
|
+
<div class="diff-file-nav">
|
|
318
|
+
<button class="ui-icon-button ui-action-icon" id="diffPrevBtn" type="button" disabled aria-label="Previous changed file">
|
|
319
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><polyline points="15 18 9 12 15 6"/></svg>
|
|
320
|
+
</button>
|
|
321
|
+
<span class="diff-file-indicator" id="diffFileIndicator">0 / 0 files</span>
|
|
322
|
+
<button class="ui-icon-button ui-action-icon" id="diffNextBtn" type="button" disabled aria-label="Next changed file">
|
|
323
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><polyline points="9 18 15 12 9 6"/></svg>
|
|
324
|
+
</button>
|
|
325
|
+
</div>
|
|
326
|
+
<div class="diff-toolbar-actions">
|
|
327
|
+
<button class="ui-button ui-action-button ui-action-button--surface ui-action-button--wide btn btn-secondary diff-back-btn hidden" id="diffBackToHistoryBtn" type="button">
|
|
328
|
+
Back to History
|
|
329
|
+
</button>
|
|
330
|
+
<div class="diff-toolbar-actions-group diff-toolbar-actions-group-git" id="diffGitActionsGroup" role="group" aria-label="Git file actions">
|
|
331
|
+
<button class="ui-button ui-action-button ui-action-button--surface ui-action-button--wide btn btn-secondary" id="diffPrimaryActionBtn" type="button" disabled>
|
|
332
|
+
Stage
|
|
333
|
+
</button>
|
|
334
|
+
<button class="ui-button ui-action-button ui-action-button--wide btn btn-primary" id="diffCommitBtn" type="button" disabled>
|
|
335
|
+
Commit Staged
|
|
336
|
+
</button>
|
|
337
|
+
</div>
|
|
338
|
+
<span class="diff-toolbar-actions-divider" id="diffToolbarDivider" aria-hidden="true"></span>
|
|
339
|
+
<div class="diff-toolbar-actions-group" id="diffEditorActionsGroup" role="group" aria-label="Navigation actions">
|
|
340
|
+
<button class="ui-button ui-action-button ui-action-button--surface ui-action-button--wide btn btn-secondary diff-open-editor-btn" id="diffOpenEditorBtn" type="button" disabled>
|
|
341
|
+
Open in Editor
|
|
342
|
+
</button>
|
|
343
|
+
</div>
|
|
344
|
+
</div>
|
|
345
|
+
</div>
|
|
346
|
+
<div class="diff-toolbar-right">
|
|
347
|
+
<div class="diff-stats" id="diffStats">
|
|
348
|
+
<span class="ui-stat-token ui-stat-token--add diff-stats-add">+0</span>
|
|
349
|
+
<span class="ui-stat-token ui-stat-token--del diff-stats-del">-0</span>
|
|
350
|
+
</div>
|
|
351
|
+
<div class="ui-segmented-control diff-layout-toggle hidden" id="diffLayoutToggle" role="group" aria-label="Commit diff layout">
|
|
352
|
+
<button class="ui-segmented-btn view-btn diff-layout-btn" data-diff-layout="stacked" type="button">Stacked</button>
|
|
353
|
+
<button class="ui-segmented-btn view-btn diff-layout-btn active" data-diff-layout="focused" type="button">Focused</button>
|
|
354
|
+
</div>
|
|
355
|
+
<div class="ui-segmented-control diff-mode-toggle" role="group" aria-label="Diff view mode">
|
|
356
|
+
<button class="ui-segmented-btn view-btn diff-mode-btn active" data-diff-mode="unified" type="button">Unified</button>
|
|
357
|
+
<button class="ui-segmented-btn view-btn diff-mode-btn" data-diff-mode="split" type="button">Split</button>
|
|
358
|
+
</div>
|
|
359
|
+
</div>
|
|
360
|
+
</div>
|
|
361
|
+
<div class="diff-scroll" id="diffScroll">
|
|
362
|
+
<div class="diff-content" id="diffContent"></div>
|
|
363
|
+
</div>
|
|
364
|
+
</div>
|
|
365
|
+
</main>
|
|
366
|
+
</div>
|
|
367
|
+
|
|
368
|
+
<dialog class="app-dialog" id="displayNameDialog">
|
|
369
|
+
<form class="app-dialog-form" id="displayNameForm" method="dialog">
|
|
370
|
+
<div class="app-dialog-header">
|
|
371
|
+
<h2 class="app-dialog-title" id="displayNameTitle">Update display name</h2>
|
|
372
|
+
<p class="app-dialog-copy" id="displayNameCopy">Your name will be visible to everyone editing this vault.</p>
|
|
373
|
+
</div>
|
|
374
|
+
<label class="app-dialog-field" for="displayNameInput">
|
|
375
|
+
<span class="app-dialog-label">Name</span>
|
|
376
|
+
<input type="text" class="input" id="displayNameInput" name="displayName" maxlength="24" autocomplete="nickname" spellcheck="false" required>
|
|
377
|
+
</label>
|
|
378
|
+
<div class="app-dialog-actions">
|
|
379
|
+
<button type="button" class="ui-button btn btn-secondary" id="displayNameCancel">Cancel</button>
|
|
380
|
+
<button type="submit" class="ui-button btn btn-primary" id="displayNameSubmit">Save name</button>
|
|
381
|
+
</div>
|
|
382
|
+
</form>
|
|
383
|
+
</dialog>
|
|
384
|
+
|
|
385
|
+
<dialog class="app-dialog" id="fileActionDialog">
|
|
386
|
+
<form class="app-dialog-form" id="fileActionForm" method="dialog">
|
|
387
|
+
<div class="app-dialog-header">
|
|
388
|
+
<h2 class="app-dialog-title" id="fileActionTitle">Create file</h2>
|
|
389
|
+
<p class="app-dialog-copy" id="fileActionCopy">Add a new file to the vault.</p>
|
|
390
|
+
</div>
|
|
391
|
+
<label class="app-dialog-field" id="fileActionField" for="fileActionInput">
|
|
392
|
+
<span class="app-dialog-label" id="fileActionLabel">Path</span>
|
|
393
|
+
<input type="text" class="input" id="fileActionInput" name="fileActionValue" autocomplete="off" spellcheck="false" required>
|
|
394
|
+
<span class="app-dialog-hint" id="fileActionHint" hidden></span>
|
|
395
|
+
</label>
|
|
396
|
+
<p class="app-dialog-note" id="fileActionNote" hidden></p>
|
|
397
|
+
<div class="app-dialog-actions">
|
|
398
|
+
<button type="button" class="ui-button btn btn-secondary" id="fileActionCancel">Cancel</button>
|
|
399
|
+
<button type="submit" class="ui-button btn btn-primary" id="fileActionSubmit">Create</button>
|
|
400
|
+
</div>
|
|
401
|
+
</form>
|
|
402
|
+
</dialog>
|
|
403
|
+
|
|
404
|
+
<dialog class="app-dialog" id="gitCommitDialog">
|
|
405
|
+
<form class="app-dialog-form" id="gitCommitForm" method="dialog">
|
|
406
|
+
<div class="app-dialog-header">
|
|
407
|
+
<h2 class="app-dialog-title" id="gitCommitTitle">Commit staged changes</h2>
|
|
408
|
+
<p class="app-dialog-copy" id="gitCommitCopy">All staged changes will be included.</p>
|
|
409
|
+
</div>
|
|
410
|
+
<label class="app-dialog-field" for="gitCommitInput">
|
|
411
|
+
<span class="app-dialog-label">Commit message</span>
|
|
412
|
+
<input type="text" class="input" id="gitCommitInput" name="gitCommitMessage" autocomplete="off" spellcheck="true" required>
|
|
413
|
+
</label>
|
|
414
|
+
<div class="app-dialog-actions">
|
|
415
|
+
<button type="button" class="ui-button btn btn-secondary" id="gitCommitCancel">Cancel</button>
|
|
416
|
+
<button type="submit" class="ui-button btn btn-primary" id="gitCommitSubmit">Commit staged changes</button>
|
|
417
|
+
</div>
|
|
418
|
+
</form>
|
|
419
|
+
</dialog>
|
|
420
|
+
|
|
421
|
+
<dialog class="app-dialog" id="gitResetDialog">
|
|
422
|
+
<form class="app-dialog-form" method="dialog">
|
|
423
|
+
<div class="app-dialog-header">
|
|
424
|
+
<h2 class="app-dialog-title" id="gitResetTitle">Reset file</h2>
|
|
425
|
+
<p class="app-dialog-copy" id="gitResetCopy">Restore this file from the current checked-out branch. If that branch does not contain the file, it will be deleted locally.</p>
|
|
426
|
+
</div>
|
|
427
|
+
<div class="app-dialog-field">
|
|
428
|
+
<label class="app-dialog-label" for="gitResetFileName">File</label>
|
|
429
|
+
<input class="input app-dialog-input" id="gitResetFileName" type="text" readonly>
|
|
430
|
+
</div>
|
|
431
|
+
<div class="app-dialog-note is-danger">
|
|
432
|
+
Local file content and staged changes for this path will be discarded.
|
|
433
|
+
</div>
|
|
434
|
+
<div class="app-dialog-actions">
|
|
435
|
+
<button class="ui-button btn btn-secondary" id="gitResetCancel" type="button">Cancel</button>
|
|
436
|
+
<button class="ui-button btn btn-danger" id="gitResetSubmit" type="button">Reset File</button>
|
|
437
|
+
</div>
|
|
438
|
+
</form>
|
|
439
|
+
</dialog>
|
|
440
|
+
|
|
441
|
+
<div class="tab-lock-overlay hidden" id="tabLockOverlay" role="dialog" aria-modal="true" aria-labelledby="tabLockTitle">
|
|
442
|
+
<div class="tab-lock-card">
|
|
443
|
+
<span class="tab-lock-kicker">Single active tab</span>
|
|
444
|
+
<h2 class="tab-lock-title" id="tabLockTitle">This vault is active in another tab</h2>
|
|
445
|
+
<p class="tab-lock-copy" id="tabLockCopy">To avoid duplicate presence and chat, only one tab can stay connected at a time. Use the other tab, or take over the session here.</p>
|
|
446
|
+
<div class="tab-lock-actions">
|
|
447
|
+
<button type="button" class="ui-button btn btn-primary btn-lg" id="tabLockTakeoverBtn">Take over here</button>
|
|
448
|
+
</div>
|
|
449
|
+
</div>
|
|
450
|
+
</div>
|
|
451
|
+
|
|
452
|
+
<!-- Toast notifications -->
|
|
453
|
+
<div class="toast-container" id="toastContainer"></div>
|
|
454
|
+
|
|
455
|
+
<!-- Quick Switcher (Cmd+K) -->
|
|
456
|
+
<div class="qs-overlay" id="quickSwitcher">
|
|
457
|
+
<div class="qs-modal">
|
|
458
|
+
<div class="qs-input-wrap">
|
|
459
|
+
<svg class="qs-search-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
|
|
460
|
+
<input type="text" class="qs-input" id="quickSwitcherInput" placeholder="Search files..." autocomplete="off" spellcheck="false">
|
|
461
|
+
<kbd class="qs-kbd">esc</kbd>
|
|
462
|
+
</div>
|
|
463
|
+
<div class="qs-results" id="quickSwitcherResults"></div>
|
|
464
|
+
<div class="qs-hint" id="quickSwitcherHint">Type to search files</div>
|
|
465
|
+
</div>
|
|
466
|
+
</div>
|
|
467
|
+
<script type="module" src="./main-entry.js"></script>
|
|
468
|
+
</body>
|
|
469
|
+
</html>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import darkHighlightThemeUrl from '../assets/vendor/highlight/github-dark.min.css?url';
|
|
2
|
+
import lightHighlightThemeUrl from '../assets/vendor/highlight/github.min.css?url';
|
|
3
|
+
import '../styles/base.css';
|
|
4
|
+
import '../styles/style.css';
|
|
5
|
+
|
|
6
|
+
import { ensureRuntimeConfigLoaded } from '../infrastructure/runtime-config-loader.js';
|
|
7
|
+
|
|
8
|
+
function ensureHighlightThemeStylesheet() {
|
|
9
|
+
let themeStylesheet = document.getElementById('hljs-theme');
|
|
10
|
+
if (!(themeStylesheet instanceof HTMLLinkElement)) {
|
|
11
|
+
themeStylesheet = document.createElement('link');
|
|
12
|
+
themeStylesheet.id = 'hljs-theme';
|
|
13
|
+
themeStylesheet.rel = 'stylesheet';
|
|
14
|
+
document.head.append(themeStylesheet);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
themeStylesheet.href = darkHighlightThemeUrl;
|
|
18
|
+
themeStylesheet.dataset.darkHref = darkHighlightThemeUrl;
|
|
19
|
+
themeStylesheet.dataset.lightHref = lightHighlightThemeUrl;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
await ensureRuntimeConfigLoaded();
|
|
23
|
+
ensureHighlightThemeStylesheet();
|
|
24
|
+
await import('../main.js');
|