Page Not Found
We could not find what you were looking for.
Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..a660f5dc Binary files /dev/null and b/.DS_Store differ diff --git a/.asf.yaml b/.asf.yaml new file mode 100644 index 00000000..6b4bb276 --- /dev/null +++ b/.asf.yaml @@ -0,0 +1,37 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +github: + description: "SolidUI" + homepage: https://cloudorc.github.io/SolidUI-Website/ + features: + issues: false + projects: false + wiki: false + labels: + - solidui + enabled_merge_buttons: + squash: true + merge: false + rebase: false + +publish: + whoami: main + +notifications: + issues: https://github.com/CloudOrc/SolidUI/issues + pullrequests: https://github.com/CloudOrc/SolidUI/pulls diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..cbf7780c --- /dev/null +++ b/404.html @@ -0,0 +1,65 @@ + + +
+ + +We could not find what you were looking for.
Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
["'])(?.*?)\1/,h=/\{(? [\d,-]+)\}/,y={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}};function b(e,t){const n=e.map((e=>{const{start:n,end:o}=y[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${o})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function v(e,t){let n=e.replace(/\n$/,"");const{language:o,magicComments:a,metastring:r}=t;if(r&&h.test(r)){const e=r.match(h).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${r}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,o=f()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(o),code:n}}if(void 0===o)return{lineClassNames:{},code:n};const l=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return b(["js","jsBlock"],t);case"jsx":case"tsx":return b(["js","jsBlock","jsx"],t);case"html":return b(["js","jsBlock","html"],t);case"python":case"py":case"bash":return b(["bash"],t);case"markdown":case"md":return b(["html","jsx","bash"],t);default:return b(Object.keys(y),t)}}(o,a),c=n.split("\n"),i=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),s=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),m=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let p=0;p void 0!==e));s[t]?i[s[t]].range+=`${p},`:u[t]?i[u[t]].start=p:m[t]&&(i[m[t]].range+=`${i[m[t]].start}-${p-1},`),c.splice(p,1)}n=c.join("\n");const d={};return Object.entries(i).forEach((e=>{let[t,{range:n}]=e;f()(n).forEach((e=>{d[e]??=[],d[e].push(t)}))})),{lineClassNames:d,code:n}}const E={codeBlockContainer:"codeBlockContainer_Ckt0"};function k(e){let{as:t,...n}=e;const a=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[o,a]=e;const r=t[o];r&&"string"==typeof a&&(n[r]=a)})),n}(m());return o.createElement(t,(0,r.Z)({},n,{style:a,className:(0,i.Z)(n.className,E.codeBlockContainer,d.k.common.codeBlock)}))}const N={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function C(e){let{children:t,className:n}=e;return o.createElement(k,{as:"pre",tabIndex:0,className:(0,i.Z)(N.codeBlockStandalone,"thin-scrollbar",n)},o.createElement("code",{className:N.codeBlockLines},t))}var w=n(902);const B={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Z(e,t){const[n,a]=(0,o.useState)(),r=(0,o.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,o.useEffect)((()=>{r()}),[r]),function(e,t,n){void 0===n&&(n=B);const a=(0,w.zX)(t),r=(0,w.Ql)(n);(0,o.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,r),()=>t.disconnect()}),[e,a,r])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}const T={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]};var L={Prism:n(7410).Z,theme:T};function j(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _(){return _=Object.assign||function(e){for(var t=1;t 0&&e[n-1]===t?e:e.concat(t)};function P(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&-1===t.indexOf(o)&&(n[o]=e[o]);return n}var z=function(e){function t(){for(var t=this,n=[],o=arguments.length;o--;)n[o]=arguments[o];e.apply(this,n),j(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?function(e,t){var n=e.plain,o=Object.create(null),a=e.styles.reduce((function(e,n){var o=n.languages,a=n.style;return o&&!o.includes(t)||n.types.forEach((function(t){var n=_({},e[t],a);e[t]=n})),e}),o);return a.root=n,a.plain=_({},n,{backgroundColor:null}),a}(e.theme,e.language):void 0;return t.themeDict=n})),j(this,"getLineProps",(function(e){var n=e.key,o=e.className,a=e.style,r=_({},P(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),l=t.getThemeDict(t.props);return void 0!==l&&(r.style=l.plain),void 0!==a&&(r.style=void 0!==r.style?_({},r.style,a):a),void 0!==n&&(r.key=n),o&&(r.className+=" "+o),r})),j(this,"getStyleForToken",(function(e){var n=e.types,o=e.empty,a=n.length,r=t.getThemeDict(t.props);if(void 0!==r){if(1===a&&"plain"===n[0])return o?{display:"inline-block"}:void 0;if(1===a&&!o)return r[n[0]];var l=o?{display:"inline-block"}:{},c=n.map((function(e){return r[e]}));return Object.assign.apply(Object,[l].concat(c))}})),j(this,"getTokenProps",(function(e){var n=e.key,o=e.className,a=e.style,r=e.token,l=_({},P(e,["key","className","style","token"]),{className:"token "+r.types.join(" "),children:r.content,style:t.getStyleForToken(r),key:void 0});return void 0!==a&&(l.style=void 0!==l.style?_({},l.style,a):a),void 0!==n&&(l.key=n),o&&(l.className+=" "+o),l})),j(this,"tokenize",(function(e,t,n,o){var a={code:t,grammar:n,language:o,tokens:[]};e.hooks.run("before-tokenize",a);var r=a.tokens=e.tokenize(a.code,a.grammar,a.language);return e.hooks.run("after-tokenize",a),r}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,o=e.code,a=e.children,r=this.getThemeDict(this.props),l=t.languages[n];return a({tokens:function(e){for(var t=[[]],n=[e],o=[0],a=[e.length],r=0,l=0,c=[],i=[c];l>-1;){for(;(r=o[l]++)0?u:["plain"],s=m):(u=S(u,m.type),m.alias&&(u=S(u,m.alias)),s=m.content),"string"==typeof s){var d=s.split(x),p=d.length;c.push({types:u,content:d[0]});for(var f=1;f o.createElement("span",(0,r.Z)({key:t},c({token:e,key:t})))));return o.createElement("span",s,a?o.createElement(o.Fragment,null,o.createElement("span",{className:I.codeLineNumber}),o.createElement("span",{className:I.codeLineContent},u)):u,o.createElement("br",null))}var M=n(5999);function H(e){return o.createElement("svg",(0,r.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"}))}function D(e){return o.createElement("svg",(0,r.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))}const V={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function R(e){let{code:t,className:n}=e;const[a,r]=(0,o.useState)(!1),l=(0,o.useRef)(void 0),c=(0,o.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const o=document.createElement("textarea"),a=document.activeElement;o.value=e,o.setAttribute("readonly",""),o.style.contain="strict",o.style.position="absolute",o.style.left="-9999px",o.style.fontSize="12pt";const r=document.getSelection(),l=r.rangeCount>0&&r.getRangeAt(0);n.append(o),o.select(),o.selectionStart=0,o.selectionEnd=e.length;let c=!1;try{c=document.execCommand("copy")}catch{}o.remove(),l&&(r.removeAllRanges(),r.addRange(l)),a&&a.focus()}(t),r(!0),l.current=window.setTimeout((()=>{r(!1)}),1e3)}),[t]);return(0,o.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),o.createElement("button",{type:"button","aria-label":a?(0,M.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,M.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,M.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",n,V.copyButton,a&&V.copyButtonCopied),onClick:c},o.createElement("span",{className:V.copyButtonIcons,"aria-hidden":"true"},o.createElement(H,{className:V.copyButtonIcon}),o.createElement(D,{className:V.copyButtonSuccessIcon})))}function $(e){return o.createElement("svg",(0,r.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}))}const F={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function q(e){let{className:t,onClick:n,isEnabled:a}=e;const r=(0,M.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return o.createElement("button",{type:"button",onClick:n,className:(0,i.Z)("clean-btn",t,a&&F.wordWrapButtonEnabled),"aria-label":r,title:r},o.createElement($,{className:F.wordWrapButtonIcon,"aria-hidden":"true"}))}function G(e){let{children:t,className:n="",metastring:a,title:l,showLineNumbers:c,language:s}=e;const{prism:{defaultLanguage:d,magicComments:p}}=(0,u.L)(),f=s??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??d,h=m(),y=function(){const[e,t]=(0,o.useState)(!1),[n,a]=(0,o.useState)(!1),r=(0,o.useRef)(null),l=(0,o.useCallback)((()=>{const n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[r,e]),c=(0,o.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=r.current,n=e>t||r.current.querySelector("code").hasAttribute("style");a(n)}),[r]);return Z(r,c),(0,o.useEffect)((()=>{c()}),[e,c]),(0,o.useEffect)((()=>(window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)})),[c]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:l}}(),b=function(e){return e?.match(g)?.groups.title??""}(a)||l,{lineClassNames:E,code:C}=v(t,{metastring:a,language:f,magicComments:p}),w=c??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return o.createElement(k,{as:"div",className:(0,i.Z)(n,f&&!n.includes(`language-${f}`)&&`language-${f}`)},b&&o.createElement("div",{className:N.codeBlockTitle},b),o.createElement("div",{className:N.codeBlockContent},o.createElement(A,(0,r.Z)({},L,{theme:h,code:C,language:f??"text"}),(e=>{let{className:t,tokens:n,getLineProps:a,getTokenProps:r}=e;return o.createElement("pre",{tabIndex:0,ref:y.codeBlockRef,className:(0,i.Z)(t,N.codeBlock,"thin-scrollbar")},o.createElement("code",{className:(0,i.Z)(N.codeBlockLines,w&&N.codeBlockLinesWithNumbering)},n.map(((e,t)=>o.createElement(W,{key:t,line:e,getLineProps:a,getTokenProps:r,classNames:E[t],showLineNumbers:w})))))})),o.createElement("div",{className:N.buttonGroup},(y.isEnabled||y.isCodeScrollable)&&o.createElement(q,{className:N.codeButton,onClick:()=>y.toggle(),isEnabled:y.isEnabled}),o.createElement(R,{className:N.codeButton,code:C}))))}function U(e){let{children:t,...n}=e;const a=(0,c.Z)(),l=function(e){return o.Children.toArray(e).some((e=>(0,o.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof l?G:C;return o.createElement(i,(0,r.Z)({key:String(a)},n),l)}var Q=n(9960);var X=n(6043);const Y={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function J(e){return!!e&&("SUMMARY"===e.tagName||J(e.parentElement))}function K(e,t){return!!e&&(e===t||K(e.parentElement,t))}function ee(e){let{summary:t,children:n,...a}=e;const l=(0,c.Z)(),s=(0,o.useRef)(null),{collapsed:u,setCollapsed:m}=(0,X.u)({initialState:!a.open}),[d,p]=(0,o.useState)(a.open),f=o.isValidElement(t)?t:o.createElement("summary",null,t??"Details");return o.createElement("details",(0,r.Z)({},a,{ref:s,open:d,"data-collapsed":u,className:(0,i.Z)(Y.details,l&&Y.isBrowser,a.className),onMouseDown:e=>{J(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;J(t)&&K(t,s.current)&&(e.preventDefault(),u?(m(!1),p(!0)):m(!0))}}),f,o.createElement(X.z,{lazy:!1,collapsed:u,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{m(e),p(!e)}},o.createElement("div",{className:Y.collapsibleContent},n)))}const te={details:"details_b_Ee"},ne="alert alert--info";function oe(e){let{...t}=e;return o.createElement(ee,(0,r.Z)({},t,{className:(0,i.Z)(ne,te.details,t.className)}))}var ae=n(7955);function re(e){return o.createElement(ae.Z,e)}const le={containsTaskList:"containsTaskList_mC6p"};const ce={img:"img_ev3q"};const ie="admonition_LlT9",se="admonitionHeading_tbUL",ue="admonitionIcon_kALy",me="admonitionContent_S0QG";const de={note:{infimaClassName:"secondary",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"}))},label:o.createElement(M.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 12 16"},o.createElement("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"}))},label:o.createElement(M.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 12 16"},o.createElement("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))},label:o.createElement(M.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))},label:o.createElement(M.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 16 16"},o.createElement("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"}))},label:o.createElement(M.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},pe={secondary:"note",important:"info",success:"tip",warning:"danger"};function fe(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=o.Children.toArray(e),n=t.find((e=>o.isValidElement(e)&&"mdxAdmonitionTitle"===e.props?.mdxType)),a=o.createElement(o.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n,rest:a}}(e.children);return{...e,title:e.title??t,children:n}}const ge={head:function(e){const t=o.Children.map(e.children,(e=>o.isValidElement(e)?function(e){if(e.props?.mdxType&&e.props.originalType){const{mdxType:t,originalType:n,...a}=e.props;return o.createElement(e.props.originalType,a)}return e}(e):e));return o.createElement(l.Z,e,t)},code:function(e){const t=["a","abbr","b","br","button","cite","code","del","dfn","em","i","img","input","ins","kbd","label","object","output","q","ruby","s","small","span","strong","sub","sup","time","u","var","wbr"];return o.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")||(0,o.isValidElement)(e)&&t.includes(e.props?.mdxType)))?o.createElement("code",e):o.createElement(U,e)},a:function(e){return o.createElement(Q.Z,e)},pre:function(e){return o.createElement(U,(0,o.isValidElement)(e.children)&&"code"===e.children.props?.originalType?e.children.props:{...e})},details:function(e){const t=o.Children.toArray(e.children),n=t.find((e=>o.isValidElement(e)&&"summary"===e.props?.mdxType)),a=o.createElement(o.Fragment,null,t.filter((e=>e!==n)));return o.createElement(oe,(0,r.Z)({},e,{summary:n}),a)},ul:function(e){return o.createElement("ul",(0,r.Z)({},e,{className:(t=e.className,(0,i.Z)(t,t?.includes("contains-task-list")&&le.containsTaskList))}));var t},img:function(e){return o.createElement("img",(0,r.Z)({loading:"lazy"},e,{className:(t=e.className,(0,i.Z)(t,ce.img))}));var t},h1:e=>o.createElement(re,(0,r.Z)({as:"h1"},e)),h2:e=>o.createElement(re,(0,r.Z)({as:"h2"},e)),h3:e=>o.createElement(re,(0,r.Z)({as:"h3"},e)),h4:e=>o.createElement(re,(0,r.Z)({as:"h4"},e)),h5:e=>o.createElement(re,(0,r.Z)({as:"h5"},e)),h6:e=>o.createElement(re,(0,r.Z)({as:"h6"},e)),admonition:function(e){const{children:t,type:n,title:a,icon:r}=fe(e),l=function(e){const t=pe[e]??e,n=de[t];return n||(console.warn(`No admonition config found for admonition type "${t}". Using Info as fallback.`),de.info)}(n),c=a??l.label,{iconComponent:s}=l,u=r??o.createElement(s,null);return o.createElement("div",{className:(0,i.Z)(d.k.common.admonition,d.k.common.admonitionType(e.type),"alert",`alert--${l.infimaClassName}`,ie)},o.createElement("div",{className:se},o.createElement("span",{className:ue},u),c),o.createElement("div",{className:me},t))},mermaid:()=>null};function he(e){let{children:t}=e;return o.createElement(a.Zo,{components:ge},t)}},2244:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var o=n(7294),a=n(6010),r=n(9960);function l(e){const{permalink:t,title:n,subLabel:l,isNext:c}=e;return o.createElement(r.Z,{className:(0,a.Z)("pagination-nav__link",c?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},l&&o.createElement("div",{className:"pagination-nav__sublabel"},l),o.createElement("div",{className:"pagination-nav__label"},n))}},3008:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var o=n(7294),a=n(6010),r=n(9960);const l={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function c(e){let{permalink:t,label:n,count:c}=e;return o.createElement(r.Z,{href:t,className:(0,a.Z)(l.tag,c?l.tagWithCount:l.tagRegular)},n,c&&o.createElement("span",null,c))}},1526:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var o=n(7294),a=n(6010),r=n(5999),l=n(3008);const c={tags:"tags_jXut",tag:"tag_QGVx"};function i(e){let{tags:t}=e;return o.createElement(o.Fragment,null,o.createElement("b",null,o.createElement(r.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list"},"Tags:")),o.createElement("ul",{className:(0,a.Z)(c.tags,"padding--none","margin-left--sm")},t.map((e=>{let{label:t,permalink:n}=e;return o.createElement("li",{key:n,className:c.tag},o.createElement(l.Z,{label:t,permalink:n}))}))))}},7594:(e,t)=>{function n(e){let t,n=[];for(let o of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(o))n.push(parseInt(o,10));else if(t=o.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,o,a,r]=t;if(o&&r){o=parseInt(o),r=parseInt(r);const e=o
{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Version Update | SolidUI 0.2.0 Release","permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release"},{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"},{"title":"SolidUI Community - Official Website Introduction","permalink":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"},{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"},{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"},{"title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","permalink":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0"}]}')}}]); \ No newline at end of file diff --git a/assets/js/82bafcbe.3deb2fab.js b/assets/js/82bafcbe.3deb2fab.js new file mode 100644 index 00000000..38d98012 --- /dev/null +++ b/assets/js/82bafcbe.3deb2fab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[240],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>h});var a=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function r(e){for(var t=1;t =0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a =0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},d=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=c(i),m=n,h=p["".concat(s,".").concat(m)]||p[m]||u[m]||o;return i?a.createElement(h,r(r({ref:t},d),{},{components:i})):a.createElement(h,r({ref:t},d))}));function h(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,r=new Array(o);r[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:n,r[1]=l;for(var c=2;c {i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=i(7462),n=(i(7294),i(3905));const o={title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},r=void 0,l={permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-introduction.md",source:"@site/blog/2023-09-05-0.2.0-introduction.md",title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:4.36,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},prevItem:{title:"Version Update | SolidUI 0.2.0 Release",permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-Release"},nextItem:{title:"SolidUI Community - Official Website Introduction",permalink:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"}},s={authorsImageUrls:[]},c=[{value:"Background",id:"background",level:2},{value:"Chat Window",id:"chat-window",level:2},{value:"Prompt Words",id:"prompt-words",level:3},{value:"Chat Window Generation",id:"chat-window-generation",level:2},{value:"Input data format for bar chart",id:"input-data-format-for-bar-chart",level:3},{value:"Surface Graph",id:"surface-graph",level:3},{value:"Scatter Plot",id:"scatter-plot",level:3},{value:"Spiral Line",id:"spiral-line",level:3},{value:"Pie Chart",id:"pie-chart",level:3},{value:"Bunny Modeling",id:"bunny-modeling",level:3},{value:"Map",id:"map",level:3},{value:"Design Page",id:"design-page",level:2},{value:"Page Layout",id:"page-layout",level:3},{value:"Preview",id:"preview",level:3},{value:"Future Plans of SolidUI Community",id:"future-plans-of-solidui-community",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...o}=e;return(0,n.kt)(p,(0,a.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation."),(0,n.kt)("p",null,"Project URL: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror URL: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Join the group: ",(0,n.kt)("a",{parentName:"p",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ")),(0,n.kt)("h2",{id:"chat-window"},"Chat Window"),(0,n.kt)("p",null,"One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display."),(0,n.kt)("h3",{id:"prompt-words"},"Prompt Words"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account."),(0,n.kt)("li",{parentName:"ul"},"The input data can be manually input or automatically generated, combined with text prompt words.")),(0,n.kt)("h2",{id:"chat-window-generation"},"Chat Window Generation"),(0,n.kt)("h3",{id:"input-data-format-for-bar-chart"},"Input data format for bar chart"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'\\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\\] Generate a bar chart')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(6979).Z,width:"800",height:"1068"})),(0,n.kt)("h3",{id:"surface-graph"},"Surface Graph"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a simple 3D surface graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4733).Z,width:"612",height:"825"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7232).Z,width:"612",height:"931"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4388).Z,width:"612",height:"1095"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 4")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1350).Z,width:"800",height:"1140"})),(0,n.kt)("h3",{id:"scatter-plot"},"Scatter Plot"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4500).Z,width:"612",height:"864"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4066).Z,width:"612",height:"973"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(3458).Z,width:"612",height:"929"})),(0,n.kt)("h3",{id:"spiral-line"},"Spiral Line"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Draw a spiral line in a 3D graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7613).Z,width:"612",height:"843"})),(0,n.kt)("h3",{id:"pie-chart"},"Pie Chart"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(9361).Z,width:"612",height:"784"})),(0,n.kt)("h3",{id:"bunny-modeling"},"Bunny Modeling"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model.\n')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(2532).Z,width:"612",height:"578"})),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html"},"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html")),(0,n.kt)("h3",{id:"map"},"Map"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a map, download link")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1560).Z,width:"612",height:"750"})),(0,n.kt)("h2",{id:"design-page"},"Design Page"),(0,n.kt)("h3",{id:"page-layout"},"Page Layout"),(0,n.kt)("p",null,"Manage the layout of generated graphics, divided by scenes and pages."),(0,n.kt)("h3",{id:"preview"},"Preview"),(0,n.kt)("p",null,"Click on the project preview or Design Page -> Scene -> Page preview"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7832).Z,width:"612",height:"689"})),(0,n.kt)("h2",{id:"future-plans-of-solidui-community"},"Future Plans of SolidUI Community"),(0,n.kt)("p",null,"For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics."),(0,n.kt)("p",null,"This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas."),(0,n.kt)("p",null,"Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development."),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("li",{parentName:"ul"},"Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("li",{parentName:"ul"},"Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("li",{parentName:"ul"},"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;"),(0,n.kt)("li",{parentName:"ul"},"Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;")))}u.isMDXComponent=!0},7232:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png"},6979:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png"},4733:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png"},4388:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png"},1350:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png"},4500:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images06-973d359adfc34c204d37ea809ac68072.png"},4066:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png"},3458:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png"},7613:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png"},9361:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png"},2532:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg"},1560:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images12-2ab1592a45568d991cf485c21a451753.png"},7832:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png"}}]); \ No newline at end of file diff --git a/assets/js/8443.1a8dd629.js b/assets/js/8443.1a8dd629.js new file mode 100644 index 00000000..66677d7c --- /dev/null +++ b/assets/js/8443.1a8dd629.js @@ -0,0 +1,2 @@ +/*! For license information please see 8443.1a8dd629.js.LICENSE.txt */ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8443],{8443:(t,e,n)=>{"use strict";t.exports=n(295)},1228:(t,e,n)=>{"use strict";var i=n(2856),s={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};i.isMsie()&&i.mixin(s.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),i.isMsie()&&i.isMsie()<=7&&i.mixin(s.input,{marginTop:"-1px"}),t.exports=s},9050:(t,e,n)=>{"use strict";var i="aaDataset",s="aaValue",r="aaDatum",o=n(2856),a=n(4910),u=n(3561),c=n(1228),l=n(3109);function h(t){var e;(t=t||{}).templates=t.templates||{},t.source||o.error("missing source"),t.name&&(e=t.name,!/^[_a-zA-Z0-9-]+$/.test(e))&&o.error("invalid dataset name: "+t.name),this.query=null,this._isEmpty=!0,this.highlight=!!t.highlight,this.name=void 0===t.name||null===t.name?o.getUniqueId():t.name,this.source=t.source,this.displayFn=function(t){return t=t||"value",o.isFunction(t)?t:e;function e(e){return e[t]}}(t.display||t.displayKey),this.debounce=t.debounce,this.cache=!1!==t.cache,this.templates=function(t,e){return{empty:t.empty&&o.templatify(t.empty),header:t.header&&o.templatify(t.header),footer:t.footer&&o.templatify(t.footer),suggestion:t.suggestion||n};function n(t){return" "+e(t)+"
"}}(t.templates,this.displayFn),this.css=o.mixin({},c,t.appendTo?c.appendTo:{}),this.cssClasses=t.cssClasses=o.mixin({},c.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var n=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=t.$menu&&t.$menu.find(n+"-"+this.name).length>0?a.element(t.$menu.find(n+"-"+this.name)[0]):a.element(u.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=t.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(t){return a.element(t).data(i)},h.extractValue=function(t){return a.element(t).data(s)},h.extractDatum=function(t){var e=a.element(t).data(r);return"string"==typeof e&&(e=JSON.parse(e)),e},o.mixin(h.prototype,l,{_render:function(t,e){if(this.$el){var n,c=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=e&&e.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(function(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!0}].concat(e),c.templates.empty.apply(this,e)}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(n)this.$el.html(function(){var t,n,l=[].slice.call(arguments,0),h=this,p=u.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return t=a.element(p).css(this.css.suggestions),n=o.map(e,f),t.append.apply(t,n),t;function f(t){var e,n=u.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(e=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(c.templates.suggestion.apply(this,[t].concat(l)))).data(i,c.name),e.data(s,c.displayFn(t)||void 0),e.data(r,JSON.stringify(t)),e.children().each((function(){a.element(this).css(h.css.suggestionChild)})),e}}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(e&&!Array.isArray(e))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",t)}function h(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.header.apply(this,e)}function p(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.footer.apply(this,e)}},getRoot:function(){return this.$el},update:function(t){function e(e){if(!this.canceled&&t===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(t,e,n),this._render.apply(this,[t,e].concat(n))}}if(this.query=t,this.canceled=!1,this.shouldFetchFromCache(t))e.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,i=function(){n.canceled||n.source(t,e.bind(n))};if(this.debounce){clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((function(){n.debounceTimeout=null,i()}),this.debounce)}else i()}},cacheSuggestions:function(t,e,n){this.cachedQuery=t,this.cachedSuggestions=e,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(t){return this.cache&&this.cachedQuery===t&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.$el&&(this.cancel(),this.$el.empty(),this.trigger("rendered",""))},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),t.exports=h},3354:(t,e,n)=>{"use strict";var i=n(2856),s=n(4910),r=n(3109),o=n(9050),a=n(1228);function u(t){var e,n,r,o=this;(t=t||{}).menu||i.error("menu is required"),i.isArray(t.datasets)||i.isObject(t.datasets)||i.error("1 or more datasets required"),t.datasets||i.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=t.minLength||0,this.templates={},this.appendTo=t.appendTo||!1,this.css=i.mixin({},a,t.appendTo?a.appendTo:{}),this.cssClasses=t.cssClasses=i.mixin({},a.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),e=i.bind(this._onSuggestionClick,this),n=i.bind(this._onSuggestionMouseEnter,this),r=i.bind(this._onSuggestionMouseLeave,this);var c=i.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=s.element(t.menu).on("mouseenter.aa",c,n).on("mouseleave.aa",c,r).on("click.aa",c,e),this.$container=t.appendTo?t.wrapper:this.$menu,t.templates&&t.templates.header&&(this.templates.header=i.templatify(t.templates.header),this.$menu.prepend(this.templates.header())),t.templates&&t.templates.empty&&(this.templates.empty=i.templatify(t.templates.empty),this.$empty=s.element(''),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=i.map(t.datasets,(function(e){return function(t,e,n){return new u.Dataset(i.mixin({$menu:t,cssClasses:n},e))}(o.$menu,e,t.cssClasses)})),i.each(this.datasets,(function(t){var e=t.getRoot();e&&0===e.parent().length&&o.$menu.append(e),t.onSync("rendered",o._onRendered,o)})),t.templates&&t.templates.footer&&(this.templates.footer=i.templatify(t.templates.footer),this.$menu.append(this.templates.footer()));var l=this;s.element(window).resize((function(){l._redraw()}))}i.mixin(u.prototype,r,{_onSuggestionClick:function(t){this.trigger("suggestionClicked",s.element(t.currentTarget))},_onSuggestionMouseEnter:function(t){var e=s.element(t.currentTarget);if(!e.hasClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout((function(){n._setCursor(e,!1)}),0)}},_onSuggestionMouseLeave:function(t){if(t.relatedTarget&&s.element(t.relatedTarget).closest("."+i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(t,e){if(this.isEmpty=i.every(this.datasets,(function(t){return t.isEmpty()})),this.isEmpty)if(e.length>=this.minLength&&this.trigger("empty"),this.$empty)if(e.length=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(t,e){t.first().addClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",e)},_removeCursor:function(){this._getCursor().removeClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(t){var e,n,i,s;this.isOpen&&(n=this._getCursor(),e=this._getSuggestions(),this._removeCursor(),-1!==(i=((i=e.index(n)+t)+1)%(e.length+1)-1)?(i<-1&&(i=e.length-1),this._setCursor(s=e.eq(i),!0),this._ensureVisible(s)):this.trigger("cursorRemoved"))},_ensureVisible:function(t){var e,n,i,s;n=(e=t.position().top)+t.height()+parseInt(t.css("margin-top"),10)+parseInt(t.css("margin-bottom"),10),i=this.$menu.scrollTop(),s=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),e<0?this.$menu.scrollTop(i+e):s {"use strict";var i=n(2856),s=n(4910);function r(t){t&&t.el||i.error("EventBus initialized without el"),this.$el=s.element(t.el)}i.mixin(r.prototype,{trigger:function(t,e,n,s){var r=i.Event("autocomplete:"+t);return this.$el.trigger(r,[e,n,s]),r}}),t.exports=r},3109:(t,e,n)=>{"use strict";var i=n(624),s=/\s+/;function r(t,e,n,i){var r;if(!n)return this;for(e=e.split(s),n=i?function(t,e){return t.bind?t.bind(e):function(){t.apply(e,[].slice.call(arguments,0))}}(n,i):n,this._callbacks=this._callbacks||{};r=e.shift();)this._callbacks[r]=this._callbacks[r]||{sync:[],async:[]},this._callbacks[r][t].push(n);return this}function o(t,e,n){return function(){for(var i,s=0,r=t.length;!i&&s {"use strict";t.exports={wrapper:'',dropdown:'',dataset:'',suggestions:'',suggestion:''}},2534:(t,e,n)=>{"use strict";var i;i={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var s=n(2856),r=n(4910),o=n(3109);function a(t){var e,n,o,a,u,c=this;(t=t||{}).input||s.error("input is missing"),e=s.bind(this._onBlur,this),n=s.bind(this._onFocus,this),o=s.bind(this._onKeydown,this),a=s.bind(this._onInput,this),this.$hint=r.element(t.hint),this.$input=r.element(t.input).on("blur.aa",e).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=s.noop),s.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",(function(t){i[t.which||t.keyCode]||s.defer(s.bind(c._onInput,c,t))})):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=(u=this.$input,r.element('').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:u.css("font-family"),fontSize:u.css("font-size"),fontStyle:u.css("font-style"),fontVariant:u.css("font-variant"),fontWeight:u.css("font-weight"),wordSpacing:u.css("word-spacing"),letterSpacing:u.css("letter-spacing"),textIndent:u.css("text-indent"),textRendering:u.css("text-rendering"),textTransform:u.css("text-transform")}).insertAfter(u))}function u(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}a.normalizeQuery=function(t){return(t||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},s.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(t){var e=i[t.which||t.keyCode];this._managePreventDefault(e,t),e&&this._shouldTrigger(e,t)&&this.trigger(e+"Keyed",t)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(t,e){var n,i,s;switch(t){case"tab":i=this.getHint(),s=this.getInputValue(),n=i&&i!==s&&!u(e);break;case"up":case"down":n=!u(e);break;default:n=!1}n&&e.preventDefault()},_shouldTrigger:function(t,e){var n;if("tab"===t)n=!u(e);else n=!0;return n},_checkInputValue:function(){var t,e,n,i,s;t=this.getInputValue(),i=t,s=this.query,n=!(!(e=a.normalizeQuery(i)===a.normalizeQuery(s))||!this.query)&&this.query.length!==t.length,this.query=t,e?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(t){this.query=t},getInputValue:function(){return this.$input.val()},setInputValue:function(t,e){void 0===t&&(t=this.query),this.$input.val(t),e?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(t){this.$input.attr("aria-activedescendant",t)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(t){this.$hint.val(t)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var t,e,n;n=(t=this.getInputValue())!==(e=this.getHint())&&0===e.indexOf(t),""!==t&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var t=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=t},isCursorAtEnd:function(){var t,e,n;return t=this.$input.val().length,e=this.$input[0].selectionStart,s.isNumber(e)?e===t:!document.selection||((n=document.selection.createRange()).moveStart("character",-t),t===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),t.exports=a},6549:(t,e,n)=>{"use strict";var i="aaAttrs",s=n(2856),r=n(4910),o=n(50),a=n(2534),u=n(3354),c=n(3561),l=n(1228);function h(t){var e,n;if((t=t||{}).input||s.error("missing input"),this.isActivated=!1,this.debug=!!t.debug,this.autoselect=!!t.autoselect,this.autoselectOnBlur=!!t.autoselectOnBlur,this.openOnFocus=!!t.openOnFocus,this.minLength=s.isNumber(t.minLength)?t.minLength:1,this.autoWidth=void 0===t.autoWidth||!!t.autoWidth,this.clearOnSelected=!!t.clearOnSelected,this.tabAutocomplete=void 0===t.tabAutocomplete||!!t.tabAutocomplete,t.hint=!!t.hint,t.hint&&t.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=t.css=s.mixin({},l,t.appendTo?l.appendTo:{}),this.cssClasses=t.cssClasses=s.mixin({},l.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix=s.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=t.listboxId=[this.cssClasses.root,"listbox",s.getUniqueId()].join("-");var a=function(t){var e,n,o,a;e=r.element(t.input),n=r.element(c.wrapper.replace("%ROOT%",t.cssClasses.root)).css(t.css.wrapper),t.appendTo||"block"!==e.css("display")||"table"!==e.parent().css("display")||n.css("display","table-cell");var u=c.dropdown.replace("%PREFIX%",t.cssClasses.prefix).replace("%DROPDOWN_MENU%",t.cssClasses.dropdownMenu);o=r.element(u).css(t.css.dropdown).attr({role:"listbox",id:t.listboxId}),t.templates&&t.templates.dropdownMenu&&o.html(s.templatify(t.templates.dropdownMenu)());a=e.clone().css(t.css.hint).css(function(t){return{backgroundAttachment:t.css("background-attachment"),backgroundClip:t.css("background-clip"),backgroundColor:t.css("background-color"),backgroundImage:t.css("background-image"),backgroundOrigin:t.css("background-origin"),backgroundPosition:t.css("background-position"),backgroundRepeat:t.css("background-repeat"),backgroundSize:t.css("background-size")}}(e)),a.val("").addClass(s.className(t.cssClasses.prefix,t.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();e.data(i,{"aria-autocomplete":e.attr("aria-autocomplete"),"aria-expanded":e.attr("aria-expanded"),"aria-owns":e.attr("aria-owns"),autocomplete:e.attr("autocomplete"),dir:e.attr("dir"),role:e.attr("role"),spellcheck:e.attr("spellcheck"),style:e.attr("style"),type:e.attr("type")}),e.addClass(s.className(t.cssClasses.prefix,t.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":t.datasets&&t.datasets[0]&&t.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":t.ariaLabel,"aria-owns":t.listboxId}).css(t.hint?t.css.input:t.css.inputWithNoHint);try{e.attr("dir")||e.attr("dir","auto")}catch(l){}return n=t.appendTo?n.appendTo(r.element(t.appendTo).eq(0)).eq(0):e.wrap(n).parent(),n.prepend(t.hint?a:null).append(o),{wrapper:n,input:e,hint:a,menu:o}}(t);this.$node=a.wrapper;var u=this.$input=a.input;e=a.menu,n=a.hint,t.dropdownMenuContainer&&r.element(t.dropdownMenuContainer).css("position","relative").append(e.css("top","0")),u.on("blur.aa",(function(t){var n=document.activeElement;s.isMsie()&&(e[0]===n||e[0].contains(n))&&(t.preventDefault(),t.stopImmediatePropagation(),s.defer((function(){u.focus()})))})),e.on("mousedown.aa",(function(t){t.preventDefault()})),this.eventBus=t.eventBus||new o({el:u}),this.dropdown=new h.Dropdown({appendTo:t.appendTo,wrapper:this.$node,menu:e,datasets:t.datasets,templates:t.templates,cssClasses:t.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:u,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(t),this._setLanguageDirection()}s.mixin(h.prototype,{_bindKeyboardShortcuts:function(t){if(t.keyboardShortcuts){var e=this.$input,n=[];s.each(t.keyboardShortcuts,(function(t){"string"==typeof t&&(t=t.toUpperCase().charCodeAt(0)),n.push(t)})),r.element(document).keydown((function(t){var i=t.target||t.srcElement,s=i.tagName;if(!i.isContentEditable&&"INPUT"!==s&&"SELECT"!==s&&"TEXTAREA"!==s){var r=t.which||t.keyCode;-1!==n.indexOf(r)&&(e.focus(),t.stopPropagation(),t.preventDefault())}}))}},_onSuggestionClicked:function(t,e){var n;(n=this.dropdown.getDatumForSuggestion(e))&&this._select(n,{selectionMethod:"click"})},_onCursorMoved:function(t,e){var n=this.dropdown.getDatumForCursor(),i=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(i),n&&(e&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var t=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",t.width+"px");var e=this.$node[0].getBoundingClientRect(),n=t.bottom-e.top;this.$node.css("top",n+"px");var i=t.left-e.left;this.$node.css("left",i+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var t=this.input.getQuery();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var t,e;t=this.dropdown.getDatumForCursor(),e=this.dropdown.getDatumForTopSuggestion();var n={selectionMethod:"blur"};this.debug||(this.autoselectOnBlur&&t?this._select(t,n):this.autoselectOnBlur&&e?this._select(e,n):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(t,e){var n,i;n=this.dropdown.getDatumForCursor(),i=this.dropdown.getDatumForTopSuggestion();var s={selectionMethod:"enterKey"};n?(this._select(n,s),e.preventDefault()):this.autoselect&&i&&(this._select(i,s),e.preventDefault())},_onTabKeyed:function(t,e){if(this.tabAutocomplete){var n;(n=this.dropdown.getDatumForCursor())?(this._select(n,{selectionMethod:"tabKey"}),e.preventDefault()):this._autocomplete(!0)}else this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(t,e){this.input.clearHintIfInvalid(),e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var t=this.input.getLanguageDirection();this.dir!==t&&(this.dir=t,this.$node.css("direction",t),this.dropdown.setLanguageDirection(t))},_updateHint:function(){var t,e,n,i,r;(t=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(e=this.input.getInputValue(),n=a.normalizeQuery(e),i=s.escapeRegExChars(n),(r=new RegExp("^(?:"+i+")(.+$)","i").exec(t.value))?this.input.setHint(e+r[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(t){var e,n,i,s;e=this.input.getHint(),n=this.input.getQuery(),i=t||this.input.isCursorAtEnd(),e&&n!==e&&i&&((s=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(s.value),this.eventBus.trigger("autocompleted",s.raw,s.datasetName))},_select:function(t,e){void 0!==t.value&&this.input.setQuery(t.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(t.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",t.raw,t.datasetName,e).isDefaultPrevented()&&(this.dropdown.close(),s.defer(s.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var t=this.input.getInputValue();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(t){t=s.toStr(t),this.isActivated?this.input.setInputValue(t):(this.input.setQuery(t),this.input.setInputValue(t,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(t,e){var n=t.find(s.className(e.prefix,e.input));s.each(n.data(i),(function(t,e){void 0===t?n.removeAttr(e):n.attr(e,t)})),n.detach().removeClass(s.className(e.prefix,e.input,!0)).insertAfter(t),n.removeData&&n.removeData(i);t.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=u,h.Input=a,h.sources=n(8840),t.exports=h},4910:t=>{"use strict";t.exports={element:null}},6177:t=>{"use strict";t.exports=function(t){var e=t.match(/Algolia for JavaScript \((\d+\.)(\d+\.)(\d+)\)/)||t.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(e)return[e[1],e[2],e[3]]}},2856:(t,e,n)=>{"use strict";var i,s=n(8820),r=n(4910);function o(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}t.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(t){if(void 0===t&&(t=navigator.userAgent),/(msie|trident)/i.test(t)){var e=t.match(/(msie |rv:)(\d+(.\d+)?)/i);if(e)return e[2]}return!1},escapeRegExChars:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(t){return"number"==typeof t},toStr:function(t){return null==t?"":t+""},cloneDeep:function(t){var e=this.mixin({},t),n=this;return this.each(e,(function(t,i){t&&(n.isArray(t)?e[i]=[].concat(t):n.isObject(t)&&(e[i]=n.cloneDeep(t)))})),e},error:function(t){throw new Error(t)},every:function(t,e){var n=!0;return t?(this.each(t,(function(i,s){n&&(n=e.call(null,i,s,t)&&n)})),!!n):n},any:function(t,e){var n=!1;return t?(this.each(t,(function(i,s){if(e.call(null,i,s,t))return n=!0,!1})),n):n},getUniqueId:(i=0,function(){return i++}),templatify:function(t){if(this.isFunction(t))return t;var e=r.element(t);return"SCRIPT"===e.prop("tagName")?function(){return e.text()}:function(){return String(t)}},defer:function(t){setTimeout(t,0)},noop:function(){},formatPrefix:function(t,e){return e?"":t+"-"},className:function(t,e,n){return n?t+e:"."+s(t+e,{isIdentifier:!0})},escapeHighlightedString:function(t,e,n){e=e||"";var i=document.createElement("div");i.appendChild(document.createTextNode(e)),n=n||"";var s=document.createElement("div");s.appendChild(document.createTextNode(n));var r=document.createElement("div");return r.appendChild(document.createTextNode(t)),r.innerHTML.replace(RegExp(o(i.innerHTML),"g"),e).replace(RegExp(o(s.innerHTML),"g"),n)}}},9983:(t,e,n)=>{"use strict";var i=n(2856),s=n(533),r=n(6177);var o,a,u=(o=[],a=window.Promise.resolve(),function(t,e){return function(n,s){(function(t,e){return window.Promise.resolve().then((function(){return o.length&&(a=t.search(o),o=[]),a})).then((function(t){if(t)return t.results[e]}))})(t.as,o.push({indexName:t.indexName,query:n,params:e})-1).then((function(t){t&&s(t.hits,t)})).catch((function(t){i.error(t.message)}))}});t.exports=function(t,e){var n=r(t.as._ua);if(n&&n[0]>=3&&n[1]>20){var i="autocomplete.js "+s;-1===t.as._ua.indexOf(i)&&(t.as._ua+="; "+i)}return u(t,e)}},8840:(t,e,n)=>{"use strict";t.exports={hits:n(9983),popularIn:n(4445)}},4445:(t,e,n)=>{"use strict";var i=n(2856),s=n(533),r=n(6177);t.exports=function(t,e,n,o){var a=r(t.as._ua);if(a&&a[0]>=3&&a[1]>20&&((e=e||{}).additionalUA="autocomplete.js "+s),!n.source)return i.error("Missing 'source' key");var u=i.isFunction(n.source)?n.source:function(t){return t[n.source]};if(!n.index)return i.error("Missing 'index' key");var c=n.index;return o=o||{},function(a,l){t.search(a,e,(function(t,a){if(t)i.error(t.message);else{if(a.hits.length>0){var h=a.hits[0],p=i.mixin({hitsPerPage:0},n);delete p.source,delete p.index;var f=r(c.as._ua);return f&&f[0]>=3&&f[1]>20&&(e.additionalUA="autocomplete.js "+s),void c.search(u(h),p,(function(t,e){if(t)i.error(t.message);else{var n=[];if(o.includeAll){var s=o.allTitle||"All departments";n.push(i.mixin({facet:{value:s,count:e.nbHits}},i.cloneDeep(h)))}i.each(e.facets,(function(t,e){i.each(t,(function(t,s){n.push(i.mixin({facet:{facet:e,value:s,count:t}},i.cloneDeep(h)))}))}));for(var r=1;r {"use strict";var i=n(6990);n(4910).element=i;var s=n(2856);s.isArray=i.isArray,s.isFunction=i.isFunction,s.isObject=i.isPlainObject,s.bind=i.proxy,s.each=function(t,e){i.each(t,(function(t,n){return e(n,t)}))},s.map=i.map,s.mixin=i.extend,s.Event=i.Event;var r="aaAutocomplete",o=n(6549),a=n(50);function u(t,e,n,u){n=s.isArray(n)?n:[].slice.call(arguments,2);var c=i(t).each((function(t,s){var c=i(s),l=new a({el:c}),h=u||new o({input:c,eventBus:l,dropdownMenuContainer:e.dropdownMenuContainer,hint:void 0===e.hint||!!e.hint,minLength:e.minLength,autoselect:e.autoselect,autoselectOnBlur:e.autoselectOnBlur,tabAutocomplete:e.tabAutocomplete,openOnFocus:e.openOnFocus,templates:e.templates,debug:e.debug,clearOnSelected:e.clearOnSelected,cssClasses:e.cssClasses,datasets:n,keyboardShortcuts:e.keyboardShortcuts,appendTo:e.appendTo,autoWidth:e.autoWidth,ariaLabel:e.ariaLabel||s.getAttribute("aria-label")});c.data(r,h)}));return c.autocomplete={},s.each(["open","close","getVal","setVal","destroy","getWrapper"],(function(t){c.autocomplete[t]=function(){var e,n=arguments;return c.each((function(s,o){var a=i(o).data(r);e=a[t].apply(a,n)})),e}})),c}u.sources=o.sources,u.escapeHighlightedString=s.escapeHighlightedString;var c="autocomplete"in window,l=window.autocomplete;u.noConflict=function(){return c?window.autocomplete=l:delete window.autocomplete,u},t.exports=u},533:t=>{t.exports="0.38.1"},6990:t=>{var e;e=window,t.exports=function(t){var e,n,i=function(){var e,n,i,s,r,o,a=[],u=a.concat,c=a.filter,l=a.slice,h=t.document,p={},f={},d={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,y=/^(?:body|html)$/i,w=/([A-Z])/g,b=["val","css","html","text","data","width","height","offset"],C=["after","prepend","before","append"],x=h.createElement("table"),_=h.createElement("tr"),S={tr:h.createElement("tbody"),tbody:x,thead:x,tfoot:x,td:_,th:_,"*":h.createElement("div")},E=/complete|loaded|interactive/,A=/^[\w-]*$/,$={},T=$.toString,O={},D=h.createElement("div"),N={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},k=Array.isArray||function(t){return t instanceof Array};function I(t){return null==t?String(t):$[T.call(t)]||"object"}function P(t){return"function"==I(t)}function L(t){return null!=t&&t==t.window}function M(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function F(t){return"object"==I(t)}function R(t){return F(t)&&!L(t)&&Object.getPrototypeOf(t)==Object.prototype}function q(t){var e=!!t&&"length"in t&&t.length,n=i.type(t);return"function"!=n&&!L(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function V(t){return c.call(t,(function(t){return null!=t}))}function H(t){return t.length>0?i.fn.concat.apply([],t):t}function B(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function K(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function j(t,e){return"number"!=typeof e||d[B(t)]?e:e+"px"}function z(t){var e,n;return p[t]||(e=h.createElement(t),h.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),p[t]=n),p[t]}function U(t){return"children"in t?l.call(t.children):i.map(t.childNodes,(function(t){if(1==t.nodeType)return t}))}function Q(t,e){var n,i=t?t.length:0;for(n=0;n$2>")),n===e&&(n=g.test(t)&&RegExp.$1),n in S||(n="*"),(a=S[n]).innerHTML=""+t,r=i.each(l.call(a.childNodes),(function(){a.removeChild(this)}))),R(s)&&(o=i(r),i.each(s,(function(t,e){b.indexOf(t)>-1?o[t](e):o.attr(t,e)}))),r},O.Z=function(t,e){return new Q(t,e)},O.isZ=function(t){return t instanceof O.Z},O.init=function(t,n){var s;if(!t)return O.Z();if("string"==typeof t)if("<"==(t=t.trim())[0]&&g.test(t))s=O.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return i(n).find(t);s=O.qsa(h,t)}else{if(P(t))return i(h).ready(t);if(O.isZ(t))return t;if(k(t))s=V(t);else if(F(t))s=[t],t=null;else if(g.test(t))s=O.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return i(n).find(t);s=O.qsa(h,t)}}return O.Z(s,t)},(i=function(t,e){return O.init(t,e)}).extend=function(t){var e,n=l.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach((function(n){W(t,n,e)})),t},O.qsa=function(t,e){var n,i="#"==e[0],s=!i&&"."==e[0],r=i||s?e.slice(1):e,o=A.test(r);return t.getElementById&&o&&i?(n=t.getElementById(r))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:l.call(o&&!i&&t.getElementsByClassName?s?t.getElementsByClassName(r):t.getElementsByTagName(e):t.querySelectorAll(e))},i.contains=h.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},i.type=I,i.isFunction=P,i.isWindow=L,i.isArray=k,i.isPlainObject=R,i.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},i.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},i.inArray=function(t,e,n){return a.indexOf.call(e,t,n)},i.camelCase=r,i.trim=function(t){return null==t?"":String.prototype.trim.call(t)},i.uuid=0,i.support={},i.expr={},i.noop=function(){},i.map=function(t,e){var n,i,s,r=[];if(q(t))for(i=0;i =0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each((function(){null!=this.parentNode&&this.parentNode.removeChild(this)}))},each:function(t){return a.every.call(this,(function(e,n){return!1!==t.call(e,n,e)})),this},filter:function(t){return P(t)?this.not(this.not(t)):i(c.call(this,(function(e){return O.matches(e,t)})))},add:function(t,e){return i(o(this.concat(i(t,e))))},is:function(t){return this.length>0&&O.matches(this[0],t)},not:function(t){var n=[];if(P(t)&&t.call!==e)this.each((function(e){t.call(this,e)||n.push(this)}));else{var s="string"==typeof t?this.filter(t):q(t)&&P(t.item)?l.call(t):i(t);this.forEach((function(t){s.indexOf(t)<0&&n.push(t)}))}return i(n)},has:function(t){return this.filter((function(){return F(t)?i.contains(this,t):i(this).find(t).size()}))},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!F(t)?t:i(t)},last:function(){var t=this[this.length-1];return t&&!F(t)?t:i(t)},find:function(t){var e=this;return t?"object"==typeof t?i(t).filter((function(){var t=this;return a.some.call(e,(function(e){return i.contains(e,t)}))})):1==this.length?i(O.qsa(this[0],t)):this.map((function(){return O.qsa(this,t)})):i()},closest:function(t,e){var n=[],s="object"==typeof t&&i(t);return this.each((function(i,r){for(;r&&!(s?s.indexOf(r)>=0:O.matches(r,t));)r=r!==e&&!M(r)&&r.parentNode;r&&n.indexOf(r)<0&&n.push(r)})),i(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=i.map(n,(function(t){if((t=t.parentNode)&&!M(t)&&e.indexOf(t)<0)return e.push(t),t}));return Z(e,t)},parent:function(t){return Z(o(this.pluck("parentNode")),t)},children:function(t){return Z(this.map((function(){return U(this)})),t)},contents:function(){return this.map((function(){return this.contentDocument||l.call(this.childNodes)}))},siblings:function(t){return Z(this.map((function(t,e){return c.call(U(e.parentNode),(function(t){return t!==e}))})),t)},empty:function(){return this.each((function(){this.innerHTML=""}))},pluck:function(t){return i.map(this,(function(e){return e[t]}))},show:function(){return this.each((function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=z(this.nodeName))}))},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=P(t);if(this[0]&&!e)var n=i(t).get(0),s=n.parentNode||this.length>1;return this.each((function(r){i(this).wrapAll(e?t.call(this,r):s?n.cloneNode(!0):n)}))},wrapAll:function(t){if(this[0]){var e;for(i(this[0]).before(t=i(t));(e=t.children()).length;)t=e.first();i(t).append(this)}return this},wrapInner:function(t){var e=P(t);return this.each((function(n){var s=i(this),r=s.contents(),o=e?t.call(this,n):t;r.length?r.wrapAll(o):s.append(o)}))},unwrap:function(){return this.parent().each((function(){i(this).replaceWith(i(this).children())})),this},clone:function(){return this.map((function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(t){return this.each((function(){var n=i(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()}))},prev:function(t){return i(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return i(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each((function(e){var n=this.innerHTML;i(this).empty().append(X(this,t,e,n))})):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each((function(e){var n=X(this,t,e,this.textContent);this.textContent=null==n?"":""+n})):0 in this?this.pluck("textContent").join(""):null},attr:function(t,i){var s;return"string"!=typeof t||1 in arguments?this.each((function(e){if(1===this.nodeType)if(F(t))for(n in t)G(this,n,t[n]);else G(this,t,X(this,i,e,this.getAttribute(t)))})):0 in this&&1==this[0].nodeType&&null!=(s=this[0].getAttribute(t))?s:e},removeAttr:function(t){return this.each((function(){1===this.nodeType&&t.split(" ").forEach((function(t){G(this,t)}),this)}))},prop:function(t,e){return t=N[t]||t,1 in arguments?this.each((function(n){this[t]=X(this,e,n,this[t])})):this[0]&&this[0][t]},removeProp:function(t){return t=N[t]||t,this.each((function(){delete this[t]}))},data:function(t,n){var i="data-"+t.replace(w,"-$1").toLowerCase(),s=1 in arguments?this.attr(i,n):this.attr(i);return null!==s?Y(s):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each((function(e){this.value=X(this,t,e,this.value)}))):this[0]&&(this[0].multiple?i(this[0]).find("option").filter((function(){return this.selected})).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each((function(t){var n=i(this),s=X(this,e,t,n.offset()),r=n.offsetParent().offset(),o={top:s.top-r.top,left:s.left-r.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)}));if(!this.length)return null;if(h.documentElement!==this[0]&&!i.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var s=this[0];if("string"==typeof t){if(!s)return;return s.style[r(t)]||getComputedStyle(s,"").getPropertyValue(t)}if(k(t)){if(!s)return;var o={},a=getComputedStyle(s,"");return i.each(t,(function(t,e){o[e]=s.style[r(e)]||a.getPropertyValue(e)})),o}}var u="";if("string"==I(t))e||0===e?u=B(t)+":"+j(t,e):this.each((function(){this.style.removeProperty(B(t))}));else for(n in t)t[n]||0===t[n]?u+=B(n)+":"+j(n,t[n])+";":this.each((function(){this.style.removeProperty(B(n))}));return this.each((function(){this.style.cssText+=";"+u}))},index:function(t){return t?this.indexOf(i(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return!!t&&a.some.call(this,(function(t){return this.test(J(t))}),K(t))},addClass:function(t){return t?this.each((function(e){if("className"in this){s=[];var n=J(this);X(this,t,e,n).split(/\s+/g).forEach((function(t){i(this).hasClass(t)||s.push(t)}),this),s.length&&J(this,n+(n?" ":"")+s.join(" "))}})):this},removeClass:function(t){return this.each((function(n){if("className"in this){if(t===e)return J(this,"");s=J(this),X(this,t,n,s).split(/\s+/g).forEach((function(t){s=s.replace(K(t)," ")})),J(this,s.trim())}}))},toggleClass:function(t,n){return t?this.each((function(s){var r=i(this);X(this,t,s,J(this)).split(/\s+/g).forEach((function(t){(n===e?!r.hasClass(t):n)?r.addClass(t):r.removeClass(t)}))})):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),s=y.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(i(t).css("margin-top"))||0,n.left-=parseFloat(i(t).css("margin-left"))||0,s.top+=parseFloat(i(e[0]).css("border-top-width"))||0,s.left+=parseFloat(i(e[0]).css("border-left-width"))||0,{top:n.top-s.top,left:n.left-s.left}}},offsetParent:function(){return this.map((function(){for(var t=this.offsetParent||h.body;t&&!y.test(t.nodeName)&&"static"==i(t).css("position");)t=t.offsetParent;return t}))}},i.fn.detach=i.fn.remove,["width","height"].forEach((function(t){var n=t.replace(/./,(function(t){return t[0].toUpperCase()}));i.fn[t]=function(s){var r,o=this[0];return s===e?L(o)?o["inner"+n]:M(o)?o.documentElement["scroll"+n]:(r=this.offset())&&r[t]:this.each((function(e){(o=i(this)).css(t,X(this,s,e,o[t]()))}))}})),C.forEach((function(n,s){var r=s%2;i.fn[n]=function(){var n,o,a=i.map(arguments,(function(t){var s=[];return"array"==(n=I(t))?(t.forEach((function(t){return t.nodeType!==e?s.push(t):i.zepto.isZ(t)?s=s.concat(t.get()):void(s=s.concat(O.fragment(t)))})),s):"object"==n||null==t?t:O.fragment(t)})),u=this.length>1;return a.length<1?this:this.each((function(e,n){o=r?n:n.parentNode,n=0==s?n.nextSibling:1==s?n.firstChild:2==s?n:null;var c=i.contains(h.documentElement,o);a.forEach((function(e){if(u)e=e.cloneNode(!0);else if(!o)return i(e).remove();o.insertBefore(e,n),c&&tt(e,(function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}}))}))}))},i.fn[r?n+"To":"insert"+(s?"Before":"After")]=function(t){return i(t)[n](this),this}})),O.Z.prototype=Q.prototype=i.fn,O.uniq=o,O.deserializeValue=Y,i.zepto=O,i}();return function(e){var n,i=1,s=Array.prototype.slice,r=e.isFunction,o=function(t){return"string"==typeof t},a={},u={},c="onfocusin"in t,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function p(t){return t._zid||(t._zid=i++)}function f(t,e,n,i){if((e=d(e)).ns)var s=g(e.ns);return(a[p(t)]||[]).filter((function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||s.test(t.ns))&&(!n||p(t.fn)===p(n))&&(!i||t.sel==i)}))}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function g(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!c&&t.e in l||!!e}function v(t){return h[t]||c&&l[t]||t}function y(t,i,s,r,o,u,c){var l=p(t),f=a[l]||(a[l]=[]);i.split(/\s/).forEach((function(i){if("ready"==i)return e(document).ready(s);var a=d(i);a.fn=s,a.sel=o,a.e in h&&(s=function(t){var n=t.relatedTarget;if(!n||n!==this&&!e.contains(this,n))return a.fn.apply(this,arguments)}),a.del=u;var l=u||s;a.proxy=function(e){if(!(e=S(e)).isImmediatePropagationStopped()){try{var i=Object.getOwnPropertyDescriptor(e,"data");i&&!i.writable||(e.data=r)}catch(e){}var s=l.apply(t,e._args==n?[e]:[e].concat(e._args));return!1===s&&(e.preventDefault(),e.stopPropagation()),s}},a.i=f.length,f.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,m(a,c))}))}function w(t,e,n,i,s){var r=p(t);(e||"").split(/\s/).forEach((function(e){f(t,e,n,i).forEach((function(e){delete a[r][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,m(e,s))}))}))}u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:w},e.proxy=function(t,n){var i=2 in arguments&&s.call(arguments,2);if(r(t)){var a=function(){return t.apply(n,i?i.concat(s.call(arguments)):arguments)};return a._zid=p(t),a}if(o(n))return i?(i.unshift(t[n],t),e.proxy.apply(null,i)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var b=function(){return!0},C=function(){return!1},x=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,_={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function S(t,i){if(i||!t.isDefaultPrevented){i||(i=t),e.each(_,(function(e,n){var s=i[e];t[e]=function(){return this[n]=b,s&&s.apply(i,arguments)},t[n]=C}));try{t.timeStamp||(t.timeStamp=Date.now())}catch(s){}(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?!1===i.returnValue:i.getPreventDefault&&i.getPreventDefault())&&(t.isDefaultPrevented=b)}return t}function E(t){var e,i={originalEvent:t};for(e in t)x.test(e)||t[e]===n||(i[e]=t[e]);return S(i,t)}e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,i,a,u,c){var l,h,p=this;return t&&!o(t)?(e.each(t,(function(t,e){p.on(t,i,a,e,c)})),p):(o(i)||r(u)||!1===u||(u=a,a=i,i=n),u!==n&&!1!==a||(u=a,a=n),!1===u&&(u=C),p.each((function(n,r){c&&(l=function(t){return w(r,t.type,u),u.apply(this,arguments)}),i&&(h=function(t){var n,o=e(t.target).closest(i,r).get(0);if(o&&o!==r)return n=e.extend(E(t),{currentTarget:o,liveFired:r}),(l||u).apply(o,[n].concat(s.call(arguments,1)))}),y(r,t,u,a,i,h||l)})))},e.fn.off=function(t,i,s){var a=this;return t&&!o(t)?(e.each(t,(function(t,e){a.off(t,i,e)})),a):(o(i)||r(s)||!1===s||(s=i,i=n),!1===s&&(s=C),a.each((function(){w(this,t,s,i)})))},e.fn.trigger=function(t,n){return(t=o(t)||e.isPlainObject(t)?e.Event(t):S(t))._args=n,this.each((function(){t.type in l&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)}))},e.fn.triggerHandler=function(t,n){var i,s;return this.each((function(r,a){(i=E(o(t)?e.Event(t):t))._args=n,i.target=a,e.each(f(a,t.type||t),(function(t,e){if(s=e.proxy(i),i.isImmediatePropagationStopped())return!1}))})),s},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach((function(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}})),e.Event=function(t,e){o(t)||(t=(e=t).type);var n=document.createEvent(u[t]||"Events"),i=!0;if(e)for(var s in e)"bubbles"==s?i=!!e[s]:n[s]=e[s];return n.initEvent(t,i,!0),S(n)}}(i),n=[],i.fn.remove=function(){return this.each((function(){this.parentNode&&("IMG"===this.tagName&&(n.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",e&&clearTimeout(e),e=setTimeout((function(){n=[]}),6e4)),this.parentNode.removeChild(this))}))},function(t){var e={},n=t.fn.data,i=t.camelCase,s=t.expando="Zepto"+ +new Date,r=[];function o(r,o){var u=r[s],c=u&&e[u];if(void 0===o)return c||a(r);if(c){if(o in c)return c[o];var l=i(o);if(l in c)return c[l]}return n.call(t(r),o)}function a(n,r,o){var a=n[s]||(n[s]=++t.uuid),c=e[a]||(e[a]=u(n));return void 0!==r&&(c[i(r)]=o),c}function u(e){var n={};return t.each(e.attributes||r,(function(e,s){0==s.name.indexOf("data-")&&(n[i(s.name.replace("data-",""))]=t.zepto.deserializeValue(s.value))})),n}t.fn.data=function(e,n){return void 0===n?t.isPlainObject(e)?this.each((function(n,i){t.each(e,(function(t,e){a(i,t,e)}))})):0 in this?o(this[0],e):void 0:this.each((function(){a(this,e,n)}))},t.data=function(e,n,i){return t(e).data(n,i)},t.hasData=function(n){var i=n[s],r=i&&e[i];return!!r&&!t.isEmptyObject(r)},t.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each((function(){var r=this[s],o=r&&e[r];o&&t.each(n||o,(function(t){delete o[n?i(this):t]}))}))},["remove","empty"].forEach((function(e){var n=t.fn[e];t.fn[e]=function(){var t=this.find("*");return"remove"===e&&(t=t.add(this)),t.removeData(),n.call(this)}}))}(i),i}(e)},8820:t=>{"use strict";var e={}.hasOwnProperty,n=/[ -,\.\/:-@\[-\^`\{-~]/,i=/[ -,\.\/:-@\[\]\^`\{-~]/,s=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,r=function t(r,o){"single"!=(o=function(t,n){if(!t)return n;var i={};for(var s in n)i[s]=e.call(t,s)?t[s]:n[s];return i}(o,t.options)).quotes&&"double"!=o.quotes&&(o.quotes="single");for(var a="double"==o.quotes?'"':"'",u=o.isIdentifier,c=r.charAt(0),l="",h=0,p=r.length;h 126){if(d>=55296&&d<=56319&&h
{"use strict";var i,s,r,o=[n(5525),n(4785),n(8291),n(2709),n(2506),n(9176)],a=-1,u=[],c=!1;function l(){i&&s&&(i=!1,s.length?u=s.concat(u):a=-1,u.length&&h())}function h(){if(!i){c=!1,i=!0;for(var t=u.length,e=setTimeout(l);t;){for(s=u,u=[];s&&++a
1)for(var n=1;n {"use strict";e.test=function(){return!n.g.setImmediate&&void 0!==n.g.MessageChannel},e.install=function(t){var e=new n.g.MessageChannel;return e.port1.onmessage=t,function(){e.port2.postMessage(0)}}},8291:(t,e,n)=>{"use strict";var i=n.g.MutationObserver||n.g.WebKitMutationObserver;e.test=function(){return i},e.install=function(t){var e=0,s=new i(t),r=n.g.document.createTextNode("");return s.observe(r,{characterData:!0}),function(){r.data=e=++e%2}}},4785:(t,e,n)=>{"use strict";e.test=function(){return"function"==typeof n.g.queueMicrotask},e.install=function(t){return function(){n.g.queueMicrotask(t)}}},2506:(t,e,n)=>{"use strict";e.test=function(){return"document"in n.g&&"onreadystatechange"in n.g.document.createElement("script")},e.install=function(t){return function(){var e=n.g.document.createElement("script");return e.onreadystatechange=function(){t(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},n.g.document.documentElement.appendChild(e),t}}},9176:(t,e)=>{"use strict";e.test=function(){return!0},e.install=function(t){return function(){setTimeout(t,0)}}}}]); \ No newline at end of file diff --git a/assets/js/8443.1a8dd629.js.LICENSE.txt b/assets/js/8443.1a8dd629.js.LICENSE.txt new file mode 100644 index 00000000..4f7ccd8a --- /dev/null +++ b/assets/js/8443.1a8dd629.js.LICENSE.txt @@ -0,0 +1 @@ +/*! https://mths.be/cssesc v3.0.0 by @mathias */ diff --git a/assets/js/8ba85c45.30750ed2.js b/assets/js/8ba85c45.30750ed2.js new file mode 100644 index 00000000..86f56ef5 --- /dev/null +++ b/assets/js/8ba85c45.30750ed2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[289],{2481:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"community"}')}}]); \ No newline at end of file diff --git a/assets/js/8d1dd453.5cbf74c6.js b/assets/js/8d1dd453.5cbf74c6.js new file mode 100644 index 00000000..6e381617 --- /dev/null +++ b/assets/js/8d1dd453.5cbf74c6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1671],{5986:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog","page":1,"postsPerPage":3,"totalPages":2,"totalCount":6,"nextPage":"/SolidUI-Website/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/90b38822.880ada58.js b/assets/js/90b38822.880ada58.js new file mode 100644 index 00000000..9049f331 --- /dev/null +++ b/assets/js/90b38822.880ada58.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5279],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>g});var i=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function a(e){for(var t=1;t =0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i =0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=i.createContext({}),s=function(e){var t=i.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=s(e.components);return i.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(n),m=o,g=d["".concat(l,".").concat(m)]||d[m]||p[m]||r;return n?i.createElement(g,a(a({ref:t},u),{},{components:n})):i.createElement(g,a({ref:t},u))}));function g(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,a=new Array(r);a[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:o,a[1]=c;for(var s=2;s {n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>s});var i=n(7462),o=(n(7294),n(3905));const r={id:"document",title:"Documentation Notice",sidebar_position:1},a=void 0,c={unversionedId:"submit_guide/document",id:"submit_guide/document",title:"Documentation Notice",description:"\x3c!--",source:"@site/community/submit_guide/document.md",sourceDirName:"submit_guide",slug:"/submit_guide/document",permalink:"/SolidUI-Website/community/submit_guide/document",draft:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"document",title:"Documentation Notice",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Become committer",permalink:"/SolidUI-Website/community/contribution_guide/become_committer"},next:{title:"Submit Code",permalink:"/SolidUI-Website/community/submit_guide/submit_code"}},l={},s=[{value:"Get the document project",id:"get-the-document-project",level:2},{value:"Preview and generate static files",id:"preview-and-generate-static-files",level:2},{value:"Directory structure",id:"directory-structure",level:2},{value:"Specification",id:"specification",level:2},{value:"Directory naming convention",id:"directory-naming-convention",level:3},{value:"Vue and the naming convention of static resource files",id:"vue-and-the-naming-convention-of-static-resource-files",level:3},{value:"Resource Path",id:"resource-path",level:3},{value:"Page content modification",id:"page-content-modification",level:3},{value:"Home page modification",id:"home-page-modification",level:3},{value:"Team page modification",id:"team-page-modification",level:3},{value:"User list page modification",id:"user-list-page-modification",level:3}],u={toc:s},d="wrapper";function p(e){let{components:t,...n}=e;return(0,o.kt)(d,(0,i.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Good documentation is critical for any type of software. Any contribution that can improve the SolidUI documentation is welcome."),(0,o.kt)("h2",{id:"get-the-document-project"},"Get the document project"),(0,o.kt)("p",null,"Documentation for the SolidUI project is maintained in a separate ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website.git"},"git repository"),"."),(0,o.kt)("p",null,"First you need to fork the document project into your own github repository, and then clone the document to your local computer."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"git clone git@github.com: /SolidUI-Website.git\n")),(0,o.kt)("h2",{id:"preview-and-generate-static-files"},"Preview and generate static files"),(0,o.kt)("p",null,"This website is compiled using node, using Docusaurus framework components"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Download and install nodejs (version>12.5.0)"),(0,o.kt)("li",{parentName:"ol"},"Clone the code to the local ",(0,o.kt)("inlineCode",{parentName:"li"},"git clone git@github.com:CloudOrc/SolidUI-Website.git")),(0,o.kt)("li",{parentName:"ol"},"Run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm install")," to install the required dependent libraries."),(0,o.kt)("li",{parentName:"ol"},"Run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm run start")," in the root directory, you can visit http://localhost:3000 to view the English mode preview of the site"),(0,o.kt)("li",{parentName:"ol"},"Run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm run start-zh")," in the root directory, you can visit http://localhost:3000 to view the Chinese mode preview of the site"),(0,o.kt)("li",{parentName:"ol"},"To generate static website resource files, run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm run build"),". The static resources of the build are in the build directory.")),(0,o.kt)("h2",{id:"directory-structure"},"Directory structure"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-html"},"|-- community\n|-- docs // The next version of the document that will be released soon\n|-- download\n|-- faq // Q&A\n|-- i18n\n| `-- zh-CN //Internationalized Chinese\n| |-- code.json\n| |-- docusaurus-plugin-content-docs\n| |-- docusaurus-plugin-content-docs-community\n| |-- docusaurus-plugin-content-docs-download\n| |-- docusaurus-plugin-content-docs-faq\n| `-- docusaurus-theme-classic\n|-- resource // Original project files for architecture/timing diagram/flow chart, etc.\n|-- src\n| |-- components\n| |-- css\n| |-- js\n| |-- pages\n| | |-- home\n| | |-- index.jsx\n| | |-- team\n| | |-- user\n| | `-- versions\n| |-- styles\n|-- static // Picture static resource\n| |-- doc // document picture\n| |-- user // users picture\n| |-- home // homepage picture\n| |-- img // common picture\n|-- docusaurus.config.js\n")),(0,o.kt)("h2",{id:"specification"},"Specification"),(0,o.kt)("h3",{id:"directory-naming-convention"},"Directory naming convention"),(0,o.kt)("p",null,"Use all lowercase, separated by underscores. If there is a plural structure, use plural nomenclature, and do not use plural abbreviations"),(0,o.kt)("p",null,"Positive example: ",(0,o.kt)("inlineCode",{parentName:"p"},"scripts / styles / components / images / utils / layouts / demo_styles / demo-scripts / img / doc")),(0,o.kt)("p",null,"Counter example: ",(0,o.kt)("inlineCode",{parentName:"p"},"script / style / demoStyles / imgs / docs")),(0,o.kt)("h3",{id:"vue-and-the-naming-convention-of-static-resource-files"},"Vue and the naming convention of static resource files"),(0,o.kt)("p",null,"All lowercase, separated by a dash"),(0,o.kt)("p",null,"Positive example: ",(0,o.kt)("inlineCode",{parentName:"p"},"render-dom.js / signup.css / index.html / company-logo.png")),(0,o.kt)("p",null,"Counter example: ",(0,o.kt)("inlineCode",{parentName:"p"},"renderDom.js / UserManagement.html")),(0,o.kt)("h3",{id:"resource-path"},"Resource Path"),(0,o.kt)("p",null,"Image resources are unified under ",(0,o.kt)("inlineCode",{parentName:"p"},"static/{module name}")),(0,o.kt)("p",null,"css and other style files are placed in the ",(0,o.kt)("inlineCode",{parentName:"p"},"src/css")," directory"),(0,o.kt)("h3",{id:"page-content-modification"},"Page content modification"),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Except for the homepage, team, user, Docs>All Version module page, all other pages can be directly jumped to the corresponding github resource modification page through the'Edit this page' button at the bottom")),(0,o.kt)("h3",{id:"home-page-modification"},"Home page modification"),(0,o.kt)("p",null,"Visit the page ",(0,o.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/"),"\nLocated in ",(0,o.kt)("inlineCode",{parentName:"p"},"src/pages/home")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"\u251c\u2500home\n\u2502 languages.json // Home page Chinese and English configuration\n\u2502 index.less // homepage style\n")),(0,o.kt)("h3",{id:"team-page-modification"},"Team page modification"),(0,o.kt)("p",null,"Visit the page ",(0,o.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/team"},"https://cloudorc.github.io/SolidUI-Website/team"),"\nLocated in ",(0,o.kt)("inlineCode",{parentName:"p"},"src/pages/team")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"\u251c\u2500team\n\u2502 languages.json\n\u2502 index.js\n\u2502 index.less\n")),(0,o.kt)("h3",{id:"user-list-page-modification"},"User list page modification"),(0,o.kt)("p",null,"Visit the page ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/1"},"https://github.com/CloudOrc/SolidUI/issues/1")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.211d4c68.js b/assets/js/935f2afb.211d4c68.js new file mode 100644 index 00000000..5c0f751a --- /dev/null +++ b/assets/js/935f2afb.211d4c68.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"What is SolidUI","href":"/SolidUI-Website/docs/intro","docId":"intro"},{"type":"category","label":"User guide","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Quick start","href":"/SolidUI-Website/docs/user-guide/quick-start","docId":"user-guide/quick-start"}]},{"type":"category","label":"Development Framework","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Development Commit","href":"/SolidUI-Website/docs/development/development-commit","docId":"development/development-commit"},{"type":"link","label":"Docker Build","href":"/SolidUI-Website/docs/development/development-docker","docId":"development/development-docker"},{"type":"link","label":"Development Contribution","href":"/SolidUI-Website/docs/development/develop-contributing","docId":"development/develop-contributing"},{"type":"link","label":"Front-End Compilation","href":"/SolidUI-Website/docs/development/development-front","docId":"development/development-front"},{"type":"link","label":"Co-Construction Process","href":"/SolidUI-Website/docs/development/development-construction","docId":"development/development-construction"},{"type":"link","label":"Project Release Process","href":"/SolidUI-Website/docs/development/development-release","docId":"development/development-release"},{"type":"link","label":"Server-side Compilation","href":"/SolidUI-Website/docs/development/development-server","docId":"development/development-server"}]},{"type":"category","label":"Deployment","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Front-End Deployment","href":"/SolidUI-Website/docs/deployment/deployment-web","docId":"deployment/deployment-web"},{"type":"link","label":"Docker-Compose Deployment","href":"/SolidUI-Website/docs/deployment/deployment-docker","docId":"deployment/deployment-docker"},{"type":"link","label":"Deployed Standalone","href":"/SolidUI-Website/docs/deployment/deployment-standalone","docId":"deployment/deployment-standalone"},{"type":"link","label":"Kubernetes Deployment","href":"/SolidUI-Website/docs/deployment/deployment-kubernetes","docId":"deployment/deployment-kubernetes"}]},{"type":"category","label":"Operational","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Community Operation","href":"/SolidUI-Website/docs/operational/community-operation/","docId":"operational/community-operation/community-operation"}]},{"type":"category","label":"Design","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Server Architecture","href":"/SolidUI-Website/docs/design/server-architecture/","docId":"design/server-architecture/server-architecture"},{"type":"link","label":"Frontend Design","href":"/SolidUI-Website/docs/design/front-end-architecture/","docId":"design/front-end-architecture/front-end-architecture"},{"type":"link","label":"Metadata","href":"/SolidUI-Website/docs/design/metadata/","docId":"design/metadata/metadata"}]},{"type":"category","label":"Test","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Test Case","href":"/SolidUI-Website/docs/test/test-case/","docId":"test/test-case/test-case"}]},{"type":"category","label":"Frequently Asked Questions","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"FAQ","href":"/SolidUI-Website/docs/faq/faq/","docId":"faq/faq/faq"}]}]},"docs":{"deployment/deployment-docker":{"id":"deployment/deployment-docker","title":"Docker-Compose Deployment","description":"1. Environment preparation","sidebar":"tutorialSidebar"},"deployment/deployment-kubernetes":{"id":"deployment/deployment-kubernetes","title":"Kubernetes Deployment","description":"1. Environment preparation","sidebar":"tutorialSidebar"},"deployment/deployment-standalone":{"id":"deployment/deployment-standalone","title":"Deployed Standalone","description":"1. First-time installation preparations","sidebar":"tutorialSidebar"},"deployment/deployment-web":{"id":"deployment/deployment-web","title":"Front-End Deployment","description":"1 Preparations","sidebar":"tutorialSidebar"},"design/front-end-architecture/front-end-architecture":{"id":"design/front-end-architecture/front-end-architecture","title":"Frontend Design","description":"1. SolidUI Module","sidebar":"tutorialSidebar"},"design/metadata/metadata":{"id":"design/metadata/metadata","title":"Metadata","description":"Metadata","sidebar":"tutorialSidebar"},"design/server-architecture/server-architecture":{"id":"design/server-architecture/server-architecture","title":"Server Architecture","description":"1. Architecture Overview","sidebar":"tutorialSidebar"},"development/develop-contributing":{"id":"development/develop-contributing","title":"Development Contribution","description":"Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully.","sidebar":"tutorialSidebar"},"development/development-commit":{"id":"development/development-commit","title":"Development Commit","description":"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message","sidebar":"tutorialSidebar"},"development/development-construction":{"id":"development/development-construction","title":"Co-Construction Process","description":"Process list","sidebar":"tutorialSidebar"},"development/development-docker":{"id":"development/development-docker","title":"Docker Build","description":"1. Prerequisites","sidebar":"tutorialSidebar"},"development/development-front":{"id":"development/development-front","title":"Front-End Compilation","description":"1. Preconditions","sidebar":"tutorialSidebar"},"development/development-release":{"id":"development/development-release","title":"Project Release Process","description":"SolidUI project release process","sidebar":"tutorialSidebar"},"development/development-server":{"id":"development/development-server","title":"Server-side Compilation","description":"1. Prerequisites","sidebar":"tutorialSidebar"},"faq/faq/faq":{"id":"faq/faq/faq","title":"FAQ","description":"Question answering process","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"What is SolidUI","description":"AI-generated Graphic Models.","sidebar":"tutorialSidebar"},"operational/community-operation/community-operation":{"id":"operational/community-operation/community-operation","title":"Community Operation","description":"Community Co-building Cooperation","sidebar":"tutorialSidebar"},"test/test-case/test-case":{"id":"test/test-case/test-case","title":"Test Case","description":"Log in","sidebar":"tutorialSidebar"},"user-guide/quick-start":{"id":"user-guide/quick-start","title":"Quick start","description":"Start","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/9e4087bc.1ed3f564.js b/assets/js/9e4087bc.1ed3f564.js new file mode 100644 index 00000000..88185851 --- /dev/null +++ b/assets/js/9e4087bc.1ed3f564.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3608],{3169:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});var r=a(7294),l=a(9960),n=a(5999),c=a(1944),i=a(179);function s(e){let{year:t,posts:a}=e;return r.createElement(r.Fragment,null,r.createElement("h3",null,t),r.createElement("ul",null,a.map((e=>r.createElement("li",{key:e.metadata.date},r.createElement(l.Z,{to:e.metadata.permalink},e.metadata.formattedDate," - ",e.metadata.title))))))}function m(e){let{years:t}=e;return r.createElement("section",{className:"margin-vert--lg"},r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},t.map(((e,t)=>r.createElement("div",{key:t,className:"col col--4 margin-vert--lg"},r.createElement(s,e)))))))}function o(e){let{archive:t}=e;const a=(0,n.I)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),l=(0,n.I)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),s=function(e){const t=e.reduceRight(((e,t)=>{const a=t.metadata.date.split("-")[0],r=e.get(a)??[];return e.set(a,[t,...r])}),new Map);return Array.from(t,(e=>{let[t,a]=e;return{year:t,posts:a}}))}(t.blogPosts);return r.createElement(r.Fragment,null,r.createElement(c.d,{title:a,description:l}),r.createElement(i.Z,null,r.createElement("header",{className:"hero hero--primary"},r.createElement("div",{className:"container"},r.createElement("h1",{className:"hero__title"},a),r.createElement("p",{className:"hero__subtitle"},l))),r.createElement("main",null,s.length>0&&r.createElement(m,{years:s}))))}}}]); \ No newline at end of file diff --git a/assets/js/a185487b.72009056.js b/assets/js/a185487b.72009056.js new file mode 100644 index 00000000..13bc75d9 --- /dev/null +++ b/assets/js/a185487b.72009056.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2541],{3905:(t,e,a)=>{a.d(e,{Zo:()=>u,kt:()=>c});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e =0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n =0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var s=n.createContext({}),o=function(t){var e=n.useContext(s),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},u=function(t){var e=o(t.components);return n.createElement(s.Provider,{value:e},t.children)},p="mdxType",m={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},g=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,s=t.parentName,u=d(t,["components","mdxType","originalType","parentName"]),p=o(a),g=r,c=p["".concat(s,".").concat(g)]||p[g]||m[g]||l;return a?n.createElement(c,i(i({ref:e},u),{},{components:a})):n.createElement(c,i({ref:e},u))}));function c(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,i=new Array(l);i[0]=g;var d={};for(var s in e)hasOwnProperty.call(e,s)&&(d[s]=e[s]);d.originalType=t,d[p]="string"==typeof t?t:r,i[1]=d;for(var o=2;o {a.r(e),a.d(e,{assets:()=>s,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>d,toc:()=>o});var n=a(7462),r=(a(7294),a(3905));const l={id:"test-case",title:"Test Case",sidebar_position:1},i="Modules",d={unversionedId:"test/test-case/test-case",id:"test/test-case/test-case",title:"Test Case",description:"Log in",source:"@site/docs/test/test-case/README.md",sourceDirName:"test/test-case",slug:"/test/test-case/",permalink:"/SolidUI-Website/docs/test/test-case/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/test/test-case/README.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"test-case",title:"Test Case",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Metadata",permalink:"/SolidUI-Website/docs/design/metadata/"},next:{title:"FAQ",permalink:"/SolidUI-Website/docs/faq/faq/"}},s={},o=[{value:"Log in",id:"log-in",level:2},{value:"Data Source Management",id:"data-source-management",level:2},{value:"Project Management",id:"project-management",level:2},{value:"Design",id:"design",level:2},{value:"ModelUI",id:"modelui",level:2}],u={toc:o},p="wrapper";function m(t){let{components:e,...a}=t;return(0,r.kt)(p,(0,n.Z)({},u,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"modules"},"Modules"),(0,r.kt)("h2",{id:"log-in"},"Log in"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Test Scenario"),(0,r.kt)("th",{parentName:"tr",align:null},"Input"),(0,r.kt)("th",{parentName:"tr",align:null},"Expected Output"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Correct username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Correct username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Successful login")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Incorrect username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Incorrect username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Login fails with error message")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Empty username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Empty username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Login fails with error message")))),(0,r.kt)("h2",{id:"data-source-management"},"Data Source Management"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Test Scenario"),(0,r.kt)("th",{parentName:"tr",align:null},"Input"),(0,r.kt)("th",{parentName:"tr",align:null},"Expected Output"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Display data"),(0,r.kt)("td",{parentName:"tr",align:null},"None"),(0,r.kt)("td",{parentName:"tr",align:null},"Display all data sources, including serial number, data source name, data source type, user, description information and operation buttons")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add MySQL data source"),(0,r.kt)("td",{parentName:"tr",align:null},"Data source name, data source driver, URL, user name, password, remarks"),(0,r.kt)("td",{parentName:"tr",align:null},"After adding successfully, you can see the new MySQL data source in the data source list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add Doris data source"),(0,r.kt)("td",{parentName:"tr",align:null},"Data source name, data source driver, URL, user name, password, remarks"),(0,r.kt)("td",{parentName:"tr",align:null},"After adding successfully, you can see the new Doris data source in the data source list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit data source"),(0,r.kt)("td",{parentName:"tr",align:null},"The name of the data source to be edited, the new data source driver, URL, user name, password, note"),(0,r.kt)("td",{parentName:"tr",align:null},"After editing successfully, you can see the edited data source information in the data source list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delete a data source in a single line"),(0,r.kt)("td",{parentName:"tr",align:null},"The name of the data source to be deleted"),(0,r.kt)("td",{parentName:"tr",align:null},"After the deletion is successful, the data source will no longer be displayed in the data source list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add data source, the name is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"Empty string"),(0,r.kt)("td",{parentName:"tr",align:null},"Failed to add, and an error message is prompted")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add MySQL data source, URL/user/password is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"Data source name, data source driver, URL, empty string, password, remark"),(0,r.kt)("td",{parentName:"tr",align:null},"Failed to add, and an error message is displayed")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add Doris data source, URL/user/password is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"Data source name, data source driver, URL, empty string, password, note"),(0,r.kt)("td",{parentName:"tr",align:null},"Failed to add, and an error message is displayed")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit data source, the name/URL/user/password is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"The name/URL/user/password that does not exist is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"Editing fails and an error message is prompted")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Data Source Expired"),(0,r.kt)("td",{parentName:"tr",align:null},"Single Row Select Data Source Expired"),(0,r.kt)("td",{parentName:"tr",align:null},"Success")))),(0,r.kt)("h2",{id:"project-management"},"Project Management"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Test Scenario"),(0,r.kt)("th",{parentName:"tr",align:null},"Input"),(0,r.kt)("th",{parentName:"tr",align:null},"Expected Output"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add project"),(0,r.kt)("td",{parentName:"tr",align:null},"Project name, project description, project URL"),(0,r.kt)("td",{parentName:"tr",align:null},"After adding successfully, you can see the new project information in the project list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Query Item List"),(0,r.kt)("td",{parentName:"tr",align:null},"Item Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Output Item List")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit project name"),(0,r.kt)("td",{parentName:"tr",align:null},"Project name"),(0,r.kt)("td",{parentName:"tr",align:null},"After editing successfully, you can see the edited project information in the project list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delete Item"),(0,r.kt)("td",{parentName:"tr",align:null},"The name of the item to be deleted"),(0,r.kt)("td",{parentName:"tr",align:null},"After successful deletion, the item will no longer appear in the item list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add item with empty name"),(0,r.kt)("td",{parentName:"tr",align:null},"Empty string"),(0,r.kt)("td",{parentName:"tr",align:null},"Failed to add with an error message")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add an item, the description is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"Empty string"),(0,r.kt)("td",{parentName:"tr",align:null},"After adding successfully, you can see the new item information in the item list, but the description information is empty")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit item, name does not exist"),(0,r.kt)("td",{parentName:"tr",align:null},"Empty string"),(0,r.kt)("td",{parentName:"tr",align:null},"Editing fails with error message")))),(0,r.kt)("h2",{id:"design"},"Design"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"ID"),(0,r.kt)("th",{parentName:"tr",align:null},"Test Scenario"),(0,r.kt)("th",{parentName:"tr",align:null},"Input"),(0,r.kt)("th",{parentName:"tr",align:null},"Expected Output"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"1"),(0,r.kt)("td",{parentName:"tr",align:null},"Create scene"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene name: "Test scene 1"'),(0,r.kt)("td",{parentName:"tr",align:null},'The new scene is created successfully, and "Test scene 1" is displayed in the scene list')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"2"),(0,r.kt)("td",{parentName:"tr",align:null},"Create Page"),(0,r.kt)("td",{parentName:"tr",align:null},'Scenario: "Test Scenario 1", Page Name: "Test Page 1"'),(0,r.kt)("td",{parentName:"tr",align:null},'The new page is created successfully, and "Test Page 1" is displayed in the page list under scenario "Test Scenario 1"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"3"),(0,r.kt)("td",{parentName:"tr",align:null},"Add column chart legend"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test scene 1", Page: "Test page 1", Legend name: "Column chart 1"'),(0,r.kt)("td",{parentName:"tr",align:null},'The legend is created successfully, and "Column chart" is displayed in "Test page 1" 1"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"4"),(0,r.kt)("td",{parentName:"tr",align:null},"Open the data selection sliding window"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test Scene 1", Page: "Test Page 1", Legend: "Column Chart 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"The data selection sliding window opens successfully, showing the data source type, data source and SQL input box")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"5"),(0,r.kt)("td",{parentName:"tr",align:null},"Select data source type"),(0,r.kt)("td",{parentName:"tr",align:null},'Data source type: "Database"'),(0,r.kt)("td",{parentName:"tr",align:null},"The data source type is selected successfully, and the data source options related to the database are displayed")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"6"),(0,r.kt)("td",{parentName:"tr",align:null},"Select data source"),(0,r.kt)("td",{parentName:"tr",align:null},'Data source: "MySQL database 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"The data source is selected successfully, you can enter the SQL query statement")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"7"),(0,r.kt)("td",{parentName:"tr",align:null},"Enter the SQL query statement"),(0,r.kt)("td",{parentName:"tr",align:null},'SQL: "SELECT category, value FROM sample_data"'),(0,r.kt)("td",{parentName:"tr",align:null},"The SQL query statement is entered successfully, and bar chart 1 shows the data returned by the SQL query")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"8"),(0,r.kt)("td",{parentName:"tr",align:null},"Save Page"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test Scene 1", Page: "Test Page 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"Page saved successfully, including legend and associated data settings")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"9"),(0,r.kt)("td",{parentName:"tr",align:null},"Preview Scenario"),(0,r.kt)("td",{parentName:"tr",align:null},'Scenario: "Test Scenario 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"The preview is successful, you can preview in the order of the scene and page")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"10"),(0,r.kt)("td",{parentName:"tr",align:null},"Edit scene name"),(0,r.kt)("td",{parentName:"tr",align:null},'Original scene name: "Test scene 1", New scene name: "Test scene 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'The scene name is modified successfully, and "Test scene 1-Modify" is displayed in the scene list')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"11"),(0,r.kt)("td",{parentName:"tr",align:null},"Delete scene"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene name: "Test scene 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'The scene is deleted successfully, and "Test scene 1-Modify" is no longer displayed in the scene list')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"12"),(0,r.kt)("td",{parentName:"tr",align:null},"Edit Page Name"),(0,r.kt)("td",{parentName:"tr",align:null},'Scenario: "Test Scenario 1", Original Page Name: "Test Page 1", New Page Name: "Test Page 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'The page name is modified successfully. "Test Page 1-Modified" is displayed in the page list')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"13"),(0,r.kt)("td",{parentName:"tr",align:null},"Delete Page"),(0,r.kt)("td",{parentName:"tr",align:null},'Scenario: "Test Scenario 1", Page Name: "Test Page 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'The page is deleted successfully, and "Test Page 1-Modify" is no longer displayed in the page list under the scenario "Test Scenario 1"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"14"),(0,r.kt)("td",{parentName:"tr",align:null},"Edit Legend Name"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test Scene 1", Page: "Test Page 1", Original Legend Name: "Column Chart 1", New Legend Name: "Column Chart 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'Legend Name Modification Success, "Column Chart 1-Modified" is displayed in "Test Page 1"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"15"),(0,r.kt)("td",{parentName:"tr",align:null},"Delete Legend"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test Scene 1", Page: "Test Page 1", Legend Name: "Column Chart 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'The legend is deleted successfully, and "Column Chart" is no longer displayed in "Test Page 1" Figure 1 - Modification"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"16"),(0,r.kt)("td",{parentName:"tr",align:null},"Edit SQL query statement"),(0,r.kt)("td",{parentName:"tr",align:null},'Scenario: "Test Scenario 1", Page: "Test Page 1", Legend: "Column Chart 1", New SQL: "SELECT category, value * 2 AS double_value FROM sample_data"'),(0,r.kt)("td",{parentName:"tr",align:null},"SQL The query statement is modified successfully, and column chart 1 shows the data returned by the new SQL query")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"17"),(0,r.kt)("td",{parentName:"tr",align:null},"Undo Legend Editing"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test Scene 1", Page: "Test Page 1", Legend: "Column Chart 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"Undo is successful, and the legend returns to the state before editing")))),(0,r.kt)("h2",{id:"modelui"},"ModelUI"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"ID"),(0,r.kt)("th",{parentName:"tr",align:null},"Test Scenario"),(0,r.kt)("th",{parentName:"tr",align:null},"Input"),(0,r.kt)("th",{parentName:"tr",align:null},"Expected Output"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"1"),(0,r.kt)("td",{parentName:"tr",align:null},"Open test page"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "test scene 1", Page: "test page 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"Display the test page")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"2"),(0,r.kt)("td",{parentName:"tr",align:null},"Open ModelUI slider"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "test scene 1", Page: "test page 1", select a model from the dropdown box'),(0,r.kt)("td",{parentName:"tr",align:null},"Display the ModelUI window on the right side of the page, showing the selected model")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"3"),(0,r.kt)("td",{parentName:"tr",align:null},"Draw a 2D graph"),(0,r.kt)("td",{parentName:"tr",align:null},'In the ModelUI session panel, input the equation "3x^2 + 4x - 5 = 0" to draw the graph'),(0,r.kt)("td",{parentName:"tr",align:null},'Draw the graph of the equation "3x^2 + 4x - 5 = 0" on the coordinate plane')))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a212e31b.f2a26684.js b/assets/js/a212e31b.f2a26684.js new file mode 100644 index 00000000..32327d2b --- /dev/null +++ b/assets/js/a212e31b.f2a26684.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5842],{3729:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2023/09/05/0.2.0-Release","metadata":{"permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-Release.md","source":"@site/blog/2023-09-05-0.2.0-Release.md","title":"Version Update | SolidUI 0.2.0 Release","description":"Background","date":"2023-09-05T00:00:00.000Z","formattedDate":"September 5, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AI","permalink":"/SolidUI-Website/blog/tags/ai"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":3.02,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Version Update | SolidUI 0.2.0 Release","date":"2023-09-05T00:00:00.000Z","tags":["SolidUI","AI","stable-diffusion"]},"nextItem":{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"}},"content":"## Background\\n\\nWith the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.\\n\\nProject URL: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\nProject mirror URL: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\nCommunity official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nJoin the group: [https://discord.gg/NGRNu2mGeQ](https://discord.gg/NGRNu2mGeQ)\\n\\n\\n## Release Notes\\n\\n### Features\\n\\n* Design features, scene and page optimization\\n* Project Preview\\n* Design features, preview page\\n* Support for GPT-like model proxy\\n* Support for ChatGLM-like model proxy\\n* Support Hugging Face Spaces plugin, provide trial function\\n* Support for the ESLint code check tool\\n* Design page delete graphic optimization\\n* Login page, logout optimization\\n* Support for chat window interaction\\n* Support for the official website, internationalization\\n* Support for the official website, UI optimization\\n* Support for the official website, overview optimization\\n* Support for the official website, Blog optimization\\n* Support for the official website, all documents optimization\\n* Support for the official website, framework migration\\n\\n### Deployment\\n\\n* Independent deployment related scripts\\n* docker-compose\\n\\n### Documentation\\n\\n* All co-builders list\\n* ESLint & Prettier code specifications\\n* SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation\\n* SolidUI community - Snakemq communication source code analysis\\n* Centos7.9 offline deployment of ChatGLM-6B\\n* SolidUI community - Independent deployment and Docker communication analysis\\n* SolidUI community - Introduction to the official website\\n* SolidUI community - Thinking from the perspective of the open-source community about Apple\'s removal of multiple ChatGPT apps\\n* SolidUI community - FAQ problem-solving process\\n* SolidUI community - General Prompt technique\\n* SolidUI community - Prompt design\\n* SolidUI community - Building a character based on Prompts\\n* SolidUI community - AI model proxy\\n* SolidUI community - Chain of Thought (CoT) in Prompts\\n* SolidUI community - Prompt self-consistency\\n* SolidUI community - Discord\\n* SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction\\n\\n## Detailed Guide\\n\\n* This version overview: [https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1](https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1)\\n* Demo environment: [http://www.solidui.top/](http://www.solidui.top/)\\n* Quick Start: [https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/](https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/)\\n* Tutorial: [https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s](https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s)\\n* Welcome users to fill in: [https://github.com/CloudOrc/SolidUI/issues/1](https://github.com/CloudOrc/SolidUI/issues/1)\\n* Join the group: [https://discord.gg/NGRNu2mGeQ](https://discord.gg/NGRNu2mGeQ)\\n\\n## Contributors\\n\\nThe release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)\\n\\n* dlimeng\\n* nutsjian\\n* jacktao007\\n* 15100399015\\n* ziyu211\\n* limingoo\\n* hgfdsa101\\n\\n\\n## How to Become a Contributor\\n\\nOfficial document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: [https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n\\nCode contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: [https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n\\nContent contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: [https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n\\nCommunity Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;\\n\\nOthers: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;"},{"id":"/2023/09/05/0.2.0-introduction","metadata":{"permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-introduction.md","source":"@site/blog/2023-09-05-0.2.0-introduction.md","title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","description":"Background","date":"2023-09-05T00:00:00.000Z","formattedDate":"September 5, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AI","permalink":"/SolidUI-Website/blog/tags/ai"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":4.36,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","date":"2023-09-05T00:00:00.000Z","tags":["SolidUI","AI","stable-diffusion"]},"prevItem":{"title":"Version Update | SolidUI 0.2.0 Release","permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release"},"nextItem":{"title":"SolidUI Community - Official Website Introduction","permalink":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"}},"content":"## Background\\n\\nWith the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.\\n\\nProject URL: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\nProject mirror URL: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\nCommunity official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nJoin the group: [https://discord.gg/NGRNu2mGeQ](https://discord.gg/NGRNu2mGeQ)\\n\\n\\n\\n## Chat Window\\nOne of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.\\n\\n### Prompt Words\\n\\n- The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.\\n- The input data can be manually input or automatically generated, combined with text prompt words.\\n\\n## Chat Window Generation\\n### Input data format for bar chart\\n`\\\\[{\\"x\\":\\"A\\",\\"y\\":5},{\\"x\\":\\"B\\",\\"y\\":8},{\\"x\\":\\"C\\",\\"y\\":12},{\\"x\\":\\"D\\",\\"y\\":6},{\\"x\\":\\"E\\",\\"y\\":15},{\\"x\\":\\"F\\",\\"y\\":10}\\\\] Generate a bar chart`\\n\\n\\n![Image description](/doc/image/020/image1.png)\\n\\n### Surface Graph\\n> Prompt 1\\n\\n`Generate a simple 3D surface graph.`\\n\\n\\n![Image description](/doc/image/020/image2.png)\\n\\n\\n\\n> Prompt 2\\n\\n`Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the \'viridis\' color map and display the graph.`\\n\\n\\n![Image description](/doc/image/020/image03.png)\\n\\n\\n\\n> Prompt 3\\n\\n`Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph\'s color map to \'viridis\', and set specific size and margins, finally display the graph.`\\n\\n\\n![Image description](/doc/image/020/images04.png)\\n\\n\\n\\n> Prompt 4\\n\\n`Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y\'s squares.`\\n\\n\\n![Image description](/doc/image/020/images05.png)\\n\\n\\n\\n### Scatter Plot\\n> Prompt 1\\n\\n`Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.`\\n\\n\\n![Image description](/doc/image/020/images06.png)\\n\\n\\n\\n> Prompt 2\\n\\n`A 3D scatter plot has been created, where each point\'s color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.`\\n\\n\\n![Image description](/doc/image/020/images07.png)\\n\\n\\n\\n> Prompt 3\\n\\n`A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.`\\n\\n\\n![Image description](/doc/image/020/images08.png)\\n\\n\\n\\n### Spiral Line\\n> Prompt 1\\n\\n`Draw a spiral line in a 3D graph.`\\n\\n\\n![Image description](/doc/image/020/images09.png)\\n\\n\\n\\n### Pie Chart\\n> Prompt 1\\n\\n`A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as \'A\', \'B\', \'C\', \'D\', \'E\', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.`\\n\\n\\n![Image description](/doc/image/020/images10.png)\\n\\n\\n\\n### Bunny Modeling\\n> Prompt 1\\n\\n`Download the Stanford Bunny model from \\"https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj\\" and use the trimesh library to load and display this model.\\n`\\n\\n![Image description](/doc/image/020/images11.jpeg)\\n\\n\\n\\nhttps://faculty.cc.gatech.edu/~turk/bunny/bunny.html\\n\\n### Map\\n> Prompt 1\\n\\n`Create a map, download link`\\n\\n\\n![Image description](/doc/image/020/images12.png)\\n\\n\\n\\n\\n\\n\\n\\n## Design Page\\n### Page Layout\\nManage the layout of generated graphics, divided by scenes and pages.\\n\\n### Preview\\nClick on the project preview or Design Page -> Scene -> Page preview\\n\\n\\n![Image description](/doc/image/020/images13.png)\\n\\n\\n\\n\\n## Future Plans of SolidUI Community\\nFor this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.\\n\\nThis is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.\\n\\nOverall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.\\n\\n## How to Become a Contributor\\n\\n- Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54\\n- Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12\\n- Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10\\n- Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;\\n- Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;"},{"id":"/2023/09/05/Official-Website-Introduction","metadata":{"permalink":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-Official-Website-Introduction.md","source":"@site/blog/2023-09-05-Official-Website-Introduction.md","title":"SolidUI Community - Official Website Introduction","description":"Background","date":"2023-09-05T00:00:00.000Z","formattedDate":"September 5, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AI","permalink":"/SolidUI-Website/blog/tags/ai"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":4.87,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI Community - Official Website Introduction","date":"2023-09-05T00:00:00.000Z","tags":["SolidUI","AI","stable-diffusion"]},"prevItem":{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"},"nextItem":{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"}},"content":"## Background\\n\\nWith the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.\\n\\nProject link: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\nProject mirror link: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\nCommunity official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nOfficial website project address\uff1a[https://github.com/CloudOrc/SolidUI-Website](https://github.com/CloudOrc/SolidUI-Website)\\n\\n## Introduction\\n\\nThe SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:\\n\\n* **Document:** This is where SolidUI\'s documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.\\n* **Download:** Users can download the latest version of SolidUI here.\\n* **Releases:** The release records of SolidUI can be found here, where users can view all version release and update information.\\n* **Community:** This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.\\n* **Code of conduct:** This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.\\n* **Become A Committer:** A page for developers to submit code or become project contributors.\\n* **Documentation Notice:** Notices or updates about SolidUI\'s documentation.\\n* **Submit Code:** A page for submitting code where users can submit their own code for the SolidUI project.\\n* **Team:** Page introducing the SolidUI team members.\\n* **Users:** A page showcasing SolidUI users or customers, thanking partners for their participation.\\n* **Our Users:** A page likely introducing SolidUI\'s user groups.\\n* **Blog:** The SolidUI blog, where users can read the latest articles about SolidUI.\\n Official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nOfficial website project address\uff1a[https://github.com/CloudOrc/SolidUI-Website](https://github.com/CloudOrc/SolidUI-Website)\\n\\n## How to Contribute\\n\\nBased on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.\\n\\n### Example\\n\\nFor documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.\\n\\n**Submit an Issue**\\n\\n1. First, visit the main page of the SolidUI-Website project.\\n2. In the top menu bar of the project, click \\"Issues\\".\\n3. Click the \\"New issue\\" button in the upper right corner.\\n4. Enter the title and description of your Issue on the page that appears.\\n5. When you\'re done, click \\"Submit new issue\\".\\n **Submit a Pull Request**\\n\\nBefore submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:\\n\\n1. On the main page of the SolidUI-Website project, click the \\"Fork\\" button in the upper right corner.\\n2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a \\"dev\\" branch.\\n3. Make the required changes on your branch.\\n4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.\\n5. Click \\"Pull requests\\", then click \\"New pull request\\".\\n6. Click \\"compare across forks\\" and choose your fork and your \\"dev\\" branch.\\n7. Confirm your changes, then click \\"Create pull request\\".\\n8. Provide a title and description for your PR on the opened page, then click \\"Create pull request\\".\\n\\n## Conclusion\\n\\nPlease note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.\\n\\nWe\'ve introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.\\n\\nParticipating in SolidUI\'s development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.\\n\\nWhether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.\\n\\n## SolidUI-Website Contributors\\n\\nThe release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):\\n\\n* dlimeng\\n* 15100399015\\n* limingoo\\n\\n\\n## Acknowledgments\\n\\nThanks to the streampark-website for providing framework support.\\n\\n## How to Become a Contributor\\n\\nHere are some ways to contribute to the SolidUI community.\\n\\nContribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: [https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n\\nContribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: [https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n\\nContent Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: [https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n\\nCommunity Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.\\n\\nOthers: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc."},{"id":"/2023/07/03/independent-deployment-communication-analysis","metadata":{"permalink":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-03-independent-deployment-communication-analysis.md","source":"@site/blog/2023-07-03-independent-deployment-communication-analysis.md","title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","description":"\u80cc\u666f","date":"2023-07-03T00:00:00.000Z","formattedDate":"July 3, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AIGC","permalink":"/SolidUI-Website/blog/tags/aigc"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":3.635,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","date":"2023-07-03T00:00:00.000Z","tags":["SolidUI","AIGC","stable-diffusion"]},"prevItem":{"title":"SolidUI Community - Official Website Introduction","permalink":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"},"nextItem":{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"}},"content":"## \u80cc\u666f\\n\\n\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002\\n\\n\u9879\u76ee\u5730\u5740: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\n\u9879\u76ee\u955c\u50cf\u5730\u5740: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\n\\n## \u72ec\u7acb\u90e8\u7f72\u901a\u4fe1\\n\\n\u5355\u72ec\u90e8\u7f72\uff0c\u4e0e\u5916\u7f51\u901a\u4fe1\uff0c\u8fd9\u5757\u4e0d\u96be\u53ea\u6709\u76f8\u5e94\u516c\u7f51\uff0c\u5c31\u53ef\u4ee5\u6b63\u5e38\u8bbf\u95ee\u3002\\n\\n\u5355\u72ec\u90e8\u7f72\uff0c\u5185\u90e8\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff0c\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\u3002\\n\\n### \u4f8b\u5982\\n\\n\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\uff0c\u6ca1\u6709\u7684\u8bdd\u7528127.0.0.1 \u5c31\u53ef\u4ee5\u3002\\n\\n\u8bbe\u7f6e Snakemq \u901a\u4fe1\\n\\n```plain\\nsoliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e\u5185\u7f51ip\\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6e\u5185\u7f51ip\\n```\\n\\n## Docker \u90e8\u7f72\u901a\u4fe1\\n\\n\u5bb9\u5668\u5316\u90e8\u7f72\uff0c\u5728\u6b64\u6211\u7b80\u5316\u63cf\u8ff0\uff0c\u4e0d\u5e26\u5bb9\u5668\u7ba1\u7406\u6846\u67b6\u63cf\u8ff0\uff0c\u56e0\u4e3a\u901a\u4fe1\u6700\u6839\u672c\u7684\u660e\u767d\u540e\uff0c\u5176\u5b83\u5728\u6846\u67b6\u4e2d\u4e5f\u5c31\u660e\u767d\u4e86\uff0c\u5916\u90e8\u901a\u4fe1\uff0c\u5f00\u653e\u7aef\u53e3 \uff0c\u5185\u90e8\u901a\u4fe1\uff0c\u901a\u8fc7\u8bbe\u7f6e\u7f51\u6bb5\u540d\u79f0\uff0c\u4e0d\u540c\u5bb9\u5668\u901a\u4fe1\uff0c\u901a\u8fc7\u5bb9\u5668\u540d\u79f0\u8fdb\u884c\u3002\\n\\n### \u4f8b\u5982\\n\\n> \u6570\u636e\u5e93\u8fde\u63a5\\n\\n\u5728docker-compose.yml \u4e2d\uff0c\u8bbe\u7f6e\u4e86Mysql\u6570\u636e\u5e93\u540d\u79f0\u4e3amysql \\n\\n\u6240\u4ee5solidui-entrance application.yaml \u4e2d datasource.url mysql \u66ff\u6362 localhost\\n\\nsoliduimodelui/.env DB_HOST mysql \u66ff\u6362 localhost \\n\\n> soliduimodelui/.env Snakemq \u901a\u4fe1\\n\\n```plain\\nsoliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e0.0.0.0\\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6esoliduimodelui\\n```\\n\\n## \u7ed3\u8bed\\n\\n\u672c\u6587\u901a\u8fc7\u8bb2\u89e3\u72ec\u7acb\u90e8\u7f72 \u548c Docker \u901a\u4fe1\u5206\u6790 \uff0c\u544a\u8bc9\u90e8\u7f72\u8bbe\u7f6eip\u65f6\u5019\u65b9\u5f0f\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002\\n\\n\\n## \u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005\\n\\n* \u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a[https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n* \u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a[https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n* \u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a[https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n* \u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b"},{"id":"/2023/07/02/snakemq-communication-source-code-analysis","metadata":{"permalink":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-02-snakemq-communication-source-code-analysis.md","source":"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md","title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","description":"\u80cc\u666f","date":"2023-07-02T00:00:00.000Z","formattedDate":"July 2, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AIGC","permalink":"/SolidUI-Website/blog/tags/aigc"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":6.275,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","date":"2023-07-02T00:00:00.000Z","tags":["SolidUI","AIGC","stable-diffusion"]},"prevItem":{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"},"nextItem":{"title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","permalink":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0"}},"content":"## \u80cc\u666f\\n\\n\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002\\n\\n\u9879\u76ee\u5730\u5740: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\n\u9879\u76ee\u955c\u50cf\u5730\u5740: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\n## Snakemq\u4ecb\u7ecd\\n\\nSnakeMQ\u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u6d88\u606f\u961f\u5217(MQ)\u7cfb\u7edf,\u4e3b\u8981\u7528\u4e8e\u5728Python\u4e2d\u5b9e\u73b0\u5f02\u6b65\u4efb\u52a1\u961f\u5217\u548c\u6d88\u606f\u4f20\u9012\u3002\\n\\nSolidUI \u6a21\u578b\u4ee3\u7406\u6a21\u5757\uff08soliduimodelui\uff09 \u7528\u5230Snakemq , \u6d89\u53ca\u5230\u5185\u90e8\u901a\u4fe1\u65f6\u5019\uff0c\u5982\u679cclient \u548cserver \u4e0d\u4e00\u4e00\u5bf9\u5e94\uff0c\u901a\u4fe1\u5c31\u6709\u95ee\u9898\uff0c\u867d\u7136\u65e5\u5fd7\u4e0d\u62a5\u9519\uff0c\u4f46\u662f\u4e0d\u56de\u8fd4\u56de\u7ed3\u679c\uff0c\u672c\u6587\u4e3b\u8981\u8bb2\u76f8\u5173\u901a\u4fe1\u95ee\u9898\uff0c\u4e3a\u540e\u7eed\u5171\u5efa\u4f19\u4f34\u63d0\u4f9b\u89e3\u51b3\u601d\u8def\u3002\\n\\n## Snakemq\u4f5c\u7528\\n\\n## \\n* \u8f7b\u91cf\u7ea7\u548c\u6613\u4e8e\u4f7f\u7528 - SnakeMQ\u4f7f\u7528\u7eafPython\u7f16\u5199,\u65e0\u4efb\u4f55\u5916\u90e8\u4f9d\u8d56,\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u5728\u4efb\u4f55Python\u9879\u76ee\u4e2d\u96c6\u6210\u4f7f\u7528\u3002\\n* \u652f\u6301\u4e3b\u6d41\u534f\u8bae - SnakeMQ\u5b9e\u73b0\u4e86STOMP\u548cAMQP\u7b49\u4e3b\u6d41\u7684MQ\u534f\u8bae\u3002\\n* \u591a\u79cd\u6d88\u606f\u6a21\u578b - \u652f\u6301\u53d1\u5e03-\u8ba2\u9605\u3001\u5de5\u4f5c\u961f\u5217\u3001\u8bf7\u6c42-\u54cd\u5e94\u7b49\u591a\u79cd\u6d88\u606f\u6a21\u578b\u3002\\n* \u6301\u4e45\u5316\u652f\u6301 - \u652f\u6301\u5c06\u6d88\u606f\u6301\u4e45\u5316\u5230\u4e0d\u540c\u7684\u540e\u7aef,\u5982Redis\u3001MongoDB\u7b49\u3002\\n* \u9ad8\u6027\u80fd - SnakeMQ\u9488\u5bf9Python\u8fdb\u884c\u4e86\u4f18\u5316,\u5355\u673a\u53ef\u4ee5\u5904\u7406\u4e0a\u4e07\u6d88\u606f\u6bcf\u79d2\u3002\\n* \u53ef\u6269\u5c55 - \u53ef\u4ee5\u6c34\u5e73\u6269\u5c55\u4ee5\u5b9e\u73b0\u96c6\u7fa4,\u63d0\u9ad8\u7cfb\u7edf\u6574\u4f53\u541e\u5410\u91cf\u3002\\n* \u591a\u8bed\u8a00\u652f\u6301 - \u9664\u4e86Python SDK,\u8fd8\u63d0\u4f9b\u4e86NodeJS\u3001Java\u7b49\u8bed\u8a00\u7684SDK\u3002\\n\\nSolidUI \u4e2d soliduimodelui\u6a21\u5757\uff0c\u662f\u6a21\u578b\u4ee3\u7406API\uff0c\u9700\u8981Web\u548c Kernel \u901a\u4fe1\u7528\u5230Snakemq \\n\\n## Snakemq \u6d4b\u8bd5\u4ee3\u7801\\n\\n\\n> Snakemq client.py\\n\\n\\n```plain\\n\\nimport snakemq.link\\nimport snakemq.packeter\\nimport snakemq.messaging\\nimport snakemq.rpc\\nimport time\\nimport json\\nimport logging\\n\\n\\nlogging.basicConfig(format=\\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\\")\\n\\n\\nlogger = logging.getLogger(__name__)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nconsole_handler = logging.StreamHandler()\\n\\n\\nconsole_handler.setLevel(logging.INFO)\\n\\n\\nlogger.addHandler(console_handler)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nfh = logging.FileHandler(\'app.log\')\\n\\n\\nlogger.addHandler(fh)\\n\\n\\nlink = snakemq.link.Link()\\n\\n\\npacketer = snakemq.packeter.Packeter(link)\\n\\n\\nmessaging = snakemq.messaging.Messaging(\\"client\\", \\"\\", packeter)\\n\\n\\nconnector = (\\"server\\", 8765)\\n\\n\\nlink.add_connector(connector)\\n\\n\\ndef on_connect(connector_id):\\n\\n\\n logger.info(f\\"Connected to: {connector_id}\\")\\n\\n\\nlink.on_connect.add(on_connect)\\n\\n\\ndef on_disconnect(connector_id):\\n\\n\\n logger.info(f\\"\u5df2\u65ad\u5f00: {connector_id}\\")\\n\\n\\nlink.on_disconnect.add(on_disconnect)\\n\\n\\n\\ndef on_recv(conn, ident, message):\\n\\n\\n logger.info(f\\"client\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}\\")\\n\\n\\nmessaging.on_message_recv.add(on_recv)\\n\\n\\nmessage = snakemq.message.Message(json.dumps({\\"type\\": \\"status\\", \\"value\\": \\"ready\\"}).encode(\\"utf-8\\"), ttl=600)\\n\\n\\nmessaging.send_message(\\"server\\", message)\\n\\n\\nwhile True:\\n\\n\\n link.loop()\\n\\n\\n time.sleep(0.1)\\n\\n\\n```\\n\\n\\n> Snakemq server.py\\n\\n\\n```plain\\n\\nimport snakemq.link\\nimport snakemq.packeter\\nimport snakemq.messaging\\nimport snakemq.rpc\\nimport time\\nimport json\\nimport logging\\n\\n\\nlogging.basicConfig(format=\\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\\")\\n\\n\\nlogger = logging.getLogger(__name__)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nconsole_handler = logging.StreamHandler()\\n\\n\\nconsole_handler.setLevel(logging.INFO)\\n\\n\\nlogger.addHandler(console_handler)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nfh = logging.FileHandler(\'app.log\')\\n\\n\\nlogger.addHandler(fh)\\n\\n\\nlink = snakemq.link.Link()\\n\\n\\npacketer = snakemq.packeter.Packeter(link)\\n\\n\\nmessaging = snakemq.messaging.Messaging(\\"server\\", \\"\\", packeter)\\n\\n\\nlink.add_listener((\\"0.0.0.0\\", 8765))\\n\\n\\ndef on_recv(conn, ident, message):\\n\\n\\n logger.info(f\\"server\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}\\")\\n\\n\\nmessaging.on_message_recv.add(on_recv)\\n\\n\\n\\nmessage = snakemq.message.Message(json.dumps( {\\"type\\": \\"execute\\", \\"value\\": \\"abc\\"}).encode(\\"utf-8\\"), ttl=600)\\n\\n\\nmessaging.send_message(\\"client\\", message)\\n\\n\\n# Main loop\\n\\n\\nwhile True:\\n\\n\\n link.loop()\\n\\n\\n time.sleep(0.1)\\n\\n\\n```\\n\\n\\n> Dockerfile\\n\\n```shell script\\nFROM python:3.8\\nWORKDIR /opt/snaketmq-test\\n\\nRUN pip install snakemq\\nRUN python -c \\"import snakemq; print(snakemq.__file__); print(dir(snakemq))\\"\\nCOPY . .\\n\\nCMD [\\"python\\", \\"server.py\\"]\\n```\\n\\n\\n> Dockerfile build & run\\n\\n```shell script\\ndocker build -t snaketmq-test .\xa0\\n\\ndocker network create mynet\\n\\ndocker run -d --name server --network mynet\xa0 snaketmq-test\\n\\ndocker run --network mynet\xa0 snaketmq-test python client.py\\n```\\n\\n\\n\\n## Snakemq\u901a\u4fe1\\n\\n\u6ce8\u610f\uff1aSnakemq \u6d4b\u8bd5\u4ee3\u7801\uff0c\u56e0\u4e3a\u5bb9\u5668\u5185\u901a\u4fe1\uff0cip addr \u4f1a\u6d89\u53ca\u5230\u591a\u4e2aip \uff0c\u867d\u7136\u5bb9\u5668\u8bbe\u7f6e\u7f51\u6bb5mynet \uff0c\u4f46\u662f server link.add_listener((\\"0.0.0.0\\", 8765)) \u8fd9\u884c\u4ee3\u7801 \\n\\n* server: \u8868\u793aSnakeMQ\u7684\u670d\u52a1\u5668\u5b9e\u4f8b\u3002\\n* link: server\u4e2d\u7684link\u5c5e\u6027,\u8868\u793a\u7f51\u7edc\u8fde\u63a5\u7ba1\u7406\u5668\u3002\\n* add_listener: \u5411link\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u76d1\u542c\u5668\u3002\\n* (\\"0.0.0.0\\", 8765): \u76d1\u542c\u7684\u5730\u5740\u548c\u7aef\u53e3\u3002\\"0.0.0.0\\"\u8868\u793a\u76d1\u542c\u6240\u6709\u7f51\u5361\u5730\u5740,\\"8765\\"\u8868\u793a\u76d1\u542c8765\u7aef\u53e3\u3002\\nclient connector = (\\"server\\", 8765) link.add_connector(connector) \u8fd9\u884c\u4ee3\u7801\\n\\n* connector = (\\"server\\", 8765) : \u521b\u5efa\u4e00\u4e2a\u5143\u7ec4connector,\u91cc\u9762\u5305\u542b\u4e86SnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740\\"server\\"\u548c\u7aef\u53e38765\u3002\\n* link.add_connector(connector): \u8c03\u7528link\u5bf9\u8c61(\u8fd9\u91cc\u5e94\u8be5\u662fSnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61)\u7684add_connector\u65b9\u6cd5,\u4f20\u5165\u53c2\u6570connector,\u5c06\u4e0a\u4e00\u6b65\u521b\u5efa\u7684\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230\u8fde\u63a5\u5bf9\u8c61\u4e2d\u3002\\n* \u7efc\u5408\u6765\u770b,\u8fd9\u884c\u4ee3\u7801\u7684\u4f5c\u7528\u5c31\u662f\u521b\u5efa\u4e00\u4e2a\u8fde\u63a5\u5143\u7ec4,\u5305\u542bSnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740\u548c\u7aef\u53e3,\u7136\u540e\u5c06\u8fd9\u4e2a\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230SnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61\u4e2d,\u4ee5\u5efa\u7acbSnakeMQ\u7684\u5ba2\u6237\u7aef\u8fde\u63a5\u3002\\n\\n## \u7ed3\u8bed\\n\\n\u672c\u6587\u901a\u8fc7Snakemq \u6848\u4f8b \u6765\u89e3\u91caSolidUI \u5185\u90e8\u901a\u4fe1\uff0c\u8ba9\u5927\u5bb6\u660e\u767d\u914d\u7f6e\u5730\u5740\u65f6\u5019ip \u4e3a\u4ec0\u4e48\u8fd9\u6837\u8bbe\u7f6e\uff0c\u76ee\u7684\u662f\u4e3a\u4e86\u4e00\u4e00\u5bf9\u5e94\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002\\n\\n\\n\\n## \u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005\\n\\n* \u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a[https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n* \u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a[https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n* \u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a[https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n* \u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b"},{"id":"/2023/07/01/function-explanation-0.1.0","metadata":{"permalink":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-01-function-explanation-0.1.0.md","source":"@site/blog/2023-07-01-function-explanation-0.1.0.md","title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","description":"\u80cc\u666f","date":"2023-07-01T00:00:00.000Z","formattedDate":"July 1, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AIGC","permalink":"/SolidUI-Website/blog/tags/aigc"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":5.475,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","date":"2023-07-01T00:00:00.000Z","tags":["SolidUI","AIGC","stable-diffusion"]},"prevItem":{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"}},"content":"## \u80cc\u666f\\n\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002\\n\\nhttps://github.com/CloudOrc/SolidUI\\n\\n## \u9879\u76ee\u540d\u5b57\u542b\u4e49\\nSolidUI Solid\u8868\u793a\u7acb\u65b9\u51e0\u4f55\uff0cUI\u8868\u793a\u8bbe\u8ba1\u4ea4\u4e92\uff0c\u4ee3\u8868\u591a\u7ef4\u751f\u6210\u8bbe\u8ba1\u3002\\n\\n## \u767b\u5f55\u9875\u542b\u4e49\\n\\n\u767b\u5f55\u9875\u7684\u542b\u4e49\uff0clogo \u7528\u773c\u955c\u7684\u5f62\u72b6\uff0c\u8868\u793a\u89c2\u5bdf\u4e16\u754c \uff0c\u80cc\u666f\u90a3\u4e9b\u7ebf\u6761\u662f\u901a\u8fc7\u773c\u775b\u89c2\u770b\u5f97\u51fa\u56fe\u5f62\uff0c\u6df1\u5c42\u610f\u601d\u8868\u793a\u521b\u610f\u751f\u6210\u4e16\u754c\u3002\\n![\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0](/blog/home.png)\\n\\n\\n## \u4ea7\u54c1\u601d\u7ef4\\n\\n\u201c\u5c11\u5c31\u662f\u591a\u201d\\n\\n\u5c11\u5c31\u662f\u591a\uff0c\u610f\u601d\u662f\u4e0d\u65ad\u7cbe\u7b80\u65b9\u6848\u91cc\u7684\u5143\u7d20\uff0c\u53ea\u7559\u4e0b\u6709\u4ef7\u503c\u7684\uff1b\u5176\u4f59\u4e0d\u91cd\u8981\u7684\uff0c\u8981\u4e48\u76f4\u63a5\u5220\u6389\uff0c\u8981\u4e48\u4ece\u754c\u9762\u91cc\u9690\u85cf\u8d77\u6765\u3002\u5bf9\u4e8e\u90a3\u4e9b\u4e0d\u5e38\u7528\u7684\u64cd\u4f5c\uff0c\u9690\u85cf\u4e4b\u540e\uff0c\u5373\u4f7f\u7528\u6237\u591a\u8fdb\u884c\u51e0\u6b65\u64cd\u4f5c\u4e5f\u6ca1\u6709\u5173\u7cfb\u3002\\n## 0.1.0 \u7248\u672c\u5185\u6db5\\n\u8fd9\u4e2a\u7248\u672c\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u7248\u672c\uff0c\u8bbe\u60f3\u4f5c\u4e3a\u5e94\u7528\u6846\u67b6\uff0c\u5177\u6709\u901a\u7528\u53ef\u89c6\u5316\u6846\u67b6\u80fd\u529b\uff0c\u4e0d\u56e0\u4e00\u4e9b\u6570\u636e\u7ba1\u7406\uff0cBI\u7b49\u4e00\u4e9b\u65e7\u601d\u7ef4\u5f71\u54cd\uff0c\u53ea\u505a\u5e94\u7528\u6846\u67b6\uff0c\u6240\u4ee5\u5f88\u591a\u4e1c\u897f\u90fd\u88ab\u53bb\u9664\u4e86\uff0cAI\u751f\u6210\u4f1a\u5f7b\u5e95\u6539\u53d8\u4f7f\u7528\u4e60\u60ef\u3002\\n\\n## \u529f\u80fd\u5217\u8868\\n\\n\u4e0b\u9762\u4ecb\u7ecd\u4e0b\u6574\u4e2a\u7b2c\u4e00\u4e2a\u7248\u672c\u529f\u80fd\u5217\u8868\u3002\\n### \u6570\u636e\u6e90\u7ba1\u7406\\n\\n* \u663e\u793a\u6570\u636e\uff1a\u663e\u793a\u6240\u6709\u6570\u636e\u6e90\uff0c\u5305\u62ec\u5e8f\u53f7\uff0c\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7528\u6237\uff0c\u63cf\u8ff0\u4fe1\u606f\u548c\u64cd\u4f5c\u6309\u94ae\u3002\\n* \u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5*\\n \u6210\u529f\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002\\n* \u6dfb\u52a0Doris\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002\\n* \u7f16\u8f91\u6570\u636e\u6e90\uff1a\u53ef\u4ee5\u7f16\u8f91\u6570\u636e\u6e90\u7684\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u4fe1\u606f\u3002\\n* \u5355\u884c\u5220\u9664\u6570\u636e\u6e90\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u6570\u636e\u6e90\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u6570\u636e\u6e90\uff0c\u5e76\u4e14\u8be5\u6570\u636e\u6e90\u4e0d\u518d\u663e\u793a\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u3002\\n* \u6570\u636e\u6e90\u8fc7\u671f\uff1a\u53ef\u4ee5\u5c06\u9009\u4e2d\u7684\u6570\u636e\u6e90\u8bbe\u7f6e\u4e3a\u8fc7\u671f\u72b6\u6001\u3002\\n ![\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0](/blog/datasource.png)\\n\\n### \u9879\u76ee\u7ba1\u7406\\n\\n* \u6dfb\u52a0\u9879\u76ee\uff1a\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u9879\u76ee\u63cf\u8ff0\uff0c\u9879\u76eeURL\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0\u9879\u76ee\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u663e\u793a\u65b0\u589e\u7684\u9879\u76ee\u4fe1\u606f\u3002\\n* \u67e5\u8be2\u9879\u76ee\u5217\u8868\uff1a\u901a\u8fc7\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u8be2\u5e76\u8f93\u51fa\u9879\u76ee\u5217\u8868\u3002\\n* \u7f16\u8f91\u9879\u76ee\u540d\uff1a\u53ef\u4ee5\u7f16\u8f91\u9879\u76ee\u540d\u79f0\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u9879\u76ee\u4fe1\u606f\u3002\\n* \u5220\u9664\u9879\u76ee\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u9879\u76ee\uff0c\u5e76\u4e14\u8be5\u9879\u76ee\u4e0d\u518d\u663e\u793a\u5728\u9879\u76ee\u5217\u8868\u4e2d\u3002\\n* \u9879\u76ee\u9884\u89c8\\n\\n\\n### \u8bbe\u8ba1\u9875\u9762\\n\\n* \u573a\u666f,\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002\\n* \u9875\uff0c\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002\\n* \u6dfb\u52a0\u56fe\u4f8b\uff1a\u5728\u6307\u5b9a\u573a\u666f\u548c\u9875\u4e0b\u6dfb\u52a0\u56fe\u4f8b\uff0c\u5e76\u4e3a\u5176\u547d\u540d\u3002\u521b\u5efa\u6210\u529f\u540e\uff0c\u6240\u5728\u9875\u4e2d\u663e\u793a\u5bf9\u5e94\u7684\u56fe\u4f8b\u3002\\n* \u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\uff1a\u5728\u6307\u5b9a\u573a\u666f\u3001\u9875\u548c\u56fe\u4f8b\u4e0b\uff0c\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\u3002\u6ed1\u7a97\u6253\u5f00\u6210\u529f\uff0c\u663e\u793a\u6570\u636e\u6e90\u7c7b\u578b\u3001\u6570\u636e\u6e90\u548cSQL\u8f93\u5165\u6846\u3002\\n* \u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff1a\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff08\u5982\u6570\u636e\u5e93\uff09\uff0c\u6210\u529f\u540e\u663e\u793a\u4e0e\u6240\u9009\u6570\u636e\u6e90\u7c7b\u578b\u76f8\u5173\u7684\u6570\u636e\u6e90\u9009\u9879\u3002\\n* \u9009\u62e9\u6570\u636e\u6e90\uff1a\u9009\u62e9\u7279\u5b9a\u7684\u6570\u636e\u6e90\uff08\u5982MySQL\u6570\u636e\u5e931\uff09\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u3002\\n* \u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\uff1a\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u5e76\u6267\u884c\uff0c\u67f1\u5f62\u56fe\u6839\u636e\u67e5\u8be2\u8fd4\u56de\u7684\u6570\u636e\u8fdb\u884c\u7ed8\u5236\u3002\\n* \u4fdd\u5b58\u9875\u9762\uff1a\u4fdd\u5b58\u5305\u62ec\u56fe\u4f8b\u548c\u5173\u8054\u6570\u636e\u8bbe\u7f6e\u5728\u5185\u7684\u9875\u9762\uff0c\u4ee5\u4fbf\u540e\u7eed\u67e5\u770b\u548c\u7f16\u8f91\u3002\\n* \u9884\u89c8\u573a\u666f\uff1a\u9884\u89c8\u6574\u4e2a\u573a\u666f\uff0c\u6309\u7167\u573a\u666f\u548c\u9875\u7684\u987a\u5e8f\u67e5\u770b\u5df2\u521b\u5efa\u7684\u56fe\u8868\u3002\\n\\n![\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0](/blog/desgin.png)"}]}')}}]); \ No newline at end of file diff --git a/assets/js/a38ac2fb.2d1ab942.js b/assets/js/a38ac2fb.2d1ab942.js new file mode 100644 index 00000000..7461a403 --- /dev/null +++ b/assets/js/a38ac2fb.2d1ab942.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[789],{3905:(e,n,t)=>{t.d(n,{Zo:()=>m,kt:()=>g});var a=t(7294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function r(e){for(var n=1;n =0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a =0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var s=a.createContext({}),c=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):r(r({},n),e)),t},m=function(e){var n=c(e.components);return a.createElement(s.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},k=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,o=e.originalType,s=e.parentName,m=i(e,["components","mdxType","originalType","parentName"]),p=c(t),k=l,g=p["".concat(s,".").concat(k)]||p[k]||d[k]||o;return t?a.createElement(g,r(r({ref:n},m),{},{components:t})):a.createElement(g,r({ref:n},m))}));function g(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var o=t.length,r=new Array(o);r[0]=k;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i[p]="string"==typeof e?e:l,r[1]=i;for(var c=2;c {t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=t(7462),l=(t(7294),t(3905));const o={title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",date:new Date("2023-07-02T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},r=void 0,i={permalink:"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-02-snakemq-communication-source-code-analysis.md",source:"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md",title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",description:"\u80cc\u666f",date:"2023-07-02T00:00:00.000Z",formattedDate:"July 2, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:6.275,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",date:"2023-07-02T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"},nextItem:{title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",permalink:"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0"}},s={authorsImageUrls:[]},c=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"Snakemq\u4ecb\u7ecd",id:"snakemq\u4ecb\u7ecd",level:2},{value:"Snakemq\u4f5c\u7528",id:"snakemq\u4f5c\u7528",level:2},{value:"Snakemq \u6d4b\u8bd5\u4ee3\u7801",id:"snakemq-\u6d4b\u8bd5\u4ee3\u7801",level:2},{value:"Snakemq\u901a\u4fe1",id:"snakemq\u901a\u4fe1",level:2},{value:"\u7ed3\u8bed",id:"\u7ed3\u8bed",level:2},{value:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",level:2}],m={toc:c},p="wrapper";function d(e){let{components:n,...t}=e;return(0,l.kt)(p,(0,a.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,l.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,l.kt)("p",null,"\u9879\u76ee\u5730\u5740: ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,l.kt)("p",null,"\u9879\u76ee\u955c\u50cf\u5730\u5740: ",(0,l.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,l.kt)("h2",{id:"snakemq\u4ecb\u7ecd"},"Snakemq\u4ecb\u7ecd"),(0,l.kt)("p",null,"SnakeMQ\u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u6d88\u606f\u961f\u5217(MQ)\u7cfb\u7edf,\u4e3b\u8981\u7528\u4e8e\u5728Python\u4e2d\u5b9e\u73b0\u5f02\u6b65\u4efb\u52a1\u961f\u5217\u548c\u6d88\u606f\u4f20\u9012\u3002"),(0,l.kt)("p",null,"SolidUI \u6a21\u578b\u4ee3\u7406\u6a21\u5757\uff08soliduimodelui\uff09 \u7528\u5230Snakemq , \u6d89\u53ca\u5230\u5185\u90e8\u901a\u4fe1\u65f6\u5019\uff0c\u5982\u679cclient \u548cserver \u4e0d\u4e00\u4e00\u5bf9\u5e94\uff0c\u901a\u4fe1\u5c31\u6709\u95ee\u9898\uff0c\u867d\u7136\u65e5\u5fd7\u4e0d\u62a5\u9519\uff0c\u4f46\u662f\u4e0d\u56de\u8fd4\u56de\u7ed3\u679c\uff0c\u672c\u6587\u4e3b\u8981\u8bb2\u76f8\u5173\u901a\u4fe1\u95ee\u9898\uff0c\u4e3a\u540e\u7eed\u5171\u5efa\u4f19\u4f34\u63d0\u4f9b\u89e3\u51b3\u601d\u8def\u3002"),(0,l.kt)("h2",{id:"snakemq\u4f5c\u7528"},"Snakemq\u4f5c\u7528"),(0,l.kt)("h2",{id:""}),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u8f7b\u91cf\u7ea7\u548c\u6613\u4e8e\u4f7f\u7528 - SnakeMQ\u4f7f\u7528\u7eafPython\u7f16\u5199,\u65e0\u4efb\u4f55\u5916\u90e8\u4f9d\u8d56,\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u5728\u4efb\u4f55Python\u9879\u76ee\u4e2d\u96c6\u6210\u4f7f\u7528\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u652f\u6301\u4e3b\u6d41\u534f\u8bae - SnakeMQ\u5b9e\u73b0\u4e86STOMP\u548cAMQP\u7b49\u4e3b\u6d41\u7684MQ\u534f\u8bae\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u591a\u79cd\u6d88\u606f\u6a21\u578b - \u652f\u6301\u53d1\u5e03-\u8ba2\u9605\u3001\u5de5\u4f5c\u961f\u5217\u3001\u8bf7\u6c42-\u54cd\u5e94\u7b49\u591a\u79cd\u6d88\u606f\u6a21\u578b\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u6301\u4e45\u5316\u652f\u6301 - \u652f\u6301\u5c06\u6d88\u606f\u6301\u4e45\u5316\u5230\u4e0d\u540c\u7684\u540e\u7aef,\u5982Redis\u3001MongoDB\u7b49\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u9ad8\u6027\u80fd - SnakeMQ\u9488\u5bf9Python\u8fdb\u884c\u4e86\u4f18\u5316,\u5355\u673a\u53ef\u4ee5\u5904\u7406\u4e0a\u4e07\u6d88\u606f\u6bcf\u79d2\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u53ef\u6269\u5c55 - \u53ef\u4ee5\u6c34\u5e73\u6269\u5c55\u4ee5\u5b9e\u73b0\u96c6\u7fa4,\u63d0\u9ad8\u7cfb\u7edf\u6574\u4f53\u541e\u5410\u91cf\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u591a\u8bed\u8a00\u652f\u6301 - \u9664\u4e86Python SDK,\u8fd8\u63d0\u4f9b\u4e86NodeJS\u3001Java\u7b49\u8bed\u8a00\u7684SDK\u3002")),(0,l.kt)("p",null,"SolidUI \u4e2d soliduimodelui\u6a21\u5757\uff0c\u662f\u6a21\u578b\u4ee3\u7406API\uff0c\u9700\u8981Web\u548c Kernel \u901a\u4fe1\u7528\u5230Snakemq "),(0,l.kt)("h2",{id:"snakemq-\u6d4b\u8bd5\u4ee3\u7801"},"Snakemq \u6d4b\u8bd5\u4ee3\u7801"),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Snakemq client.py")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-plain"},'\nimport snakemq.link\nimport snakemq.packeter\nimport snakemq.messaging\nimport snakemq.rpc\nimport time\nimport json\nimport logging\n\n\nlogging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")\n\n\nlogger = logging.getLogger(__name__)\n\n\nlogger.setLevel(logging.INFO)\n\n\nconsole_handler = logging.StreamHandler()\n\n\nconsole_handler.setLevel(logging.INFO)\n\n\nlogger.addHandler(console_handler)\n\n\nlogger.setLevel(logging.INFO)\n\n\nfh = logging.FileHandler(\'app.log\')\n\n\nlogger.addHandler(fh)\n\n\nlink = snakemq.link.Link()\n\n\npacketer = snakemq.packeter.Packeter(link)\n\n\nmessaging = snakemq.messaging.Messaging("client", "", packeter)\n\n\nconnector = ("server", 8765)\n\n\nlink.add_connector(connector)\n\n\ndef on_connect(connector_id):\n\n\n logger.info(f"Connected to: {connector_id}")\n\n\nlink.on_connect.add(on_connect)\n\n\ndef on_disconnect(connector_id):\n\n\n logger.info(f"\u5df2\u65ad\u5f00: {connector_id}")\n\n\nlink.on_disconnect.add(on_disconnect)\n\n\n\ndef on_recv(conn, ident, message):\n\n\n logger.info(f"client\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}")\n\n\nmessaging.on_message_recv.add(on_recv)\n\n\nmessage = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)\n\n\nmessaging.send_message("server", message)\n\n\nwhile True:\n\n\n link.loop()\n\n\n time.sleep(0.1)\n\n\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Snakemq server.py")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-plain"},'\nimport snakemq.link\nimport snakemq.packeter\nimport snakemq.messaging\nimport snakemq.rpc\nimport time\nimport json\nimport logging\n\n\nlogging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")\n\n\nlogger = logging.getLogger(__name__)\n\n\nlogger.setLevel(logging.INFO)\n\n\nconsole_handler = logging.StreamHandler()\n\n\nconsole_handler.setLevel(logging.INFO)\n\n\nlogger.addHandler(console_handler)\n\n\nlogger.setLevel(logging.INFO)\n\n\nfh = logging.FileHandler(\'app.log\')\n\n\nlogger.addHandler(fh)\n\n\nlink = snakemq.link.Link()\n\n\npacketer = snakemq.packeter.Packeter(link)\n\n\nmessaging = snakemq.messaging.Messaging("server", "", packeter)\n\n\nlink.add_listener(("0.0.0.0", 8765))\n\n\ndef on_recv(conn, ident, message):\n\n\n logger.info(f"server\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}")\n\n\nmessaging.on_message_recv.add(on_recv)\n\n\n\nmessage = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)\n\n\nmessaging.send_message("client", message)\n\n\n# Main loop\n\n\nwhile True:\n\n\n link.loop()\n\n\n time.sleep(0.1)\n\n\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Dockerfile")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},'FROM python:3.8\nWORKDIR /opt/snaketmq-test\n\nRUN pip install snakemq\nRUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"\nCOPY . .\n\nCMD ["python", "server.py"]\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Dockerfile build & run")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"docker build -t snaketmq-test .\xa0\n\ndocker network create mynet\n\ndocker run -d --name server --network mynet\xa0 snaketmq-test\n\ndocker run --network mynet\xa0 snaketmq-test python client.py\n")),(0,l.kt)("h2",{id:"snakemq\u901a\u4fe1"},"Snakemq\u901a\u4fe1"),(0,l.kt)("p",null,'\u6ce8\u610f\uff1aSnakemq \u6d4b\u8bd5\u4ee3\u7801\uff0c\u56e0\u4e3a\u5bb9\u5668\u5185\u901a\u4fe1\uff0cip addr \u4f1a\u6d89\u53ca\u5230\u591a\u4e2aip \uff0c\u867d\u7136\u5bb9\u5668\u8bbe\u7f6e\u7f51\u6bb5mynet \uff0c\u4f46\u662f server link.add_listener(("0.0.0.0", 8765)) \u8fd9\u884c\u4ee3\u7801 '),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"server: \u8868\u793aSnakeMQ\u7684\u670d\u52a1\u5668\u5b9e\u4f8b\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"link: server\u4e2d\u7684link\u5c5e\u6027,\u8868\u793a\u7f51\u7edc\u8fde\u63a5\u7ba1\u7406\u5668\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"add_listener: \u5411link\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u76d1\u542c\u5668\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},'("0.0.0.0", 8765): \u76d1\u542c\u7684\u5730\u5740\u548c\u7aef\u53e3\u3002"0.0.0.0"\u8868\u793a\u76d1\u542c\u6240\u6709\u7f51\u5361\u5730\u5740,"8765"\u8868\u793a\u76d1\u542c8765\u7aef\u53e3\u3002\nclient connector = ("server", 8765) link.add_connector(connector) \u8fd9\u884c\u4ee3\u7801')),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},'connector = ("server", 8765) : \u521b\u5efa\u4e00\u4e2a\u5143\u7ec4connector,\u91cc\u9762\u5305\u542b\u4e86SnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740"server"\u548c\u7aef\u53e38765\u3002')),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"link.add_connector(connector): \u8c03\u7528link\u5bf9\u8c61(\u8fd9\u91cc\u5e94\u8be5\u662fSnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61)\u7684add_connector\u65b9\u6cd5,\u4f20\u5165\u53c2\u6570connector,\u5c06\u4e0a\u4e00\u6b65\u521b\u5efa\u7684\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230\u8fde\u63a5\u5bf9\u8c61\u4e2d\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"\u7efc\u5408\u6765\u770b,\u8fd9\u884c\u4ee3\u7801\u7684\u4f5c\u7528\u5c31\u662f\u521b\u5efa\u4e00\u4e2a\u8fde\u63a5\u5143\u7ec4,\u5305\u542bSnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740\u548c\u7aef\u53e3,\u7136\u540e\u5c06\u8fd9\u4e2a\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230SnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61\u4e2d,\u4ee5\u5efa\u7acbSnakeMQ\u7684\u5ba2\u6237\u7aef\u8fde\u63a5\u3002"))),(0,l.kt)("h2",{id:"\u7ed3\u8bed"},"\u7ed3\u8bed"),(0,l.kt)("p",null,"\u672c\u6587\u901a\u8fc7Snakemq \u6848\u4f8b \u6765\u89e3\u91caSolidUI \u5185\u90e8\u901a\u4fe1\uff0c\u8ba9\u5927\u5bb6\u660e\u767d\u914d\u7f6e\u5730\u5740\u65f6\u5019ip \u4e3a\u4ec0\u4e48\u8fd9\u6837\u8bbe\u7f6e\uff0c\u76ee\u7684\u662f\u4e3a\u4e86\u4e00\u4e00\u5bf9\u5e94\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002"),(0,l.kt)("h2",{id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"},"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,l.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,l.kt)("li",{parentName:"ul"},"\u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,l.kt)("li",{parentName:"ul"},"\u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a6aa9e1f.0aa25372.js b/assets/js/a6aa9e1f.0aa25372.js new file mode 100644 index 00000000..3a4d7761 --- /dev/null +++ b/assets/js/a6aa9e1f.0aa25372.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3089],{46:(e,t,a)=>{a.r(t),a.d(t,{default:()=>u});var n=a(7294),l=a(6010),r=a(2263),i=a(1944),o=a(5281),s=a(9058),m=a(9703),c=a(197),g=a(9985);function p(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,r.Z)(),{blogDescription:l,blogTitle:o,permalink:s}=t,m="/"===s?a:o;return n.createElement(n.Fragment,null,n.createElement(i.d,{title:m,description:l}),n.createElement(c.Z,{tag:"blog_posts_list"}))}function d(e){const{metadata:t,items:a,sidebar:l}=e;return n.createElement(s.Z,{sidebar:l},n.createElement(g.Z,{items:a}),n.createElement(m.Z,{metadata:t}))}function u(e){return n.createElement(i.FG,{className:(0,l.Z)(o.k.wrapper.blogPages,o.k.page.blogListPage)},n.createElement(p,e),n.createElement(d,e))}},9703:(e,t,a)=>{a.d(t,{Z:()=>i});var n=a(7294),l=a(5999),r=a(2244);function i(e){const{metadata:t}=e,{previousPage:a,nextPage:i}=t;return n.createElement("nav",{className:"pagination-nav","aria-label":(0,l.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"})},a&&n.createElement(r.Z,{permalink:a,title:n.createElement(l.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)"},"Newer Entries")}),i&&n.createElement(r.Z,{permalink:i,title:n.createElement(l.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)"},"Older Entries"),isNext:!0}))}},9985:(e,t,a)=>{a.d(t,{Z:()=>i});var n=a(7294),l=a(9460),r=a(390);function i(e){let{items:t,component:a=r.Z}=e;return n.createElement(n.Fragment,null,t.map((e=>{let{content:t}=e;return n.createElement(l.n,{key:t.metadata.permalink,content:t},n.createElement(a,null,n.createElement(t,null)))})))}}}]); \ No newline at end of file diff --git a/assets/js/ac0ab662.231d6284.js b/assets/js/ac0ab662.231d6284.js new file mode 100644 index 00000000..311b54e3 --- /dev/null +++ b/assets/js/ac0ab662.231d6284.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[530],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>b});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t =0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n =0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),m=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=m(e.components);return n.createElement(p.Provider,{value:t},e.children)},c="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=m(r),d=a,b=c["".concat(p,".").concat(d)]||c[d]||s[d]||i;return r?n.createElement(b,o(o({ref:t},u),{},{components:r})):n.createElement(b,o({ref:t},u))}));function b(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[c]="string"==typeof e?e:a,o[1]=l;for(var m=2;m{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var n=r(7462),a=(r(7294),r(3905));const i={id:"submit_code",title:"Submit Code",sidebar_position:2},o=void 0,l={unversionedId:"submit_guide/submit_code",id:"submit_guide/submit_code",title:"Submit Code",description:"\x3c!--",source:"@site/community/submit_guide/submit-code.md",sourceDirName:"submit_guide",slug:"/submit_guide/submit_code",permalink:"/SolidUI-Website/community/submit_guide/submit_code",draft:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"submit_code",title:"Submit Code",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Documentation Notice",permalink:"/SolidUI-Website/community/submit_guide/document"}},p={},m=[],u={toc:m},c="wrapper";function s(e){let{components:t,...r}=e;return(0,a.kt)(c,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"First from the remote repository ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI.git"},"https://github.com/CloudOrc/SolidUI.git")," fork a copy of the code into your own repository")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"There are currently three branches in the remote repository:"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"dev")," daily development branch"),(0,a.kt)("blockquote",{parentName:"li"},(0,a.kt)("p",{parentName:"blockquote"},"Every day dev development branch, newly submitted code can pull request to this branch."))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"1.0.0-release")," release version branch"),(0,a.kt)("blockquote",{parentName:"li"},(0,a.kt)("p",{parentName:"blockquote"},"The release version branch, there will be 2.0...and other version branches in the future."))))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Clone your repository to your local"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git clone git@github.com:CloudOrc/SolidUI.git\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Add remote repository address, named upstream"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git remote add upstream git@github.com:CloudOrc/SolidUI.git\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"View repository"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git remote -v\n")),(0,a.kt)("blockquote",{parentName:"li"},(0,a.kt)("p",{parentName:"blockquote"},"At this time, there will be two repositories: origin (your own repository) and upstream (remote repository)"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Get/Update remote repository code"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git fetch upstream\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Synchronize remote repository code to local repository"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git checkout origin/dev\ngit merge --no-ff upstream/dev\n")))),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"After modifying the code locally, submit it to your own repository:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git commit -m 'commit content'\ngit push\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Submit changes to the remote repository")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},'On the github page, click "New pull request".')),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},'Select the modified local branch and the branch you want to merge with the past, click "Create pull request".')),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Then the community Committers will do CodeReview, and then he will discuss some details (including design, implementation, performance, etc.) with you. When everyone on the team is satisfied with this modification, the commit will be merged into the dev branch")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Finally, congratulations, you have become an official contributor to SolidUI !"))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ac717c78.dc7b292e.js b/assets/js/ac717c78.dc7b292e.js new file mode 100644 index 00000000..b141576a --- /dev/null +++ b/assets/js/ac717c78.dc7b292e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8688],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>h});var a=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function r(e){for(var t=1;t =0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a =0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},d=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=c(i),m=n,h=p["".concat(s,".").concat(m)]||p[m]||u[m]||o;return i?a.createElement(h,r(r({ref:t},d),{},{components:i})):a.createElement(h,r({ref:t},d))}));function h(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,r=new Array(o);r[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:n,r[1]=l;for(var c=2;c {i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=i(7462),n=(i(7294),i(3905));const o={title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},r=void 0,l={permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-introduction.md",source:"@site/blog/2023-09-05-0.2.0-introduction.md",title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:4.36,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},prevItem:{title:"Version Update | SolidUI 0.2.0 Release",permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-Release"},nextItem:{title:"SolidUI Community - Official Website Introduction",permalink:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"}},s={authorsImageUrls:[]},c=[{value:"Background",id:"background",level:2},{value:"Chat Window",id:"chat-window",level:2},{value:"Prompt Words",id:"prompt-words",level:3},{value:"Chat Window Generation",id:"chat-window-generation",level:2},{value:"Input data format for bar chart",id:"input-data-format-for-bar-chart",level:3},{value:"Surface Graph",id:"surface-graph",level:3},{value:"Scatter Plot",id:"scatter-plot",level:3},{value:"Spiral Line",id:"spiral-line",level:3},{value:"Pie Chart",id:"pie-chart",level:3},{value:"Bunny Modeling",id:"bunny-modeling",level:3},{value:"Map",id:"map",level:3},{value:"Design Page",id:"design-page",level:2},{value:"Page Layout",id:"page-layout",level:3},{value:"Preview",id:"preview",level:3},{value:"Future Plans of SolidUI Community",id:"future-plans-of-solidui-community",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...o}=e;return(0,n.kt)(p,(0,a.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation."),(0,n.kt)("p",null,"Project URL: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror URL: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Join the group: ",(0,n.kt)("a",{parentName:"p",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ")),(0,n.kt)("h2",{id:"chat-window"},"Chat Window"),(0,n.kt)("p",null,"One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display."),(0,n.kt)("h3",{id:"prompt-words"},"Prompt Words"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account."),(0,n.kt)("li",{parentName:"ul"},"The input data can be manually input or automatically generated, combined with text prompt words.")),(0,n.kt)("h2",{id:"chat-window-generation"},"Chat Window Generation"),(0,n.kt)("h3",{id:"input-data-format-for-bar-chart"},"Input data format for bar chart"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'\\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\\] Generate a bar chart')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(6979).Z,width:"800",height:"1068"})),(0,n.kt)("h3",{id:"surface-graph"},"Surface Graph"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a simple 3D surface graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4733).Z,width:"612",height:"825"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7232).Z,width:"612",height:"931"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4388).Z,width:"612",height:"1095"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 4")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1350).Z,width:"800",height:"1140"})),(0,n.kt)("h3",{id:"scatter-plot"},"Scatter Plot"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4500).Z,width:"612",height:"864"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4066).Z,width:"612",height:"973"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(3458).Z,width:"612",height:"929"})),(0,n.kt)("h3",{id:"spiral-line"},"Spiral Line"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Draw a spiral line in a 3D graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7613).Z,width:"612",height:"843"})),(0,n.kt)("h3",{id:"pie-chart"},"Pie Chart"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(9361).Z,width:"612",height:"784"})),(0,n.kt)("h3",{id:"bunny-modeling"},"Bunny Modeling"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model.\n')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(2532).Z,width:"612",height:"578"})),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html"},"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html")),(0,n.kt)("h3",{id:"map"},"Map"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a map, download link")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1560).Z,width:"612",height:"750"})),(0,n.kt)("h2",{id:"design-page"},"Design Page"),(0,n.kt)("h3",{id:"page-layout"},"Page Layout"),(0,n.kt)("p",null,"Manage the layout of generated graphics, divided by scenes and pages."),(0,n.kt)("h3",{id:"preview"},"Preview"),(0,n.kt)("p",null,"Click on the project preview or Design Page -> Scene -> Page preview"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7832).Z,width:"612",height:"689"})),(0,n.kt)("h2",{id:"future-plans-of-solidui-community"},"Future Plans of SolidUI Community"),(0,n.kt)("p",null,"For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics."),(0,n.kt)("p",null,"This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas."),(0,n.kt)("p",null,"Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development."),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("li",{parentName:"ul"},"Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("li",{parentName:"ul"},"Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("li",{parentName:"ul"},"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;"),(0,n.kt)("li",{parentName:"ul"},"Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;")))}u.isMDXComponent=!0},7232:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png"},6979:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png"},4733:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png"},4388:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png"},1350:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png"},4500:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images06-973d359adfc34c204d37ea809ac68072.png"},4066:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png"},3458:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png"},7613:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png"},9361:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png"},2532:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg"},1560:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images12-2ab1592a45568d991cf485c21a451753.png"},7832:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png"}}]); \ No newline at end of file diff --git a/assets/js/aea76b71.7aa02f3b.js b/assets/js/aea76b71.7aa02f3b.js new file mode 100644 index 00000000..4804d189 --- /dev/null +++ b/assets/js/aea76b71.7aa02f3b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1637],{6531:s=>{s.exports=JSON.parse('{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion","allTagsPath":"/SolidUI-Website/blog/tags","count":6}')}}]); \ No newline at end of file diff --git a/assets/js/afbbc345.b07c0976.js b/assets/js/afbbc345.b07c0976.js new file mode 100644 index 00000000..b4f80672 --- /dev/null +++ b/assets/js/afbbc345.b07c0976.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9084],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>h});var o=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,o)}return i}function l(e){for(var t=1;t =0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o =0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var u=o.createContext({}),s=function(e){var t=o.useContext(u),i=t;return e&&(i="function"==typeof e?e(t):l(l({},t),e)),i},c=function(e){var t=s(e.components);return o.createElement(u.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,r=e.originalType,u=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),p=s(i),d=n,h=p["".concat(u,".").concat(d)]||p[d]||m[d]||r;return i?o.createElement(h,l(l({ref:t},c),{},{components:i})):o.createElement(h,l({ref:t},c))}));function h(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=i.length,l=new Array(r);l[0]=d;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[p]="string"==typeof e?e:n,l[1]=a;for(var s=2;s {i.r(t),i.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>s});var o=i(7462),n=(i(7294),i(3905));const r={title:"Version Update | SolidUI 0.2.0 Release",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},l=void 0,a={permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-Release",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-Release.md",source:"@site/blog/2023-09-05-0.2.0-Release.md",title:"Version Update | SolidUI 0.2.0 Release",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:3.02,hasTruncateMarker:!1,authors:[],frontMatter:{title:"Version Update | SolidUI 0.2.0 Release",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},nextItem:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"}},u={authorsImageUrls:[]},s=[{value:"Background",id:"background",level:2},{value:"Release Notes",id:"release-notes",level:2},{value:"Features",id:"features",level:3},{value:"Deployment",id:"deployment",level:3},{value:"Documentation",id:"documentation",level:3},{value:"Detailed Guide",id:"detailed-guide",level:2},{value:"Contributors",id:"contributors",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],c={toc:s},p="wrapper";function m(e){let{components:t,...i}=e;return(0,n.kt)(p,(0,o.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation."),(0,n.kt)("p",null,"Project URL: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror URL: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Join the group: ",(0,n.kt)("a",{parentName:"p",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ")),(0,n.kt)("h2",{id:"release-notes"},"Release Notes"),(0,n.kt)("h3",{id:"features"},"Features"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Design features, scene and page optimization"),(0,n.kt)("li",{parentName:"ul"},"Project Preview"),(0,n.kt)("li",{parentName:"ul"},"Design features, preview page"),(0,n.kt)("li",{parentName:"ul"},"Support for GPT-like model proxy"),(0,n.kt)("li",{parentName:"ul"},"Support for ChatGLM-like model proxy"),(0,n.kt)("li",{parentName:"ul"},"Support Hugging Face Spaces plugin, provide trial function"),(0,n.kt)("li",{parentName:"ul"},"Support for the ESLint code check tool"),(0,n.kt)("li",{parentName:"ul"},"Design page delete graphic optimization"),(0,n.kt)("li",{parentName:"ul"},"Login page, logout optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for chat window interaction"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, internationalization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, UI optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, overview optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, Blog optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, all documents optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, framework migration")),(0,n.kt)("h3",{id:"deployment"},"Deployment"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Independent deployment related scripts"),(0,n.kt)("li",{parentName:"ul"},"docker-compose")),(0,n.kt)("h3",{id:"documentation"},"Documentation"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"All co-builders list"),(0,n.kt)("li",{parentName:"ul"},"ESLint & Prettier code specifications"),(0,n.kt)("li",{parentName:"ul"},"SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Snakemq communication source code analysis"),(0,n.kt)("li",{parentName:"ul"},"Centos7.9 offline deployment of ChatGLM-6B"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Independent deployment and Docker communication analysis"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Introduction to the official website"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - FAQ problem-solving process"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - General Prompt technique"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Prompt design"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Building a character based on Prompts"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - AI model proxy"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Chain of Thought (CoT) in Prompts"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Prompt self-consistency"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Discord"),(0,n.kt)("li",{parentName:"ul"},"SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction")),(0,n.kt)("h2",{id:"detailed-guide"},"Detailed Guide"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"This version overview: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1"},"https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1")),(0,n.kt)("li",{parentName:"ul"},"Demo environment: ",(0,n.kt)("a",{parentName:"li",href:"http://www.solidui.top/"},"http://www.solidui.top/")),(0,n.kt)("li",{parentName:"ul"},"Quick Start: ",(0,n.kt)("a",{parentName:"li",href:"https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/"},"https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/")),(0,n.kt)("li",{parentName:"ul"},"Tutorial: ",(0,n.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s"},"https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s")),(0,n.kt)("li",{parentName:"ul"},"Welcome users to fill in: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/1"},"https://github.com/CloudOrc/SolidUI/issues/1")),(0,n.kt)("li",{parentName:"ul"},"Join the group: ",(0,n.kt)("a",{parentName:"li",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ"))),(0,n.kt)("h2",{id:"contributors"},"Contributors"),(0,n.kt)("p",null,"The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"dlimeng"),(0,n.kt)("li",{parentName:"ul"},"nutsjian"),(0,n.kt)("li",{parentName:"ul"},"jacktao007"),(0,n.kt)("li",{parentName:"ul"},"15100399015"),(0,n.kt)("li",{parentName:"ul"},"ziyu211"),(0,n.kt)("li",{parentName:"ul"},"limingoo"),(0,n.kt)("li",{parentName:"ul"},"hgfdsa101")),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("p",null,"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("p",null,"Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("p",null,"Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("p",null,"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;"),(0,n.kt)("p",null,"Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b086f4ef.8d635984.js b/assets/js/b086f4ef.8d635984.js new file mode 100644 index 00000000..64a95547 --- /dev/null +++ b/assets/js/b086f4ef.8d635984.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[627],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>b});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function l(e){for(var t=1;t =0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o =0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var a=o.createContext({}),c=function(e){var t=o.useContext(a),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=c(e.components);return o.createElement(a.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,a=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),m=c(r),d=n,b=m["".concat(a,".").concat(d)]||m[d]||u[d]||i;return r?o.createElement(b,l(l({ref:t},p),{},{components:r})):o.createElement(b,l({ref:t},p))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=d;var s={};for(var a in t)hasOwnProperty.call(t,a)&&(s[a]=t[a]);s.originalType=e,s[m]="string"==typeof e?e:n,l[1]=s;for(var c=2;c{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=r(7462),n=(r(7294),r(3905));const i={id:"development-construction",title:"Co-Construction Process",sidebar_position:5},l="SolidUI project co-construction process",s={unversionedId:"development/development-construction",id:"development/development-construction",title:"Co-Construction Process",description:"Process list",source:"@site/docs/development/project-process.md",sourceDirName:"development",slug:"/development/development-construction",permalink:"/SolidUI-Website/docs/development/development-construction",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/development/project-process.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{id:"development-construction",title:"Co-Construction Process",sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Front-End Compilation",permalink:"/SolidUI-Website/docs/development/development-front"},next:{title:"Project Release Process",permalink:"/SolidUI-Website/docs/development/development-release"}},a={},c=[{value:"Process list",id:"process-list",level:2}],p={toc:c},m="wrapper";function u(e){let{components:t,...r}=e;return(0,n.kt)(m,(0,o.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"solidui-project-co-construction-process"},"SolidUI project co-construction process"),(0,n.kt)("h2",{id:"process-list"},"Process list"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Create issues -- Contributors (lead version)"),(0,n.kt)("li",{parentName:"ol"},"Submit PR -- Contributor (lead version)"),(0,n.kt)("li",{parentName:"ol"},"code review -- PMC member"),(0,n.kt)("li",{parentName:"ol"},"PR merge -- PMC member"),(0,n.kt)("li",{parentName:"ol"},"PR commit to the master branch -- Contributor (master version)"),(0,n.kt)("li",{parentName:"ol"},"Submit relevant documents to SolidUI-Website (installation and deployment documents, user usage documents, architecture design documents) Submit PR -- Contributor (lead version)"),(0,n.kt)("li",{parentName:"ol"},"SolidUI-Website code review -- PMC member"),(0,n.kt)("li",{parentName:"ol"},"SolidUI-Website PR merge -- PMC member"),(0,n.kt)("li",{parentName:"ol"},"SolidUI-Website PR commit to the master branch -- Contributor (lead version)"),(0,n.kt)("li",{parentName:"ol"},"Package & Install deployment tests based on the master branch -- Contributors (lead version)/testers"),(0,n.kt)("li",{parentName:"ol"},"Invite community users for private testing -- operators /PMC members"),(0,n.kt)("li",{parentName:"ol"},"Prepare to Release Notes -- Contributor (lead version)"),(0,n.kt)("li",{parentName:"ol"},"Official release -- Contributor (lead release)"),(0,n.kt)("li",{parentName:"ol"},"Prepare advertorials -- Contributors (lead version)"),(0,n.kt)("li",{parentName:"ol"},"Release publicity on the public account -- operator /PMC member"),(0,n.kt)("li",{parentName:"ol"},"MeetUp promotional version features -- operator /PMC member")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b1bdda4d.a5244e41.js b/assets/js/b1bdda4d.a5244e41.js new file mode 100644 index 00000000..aa4724b7 --- /dev/null +++ b/assets/js/b1bdda4d.a5244e41.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3884],{5745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/b5f0312c.b8cbb87b.js b/assets/js/b5f0312c.b8cbb87b.js new file mode 100644 index 00000000..251f93c4 --- /dev/null +++ b/assets/js/b5f0312c.b8cbb87b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5722],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t =0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r =0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var a=r.createContext({}),d=function(e){var t=r.useContext(a),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=d(e.components);return r.createElement(a.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=d(n),m=o,h=c["".concat(a,".").concat(m)]||c[m]||u[m]||i;return n?r.createElement(h,s(s({ref:t},p),{},{components:n})):r.createElement(h,s({ref:t},p))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,s=new Array(i);s[0]=m;var l={};for(var a in t)hasOwnProperty.call(t,a)&&(l[a]=t[a]);l.originalType=e,l[c]="string"==typeof e?e:o,s[1]=l;for(var d=2;d{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var r=n(7462),o=(n(7294),n(3905));const i={id:"deployment-kubernetes",title:"Kubernetes Deployment",sidebar_position:4},s="SolidUI Kubernetes deployment",l={unversionedId:"deployment/deployment-kubernetes",id:"deployment/deployment-kubernetes",title:"Kubernetes Deployment",description:"1. Environment preparation",source:"@site/docs/deployment/deplpyment-kubernetes.md",sourceDirName:"deployment",slug:"/deployment/deployment-kubernetes",permalink:"/SolidUI-Website/docs/deployment/deployment-kubernetes",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/deployment/deplpyment-kubernetes.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"deployment-kubernetes",title:"Kubernetes Deployment",sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Deployed Standalone",permalink:"/SolidUI-Website/docs/deployment/deployment-standalone"},next:{title:"Community Operation",permalink:"/SolidUI-Website/docs/operational/community-operation/"}},a={},d=[{value:"1. Environment preparation",id:"1-environment-preparation",level:2},{value:"Software Environment",id:"software-environment",level:3},{value:"Operating System",id:"operating-system",level:3},{value:"Hardware Environment",id:"hardware-environment",level:3},{value:"2.Start Helme (recommended)",id:"2start-helme-recommended",level:2},{value:"2.1 Download source code",id:"21-download-source-code",level:3},{value:"2.2 Start the service with Helm",id:"22-start-the-service-with-helm",level:3},{value:"2.3 View the service status and ingress port",id:"23-view-the-service-status-and-ingress-port",level:3},{value:"2.4 Accessing Services",id:"24-accessing-services",level:3}],p={toc:d},c="wrapper";function u(e){let{components:t,...n}=e;return(0,o.kt)(c,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"solidui-kubernetes-deployment"},"SolidUI Kubernetes deployment"),(0,o.kt)("h2",{id:"1-environment-preparation"},"1. Environment preparation"),(0,o.kt)("h3",{id:"software-environment"},"Software Environment"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},"Docker")," 1.13.1+ ",(0,o.kt)("a",{parentName:"p",href:"https://kubernetes.io/"},"Kubernetes")," 1.19.0+ ",(0,o.kt)("a",{parentName:"p",href:"https://helm.sh/"},"Helm")," 3.4.x+ ",(0,o.kt)("a",{parentName:"p",href:"https://kubernetes.github.io/ingress-nginx/"},"ingress")," 1.3.0+"),(0,o.kt)("h3",{id:"operating-system"},"Operating System"),(0,o.kt)("p",null,"Centos 7+, Ubuntu 20.04"),(0,o.kt)("h3",{id:"hardware-environment"},"Hardware Environment"),(0,o.kt)("p",null,"CPU 8core+\uff0cMemory 16G+ "),(0,o.kt)("h2",{id:"2start-helme-recommended"},"2.Start Helme (recommended)"),(0,o.kt)("p",null,"In this way, you need to install the Helm first. There are a lot of information on the installation website of the Helm, please install it by yourself."),(0,o.kt)("h3",{id:"21-download-source-code"},"2.1 Download source code"),(0,o.kt)("p",null,"Download the source code of ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," for items in the github."),(0,o.kt)("h3",{id:"22-start-the-service-with-helm"},"2.2 Start the service with Helm"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"# Enter the server (take Centos7 as an example)\n\ncd SolidUI/deploy/kubernetes/helm-solidui\n\nhelm install solidui ./\n")),(0,o.kt)("h3",{id:"23-view-the-service-status-and-ingress-port"},"2.3 View the service status and ingress port"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"//View pod status\nkubectl get pods -n solidui\n//View the ingress port\nkubectl get svc -A |grep ingress-nginx-controller\n//If you do not use ingress access, you can access it through the port-forward forwarding port\nkubectl port-forward svc/solidui-web 80:8099 --address 0.0.0.0 -n solidui\n")),(0,o.kt)("h3",{id:"24-accessing-services"},"2.4 Accessing Services"),(0,o.kt)("p",null,"Access link http://ingress-ip-address:ingress-port"),(0,o.kt)("p",null,"Default username and password: admin/admin"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b6f5f78e.5f7f00f1.js b/assets/js/b6f5f78e.5f7f00f1.js new file mode 100644 index 00000000..9beef287 --- /dev/null +++ b/assets/js/b6f5f78e.5f7f00f1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4069],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>f});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function l(e){for(var t=1;t =0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o =0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=o.createContext({}),c=function(e){var t=o.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=c(e.components);return o.createElement(d.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,d=e.parentName,s=a(e,["components","mdxType","originalType","parentName"]),p=c(n),m=r,f=p["".concat(d,".").concat(m)]||p[m]||u[m]||i;return n?o.createElement(f,l(l({ref:t},s),{},{components:n})):o.createElement(f,l({ref:t},s))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=m;var a={};for(var d in t)hasOwnProperty.call(t,d)&&(a[d]=t[d]);a.originalType=e,a[p]="string"==typeof e?e:r,l[1]=a;for(var c=2;c{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var o=n(7462),r=(n(7294),n(3905));const i={id:"development-front",title:"Front-End Compilation",sidebar_position:4},l="SolidUI front-end compilation",a={unversionedId:"development/development-front",id:"development/development-front",title:"Front-End Compilation",description:"1. Preconditions",source:"@site/docs/development/frontend-document.md",sourceDirName:"development",slug:"/development/development-front",permalink:"/SolidUI-Website/docs/development/development-front",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/development/frontend-document.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"development-front",title:"Front-End Compilation",sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Development Contribution",permalink:"/SolidUI-Website/docs/development/develop-contributing"},next:{title:"Co-Construction Process",permalink:"/SolidUI-Website/docs/development/development-construction"}},d={},c=[{value:"1. Preconditions",id:"1-preconditions",level:2},{value:"1.1 Install Node.js",id:"11-install-nodejs",level:3},{value:"1.2 Source code acquisition",id:"12-source-code-acquisition",level:3},{value:"2. Compile",id:"2-compile",level:2},{value:"2.1 Install npm dependencies",id:"21-install-npm-dependencies",level:3},{value:"2.2. Package project",id:"22-package-project",level:3}],s={toc:c},p="wrapper";function u(e){let{components:t,...n}=e;return(0,r.kt)(p,(0,o.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"solidui-front-end-compilation"},"SolidUI front-end compilation"),(0,r.kt)("h2",{id:"1-preconditions"},"1. Preconditions"),(0,r.kt)("h3",{id:"11-install-nodejs"},"1.1 Install Node.js"),(0,r.kt)("p",null,"This step is only required for the first use, if you already have a node environment, you can skip it"),(0,r.kt)("p",null,"Download Node.js locally and install it. Download address: ",(0,r.kt)("a",{parentName:"p",href:"http://nodejs.cn/download/"},"http://nodejs.cn/download/")," (It is recommended to use node v16 version)"),(0,r.kt)("h3",{id:"12-source-code-acquisition"},"1.2 Source code acquisition"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Method 1: Obtain the source code of the project from the github repository ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI"),".")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Method 2: Download and download the source package of the required version from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases"),"."))),(0,r.kt)("h2",{id:"2-compile"},"2. Compile"),(0,r.kt)("h3",{id:"21-install-npm-dependencies"},"2.1 Install npm dependencies"),(0,r.kt)("p",null,"Execute the following command on the terminal command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"#Enter the project WEB root directory\ncd solidui-x.x.x/solidui-web\n#Install the dependencies required by the project\nnpm install --legacy-peer-deps\n")),(0,r.kt)("p",null,"This step is only required for the first use."),(0,r.kt)("h3",{id:"22-package-project"},"2.2. Package project"),(0,r.kt)("p",null,"Execute the following command on the terminal command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"npm run build\n")),(0,r.kt)("p",null,"After the above command is executed successfully, the installation package dist of the front-end management console will be generated. You can directly put this folder into your static server, or refer to the installation documentation to use scripts for deployment and installation."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b774a57d.01db1e2b.js b/assets/js/b774a57d.01db1e2b.js new file mode 100644 index 00000000..04b51fa1 --- /dev/null +++ b/assets/js/b774a57d.01db1e2b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1301],{8341:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog/tags/solid-ui/page/2","page":2,"postsPerPage":3,"totalPages":2,"totalCount":6,"previousPage":"/SolidUI-Website/blog/tags/solid-ui","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/c0b1c6d1.d446ab76.js b/assets/js/c0b1c6d1.d446ab76.js new file mode 100644 index 00000000..4c77be2a --- /dev/null +++ b/assets/js/c0b1c6d1.d446ab76.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8807],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(7294);function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t =0||(s[r]=e[r]);return s}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n =0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,s=e.mdxType,o=e.originalType,l=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),p=c(r),d=s,m=p["".concat(l,".").concat(d)]||p[d]||f[d]||o;return r?n.createElement(m,i(i({ref:t},u),{},{components:r})):n.createElement(m,i({ref:t},u))}));function m(e,t){var r=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var o=r.length,i=new Array(o);i[0]=d;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a[p]="string"==typeof e?e:s,i[1]=a;for(var c=2;c {r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>f,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var n=r(7462),s=(r(7294),r(3905));const o={id:"faq",title:"FAQ",sidebar_position:1},i="Frequently Asked Questions",a={unversionedId:"faq/faq/faq",id:"faq/faq/faq",title:"FAQ",description:"Question answering process",source:"@site/docs/faq/faq/faq.md",sourceDirName:"faq/faq",slug:"/faq/faq/",permalink:"/SolidUI-Website/docs/faq/faq/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/faq/faq/faq.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"faq",title:"FAQ",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Test Case",permalink:"/SolidUI-Website/docs/test/test-case/"}},l={},c=[{value:"Question answering process",id:"question-answering-process",level:2},{value:"epilogue",id:"epilogue",level:2}],u={toc:c},p="wrapper";function f(e){let{components:t,...r}=e;return(0,s.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,s.kt)("h1",{id:"frequently-asked-questions"},"Frequently Asked Questions"),(0,s.kt)("h2",{id:"question-answering-process"},"Question answering process"),(0,s.kt)("p",null,"First of all, users should refer to the official account and SolidUI official website for relevant information. These two platforms may already contain the answers or related solutions that users need. This step can effectively save the user's time and reduce the work pressure of the development team.\nCommunity official website: ",(0,s.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,s.kt)("p",null,"However, if this step does not meet the user's needs, we enter the second stage: let the user submit an issue. At this stage, users can clearly describe the problems or requirements they encounter, and submit them to the project's issue tracking system. This not only helps the development team better understand the problem, but also serves as a reference for other users who encounter the same problem.\nIssue address: ",(0,s.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues"},"https://github.com/CloudOrc/SolidUI/issues")),(0,s.kt)("h2",{id:"epilogue"},"epilogue"),(0,s.kt)("p",null,"Overall, this Q&A process is an approach aimed at increasing efficiency and transparency. Not only does it help users find answers, but it also helps project teams better manage and track issues. Users can solve problems by themselves through official accounts and official website information; and through issue submission, users and the development team can communicate better and jointly promote the progress of the project."))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c247501b.d51606fa.js b/assets/js/c247501b.d51606fa.js new file mode 100644 index 00000000..88b9c04e --- /dev/null +++ b/assets/js/c247501b.d51606fa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[527],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>v});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t =0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n =0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),c=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},h="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),h=c(r),u=o,v=h["".concat(s,".").concat(u)]||h[u]||p[u]||a;return r?n.createElement(v,l(l({ref:t},d),{},{components:r})):n.createElement(v,l({ref:t},d))}));function v(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,l=new Array(a);l[0]=u;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[h]="string"==typeof e?e:o,l[1]=i;for(var c=2;c{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var n=r(7462),o=(r(7294),r(3905));const a={id:"development-release",title:"Project Release Process",sidebar_position:6},l=void 0,i={unversionedId:"development/development-release",id:"development/development-release",title:"Project Release Process",description:"SolidUI project release process",source:"@site/docs/development/publishing-process.md",sourceDirName:"development",slug:"/development/development-release",permalink:"/SolidUI-Website/docs/development/development-release",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/development/publishing-process.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{id:"development-release",title:"Project Release Process",sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Co-Construction Process",permalink:"/SolidUI-Website/docs/development/development-construction"},next:{title:"Server-side Compilation",permalink:"/SolidUI-Website/docs/development/development-server"}},s={},c=[{value:"SolidUI project release process",id:"solidui-project-release-process",level:2},{value:"Authorization",id:"authorization",level:2},{value:"Materials pack",id:"materials-pack",level:2},{value:"branch",id:"branch",level:3},{value:"Create a release-${release_version}-rcx branch based on the development branch to be released",id:"create-a-release-release_version-rcx-branch-based-on-the-development-branch-to-be-released",level:3},{value:"tag",id:"tag",level:3},{value:"clone the corresponding release branches locally",id:"clone-the-corresponding-release-branches-locally",level:3},{value:"The version number is confirmed",id:"the-version-number-is-confirmed",level:2},{value:"Verify material package",id:"verify-material-package",level:2},{value:"Initiate a vote",id:"initiate-a-vote",level:2},{value:"Community voting phase",id:"community-voting-phase",level:3},{value:"Close the voting thread",id:"close-the-voting-thread",level:3},{value:"Cancel the vote (if necessary)",id:"cancel-the-vote-if-necessary",level:3},{value:"Announce the results of the vote",id:"announce-the-results-of-the-vote",level:3},{value:"Official release",id:"official-release",level:2},{value:"GitHub version created",id:"github-version-created",level:3}],d={toc:c},h="wrapper";function p(e){let{components:t,...r}=e;return(0,o.kt)(h,(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"solidui-project-release-process"},"SolidUI project release process"),(0,o.kt)("h2",{id:"authorization"},"Authorization"),(0,o.kt)("p",null,"Now it is the PMC member who initiates the release process and has the release rights."),(0,o.kt)("h2",{id:"materials-pack"},"Materials pack"),(0,o.kt)("h3",{id:"branch"},"branch"),(0,o.kt)("p",null,"Pull the new branch from the release branch as the release branch. If you want to release ${release_version}, pull the new branch release-${release_version}-${condition_version} from the release branch, All operations thereafter occur on the release-${release_version}-${condition_version} branch."),(0,o.kt)("h3",{id:"create-a-release-release_version-rcx-branch-based-on-the-development-branch-to-be-released"},"Create a release-${release_version}-rcx branch based on the development branch to be released"),(0,o.kt)("p",null,"If the currently developed source branch is dev-0.1.0, and you need to release version 0.1.0, create a branch: release-0.1.0-rc1"),(0,o.kt)("h3",{id:"tag"},"tag"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},'git tag -a release-0.1.0-rc1 -m "release 0.1.0-rc1"\ngit push origin release-0.1.0-rc1\n')),(0,o.kt)("h3",{id:"clone-the-corresponding-release-branches-locally"},"clone the corresponding release branches locally"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"#-b release-0.1.0-rc1 Specifies the clone branch -c(config) specifies the configuration core to use. Lf =false turns off the newline conversion\nGit clone - release - 0.1.0 from b - rc1 - c core. Autocrlf = false git@github.com: CloudOrc/SolidUI git\n")),(0,o.kt)("h2",{id:"the-version-number-is-confirmed"},"The version number is confirmed"),(0,o.kt)("h2",{id:"verify-material-package"},"Verify material package"),(0,o.kt)("p",null,"It is best to verify the prepared materials on both Windows and UNIx-like systems to avoid system compatibility issues such as line breaks"),(0,o.kt)("h2",{id:"initiate-a-vote"},"Initiate a vote"),(0,o.kt)("h3",{id:"community-voting-phase"},"Community voting phase"),(0,o.kt)("p",null,"When an issue initiates a vote, the PMC needs to check whether the version is correct according to the document before voting. At least 3 +1 PMC member votes can be counted before the voting is closed."),(0,o.kt)("h3",{id:"close-the-voting-thread"},"Close the voting thread"),(0,o.kt)("p",null,"If the required number of votes has been reached and you need to reply to the voting email before collecting the results, the voting thread is closed."),(0,o.kt)("h3",{id:"cancel-the-vote-if-necessary"},"Cancel the vote (if necessary)"),(0,o.kt)("p",null,"If there are some serious problems that need to be repaired and re-released, the voting needs to be cancelled. The release manager needs to start a new issue of voting cancellation and explain it."),(0,o.kt)("h3",{id:"announce-the-results-of-the-vote"},"Announce the results of the vote"),(0,o.kt)("p",null,"issue the results"),(0,o.kt)("h2",{id:"official-release"},"Official release"),(0,o.kt)("h3",{id:"github-version-created"},"GitHub version created"),(0,o.kt)("p",null,"To create the page ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/releases/new"},"https://github.com/CloudOrc/SolidUI/releases/new")," based on previous SolidUI 0.1.0 from - rc1 branch created called 0.1.0 from the tag, Fill in the title SolidUI release-0.1.0 and write release notes for that version"),(0,o.kt)("p",null,"check"),(0,o.kt)("p",null,"Merge ${release_version}-RC branch to master branch (if not merged)"))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c5a490c3.7bcdf5a4.js b/assets/js/c5a490c3.7bcdf5a4.js new file mode 100644 index 00000000..68de13ee --- /dev/null +++ b/assets/js/c5a490c3.7bcdf5a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8445],{3905:(e,t,o)=>{o.d(t,{Zo:()=>p,kt:()=>y});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function i(e){for(var t=1;t =0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r =0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var d=r.createContext({}),s=function(e){var t=r.useContext(d),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},p=function(e){var t=s(e.components);return r.createElement(d.Provider,{value:t},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,a=e.originalType,d=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=s(o),u=n,y=c["".concat(d,".").concat(u)]||c[u]||m[u]||a;return o?r.createElement(y,i(i({ref:t},p),{},{components:o})):r.createElement(y,i({ref:t},p))}));function y(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=o.length,i=new Array(a);i[0]=u;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l[c]="string"==typeof e?e:n,i[1]=l;for(var s=2;s{o.r(t),o.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var r=o(7462),n=(o(7294),o(3905));const a={id:"deployment-docker",title:"Docker-Compose Deployment",sidebar_position:2},i="SolidUI Docker-Compose deployment",l={unversionedId:"deployment/deployment-docker",id:"deployment/deployment-docker",title:"Docker-Compose Deployment",description:"1. Environment preparation",source:"@site/docs/deployment/deployment-docker.md",sourceDirName:"deployment",slug:"/deployment/deployment-docker",permalink:"/SolidUI-Website/docs/deployment/deployment-docker",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/deployment/deployment-docker.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"deployment-docker",title:"Docker-Compose Deployment",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Front-End Deployment",permalink:"/SolidUI-Website/docs/deployment/deployment-web"},next:{title:"Deployed Standalone",permalink:"/SolidUI-Website/docs/deployment/deployment-standalone"}},d={},s=[{value:"1. Environment preparation",id:"1-environment-preparation",level:2},{value:"2. Start docker-compose (recommended)",id:"2-start-docker-compose-recommended",level:2},{value:"2.1 Download deployment package or source code",id:"21-download-deployment-package-or-source-code",level:3},{value:"2.2 Pull the image and start the service",id:"22-pull-the-image-and-start-the-service",level:3},{value:"2.3 Modify the database table information, modify the table solidui_model_type, token and baseurl fields (supported after version 0.2.0)",id:"23-modify-the-database-table-information-modify-the-table-solidui_model_type-token-and-baseurl-fields-supported-after-version-020",level:3},{value:"2.4 Accessing Services",id:"24-accessing-services",level:3}],p={toc:s},c="wrapper";function m(e){let{components:t,...o}=e;return(0,n.kt)(c,(0,r.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"solidui-docker-compose-deployment"},"SolidUI Docker-Compose deployment"),(0,n.kt)("h2",{id:"1-environment-preparation"},"1. Environment preparation"),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},"Docker")," 1.13.1+\n",(0,n.kt)("a",{parentName:"p",href:"https://docs.docker.com/compose/"},"Docker Compose")," 1.11.0+"),(0,n.kt)("h2",{id:"2-start-docker-compose-recommended"},"2. Start docker-compose (recommended)"),(0,n.kt)("p",null,"This method needs to install docker-compose first, there are already a lot of information on the installation of docker-compose on the Internet, please install it yourself"),(0,n.kt)("h3",{id:"21-download-deployment-package-or-source-code"},"2.1 Download deployment package or source code"),(0,n.kt)("p",null,"Download at ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases")),(0,n.kt)("p",null,"Please download the source package solidui-x.x.x-bin.tar.gz"),(0,n.kt)("h3",{id:"22-pull-the-image-and-start-the-service"},"2.2 Pull the image and start the service"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# Enter the server (take Centos7 as an example)\ntar -zxvf solidui-x.x.x-bin.tar.gz\n\ncd solidui-x.x.x-bin/docker/\n\ndocker-compose up -d\n\n")),(0,n.kt)("h3",{id:"23-modify-the-database-table-information-modify-the-table-solidui_model_type-token-and-baseurl-fields-supported-after-version-020"},"2.3 Modify the database table information, modify the table solidui_model_type, token and baseurl fields (supported after version 0.2.0)"),(0,n.kt)("p",null,"token is the model API token"),(0,n.kt)("p",null,"baseurl is the base address of the model API, for example: ",(0,n.kt)("a",{parentName:"p",href:"https://api.openai.com"},"https://api.openai.com")," (this is the address of openai abroad), ",(0,n.kt)("a",{parentName:"p",href:"https://api.chatanywhere.com.cn"},"https://api.chatanywhere.com.cn")," (the address of openai's domestic agent), http://ip: port (chatGLM address)"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# Enter the mysql created by Docker-Compose\nmysql -h ip -u root -p\nuse solidui;\nupdate solidui_model_type set token = '' , baseurl='' where id = 'id';\n\n")),(0,n.kt)("h3",{id:"24-accessing-services"},"2.4 Accessing Services"),(0,n.kt)("p",null,"Access link http://localhost:8099"),(0,n.kt)("p",null,"Default username and password: admin/adm"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c7491b26.98416a17.js b/assets/js/c7491b26.98416a17.js new file mode 100644 index 00000000..ce2861e4 --- /dev/null +++ b/assets/js/c7491b26.98416a17.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5412],{3905:(e,t,l)=>{l.d(t,{Zo:()=>c,kt:()=>k});var i=l(7294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function o(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function r(e){for(var t=1;t =0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i =0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var u=i.createContext({}),s=function(e){var t=i.useContext(u),l=t;return e&&(l="function"==typeof e?e(t):r(r({},t),e)),l},c=function(e){var t=s(e.components);return i.createElement(u.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var l=e.components,n=e.mdxType,o=e.originalType,u=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),d=s(l),m=n,k=d["".concat(u,".").concat(m)]||d[m]||p[m]||o;return l?i.createElement(k,r(r({ref:t},c),{},{components:l})):i.createElement(k,r({ref:t},c))}));function k(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=l.length,r=new Array(o);r[0]=m;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[d]="string"==typeof e?e:n,r[1]=a;for(var s=2;s {l.r(t),l.d(t,{assets:()=>u,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>s});var i=l(7462),n=(l(7294),l(3905));const o={title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",date:new Date("2023-07-03T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},r=void 0,a={permalink:"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-03-independent-deployment-communication-analysis.md",source:"@site/blog/2023-07-03-independent-deployment-communication-analysis.md",title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",description:"\u80cc\u666f",date:"2023-07-03T00:00:00.000Z",formattedDate:"July 3, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:3.635,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",date:"2023-07-03T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI Community - Official Website Introduction",permalink:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"},nextItem:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"}},u={authorsImageUrls:[]},s=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1",id:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1",level:2},{value:"\u4f8b\u5982",id:"\u4f8b\u5982",level:3},{value:"Docker \u90e8\u7f72\u901a\u4fe1",id:"docker-\u90e8\u7f72\u901a\u4fe1",level:2},{value:"\u4f8b\u5982",id:"\u4f8b\u5982-1",level:3},{value:"\u7ed3\u8bed",id:"\u7ed3\u8bed",level:2},{value:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",level:2}],c={toc:s},d="wrapper";function p(e){let{components:t,...l}=e;return(0,n.kt)(d,(0,i.Z)({},c,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,n.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,n.kt)("p",null,"\u9879\u76ee\u5730\u5740: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"\u9879\u76ee\u955c\u50cf\u5730\u5740: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("h2",{id:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1"},"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1"),(0,n.kt)("p",null,"\u5355\u72ec\u90e8\u7f72\uff0c\u4e0e\u5916\u7f51\u901a\u4fe1\uff0c\u8fd9\u5757\u4e0d\u96be\u53ea\u6709\u76f8\u5e94\u516c\u7f51\uff0c\u5c31\u53ef\u4ee5\u6b63\u5e38\u8bbf\u95ee\u3002"),(0,n.kt)("p",null,"\u5355\u72ec\u90e8\u7f72\uff0c\u5185\u90e8\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff0c\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\u3002"),(0,n.kt)("h3",{id:"\u4f8b\u5982"},"\u4f8b\u5982"),(0,n.kt)("p",null,"\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\uff0c\u6ca1\u6709\u7684\u8bdd\u7528127.0.0.1 \u5c31\u53ef\u4ee5\u3002"),(0,n.kt)("p",null,"\u8bbe\u7f6e Snakemq \u901a\u4fe1"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-plain"},"soliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e\u5185\u7f51ip\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6e\u5185\u7f51ip\n")),(0,n.kt)("h2",{id:"docker-\u90e8\u7f72\u901a\u4fe1"},"Docker \u90e8\u7f72\u901a\u4fe1"),(0,n.kt)("p",null,"\u5bb9\u5668\u5316\u90e8\u7f72\uff0c\u5728\u6b64\u6211\u7b80\u5316\u63cf\u8ff0\uff0c\u4e0d\u5e26\u5bb9\u5668\u7ba1\u7406\u6846\u67b6\u63cf\u8ff0\uff0c\u56e0\u4e3a\u901a\u4fe1\u6700\u6839\u672c\u7684\u660e\u767d\u540e\uff0c\u5176\u5b83\u5728\u6846\u67b6\u4e2d\u4e5f\u5c31\u660e\u767d\u4e86\uff0c\u5916\u90e8\u901a\u4fe1\uff0c\u5f00\u653e\u7aef\u53e3 \uff0c\u5185\u90e8\u901a\u4fe1\uff0c\u901a\u8fc7\u8bbe\u7f6e\u7f51\u6bb5\u540d\u79f0\uff0c\u4e0d\u540c\u5bb9\u5668\u901a\u4fe1\uff0c\u901a\u8fc7\u5bb9\u5668\u540d\u79f0\u8fdb\u884c\u3002"),(0,n.kt)("h3",{id:"\u4f8b\u5982-1"},"\u4f8b\u5982"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"\u6570\u636e\u5e93\u8fde\u63a5")),(0,n.kt)("p",null,"\u5728docker-compose.yml \u4e2d\uff0c\u8bbe\u7f6e\u4e86Mysql\u6570\u636e\u5e93\u540d\u79f0\u4e3amysql "),(0,n.kt)("p",null,"\u6240\u4ee5solidui-entrance application.yaml \u4e2d datasource.url mysql \u66ff\u6362 localhost"),(0,n.kt)("p",null,"soliduimodelui/.env DB_HOST mysql \u66ff\u6362 localhost "),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"soliduimodelui/.env Snakemq \u901a\u4fe1")),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-plain"},"soliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e0.0.0.0\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6esoliduimodelui\n")),(0,n.kt)("h2",{id:"\u7ed3\u8bed"},"\u7ed3\u8bed"),(0,n.kt)("p",null,"\u672c\u6587\u901a\u8fc7\u8bb2\u89e3\u72ec\u7acb\u90e8\u7f72 \u548c Docker \u901a\u4fe1\u5206\u6790 \uff0c\u544a\u8bc9\u90e8\u7f72\u8bbe\u7f6eip\u65f6\u5019\u65b9\u5f0f\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002"),(0,n.kt)("h2",{id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"},"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("li",{parentName:"ul"},"\u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("li",{parentName:"ul"},"\u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ccc49370.f58d2f47.js b/assets/js/ccc49370.f58d2f47.js new file mode 100644 index 00000000..15f5dc6a --- /dev/null +++ b/assets/js/ccc49370.f58d2f47.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6103],{5203:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var a=n(7294),l=n(6010),o=n(1944),r=n(5281),i=n(9460),c=n(9058),s=n(390),m=n(7462),d=n(5999),u=n(2244);function g(e){const{nextItem:t,prevItem:n}=e;return a.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,d.I)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"})},n&&a.createElement(u.Z,(0,m.Z)({},n,{subLabel:a.createElement(d.Z,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post"},"Newer Post")})),t&&a.createElement(u.Z,(0,m.Z)({},t,{subLabel:a.createElement(d.Z,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post"},"Older Post"),isNext:!0})))}function f(){const{assets:e,metadata:t}=(0,i.C)(),{title:n,description:l,date:r,tags:c,authors:s,frontMatter:m}=t,{keywords:d}=m,u=e.image??m.image;return a.createElement(o.d,{title:n,description:l,keywords:d,image:u},a.createElement("meta",{property:"og:type",content:"article"}),a.createElement("meta",{property:"article:published_time",content:r}),s.some((e=>e.url))&&a.createElement("meta",{property:"article:author",content:s.map((e=>e.url)).filter(Boolean).join(",")}),c.length>0&&a.createElement("meta",{property:"article:tag",content:c.map((e=>e.label)).join(",")}))}var v=n(9407);function p(e){let{sidebar:t,children:n}=e;const{metadata:l,toc:o}=(0,i.C)(),{nextItem:r,prevItem:m,frontMatter:d}=l,{hide_table_of_contents:u,toc_min_heading_level:f,toc_max_heading_level:p}=d;return a.createElement(c.Z,{sidebar:t,toc:!u&&o.length>0?a.createElement(v.Z,{toc:o,minHeadingLevel:f,maxHeadingLevel:p}):void 0},a.createElement(s.Z,null,n),(r||m)&&a.createElement(g,{nextItem:r,prevItem:m}))}function h(e){const t=e.content;return a.createElement(i.n,{content:e.content,isBlogPostPage:!0},a.createElement(o.FG,{className:(0,l.Z)(r.k.wrapper.blogPages,r.k.page.blogPostPage)},a.createElement(f,null),a.createElement(p,{sidebar:e.sidebar},a.createElement(t,null))))}},9407:(e,t,n)=>{n.d(t,{Z:()=>m});var a=n(7462),l=n(7294),o=n(6010),r=n(3743);const i={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"},c="table-of-contents__link toc-highlight",s="table-of-contents__link--active";function m(e){let{className:t,...n}=e;return l.createElement("div",{className:(0,o.Z)(i.tableOfContents,"thin-scrollbar",t)},l.createElement(r.Z,(0,a.Z)({},n,{linkClassName:c,linkActiveClassName:s})))}},3743:(e,t,n)=>{n.d(t,{Z:()=>f});var a=n(7462),l=n(7294),o=n(6668);function r(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...l}=e;n>=0?t[n].children.push(l):a.push(l)})),a}function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function c(e){const t=e.getBoundingClientRect();return t.top===t.bottom?c(e.parentNode):t}function s(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>c(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom {e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,l.useRef)(void 0),n=m();(0,l.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:l,minHeadingLevel:o,maxHeadingLevel:r}=e;function i(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),i=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let l=t;l<=n;l+=1)a.push(`h${l}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:o,maxHeadingLevel:r}),c=s(i,{anchorTopOffset:n.current}),m=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(l),e.classList.add(l),t.current=e):e.classList.remove(l)}(e,e===m)}))}return document.addEventListener("scroll",i),document.addEventListener("resize",i),i(),()=>{document.removeEventListener("scroll",i),document.removeEventListener("resize",i)}}),[e,n])}function u(e){let{toc:t,className:n,linkClassName:a,isChild:o}=e;return t.length?l.createElement("ul",{className:o?void 0:n},t.map((e=>l.createElement("li",{key:e.id},l.createElement("a",{href:`#${e.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:e.value}}),l.createElement(u,{isChild:!0,toc:e.children,className:n,linkClassName:a}))))):null}const g=l.memo(u);function f(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:c="table-of-contents__link",linkActiveClassName:s,minHeadingLevel:m,maxHeadingLevel:u,...f}=e;const v=(0,o.L)(),p=m??v.tableOfContents.minHeadingLevel,h=u??v.tableOfContents.maxHeadingLevel,b=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,l.useMemo)((()=>i({toc:r(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:p,maxHeadingLevel:h});return d((0,l.useMemo)((()=>{if(c&&s)return{linkClassName:c,linkActiveClassName:s,minHeadingLevel:p,maxHeadingLevel:h}}),[c,s,p,h])),l.createElement(g,(0,a.Z)({toc:b,className:n,linkClassName:c},f))}}}]); \ No newline at end of file diff --git a/assets/js/cd4de7b0.972285f0.js b/assets/js/cd4de7b0.972285f0.js new file mode 100644 index 00000000..68282c2d --- /dev/null +++ b/assets/js/cd4de7b0.972285f0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5933],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>_});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function d(e){for(var t=1;t =0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o =0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),s=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):d(d({},t),e)),n},p=function(e){var t=s(e.components);return o.createElement(l.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),u=s(n),m=r,_=u["".concat(l,".").concat(m)]||u[m]||c[m]||i;return n?o.createElement(_,d(d({ref:t},p),{},{components:n})):o.createElement(_,d({ref:t},p))}));function _(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,d=new Array(i);d[0]=m;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a[u]="string"==typeof e?e:r,d[1]=a;for(var s=2;s{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>c,frontMatter:()=>i,metadata:()=>a,toc:()=>s});var o=n(7462),r=(n(7294),n(3905));const i={id:"deployment-web",title:"Front-End Deployment",sidebar_position:1},d="SolidUI front-end deployment",a={unversionedId:"deployment/deployment-web",id:"deployment/deployment-web",title:"Front-End Deployment",description:"1 Preparations",source:"@site/docs/deployment/deployment-web.md",sourceDirName:"deployment",slug:"/deployment/deployment-web",permalink:"/SolidUI-Website/docs/deployment/deployment-web",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/deployment/deployment-web.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"deployment-web",title:"Front-End Deployment",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Server-side Compilation",permalink:"/SolidUI-Website/docs/development/development-server"},next:{title:"Docker-Compose Deployment",permalink:"/SolidUI-Website/docs/deployment/deployment-docker"}},l={},s=[{value:"1 Preparations",id:"1-preparations",level:2},{value:"2 deployment",id:"2-deployment",level:2},{value:"2.1 Automated deployment (recommended)",id:"21-automated-deployment-recommended",level:3},{value:"2.1.1 Modify configuration config.sh",id:"211-modify-configuration-configsh",level:4},{value:"2.2 Manual deployment",id:"22-manual-deployment",level:3},{value:"2.2.1 Install Nginx",id:"221-install-nginx",level:4},{value:"2.2.2 Modify configuration file",id:"222-modify-configuration-file",level:4},{value:"2.2.3 Resource deployment",id:"223-resource-deployment",level:4},{value:"2.2.4 Start service",id:"224-start-service",level:4},{value:"3 login",id:"3-login",level:2},{value:"4 Notes",id:"4-notes",level:2},{value:"5 Frequently Asked Questions",id:"5-frequently-asked-questions",level:2},{value:"5.1 Interface timeout",id:"51-interface-timeout",level:3}],p={toc:s},u="wrapper";function c(e){let{components:t,...n}=e;return(0,r.kt)(u,(0,o.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"solidui-front-end-deployment"},"SolidUI front-end deployment"),(0,r.kt)("h2",{id:"1-preparations"},"1 Preparations"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Method 1: Download the address from the official website: ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases"),", and download the corresponding installation package (overall installation package)."),(0,r.kt)("li",{parentName:"ul"},"Method 2: Compile the project installation package according to SolidUI.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"tar -zxvf solidui-x.x.x-bin.tar.gz\n# front-end directory\ncd solidui-x.x.x/solidui-web\n")),(0,r.kt)("h2",{id:"2-deployment"},"2 deployment"),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Divided into two deployment methods, automated deployment and manual deployment")),(0,r.kt)("h3",{id:"21-automated-deployment-recommended"},"2.1 Automated deployment (recommended)"),(0,r.kt)("h4",{id:"211-modify-configuration-configsh"},"2.1.1 Modify configuration config.sh"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},'# solidui service address\nsolidui_url="http://127.0.0.1:12345"\n# models backend address\nsolidui_url_models="http://127.0.0.1:5110"\n# kernel backend address\nsolidui_url_kernel="http://127.0.0.1:5010"\n#It can be configured as the ip of the installation machine or use the default value\nsolidui_ipaddr=127.0.0.1\n# Port to access the management console\nsolidui_port=8099\n\n#### 2.1.2 Execute the deployment script\n```shell script\n# nginx needs sudo permission to install\nsudo sh install.sh\n')),(0,r.kt)("p",null,"After installation, the nginx configuration file of solidui is in ",(0,r.kt)("inlineCode",{parentName:"p"},"/etc/nginx/conf.d/solidui.conf")," by default\nThe log files of nginx are in ",(0,r.kt)("inlineCode",{parentName:"p"},"/var/log/nginx/access.log")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"/var/log/nginx/error.log"),"\nAn example of the generated solidui nginx configuration file is as follows:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-nginx"},"server {\n listen 8099;\n server_name localhost;\n\n location / {\n root /opt/solidui/solidui-web/dist; # Static file directory\n index index.html index.html;\n }\n\n location /solidui {\n proxy_pass $solidui_url; # The address of the backend SolidUI\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/models {\n proxy_pass $solidui_url_models; # modelui backend address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/kernel {\n proxy_pass $solidui_url_kernel; # modelui kernel backend address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n error_page 500 502 503 504 /50x.html;\n location = /50x.html {\n root /usr/share/nginx/html;\n }\n}\n")),(0,r.kt)("h3",{id:"22-manual-deployment"},"2.2 Manual deployment"),(0,r.kt)("h4",{id:"221-install-nginx"},"2.2.1 Install Nginx"),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"If you have already installed nginx, you can skip it")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"sudo yum install nginx -y\n")),(0,r.kt)("h4",{id:"222-modify-configuration-file"},"2.2.2 Modify configuration file"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"sudo vi /etc/nginx/conf.d/solidui.conf\n")),(0,r.kt)("p",null,"Add the following:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"server {\n listen 8080;# access port\n server_name localhost;\n #charset koi8-r;\n #access_log /var/log/nginx/host.access.log main;\n location / {\n root /opt/solidui/solidui-web/dist; # The directory where the front-end package is decompressed\n index index.html index.html;\n }\n\n location /solidui {\n proxy_pass http://127.0.0.1:12345; # solidui service address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/models {\n proxy_pass http://127.0.0.1:5110; # modelui backend address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/kernel {\n proxy_pass http://127.0.0.1:5010; # modelui kernel backend address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n \n error_page 500 502 503 504 /50x.html;\n location = /50x.html {\n root /usr/share/nginx/html;\n }\n}\n")),(0,r.kt)("h4",{id:"223-resource-deployment"},"2.2.3 Resource deployment"),(0,r.kt)("p",null,"Suppose the product path after the front-end ",(0,r.kt)("inlineCode",{parentName:"p"},"npm run build")," is: ",(0,r.kt)("inlineCode",{parentName:"p"},"/opt/solidui/solidui-web/dist")),(0,r.kt)("h4",{id:"224-start-service"},"2.2.4 Start service"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"sudo systemctl restart nginx\n")),(0,r.kt)("h2",{id:"3-login"},"3 login"),(0,r.kt)("p",null,"Browser access ",(0,r.kt)("inlineCode",{parentName:"p"},"http://solidui_ipaddr:solidui_port")," where solidui_port is the port configured in config.sh, solidui_ipaddr is the IP of the installation machine, and the default account password is: ",(0,r.kt)("inlineCode",{parentName:"p"},"admin/admin")),(0,r.kt)("h2",{id:"4-notes"},"4 Notes"),(0,r.kt)("p",null,"If you need to modify the port or static resource directory, etc., please modify the ",(0,r.kt)("inlineCode",{parentName:"p"},"/etc/nginx/conf.d/solidui.conf")," file and execute the ",(0,r.kt)("inlineCode",{parentName:"p"},"sudo nginx -s reload")," command"),(0,r.kt)("admonition",{title:"Caution",type:"caution"},(0,r.kt)("ul",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ul"},"Check whether nginx starts normally: check whether the nginx process exists ",(0,r.kt)("inlineCode",{parentName:"li"},"ps -ef |grep nginx")),(0,r.kt)("li",{parentName:"ul"},"Check if the configuration of nginx is correct ",(0,r.kt)("inlineCode",{parentName:"li"},"sudo nginx -T")),(0,r.kt)("li",{parentName:"ul"},"If the port is occupied, you can modify the service port ",(0,r.kt)("inlineCode",{parentName:"li"},"/etc/nginx/conf.d/solidui.conf"),"listen port value started by nginx, save and restart"))),(0,r.kt)("h2",{id:"5-frequently-asked-questions"},"5 Frequently Asked Questions"),(0,r.kt)("h3",{id:"51-interface-timeout"},"5.1 Interface timeout"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"sudo vi /etc/nginx/conf.d/solidui.conf\n")),(0,r.kt)("p",null,"Change interface timeout"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"proxy_read_timeout 600s\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d97b9c6c.c115855a.js b/assets/js/d97b9c6c.c115855a.js new file mode 100644 index 00000000..f61d3810 --- /dev/null +++ b/assets/js/d97b9c6c.c115855a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6160],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>h});var n=i(7294);function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function a(e){for(var t=1;t =0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n =0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var l=n.createContext({}),s=function(e){var t=n.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},c=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var i=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),p=s(i),m=o,h=p["".concat(l,".").concat(m)]||p[m]||u[m]||r;return i?n.createElement(h,a(a({ref:t},c),{},{components:i})):n.createElement(h,a({ref:t},c))}));function h(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=i.length,a=new Array(r);a[0]=m;var d={};for(var l in t)hasOwnProperty.call(t,l)&&(d[l]=t[l]);d.originalType=e,d[p]="string"==typeof e?e:o,a[1]=d;for(var s=2;s {i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>s});var n=i(7462),o=(i(7294),i(3905));const r={id:"front-end-architecture",title:"Frontend Design",sidebar_position:2},a=void 0,d={unversionedId:"design/front-end-architecture/front-end-architecture",id:"design/front-end-architecture/front-end-architecture",title:"Frontend Design",description:"1. SolidUI Module",source:"@site/docs/design/front-end-architecture/README.md",sourceDirName:"design/front-end-architecture",slug:"/design/front-end-architecture/",permalink:"/SolidUI-Website/docs/design/front-end-architecture/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/design/front-end-architecture/README.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"front-end-architecture",title:"Frontend Design",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Server Architecture",permalink:"/SolidUI-Website/docs/design/server-architecture/"},next:{title:"Metadata",permalink:"/SolidUI-Website/docs/design/metadata/"}},l={},s=[{value:"1. SolidUI Module",id:"1-solidui-module",level:3},{value:"2. \u603b\u89c8\u67b6\u6784",id:"2-\u603b\u89c8\u67b6\u6784",level:3},{value:"3. SolidEditor & Preview\uff08WISYWI\uff09",id:"3-solideditor--previewwisywi",level:3},{value:"4. SolidView & JSONSchema & Configuration",id:"4-solidview--jsonschema--configuration",level:3}],c={toc:s},p="wrapper";function u(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h3",{id:"1-solidui-module"},"1. SolidUI Module"),(0,o.kt)("p",null,(0,o.kt)("img",{src:i(254).Z,width:"2388",height:"1418"})),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"The designer is divided into five areas. includes Layer/Page, SolidView List, SolidEditor, Configuration, SolidView Select List.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Layer/Page\uff1aThe Layer is mainly to configure the scene, and the Page is to configure and design its own components.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SolidView List\uff1aIt is convenient to select the components to be configured, and perform management operations such as deleting and locking the components.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SolidEditor\uff1aAs a highly cohesive component, it can subscribe and publish events externally through EventBus. Inside the component, RulerGuides, InfiniteView, Moveable, Selecto, and Viewport are used to complete the interaction and operation logic of the entire editing area.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Configuration\uff1aConfigure the WYSIWYG style, data source, event interaction, etc. for the selected SolidView.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SolidView Select List\uff1aProvides a button area at the top for selecting and placing individual components."))),(0,o.kt)("h3",{id:"2-\u603b\u89c8\u67b6\u6784"},"2. \u603b\u89c8\u67b6\u6784"),(0,o.kt)("p",null,(0,o.kt)("img",{src:i(7781).Z,width:"2318",height:"1086"})),(0,o.kt)("h3",{id:"3-solideditor--previewwisywi"},"3. SolidEditor & Preview\uff08WISYWI\uff09"),(0,o.kt)("p",null,(0,o.kt)("img",{src:i(6111).Z,width:"2390",height:"1416"})),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SolidEditor integrates RulerGuides (rulers, auxiliary lines), InfiniteView (infinite scrolling view in the editing area), Viewport (visible area), Moveable (basic capabilities such as drag and drop, size, rounded corners, alignment, and marking lines), Selecto (multiple selection, combination).")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SolidView is a reusable base class component. We hope to display various SolidViews through a well-designed JSONSchema and its specific JSON content, that is, SolidView should only be bound to the JSONSchema data model and injected into EventBus to complete Interaction between different SolidViews. But when we are editing the design, we need to wrap SolidView to achieve the design capabilities in the designer mode. So we need to wrap SolidView in edit mode to get a ProxyView.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"When we preview the designed page, our SolidShowEngine will load the designed JSONSchema specific data model to complete the final rendering."))),(0,o.kt)("h3",{id:"4-solidview--jsonschema--configuration"},"4. SolidView & JSONSchema & Configuration"),(0,o.kt)("p",null,(0,o.kt)("img",{src:i(3528).Z,width:"2198",height:"778"})),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Design JSONSchema to define what a SolidView component should look like, and different SolidView components may extend JSONSchema. The advantage of this is that we abstract SolidView into a JSON description document, which can focus on JSONSchema, and discuss the feasibility of each modification for JSONSchema.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"On the basis of JSONSchema, plan the configuration capabilities of the Configuration module. Including UI display, component development required by UI, etc.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Interaction process: select a component -> modify the configuration item -> send a modification event -> SolidEditor receives the subscribed event message -> find the target SolidView -> find the corresponding JSONSchem -> verify and save the modification -> SolidView for this configuration modify in response."))))}u.isMDXComponent=!0},7781:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/SolidUI_Front-end_Architecture_Design-74e7905d70a19a70423d45c329e78041.png"},254:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/SolidUI_Front-end_Overview-424873d3acc4f4bd7c2660b926c05436.png"},6111:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/SolidUI_SolidEditor_DesignAndPreview-351f3097c1a77b6055320e92074f6c69.png"},3528:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/SolidUI_SolidView_JSONSchema_Configuration_Design-a6e12611333db4337ad70ff4a24008d9.png"}}]); \ No newline at end of file diff --git a/assets/js/deb5dccc.01082583.js b/assets/js/deb5dccc.01082583.js new file mode 100644 index 00000000..08f0bd5b --- /dev/null +++ b/assets/js/deb5dccc.01082583.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5876],{4151:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog/tags/aigc","page":1,"postsPerPage":3,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/e02071e6.74d1e504.js b/assets/js/e02071e6.74d1e504.js new file mode 100644 index 00000000..71da471f --- /dev/null +++ b/assets/js/e02071e6.74d1e504.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2957],{30:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog/tags/stable-diffusion","page":1,"postsPerPage":3,"totalPages":2,"totalCount":6,"nextPage":"/SolidUI-Website/blog/tags/stable-diffusion/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/eaf8f7fb.612b701f.js b/assets/js/eaf8f7fb.612b701f.js new file mode 100644 index 00000000..fc58cd57 --- /dev/null +++ b/assets/js/eaf8f7fb.612b701f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9885],{2776:s=>{s.exports=JSON.parse('{"name":"@easyops-cn/docusaurus-search-local","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/ed523c22.747ac207.js b/assets/js/ed523c22.747ac207.js new file mode 100644 index 00000000..dd84a835 --- /dev/null +++ b/assets/js/ed523c22.747ac207.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8352],{3905:(e,t,l)=>{l.d(t,{Zo:()=>d,kt:()=>f});var n=l(7294);function r(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function a(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,n)}return l}function i(e){for(var t=1;t =0||(r[l]=e[l]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n =0||Object.prototype.propertyIsEnumerable.call(e,l)&&(r[l]=e[l])}return r}var u=n.createContext({}),p=function(e){var t=n.useContext(u),l=t;return e&&(l="function"==typeof e?e(t):i(i({},t),e)),l},d=function(e){var t=p(e.components);return n.createElement(u.Provider,{value:t},e.children)},c="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var l=e.components,r=e.mdxType,a=e.originalType,u=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),c=p(l),m=r,f=c["".concat(u,".").concat(m)]||c[m]||s[m]||a;return l?n.createElement(f,i(i({ref:t},d),{},{components:l})):n.createElement(f,i({ref:t},d))}));function f(e,t){var l=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=l.length,i=new Array(a);i[0]=m;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o[c]="string"==typeof e?e:r,i[1]=o;for(var p=2;p{l.r(t),l.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>s,frontMatter:()=>a,metadata:()=>o,toc:()=>p});var n=l(7462),r=(l(7294),l(3905));const a={title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",date:new Date("2023-07-01T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},i=void 0,o={permalink:"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-01-function-explanation-0.1.0.md",source:"@site/blog/2023-07-01-function-explanation-0.1.0.md",title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",description:"\u80cc\u666f",date:"2023-07-01T00:00:00.000Z",formattedDate:"July 1, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:5.475,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",date:"2023-07-01T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"}},u={authorsImageUrls:[]},p=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"\u9879\u76ee\u540d\u5b57\u542b\u4e49",id:"\u9879\u76ee\u540d\u5b57\u542b\u4e49",level:2},{value:"\u767b\u5f55\u9875\u542b\u4e49",id:"\u767b\u5f55\u9875\u542b\u4e49",level:2},{value:"\u4ea7\u54c1\u601d\u7ef4",id:"\u4ea7\u54c1\u601d\u7ef4",level:2},{value:"0.1.0 \u7248\u672c\u5185\u6db5",id:"010-\u7248\u672c\u5185\u6db5",level:2},{value:"\u529f\u80fd\u5217\u8868",id:"\u529f\u80fd\u5217\u8868",level:2},{value:"\u6570\u636e\u6e90\u7ba1\u7406",id:"\u6570\u636e\u6e90\u7ba1\u7406",level:3},{value:"\u9879\u76ee\u7ba1\u7406",id:"\u9879\u76ee\u7ba1\u7406",level:3},{value:"\u8bbe\u8ba1\u9875\u9762",id:"\u8bbe\u8ba1\u9875\u9762",level:3}],d={toc:p},c="wrapper";function s(e){let{components:t,...a}=e;return(0,r.kt)(c,(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,r.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,r.kt)("h2",{id:"\u9879\u76ee\u540d\u5b57\u542b\u4e49"},"\u9879\u76ee\u540d\u5b57\u542b\u4e49"),(0,r.kt)("p",null,"SolidUI Solid\u8868\u793a\u7acb\u65b9\u51e0\u4f55\uff0cUI\u8868\u793a\u8bbe\u8ba1\u4ea4\u4e92\uff0c\u4ee3\u8868\u591a\u7ef4\u751f\u6210\u8bbe\u8ba1\u3002"),(0,r.kt)("h2",{id:"\u767b\u5f55\u9875\u542b\u4e49"},"\u767b\u5f55\u9875\u542b\u4e49"),(0,r.kt)("p",null,"\u767b\u5f55\u9875\u7684\u542b\u4e49\uff0clogo \u7528\u773c\u955c\u7684\u5f62\u72b6\uff0c\u8868\u793a\u89c2\u5bdf\u4e16\u754c \uff0c\u80cc\u666f\u90a3\u4e9b\u7ebf\u6761\u662f\u901a\u8fc7\u773c\u775b\u89c2\u770b\u5f97\u51fa\u56fe\u5f62\uff0c\u6df1\u5c42\u610f\u601d\u8868\u793a\u521b\u610f\u751f\u6210\u4e16\u754c\u3002\n",(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(1956).Z,width:"3552",height:"1848"})),(0,r.kt)("h2",{id:"\u4ea7\u54c1\u601d\u7ef4"},"\u4ea7\u54c1\u601d\u7ef4"),(0,r.kt)("p",null,"\u201c\u5c11\u5c31\u662f\u591a\u201d"),(0,r.kt)("p",null,"\u5c11\u5c31\u662f\u591a\uff0c\u610f\u601d\u662f\u4e0d\u65ad\u7cbe\u7b80\u65b9\u6848\u91cc\u7684\u5143\u7d20\uff0c\u53ea\u7559\u4e0b\u6709\u4ef7\u503c\u7684\uff1b\u5176\u4f59\u4e0d\u91cd\u8981\u7684\uff0c\u8981\u4e48\u76f4\u63a5\u5220\u6389\uff0c\u8981\u4e48\u4ece\u754c\u9762\u91cc\u9690\u85cf\u8d77\u6765\u3002\u5bf9\u4e8e\u90a3\u4e9b\u4e0d\u5e38\u7528\u7684\u64cd\u4f5c\uff0c\u9690\u85cf\u4e4b\u540e\uff0c\u5373\u4f7f\u7528\u6237\u591a\u8fdb\u884c\u51e0\u6b65\u64cd\u4f5c\u4e5f\u6ca1\u6709\u5173\u7cfb\u3002"),(0,r.kt)("h2",{id:"010-\u7248\u672c\u5185\u6db5"},"0.1.0 \u7248\u672c\u5185\u6db5"),(0,r.kt)("p",null,"\u8fd9\u4e2a\u7248\u672c\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u7248\u672c\uff0c\u8bbe\u60f3\u4f5c\u4e3a\u5e94\u7528\u6846\u67b6\uff0c\u5177\u6709\u901a\u7528\u53ef\u89c6\u5316\u6846\u67b6\u80fd\u529b\uff0c\u4e0d\u56e0\u4e00\u4e9b\u6570\u636e\u7ba1\u7406\uff0cBI\u7b49\u4e00\u4e9b\u65e7\u601d\u7ef4\u5f71\u54cd\uff0c\u53ea\u505a\u5e94\u7528\u6846\u67b6\uff0c\u6240\u4ee5\u5f88\u591a\u4e1c\u897f\u90fd\u88ab\u53bb\u9664\u4e86\uff0cAI\u751f\u6210\u4f1a\u5f7b\u5e95\u6539\u53d8\u4f7f\u7528\u4e60\u60ef\u3002"),(0,r.kt)("h2",{id:"\u529f\u80fd\u5217\u8868"},"\u529f\u80fd\u5217\u8868"),(0,r.kt)("p",null,"\u4e0b\u9762\u4ecb\u7ecd\u4e0b\u6574\u4e2a\u7b2c\u4e00\u4e2a\u7248\u672c\u529f\u80fd\u5217\u8868\u3002"),(0,r.kt)("h3",{id:"\u6570\u636e\u6e90\u7ba1\u7406"},"\u6570\u636e\u6e90\u7ba1\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u663e\u793a\u6570\u636e\uff1a\u663e\u793a\u6240\u6709\u6570\u636e\u6e90\uff0c\u5305\u62ec\u5e8f\u53f7\uff0c\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7528\u6237\uff0c\u63cf\u8ff0\u4fe1\u606f\u548c\u64cd\u4f5c\u6309\u94ae\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5*\n\u6210\u529f\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u7f16\u8f91\u6570\u636e\u6e90\uff1a\u53ef\u4ee5\u7f16\u8f91\u6570\u636e\u6e90\u7684\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u5355\u884c\u5220\u9664\u6570\u636e\u6e90\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u6570\u636e\u6e90\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u6570\u636e\u6e90\uff0c\u5e76\u4e14\u8be5\u6570\u636e\u6e90\u4e0d\u518d\u663e\u793a\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6570\u636e\u6e90\u8fc7\u671f\uff1a\u53ef\u4ee5\u5c06\u9009\u4e2d\u7684\u6570\u636e\u6e90\u8bbe\u7f6e\u4e3a\u8fc7\u671f\u72b6\u6001\u3002\n",(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(4902).Z,width:"3226",height:"528"}))),(0,r.kt)("h3",{id:"\u9879\u76ee\u7ba1\u7406"},"\u9879\u76ee\u7ba1\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u9879\u76ee\uff1a\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u9879\u76ee\u63cf\u8ff0\uff0c\u9879\u76eeURL\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0\u9879\u76ee\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u663e\u793a\u65b0\u589e\u7684\u9879\u76ee\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u67e5\u8be2\u9879\u76ee\u5217\u8868\uff1a\u901a\u8fc7\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u8be2\u5e76\u8f93\u51fa\u9879\u76ee\u5217\u8868\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u7f16\u8f91\u9879\u76ee\u540d\uff1a\u53ef\u4ee5\u7f16\u8f91\u9879\u76ee\u540d\u79f0\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u9879\u76ee\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u5220\u9664\u9879\u76ee\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u9879\u76ee\uff0c\u5e76\u4e14\u8be5\u9879\u76ee\u4e0d\u518d\u663e\u793a\u5728\u9879\u76ee\u5217\u8868\u4e2d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9879\u76ee\u9884\u89c8")),(0,r.kt)("h3",{id:"\u8bbe\u8ba1\u9875\u9762"},"\u8bbe\u8ba1\u9875\u9762"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u573a\u666f,\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9875\uff0c\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u56fe\u4f8b\uff1a\u5728\u6307\u5b9a\u573a\u666f\u548c\u9875\u4e0b\u6dfb\u52a0\u56fe\u4f8b\uff0c\u5e76\u4e3a\u5176\u547d\u540d\u3002\u521b\u5efa\u6210\u529f\u540e\uff0c\u6240\u5728\u9875\u4e2d\u663e\u793a\u5bf9\u5e94\u7684\u56fe\u4f8b\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\uff1a\u5728\u6307\u5b9a\u573a\u666f\u3001\u9875\u548c\u56fe\u4f8b\u4e0b\uff0c\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\u3002\u6ed1\u7a97\u6253\u5f00\u6210\u529f\uff0c\u663e\u793a\u6570\u636e\u6e90\u7c7b\u578b\u3001\u6570\u636e\u6e90\u548cSQL\u8f93\u5165\u6846\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff1a\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff08\u5982\u6570\u636e\u5e93\uff09\uff0c\u6210\u529f\u540e\u663e\u793a\u4e0e\u6240\u9009\u6570\u636e\u6e90\u7c7b\u578b\u76f8\u5173\u7684\u6570\u636e\u6e90\u9009\u9879\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9009\u62e9\u6570\u636e\u6e90\uff1a\u9009\u62e9\u7279\u5b9a\u7684\u6570\u636e\u6e90\uff08\u5982MySQL\u6570\u636e\u5e931\uff09\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\uff1a\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u5e76\u6267\u884c\uff0c\u67f1\u5f62\u56fe\u6839\u636e\u67e5\u8be2\u8fd4\u56de\u7684\u6570\u636e\u8fdb\u884c\u7ed8\u5236\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u4fdd\u5b58\u9875\u9762\uff1a\u4fdd\u5b58\u5305\u62ec\u56fe\u4f8b\u548c\u5173\u8054\u6570\u636e\u8bbe\u7f6e\u5728\u5185\u7684\u9875\u9762\uff0c\u4ee5\u4fbf\u540e\u7eed\u67e5\u770b\u548c\u7f16\u8f91\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9884\u89c8\u573a\u666f\uff1a\u9884\u89c8\u6574\u4e2a\u573a\u666f\uff0c\u6309\u7167\u573a\u666f\u548c\u9875\u7684\u987a\u5e8f\u67e5\u770b\u5df2\u521b\u5efa\u7684\u56fe\u8868\u3002")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(1647).Z,width:"3574",height:"1684"})))}s.isMDXComponent=!0},4902:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/datasource-45396a50f5aea7919f517e1d81456424.png"},1647:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/desgin-8fd0648dd93a1c3fd51cb54900ac2bcd.png"},1956:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/home-d64eb73b3f8144a5bd50d3b1fe12de55.png"}}]); \ No newline at end of file diff --git a/assets/js/eec08420.70323149.js b/assets/js/eec08420.70323149.js new file mode 100644 index 00000000..d6dd6d40 --- /dev/null +++ b/assets/js/eec08420.70323149.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[730],{3905:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>h});var i=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function a(e){for(var t=1;t =0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i =0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=i.createContext({}),u=function(e){var t=i.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=u(e.components);return i.createElement(s.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(o),m=n,h=d["".concat(s,".").concat(m)]||d[m]||p[m]||r;return o?i.createElement(h,a(a({ref:t},c),{},{components:o})):i.createElement(h,a({ref:t},c))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,a=new Array(r);a[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:n,a[1]=l;for(var u=2;u {o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var i=o(7462),n=(o(7294),o(3905));const r={title:"SolidUI Community - Official Website Introduction",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},a=void 0,l={permalink:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-Official-Website-Introduction.md",source:"@site/blog/2023-09-05-Official-Website-Introduction.md",title:"SolidUI Community - Official Website Introduction",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:4.87,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI Community - Official Website Introduction",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},prevItem:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"},nextItem:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"}},s={authorsImageUrls:[]},u=[{value:"Background",id:"background",level:2},{value:"Introduction",id:"introduction",level:2},{value:"How to Contribute",id:"how-to-contribute",level:2},{value:"Example",id:"example",level:3},{value:"Conclusion",id:"conclusion",level:2},{value:"SolidUI-Website Contributors",id:"solidui-website-contributors",level:2},{value:"Acknowledgments",id:"acknowledgments",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],c={toc:u},d="wrapper";function p(e){let{components:t,...o}=e;return(0,n.kt)(d,(0,i.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation."),(0,n.kt)("p",null,"Project link: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror link: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Official website project address\uff1a",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website"},"https://github.com/CloudOrc/SolidUI-Website")),(0,n.kt)("h2",{id:"introduction"},"Introduction"),(0,n.kt)("p",null,"The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Document:")," This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Download:")," Users can download the latest version of SolidUI here."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Releases:")," The release records of SolidUI can be found here, where users can view all version release and update information."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Community:")," This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Code of conduct:")," This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Become A Committer:")," A page for developers to submit code or become project contributors."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Documentation Notice:")," Notices or updates about SolidUI's documentation."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Submit Code:")," A page for submitting code where users can submit their own code for the SolidUI project."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Team:")," Page introducing the SolidUI team members."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Users:")," A page showcasing SolidUI users or customers, thanking partners for their participation."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Our Users:")," A page likely introducing SolidUI's user groups."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Blog:")," The SolidUI blog, where users can read the latest articles about SolidUI.\nOfficial website: ",(0,n.kt)("a",{parentName:"li",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/"))),(0,n.kt)("p",null,"Official website project address\uff1a",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website"},"https://github.com/CloudOrc/SolidUI-Website")),(0,n.kt)("h2",{id:"how-to-contribute"},"How to Contribute"),(0,n.kt)("p",null,"Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch."),(0,n.kt)("h3",{id:"example"},"Example"),(0,n.kt)("p",null,"For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization."),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Submit an Issue")),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"First, visit the main page of the SolidUI-Website project."),(0,n.kt)("li",{parentName:"ol"},'In the top menu bar of the project, click "Issues".'),(0,n.kt)("li",{parentName:"ol"},'Click the "New issue" button in the upper right corner.'),(0,n.kt)("li",{parentName:"ol"},"Enter the title and description of your Issue on the page that appears."),(0,n.kt)("li",{parentName:"ol"},'When you\'re done, click "Submit new issue".\n',(0,n.kt)("strong",{parentName:"li"},"Submit a Pull Request"))),(0,n.kt)("p",null,"Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},'On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.'),(0,n.kt)("li",{parentName:"ol"},'In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.'),(0,n.kt)("li",{parentName:"ol"},"Make the required changes on your branch."),(0,n.kt)("li",{parentName:"ol"},"When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project."),(0,n.kt)("li",{parentName:"ol"},'Click "Pull requests", then click "New pull request".'),(0,n.kt)("li",{parentName:"ol"},'Click "compare across forks" and choose your fork and your "dev" branch.'),(0,n.kt)("li",{parentName:"ol"},'Confirm your changes, then click "Create pull request".'),(0,n.kt)("li",{parentName:"ol"},'Provide a title and description for your PR on the opened page, then click "Create pull request".')),(0,n.kt)("h2",{id:"conclusion"},"Conclusion"),(0,n.kt)("p",null,"Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project."),(0,n.kt)("p",null,"We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing."),(0,n.kt)("p",null,"Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project."),(0,n.kt)("p",null,"Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI."),(0,n.kt)("h2",{id:"solidui-website-contributors"},"SolidUI-Website Contributors"),(0,n.kt)("p",null,"The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"dlimeng"),(0,n.kt)("li",{parentName:"ul"},"15100399015"),(0,n.kt)("li",{parentName:"ul"},"limingoo")),(0,n.kt)("h2",{id:"acknowledgments"},"Acknowledgments"),(0,n.kt)("p",null,"Thanks to the streampark-website for providing framework support."),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("p",null,"Here are some ways to contribute to the SolidUI community."),(0,n.kt)("p",null,"Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("p",null,"Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("p",null,"Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("p",null,"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc."),(0,n.kt)("p",null,"Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f106860d.3af43ed8.js b/assets/js/f106860d.3af43ed8.js new file mode 100644 index 00000000..721426d5 --- /dev/null +++ b/assets/js/f106860d.3af43ed8.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6393,9094,4798,4827],{2711:function(e){e.exports=function(e){function t(n){if(a[n])return a[n].exports;var r=a[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var a={};return t.m=e,t.c=a,t.p="dist/",t(0)}([function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var r=Object.assign||function(e){for(var t=1;t 0&&void 0!==arguments[0]&&arguments[0]&&(p=!0),p)return f=(0,m.default)(f,h),(0,d.default)(f,h.once),f},b=function(){f=(0,u.default)(),v()},g=function(){f.forEach((function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")}))},y=function(e){return!0===e||"mobile"===e&&s.default.mobile()||"phone"===e&&s.default.phone()||"tablet"===e&&s.default.tablet()||"function"==typeof e&&!0===e()},w=function(e){h=r(h,e),f=(0,u.default)();var t=document.all&&!window.atob;return y(h.disable)||t?g():(h.disableMutationObserver||c.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),h.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",h.easing),document.querySelector("body").setAttribute("data-aos-duration",h.duration),document.querySelector("body").setAttribute("data-aos-delay",h.delay),"DOMContentLoaded"===h.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?v(!0):"load"===h.startEvent?window.addEventListener(h.startEvent,(function(){v(!0)})):document.addEventListener(h.startEvent,(function(){v(!0)})),window.addEventListener("resize",(0,l.default)(v,h.debounceDelay,!0)),window.addEventListener("orientationchange",(0,l.default)(v,h.debounceDelay,!0)),window.addEventListener("scroll",(0,o.default)((function(){(0,d.default)(f,h.once)}),h.throttleDelay)),h.disableMutationObserver||c.default.ready("[data-aos]",b),f)};e.exports={init:w,refresh:v,refreshHard:b}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function a(e,t,a){function n(t){var a=h,n=v;return h=v=void 0,k=t,g=e.apply(n,a)}function i(e){return k=e,y=setTimeout(d,t),N?n(e):g}function o(e){var a=t-(e-w);return O?x(a,b-(e-k)):a}function c(e){var a=e-w;return void 0===w||a>=t||a<0||O&&e-k>=b}function d(){var e=z();return c(e)?m(e):void(y=setTimeout(d,o(e)))}function m(e){return y=void 0,M&&h?n(e):(h=v=void 0,g)}function u(){void 0!==y&&clearTimeout(y),k=0,h=w=v=y=void 0}function f(){return void 0===y?g:m(z())}function p(){var e=z(),a=c(e);if(h=arguments,v=this,w=e,a){if(void 0===y)return i(w);if(O)return y=setTimeout(d,t),n(w)}return void 0===y&&(y=setTimeout(d,t)),g}var h,v,b,g,y,w,k=0,N=!1,O=!1,M=!0;if("function"!=typeof e)throw new TypeError(s);return t=l(t)||0,r(a)&&(N=!!a.leading,b=(O="maxWait"in a)?E(l(a.maxWait)||0,t):b,M="trailing"in a?!!a.trailing:M),p.cancel=u,p.flush=f,p}function n(e,t,n){var i=!0,o=!0;if("function"!=typeof e)throw new TypeError(s);return r(n)&&(i="leading"in n?!!n.leading:i,o="trailing"in n?!!n.trailing:o),a(e,t,{leading:i,maxWait:t,trailing:o})}function r(e){var t=void 0===e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==(void 0===e?"undefined":c(e))}function o(e){return"symbol"==(void 0===e?"undefined":c(e))||i(e)&&w.call(e)==m}function l(e){if("number"==typeof e)return e;if(o(e))return d;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(u,"");var a=p.test(e);return a||h.test(e)?v(e.slice(2),a?2:8):f.test(e)?d:+e}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s="Expected a function",d=NaN,m="[object Symbol]",u=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,h=/^0o[0-7]+$/i,v=parseInt,b="object"==(void 0===t?"undefined":c(t))&&t&&t.Object===Object&&t,g="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,y=b||g||Function("return this")(),w=Object.prototype.toString,E=Math.max,x=Math.min,z=function(){return y.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function a(e,t,a){function r(t){var a=h,n=v;return h=v=void 0,k=t,g=e.apply(n,a)}function i(e){return k=e,y=setTimeout(d,t),N?r(e):g}function l(e){var a=t-(e-z);return O?E(a,b-(e-k)):a}function s(e){var a=e-z;return void 0===z||a>=t||a<0||O&&e-k>=b}function d(){var e=x();return s(e)?m(e):void(y=setTimeout(d,l(e)))}function m(e){return y=void 0,M&&h?r(e):(h=v=void 0,g)}function u(){void 0!==y&&clearTimeout(y),k=0,h=z=v=y=void 0}function f(){return void 0===y?g:m(x())}function p(){var e=x(),a=s(e);if(h=arguments,v=this,z=e,a){if(void 0===y)return i(z);if(O)return y=setTimeout(d,t),r(z)}return void 0===y&&(y=setTimeout(d,t)),g}var h,v,b,g,y,z,k=0,N=!1,O=!1,M=!0;if("function"!=typeof e)throw new TypeError(c);return t=o(t)||0,n(a)&&(N=!!a.leading,b=(O="maxWait"in a)?w(o(a.maxWait)||0,t):b,M="trailing"in a?!!a.trailing:M),p.cancel=u,p.flush=f,p}function n(e){var t=void 0===e?"undefined":l(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==(void 0===e?"undefined":l(e))}function i(e){return"symbol"==(void 0===e?"undefined":l(e))||r(e)&&y.call(e)==d}function o(e){if("number"==typeof e)return e;if(i(e))return s;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(m,"");var a=f.test(e);return a||p.test(e)?h(e.slice(2),a?2:8):u.test(e)?s:+e}var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c="Expected a function",s=NaN,d="[object Symbol]",m=/^\s+|\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,p=/^0o[0-7]+$/i,h=parseInt,v="object"==(void 0===t?"undefined":l(t))&&t&&t.Object===Object&&t,b="object"==("undefined"==typeof self?"undefined":l(self))&&self&&self.Object===Object&&self,g=v||b||Function("return this")(),y=Object.prototype.toString,w=Math.max,E=Math.min,x=function(){return g.Date.now()};e.exports=a}).call(t,function(){return this}())},function(e,t){"use strict";function a(e){var t=void 0,n=void 0;for(t=0;t e.position?e.node.classList.add("aos-animate"):void 0!==n&&("false"===n||!a&&"true"!==n)&&e.node.classList.remove("aos-animate")},n=function(e,t){var n=window.pageYOffset,r=window.innerHeight;e.forEach((function(e,i){a(e,r+n,t)}))};t.default=n},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(a(12)),i=function(e,t){return e.forEach((function(e,a){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)})),e};t.default=i},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(a(13)),i=function(e,t){var a=0,n=0,i=window.innerHeight,o={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(o.offset&&!isNaN(o.offset)&&(n=parseInt(o.offset)),o.anchor&&document.querySelectorAll(o.anchor)&&(e=document.querySelectorAll(o.anchor)[0]),a=(0,r.default)(e).top,o.anchorPlacement){case"top-bottom":break;case"center-bottom":a+=e.offsetHeight/2;break;case"bottom-bottom":a+=e.offsetHeight;break;case"top-center":a+=i/2;break;case"bottom-center":a+=i/2+e.offsetHeight;break;case"center-center":a+=i/2+e.offsetHeight/2;break;case"top-top":a+=i;break;case"bottom-top":a+=e.offsetHeight+i;break;case"center-top":a+=e.offsetHeight/2+i}return o.anchorPlacement||o.offset||isNaN(t)||(n=t),a+n};t.default=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){for(var t=0,a=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),a+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:a,left:t}};t.default=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,(function(e){return{node:e}}))};t.default=a}])},1262:(e,t,a)=>{"use strict";a.d(t,{Z:()=>i});var n=a(7294),r=a(2389);function i(e){let{children:t,fallback:a}=e;return(0,r.Z)()?n.createElement(n.Fragment,null,t?.()):a??null}},3168:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>o});var n=a(7294),r=a(2389),i=a(5166);function o(){const e=(0,r.Z)()&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",t=i?.[e];return n.createElement("div",{className:"section bg-light"},n.createElement("div",{className:"container"},n.createElement("div",{className:"row text-center"},n.createElement("div",{className:"col-12"},n.createElement("div",{className:"mb-5"},n.createElement("h2",{className:"h3 fw-bold"},t.common.coreFeatures),n.createElement("hr",{className:"divider my-4 mx-auto"}),n.createElement("p",{className:"lead text-muted"},t.common.coreFeaturesDesc))),t.feature.map(((e,t)=>n.createElement("div",{className:"col-md-4 col-6 px-4 px-md-3 cursor-pointer",key:t,"data-aos":"fade-up","data-aos-delay":t%3*100},n.createElement("div",{className:"feature-children p-4 mb-5 rounded-3 bg-white shadow-sm hover-box-up"},n.createElement("div",{className:"text-primary text-center mb-3"},n.createElement("div",{className:"features-icon"},n.createElement("i",{className:e.icon}))),n.createElement("h3",{className:"h5"},e.title),n.createElement("p",null,e.details))))))))}},9786:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>v});var n=a(7294),r=a(2389),i=a(5166);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t {let{title:t,titleId:a,...r}=e;return n.createElement("svg",o({xmlns:"http://www.w3.org/2000/svg",className:"rotate-315",width:"2rem",height:"2rem",fill:"currentColor",viewBox:"0 0 512 512","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,n.createElement("path",{d:"M461.81 53.81a4.4 4.4 0 0 0-3.3-3.39c-54.38-13.3-180 34.09-248.13 102.17a294.9 294.9 0 0 0-33.09 39.08c-21-1.9-42-.3-59.88 7.5-50.49 22.2-65.18 80.18-69.28 105.07a9 9 0 0 0 9.8 10.4l81.07-8.9a180.29 180.29 0 0 0 1.1 18.3 18.15 18.15 0 0 0 5.3 11.09l31.39 31.39a18.15 18.15 0 0 0 11.1 5.3 179.91 179.91 0 0 0 18.19 1.1l-8.89 81a9 9 0 0 0 10.39 9.79c24.9-4 83-18.69 105.07-69.17 7.8-17.9 9.4-38.79 7.6-59.69a293.91 293.91 0 0 0 39.19-33.09c68.38-68 115.47-190.86 102.37-247.95ZM298.66 213.67a42.7 42.7 0 1 1 60.38 0 42.65 42.65 0 0 1-60.38 0Z",style:{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}),n.createElement("path",{d:"M109.64 352a45.06 45.06 0 0 0-26.35 12.84C65.67 382.52 64 448 64 448s65.52-1.67 83.15-19.31A44.73 44.73 0 0 0 160 402.32",style:{color:"#ffcc43",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}))};var c;function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t {let{title:t,titleId:a,...r}=e;return n.createElement("svg",s({width:200,height:200,viewBox:"0 0 200 200",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,c||(c=n.createElement("path",{fill:"currentColor",d:"M142.5 33.8c14.6 9.5 30 17.8 38.6 30.9 8.7 13.1 10.7 30.9 8.5 48.3-2.3 17.4-8.9 34.4-20.1 47.1-11.2 12.8-27.1 21.4-43.6 24.5-16.4 3.2-33.3.8-48.6-4.8-15.2-5.7-28.8-14.6-38.2-26.5-9.5-11.9-14.9-26.7-18.1-42.5-3.1-15.8-4.1-32.5 1.3-47.2 5.3-14.6 17-27.3 31-37.1S83.6 9.9 98.8 11.8c15.1 1.9 29 12.5 43.7 22Z"})))};var m,u,f;function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t {let{title:t,titleId:a,...r}=e;return n.createElement("svg",p({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1440 320","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,m||(m=n.createElement("path",{className:"opacity-20 translate-top-2",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),u||(u=n.createElement("path",{className:"opacity-30 translate-top-1",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),f||(f=n.createElement("path",{fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})))};function v(){const e=(0,r.Z)(),t=e&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",a=e&&0===location.pathname.indexOf("/zh-CN/")?"/zh-CN":"",o=i?.[t];return n.createElement("div",{className:"section bg-gradient-primary pb-9 pt-7 overflow-hidden"},n.createElement("div",{className:"overlay bg-gradient-primary opacity-90 z-index-n1"}),n.createElement("div",{className:"particle"},n.createElement("div",{className:"particle-move-up d-none d-block particle-move-up-1 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-2 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1rem",height:"1rem"})),n.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-3 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1.5rem",height:"1.5rem"})),n.createElement("div",{className:"particle-move-up d-none d-xl-block particle-move-up-4 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1rem",height:"1rem"})),n.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-5 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1.2rem",height:"1.2rem"})),n.createElement("div",{className:"particle-move-up border-success text-light particle-move-up-6 z-index-n1 opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-7 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"1.5rem",height:"1.5rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-8 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"1.2rem",height:"1.2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-9 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"}))),n.createElement("figure",{className:"scribble scale-4 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"300"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-5 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"200"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-6 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"100"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-7 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right"},n.createElement(d,{className:"text-secondary"})),n.createElement("div",{className:"container-fluid px-7 pb-2"},n.createElement("div",{className:"row justify-content-center"},n.createElement("div",{className:"col-md-6 col-8 align-self-center pe-5","data-aos":"fade-right"},n.createElement("div",{className:"text-start mt-0"},n.createElement("div",{className:"mb-5 system_info pt-0"},n.createElement("div",{className:"project_title fw-bold text-white mb-3"},n.createElement("div",{className:"d-flex justify-content-center align-items-start"},n.createElement("div",{className:"animated-gradient-text_background animated-gradient-text_background-2",style:{"--content":'"SolidUI"',"--start-color":"#FFF","--end-color":"#00DFD8"}},n.createElement("span",{className:"animated-gradient-text_foreground animated-gradient-text_foreground-2"},"SolidUI")))),n.createElement("p",{className:"lead text-light text-center"},o.slogan.description)),n.createElement("div",{className:"d-flex justify-content-center align-items-start"},n.createElement("a",{className:"btn streampark-btn btn mt-30 ztop",href:"https://github.com/CloudOrc/SolidUI",target:"_blank"},n.createElement("i",{className:"lni-github-original"}),"\xa0GitHub"),n.createElement("a",{className:"btn streampark-btn btn-green mt-30 ml-3 ztop",href:`/SolidUI-Website${a}/docs/user-guide/quick-start`,style:{marginLeft:"10px"}},n.createElement("i",{className:"lni-play"}),"\xa0Get started")),n.createElement("div",{style:{marginTop:"20px"},className:"shields ztop d-flex justify-content-center align-items-start"},n.createElement("a",{target:"_blank",href:"https://www.apache.org/licenses/LICENSE-2.0.html"},n.createElement("img",{src:"https://img.shields.io/badge/license-Apache%202-blue.svg",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI"},n.createElement("img",{src:"https://img.shields.io/github/stars/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI/fork"},n.createElement("img",{src:"https://img.shields.io/github/forks/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),n.createElement("a",{href:""},n.createElement("img",{src:"https://img.shields.io/github/languages/count/CloudOrc/SolidUI",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://huggingface.co/spaces/CloudOrc/SolidUI"},n.createElement("img",{src:"https://img.shields.io/badge/%F0%9F%A4%97%20-Hugging%20Face%20Spaces-blue",className:"wow fadeInUp"})),n.createElement("a",{href:"https://www.producthunt.com/posts/solidui?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-solidui",target:"_blank"},n.createElement("img",{src:"https://img.shields.io/badge/producthunt-blue",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://discord.gg/NGRNu2mGeQ"},n.createElement("img",{src:"https://img.shields.io/badge/discord-blue",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://gitee.com/CloudOrc/SolidUI"},n.createElement("img",{src:"https://shields.io/badge/%E2%AD%90-Gitee-blue",alt:"gitee",className:"wow fadeInUp"}))))))),n.createElement("figure",{className:"waves-bottom-center text-light mb-n4 z-index-n1"},n.createElement(h,null)))}},2875:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>d});var n=a(7294),r=a(1262),i=a(9786),o=a(3168),l=a(5995),c=a(2711),s=a.n(c);function d(){return n.createElement(r.Z,{fallback:n.createElement("div",{id:"preloader"})},(()=>(s().init({offset:100,duration:700,easing:"ease-out-quad",once:!0}),window.addEventListener("load",s().refresh),n.createElement("div",{className:"home-wrap"},n.createElement(i.default,null),n.createElement(o.default,null),n.createElement(l.default,null)))))}},5995:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>C});var n,r,i,o,l,c,s,d,m,u,f,p,h,v,b,g,y,w,E,x,z,k,N,O,M,j=a(7294),H=(a(2389),a(4996));a(5166);function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t {let{title:t,titleId:a,...H}=e;return j.createElement("svg",S({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 509.23 364.6","aria-labelledby":a},H),t?j.createElement("title",{id:a},t):null,n||(n=j.createElement("defs",null,j.createElement("linearGradient",{id:"a",x1:225,y1:279.58,x2:246.68,y2:279.58,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#e5c6d6"}),j.createElement("stop",{offset:.42,stopColor:"#ead4d0"}),j.createElement("stop",{offset:1,stopColor:"#f0e9cb"})),j.createElement("linearGradient",{id:"d",x1:196.9,y1:214.27,x2:270.4,y2:214.27,xlinkHref:"#a"}),j.createElement("linearGradient",{id:"b",x1:235.47,y1:403.52,x2:245.47,y2:302.39,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#010101",stopOpacity:0}),j.createElement("stop",{offset:.95,stopColor:"#010101"})),j.createElement("linearGradient",{id:"e",x1:236.71,y1:341.09,x2:236.71,y2:400.36,xlinkHref:"#b"}),j.createElement("linearGradient",{id:"c",x1:224.9,y1:346.73,x2:252.31,y2:206.71,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#fff",stopOpacity:0}),j.createElement("stop",{offset:.95,stopColor:"#fff"})),j.createElement("linearGradient",{id:"f",x1:210.88,y1:311.27,x2:250.61,y2:311.27,xlinkHref:"#b"}),j.createElement("linearGradient",{id:"g",x1:223.84,y1:324.62,x2:258.66,y2:324.62,xlinkHref:"#c"}),j.createElement("linearGradient",{id:"h",x1:170.56,y1:395.25,x2:224.36,y2:395.25,xlinkHref:"#a"}),j.createElement("linearGradient",{id:"i",x1:259.78,y1:395.21,x2:306.81,y2:395.21,xlinkHref:"#a"}))),j.createElement("path",{d:"M47.72 209.34c5.86-11.1 15.44-21.13 15.81-33.68.26-9.18-4.56-17.6-8.09-26.09-18-43.23.64-98.39 41.13-121.9 22.1-12.83 48.29-16.49 73.8-17.93a500.35 500.35 0 0 1 86.79 2.63c16.88 2 34.55 5.23 47.61 16.1 20.47 17 23.36 46.63 31.14 72.09 13.67 44.72 47.42 82.87 90.13 101.9 7.73 3.44 15.92 6.4 22.17 12.1 13.71 12.48 13.85 34.94 5.4 51.44s-23.52 28.43-38.17 39.83l-45.46 35.45c-9.2 7.17-18.62 14.47-29.65 18.26-36.75 12.64-86.6-2.22-124.75-3.91-24.63-1.1-50.74 1.34-74.81-5.08-53.28-14.23-124.33-81.88-93.05-141.21z",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("rect",{x:271.83,y:187.67,width:136.11,height:83.47,rx:10.6,transform:"rotate(-180 338.605 204.39)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("rect",{x:71.79,y:227.5,width:105.11,height:65.32,rx:8.24,transform:"rotate(-180 123.06 235.14)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("path",{d:"M482.81 165.57h-160a26.46 26.46 0 0 1-26.43-26.42V26.53A26.46 26.46 0 0 1 322.81.1h160a26.46 26.46 0 0 1 26.42 26.43v112.62a26.45 26.45 0 0 1-26.42 26.42zm-160-161.52a22.5 22.5 0 0 0-22.48 22.48v112.62a22.5 22.5 0 0 0 22.48 22.47h160a22.5 22.5 0 0 0 22.47-22.47V26.53a22.5 22.5 0 0 0-22.47-22.48zM200.05 73.42h-64.9a11.9 11.9 0 0 1-11.89-11.89V15.86a11.9 11.9 0 0 1 11.89-11.9h64.9a11.9 11.9 0 0 1 11.89 11.9v45.67a11.9 11.9 0 0 1-11.89 11.89zm-64.9-65.46a8 8 0 0 0-7.94 7.94v45.67a8 8 0 0 0 7.94 7.94h64.9a8 8 0 0 0 7.94-7.94V15.86a8 8 0 0 0-7.94-7.9z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),r||(r=j.createElement("path",{d:"M225.82 292.41a6.15 6.15 0 0 0 1 3.21 4.57 4.57 0 0 0 2.14 1.39c3.82 1.35 8-.21 11.75-1.76a10.11 10.11 0 0 0 4.36-2.77 9.44 9.44 0 0 0 1.47-5.29 79.24 79.24 0 0 0-.93-18.07 9.62 9.62 0 0 0-1.53-4.39c-1.85-2.45-5.33-2.78-8.4-2.9-7.73-.29-10-1.28-10.44 6.82a147.34 147.34 0 0 0 .58 23.76z",transform:"translate(-2.56 -50.04)",fill:"url(#a)"})),i||(i=j.createElement("path",{d:"M203.56 234.62a41 41 0 0 0 7.62 11.63 32.35 32.35 0 0 0 49.6-3.51c4.8-6.69 6.86-14.94 8.3-23.05 1.25-7.1 2.1-14.49.25-21.46-2.43-9.11-9.4-16.62-17.8-20.88s-18.1-5.5-27.5-4.83c-5.88.43-11.82 1.62-16.93 4.54-10.1 5.74-10.56 13.7-10.1 24.08.55 11.38 1.83 22.99 6.56 33.48z",transform:"translate(-2.56 -50.04)",fill:"url(#d)"})),o||(o=j.createElement("path",{d:"M222.9 97.08c-2.78-3-6.07-6.06-10.17-6.55s-8.78 2.9-8 7c-6.35-3.05-13.79-5.56-20.29-2.85-5.46 2.26-9 8-9.76 13.82s1 11.82 3.76 17a28.37 28.37 0 0 0 6.13 8.1c5.86 5.16 14 6.6 21.78 7.51 13.2 1.54 26.84 2.1 39.49-2 3.82-1.23 8.59-2.67 11.37.23 2.07 2.15 2.69 6.41 5.68 6.4 2.42 0 3.52-3 3.75-5.43a44.83 44.83 0 0 0-1.72-17.12c-2.91-9.63-9.84-17-20.39-16.92-9.77.12-14.88-1.81-21.63-9.19z",fill:"#e08142"})),l||(l=j.createElement("rect",{x:199.58,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),c||(c=j.createElement("rect",{x:234.6,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),s||(s=j.createElement("path",{fill:"#fff",d:"M223.07 156.99h14.35v2.13h-14.35zm-33.49-2.22h11.67v3.33h-11.67zm69.27 1.3h12.97v2.22h-12.97z"})),d||(d=j.createElement("path",{d:"M197.07 185.74a40.73 40.73 0 0 0 .66 9.62c1.62 7 7 12.79 13.38 16.08a51.41 51.41 0 0 1 5.55 2.92c1.82 1.25 3.33 2.93 5.16 4.18a14.17 14.17 0 0 0 14.94.45c1.39-.83 2.77-1.95 4.39-1.87 1.24 0 2.32.81 3.49 1.21 2.67.91 5.59-.08 8.15-1.27s4.93-2.61 6-5.05c.71-1.58.74-3.37 1.08-5.07.86-4.36 3.67-8.06 5.4-12.16 3.6-8.49 2.4-18.16 1.14-27.29l-4.16 6.89c-1.4 2.32-3 4.79-5.54 5.71-3.35 1.19-6.91-.75-10.15-2.24a42.21 42.21 0 0 0-32.68-.85c-2.16.86-4.45 1.92-6.72 1.38-2.7-.64-6.65-7.74-8.78-7.12-2.6.78-1.29 12.3-1.31 14.48z",fill:"#e08142"})),m||(m=j.createElement("path",{d:"M223.3 233.22c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93a63.48 63.48 0 0 1 47.54-22.77",fill:"#4b39ef"})),u||(u=j.createElement("path",{d:"M225.86 283.26c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93A63.48 63.48 0 0 1 224 284",transform:"translate(-2.56 -50.04)",fill:"url(#b)"})),f||(f=j.createElement("path",{fill:"#4b39ef",d:"M178.65 350.18h116.13v7.78H178.65z"})),p||(p=j.createElement("path",{fill:"url(#e)",d:"M178.65 350.18h116.13v7.78H178.65z"})),h||(h=j.createElement("rect",{x:146.6,y:221.64,width:182.66,height:110.39,rx:20.61,fill:"#4b39ef"})),v||(v=j.createElement("rect",{x:146.6,y:224.97,width:182.66,height:110.39,rx:20.61,fill:"url(#c)"})),b||(b=j.createElement("path",{opacity:.26,fill:"url(#f)",d:"m210.88 330.71 19.44-39.43h17.79l2.5 39.99-39.73-.56z"})),g||(g=j.createElement("path",{fill:"#4b39ef",d:"M257 357.96h-34.83l8.15-66.68h17.79l8.89 66.68z"})),y||(y=j.createElement("path",{fill:"url(#g)",d:"M258.66 357.96h-34.82l8.15-66.68h17.78l8.89 66.68z"})),w||(w=j.createElement("rect",{x:298.33,width:208.93,height:161.51,rx:24.45,fill:"#fff"})),j.createElement("path",{d:"M124.69 200.25H18.23A18.26 18.26 0 0 1 0 182.01V107.1a18.26 18.26 0 0 1 18.23-18.24h106.46a18.26 18.26 0 0 1 18.23 18.24v74.91a18.26 18.26 0 0 1-18.23 18.24zM18.23 92.81A14.31 14.31 0 0 0 3.94 107.1v74.91a14.31 14.31 0 0 0 14.29 14.29h106.46a14.31 14.31 0 0 0 14.29-14.29V107.1a14.31 14.31 0 0 0-14.29-14.29z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),E||(E=j.createElement("rect",{x:1.97,y:88.16,width:138.98,height:107.44,rx:16.26,fill:"#fff"})),x||(x=j.createElement("rect",{x:124.96,y:4.14,width:84.73,height:65.5,rx:9.91,fill:"#fff"})),z||(z=j.createElement("path",{d:"m135.76 37.58 21.38-11v3.18l-18 9v.1l18 9v3.19l-21.38-11zm24.36 15.38 12.86-33.42h3.13l-12.9 33.42zm40.26-12.76-21.36 11v-3.24l18.15-9v-.15l-18.15-9v-3.24l21.36 11z",fill:"#4b39ef"})),k||(k=j.createElement("path",{d:"M212.62 385.73c-4.58-.92-9.3-.08-14 .06-4.48.13-9-.4-13.43 0s-9.07 2-11.93 5.41a11.85 11.85 0 0 0-2.72 7.93 6.21 6.21 0 0 0 .8 3.08c1.22 1.95 3.76 2.54 6 2.87a4.06 4.06 0 0 0 1.39 0c1.65-.36 2.23-2.48 3.66-3.36a5.64 5.64 0 0 1 3.13-.54q17.58.36 35.17-.14a4.63 4.63 0 0 0 2.33-.48c3.2-2-.5-6.48-1.65-8.62a12.66 12.66 0 0 0-8.75-6.21z",transform:"translate(-2.56 -50.04)",fill:"url(#h)"})),N||(N=j.createElement("path",{d:"M261.4 391.74c-1.61 2.21-2.49 5.72-.32 7.38 1.95 1.5 4.81.26 6.63-1.39s3.48-3.79 5.9-4.26c.36 2.1.84 4.4 2.56 5.65 2.61 1.9 6.21.26 9.43.29 2.9 0 6.21 1.37 8.45-.48 1.16-1 2.48-2.77 3.68-1.85a2.39 2.39 0 0 1 .69 1.23 34.38 34.38 0 0 0 4.8 9.45c1.46.57 2.56-1.41 2.84-3a47.44 47.44 0 0 0 .51-13.14c-.24-2.44-.76-5-2.5-6.76-2.27-2.27-5.86-2.37-9.07-2.32l-12.88.19c-7.66.15-15.95 2.49-20.72 9.01z",transform:"translate(-2.56 -50.04)",fill:"url(#i)"})),j.createElement("path",{d:"M251.99 261.53a12.77 12.77 0 1 1-12.79-12.79 8.57 8.57 0 0 1 2 .2 12.61 12.61 0 0 0 10.74 12.12 1.83 1.83 0 0 1 .05.47z",fill:"#4b39ef",opacity:.59,style:{isolation:"isolate"}}),O||(O=j.createElement("path",{d:"M324.96 21.4h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.59h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.25h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.59h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.26h53.4v3.92h-53.4zm0 7.57h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.6h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-382.9-27.97H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.94h29.12v2.52H29.52zm9.35 4.92h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.66H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.93h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.92h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.67H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.92h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17z",opacity:.52,fill:"#4b39ef"})),M||(M=j.createElement("path",{d:"M338.05 250.67c.32-1.71.66-3.42 1-5.13.18-1 .35-1.93.54-3 1.6.27 3.16.52 4.71.82a.8.8 0 0 0 1.05-.52c.7-1.36 1.48-2.68 2.3-4a.77.77 0 0 0-.07-1.12c-1-1.19-2-2.42-3.11-3.69l6.7-5.63c1 1.23 2.06 2.42 3.05 3.65a.84.84 0 0 0 1.22.28 33.56 33.56 0 0 1 4.14-1.51c.65-.19.8-.45.79-1.06v-4.65h8.74v4.67c0 .62.16.85.79 1a35.33 35.33 0 0 1 4.14 1.52.83.83 0 0 0 1.21-.3c1-1.21 2-2.39 3.05-3.64l6.69 5.62-3.43 4.11c.93 1.71 1.8 3.35 2.73 4.95.1.18.54.27.8.23 1.56-.24 3.12-.53 4.78-.82l1.52 8.6c-1.63.29-3.21.56-4.78.87-.26.05-.64.29-.68.5-.31 1.82-.56 3.65-.85 5.58l4.62 2.68-4.37 7.57-4.65-2.67c-1.5 1.2-2.95 2.34-4.38 3.53a.83.83 0 0 0-.13.74c.52 1.55 1.09 3.08 1.67 4.68l-8.21 3c-.51-1.39-1.06-2.75-1.49-4.15a1.19 1.19 0 0 0-1.5-1 31.73 31.73 0 0 1-4.25 0 .71.71 0 0 0-.87.58c-.52 1.5-1.08 3-1.66 4.56l-8.22-3 1.84-5.08-4.63-3.9-4.69 2.7-4.38-7.57c1.45-.84 2.81-1.64 4.19-2.41a.76.76 0 0 0 .43-1 44.39 44.39 0 0 1-.76-4.27c-.09-.7-.25-1-1-1.13-1.52-.17-3-.5-4.52-.77zm26.76-10.43a11.17 11.17 0 1 0 11 11.36 11.23 11.23 0 0 0-11-11.36zm48.72 35.72 1.91 6c-1.11.37-2.18.69-3.21 1.08a.91.91 0 0 0-.51.65c-.09 1.06-.06 2.12-.14 3.18a.7.7 0 0 0 .53.85c1 .37 2 .81 3.08 1.25-.8 2-1.56 3.85-2.35 5.79-1.09-.44-2.12-.89-3.17-1.26a.91.91 0 0 0-.8.18c-.84.89-1.63 1.84-2.51 2.85l1.79 3.42-5.52 2.94c-.55-1-1.05-2-1.6-3a.88.88 0 0 0-.66-.4c-1.27.15-2.54.38-3.85.58l-.83 3.77-6.1-1.31.79-3.77c-1.13-.74-2.21-1.47-3.32-2.15a.79.79 0 0 0-.7.12c-.9.66-1.77 1.36-2.71 2.09l-3.85-4.93c.92-.72 1.76-1.4 2.63-2.05a.67.67 0 0 0 .3-.94 27.5 27.5 0 0 1-1-2.95.68.68 0 0 0-.78-.62h-3.16v-6.3h3.94c.5-1.18 1-2.36 1.51-3.57.07-.18-.12-.55-.29-.72-.78-.76-1.61-1.47-2.47-2.25l4.18-4.65 2.88 2.57c1.22-.62 2.41-1.2 3.58-1.84.14-.08.2-.46.18-.68-.12-1.08-.29-2.16-.45-3.33l6.19-.86c.16 1.11.32 2.13.43 3.16.06.58.3.82.91.89a19.56 19.56 0 0 1 2.71.59.77.77 0 0 0 1.06-.39c.53-.93 1.12-1.81 1.74-2.79l5.29 3.32-2 3.27c.79 1.07 1.56 2.13 2.37 3.14a1 1 0 0 0 .77.12c1.06-.31 2.12-.66 3.21-1.05zm-16.8 16.75a8 8 0 1 0-8.12-7.84 8 8 0 0 0 8.12 7.87zm18.19-50.61 2.41-1.89 3.06 3.87c-.59.47-1.11 1-1.7 1.34s-.81.81-.41 1.46a2.94 2.94 0 0 1 .3.76c.52 1.58.52 1.58 2.22 1.65h1.21v4.89h-2.55c-.47 0-.7.11-.8.57a6.05 6.05 0 0 1-.36 1.09c-.62 1.55-.63 1.55.65 2.68l1 .87-3.28 3.69-2.3-2c-.9.47-1.8.91-2.67 1.41a.82.82 0 0 0-.25.65c.08.84.22 1.67.34 2.58l-4.87.71c-.13-.89-.23-1.73-.41-2.54a.93.93 0 0 0-.56-.6c-.9-.23-1.81-.38-2.82-.58l-1.63 2.6-4.19-2.59c.45-.74.86-1.45 1.31-2.13a.63.63 0 0 0-.08-1 8.61 8.61 0 0 1-.95-1.13c-.77-1.07-.76-1.07-2.05-.65-.51.18-1 .34-1.66.54l-1.55-4.67c.81-.27 1.56-.55 2.34-.77a.72.72 0 0 0 .61-.87 13.67 13.67 0 0 1 .08-2.12.69.69 0 0 0-.53-.85c-.77-.27-1.52-.59-2.33-.92l1.82-4.58c.84.33 1.62.67 2.42.93a.87.87 0 0 0 .75-.16c.66-.69 1.26-1.43 1.93-2.2l-1.42-2.7 4.33-2.34 1.48 2.69 3.36-.5.64-3 4.82 1c-.17.84-.32 1.63-.5 2.42a.73.73 0 0 0 .43 1c.79.38 1.54.89 2.36 1.39zm-14 9.24a6.28 6.28 0 1 0 6.39-6.26 6.22 6.22 0 0 0-6.38 6.26z",opacity:.61,fill:"#4b39ef"})))};function C(){return j.createElement("div",{className:"section py-6 py-md-7 bg-white"},j.createElement("div",{className:"container"},j.createElement("div",{className:"row mb-5 mt-5 mb-lg-7"},j.createElement("div",{className:"col-6 align-self-center"},j.createElement("div",{className:"px-5 px-md-7 mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"100"},j.createElement(_,{className:"img-fluid"}))),j.createElement("div",{className:"col-6 "},j.createElement("div",{className:"mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"200"},j.createElement("img",{src:(0,H.Z)("/home/ai2d.png"),alt:""}))))))}},5166:e=>{"use strict";e.exports=JSON.parse('{"zh-CN":{"common":{"getStart":"\u5feb\u901f\u5f00\u59cb","architecture":"\u7cfb\u7edf\u67b6\u6784","learnMore":"\u4e86\u89e3\u66f4\u591a","coreFeatures":"\u6838\u5fc3\u7279\u6027","coreFeaturesDesc":"\u8ba9\u60a8\u7684\u9879\u76ee\u66f4\u8f7b\u677e\u7684\u6838\u5fc3\u7279\u6027","honor":"\u6211\u4eec\u7684\u8363\u8a89","ourUsers":"Our Users","readMore":"\u9605\u8bfb\u66f4\u591a","download":"\u4e0b\u8f7d","releaseDate":"\u53d1\u5e03\u65e5\u671f","newFeatures":"\u65b0\u7279\u6027","enhancement":"\u589e\u5f3a\u70b9","bugFixs":"\u95ee\u9898\u4fee\u590d","changeLog":"\u8be6\u7ec6\u53d8\u66f4"},"slogan":{"key":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b","description":"\u4e00\u53e5\u8bdd\u751f\u6210\u4efb\u4f55\u56fe\u5f62"},"feature":[{"title":"AI\u751f\u62102D\u56fe\u5f62","icon":"lni-bar-chart","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd2D\u56fe\u5f62"},{"title":"AI\u751f\u62103D\u573a\u666f","icon":"lni-dropbox","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd3D\u573a\u666f"},{"title":"\u591a\u79cd\u6570\u636e\u6e90","icon":"lni-database","details":"\u6570\u636e\u6e90\u63d2\u4ef6\u4e0e\u63d0\u793a\u8bcd\u7ed3\u5408"},{"title":"\u4e09\u65b9\u63d2\u4ef6\u673a\u5668\u4eba","icon":"lni-game","details":"\u4e3a\u4e86\u63d0\u4f9b\u66f4\u597d\u670d\u52a1\uff0c\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba\uff0c\u4f8b\u5982Huggingface space"},{"title":"\u53ef\u89c6\u5316\u6a21\u578b","icon":"lni-eye","details":"\u4e3a\u4e86\u66f4\u597d\u751f\u6210\u53ef\u89c6\u5316\u56fe\u5f62\uff0c\u81ea\u7814\u53ef\u89c6\u5316\u6a21\u578b"},{"title":"\u5bb9\u5668\u5316\u90e8\u7f72","icon":"lni-soundcloud","details":"\u4e3a\u4e86\u5feb\u901f\u4f7f\u7528\uff0c\u652f\u6301\u5bb9\u5668\u5316\u90e8\u7f72"}],"honor":{"description":"\u6211\u4eec\u83b7\u5f97\u4e86\u4e9b\u6b8a\u8363\uff0c\u8fd9\u4e9b\u8363\u8a89\u5c5e\u4e8e\u6240\u6709\u4e3a SolidUI \u505a\u51fa\u8d21\u732e\u7684\u4eba\uff0c\u611f\u8c22\u60a8\u7684\u4ed8\u51fa\uff01"}},"en":{"common":{"getStart":"Quick Start","architecture":"System Architecture","description":"Description","learnMore":"Learn More","coreFeatures":"Core Features","coreFeaturesDesc":"Modern features that will make your project easier.","honor":"Our Honor","ourUsers":"Our Users","readMore":"Read More","download":"Download","releaseDate":"Release Date","newFeatures":"New Features","enhancement":"Enhancement point","bugFixs":"Bug Fix","changeLog":"Changelog"},"slogan":{"key":"AI-generated Graphic Models","description":"one sentence generates any graph"},"feature":[{"title":"AI generated 2D graphics","icon":"lni-bar-chart","details":"Generate various 2D graphics based on the visualization model"},{"title":"AI generated 3D scene","icon":"lni-dropbox","details":"Generate various 3D scenes based on the visualization model"},{"title":"Multiple data sources","icon":"lni-database","details":"Data source plugin combined with prompt words"},{"title":"Three-party plug-in robot","icon":"lni-game","details":"In order to provide better service, support plug-in robots, such as Huggingface space"},{"title":"Visualization Model","icon":"lni-eye","details":"In order to better generate visualization graphics, self-developed visualization model"},{"title":"Containerized Deployment","icon":"lni-soundcloud","details":"For quick use, support containerized deployment"}],"honor":{"description":"We have received some precious honors, which belong to everyone who contributes to SolidUI, Thanks"}}}')}}]); \ No newline at end of file diff --git a/assets/js/f36b3ff0.04e26127.js b/assets/js/f36b3ff0.04e26127.js new file mode 100644 index 00000000..d98009fb --- /dev/null +++ b/assets/js/f36b3ff0.04e26127.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5282],{3905:(e,n,t)=>{t.d(n,{Zo:()=>u,kt:()=>g});var i=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function a(e){for(var n=1;n =0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i =0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=i.createContext({}),s=function(e){var n=i.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):a(a({},n),e)),t},u=function(e){var n=s(e.components);return i.createElement(l.Provider,{value:n},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},p=i.forwardRef((function(e,n){var t=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(t),p=o,g=d["".concat(l,".").concat(p)]||d[p]||m[p]||r;return t?i.createElement(g,a(a({ref:n},u),{},{components:t})):i.createElement(g,a({ref:n},u))}));function g(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var r=t.length,a=new Array(r);a[0]=p;var c={};for(var l in n)hasOwnProperty.call(n,l)&&(c[l]=n[l]);c.originalType=e,c[d]="string"==typeof e?e:o,a[1]=c;for(var s=2;s {t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>m,frontMatter:()=>r,metadata:()=>c,toc:()=>s});var i=t(7462),o=(t(7294),t(3905));const r={id:"community-operation",title:"Community Operation",sidebar_position:1},a=void 0,c={unversionedId:"operational/community-operation/community-operation",id:"operational/community-operation/community-operation",title:"Community Operation",description:"Community Co-building Cooperation",source:"@site/docs/operational/community-operation/README.md",sourceDirName:"operational/community-operation",slug:"/operational/community-operation/",permalink:"/SolidUI-Website/docs/operational/community-operation/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/operational/community-operation/README.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"community-operation",title:"Community Operation",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Kubernetes Deployment",permalink:"/SolidUI-Website/docs/deployment/deployment-kubernetes"},next:{title:"Server Architecture",permalink:"/SolidUI-Website/docs/design/server-architecture/"}},l={},s=[{value:"Community Co-building Cooperation",id:"community-co-building-cooperation",level:2},{value:"Open Source Community Co-building Terms",id:"open-source-community-co-building-terms",level:2},{value:"Share Valuable Content",id:"share-valuable-content",level:2},{value:"Organize Online or Offline Events",id:"organize-online-or-offline-events",level:2},{value:"Interaction and Communication",id:"interaction-and-communication",level:2},{value:"Cooperation and Co-creation",id:"cooperation-and-co-creation",level:2},{value:"Trial Environment and Resource Sharing",id:"trial-environment-and-resource-sharing",level:2},{value:"Prioritize Resolving Co-building Issues",id:"prioritize-resolving-co-building-issues",level:2},{value:"Adhere to the Code of Conduct",id:"adhere-to-the-code-of-conduct",level:2},{value:"Chinese document writing standards",id:"chinese-document-writing-standards",level:2}],u={toc:s},d="wrapper";function m(e){let{components:n,...t}=e;return(0,o.kt)(d,(0,i.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"community-co-building-cooperation"},"Community Co-building Cooperation"),(0,o.kt)("h2",{id:"open-source-community-co-building-terms"},"Open Source Community Co-building Terms"),(0,o.kt)("p",null,"These terms aim to provide a friendly, relaxed, and mutually beneficial environment for all members participating in community co-building."),(0,o.kt)("h2",{id:"share-valuable-content"},"Share Valuable Content"),(0,o.kt)("p",null,"Share valuable technical articles, tutorials, case studies, etc., in your community, allowing members to understand and learn related technologies.\nRegularly publish community news and progress, keeping members informed about the latest developments in the co-building community."),(0,o.kt)("h2",{id:"organize-online-or-offline-events"},"Organize Online or Offline Events"),(0,o.kt)("p",null,"Organize online or offline Meetups, workshops, technical salons, and other activities, inviting members to participate.\nEngage in technical exchanges and discussions during events to enhance understanding and collaboration among members."),(0,o.kt)("h2",{id:"interaction-and-communication"},"Interaction and Communication"),(0,o.kt)("p",null,"Encourage members to interact and communicate within the community, asking questions, answering questions, and sharing experiences.\nSet up dedicated discussion areas within the community, making it easy for members to discuss co-building topics and technical issues."),(0,o.kt)("h2",{id:"cooperation-and-co-creation"},"Cooperation and Co-creation"),(0,o.kt)("p",null,"Collaborate with other communities to jointly organize events, share resources, and exchange technical experiences.\nEncourage members to participate in co-building projects, jointly creating open source software and technical solutions."),(0,o.kt)("h2",{id:"trial-environment-and-resource-sharing"},"Trial Environment and Resource Sharing"),(0,o.kt)("p",null,"When trying out new features and environments, prioritize notifying co-building community members and invite them to test and provide feedback together.\nShare valuable resources within the co-building community, enabling other members to better understand and learn related technologies."),(0,o.kt)("h2",{id:"prioritize-resolving-co-building-issues"},"Prioritize Resolving Co-building Issues"),(0,o.kt)("p",null,"When a co-building community member raises an issue, prioritize addressing and resolving it.\nActively communicate with co-building community members during the issue resolution process to ensure the issue is properly handled."),(0,o.kt)("h2",{id:"adhere-to-the-code-of-conduct"},"Adhere to the Code of Conduct"),(0,o.kt)("p",null,"Respect others, actively participate in community building, and maintain a positive community atmosphere.\nAbide by the community's code of conduct, abstaining from participating in or condoning any form of discrimination, harassment, or improper behavior.\nWe hope that these terms provide clear guidance for community co-building, allowing everyone to jointly operate the community effectively. Thank you for your support and participation!"),(0,o.kt)("h2",{id:"chinese-document-writing-standards"},"Chinese document writing standards"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/ruanyf/document-style-guide"},"Ruan YiFeng document-style-guide")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fea061e2.e0898e6c.js b/assets/js/fea061e2.e0898e6c.js new file mode 100644 index 00000000..d8977d15 --- /dev/null +++ b/assets/js/fea061e2.e0898e6c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3370],{3905:(e,t,o)=>{o.d(t,{Zo:()=>m,kt:()=>h});var i=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function a(e){for(var t=1;t =0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i =0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var l=i.createContext({}),c=function(e){var t=i.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},m=function(e){var t=c(e.components);return i.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,l=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=c(o),p=n,h=d["".concat(l,".").concat(p)]||d[p]||u[p]||r;return o?i.createElement(h,a(a({ref:t},m),{},{components:o})):i.createElement(h,a({ref:t},m))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,a=new Array(r);a[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:n,a[1]=s;for(var c=2;c {o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var i=o(7462),n=(o(7294),o(3905));const r={id:"development-commit",title:"Development Commit",sidebar_position:1},a="SolidUI Commit Message",s={unversionedId:"development/development-commit",id:"development/development-commit",title:"Development Commit",description:"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message",source:"@site/docs/development/development-commit.md",sourceDirName:"development",slug:"/development/development-commit",permalink:"/SolidUI-Website/docs/development/development-commit",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/development/development-commit.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"development-commit",title:"Development Commit",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Quick start",permalink:"/SolidUI-Website/docs/user-guide/quick-start"},next:{title:"Docker Build",permalink:"/SolidUI-Website/docs/development/development-docker"}},l={},c=[{value:"1. Introduction",id:"1-introduction",level:2},{value:"2. Commit Message RIP",id:"2-commit-message-rip",level:2},{value:"2.1 Clarify Changes",id:"21-clarify-changes",level:3},{value:"2.2 Associate with Relevant Pull Requests or Issues",id:"22-associate-with-relevant-pull-requests-or-issues",level:3},{value:"2.3 Unified Format",id:"23-unified-format",level:3},{value:"Header",id:"header",level:4},{value:"Body",id:"body",level:4},{value:"Footer",id:"footer",level:4},{value:"Example",id:"example",level:4},{value:"3. Reference Documents",id:"3-reference-documents",level:2}],m={toc:c},d="wrapper";function u(e){let{components:t,...o}=e;return(0,n.kt)(d,(0,i.Z)({},m,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"solidui-commit-message"},"SolidUI Commit Message"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},(0,n.kt)("a",{parentName:"p",href:"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message"},"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message"))),(0,n.kt)("h2",{id:"1-introduction"},"1. Introduction"),(0,n.kt)("p",null," A good commit message can help other developers (or future developers) quickly understand the context of related changes, and also help project managers determine whether the commit is suitable for inclusion in a release. However, after reviewing the commit logs of many open-source projects, we found an interesting problem: some developers have good code quality, but their commit messages are messy. When other contributors or learners view the code, they cannot intuitively understand the purpose of the changes before and after the commit. As Peter Hutterer said: Re-establishing the context of a piece of code is wasteful. We can't avoid it completely, so our efforts should go to reducing it as much as possible. Commit messages can do exactly that and as a result, a commit message shows whether a developer is a good collaborator. Therefore, SolidUI has established this convention in combination with other communities and official Apache documentation."),(0,n.kt)("h2",{id:"2-commit-message-rip"},"2. Commit Message RIP"),(0,n.kt)("h3",{id:"21-clarify-changes"},"2.1 Clarify Changes"),(0,n.kt)("p",null,"Commit messages should clearly state the problems being addressed (bug fixes, feature enhancements, etc.) to help users and developers better track issues and clarify the optimization process during version iterations."),(0,n.kt)("h3",{id:"22-associate-with-relevant-pull-requests-or-issues"},"2.2 Associate with Relevant Pull Requests or Issues"),(0,n.kt)("p",null,"When our changes are large, it's best to associate the commit message with related Issues or Pull Requests on GitHub. This way, our developers can quickly understand the context of the code changes through the associated information when reviewing the code. If the current commit is for a specific issue, it can be closed in the Footer section."),(0,n.kt)("h3",{id:"23-unified-format"},"2.3 Unified Format"),(0,n.kt)("p",null,"Formatted commit messages can help us provide more historical information, facilitate quick browsing, and generate Change Logs directly from commits."),(0,n.kt)("p",null,"Commit messages should include three parts: Header, Body, and Footer. The Header is required, while the Body and Footer are optional."),(0,n.kt)("h4",{id:"header"},"Header"),(0,n.kt)("p",null,"The Header section consists of a single line and includes three fields: type (required), scope (optional), and subject (required)."),(0,n.kt)("p",null,"[DS-ISSUE number][type]"," subject"),(0,n.kt)("p",null,"(1) Type is used to indicate the category of the commit, and only the following seven identifiers are allowed:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"feat: New feature"),(0,n.kt)("li",{parentName:"ul"},"fix: Bug fix"),(0,n.kt)("li",{parentName:"ul"},"docs: Documentation"),(0,n.kt)("li",{parentName:"ul"},"style: Formatting changes (that do not affect code execution)"),(0,n.kt)("li",{parentName:"ul"},"refactor: Refactoring (code changes that neither add features nor fix bugs)"),(0,n.kt)("li",{parentName:"ul"},"test: Adding tests"),(0,n.kt)("li",{parentName:"ul"},"chore: Changes to the build process or auxiliary tools")),(0,n.kt)("p",null,"If the type is 'feat' or 'fix', the commit will definitely appear in the Change Log. For other cases (docs, chore, style, refactor, test), it is recommended not to include them."),(0,n.kt)("p",null,"(2) Scope"),(0,n.kt)("p",null,"Scope is used to indicate the affected range of the commit, such as server, remote, etc. If there is no more suitable scope, you can use an asterisk (*)."),(0,n.kt)("p",null,"(3) Subject"),(0,n.kt)("p",null,"Subject is a brief description of the purpose of the commit, not exceeding 50 characters."),(0,n.kt)("h4",{id:"body"},"Body"),(0,n.kt)("p",null,"The Body section is a detailed description of the commit, which can be divided into multiple lines. Line breaks will occur every 72 characters to avoid automatic line breaks affecting aesthetics."),(0,n.kt)("p",null,"The Body section should pay attention to the following points:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Use the verb-object structure and the present tense, e.g., use 'change' instead of 'changed' or 'changes'")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Do not capitalize the first letter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Do not end the sentence with a period (.)"))),(0,n.kt)("h4",{id:"footer"},"Footer"),(0,n.kt)("p",null,"Footer is only applicable in two situations:"),(0,n.kt)("p",null,"(1) Incompatible Changes"),(0,n.kt)("p",null,"If the current code is incompatible with the previous version, the Footer section should start with BREAKING CHANGE, followed by a description of the changes, the reasons for the changes, and the migration methods."),(0,n.kt)("p",null,"(2) Closing Issues"),(0,n.kt)("p",null,"If the current commit is for a specific issue, it can be closed in the Footer section. Multiple issues can be closed at once."),(0,n.kt)("h4",{id:"example"},"Example"),(0,n.kt)("p",null,"[SolidUI-001][docs-en]"," add commit message"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"commit message RIP"),(0,n.kt)("li",{parentName:"ul"},"build some conventions"),(0,n.kt)("li",{parentName:"ul"},"help the commit messages become clean and tidy"),(0,n.kt)("li",{parentName:"ul"},"help developers and release managers better track issues"),(0,n.kt)("li",{parentName:"ul"},"and clarify the optimization in the version iteration")),(0,n.kt)("p",null,"This closes #001"),(0,n.kt)("h2",{id:"3-reference-documents"},"3. Reference Documents"),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://cwiki.apache.org/confluence/display/GEODE/Commit+Message+Format"},"Commit Message Format")),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"http://who-t.blogspot.com/2009/12/on-commit-messages.html"},"On Commit Messages")),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://mp.weixin.qq.com/s/LKM4IXAY-7dKhTzGu5-oug"},"RocketMQ Community Operation Convention")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fed3a01c.ff3f3d33.js b/assets/js/fed3a01c.ff3f3d33.js new file mode 100644 index 00000000..89e87f2f --- /dev/null +++ b/assets/js/fed3a01c.ff3f3d33.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[221],{4469:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/main.cb1f28af.js b/assets/js/main.cb1f28af.js new file mode 100644 index 00000000..3886f1b4 --- /dev/null +++ b/assets/js/main.cb1f28af.js @@ -0,0 +1,2 @@ +/*! For license information please see main.cb1f28af.js.LICENSE.txt */ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(7462),o=n(8356),i=n.n(o),s=n(6887);const l={"017a0f29":[()=>n.e(1649).then(n.t.bind(n,2919,19)),"~blog/default/solid-ui-website-blog-page-2-fd8.json",2919],"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],"035672d3":[()=>Promise.all([n.e(532),n.e(4921)]).then(n.bind(n,7805)),"@site/src/pages/team/index.jsx",7805],"08fabd1b":[()=>n.e(7445).then(n.t.bind(n,6571,19)),"~blog/default/solid-ui-website-blog-tags-stable-diffusion-page-2-9a1-list.json",6571],"0e384e19":[()=>n.e(9671).then(n.bind(n,9881)),"@site/docs/intro.md",9881],"0e49e91b":[()=>n.e(9094).then(n.bind(n,9786)),"@site/src/pages/home/hero.jsx",9786],"0e71e333":[()=>n.e(1856).then(n.bind(n,3673)),"@site/docs/design/server-architecture/README.md",3673],"0f2150f8":[()=>n.e(2558).then(n.t.bind(n,9454,19)),"~blog/default/solid-ui-website-blog-tags-ai-5d9-list.json",9454],"0fceeaee":[()=>n.e(2718).then(n.bind(n,831)),"@site/community/contribution_guide/become_committer.md",831],"1246422e":[()=>n.e(4762).then(n.t.bind(n,3769,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"13afd6dd":[()=>n.e(1346).then(n.t.bind(n,8768,19)),"~blog/default/solid-ui-website-blog-tags-ai-5d9.json",8768],"14bbe142":[()=>n.e(7962).then(n.bind(n,6194)),"@site/docs/development/develop-contributing.md",6194],17896441:[()=>Promise.all([n.e(532),n.e(8105),n.e(7918)]).then(n.bind(n,8945)),"@theme/DocItem",8945],"181d6f49":[()=>n.e(4798).then(n.bind(n,3168)),"@site/src/pages/home/feature.jsx",3168],"18574ea0":[()=>n.e(3362).then(n.bind(n,6856)),"@site/blog/2023-09-05-0.2.0-Release.md",6856],"1978304a":[()=>n.e(2455).then(n.bind(n,5870)),"@site/docs/development/server-compilation.md",5870],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,1473)),"@theme/SearchPage",1473],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,9963)),"@theme/DocPage",9963],"1df93b7f":[()=>Promise.all([n.e(532),n.e(3237)]).then(n.bind(n,9754)),"@site/src/pages/index.tsx",9754],"210a63df":[()=>n.e(3378).then(n.t.bind(n,6115,19)),"~blog/default/solid-ui-website-blog-tags-tags-f96.json",6115],"2208a986":[()=>n.e(3047).then(n.bind(n,7933)),"@site/docs/design/metadata/README.md",7933],"248e03f5":[()=>Promise.all([n.e(532),n.e(8932)]).then(n.bind(n,3808)),"@site/src/pages/user/index.js",3808],"271ff943":[()=>Promise.all([n.e(532),n.e(4827)]).then(n.bind(n,5995)),"@site/src/pages/home/performance.jsx",5995],"306a8c6c":[()=>n.e(7616).then(n.t.bind(n,9479,19)),"~docs/community/version-current-metadata-prop-751.json",9479],33058117:[()=>n.e(5024).then(n.t.bind(n,455,19)),"~blog/default/solid-ui-website-blog-tags-stable-diffusion-000.json",455],"37a2ef67":[()=>n.e(2074).then(n.t.bind(n,3040,19)),"~blog/default/solid-ui-website-blog-tags-solid-ui-page-2-6e6.json",3040],"43f8f43d":[()=>n.e(7558).then(n.bind(n,9404)),"@site/docs/development/docker-images.md",9404],"4687a2fe":[()=>n.e(4656).then(n.bind(n,1271)),"@site/blog/2023-09-05-Official-Website-Introduction.md?truncated=true",1271],"4d9f66ec":[()=>n.e(2908).then(n.bind(n,2133)),"@site/blog/2023-07-01-function-explanation-0.1.0.md?truncated=true",2133],"5434e1ce":[()=>n.e(8939).then(n.bind(n,8243)),"@site/docs/user-guide/quickstart.md",8243],"5836cbff":[()=>n.e(3288).then(n.t.bind(n,926,19)),"~blog/default/solid-ui-website-blog-tags-aigc-afe.json",926],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"6655eab5":[()=>n.e(2153).then(n.bind(n,6227)),"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md",6227],"6875c492":[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(8610)]).then(n.bind(n,1714)),"@theme/BlogTagsPostsPage",1714],"6cd1964f":[()=>n.e(5516).then(n.t.bind(n,7176,19)),"~blog/default/solid-ui-website-blog-tags-solid-ui-aef.json",7176],"6d852631":[()=>n.e(8040).then(n.t.bind(n,7592,19)),"~blog/default/solid-ui-website-blog-tags-solid-ui-aef-list.json",7592],"7ba7942d":[()=>n.e(9615).then(n.bind(n,6877)),"@site/blog/2023-07-03-independent-deployment-communication-analysis.md",6877],"7f90e5b7":[()=>n.e(4391).then(n.bind(n,6561)),"@site/docs/deployment/deployment-standalone.md",6561],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"82bafcbe":[()=>n.e(240).then(n.bind(n,1848)),"@site/blog/2023-09-05-0.2.0-introduction.md?truncated=true",1848],"8ba85c45":[()=>n.e(289).then(n.t.bind(n,2481,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-docs/community/plugin-route-context-module-100.json",2481],"8d1dd453":[()=>n.e(1671).then(n.t.bind(n,5986,19)),"~blog/default/solid-ui-website-blog-481.json",5986],"90b38822":[()=>n.e(5279).then(n.bind(n,7769)),"@site/community/submit_guide/document.md",7769],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9e4087bc":[()=>n.e(3608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a185487b:[()=>n.e(2541).then(n.bind(n,8267)),"@site/docs/test/test-case/README.md",8267],a212e31b:[()=>n.e(5842).then(n.t.bind(n,3729,19)),"~blog/default/solid-ui-website-blog-archive-541.json",3729],a38ac2fb:[()=>n.e(789).then(n.bind(n,7532)),"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md?truncated=true",7532],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(3089)]).then(n.bind(n,46)),"@theme/BlogListPage",46],ac0ab662:[()=>n.e(530).then(n.bind(n,8234)),"@site/community/submit_guide/submit-code.md",8234],ac717c78:[()=>n.e(8688).then(n.bind(n,9206)),"@site/blog/2023-09-05-0.2.0-introduction.md",9206],aea76b71:[()=>n.e(1637).then(n.t.bind(n,6531,19)),"~blog/default/solid-ui-website-blog-tags-stable-diffusion-page-2-9a1.json",6531],afbbc345:[()=>n.e(9084).then(n.bind(n,8440)),"@site/blog/2023-09-05-0.2.0-Release.md?truncated=true",8440],b086f4ef:[()=>n.e(627).then(n.bind(n,2946)),"@site/docs/development/project-process.md",2946],b1bdda4d:[()=>n.e(3884).then(n.t.bind(n,5745,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],b5f0312c:[()=>n.e(5722).then(n.bind(n,4809)),"@site/docs/deployment/deplpyment-kubernetes.md",4809],b6f5f78e:[()=>n.e(4069).then(n.bind(n,904)),"@site/docs/development/frontend-document.md",904],b774a57d:[()=>n.e(1301).then(n.t.bind(n,8341,19)),"~blog/default/solid-ui-website-blog-tags-solid-ui-page-2-6e6-list.json",8341],c0b1c6d1:[()=>n.e(8807).then(n.bind(n,4824)),"@site/docs/faq/faq/faq.md",4824],c247501b:[()=>n.e(527).then(n.bind(n,3446)),"@site/docs/development/publishing-process.md",3446],c5a490c3:[()=>n.e(8445).then(n.bind(n,8599)),"@site/docs/deployment/deployment-docker.md",8599],c7491b26:[()=>n.e(5412).then(n.bind(n,3179)),"@site/blog/2023-07-03-independent-deployment-communication-analysis.md?truncated=true",3179],ccc49370:[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(6103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],cd4de7b0:[()=>n.e(5933).then(n.bind(n,9507)),"@site/docs/deployment/deployment-web.md",9507],d97b9c6c:[()=>n.e(6160).then(n.bind(n,2446)),"@site/docs/design/front-end-architecture/README.md",2446],deb5dccc:[()=>n.e(5876).then(n.t.bind(n,4151,19)),"~blog/default/solid-ui-website-blog-tags-aigc-afe-list.json",4151],e02071e6:[()=>n.e(2957).then(n.t.bind(n,30,19)),"~blog/default/solid-ui-website-blog-tags-stable-diffusion-000-list.json",30],eaf8f7fb:[()=>n.e(9885).then(n.t.bind(n,2776,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json",2776],ed523c22:[()=>n.e(8352).then(n.bind(n,9662)),"@site/blog/2023-07-01-function-explanation-0.1.0.md",9662],eec08420:[()=>n.e(730).then(n.bind(n,5973)),"@site/blog/2023-09-05-Official-Website-Introduction.md",5973],f106860d:[()=>Promise.all([n.e(532),n.e(6393)]).then(n.bind(n,2875)),"@site/src/pages/home/index.jsx",2875],f36b3ff0:[()=>n.e(5282).then(n.bind(n,495)),"@site/docs/operational/community-operation/README.md",495],fea061e2:[()=>n.e(3370).then(n.bind(n,5033)),"@site/docs/development/development-commit.md",5033],fed3a01c:[()=>n.e(221).then(n.t.bind(n,4469,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469]};function u(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var c=n(9670),d=n(226);function f(e,t){if("*"===e)return i()({loading:u,loader:()=>n.e(4972).then(n.bind(n,4972)),modules:["@theme/NotFound"],webpack:()=>[4972],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=s[`${e}-${t}`],f={},p=[],m=[],h=(0,c.Z)(o);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=l[n];r&&(f[t]=r[0],p.push(r[1]),m.push(r[2]))})),i().Map({loading:u,loader:f,modules:p,webpack:()=>m,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const s=n.split(".");s.slice(0,-1).forEach((e=>{o=o[e]})),o[s[s.length-1]]=a}));const s=i.__comp;delete i.__comp;const l=i.__context;return delete i.__context,r.createElement(d.z,{value:l},r.createElement(s,(0,a.Z)({},i,n)))}})}const p=[{path:"/SolidUI-Website/blog",component:f("/SolidUI-Website/blog","c7f"),exact:!0},{path:"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0",component:f("/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","1b6"),exact:!0},{path:"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis",component:f("/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","415"),exact:!0},{path:"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis",component:f("/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","150"),exact:!0},{path:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction",component:f("/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","053"),exact:!0},{path:"/SolidUI-Website/blog/2023/09/05/0.2.0-Release",component:f("/SolidUI-Website/blog/2023/09/05/0.2.0-Release","c10"),exact:!0},{path:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction",component:f("/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","776"),exact:!0},{path:"/SolidUI-Website/blog/archive",component:f("/SolidUI-Website/blog/archive","d30"),exact:!0},{path:"/SolidUI-Website/blog/page/2",component:f("/SolidUI-Website/blog/page/2","d64"),exact:!0},{path:"/SolidUI-Website/blog/tags",component:f("/SolidUI-Website/blog/tags","0a5"),exact:!0},{path:"/SolidUI-Website/blog/tags/ai",component:f("/SolidUI-Website/blog/tags/ai","872"),exact:!0},{path:"/SolidUI-Website/blog/tags/aigc",component:f("/SolidUI-Website/blog/tags/aigc","cf5"),exact:!0},{path:"/SolidUI-Website/blog/tags/solid-ui",component:f("/SolidUI-Website/blog/tags/solid-ui","742"),exact:!0},{path:"/SolidUI-Website/blog/tags/solid-ui/page/2",component:f("/SolidUI-Website/blog/tags/solid-ui/page/2","277"),exact:!0},{path:"/SolidUI-Website/blog/tags/stable-diffusion",component:f("/SolidUI-Website/blog/tags/stable-diffusion","20e"),exact:!0},{path:"/SolidUI-Website/blog/tags/stable-diffusion/page/2",component:f("/SolidUI-Website/blog/tags/stable-diffusion/page/2","fd7"),exact:!0},{path:"/SolidUI-Website/home/",component:f("/SolidUI-Website/home/","65b"),exact:!0},{path:"/SolidUI-Website/home/feature",component:f("/SolidUI-Website/home/feature","c9a"),exact:!0},{path:"/SolidUI-Website/home/hero",component:f("/SolidUI-Website/home/hero","482"),exact:!0},{path:"/SolidUI-Website/home/performance",component:f("/SolidUI-Website/home/performance","048"),exact:!0},{path:"/SolidUI-Website/search",component:f("/SolidUI-Website/search","d4b"),exact:!0},{path:"/SolidUI-Website/team/",component:f("/SolidUI-Website/team/","0b1"),exact:!0},{path:"/SolidUI-Website/user/",component:f("/SolidUI-Website/user/","ab5"),exact:!0},{path:"/SolidUI-Website/community",component:f("/SolidUI-Website/community","6be"),routes:[{path:"/SolidUI-Website/community/contribution_guide/become_committer",component:f("/SolidUI-Website/community/contribution_guide/become_committer","4d5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/community/submit_guide/document",component:f("/SolidUI-Website/community/submit_guide/document","98a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/community/submit_guide/submit_code",component:f("/SolidUI-Website/community/submit_guide/submit_code","5d4"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"/SolidUI-Website/docs",component:f("/SolidUI-Website/docs","8e8"),routes:[{path:"/SolidUI-Website/docs/deployment/deployment-docker",component:f("/SolidUI-Website/docs/deployment/deployment-docker","9a1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/deployment/deployment-kubernetes",component:f("/SolidUI-Website/docs/deployment/deployment-kubernetes","6a2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/deployment/deployment-standalone",component:f("/SolidUI-Website/docs/deployment/deployment-standalone","c74"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/deployment/deployment-web",component:f("/SolidUI-Website/docs/deployment/deployment-web","334"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/design/front-end-architecture/",component:f("/SolidUI-Website/docs/design/front-end-architecture/","74f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/design/metadata/",component:f("/SolidUI-Website/docs/design/metadata/","37a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/design/server-architecture/",component:f("/SolidUI-Website/docs/design/server-architecture/","39a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/develop-contributing",component:f("/SolidUI-Website/docs/development/develop-contributing","897"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-commit",component:f("/SolidUI-Website/docs/development/development-commit","2b6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-construction",component:f("/SolidUI-Website/docs/development/development-construction","0f0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-docker",component:f("/SolidUI-Website/docs/development/development-docker","f3e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-front",component:f("/SolidUI-Website/docs/development/development-front","b41"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-release",component:f("/SolidUI-Website/docs/development/development-release","a34"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-server",component:f("/SolidUI-Website/docs/development/development-server","f26"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/faq/faq/",component:f("/SolidUI-Website/docs/faq/faq/","a1d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/intro",component:f("/SolidUI-Website/docs/intro","330"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/operational/community-operation/",component:f("/SolidUI-Website/docs/operational/community-operation/","937"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/test/test-case/",component:f("/SolidUI-Website/docs/test/test-case/","5a4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/user-guide/quick-start",component:f("/SolidUI-Website/docs/user-guide/quick-start","1a3"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"/SolidUI-Website/",component:f("/SolidUI-Website/","d6a"),exact:!0},{path:"*",component:f("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(7294);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},9383:(e,t,n)=>{"use strict";var r=n(7294),a=n(3935),o=n(3727),i=n(405),s=n(412);const l=[n(2497),n(7021),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(7462),m=n(5742),h=n(2263),g=n(4996),b=n(6668),v=n(1944),y=n(4711),w=n(9727),k=n(3320),E=n(197);function S(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,h.Z)(),n=(0,y.l)();return r.createElement(m.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function x(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),a=function(){const{siteConfig:{url:e}}=(0,h.Z)(),{pathname:t}=(0,c.TH)();return e+(0,g.Z)(t)}(),o=t?`${n}${t}`:a;return r.createElement(m.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function _(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(m.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(x,null),r.createElement(S,null),r.createElement(E.Z,{tag:k.HX,locale:e}),r.createElement(m.Z,null,t.map(((e,t)=>r.createElement("meta",(0,p.Z)({key:t},e))))))}const C=new Map;function T(e){if(C.has(e.pathname))return{...e,pathname:C.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return C.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return C.set(e.pathname,t),{...e,pathname:t}}var I=n(8934),L=n(8940);function A(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r {const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),A("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class N extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?A("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=A("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(P,{previousLocation:this.previousLocation,location:t},r.createElement(c.AW,{location:t,render:()=>e}))}}const R=N,U="__docusaurus-base-url-issue-banner-container",D="__docusaurus-base-url-issue-banner",M="__docusaurus-base-url-issue-banner-suggestion-container",F="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return`\nwindow['${F}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${F}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${U}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n \n\n`}(e)).replace(/{window[F]=!1}),[]),r.createElement(r.Fragment,null,!s.Z.canUseDOM&&r.createElement(m.Z,null,r.createElement("script",null,B(e))),r.createElement("div",{id:U}))}function $(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?r.createElement(z,null):null}function j(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,h.Z)(),i=(0,g.Z)(e),{htmlLang:s,direction:l}=o[a];return r.createElement(m.Z,null,r.createElement("html",{lang:s,dir:l}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var W=n(4763);function H(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return r.createElement(W.Z,null,r.createElement(L.M,null,r.createElement(I.t,null,r.createElement(f,null,r.createElement(j,null),r.createElement(_,null),r.createElement($,null),r.createElement(R,{location:T(t)},e)))))}var Z=n(6887);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var V=n(9670);const q=new Set,G=new Set,Y=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,K={prefetch(e){if(!(e=>!Y()&&!G.has(e)&&!q.has(e))(e))return!1;q.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Z).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,V.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!Y()&&!G.has(e))(e)&&(G.add(e),O(e))},X=Object.freeze(K);if(s.Z.canUseDOM){window.docusaurus=X;const e=a.hydrate;O(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(H,null))),document.getElementById("__docusaurus"))}))}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>c,M:()=>d});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/SolidUI-Website/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/SolidUI-Website/docs","mainDocId":"intro","docs":[{"id":"deployment/deployment-docker","path":"/SolidUI-Website/docs/deployment/deployment-docker","sidebar":"tutorialSidebar"},{"id":"deployment/deployment-kubernetes","path":"/SolidUI-Website/docs/deployment/deployment-kubernetes","sidebar":"tutorialSidebar"},{"id":"deployment/deployment-standalone","path":"/SolidUI-Website/docs/deployment/deployment-standalone","sidebar":"tutorialSidebar"},{"id":"deployment/deployment-web","path":"/SolidUI-Website/docs/deployment/deployment-web","sidebar":"tutorialSidebar"},{"id":"design/front-end-architecture/front-end-architecture","path":"/SolidUI-Website/docs/design/front-end-architecture/","sidebar":"tutorialSidebar"},{"id":"design/metadata/metadata","path":"/SolidUI-Website/docs/design/metadata/","sidebar":"tutorialSidebar"},{"id":"design/server-architecture/server-architecture","path":"/SolidUI-Website/docs/design/server-architecture/","sidebar":"tutorialSidebar"},{"id":"development/develop-contributing","path":"/SolidUI-Website/docs/development/develop-contributing","sidebar":"tutorialSidebar"},{"id":"development/development-commit","path":"/SolidUI-Website/docs/development/development-commit","sidebar":"tutorialSidebar"},{"id":"development/development-construction","path":"/SolidUI-Website/docs/development/development-construction","sidebar":"tutorialSidebar"},{"id":"development/development-docker","path":"/SolidUI-Website/docs/development/development-docker","sidebar":"tutorialSidebar"},{"id":"development/development-front","path":"/SolidUI-Website/docs/development/development-front","sidebar":"tutorialSidebar"},{"id":"development/development-release","path":"/SolidUI-Website/docs/development/development-release","sidebar":"tutorialSidebar"},{"id":"development/development-server","path":"/SolidUI-Website/docs/development/development-server","sidebar":"tutorialSidebar"},{"id":"faq/faq/faq","path":"/SolidUI-Website/docs/faq/faq/","sidebar":"tutorialSidebar"},{"id":"intro","path":"/SolidUI-Website/docs/intro","sidebar":"tutorialSidebar"},{"id":"operational/community-operation/community-operation","path":"/SolidUI-Website/docs/operational/community-operation/","sidebar":"tutorialSidebar"},{"id":"test/test-case/test-case","path":"/SolidUI-Website/docs/test/test-case/","sidebar":"tutorialSidebar"},{"id":"user-guide/quick-start","path":"/SolidUI-Website/docs/user-guide/quick-start","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/SolidUI-Website/docs/intro","label":"intro"}}}}],"breadcrumbs":true},"community":{"path":"/SolidUI-Website/community","versions":[{"name":"current","label":"Next","isLast":true,"path":"/SolidUI-Website/community","mainDocId":"contribution_guide/become_committer","docs":[{"id":"contribution_guide/become_committer","path":"/SolidUI-Website/community/contribution_guide/become_committer","sidebar":"tutorialSidebar"},{"id":"submit_guide/document","path":"/SolidUI-Website/community/submit_guide/document","sidebar":"tutorialSidebar"},{"id":"submit_guide/submit_code","path":"/SolidUI-Website/community/submit_guide/submit_code","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/SolidUI-Website/community/contribution_guide/become_committer","label":"contribution_guide/become_committer"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en","zh-CN"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"},"zh-CN":{"label":"\u7b80\u4f53\u4e2d\u6587","direction":"ltr","htmlLang":"zh-CN","calendar":"gregory","path":"zh-CN"}}}');var s=n(7529);const l=JSON.parse('{"docusaurusVersion":"2.4.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.4.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.1"},"docusaurus-plugin-less":{"type":"package","name":"docusaurus-plugin-less","version":"2.0.2"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.33.6"}}}'),u={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},c=r.createContext(u);function d(e){let{children:t}=e;return r.createElement(c.Provider,{value:u},t)}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(412),o=n(5742),i=n(8780),s=n(179);function l(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},r.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),r.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),r.createElement(u,{error:t}))}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function c(e){let{error:t,tryAgain:n}=e;return r.createElement(f,{fallback:()=>r.createElement(l,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(s.Z,null,r.createElement(l,{error:t,tryAgain:n})))}const d=e=>r.createElement(c,e);class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??d)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(405);function o(e){return r.createElement(a.ql,e)}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7462),a=n(7294),o=n(3727),i=n(8780),s=n(2263),l=n(3919),u=n(412);const c=a.createContext({collectLink:()=>{}});var d=n(4996);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:w}}=(0,s.Z)(),{withBaseUrl:k}=(0,d.C)(),E=(0,a.useContext)(c),S=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>S.current));const x=f||p;const _=(0,l.Z)(x),C=x?.replace("pathname://","");let T=void 0!==C?(I=C,b&&(e=>e.startsWith("/"))(I)?k(I):I):void 0;var I;T&&_&&(T=(0,i.applyTrailingSlash)(T,{trailingSlash:y,baseUrl:w}));const L=(0,a.useRef)(!1),A=n?o.OL:o.rU,P=u.Z.canUseIntersectionObserver,O=(0,a.useRef)(),N=()=>{L.current||null==T||(window.docusaurus.preload(T),L.current=!0)};(0,a.useEffect)((()=>(!P&&_&&null!=T&&window.docusaurus.prefetch(T),()=>{P&&O.current&&O.current.disconnect()})),[O,T,P,_]);const R=T?.startsWith("#")??!1,U=!T||!_||R;return U||g||E.collectLink(T),U?a.createElement("a",(0,r.Z)({ref:S,href:T},x&&!_&&{target:"_blank",rel:"noopener noreferrer"},v)):a.createElement(A,(0,r.Z)({},v,{onMouseEnter:N,onTouchStart:N,innerRef:e=>{S.current=e,P&&e&&_&&(O.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(O.current.unobserve(e),O.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),O.current.observe(e))},to:T},n&&{isActive:h,activeClassName:m}))}const p=a.forwardRef(f)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l,I:()=>s});var r=n(7294);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(7529);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function l(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("IllegalYour Docusaurus site did not load properly.
\nA very common reason is a wrong site baseUrl configuration.
\nCurrent configured baseUrl = ${e} ${"/"===e?" (default value)":""}
\nWe suggest trying baseUrl =
\nchildren",t),new Error("The Docusaurus component only accept simple string values");const s=i({message:t,id:n});return r.createElement(r.Fragment,null,a(s,o))}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(7294);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>h,gA:()=>f,_r:()=>c,Jo:()=>g,zh:()=>d,yW:()=>m,gB:()=>p});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=function(e,t){const n=s(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function p(e){return d(e).versions}function m(e){const t=d(e);return s(t)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return l(t,n)}function g(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=s(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},7021:(e,t,n)=>{"use strict";n.r(t);var r=n(7410),a=n(412),o=n(6809);const i=e=>{if(a.Z.canUseDOM){const{themeConfig:{prism:t={}}}=o.default,{additionalLanguages:r=[]}=t;window.Prism=e,r.forEach((e=>{n(8956)(`./prism-${e}`)})),delete window.Prism}};i(r.Z)},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);const a={iconExternalLink:"iconExternalLink_nPIU"};function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},179:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Ot});var r=n(7294),a=n(6010),o=n(4763),i=n(1944),s=n(7462),l=n(6550),u=n(5999),c=n(5936);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const m=(0,u.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:a}=p();return r.createElement("div",{ref:n,role:"region","aria-label":m},r.createElement("a",(0,s.Z)({},e,{href:`#${d}`,onClick:a}),t))}var g=n(5281),b=n(9727);const v={skipToContent:"skipToContent_fXgn"};function y(){return r.createElement(h,{className:v.skipToContent})}var w=n(6668),k=n(9689);function E(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...l}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 15 15",width:t,height:n},l),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const S={closeButton:"closeButton_CVFx"};function x(e){return r.createElement("button",(0,s.Z)({type:"button","aria-label":(0,u.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",S.closeButton,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,s.Z)({},e,{className:(0,a.Z)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}}))}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function I(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:T.announcementBar,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:T.announcementBarPlaceholder}),r.createElement(C,{className:T.announcementBarContent}),i&&r.createElement(x,{onClick:n,className:T.announcementBarClose}))}var L=n(2961),A=n(2466);var P=n(902),O=n(3102);const N=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,O.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,P.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(N.Provider,{value:n},t)}function U(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function D(){const e=(0,r.useContext)(N);if(!e)throw new P.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,O.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:U(o)})),[a,o,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=D();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var F=n(2949),B=n(2389);function z(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function $(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const j={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function W(e){let{className:t,buttonClassName:n,value:o,onChange:i}=e;const s=(0,B.Z)(),l=(0,u.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,u.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,u.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)(j.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",j.toggleButton,!s&&j.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===o?"light":"dark"),disabled:!s,title:l,"aria-label":l,"aria-live":"polite"},r.createElement(z,{className:(0,a.Z)(j.toggleIcon,j.lightToggleIcon)}),r.createElement($,{className:(0,a.Z)(j.toggleIcon,j.darkToggleIcon)})))}const H=r.memo(W),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function Q(e){let{className:t}=e;const n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,F.I)();return a?null:r.createElement(H,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:o,onChange:i})}var V=n(1327);function q(){return r.createElement(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function G(){const e=(0,L.e)();return r.createElement("button",{type:"button","aria-label":(0,u.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(E,{color:"var(--ifm-color-emphasis-600)"}))}function Y(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(q,null),r.createElement(Q,{className:"margin-right--md"}),r.createElement(G,null))}var K=n(9960),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:l,isDropdownLink:u,prependBaseUrlToHref:c,...d}=e;const f=(0,X.Z)(a),p=(0,X.Z)(t),m=(0,X.Z)(o,{forcePrependBaseUrl:!0}),h=i&&o&&!(0,J.Z)(o),g=l?{dangerouslySetInnerHTML:{__html:l}}:{children:r.createElement(r.Fragment,null,i,h&&r.createElement(te.Z,u&&{width:12,height:12}))};return o?r.createElement(K.Z,(0,s.Z)({href:c?m:o},d,g)):r.createElement(K.Z,(0,s.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},d,g))}function re(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(ne,(0,s.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function ae(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(ne,(0,s.Z)({className:(0,a.Z)("menu__link",t)},o)))}function oe(e){let{mobile:t=!1,position:n,...a}=e;const o=t?ae:re;return r.createElement(o,(0,s.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var ie=n(6043),se=n(8596),le=n(2263);function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ce(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const u=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{u.current&&!u.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[u]),r.createElement("div",{ref:u,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c})},r.createElement(ne,(0,s.Z)({"aria-haspopup":"true","aria-expanded":c,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},l,{onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))}}),l.children??l.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>r.createElement(Ze,(0,s.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function de(e){let{items:t,className:n,position:o,onClick:i,...u}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(ne,(0,s.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},u,{onClick:e=>{e.preventDefault(),p()}}),u.children??u.label),r.createElement(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(Ze,(0,s.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function fe(e){let{mobile:t=!1,...n}=e;const a=t?de:ce;return r.createElement(a,n)}var pe=n(4711);function me(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const he="iconLanguage_nlXk";var ge=n(1029),be=n(412),ve=n(373),ye=n(143),we=n(22),ke=n(8202),Ee=n(3926),Se=n(1073),xe=n(2539),_e=n(726);const Ce='',Te='',Ie='',Le='',Ae='',Pe='',Oe='',Ne={searchBar:"searchBar_RVTs",dropdownMenu:"dropdownMenu_qbY6",searchBarLeft:"searchBarLeft_MXDe",suggestion:"suggestion_fB_2",cursor:"cursor_eG29",hitTree:"hitTree_kk6K",hitIcon:"hitIcon_a7Zy",hitPath:"hitPath_ieM4",noResultsIcon:"noResultsIcon_EBY5",hitFooter:"hitFooter_E9YW",hitWrapper:"hitWrapper_sAK8",hitTitle:"hitTitle_vyVt",hitAction:"hitAction_NqkB",hideAction:"hideAction_vcyE",noResults:"noResults_l6Q3",searchBarContainer:"searchBarContainer_NW3z",searchBarLoadingRing:"searchBarLoadingRing_YnHq",searchClearButton:"searchClearButton_qk4g",searchIndexLoading:"searchIndexLoading_EJ1f",searchHintContainer:"searchHintContainer_Pkmr",searchHint:"searchHint_iIMx",focused:"focused_OWtg",input:"input_FOTf",hint:"hint_URu1",suggestions:"suggestions_X8XU",dataset:"dataset_QiCy",empty:"empty_eITn"};function Re(e){let{document:t,type:n,page:r,metadata:a,tokens:o,isInterOfTree:i,isLastOfTree:s}=e;const l=0===n,u=1===n,c=[];i?c.push(Pe):s&&c.push(Oe);const d=c.map((e=>`${e}`)),f=`${l?Ce:u?Te:Ie}`,p=[`${(0,_e.o)(t.t,(0,Se.m)(a,"t"),o)}`];if(!i&&!s&&ge.H6){const e=r?(r.b??[]).concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;p.push(`${(0,Ee.e)(e??[])}`)}else l||p.push(`${(0,xe.C)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),o)}`);const m=`${Le}`;return[...d,f,``,...p,"",m].join("")}function Ue(){return`${Ae}${(0,u.I)({id:"theme.SearchBar.noResultsText",message:"No results"})}`}var De=n(311);async function Me(){const e=await Promise.all([n.e(8443),n.e(5525)]).then(n.t.bind(n,8443,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const Fe="_highlight";const Be=function(e){let{handleSearchBarToggle:t}=e;const{siteConfig:{baseUrl:n}}=(0,le.Z)(),o=(0,ye.gA)();let i=n;try{const{preferredVersion:e}=(0,ve.J)(o?.pluginId??ge.gQ);e&&!e.isLast&&(i=e.path+"/")}catch(U){if(ge.l9&&!(U instanceof P.i6))throw U}const s=(0,l.k6)(),c=(0,l.TH)(),d=(0,r.useRef)(null),f=(0,r.useRef)(new Map),p=(0,r.useRef)(!1),[m,h]=(0,r.useState)(!1),[g,b]=(0,r.useState)(!1),[v,y]=(0,r.useState)(""),w=(0,r.useRef)(null),k=(0,r.useRef)(""),[E,S]=(0,r.useState)("");(0,r.useEffect)((()=>{if(!Array.isArray(ge.Kc))return;let e="";if(c.pathname.startsWith(i)){const t=c.pathname.substring(i.length),n=ge.Kc.find((e=>t===e||t.startsWith(`${e}/`)));n&&(e=n)}k.current!==e&&(f.current.delete(e),k.current=e),S(e)}),[c.pathname,i]);const x=!!ge.hG&&Array.isArray(ge.Kc)&&""===E,_=(0,r.useCallback)((async()=>{if(x||f.current.get(E))return;f.current.set(E,"loading"),w.current?.autocomplete.destroy(),h(!0);const[{wrappedIndexes:e,zhDictionary:t},r]=await Promise.all([(0,we.w)(i,E),Me()]);if(w.current=r(d.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,a.Z)(Ne.searchBar,{[Ne.searchBarLeft]:"left"===ge.pu}),noPrefix:!0,dropdownMenu:Ne.dropdownMenu,input:Ne.input,hint:Ne.hint,suggestions:Ne.suggestions,suggestion:Ne.suggestion,cursor:Ne.cursor,dataset:Ne.dataset,empty:Ne.empty}},[{source:(0,ke.v)(e,t,ge.qo),templates:{suggestion:Re,empty:Ue,footer:e=>{let{query:t,isEmpty:r}=e;if(r)return;const a=document.createElement("a"),o=new URLSearchParams;if(o.set("q",t),Array.isArray(ge.Kc)&&o.set("ctx",E),i!==n){if(!i.startsWith(n))throw new Error(`Version url '${i}' does not start with base url '${n}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);o.set("version",i.substring(n.length))}const l=`${n}search?${o.toString()}`;a.href=l,a.textContent=(0,u.I)({id:"theme.SearchBar.seeAll",message:"See all results"}),a.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),w.current?.autocomplete.close(),s.push(l))}));const c=document.createElement("div");return c.className=Ne.hitFooter,c.appendChild(a),c}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:n,h:r},tokens:a}=t;d.current?.blur();let o=n;if(ge.vc&&a.length>0){const e=new URLSearchParams;for(const t of a)e.append(Fe,t);o+=`?${e.toString()}`}r&&(o+=r),s.push(o)})).on("autocomplete:closed",(()=>{d.current?.blur()})),f.current.set(E,"done"),h(!1),p.current){const e=d.current;e.value&&w.current?.autocomplete.open(),e.focus()}}),[x,E,i,n,s]);(0,r.useEffect)((()=>{if(!ge.vc)return;const e=be.Z.canUseDOM?new URLSearchParams(c.search).getAll(Fe):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const n=new ge.vc(t);n.unmark(),0!==e.length&&n.mark(e),y(e.join(" ")),w.current?.autocomplete.setVal(e.join(" "))}))}),[c.search,c.pathname]);const[C,T]=(0,r.useState)(!1),I=(0,r.useCallback)((()=>{p.current=!0,_(),T(!0),t?.(!0)}),[t,_]),L=(0,r.useCallback)((()=>{T(!1),t?.(!1)}),[t]),A=(0,r.useCallback)((()=>{_()}),[_]),O=(0,r.useCallback)((e=>{y(e.target.value),e.target.value&&b(!0)}),[]),N=!!be.Z.canUseDOM&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,r.useEffect)((()=>{if(!ge.AY)return;const e=e=>{!(N?e.metaKey:e.ctrlKey)||"k"!==e.key&&"K"!==e.key||(e.preventDefault(),d.current?.focus(),I())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[N,I]);const R=(0,r.useCallback)((()=>{const e=new URLSearchParams(c.search);e.delete(Fe);const t=e.toString(),n=c.pathname+(""!=t?`?${t}`:"")+c.hash;n!=c.pathname+c.search+c.hash&&s.push(n),y(""),w.current?.autocomplete.setVal("")}),[c.pathname,c.search,c.hash,s]);return r.createElement("div",{className:(0,a.Z)("navbar__search",Ne.searchBarContainer,{[Ne.searchIndexLoading]:m&&g,[Ne.focused]:C}),hidden:x},r.createElement("input",{placeholder:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:A,onFocus:I,onBlur:L,onChange:O,ref:d,value:v}),r.createElement(De.Z,{className:Ne.searchBarLoadingRing}),ge.AY&&ge.t_&&(""!==v?r.createElement("button",{className:Ne.searchClearButton,onClick:R},"\u2715"):be.Z.canUseDOM&&r.createElement("div",{className:Ne.searchHintContainer},r.createElement("kbd",{className:Ne.searchHint},N?"\u2318":"ctrl"),r.createElement("kbd",{className:Ne.searchHint},"K"))))},ze={searchBox:"searchBox_ZlJk"};function $e(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,ze.searchBox)},t)}var je=n(2802);const We=e=>e.docs.find((t=>t.id===e.mainDocId));const He={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.Z)(),f=(0,pe.l)(),{search:p,hash:m}=(0,l.TH)(),h=[...n,...c.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${m}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...a],g=t?(0,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(fe,(0,s.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(me,{className:he}),g),items:h}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement($e,{className:n},r.createElement(Be,null))},dropdown:fe,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const s=i?"li":"div";return r.createElement(s,{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,ye.Iw)(a),l=(0,je.vY)(t,a);return null===l?null:r.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.path===l.path||!!i?.sidebar&&i.sidebar===l.sidebar,label:n??l.id,to:l.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,ye.Iw)(a),l=(0,je.oz)(t,a).link;if(!l)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.sidebar===t,label:n??l.label,to:l.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,je.lO)(a)[0],l=t??i.label,u=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(oe,(0,s.Z)({},o,{label:l,to:u}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...c}=e;const{search:d,hash:f}=(0,l.TH)(),p=(0,ye.Iw)(n),m=(0,ye.gB)(n),{savePreferredVersionName:h}=(0,ve.J)(n),g=[...o,...m.map((e=>{const t=p.alternateDocVersions[e.name]??We(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>h(e.name)}})),...i],b=(0,je.lO)(n)[0],v=t&&g.length>1?(0,u.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&g.length>1?void 0:We(b).path;return g.length<=1?r.createElement(oe,(0,s.Z)({},c,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(fe,(0,s.Z)({},c,{mobile:t,label:v,to:y,items:g,isActive:a?()=>!1:void 0}))}};function Ze(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=He[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function Qe(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(Ze,(0,s.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Ve(e){return r.createElement("button",(0,s.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(u.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function qe(){const e=0===(0,w.L)().navbar.items.length,t=D();return r.createElement(r.Fragment,null,!e&&r.createElement(Ve,{onClick:()=>t.hide()}),t.content)}function Ge(){const e=(0,L.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(M,{header:r.createElement(Y,null),primaryMenu:r.createElement(Qe,null),secondaryMenu:r.createElement(qe,null)}):null}const Ye={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ke(e){return r.createElement("div",(0,s.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function Xe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:s,isNavbarVisible:l}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,A.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i =s?n(!1):i+u {if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:s,"aria-label":(0,u.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Ye.navbarHideable,!l&&Ye.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Ke,{onClick:i.toggle}),r.createElement(Ge,null))}var Je=n(8780);const et={errorBoundaryError:"errorBoundaryError_a6uf"};function tt(e){return r.createElement("button",(0,s.Z)({type:"button"},e),r.createElement(u.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function nt(e){let{error:t}=e;const n=(0,Je.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{className:et.errorBoundaryError},n)}class rt extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const at="right";function ot(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,s.Z)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function it(){const{toggle:e,shown:t}=(0,L.e)();return r.createElement("button",{onClick:e,"aria-label":(0,u.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(ot,null))}const st={colorModeToggle:"colorModeToggle_DEke"};function lt(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(rt,{key:t,onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t})},r.createElement(Ze,e)))))}function ut(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function ct(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??at)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(ut,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(it,null),r.createElement(q,null),r.createElement(lt,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(lt,{items:a}),r.createElement(Q,{className:st.colorModeToggle}),!o&&r.createElement($e,null,r.createElement(Be,null)))})}function dt(){return r.createElement(Xe,null,r.createElement(ct,null))}function ft(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...l}=t,u=(0,X.Z)(n),c=(0,X.Z)(a,{forcePrependBaseUrl:!0});return r.createElement(K.Z,(0,s.Z)({className:"footer__link-item"},a?{href:i?c:a}:{to:u},l),o,a&&!(0,J.Z)(a)&&r.createElement(te.Z,null))}function pt(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(ft,{item:t}))}function mt(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(pt,{key:t,item:e})))))}function ht(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(mt,{key:t,column:e}))))}function gt(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function bt(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(ft,{item:t})}function vt(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(bt,{item:e}),t.length!==n+1&&r.createElement(gt,null))))))}function yt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(ht,{columns:t}):r.createElement(vt,{links:t})}var wt=n(941);const kt={footerLogoLink:"footerLogoLink_BH7S"};function Et(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(wt.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function St(e){let{logo:t}=e;return t.href?r.createElement(K.Z,{href:t.href,className:kt.footerLogoLink,target:t.target},r.createElement(Et,{logo:t})):r.createElement(Et,{logo:t})}function xt(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function _t(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(o||i)&&r.createElement("div",{className:"footer__bottom text--center"},o&&r.createElement("div",{className:"margin-bottom--sm"},o),i)))}function Ct(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(_t,{style:o,links:n&&n.length>0&&r.createElement(yt,{links:n}),logo:a&&r.createElement(St,{logo:a}),copyright:t&&r.createElement(xt,{copyright:t})})}const Tt=r.memo(Ct),It=(0,P.Qc)([F.S,k.pl,A.OC,ve.L5,i.VC,function(e){let{children:t}=e;return r.createElement(O.n2,null,r.createElement(L.M,null,r.createElement(R,null,t)))}]);function Lt(e){let{children:t}=e;return r.createElement(It,null,t)}function At(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(u.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(tt,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(nt,{error:t})))))}const Pt={mainWrapper:"mainWrapper_z2l0"};function Ot(e){const{children:t,noFooter:n,wrapperClassName:s,title:l,description:u}=e;return(0,b.t)(),r.createElement(Lt,null,r.createElement(i.d,{title:l,description:u}),r.createElement(y,null),r.createElement(I,null),r.createElement(dt,null),r.createElement("div",{id:d,className:(0,a.Z)(g.k.wrapper.main,Pt.mainWrapper,s)},r.createElement(o.Z,{fallback:e=>r.createElement(At,e)},t)),!n&&r.createElement(Tt,null))}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(7462),a=n(7294),o=n(9960),i=n(4996),s=n(2263),l=n(6668),u=n(941);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},s=a.createElement(u.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},s):s}function d(e){const{siteConfig:{title:t}}=(0,s.Z)(),{navbar:{title:n,logo:u}}=(0,l.L)(),{imageClassName:d,titleClassName:f,...p}=e,m=(0,i.Z)(u?.href||"/"),h=n?"":t,g=u?.alt??h;return a.createElement(o.Z,(0,r.Z)({to:m},p,u?.target&&{target:u.target}),u&&a.createElement(c,{logo:u,alt:g,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(5742);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7462),a=n(7294),o=n(6010),i=n(2389),s=n(2949);const l={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function u(e){const t=(0,i.Z)(),{colorMode:n}=(0,s.I)(),{sources:u,className:c,alt:d,...f}=e,p=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,r.Z)({key:e,src:u[e],alt:d,className:(0,o.Z)(l.themedImage,l[`themedImage--${e}`],c)},f)))))}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>l,z:()=>g});var r=n(7462),a=n(7294),o=n(412),i=n(1442);const s="ease-in-out";function l(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const u={display:"none",overflow:"hidden",height:"0px"},c={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?u:c;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=r?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${r?.easing??s}`,height:`${t}px`}}function l(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return d(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function p(e){if(!o.Z.canUseDOM)return e?u:c}function m(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:l}=e;const u=(0,a.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:o}),a.createElement(t,{ref:u,style:l?void 0:p(n),onTransitionEnd:e=>{"height"===e.propertyName&&(d(u.current,n),i?.(n))},className:s},r)}function h(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[s,l]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&l(t)}),[o,t]),o?a.createElement(m,(0,r.Z)({},n,{collapsed:s})):null}function g(e){let{lazy:t,...n}=e;const r=t?h:m;return a.createElement(r,n)}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>p});var r=n(7294),a=n(2389),o=n(12),i=n(902),s=n(6668);const l=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),c=()=>"true"===l.get(),d=e=>l.set(String(e)),f=r.createContext(null);function p(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&c()));(0,r.useEffect)((()=>{o(c())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&d(!1),!r&&c()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(f.Provider,{value:n},t)}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>g,S:()=>h});var r=n(7294),a=n(412),o=n(902),i=n(12),s=n(6668);const l=r.createContext(void 0),u="theme",c=(0,i.WA)(u),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,p=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{c.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[a,o]=(0,r.useState)(p(e));(0,r.useEffect)((()=>{t&&c.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&m(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),c.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=c.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[a,i])}();return r.createElement(l.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(l);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>g});var r=n(7294),a=n(143),o=n(9935),i=n(6668),s=n(2802),l=n(902),u=n(12);const c=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,u.WA)(c(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(c(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(c(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function m(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return r.createElement(p.Provider,{value:n},t)}function g(e){let{children:t}=e;return s.cE?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function b(){const e=(0,r.useContext)(p);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,b:()=>s});var r=n(7294),a=n(902);const o=Symbol("EmptyContext"),i=r.createContext(o);function s(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function l(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),s=(n(1688),n(902));function l(e){!function(e){const t=(0,i.k6)(),n=(0,s.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6668);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const c=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=d();return r.createElement(c.Provider,{value:n},t)}function p(){const e=r.useContext(c);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>l,n2:()=>i});var r=n(7294),a=n(902);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function s(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,s]=i,l=(0,a.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>u});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(){return a.Z.canUseDOM?window.innerWidth>i?o.desktop:o.mobile:o.ssr}const l=!1;function u(){const[e,t]=(0,r.useState)((()=>l?"ssr":s()));return(0,r.useEffect)((()=>{function e(){t(s())}const n=l?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),e}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{Wl:()=>f,_F:()=>h,cE:()=>d,hI:()=>k,lO:()=>v,vY:()=>w,oz:()=>y,s1:()=>b});var r=n(7294),a=n(6550),o=n(8790),i=n(143),s=n(373),l=n(1116);function u(e){return Array.from(new Set(e))}var c=n(8596);const d=!!i._r;function f(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=f(t);if(e)return e}}}const p=(e,t)=>void 0!==e&&(0,c.Mg)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?p(e.href,t):"category"===e.type&&(p(e.href,t)||m(e.items,t))}function g(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,c.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,c.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function b(){const e=(0,l.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?g({sidebarItems:e.items,pathname:t}):null}function v(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>u([t,n,a].filter(Boolean))),[t,n,a])}function y(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function w(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function k(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,s=i.find((e=>(0,a.LX)(r.pathname,e)));if(!s)return null;const l=s.sidebar,u=l?n.docsSidebars[l]:void 0;return{docElement:(0,o.H)(i),sidebarName:l,sidebarItems:u}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>c,VC:()=>p});var r=n(7294),a=n(6010),o=n(5742),i=n(226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(4996),u=n(2263);function c(e){let{title:t,description:n,keywords:a,image:i,children:s}=e;const c=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.C)(),f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,c),t&&r.createElement("meta",{property:"og:title",content:c}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),s)}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:s},r.createElement(o.Z,null,r.createElement("html",{className:s})),n)}function p(e){let{children:t}=e;const n=s(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>u,Ql:()=>l,i6:()=>s,zX:()=>o});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(? \w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>l,RF:()=>d});var r=n(7294),a=n(412),o=n(2389),i=n(902);const s=r.createContext(void 0);function l(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(s.Provider,{value:n},t)}function u(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const c=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(c()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=c();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&a t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>l});n(7294),n(1688);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function l(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?s:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var r=n(2263),a=n(6550);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.Z)(),{pathname:i}=(0,a.TH)(),s=o===n?e:e.replace(`/${o}/`,"/"),l=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${s}`:`${s}${e}/`}(r)}${l}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},311:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294),a=n(6010);const o={loadingRing:"loadingRing_RJI3","loading-ring":"loading-ring_FB5o"};function i(e){let{className:t}=e;return r.createElement("div",{className:(0,a.Z)(o.loadingRing,t)},r.createElement("div",null),r.createElement("div",null),r.createElement("div",null),r.createElement("div",null))}},22:(e,t,n)=>{"use strict";n.d(t,{w:()=>s});var r=n(1336),a=n.n(r),o=n(1029);const i=new Map;function s(e,t){const n=`${e}${t}`;let r=i.get(n);return r||(r=async function(e,t){{const n=`${e}${o.J.replace("{dir}",t?`-${t.replace(/\//g,"-")}`:"")}`;if(new URL(n,location.origin).origin!==location.origin)throw new Error("Unexpected version url");const r=await(await fetch(n)).json(),i=r.map(((e,t)=>{let{documents:n,index:r}=e;return{type:t,documents:n,index:a().Index.load(r)}})),s=r.reduce(((e,t)=>{for(const n of t.index.invertedIndex)/\p{Unified_Ideograph}/u.test(n[0][0])&&e.add(n[0]);return e}),new Set);return{wrappedIndexes:i,zhDictionary:Array.from(s)}}return{wrappedIndexes:[],zhDictionary:[]}}(e,t),i.set(n,r)),r}},8202:(e,t,n)=>{"use strict";n.d(t,{v:()=>l});var r=n(1336),a=n.n(r);var o=n(1029);function i(e){return s(e).concat(s(e.filter((e=>{const t=e[e.length-1];return!t.trailing&&t.maybeTyping})),!0))}function s(e,t){return e.map((e=>({tokens:e.map((e=>e.value)),term:e.map((e=>({value:e.value,presence:a().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?a().Query.wildcard.TRAILING:a().Query.wildcard.NONE})))})))}function l(e,t,n){return function(r,s){const l=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return a()[t[0]].tokenizer(e).map((e=>e.toString()));let n=/[^-\s]+/g;return t.includes("zh")&&(n=/\w+|\p{Unified_Ideograph}+/gu),e.toLowerCase().match(n)||[]}(r,o.dK);if(0===l.length)return void s([]);const u=function(e,t){const n=function(e,t){const n=[];return function e(r,a){if(0===r.length)return void n.push(a);const o=r[0];if(/\p{Unified_Ideograph}/u.test(o)){const n=function(e,t){const n=[];return function e(r,a){let o=0,i=!1;for(const s of t)if(r.substr(0,s.length)===s){const t={missed:a.missed,term:a.term.concat({value:s})};r.length>s.length?e(r.substr(s.length),t):n.push(t),i=!0}else for(let t=s.length-1;t>o;t-=1){const l=s.substr(0,t);if(r.substr(0,t)===l){o=t;const s={missed:a.missed,term:a.term.concat({value:l,trailing:!0})};r.length>t?e(r.substr(t),s):n.push(s),i=!0;break}}i||(r.length>0?e(r.substr(1),{missed:a.missed+1,term:a.term}):a.term.length>0&&n.push(a))}(e,{missed:0,term:[]}),n.sort(((e,t)=>{const n=e.missed>0?1:0,r=t.missed>0?1:0;return n!==r?n-r:e.term.length-t.term.length})).map((e=>e.term))}(o,t);for(const t of n){const n=a.concat(...t);e(r.slice(1),n)}}else{const t=a.concat({value:o});e(r.slice(1),t)}}(e,[]),n}(e,t);if(0===n.length)return[{tokens:e,term:e.map((e=>({value:e,presence:a().Query.presence.REQUIRED,wildcard:a().Query.wildcard.LEADING|a().Query.wildcard.TRAILING})))}];for(const a of n)a[a.length-1].maybeTyping=!0;const r=[];for(const i of o.dK)if("en"===i)o._k||r.unshift(a().stopWordFilter);else{const e=a()[i];e.stopWordFilter&&r.unshift(e.stopWordFilter)}let s;if(r.length>0){const e=e=>r.reduce(((e,t)=>e.filter((e=>t(e.value)))),e);s=[];const t=[];for(const r of n){const n=e(r);s.push(n),n.length 0&&t.push(n)}n.push(...t)}else s=n.slice();const l=[];for(const a of s)if(a.length>2)for(let e=a.length-1;e>=0;e-=1)l.push(a.slice(0,e).concat(a.slice(e+1)));return i(n).concat(i(l))}(l,t),c=[];e:for(const{term:t,tokens:a}of u)for(const{documents:r,index:o,type:i}of e)if(c.push(...o.query((e=>{for(const n of t)e.term(n.value,{wildcard:n.wildcard,presence:n.presence})})).slice(0,n).filter((e=>!c.some((t=>t.document.i.toString()===e.ref)))).slice(0,n-c.length).map((t=>{const n=r.find((e=>e.i.toString()===t.ref));return{document:n,type:i,page:0!==i&&e[0].documents.find((e=>e.i===n.p)),metadata:t.matchData.metadata,tokens:a,score:t.score}}))),c.length>=n)break e;!function(e){e.forEach(((e,t)=>{e.index=t})),e.sort(((t,n)=>{let r=t.type>0&&t.page?e.findIndex((e=>e.document===t.page)):t.index,a=n.type>0&&n.page?e.findIndex((e=>e.document===n.page)):n.index;return-1===r&&(r=t.index),-1===a&&(a=n.index),r===a?0===t.type?-1:0===n.type?1:t.index-n.index:r-a}))}(c),function(e){e.forEach(((t,n)=>{n>0&&t.page&&e.some((e=>e.document===t.page))&&(n {"use strict";function r(e){return e.join(" \u203a ")}n.d(t,{e:()=>r})},1690:(e,t,n)=>{"use strict";function r(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{X:()=>r})},1073:(e,t,n)=>{"use strict";function r(e,t){const n=[];for(const r of Object.values(e))r[t]&&n.push(...r[t].position);return n.sort(((e,t)=>e[0]-t[0]||t[1]-e[1]))}n.d(t,{m:()=>r})},2539:(e,t,n)=>{"use strict";n.d(t,{C:()=>a});var r=n(1690);function a(e,t,n){const o=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&o.push(a(e.substr(0,n),t)),o.push(`${(0,r.X)(e.substr(n,i.length))}`);const s=n+i.length;s ${(0,r.X)(e)}`:(0,r.X)(e):o.join("")}},726:(e,t,n)=>{"use strict";n.d(t,{o:()=>l});var r=n(1690),a=n(2539);const o=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const a=r.match(o);if(!a){t.push(r);break}a.index>0&&t.push(r.substring(0,a.index)),t.push(a[0]),n+=a.index+a[0].length,r=e.substring(n)}return t}var s=n(1029);function l(e,t,n,o){void 0===o&&(o=s.Hk);const{chunkIndex:l,chunks:u}=function(e,t,n){const o=[];let s=0,l=0,u=-1;for(;s l){const t=i(e.substring(l,c)).map((e=>({html:(0,r.X)(e),textLength:e.length})));for(const e of t)o.push(e)}-1===u&&(u=o.length),l=c+d,o.push({html:(0,a.C)(e.substring(c,l),n,!0),textLength:d})}}if(l ({html:(0,r.X)(e),textLength:e.length})));for(const e of t)o.push(e)}return{chunkIndex:u,chunks:o}}(e,t,n),c=u.slice(0,l),d=u[l],f=[d.html],p=u.slice(l+1);let m=d.textLength,h=0,g=0,b=!1,v=!1;for(;m 0){const e=c.pop();m+e.textLength<=o?(f.unshift(e.html),h+=e.textLength,m+=e.textLength):(b=!0,c.length=0)}else{if(!(p.length>0))break;{const e=p.shift();m+e.textLength<=o?(f.push(e.html),g+=e.textLength,m+=e.textLength):(v=!0,p.length=0)}}return(b||c.length>0)&&f.unshift("\u2026"),(v||p.length>0)&&f.push("\u2026"),f.join("")}},1029:(e,t,n)=>{"use strict";n.d(t,{vc:()=>s,gQ:()=>h,H6:()=>d,hG:()=>v,l9:()=>g,dK:()=>o,_k:()=>i,pu:()=>m,AY:()=>f,t_:()=>p,Kc:()=>b,J:()=>l,Hk:()=>c,qo:()=>u});var r=n(1336),a=n.n(r);n(892)(a()),n(1728).w(a()),n(4182)(a());const o=["zh","en"],i=!1,s=null,l="search-index{dir}.json?_=d11e2dc9",u=8,c=50,d=!0,f=!0,p=!1,m="right",h=void 0,g=!0,b=null,v=!0},1728:(e,t,n)=>{"use strict";function r(e){const t=new RegExp("^[^"+e+"]+","u"),n=new RegExp("[^"+e+"]+$","u");return function(e){return e.update((function(e){return e.replace(t,"").replace(n,"")}))}}function a(e,t){e.trimmerSupport.generateTrimmer=r,e.zh=function(){this.pipeline.reset(),this.pipeline.add(e.zh.trimmer,e.zh.stopWordFilter),t&&(this.tokenizer=t)},t&&(e.zh.tokenizer=t),e.zh.wordCharacters="\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29\\u{20000}-\\u{2A6DD}\\u{2A700}-\\u{2B734}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{30000}-\\u{3134A}",e.zh.trimmer=e.trimmerSupport.generateTrimmer(e.zh.wordCharacters),e.Pipeline.registerFunction(e.zh.trimmer,"trimmer-zh"),e.zh.stopWordFilter=e.generateStopWordFilter("\u7684 \u4e00 \u4e0d \u5728 \u4eba \u6709 \u662f \u4e3a \u4ee5 \u4e8e \u4e0a \u4ed6 \u800c \u540e \u4e4b \u6765 \u53ca \u4e86 \u56e0 \u4e0b \u53ef \u5230 \u7531 \u8fd9 \u4e0e \u4e5f \u6b64 \u4f46 \u5e76 \u4e2a \u5176 \u5df2 \u65e0 \u5c0f \u6211 \u4eec \u8d77 \u6700 \u518d \u4eca \u53bb \u597d \u53ea \u53c8 \u6216 \u5f88 \u4ea6 \u67d0 \u628a \u90a3 \u4f60 \u4e43 \u5b83 \u5427 \u88ab \u6bd4 \u522b \u8d81 \u5f53 \u4ece \u5230 \u5f97 \u6253 \u51e1 \u513f \u5c14 \u8be5 \u5404 \u7ed9 \u8ddf \u548c \u4f55 \u8fd8 \u5373 \u51e0 \u65e2 \u770b \u636e \u8ddd \u9760 \u5566 \u4e86 \u53e6 \u4e48 \u6bcf \u4eec \u561b \u62ff \u54ea \u90a3 \u60a8 \u51ed \u4e14 \u5374 \u8ba9 \u4ecd \u5565 \u5982 \u82e5 \u4f7f \u8c01 \u867d \u968f \u540c \u6240 \u5979 \u54c7 \u55e1 \u5f80 \u54ea \u4e9b \u5411 \u6cbf \u54df \u7528 \u4e8e \u54b1 \u5219 \u600e \u66fe \u81f3 \u81f4 \u7740 \u8bf8 \u81ea".split(" ")),e.Pipeline.registerFunction(e.zh.stopWordFilter,"stopWordFilter-zh")}n.d(t,{w:()=>a})},6010:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t a});const a=function(){for(var e,t,n=0,a="";n {"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>p,PP:()=>I,Ep:()=>f});var r=n(7462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(8776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r t?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,h(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t {"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var s=l(t),h=l(n),g=0;g {"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},4182:function(e,t,n){var r,a;r=function(){return function(e){e.multiLanguage=function(){for(var t=Array.prototype.slice.call(arguments),n=t.join("-"),r="",a=[],o=[],i=0;i =n&&t[(a-=n)>>3]&1<<(7&a))return this.cursor++,!0}return!1},in_grouping_b:function(t,n,r){if(this.cursor>this.limit_backward){var a=e.charCodeAt(this.cursor-1);if(a<=r&&a>=n&&t[(a-=n)>>3]&1<<(7&a))return this.cursor--,!0}return!1},out_grouping:function(t,n,r){if(this.cursor r||a >3]&1<<(7&a)))return this.cursor++,!0}return!1},out_grouping_b:function(t,n,r){if(this.cursor>this.limit_backward){var a=e.charCodeAt(this.cursor-1);if(a>r||a >3]&1<<(7&a)))return this.cursor--,!0}return!1},eq_s:function(t,n){if(this.limit-this.cursor >1),d=0,f=s 0||a==r||u)break;u=!0}}for(;;){if(s>=(p=t[r]).s_size){if(this.cursor=o+p.s_size,!p.method)return p.result;var h=p.method();if(this.cursor=o+p.s_size,h)return p.result}if((r=p.substring_i)<0)return 0}},find_among_b:function(t,n){for(var r=0,a=n,o=this.cursor,i=this.limit_backward,s=0,l=0,u=!1;;){for(var c=r+(a-r>>1),d=0,f=s =0;p--){if(o-f==i){d=-1;break}if(d=e.charCodeAt(o-1-f)-m.s[p])break;f++}if(d<0?(a=c,l=f):(r=c,s=f),a-r<=1){if(r>0||a==r||u)break;u=!0}}for(;;){var m;if(s>=(m=t[r]).s_size){if(this.cursor=o-m.s_size,!m.method)return m.result;var h=m.method();if(this.cursor=o-m.s_size,h)return m.result}if((r=m.substring_i)<0)return 0}},replace_s:function(t,n,r){var a=r.length-(n-t),o=e.substring(0,t),i=e.substring(n);return e=o+r+i,this.limit+=a,this.cursor>=n?this.cursor+=a:this.cursor>t&&(this.cursor=t),a},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>e.length)throw"faulty slice operation"},slice_from:function(e){this.slice_check(),this.replace_s(this.bra,this.ket,e)},slice_del:function(){this.slice_from("")},insert:function(e,t,n){var r=this.replace_s(e,t,n);e<=this.bra&&(this.bra+=r),e<=this.ket&&(this.ket+=r)},slice_to:function(){return this.slice_check(),e.substring(this.bra,this.ket)},eq_v_b:function(e){return this.eq_s_b(e.length,e)}}}},e.trimmerSupport={generateTrimmer:function(e){var t=new RegExp("^[^"+e+"]+"),n=new RegExp("[^"+e+"]+$");return function(e){return"function"==typeof e.update?e.update((function(e){return e.replace(t,"").replace(n,"")})):e.replace(t,"").replace(n,"")}}}}})?r.call(t,n,t,e):r)||(e.exports=a)},1336:(e,t,n)=>{var r,a;!function(){var o,i,s,l,u,c,d,f,p,m,h,g,b,v,y,w,k,E,S,x,_,C,T,I,L,A,P,O,N,R,U=function(e){var t=new U.Builder;return t.pipeline.add(U.trimmer,U.stopWordFilter,U.stemmer),t.searchPipeline.add(U.stemmer),e.call(t,t),t.build()};U.version="2.3.9",U.utils={},U.utils.warn=(o=this,function(e){o.console&&console.warn&&console.warn(e)}),U.utils.asString=function(e){return null==e?"":e.toString()},U.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r 0){var l=U.utils.clone(t)||{};l.position=[i,s],l.index=a.length,a.push(new U.Token(n.slice(i,o),l))}i=o+1}}return a},U.tokenizer.separator=/[\s\-]+/,U.Pipeline=function(){this._stack=[]},U.Pipeline.registeredFunctions=Object.create(null),U.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&U.utils.warn("Overwriting existing registered function: "+t),e.label=t,U.Pipeline.registeredFunctions[e.label]=e},U.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||U.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},U.Pipeline.load=function(e){var t=new U.Pipeline;return e.forEach((function(e){var n=U.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},U.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){U.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},U.Pipeline.prototype.after=function(e,t){U.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},U.Pipeline.prototype.before=function(e,t){U.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},U.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},U.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n 1&&(o e&&(n=a),o!=e);)r=n-t,a=t+Math.floor(r/2),o=this.elements[2*a];return o==e||o>e?2*a:o s?u+=2:i==s&&(t+=n[l+1]*r[u+1],l+=2,u+=2);return t},U.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},U.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t 0){var o,i=a.str.charAt(0);i in a.node.edges?o=a.node.edges[i]:(o=new U.TokenSet,a.node.edges[i]=o),1==a.str.length&&(o.final=!0),r.push({node:o,editsRemaining:a.editsRemaining,str:a.str.slice(1)})}if(0!=a.editsRemaining){if("*"in a.node.edges)var s=a.node.edges["*"];else{s=new U.TokenSet;a.node.edges["*"]=s}if(0==a.str.length&&(s.final=!0),r.push({node:s,editsRemaining:a.editsRemaining-1,str:a.str}),a.str.length>1&&r.push({node:a.node,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)}),1==a.str.length&&(a.node.final=!0),a.str.length>=1){if("*"in a.node.edges)var l=a.node.edges["*"];else{l=new U.TokenSet;a.node.edges["*"]=l}1==a.str.length&&(l.final=!0),r.push({node:l,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)})}if(a.str.length>1){var u,c=a.str.charAt(0),d=a.str.charAt(1);d in a.node.edges?u=a.node.edges[d]:(u=new U.TokenSet,a.node.edges[d]=u),1==a.str.length&&(u.final=!0),r.push({node:u,editsRemaining:a.editsRemaining-1,str:c+a.str.slice(2)})}}}return n},U.TokenSet.fromString=function(e){for(var t=new U.TokenSet,n=t,r=0,a=e.length;r=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},U.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},U.Index.prototype.search=function(e){return this.query((function(t){new U.QueryParser(e,t).parse()}))},U.Index.prototype.query=function(e){for(var t=new U.Query(this.fields),n=Object.create(null),r=Object.create(null),a=Object.create(null),o=Object.create(null),i=Object.create(null),s=0;s 1?1:e},U.Builder.prototype.k1=function(e){this._k1=e},U.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var a=0;a =this.length)return U.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},U.QueryLexer.prototype.width=function(){return this.pos-this.start},U.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},U.QueryLexer.prototype.backup=function(){this.pos-=1},U.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=U.QueryLexer.EOS&&this.backup()},U.QueryLexer.prototype.more=function(){return this.pos 1&&(e.backup(),e.emit(U.QueryLexer.TERM)),e.ignore(),e.more())return U.QueryLexer.lexText},U.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(U.QueryLexer.EDIT_DISTANCE),U.QueryLexer.lexText},U.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(U.QueryLexer.BOOST),U.QueryLexer.lexText},U.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(U.QueryLexer.TERM)},U.QueryLexer.termSeparator=U.tokenizer.separator,U.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==U.QueryLexer.EOS)return U.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return U.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(U.QueryLexer.TERM),U.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(U.QueryLexer.TERM),U.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(U.QueryLexer.PRESENCE),U.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(U.QueryLexer.PRESENCE),U.QueryLexer.lexText;if(t.match(U.QueryLexer.termSeparator))return U.QueryLexer.lexTerm}else e.escapeCharacter()}},U.QueryParser=function(e,t){this.lexer=new U.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},U.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=U.QueryParser.parseClause;e;)e=e(this);return this.query},U.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},U.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},U.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},U.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case U.QueryLexer.PRESENCE:return U.QueryParser.parsePresence;case U.QueryLexer.FIELD:return U.QueryParser.parseField;case U.QueryLexer.TERM:return U.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new U.QueryParseError(n,t.start,t.end)}},U.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=U.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=U.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new U.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new U.QueryParseError(n,t.start,t.end)}switch(r.type){case U.QueryLexer.FIELD:return U.QueryParser.parseField;case U.QueryLexer.TERM:return U.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new U.QueryParseError(n,r.start,r.end)}}},U.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new U.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var a=e.peekLexeme();if(null==a){r="expecting term, found nothing";throw new U.QueryParseError(r,t.start,t.end)}if(a.type===U.QueryLexer.TERM)return U.QueryParser.parseTerm;r="expecting term, found '"+a.type+"'";throw new U.QueryParseError(r,a.start,a.end)}},U.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case U.QueryLexer.TERM:return e.nextClause(),U.QueryParser.parseTerm;case U.QueryLexer.FIELD:return e.nextClause(),U.QueryParser.parseField;case U.QueryLexer.EDIT_DISTANCE:return U.QueryParser.parseEditDistance;case U.QueryLexer.BOOST:return U.QueryParser.parseBoost;case U.QueryLexer.PRESENCE:return e.nextClause(),U.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new U.QueryParseError(r,n.start,n.end)}else e.nextClause()}},U.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new U.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case U.QueryLexer.TERM:return e.nextClause(),U.QueryParser.parseTerm;case U.QueryLexer.FIELD:return e.nextClause(),U.QueryParser.parseField;case U.QueryLexer.EDIT_DISTANCE:return U.QueryParser.parseEditDistance;case U.QueryLexer.BOOST:return U.QueryParser.parseBoost;case U.QueryLexer.PRESENCE:return e.nextClause(),U.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new U.QueryParseError(r,a.start,a.end)}else e.nextClause()}},U.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new U.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case U.QueryLexer.TERM:return e.nextClause(),U.QueryParser.parseTerm;case U.QueryLexer.FIELD:return e.nextClause(),U.QueryParser.parseField;case U.QueryLexer.EDIT_DISTANCE:return U.QueryParser.parseEditDistance;case U.QueryLexer.BOOST:return U.QueryParser.parseBoost;case U.QueryLexer.PRESENCE:return e.nextClause(),U.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new U.QueryParseError(r,a.start,a.end)}else e.nextClause()}},void 0===(a="function"==typeof(r=function(){return U})?r.call(t,n,t,e):r)||(e.exports=a)}()},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:' '};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(u,i(e,c,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},7418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,a){for(var o,i,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l {"use strict";n.d(t,{Z:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);S+=E.value.length,E=E.next){var x=E.value;if(t.length>e.length)return;if(!(x instanceof a)){var _,C=1;if(v){if(!(_=o(k,S,e,b))||_.index>=e.length)break;var T=_.index,I=_.index+_[0].length,L=S;for(L+=E.value.length;T>=L;)L+=(E=E.next).value.length;if(S=L-=E.value.length,E.value instanceof a)continue;for(var A=E;A!==t.tail&&(Ld.reach&&(d.reach=R);var U=E.prev;if(O&&(U=l(t,U,O),S+=O.length),u(t,U,C),E=l(t,U,new a(f,g?r.tokenize(P,g):P,y,P)),N&&l(t,E,N),C>1){var D={cause:f+","+m,reach:R};i(e,t,n,E.prev,S,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a "+o.content+""+o.tag+">"},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i ]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?! )\w+(?:\s*\.\s*\w+)*\b/.source.replace(/ /g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?! )\w+/.source.replace(/ /g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/ (?:\s*:\s* )?|:\s* /.source.replace(/ /g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-] )(?:[ \t]*(?:(?![#:]) |: ))*/.source.replace(/ /g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s< >[ \t]+)?)(?:< >)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/< >/g,(function(){return r})).replace(/< >/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s< >[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/< >/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:< >[ \t]+)?)< >(?=\s*:\s)/.source.replace(/< >/g,(function(){return r})).replace(/< >/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/ /g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_) |_(?:(?!_) )+_)+__\b|\*\*(?:(?!\*) |\*(?:(?!\*) )+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_) |__(?:(?!_) )+__)+_\b|\*(?:(?!\*) |\*\*(?:(?!\*) )+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~) )+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]) )+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]) )+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n ",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n 0)){var s=f(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l =0&&p(u,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function u(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,l(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function c(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,c={},d=l(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(i++,r)););return c[n]=a,n})).join(""),n,r),f=Object.keys(c);return i=0,function e(t){for(var n=0;n =f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,s=o.indexOf(a);if(-1!==s){++i;var l=o.substring(0,s),d=u(c[a]),p=o.substring(s+a.length),m=[];if(l&&m.push(l),m.push(d),p){var h=[p];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(/ /g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?: (?:\s*,\s*(?:\*\s*as\s+ |\{[^{}]*\}))?|\*\s*as\s+ |\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+ )?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#? /.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r *\.{3}(?:[^{}]| )*\})/.source;function o(e,t){return e=e.replace(/ /g,(function(){return n})).replace(//g,(function(){return r})).replace(/ /g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?: +(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?| ))* *\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/= /.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},s=function(t){for(var n=[],r=0;r 0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var l=i(a);r 0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(l=i(t[r-1])+l,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",l,null,l)}a.content&&"string"!=typeof a.content&&s(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l =o.length);l++){var u=s[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++a;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(m+p.length),v=[];h&&v.push.apply(v,i([h])),v.push(g),b&&v.push.apply(v,i([b])),"string"==typeof u?s.splice.apply(s,[l,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return s}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},2503:()=>{!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?! )[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/ /g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},6862:()=>{!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(Prism)},2886:()=>{Prism.languages.scala=Prism.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),Prism.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:Prism.languages.scala}}},string:/[\s\S]+/}}}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala.function,delete Prism.languages.scala.constant},3358:()=>{!function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-] )(?:[ \t]*(?:(?![#:])