@waline/client 1.6.0 → 2.0.0-alpha.2

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.
Files changed (94) hide show
  1. package/dist/component.js +2 -0
  2. package/dist/component.js.map +1 -0
  3. package/dist/pageview.cjs.js +2 -0
  4. package/dist/pageview.cjs.js.map +1 -0
  5. package/dist/pageview.d.ts +33 -0
  6. package/dist/pageview.esm.js +2 -0
  7. package/dist/pageview.esm.js.map +1 -0
  8. package/dist/pageview.js +2 -0
  9. package/dist/pageview.js.map +1 -0
  10. package/dist/{Waline.min.d.ts → shim.d.ts} +192 -261
  11. package/dist/{Waline.noStyle.d.ts → shim.esm.d.ts} +192 -261
  12. package/dist/shim.esm.js +2 -0
  13. package/dist/shim.esm.js.map +1 -0
  14. package/dist/shim.js +2 -0
  15. package/dist/shim.js.map +1 -0
  16. package/dist/waline.cjs.d.ts +388 -0
  17. package/dist/waline.cjs.js +2 -0
  18. package/dist/waline.cjs.js.map +1 -0
  19. package/dist/waline.css +1 -0
  20. package/dist/waline.css.map +1 -0
  21. package/dist/waline.d.ts +388 -0
  22. package/dist/waline.esm.d.ts +388 -0
  23. package/dist/waline.esm.js +2 -0
  24. package/dist/waline.esm.js.map +1 -0
  25. package/dist/waline.js +2 -0
  26. package/dist/waline.js.map +1 -0
  27. package/package.json +33 -18
  28. package/src/comment.ts +39 -0
  29. package/src/components/CommentBox.vue +667 -0
  30. package/src/components/CommentCard.vue +125 -0
  31. package/src/components/Icons.ts +124 -0
  32. package/src/components/Waline.vue +359 -0
  33. package/src/composables/index.ts +3 -0
  34. package/src/composables/inputs.ts +29 -0
  35. package/src/composables/store.ts +38 -0
  36. package/src/composables/userInfo.ts +27 -0
  37. package/src/config/default.ts +21 -0
  38. package/src/config/i18n/en.ts +34 -0
  39. package/src/config/i18n/generate.ts +39 -0
  40. package/src/config/i18n/index.ts +30 -0
  41. package/src/config/i18n/jp.ts +34 -0
  42. package/src/config/i18n/pt-BR.ts +34 -0
  43. package/src/config/i18n/ru.ts +34 -0
  44. package/src/config/i18n/vi-VN.ts +34 -0
  45. package/src/config/i18n/zh-CN.ts +34 -0
  46. package/src/config/i18n/zh-TW.ts +34 -0
  47. package/src/config/index.ts +2 -0
  48. package/src/entrys/components.ts +2 -0
  49. package/src/entrys/full.ts +7 -0
  50. package/src/entrys/init.ts +4 -0
  51. package/src/entrys/pageview.ts +2 -0
  52. package/src/init.ts +92 -0
  53. package/src/pageview.ts +100 -0
  54. package/src/shims-hanabi.d.ts +9 -0
  55. package/src/shims-vue.d.ts +5 -0
  56. package/src/styles/base.scss +67 -0
  57. package/src/styles/card.scss +223 -0
  58. package/src/styles/config.scss +52 -0
  59. package/src/styles/emoji.scss +118 -0
  60. package/src/styles/highlight.scss +135 -0
  61. package/src/styles/index.scss +12 -0
  62. package/src/styles/layout.scss +78 -0
  63. package/src/styles/nomalize.scss +112 -0
  64. package/src/styles/panel.scss +293 -0
  65. package/src/styles/recent.scss +3 -0
  66. package/src/typings/base.ts +54 -0
  67. package/src/typings/comment.ts +25 -0
  68. package/src/typings/index.ts +5 -0
  69. package/src/typings/locale.ts +32 -0
  70. package/src/typings/options.ts +41 -0
  71. package/src/typings/waline.ts +208 -0
  72. package/src/utils/config.ts +99 -0
  73. package/src/utils/darkmode.ts +11 -0
  74. package/src/utils/data.ts +10 -0
  75. package/src/utils/emoji.ts +75 -0
  76. package/src/utils/error.ts +3 -0
  77. package/src/utils/fetch.ts +177 -0
  78. package/src/utils/getRoot.ts +8 -0
  79. package/src/utils/index.ts +13 -0
  80. package/src/utils/markdown.ts +41 -0
  81. package/src/utils/markedMathExtension.ts +52 -0
  82. package/src/utils/path.ts +15 -0
  83. package/src/utils/query.ts +2 -0
  84. package/src/utils/timeAgo.ts +75 -0
  85. package/src/utils/userInfo.ts +26 -0
  86. package/src/utils/wordCount.ts +20 -0
  87. package/src/version.ts +3 -0
  88. package/src/widgets/index.ts +1 -0
  89. package/src/widgets/recentComments.ts +52 -0
  90. package/dist/Waline.min.js +0 -2
  91. package/dist/Waline.min.js.map +0 -1
  92. package/dist/Waline.noStyle.js +0 -2
  93. package/dist/Waline.noStyle.js.map +0 -1
  94. package/dist/index.html +0 -11
@@ -0,0 +1 @@
1
+ :root{--waline-font-size: 16px;--waline-white: #fff;--waline-light-grey: #999;--waline-dark-grey: #666;--waline-theme-color: #27ae60;--waline-active-color: #2ecc71;--waline-color: #444;--waline-bgcolor: #fff;--waline-bgcolor-light: #f8f8f8;--waline-bgcolor-hover: #f0f0f0;--waline-border-color: #ddd;--waline-disable-bgcolor: #f8f8f8;--waline-disable-color: #000;--waline-code-bgcolor: #282c34;--waline-bq-color: #f0f0f0;--waline-avatar-size: 3.25rem;--waline-m-avatar-size: calc(var(--waline-avatar-size) * 9 / 13);--waline-badge-color: #3498db;--waline-badge-font-size: 0.775em;--waline-info-bgcolor: #f8f8f8;--waline-info-color: #999;--waline-info-font-size: 0.625em;--waline-border: 1px solid var(--waline-border-color);--waline-avatar-radius: 50%;--waline-box-shadow: none}[data-waline]{font-size:var(--waline-font-size);text-align:left}[data-waline] *{box-sizing:content-box;line-height:1.75}[data-waline] p{color:var(--waline-color)}[data-waline] a{position:relative;display:inline-block;color:var(--waline-theme-color);text-decoration:none;cursor:pointer}[data-waline] a:hover{color:var(--waline-active-color)}[data-waline] img{max-width:100%;max-height:400px;border:none}[data-waline] hr{margin:.825em 0;border-style:dashed;border-color:var(--waline-bgcolor-light)}[data-waline] code,[data-waline] pre{margin:0;padding:.2em .4em;border-radius:3px;background:var(--waline-bgcolor-light);font-size:85%}[data-waline] pre{overflow:auto;padding:10px;line-height:1.45}[data-waline] pre::-webkit-scrollbar{width:6px;height:6px}[data-waline] pre::-webkit-scrollbar-track-piece:horizontal{-webkit-border-radius:6px;border-radius:6px;background:rgba(0,0,0,.1)}[data-waline] pre::-webkit-scrollbar-thumb:horizontal{width:6px;-webkit-border-radius:6px;border-radius:6px;background:var(--waline-theme-color)}[data-waline] pre code{padding:0;background:rgba(0,0,0,0);color:var(--waline-color);white-space:pre-wrap;word-break:keep-all}[data-waline] blockquote{margin:.5em 0;padding:.5em 0 .5em 1em;border-left:8px solid var(--waline-bq-color);color:var(--waline-dark-grey)}[data-waline] blockquote>p{margin:0}[data-waline] ol,[data-waline] ul{margin-left:1.25em;padding:0}[data-waline] input[type=checkbox],[data-waline] input[type=radio]{display:inline-block;vertical-align:middle;margin-top:-2px}.wl-btn{display:inline-block;vertical-align:middle;min-width:2.5em;margin-bottom:0;padding:.5em 1em;border:1px solid var(--waline-border-color);border-radius:.5em;background:rgba(0,0,0,0);color:var(--waline-color);font-weight:400;font-size:.75em;line-height:1.5;text-align:center;white-space:nowrap;cursor:pointer;user-select:none;transition-duration:.4s;touch-action:manipulation}.wl-btn:hover,.wl-btn:active{border-color:var(--waline-theme-color);color:var(--waline-theme-color)}.wl-btn:disabled{border-color:var(--waline-border-color);background:var(--waline-disable-bgcolor);color:var(--waline-disable-color);cursor:not-allowed}.wl-btn.primary{border-color:var(--waline-theme-color);background:var(--waline-theme-color);color:var(--waline-white)}.wl-btn.primary:hover,.wl-btn.primary:active{border-color:var(--waline-active-color);background:var(--waline-active-color);color:var(--waline-white)}.wl-btn.primary:disabled{border-color:var(--waline-border-color);background:var(--waline-disable-bgcolor);color:var(--waline-disable-color);cursor:not-allowed}.wl-loading{text-align:center}.wl-loading svg{margin:0 auto}.wl-comment{position:relative;display:flex;margin-bottom:.75em}.wl-close{position:absolute;top:-4px;right:-4px;padding:0;border:none;background:rgba(0,0,0,0);line-height:1;cursor:pointer}.wl-login-info{max-width:80px;margin-top:.75em;text-align:center}.wl-logout-btn{position:absolute;top:-10px;right:-10px;padding:3px;border:none;background:rgba(0,0,0,0);line-height:0;cursor:pointer}.wl-avatar{position:relative;width:var(--waline-avatar-size);height:var(--waline-avatar-size);margin:0 auto;border:var(--waline-border);border-radius:var(--waline-avatar-radius)}@media(max-width: 720px){.wl-avatar{width:var(--waline-m-avatar-size);height:var(--waline-m-avatar-size)}}.wl-avatar img{width:100%;height:100%;border-radius:var(--waline-avatar-radius)}.wl-login-nick{display:block;color:var(--waline-theme-color);font-size:.75em;word-break:break-all}.wl-panel{position:relative;flex-shrink:1;width:100%;margin:.5em;border:var(--waline-border);border-radius:.75em;background:var(--waline-bgcolor);box-shadow:var(--waline-box-shadow)}.wl-header{display:flex;overflow:hidden;padding:0 4px;border-bottom:2px dashed var(--waline-border-color);border-top-left-radius:.75em;border-top-right-radius:.75em}@media(max-width: 580px){.wl-header{display:block}}.wl-header label{min-width:40px;padding:.75em .5em;color:var(--waline-color);font-size:.75em;text-align:center}.wl-header input{flex:1;width:0;padding:.5em;background:rgba(0,0,0,0);font-size:.625em;resize:none}.wl-header-item{display:flex;flex:1}@media(max-width: 580px){.wl-header-item:not(:last-child){border-bottom:2px dashed var(--waline-border-color)}}.wl-header-1 .wl-header-item{width:100%}.wl-header-2 .wl-header-item{width:50%}@media(max-width: 580px){.wl-header-2 .wl-header-item{flex:0;width:100%}}.wl-header-3 .wl-header-item{width:33.33%}@media(max-width: 580px){.wl-header-3 .wl-header-item{width:100%}}.wl-editor,.wl-input{max-width:100%;border:none;color:var(--waline-color);outline:none;transition:all .25s ease}.wl-editor:focus,.wl-input:focus{background:var(--waline-bgcolor-light)}.wl-editor{position:relative;width:calc(100% - 1em);min-height:8.75em;margin:.75em .5em;border-radius:.5em;background:rgba(0,0,0,0);font-size:.875em;resize:vertical}.wl-preview{padding:0 .5em .5em}.wl-preview h4{margin:.25em;font-weight:bold;font-size:.9375em}.wl-preview .wl-content{min-height:1.25em;padding:.25em;border:var(--waline-border);border-radius:.25em;word-break:break-word;hyphens:auto}.wl-preview .wl-content>*:first-child{margin-top:0}.wl-preview .wl-content>*:last-child{margin-bottom:0}.wl-footer{position:relative;display:flex;flex-wrap:wrap;margin:.5em .75em}.wl-actions{display:flex;flex:2;align-items:center}.wl-action{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;margin:2px;padding:0;border:none;background:rgba(0,0,0,0);color:var(--waline-color);font-size:16px;cursor:pointer}.wl-action:hover{color:var(--waline-theme-color)}.wl-action.actived{color:var(--waline-active-color)}#wl-image-upload{display:none}#wl-image-upload:focus+label{color:var(--waline-color)}#wl-image-upload:focus-visible+label{outline:-webkit-focus-ring-color auto 1px}.wl-info{display:flex;flex:3;align-items:center;justify-content:flex-end}.wl-info .wl-text-number{color:var(--waline-info-color);font-size:.75em}.wl-info .wl-text-number .illegal{color:red}.wl-info button{margin-left:.75em}.wl-info button svg{display:block;margin:0 auto;line-height:18px}.wl-emoji-popup{position:absolute;top:100%;left:1.25em;z-index:10;max-width:526px;border:var(--waline-border);border-radius:6px;background:var(--waline-bgcolor);box-shadow:var(--waline-box-shadow);opacity:0;visibility:hidden;transition:transform .2s ease-out,opacity .2s ease-out;transform:scale(0.9, 0.9);transform-origin:0 0}.wl-emoji-popup.display{opacity:1;visibility:visible;transform:none}.wl-emoji-popup button{display:inline-block;vertical-align:middle;width:2em;margin:.125em;padding:0;border-width:0;background:rgba(0,0,0,0);font-size:inherit;line-height:2;text-align:center;cursor:pointer}.wl-emoji-popup button:hover{background:var(--waline-bgcolor-hover)}.wl-emoji-popup .wl-emoji{display:inline-block;vertical-align:middle;max-width:1.5em;max-height:1.5em}.wl-emoji-popup .wl-tab-wrapper{overflow-y:auto;max-height:145px;padding:.5em}.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar{width:6px;height:6px}.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar-track-piece:vertical{-webkit-border-radius:6px;border-radius:6px;background:rgba(0,0,0,.1)}.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar-thumb:vertical{width:6px;-webkit-border-radius:6px;border-radius:6px;background:var(--waline-theme-color)}.wl-emoji-popup .wl-tabs{position:relative;height:2em;padding:0 6px}.wl-emoji-popup .wl-tabs::before{content:" ";position:absolute;top:0;right:0;left:0;z-index:2;height:1px;background:var(--waline-border-color)}.wl-emoji-popup .wl-tab{position:relative;margin:0;padding:0 .5em}.wl-emoji-popup .wl-tab.active{z-index:3;border:1px solid var(--waline-border-color);border-top-width:0;border-bottom-right-radius:6px;border-bottom-left-radius:6px;background:var(--waline-bgcolor)}.wl-cards .wl-item{position:relative;display:flex;padding:.5em}.wl-cards .wl-item:last-child .wl-card{border-bottom:none}.wl-cards .wl-card .wl-item{padding-right:0}.wl-cards .wl-user{--avatar-size: var(--waline-avatar-size);position:relative;margin-right:.75em}@media(max-width: 720px){.wl-cards .wl-user{--avatar-size: var(--waline-m-avatar-size)}}.wl-cards .wl-user img{width:var(--avatar-size);height:var(--avatar-size);border-radius:var(--waline-avatar-radius);box-shadow:var(--waline-box-shadow)}.wl-cards .wl-user .verified-icon{position:absolute;top:calc(var(--avatar-size)*3/4);left:calc(var(--avatar-size)*3/4);border-radius:50%;background:var(--waline-bgcolor);box-shadow:var(--waline-box-shadow)}.wl-card{flex:1;width:0;padding-bottom:.5em;border-bottom:1px dashed var(--waline-border-color)}.wl-card:first-child{margin-left:1em}.wl-card .wl-head{line-height:1.5}.wl-card .wl-nick{position:relative;display:inline-block;margin-right:.5em;font-weight:bold;font-size:.875em;line-height:1;text-decoration:none}.wl-card .wl-nick svg{position:relative;bottom:-0.125em;line-height:1}.wl-card span.wl-nick{color:var(--waline-dark-grey)}.wl-card .wl-badge{display:inline-block;margin-right:.5em;padding:0 .3em;border-radius:3px;background:var(--waline-badge-color);color:var(--waline-white);font-size:var(--waline-badge-font-size)}.wl-card .wl-time{margin-right:.875em;color:var(--waline-info-color);font-size:.75em}.wl-card .wl-reply{float:right;padding:4px;border:none;background:rgba(0,0,0,0);color:var(--waline-color);line-height:1;cursor:pointer;transition:color .2s ease}.wl-card .wl-reply:hover{color:var(--waline-theme-color)}.wl-card .wl-reply.active{color:var(--waline-active-color)}.wl-card .wl-meta{position:relative;line-height:1}.wl-card .wl-meta>span{display:inline-block;margin-right:.25em;padding:2px 4px;border-radius:.2em;background:var(--waline-info-bgcolor);color:var(--waline-info-color);font-size:var(--waline-info-font-size);line-height:1.5}@media(max-width: 520px){.wl-card .wl-meta>span{display:none}}.wl-card .wl-meta>span:empty{display:none}.wl-card .wl-content{position:relative;margin-bottom:.75em;padding-top:.625em;font-size:.875em;line-height:2;word-wrap:break-word}.wl-card .wl-content.expand{overflow:hidden;max-height:8em;cursor:pointer}.wl-card .wl-content.expand::before{content:"";position:absolute;top:0;bottom:3.15em;left:0;z-index:999;display:block;width:100%;background:linear-gradient(180deg, #000, rgba(255, 255, 255, 0.9))}.wl-card .wl-content.expand::after{content:attr(data-expand);position:absolute;bottom:0;left:0;z-index:999;display:block;width:100%;height:3.15em;background:rgba(255,255,255,.9);color:#828586;line-height:3.15em;text-align:center}.wl-card .wl-content>*:first-child{margin-top:0}.wl-card .wl-content>*:last-child{margin-bottom:0}.wl-card .wl-quote{border-left:1px dashed rgba(237,237,237,.5)}.wl-card .wl-quote .wl-user{--avatar-size: var(--waline-m-avatar-size)}.wl-close-icon{color:var(--waline-border-color)}.wl-content .vemoji,.wl-content .wl-emoji{display:inline-block;vertical-align:middle;width:1.25em;margin:.25em}.wl-content .wl-tex{background:var(--waline-info-bgcolor);color:var(--waline-info-color)}.wl-content span.wl-tex{display:inline-block;margin-right:.25em;padding:2px 4px;border-radius:.2em;font-size:var(--waline-info-font-size);line-height:1.5}.wl-content p.wl-tex{text-align:center}.wl-content .katex-display{overflow:auto hidden;-webkit-overflow-scrolling:touch;padding-top:.2em;padding-bottom:.2em}.wl-content .katex-display::-webkit-scrollbar{height:3px}.wl-content .katex-error{color:red}.wl-count{padding:.375em;font-weight:bold;font-size:1.25em}.wl-empty{overflow:auto;padding:1.25em;color:var(--waline-color);text-align:center}.wl-more{text-align:center}.wl-more button{margin:1em 0}.wl-power{padding:.5em 0;color:var(--waline-light-grey);font-size:var(--waline-info-font-size);text-align:right}.wl-content pre,.wl-content pre[class*=language-]{overflow:auto;margin:.75rem 0;padding:1rem 1.25rem;border-radius:6px;background:var(--waline-code-bgcolor);line-height:1.4}.wl-content pre code,.wl-content pre[class*=language-] code{padding:0;border-radius:0;background:rgba(0,0,0,0) !important;color:#bbb}.wl-content code[class*=language-],.wl-content pre[class*=language-]{background:none;color:#ccc;font-size:1em;font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;tab-size:4;hyphens:none}.wl-content pre[class*=language-]{overflow:auto}.wl-content :not(pre)>code[class*=language-],.wl-content pre[class*=language-]{background:#2d2d2d}.wl-content :not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.wl-content .token.comment,.wl-content .token.block-comment,.wl-content .token.prolog,.wl-content .token.doctype,.wl-content .token.cdata{color:#999}.wl-content .token.punctuation{color:#ccc}.wl-content .token.tag,.wl-content .token.attr-name,.wl-content .token.namespace,.wl-content .token.deleted{color:#e2777a}.wl-content .token.function-name{color:#6196cc}.wl-content .token.boolean,.wl-content .token.number,.wl-content .token.function{color:#f08d49}.wl-content .token.property,.wl-content .token.class-name,.wl-content .token.constant,.wl-content .token.symbol{color:#f8c555}.wl-content .token.selector,.wl-content .token.important,.wl-content .token.atrule,.wl-content .token.keyword,.wl-content .token.builtin{color:#cc99cd}.wl-content .token.string,.wl-content .token.char,.wl-content .token.attr-value,.wl-content .token.regex,.wl-content .token.variable{color:#7ec699}.wl-content .token.operator,.wl-content .token.entity,.wl-content .token.url{color:#67cdcc}.wl-content .token.important,.wl-content .token.bold{font-weight:bold}.wl-content .token.italic{font-style:italic}.wl-content .token.entity{cursor:help}.wl-content .token.inserted{color:green}.wl-recent-item p{display:inline}/*# sourceMappingURL=waline.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../src/styles/config.scss","../src/styles/nomalize.scss","../src/styles/base.scss","../src/styles/panel.scss","../src/styles/emoji.scss","../src/styles/card.scss","../src/styles/layout.scss","../src/styles/highlight.scss","../src/styles/recent.scss"],"names":[],"mappings":"AAAA,MAEE,yBAGA,qBACA,0BACA,yBAGA,8BACA,+BAGA,qBACA,uBACA,gCACA,gCACA,4BACA,kCACA,6BACA,+BAGA,2BAGA,8BACA,iEAGA,8BACA,kCAGA,+BACA,0BACA,iCAIA,sDACA,4BACA,0BC3CF,cACE,kCACA,gBAEA,gBACE,uBACA,iBAGF,gBACE,0BAGF,gBACE,kBAEA,qBAEA,gCAEA,qBAEA,eAEA,sBACE,iCAIJ,kBACE,eACA,iBACA,YAGF,iBACE,gBACA,oBACA,yCAGF,qCAEE,SACA,kBACA,kBAEA,uCAEA,cAGF,kBACE,cACA,aACA,iBAEA,qCACE,UACA,WAGF,4DACE,0BACA,kBACA,0BAGF,sDACE,UACA,0BACA,kBACA,qCAGF,uBACE,UAEA,yBACA,0BAEA,qBACA,oBAIJ,yBACE,cACA,wBACA,6CACA,8BAEA,2BACE,SAIJ,kCAEE,mBACA,UAIA,mEAEE,qBACA,sBACA,gBC5GN,QACE,qBACA,sBAEA,gBACA,gBACA,iBACA,4CACA,mBAEA,yBACA,0BAEA,gBACA,gBACA,gBACA,kBACA,mBAEA,eACA,iBAEA,wBAEA,0BAEA,6BAEE,uCACA,gCAGF,iBACE,wCACA,yCACA,kCACA,mBAGF,gBACE,uCACA,qCACA,0BAEA,6CAEE,wCACA,sCACA,0BAGF,yBACE,wCACA,yCACA,kCACA,mBAKN,YACE,kBAEA,gBACE,cC9DJ,YACE,kBACA,aACA,oBAGF,UACE,kBACA,SACA,WAEA,UACA,YAEA,yBAEA,cAEA,eAGF,eACE,eACA,iBACA,kBAGF,eACE,kBACA,UACA,YAEA,YACA,YAEA,yBAEA,cAEA,eAGF,WACE,kBAEA,gCACA,iCACA,cACA,4BACA,0CAEA,yBATF,WAUI,kCACA,oCAGF,eACE,WACA,YACA,0CAIJ,eACE,cACA,gCACA,gBACA,qBAGF,UACE,kBAEA,cAEA,WACA,YACA,4BACA,oBAEA,iCACA,oCAGF,WACE,aAEA,gBAEA,cACA,oDACA,6BACA,8BAEA,yBAVF,WAWI,eAGF,iBACE,eACA,mBAEA,0BAEA,gBACA,kBAGF,iBACE,OAEA,QACA,aAEA,yBAEA,iBAEA,YAIJ,gBACE,aACA,OAGE,yBADF,iCAEI,qDAIJ,6BACE,WAGF,6BACE,UAEA,yBAHF,6BAII,OACA,YAIJ,6BACE,aAEA,yBAHF,6BAII,YAKN,qBAEE,eACA,YAEA,0BACA,aAEA,yBAEA,iCACE,uCAIJ,WACE,kBAEA,uBACA,kBACA,kBACA,mBAEA,yBAEA,iBAEA,gBAGF,YACE,oBAEA,eACE,aACA,iBACA,kBAGF,wBACE,kBACA,cACA,4BACA,oBAEA,sBACA,aAEA,sCACE,aAGF,qCACE,gBAKN,WACE,kBACA,aACA,eACA,kBAGF,YACE,aACA,OACA,mBAGF,WACE,oBACA,mBACA,uBAEA,YACA,aACA,WACA,UACA,YAEA,yBACA,0BAEA,eAEA,eAEA,iBACE,gCAGF,mBACE,iCAIJ,iBACE,aAEA,6BACE,0BAGF,qCACE,0CAIJ,SACE,aACA,OACA,mBACA,yBAEA,yBACE,+BACA,gBAEA,kCACE,UAIJ,gBACE,kBAEA,oBACE,cACA,cACA,iBC9RJ,gBACE,kBACA,SACA,YACA,WAEA,gBACA,4BACA,kBAEA,iCACA,oCAEA,UACA,kBAEA,uDACA,0BACA,qBAEA,wBACE,UACA,mBACA,eAGF,uBACE,qBACA,sBAEA,UACA,cACA,UACA,eAEA,yBAEA,kBACA,cACA,kBAEA,eAEA,6BACE,uCAIJ,0BACE,qBACA,sBACA,gBACA,iBAGF,gCACE,gBACA,iBACA,aAEA,mDACE,UACA,WAGF,wEACE,0BACA,kBACA,0BAGF,kEACE,UACA,0BACA,kBACA,qCAIJ,yBACE,kBACA,WACA,cAEA,iCACE,YAEA,kBACA,MACA,QACA,OACA,UAEA,WAEA,sCAIJ,wBACE,kBACA,SACA,eAEA,+BACE,UAEA,4CACA,mBACA,+BACA,8BAEA,iCChHN,mBACE,kBACA,aACA,aAEA,uCACE,mBAKF,4BACE,gBAIJ,mBACE,yCAMA,kBACA,mBALA,yBAHF,mBAII,4CAMF,uBACE,yBACA,0BACA,0CACA,oCAGF,kCACE,kBACA,iCACA,kCAEA,kBAEA,iCACA,oCAKN,SACE,OACA,QACA,oBACA,oDAEA,qBACE,gBAGF,kBACE,gBAGF,kBACE,kBAEA,qBAEA,kBAEA,iBACA,iBACA,cACA,qBAEA,sBACE,kBACA,gBACA,cAIJ,sBACE,8BAGF,mBACE,qBAEA,kBACA,eACA,kBAEA,qCACA,0BAEA,wCAGF,kBACE,oBACA,+BACA,gBAGF,mBACE,YAEA,YACA,YAEA,yBACA,0BAEA,cAEA,eAEA,0BAEA,yBACE,gCAGF,0BACE,iCAIJ,kBACE,kBACA,cAEA,uBACE,qBAEA,mBACA,gBACA,mBAEA,sCACA,+BAEA,uCACA,gBAEA,yBAbF,uBAcI,cAGF,6BACE,aAKN,qBACE,kBAEA,oBACA,mBAEA,iBACA,cACA,qBAEA,4BACE,gBACA,eACA,eAEA,oCACE,WAEA,kBACA,MACA,cACA,OACA,YAEA,cAEA,WAEA,mEAGF,mCACE,0BAEA,kBACA,SACA,OACA,YAEA,cAEA,WACA,cAEA,gCACA,cAEA,mBACA,kBAIJ,mCACE,aAGF,kCACE,gBAIJ,mBACE,4CAEA,4BACE,2CC3NN,eACE,iCAKA,0CAEE,qBACA,sBACA,aACA,aAGF,oBACE,sCACA,+BAGF,wBACE,qBAEA,mBACA,gBACA,mBAEA,uCACA,gBAGF,qBACE,kBAIF,2BACE,qBACA,iCACA,iBACA,oBAEA,8CACE,WAIJ,yBACE,UAIJ,UACE,eACA,iBACA,iBAGF,UACE,cACA,eACA,0BACA,kBAGF,SACE,kBAEA,gBACE,aAIJ,UACE,eACA,+BACA,uCACA,iBC1EA,kDAEE,cAEA,gBACA,qBACA,kBAEA,sCAEA,gBAEA,4DACE,UACA,gBACA,oCACA,WASJ,qEAEE,gBACA,WAEA,cACA,kEACA,gBACA,gBACA,oBACA,iBACA,kBACA,WACA,aAIF,kCACE,cAGF,+EAEE,mBAIF,6CACE,aACA,mBACA,mBAGF,0IAKE,WAGF,+BACE,WAGF,4GAIE,cAGF,iCACE,cAGF,iFAGE,cAGF,gHAIE,cAGF,yIAKE,cAGF,qIAKE,cAGF,6EAGE,cAGF,qDAEE,iBAGF,0BACE,kBAGF,0BACE,YAGF,4BACE,YCpIJ,kBACE","file":"waline.css"}
@@ -0,0 +1,388 @@
1
+ interface WalineEmojiInfo {
2
+ /**
3
+ * 选项卡上的 Emoji 名称
4
+ *
5
+ * Emoji name show on tab
6
+ */
7
+ name: string;
8
+ /**
9
+ * 所在文件夹链接
10
+ *
11
+ * Current folder link
12
+ */
13
+ folder: string;
14
+ /**
15
+ * Emoji 通用路径前缀
16
+ *
17
+ * Common prefix of Emoji icons
18
+ */
19
+ prefix?: string;
20
+ /**
21
+ * Emoji 图片的类型,会作为文件扩展名使用
22
+ *
23
+ * Type of Emoji icons, will be regarded as file extension
24
+ */
25
+ type?: string;
26
+ /**
27
+ * 选项卡显示的 Emoji 图标
28
+ *
29
+ * Emoji icon show on tab
30
+ */
31
+ icon: string;
32
+ /**
33
+ * Emoji 图片列表
34
+ *
35
+ * Emoji image list
36
+ */
37
+ items: string[];
38
+ }
39
+ declare type WalineEmojiMaps = Record<string, string>;
40
+ declare type WalineMeta = 'nick' | 'mail' | 'link';
41
+ declare type WalineImageUploader = (image: File) => Promise<string>;
42
+ declare type WalineHighlighter = ((code: string, lang: string) => string) | ((code: string, lang: string, callback?: (error: unknown | undefined, code?: string) => void) => void);
43
+ declare type WalineTexRenderer = (blockMode: boolean, tex: string) => string;
44
+
45
+ interface WalineCommentData {
46
+ nick: string;
47
+ mail: string;
48
+ link?: string;
49
+ comment: string;
50
+ ua: string;
51
+ pid?: string;
52
+ rid?: string;
53
+ at?: string;
54
+ url: string;
55
+ }
56
+ interface WalineComment extends Exclude<WalineCommentData, 'ua'> {
57
+ avatar: string;
58
+ type?: string;
59
+ objectId: string;
60
+ createdAt: string;
61
+ insertedAt: string;
62
+ updatedAt: string;
63
+ children: WalineComment[];
64
+ sticky?: boolean;
65
+ browser?: string;
66
+ os?: string;
67
+ }
68
+
69
+ interface WalineLocale {
70
+ nick: string;
71
+ nickError: string;
72
+ mail: string;
73
+ mailError: string;
74
+ link: string;
75
+ optional: string;
76
+ placeholder: string;
77
+ sofa: string;
78
+ submit: string;
79
+ reply: string;
80
+ cancelReply: string;
81
+ comment: string;
82
+ refresh: string;
83
+ more: string;
84
+ preview: string;
85
+ emoji: string;
86
+ uploadImage: string;
87
+ seconds: string;
88
+ minutes: string;
89
+ hours: string;
90
+ days: string;
91
+ now: string;
92
+ uploading: string;
93
+ login: string;
94
+ logout: string;
95
+ admin: string;
96
+ sticky: string;
97
+ word: string;
98
+ wordHint: string;
99
+ anonymous: string;
100
+ }
101
+
102
+ interface WalineProps {
103
+ /**
104
+ * Waline 的服务端地址
105
+ *
106
+ * Waline server address url
107
+ */
108
+ serverURL: string;
109
+ /**
110
+ * 当前 _文章页_ 路径,用于区分不同的 _文章页_ ,以保证正确读取该 _文章页_ 下的评论列表
111
+ *
112
+ * 你可以将其设置为 `window.location.pathname`
113
+ *
114
+ * Article path id. Used to distinguish different _article pages_ to ensure loading the correct comment list under the _article page_.
115
+ *
116
+ * You can set it to `window.location.pathname`
117
+ */
118
+ path: string;
119
+ /**
120
+ * 评论者相关属性
121
+ *
122
+ * `Meta` 可选值: `'nick'`, `'mail'`, `'link'`
123
+ *
124
+ * Reviewer attributes.
125
+ *
126
+ * Optional values for `Meta`: `'nick'`, `'mail'`, `'link'`
127
+ *
128
+ * @default ['nick', 'mail', 'link']
129
+ */
130
+ meta?: WalineMeta[];
131
+ /**
132
+ * 设置**必填项**,默认昵称为匿名
133
+ *
134
+ * Set required fields, default anonymous with nickname
135
+ *
136
+ * @default []
137
+ */
138
+ requiredMeta?: WalineMeta[];
139
+ /**
140
+ * 评论字数限制。填入单个数字时为最大字数限制
141
+ *
142
+ * @more 设置为 `0` 时无限制
143
+ *
144
+ * Comment word s limit. When a single number is filled in, it 's the maximum number of comment words.
145
+ *
146
+ * @more No limit when set to `0`.
147
+ *
148
+ * @default 0
149
+ */
150
+ wordLimit?: number | [number, number];
151
+ /**
152
+ * 评论列表分页,每页条数
153
+ *
154
+ * number of pages per page
155
+ *
156
+ * @default 10
157
+ */
158
+ pageSize?: number;
159
+ /**
160
+ * Waline 显示语言
161
+ *
162
+ * 可选值:
163
+ *
164
+ * - `'zh'`
165
+ * - `'zh-cn'`
166
+ * - `'zh-CN'`
167
+ * - `'zh-tw'`
168
+ * - `'zh-TW'`
169
+ * - `'en'`
170
+ * - `'en-US'`
171
+ * - `'en-us'`
172
+ * - `'jp'`
173
+ * - `'jp-jp'`
174
+ * - `'jp-JP'`
175
+ * - `'pt-br'`
176
+ * - `'pt-BR'`
177
+ * - `'ru'`
178
+ * - `'ru-ru'`
179
+ * - `'ru-RU'`
180
+ *
181
+ * Display language for waline
182
+ *
183
+ * Optional value:
184
+ *
185
+ * - `'zh'`
186
+ * - `'zh-cn'`
187
+ * - `'zh-CN'`
188
+ * - `'zh-tw'`
189
+ * - `'zh-TW'`
190
+ * - `'en'`
191
+ * - `'en-US'`
192
+ * - `'en-us'`
193
+ * - `'jp'`
194
+ * - `'jp-jp'`
195
+ * - `'jp-JP'`
196
+ * - `'pt-br'`
197
+ * - `'pt-BR'`
198
+ * - `'ru'`
199
+ * - `'ru-ru'`
200
+ * - `'ru-RU'`
201
+ *
202
+ * @default 'zh-CN'
203
+ */
204
+ lang?: string;
205
+ /**
206
+ * 自定义 waline 语言显示
207
+ *
208
+ * @see [自定义语言](https://waline.js.org/client/i18n.html)
209
+ *
210
+ * Custom display language in waline
211
+ *
212
+ * @see [I18n](https://waline.js.org/en/client/i18n.html)
213
+ */
214
+ locale?: Partial<WalineLocale>;
215
+ /**
216
+ * 是否启用暗黑模式适配
217
+ *
218
+ * @more 设置 `'auto'` 会根据设备暗黑模式自适应。填入 CSS 选择器会在对应选择器生效时启用夜间模式。
219
+ *
220
+ * Whether to enable darkmode support
221
+ *
222
+ * @more Setting `'auto'` will display darkmode due to device settings. Filling in CSS selector will enable darkmode only when the selector match waline ancestor nodes.
223
+ */
224
+ dark?: string | boolean;
225
+ /**
226
+ * 设置表情包
227
+ *
228
+ * Set Emojis
229
+ *
230
+ * @default ['https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo']
231
+ */
232
+ emoji?: (string | WalineEmojiInfo)[];
233
+ /**
234
+ * 代码高亮
235
+ *
236
+ * Code highlighting
237
+ */
238
+ highlighter?: WalineHighlighter | false;
239
+ /**
240
+ * 自定义图片上传方法,方便更好的存储图片
241
+ *
242
+ * 方法执行时会将图片对象传入。
243
+ *
244
+ * Custom image upload callback to manage picture by yourself.
245
+ *
246
+ * We will pass a picture file object when execute it.
247
+ */
248
+ imageUploader?: WalineImageUploader | false;
249
+ /**
250
+ * 自定义数学公式处理方法,用于预览。
251
+ *
252
+ * Custom math formula parse callback for preview.
253
+ */
254
+ texRenderer?: WalineTexRenderer | false;
255
+ /**
256
+ *
257
+ * 登录模式状态,可选值:
258
+ *
259
+ * - `'enable'`: 启用登录 (默认)
260
+ * - `'disable'`: 禁用登录,用户只能填写信息评论
261
+ * - `'force'`: 强制登录,用户必须注册并登录才可发布评论
262
+ *
263
+ * Login mode status, optional values:
264
+ *
265
+ * - `'enable'`: enable login (default)
266
+ * - `'disable'`: Login is disabled, users should fill in infomation to comment
267
+ * - `'force'`: Forced login, users must login to comment
268
+ *
269
+ * @default 'enable'
270
+ */
271
+ login?: 'enable' | 'disable' | 'force';
272
+ /**
273
+ * 是否在页脚展示版权信息
274
+ *
275
+ * 为了支持 Waline,我们强烈建议你开启它
276
+ *
277
+ * Whether show copyright in footer
278
+ *
279
+ * We strongly recommended you to keep it on to support waline
280
+ *
281
+ * @default true
282
+ */
283
+ copyright?: boolean;
284
+ }
285
+
286
+ interface WalineInitOptions extends Omit<WalineProps, 'path'> {
287
+ /**
288
+ * Waline 的初始化挂载器。必须是一个**有效的** CSS 选择器 或 HTML 元素
289
+ *
290
+ * The DOM element to be mounted on initialization. It must be a **valid** CSS selector string or HTML Element.
291
+ */
292
+ el?: string | HTMLElement | null;
293
+ /**
294
+ * 评论数统计
295
+ *
296
+ * Comment number support
297
+ *
298
+ * @default false
299
+ */
300
+ comment?: string | boolean;
301
+ /**
302
+ * 页面访问量统计
303
+ *
304
+ * Pageview number support
305
+ *
306
+ * @default false
307
+ */
308
+ pageview?: string | boolean;
309
+ /**
310
+ * 当前 _文章页_ 路径,用于区分不同的 _文章页_ ,以保证正确读取该 _文章页_ 下的评论列表
311
+ *
312
+ * 你可以将其设置为 `window.location.pathname`
313
+ *
314
+ * Article path id. Used to distinguish different _article pages_ to ensure loading the correct comment list under the _article page_.
315
+ *
316
+ * You can set it to `window.location.pathname`
317
+ *
318
+ * @default window.location.pathname
319
+ */
320
+ path?: string;
321
+ }
322
+
323
+ declare const getMeta: (meta: WalineMeta[]) => WalineMeta[];
324
+ declare const defaultLang = "zh-CN";
325
+ declare const defaultUploadImage: (file: File) => Promise<string>;
326
+ declare const defaultTexRenderer: (blockMode: boolean) => string;
327
+
328
+ declare type Locales = Record<string, WalineLocale>;
329
+ declare const locales: Locales;
330
+
331
+ interface CommentCountOptions {
332
+ serverURL: string;
333
+ selector?: string;
334
+ path?: string;
335
+ }
336
+ declare const commentCount: ({ serverURL, path, selector, }: CommentCountOptions) => (reason?: unknown) => void;
337
+
338
+ interface WalineInstance {
339
+ el: HTMLElement | null;
340
+ update: (newOptions: Partial<WalineProps>) => void;
341
+ destroy: () => void;
342
+ }
343
+ declare const init: ({ el, path, comment, pageview, ...initProps }: WalineInitOptions) => WalineInstance | null;
344
+
345
+ interface VisitorCountOptions {
346
+ /**
347
+ * Waline server url
348
+ *
349
+ * Waline 服务端地址
350
+ */
351
+ serverURL: string;
352
+ /**
353
+ * Path to be fetched and updated
354
+ *
355
+ * 需要更新和获取的路径
356
+ *
357
+ * @default window.location.pathname
358
+ */
359
+ path?: string;
360
+ /**
361
+ * @default '.waline-pageview-count'
362
+ */
363
+ selector?: string;
364
+ /**
365
+ * Whether update pageviews when fetching path result
366
+ *
367
+ * 是否在查询时更新 path 的浏览量
368
+ *
369
+ * @default true
370
+ */
371
+ update?: boolean;
372
+ }
373
+ declare const pageviewCount: ({ serverURL, path, selector, update, }: VisitorCountOptions) => (reason?: unknown) => void;
374
+
375
+ declare const version: string;
376
+
377
+ interface RecentCommentsOptions {
378
+ serverURL: string;
379
+ count: number;
380
+ el?: string | HTMLElement;
381
+ }
382
+ interface RecentCommentsResult {
383
+ comments: WalineComment[];
384
+ destroy: () => void;
385
+ }
386
+ declare const RecentComments: ({ el, serverURL, count, }: RecentCommentsOptions) => Promise<RecentCommentsResult>;
387
+
388
+ export { CommentCountOptions, Locales, RecentComments, RecentCommentsOptions, RecentCommentsResult, VisitorCountOptions, WalineComment, WalineCommentData, WalineEmojiInfo, WalineEmojiMaps, WalineHighlighter, WalineImageUploader, WalineInitOptions, WalineInstance, WalineLocale, WalineMeta, WalineProps, WalineTexRenderer, commentCount, defaultLang, defaultTexRenderer, defaultUploadImage, getMeta, init, locales, pageviewCount, version };