diff --git a/404.html b/404.html index 54fd0203..640e9b92 100644 --- a/404.html +++ b/404.html @@ -5,8 +5,8 @@ Page Not Found | Spec-Up-T - - + +
Skip to main content

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/assets/js/03c01b4d.89bd469c.js b/assets/js/03c01b4d.89bd469c.js new file mode 100644 index 00000000..eb71730b --- /dev/null +++ b/assets/js/03c01b4d.89bd469c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[5920],{1433:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>d,toc:()=>u});var i=r(4848),n=r(8453);const s={sidebar_position:1},o="Readers Guide",d={id:"various-roles/readers-guide/introduction",title:"Readers Guide",description:"Under construction",source:"@site/docs/various-roles/readers-guide/introduction.md",sourceDirName:"various-roles/readers-guide",slug:"/various-roles/readers-guide/introduction",permalink:"/spec-up-t-website/docs/various-roles/readers-guide/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/readers-guide/introduction.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Readers Guide",permalink:"/spec-up-t-website/docs/category/readers-guide"},next:{title:"Developers Guide",permalink:"/spec-up-t-website/docs/various-roles/developers-guide"}},a={},u=[];function c(e){const t={admonition:"admonition",h1:"h1",p:"p",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"readers-guide",children:"Readers Guide"}),"\n",(0,i.jsx)(t.admonition,{type:"warning",children:(0,i.jsx)(t.p,{children:"Under construction"})}),"\n",(0,i.jsx)(t.p,{children:"Uses github.io website, reads concepts in text and terminology in glossaries, (for example generated by Spec-Up) with its own tailor-made contextual glossary that generates pop-ups here and there in the text offered."})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>d});var i=r(6540);const n={},s=i.createContext(n);function o(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/03c01b4d.beccd8e9.js b/assets/js/03c01b4d.beccd8e9.js deleted file mode 100644 index c8d43047..00000000 --- a/assets/js/03c01b4d.beccd8e9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[5920],{1433:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>n,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>u});var s=r(4848),i=r(8453);const o={sidebar_position:1},n="Readers Guide",a={id:"various-roles/readers-guide/introduction",title:"Readers Guide",description:"Uses github.io website, reads concepts in text and terminology in glossaries, (for example generated by Spec-Up) with its own tailor-made contextual glossary that generates pop-ups here and there in the text offered.",source:"@site/docs/various-roles/readers-guide/introduction.md",sourceDirName:"various-roles/readers-guide",slug:"/various-roles/readers-guide/introduction",permalink:"/spec-up-t-website/docs/various-roles/readers-guide/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/readers-guide/introduction.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Readers Guide",permalink:"/spec-up-t-website/docs/category/readers-guide"},next:{title:"Developers Guide",permalink:"/spec-up-t-website/docs/various-roles/developers-guide"}},d={},u=[];function c(e){const t={h1:"h1",p:"p",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"readers-guide",children:"Readers Guide"}),"\n",(0,s.jsx)(t.p,{children:"Uses github.io website, reads concepts in text and terminology in glossaries, (for example generated by Spec-Up) with its own tailor-made contextual glossary that generates pop-ups here and there in the text offered."})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>n,x:()=>a});var s=r(6540);const i={},o=s.createContext(i);function n(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/08e3fca0.04208da2.js b/assets/js/08e3fca0.e887744b.js similarity index 72% rename from assets/js/08e3fca0.04208da2.js rename to assets/js/08e3fca0.e887744b.js index 22404f50..494d8396 100644 --- a/assets/js/08e3fca0.04208da2.js +++ b/assets/js/08e3fca0.e887744b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[9561],{9477:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Curators Guide","description":"Curators Guide.","slug":"/category/curators-guide","permalink":"/spec-up-t-website/docs/category/curators-guide","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"External Term References","permalink":"/spec-up-t-website/docs/various-roles/terminology-authors-guide/external-term-references"},"next":{"title":"introduction","permalink":"/spec-up-t-website/docs/various-roles/curators-guide/introduction"}}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[9561],{9477:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Curators Guide","description":"Curators Guide.","slug":"/category/curators-guide","permalink":"/spec-up-t-website/docs/category/curators-guide","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"External Term References","permalink":"/spec-up-t-website/docs/various-roles/terminology-authors-guide/external-term-references"},"next":{"title":"Curators Guide","permalink":"/spec-up-t-website/docs/various-roles/curators-guide/introduction"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.c934c736.js b/assets/js/0e384e19.c934c736.js new file mode 100644 index 00000000..513ada38 --- /dev/null +++ b/assets/js/0e384e19.c934c736.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[3976],{619:(i,t,e)=>{e.r(t),e.d(t,{assets:()=>s,contentTitle:()=>g,default:()=>o,frontMatter:()=>n,metadata:()=>I,toc:()=>c});var M=e(4848),j=e(8453);const n={sidebar_position:1},g="Introduction",I={id:"intro",title:"Introduction",description:"Intro",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/spec-up-t-website/docs/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Roles",permalink:"/spec-up-t-website/docs/category/roles"}},s={},c=[{value:"Intro",id:"intro",level:2},{value:"History",id:"history",level:2},{value:"Spec-Up-T",id:"spec-up-t",level:2}];function u(i){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,j.R)(),...i.components};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(t.h1,{id:"introduction",children:"Introduction"}),"\n",(0,M.jsx)(t.h2,{id:"intro",children:"Intro"}),"\n",(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.strong,{children:"Spec-Up-T"})," is a tool that helps you write specifications. It is a tool for writing in Markdown and creates ",(0,M.jsx)(t.em,{children:"one"})," ",(0,M.jsx)(t.code,{children:"index.html"})," file."]}),"\n",(0,M.jsx)(t.p,{children:(0,M.jsxs)(t.strong,{children:["This ",(0,M.jsx)(t.code,{children:"index.html"})," file is the actual specification file that is the goal of it all."]})}),"\n",(0,M.jsxs)(t.p,{children:["This ",(0,M.jsx)(t.code,{children:"index.html"})," file is stand-alone and can be hosted on any web server. Or double-click it, and it will open in a browser."]}),"\n",(0,M.jsxs)(t.p,{children:["The Spec-Up-T code is available ",(0,M.jsx)(t.a,{href:"https://github.com/blockchainbird/spec-up-t",children:"on Github"}),"."]}),"\n",(0,M.jsxs)(t.p,{children:["Spec-Up-T is based on ",(0,M.jsx)(t.strong,{children:"Spec-Up"}),", and some of the content on this website is taken from the ",(0,M.jsx)(t.a,{href:"https://identity.foundation/spec-up/",children:"Spec-Up website"})," and ",(0,M.jsx)(t.a,{href:"https://github.com/decentralized-identity/spec-up",children:"repo"}),"."]}),"\n",(0,M.jsx)(t.admonition,{type:"tip",children:(0,M.jsxs)(t.p,{children:["You will have to install Spec-Up-T to start using it. Go straight to the ",(0,M.jsx)(t.a,{href:"/spec-up-t-website/docs/various-roles/admins-guide",children:"admin section"})," for instructions."]})}),"\n",(0,M.jsx)(t.h2,{id:"history",children:"History"}),"\n",(0,M.jsxs)(t.p,{children:["Spec-Up-T is based on Spec-Up (",(0,M.jsx)(t.a,{href:"https://github.com/decentralized-identity/spec-up",children:"Spec-Up on Github"}),")."]}),"\n",(0,M.jsxs)(t.p,{children:["Spec-Up is a tool provided by ",(0,M.jsx)(t.a,{href:"https://github.com/decentralized-identity",children:"DIF"})," (Decentralized Identity Foundation) and created by ",(0,M.jsx)(t.a,{href:"https://github.com/csuwildcat",children:"Daniel Buchner"}),"."]}),"\n",(0,M.jsx)("div",{class:"image-medium center",children:(0,M.jsx)(t.p,{children:(0,M.jsx)(t.img,{alt:"Logo ToIP and DIF combined",src:e(1415).A+"",width:"243",height:"108"})})}),"\n",(0,M.jsxs)(t.p,{children:["From the Spec-Up documentation: \u201c",(0,M.jsx)(t.em,{children:"Spec-Up"})," is a technical specification development tool that enables you to create rich specification documents for standards bodies and engineering projects by writing in an extended version of markdown that features all the bells and whistles - for example, advanced syntax highlighting, notice blocks, complex tables, charts, UML diagrams, and more.\u201d"]}),"\n",(0,M.jsxs)(t.table,{children:[(0,M.jsx)(t.thead,{children:(0,M.jsxs)(t.tr,{children:[(0,M.jsx)(t.th,{children:"Spec-Up"}),(0,M.jsx)(t.th,{children:"Spec-Up-T"})]})}),(0,M.jsxs)(t.tbody,{children:[(0,M.jsxs)(t.tr,{children:[(0,M.jsxs)(t.td,{children:[(0,M.jsx)("div",{class:"image-small",children:(0,M.jsx)(t.img,{alt:"DIF Logo",src:e(1833).A+"",width:"320",height:"108"})}),"Decentralized Identity Foundation"]}),(0,M.jsxs)(t.td,{children:[(0,M.jsx)("div",{class:"image-small",children:(0,M.jsx)(t.img,{alt:"ToIP Logo",src:e(8512).A+"",width:"985",height:"406"})}),"Trust over IP"]})]}),(0,M.jsxs)(t.tr,{children:[(0,M.jsx)(t.td,{children:"\u201cTogether we're building a new identity ecosystem\u201d"}),(0,M.jsx)(t.td,{children:"\u201cDeveloping a complete architecture for Internet Digital Trust. And a better Internet for everyone.\u201d"})]}),(0,M.jsxs)(t.tr,{children:[(0,M.jsx)(t.td,{children:(0,M.jsx)(t.a,{href:"https://github.com/decentralized-identity/spec-up",children:"Spec-Up on Github"})}),(0,M.jsx)(t.td,{children:(0,M.jsx)(t.a,{href:"https://github.com/blockchainbird/spec-up-t",children:"Spec-Up-T on Github"})})]}),(0,M.jsxs)(t.tr,{children:[(0,M.jsx)(t.td,{children:(0,M.jsx)(t.a,{href:"https://identity.foundation/",children:"DIF website"})}),(0,M.jsx)(t.td,{children:(0,M.jsx)(t.a,{href:"https://trustoverip.org/",children:"ToIP website"})})]})]})]}),"\n",(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.em,{children:"Spec-Up-T"})," is an expansion of ",(0,M.jsx)(t.a,{href:"https://github.com/decentralized-identity/spec-up",children:"DIF's Spec-Up"})," specifically for the needs of the Trust-over-IP foundation. Read more in the elaborate motivation in this technical article: ",(0,M.jsx)(t.a,{href:"/spec-up-t-website/docs/how-it-came-to-be",children:"How it came to be"}),"."]}),"\n",(0,M.jsx)(t.h2,{id:"spec-up-t",children:"Spec-Up-T"}),"\n",(0,M.jsx)(t.p,{children:"Spec-Up-T stays in sync with Spec-Up and currently adds the following extra functionality:"}),"\n",(0,M.jsxs)(t.ol,{children:["\n",(0,M.jsx)(t.li,{children:"Search & Find (not the same as the browser search)"}),"\n",(0,M.jsxs)(t.li,{children:["Splitter for Terms and Definition section following the ",(0,M.jsx)(t.a,{href:"https://trustoverip.github.io/ctwg-terminology-governance-guide/",children:"Termininology Governance Guide"})," and various meeting reports since ",(0,M.jsx)(t.a,{href:"https://wiki.trustoverip.org/display/HOME/2024-04-22+CTWG+Meeting+Notes",children:"CTWG April 2024"})]}),"\n",(0,M.jsx)(t.li,{children:"External Reference (xref) functionality (To Do: add link)"}),"\n",(0,M.jsx)(t.li,{children:"Small User Interface enhancements (back-to-top button, automatic copying of urls when clicking on anchors (\u201c$\u201d), menu-item highlighting)"}),"\n"]}),"\n",(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.em,{children:"Spec-Up"})," and ",(0,M.jsx)(t.em,{children:"Spec-Up-T"})," work on ",(0,M.jsx)(t.em,{children:"Github"}),". The specification is stored in a Github repo. Editing can be done locally in a suitable editor (Visual Studio Code is widely used), or can be done web-based via the editor provided by Github if you are logged in."]}),"\n",(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.em,{children:(0,M.jsx)(t.a,{href:"glossary#github-actions",children:"Github Actions"})})," is a convenient way to automate things within Github by creating ",(0,M.jsx)(t.em,{children:"workflows"}),". For example, you can create a workflow that generates an updated version of the specification."]})]})}function o(i={}){const{wrapper:t}={...(0,j.R)(),...i.components};return t?(0,M.jsx)(t,{...i,children:(0,M.jsx)(u,{...i})}):u(i)}},1833:(i,t,e)=>{e.d(t,{A:()=>M});const M=e.p+"assets/images/logo-dif-ffce17bbeaba42a53d74faba6badd3ac.svg"},8512:(i,t,e)=>{e.d(t,{A:()=>M});const M="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIGlkPSJMYXllcl8xIiB4PSIwIiB5PSIwIgogICAgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgOTg0LjcgNDA1LjYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDk4NC43IDQwNS42Ij4KICAgIDxzdHlsZT4KICAgICAgICAuc3QwIHsKICAgICAgICAgICAgZmlsbDogIzMwNDk5ZgogICAgICAgIH0KCiAgICAgICAgLnN0MSB7CiAgICAgICAgICAgIGZpbGw6ICNhOWRkZTAKICAgICAgICB9CgogICAgICAgIC5zdDIgewogICAgICAgICAgICBmaWxsOiAjMjU4OWNhCiAgICAgICAgfQoKICAgICAgICAuc3QzIHsKICAgICAgICAgICAgZmlsbDogIzM2NTNhNAogICAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8cGF0aAogICAgICAgIGQ9Ik01NDEuNSAxNDkuOUg1MTZ2LTgwaC0zNC41VjQ3LjFINTc2djIyLjhoLTM0LjV6TTYyMi41IDEyMC40aC0xMC43djI5LjVoLTI1LjRWNDcuMWMxMC42LS40IDI3LjItLjkgNDEuMy0uOSAyNi42IDAgNDMuMiAxMi43IDQzLjIgMzYuNiAwIDEzLjgtNi42IDI0LjgtMTcuOCAzMS4xbDI0LjYgMzZoLTMwLjJsLTE4LjktMjkuNWgtNi4xem01LjYtMjEuNWMxMC40IDAgMTcuNC02LjUgMTcuNC0xNS45IDAtMTAuMy03LTE1LTE4LjQtMTUtNC43IDAtMTAuMS4yLTE1LjMuMnYzMC43aDE2LjN6TTc4MS43IDEwMy41YzAgMzAuNS0xOC42IDQ4LjctNDguMiA0OC43LTI5LjUgMC00Ny45LTE4LjEtNDcuOS00OC43VjQ3LjFoMjUuN3Y1Ni40YzAgMTUuNyA4LjYgMjQuOCAyMi4yIDI0LjhzMjIuNS05LjEgMjIuNS0yNC44VjQ3LjFoMjUuN3Y1Ni40ek04NzUuNyA3NC42Yy0xNC40LTQuNC0yNy4yLTYuOC0zNi02LjgtOC45IDAtMTQuNCAyLjctMTQuNCA5LjEgMCA2LjkgOC4zIDguMiAyMi44IDExLjIgMjEuMiA0LjUgMzUuMiAxMS4yIDM1LjIgMzEgMCAyMS45LTE3LjEgMzMuMS00Mi45IDMzLjEtMTMuMiAwLTI5LjgtMi45LTQ1LjgtOC45bDUuNy0yMi41YzE2LjUgNi4yIDI5LjkgOC42IDM5IDguOCAxMC45LjIgMTYuNi0yLjkgMTYuNi04LjggMC04LjMtMTEuNi05LjctMjQuNi0xMi40LTIzLTQuOC0zMy43LTEyLjItMzMuNy0zMC4yIDAtMjAuMyAxNi4yLTMyLjUgNDEuOS0zMi41IDE0LjIgMCAzMC44IDMuMiA0MS42IDdsLTUuNCAyMS45ek05NDkuMyAxNDkuOWgtMjUuNnYtODBoLTM0LjRWNDcuMWg5NC40djIyLjhoLTM0LjR6TTU4OC42IDIzNC43YzAgMzIuMi0yMi4xIDUzLjctNTQuMSA1My43cy01NC0yMS41LTU0LTUzLjcgMjEuOS01My43IDU0LTUzLjdjMzIgMCA1NC4xIDIxLjUgNTQuMSA1My43bS0xMS4yIDBjMC0yNi4xLTE3LjUtNDMuNS00Mi45LTQzLjUtMjUuMiAwLTQyLjggMTcuNC00Mi44IDQzLjVzMTcuNSA0My43IDQyLjggNDMuN2MyNS40IDAgNDIuOS0xNy42IDQyLjktNDMuN002MzIuNiAyODYuMWwtMzIuNy02OS45aDExLjVsMjYuOCA1Ny44IDI2LjYtNTcuOGgxMS4zbC0zMi41IDY5Ljl6TTc1MC45IDI0Ny4xYzAgMy41LS4yIDQuNy0uNiA4aC01OC4yYzEuNyAxNC40IDExLjYgMjMuOSAyNy4xIDIzLjkgOC45IDAgMTYuMi0xLjUgMjUuNy0zLjlsMS43IDguNWMtOS4xIDIuNy0xNi45IDQuOC0yNy43IDQuOC0yMy45IDAtMzcuOC0xNS42LTM3LjgtMzcuMyAwLTIyLjQgMTUuMS0zNyAzNi4zLTM3IDE5LjYtLjEgMzMuNCAxMi42IDMzLjUgMzNtLTU5LjEtLjJoNDkuNmMtLjItMTUuMy05LjctMjQuNS0yMy43LTI0LjUtMTUgMC0yNC43IDkuNy0yNS45IDI0LjVNODA3LjYgMjI0LjdjLTEwLjEgMC0xOC4zLjMtMjguNiAxLjV2NTkuOWgtMTAuNHYtNjcuOWMxMi43LTIuMyAyNS44LTMuNiAzOS0zLjZ2MTAuMXpNODU0LjkgMTgzLjNoMjUuNXYxMDIuOGgtMjUuNXpNOTg0LjcgMjIwYzAgMjMuNC0xNy41IDM4LjItNDQuNyAzOC4yaC0xNC4yVjI4NmgtMjUuNFYxODMuM2MxMi4xLS42IDI1LjUtMS4yIDM5LjYtMS4yIDI3LjIgMCA0NC43IDEzLjkgNDQuNyAzNy45bS00My4yIDE2YzEwLjQgMCAxNy44LTUuOSAxNy44LTE1LjkgMC0xMC4zLTcuNC0xNS45LTE3LjgtMTUuOS01LjMgMC0xMC42LjItMTUuNy4zVjIzNmgxNS43ek01MTUuMSAzNDAuN3YxMS42aC0yMS42djE3LjRoLTEyLjd2LTUxLjRoMzcuN3YxMS4zaC0yNXYxMS4xek01NzcuOSAzNDRjMCAxNi4xLTExLjMgMjYuOC0yNy42IDI2LjhzLTI3LjYtMTAuNy0yNy42LTI2LjggMTEuMy0yNi44IDI3LjYtMjYuOGMxNi4yIDAgMjcuNiAxMC43IDI3LjYgMjYuOG0tMTMuMiAwYzAtOS4xLTYtMTUtMTQuNC0xNXMtMTQuNCA2LTE0LjQgMTVjMCA5LjEgNiAxNS4xIDE0LjQgMTUuMXMxNC40LTYgMTQuNC0xNS4xTTYzMyAzNDYuNWMwIDE1LjMtOS4zIDI0LjMtMjQuMSAyNC4zLTE0LjcgMC0yNC05LjEtMjQtMjQuM3YtMjguMmgxMi44djI4LjJjMCA3LjkgNC4zIDEyLjQgMTEuMSAxMi40czExLjMtNC41IDExLjMtMTIuNHYtMjguMkg2MzN2MjguMnpNNjkwIDM2OS43aC0xMS42bC0yMy45LTI5Ljh2MjkuOGgtMTIuN3YtNTEuNGgxMS43bDIzLjggMzAuMXYtMzAuMUg2OTB6TTc0Ny4yIDM0My45YzAgMTYuMi0xMS4zIDI2LjQtMjYuNyAyNi40LTcuNiAwLTE0LjgtLjMtMjAuNC0uNnYtNTEuNGM1LjYtLjMgMTItLjYgMTkuMS0uNiAxNi43IDAgMjggMTAuMSAyOCAyNi4ybS0xMy4xIDBjMC05LTUuOS0xNC43LTE0LjMtMTQuNy0yLjIgMC00LjYgMC03IC4ydjI5LjVjMi42LjIgNS40LjIgOCAuMiA3LjQtLjIgMTMuMy02LjEgMTMuMy0xNS4yTTc2MS42IDM2OS43aC0xMy45bDIyLjktNTEuN2gxMS45bDIyLjggNTEuN2gtMTMuOGwtMy42LTguNWgtMjIuOGwtMy41IDguNXptNy45LTE5LjNoMTQuMWwtNy4xLTE3LjItNyAxNy4yek04MzAuNCAzNjkuN2gtMTIuOHYtNDBoLTE3LjJ2LTExLjRoNDcuMnYxMS40aC0xNy4yek04NTIuNyAzMTguM2gxMi44djUxLjRoLTEyLjh6TTkyOC40IDM0NGMwIDE2LjEtMTEuMyAyNi44LTI3LjYgMjYuOHMtMjcuNi0xMC43LTI3LjYtMjYuOCAxMS4zLTI2LjggMjcuNi0yNi44IDI3LjYgMTAuNyAyNy42IDI2LjhtLTEzLjEgMGMwLTkuMS02LTE1LTE0LjQtMTVzLTE0LjQgNi0xNC40IDE1YzAgOS4xIDYgMTUuMSAxNC40IDE1LjEgOC4zIDAgMTQuNC02IDE0LjQtMTUuMU05ODQuNSAzNjkuN2gtMTEuN0w5NDkgMzM5Ljl2MjkuOGgtMTIuN3YtNTEuNEg5NDhsMjMuOCAzMC4xdi0zMC4xaDEyLjd6IgogICAgICAgIGNsYXNzPSJzdDAiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik0yNzIgMTAuM2MxMy42LTcuOCAyNS45LTguNSAzNC43LTMuMWw5OC42IDU3LjRjLjIuMS4zLjIuNS4zLTguOC01LjItMjEuMS00LjYtMzQuNiAzLjJsLTE3NyAxMDEuOEwyMC41IDY4LjhjLTI3LjMtMTUuOC0yNy4zLTQxLjMgMC01N0M0Ny44LTQgOTItMy45IDExOS4zIDExLjhsNzUuNiA0My4xTDI3MiAxMC4zIgogICAgICAgIGNsYXNzPSJzdDEiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik05OS41IDU3LjRjLTE2LjQgOS40LTQyLjkgOS40LTU5LjMgMC0xNi40LTkuNS0xNi40LTI0LjggMC0zNC4yIDE2LjQtOS40IDQyLjktOS40IDU5LjMgMCAxNi40IDkuNSAxNi40IDI0LjggMCAzNC4yIgogICAgICAgIGNsYXNzPSJzdDIiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik0yOTUuMiAzMTIuMWMwIDE1LjgtNS41IDI3LTE0LjMgMzIuMmwtMTAwLjggNTcuOXMtLjEgMC0uMS4xYzguOC01LjMgMTQuMy0xNi40IDE0LjMtMzIuMlYxNjkuOWwxNzctMTAxLjhjMjctMTUuNiA0OC45LTIuNiA0OC45IDI5cy0yMS45IDY5LjktNDguOSA4NS41bC03Ni4xIDQzLjl2ODUuNnoiCiAgICAgICAgY2xhc3M9InN0MyIgLz4KICAgIDxwYXRoCiAgICAgICAgZD0iTTM0MS45IDE0Mi4zYzAgMTkgMTMuMSAyNi44IDI5LjMgMTcuNCAxNi4yLTkuNCAyOS4zLTMyLjMgMjkuMy01MS4zUzM4Ny40IDgxLjYgMzcxLjIgOTFjLTE2LjEgOS4zLTI5LjMgMzIuMy0yOS4zIDUxLjMiCiAgICAgICAgY2xhc3M9InN0MSIgLz4KICAgIDxwYXRoCiAgICAgICAgZD0iTTk2LjUgMzEzLjVjMCAzMS42IDIxLjkgNjkuOSA0OC45IDg1LjUgMjcgMTUuNiA0OC45IDIuNiA0OC45LTI5VjE2OS45TDIwLjUgNjguOEM2LjggNjEgMCA1MC42IDAgNDAuM1YxNTZjMCAxMC4zIDYuOCAyMC42IDIwLjUgMjguNWw3NiA0My44djg1LjJ6IgogICAgICAgIGNsYXNzPSJzdDIiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik0xNzQuNyAzNTguN2MwIDE5LTEzLjEgMjYuOC0yOS4zIDE3LjQtMTYuMi05LjQtMjkuMy0zMi4zLTI5LjMtNTEuM3MxMy4xLTI2LjggMjkuMy0xNy40YzE2LjIgOS4zIDI5LjMgMzIuMyAyOS4zIDUxLjMiCiAgICAgICAgY2xhc3M9InN0MyIgLz4KPC9zdmc+"},1415:(i,t,e)=>{e.d(t,{A:()=>M});const M=e.p+"assets/images/logo-3285df06c3ca44eedd8668ae78c78be3.svg"},8453:(i,t,e)=>{e.d(t,{R:()=>g,x:()=>I});var M=e(6540);const j={},n=M.createContext(j);function g(i){const t=M.useContext(n);return M.useMemo((function(){return"function"==typeof i?i(t):{...t,...i}}),[t,i])}function I(i){let t;return t=i.disableParentContext?"function"==typeof i.components?i.components(j):i.components||j:g(i.components),M.createElement(n.Provider,{value:t},i.children)}}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.e08b48ed.js b/assets/js/0e384e19.e08b48ed.js deleted file mode 100644 index a50ee0fd..00000000 --- a/assets/js/0e384e19.e08b48ed.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[3976],{619:(t,i,e)=>{e.r(i),e.d(i,{assets:()=>s,contentTitle:()=>g,default:()=>o,frontMatter:()=>n,metadata:()=>I,toc:()=>c});var M=e(4848),j=e(8453);const n={sidebar_position:1},g="Introduction",I={id:"intro",title:"Introduction",description:"Intro",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/spec-up-t-website/docs/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Roles",permalink:"/spec-up-t-website/docs/category/roles"}},s={},c=[{value:"Intro",id:"intro",level:2},{value:"History",id:"history",level:2},{value:"Spec-Up-T",id:"spec-up-t",level:2}];function u(t){const i={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,j.R)(),...t.components};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(i.h1,{id:"introduction",children:"Introduction"}),"\n",(0,M.jsx)(i.h2,{id:"intro",children:"Intro"}),"\n",(0,M.jsxs)(i.p,{children:[(0,M.jsx)(i.em,{children:"Spec-Up-T"})," is a tool that helps you write specifications. It is a tool for writing in Markdown and creates ",(0,M.jsx)(i.em,{children:"one"})," ",(0,M.jsx)(i.code,{children:"index.html"})," file."]}),"\n",(0,M.jsx)(i.p,{children:(0,M.jsxs)(i.strong,{children:["This ",(0,M.jsx)(i.code,{children:"index.html"})," file is the actual specification file that is the goal of it all."]})}),"\n",(0,M.jsxs)(i.p,{children:["This ",(0,M.jsx)(i.code,{children:"index.html"})," file is stand-alone and can be hosted on any web server. Or double-click it, and it will open.\nThe code is available ",(0,M.jsx)(i.a,{href:"https://github.com/blockchainbird/spec-up-t",children:"on Github"}),"."]}),"\n",(0,M.jsxs)(i.p,{children:[(0,M.jsx)(i.strong,{children:"Spec-Up-T"})," is based on ",(0,M.jsx)(i.strong,{children:"Spec-Up"}),", and some of the content on this website is taken from the ",(0,M.jsx)(i.a,{href:"https://identity.foundation/spec-up/",children:"Spec-Up website"})," and ",(0,M.jsx)(i.a,{href:"https://github.com/decentralized-identity/spec-up",children:"repo"}),"."]}),"\n",(0,M.jsx)(i.admonition,{type:"tip",children:(0,M.jsxs)(i.p,{children:["You will have to install Spec-Up-T to start using it. Go straight to the ",(0,M.jsx)(i.a,{href:"/spec-up-t-website/docs/various-roles/admins-guide",children:"admin section"})," for instructions."]})}),"\n",(0,M.jsx)(i.h2,{id:"history",children:"History"}),"\n",(0,M.jsxs)(i.p,{children:["Spec-Up-T is based on Spec-Up (",(0,M.jsx)(i.a,{href:"https://github.com/decentralized-identity/spec-up",children:"Spec-Up on Github"}),")."]}),"\n",(0,M.jsxs)(i.p,{children:["Spec-Up is a tool provided by ",(0,M.jsx)(i.a,{href:"https://github.com/decentralized-identity",children:"DIF"})," (Decentralized Identity Foundation) and created by ",(0,M.jsx)(i.a,{href:"https://github.com/csuwildcat",children:"Daniel Buchner"}),"."]}),"\n",(0,M.jsx)("div",{class:"image-medium center",children:(0,M.jsx)(i.p,{children:(0,M.jsx)(i.img,{alt:"Logo ToIP and DIF combined",src:e(1415).A+"",width:"243",height:"108"})})}),"\n",(0,M.jsxs)(i.p,{children:["From the Spec-Up documentation: \u201c",(0,M.jsx)(i.em,{children:"Spec-Up"})," is a technical specification development tool that enables you to create rich specification documents for standards bodies and engineering projects by writing in an extended version of markdown that features all the bells and whistles - for example, advanced syntax highlighting, notice blocks, complex tables, charts, UML diagrams, and more.\u201d"]}),"\n",(0,M.jsxs)(i.table,{children:[(0,M.jsx)(i.thead,{children:(0,M.jsxs)(i.tr,{children:[(0,M.jsx)(i.th,{children:"Spec-Up"}),(0,M.jsx)(i.th,{children:"Spec-Up-T"})]})}),(0,M.jsxs)(i.tbody,{children:[(0,M.jsxs)(i.tr,{children:[(0,M.jsxs)(i.td,{children:[(0,M.jsx)("div",{class:"image-small",children:(0,M.jsx)(i.img,{alt:"DIF Logo",src:e(1833).A+"",width:"320",height:"108"})}),"Decentralized Identity Foundation"]}),(0,M.jsxs)(i.td,{children:[(0,M.jsx)("div",{class:"image-small",children:(0,M.jsx)(i.img,{alt:"ToIP Logo",src:e(8512).A+"",width:"985",height:"406"})}),"Trust over IP"]})]}),(0,M.jsxs)(i.tr,{children:[(0,M.jsx)(i.td,{children:"\u201cTogether we're building a new identity ecosystem\u201d"}),(0,M.jsx)(i.td,{children:"\u201cDeveloping a complete architecture for Internet Digital Trust. And a better Internet for everyone.\u201d"})]}),(0,M.jsxs)(i.tr,{children:[(0,M.jsx)(i.td,{children:(0,M.jsx)(i.a,{href:"https://github.com/decentralized-identity/spec-up",children:"Spec-Up on Github"})}),(0,M.jsx)(i.td,{children:(0,M.jsx)(i.a,{href:"https://github.com/blockchainbird/spec-up-t",children:"Spec-Up-T on Github"})})]}),(0,M.jsxs)(i.tr,{children:[(0,M.jsx)(i.td,{children:(0,M.jsx)(i.a,{href:"https://identity.foundation/",children:"DIF website"})}),(0,M.jsx)(i.td,{children:(0,M.jsx)(i.a,{href:"https://trustoverip.org/",children:"ToIP website"})})]})]})]}),"\n",(0,M.jsxs)(i.p,{children:[(0,M.jsx)(i.em,{children:"Spec-Up-T"})," is an expansion of ",(0,M.jsx)(i.a,{href:"https://github.com/decentralized-identity/spec-up",children:"DIF's Spec-Up"})," specifically for the needs of the Trust-over-IP foundation. Read more in the elaborate motivation in this technical article: ",(0,M.jsx)(i.a,{href:"/spec-up-t-website/docs/how-it-came-to-be",children:"How it came to be"}),"."]}),"\n",(0,M.jsx)(i.h2,{id:"spec-up-t",children:"Spec-Up-T"}),"\n",(0,M.jsx)(i.p,{children:"Spec-Up-T stays in sync with Spec-Up and currently adds the following extra functionality:"}),"\n",(0,M.jsxs)(i.ol,{children:["\n",(0,M.jsx)(i.li,{children:"Search & Find (not the same as the browser search)"}),"\n",(0,M.jsxs)(i.li,{children:["Splitter for Terms and Definition section following the ",(0,M.jsx)(i.a,{href:"https://trustoverip.github.io/ctwg-terminology-governance-guide/",children:"Termininology Governance Guide"})," and various meeting reports since ",(0,M.jsx)(i.a,{href:"https://wiki.trustoverip.org/display/HOME/2024-04-22+CTWG+Meeting+Notes",children:"CTWG April 2024"})]}),"\n",(0,M.jsx)(i.li,{children:"External Reference (xref) functionality (To Do: add link)"}),"\n",(0,M.jsx)(i.li,{children:"Small User Interface enhancements (back-to-top button, automatic copying of urls when clicking on anchors (\u201c$\u201d), menu-item highlighting)"}),"\n"]}),"\n",(0,M.jsxs)(i.p,{children:[(0,M.jsx)(i.em,{children:"Spec-Up"})," and ",(0,M.jsx)(i.em,{children:"Spec-Up-T"})," work on ",(0,M.jsx)(i.em,{children:"Github"}),". The specification is stored in a Github repo. Editing can be done locally in a suitable editor (Visual Studio Code is widely used), or can be done web-based via the editor provided by Github if you are logged in."]}),"\n",(0,M.jsxs)(i.p,{children:[(0,M.jsx)(i.em,{children:(0,M.jsx)(i.a,{href:"glossary#github-actions",children:"Github Actions"})})," is a convenient way to automate things within Github by creating ",(0,M.jsx)(i.em,{children:"workflows"}),". For example, you can create a workflow that generates an updated version of the specification."]})]})}function o(t={}){const{wrapper:i}={...(0,j.R)(),...t.components};return i?(0,M.jsx)(i,{...t,children:(0,M.jsx)(u,{...t})}):u(t)}},1833:(t,i,e)=>{e.d(i,{A:()=>M});const M=e.p+"assets/images/logo-dif-ffce17bbeaba42a53d74faba6badd3ac.svg"},8512:(t,i,e)=>{e.d(i,{A:()=>M});const M="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIGlkPSJMYXllcl8xIiB4PSIwIiB5PSIwIgogICAgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgOTg0LjcgNDA1LjYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDk4NC43IDQwNS42Ij4KICAgIDxzdHlsZT4KICAgICAgICAuc3QwIHsKICAgICAgICAgICAgZmlsbDogIzMwNDk5ZgogICAgICAgIH0KCiAgICAgICAgLnN0MSB7CiAgICAgICAgICAgIGZpbGw6ICNhOWRkZTAKICAgICAgICB9CgogICAgICAgIC5zdDIgewogICAgICAgICAgICBmaWxsOiAjMjU4OWNhCiAgICAgICAgfQoKICAgICAgICAuc3QzIHsKICAgICAgICAgICAgZmlsbDogIzM2NTNhNAogICAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8cGF0aAogICAgICAgIGQ9Ik01NDEuNSAxNDkuOUg1MTZ2LTgwaC0zNC41VjQ3LjFINTc2djIyLjhoLTM0LjV6TTYyMi41IDEyMC40aC0xMC43djI5LjVoLTI1LjRWNDcuMWMxMC42LS40IDI3LjItLjkgNDEuMy0uOSAyNi42IDAgNDMuMiAxMi43IDQzLjIgMzYuNiAwIDEzLjgtNi42IDI0LjgtMTcuOCAzMS4xbDI0LjYgMzZoLTMwLjJsLTE4LjktMjkuNWgtNi4xem01LjYtMjEuNWMxMC40IDAgMTcuNC02LjUgMTcuNC0xNS45IDAtMTAuMy03LTE1LTE4LjQtMTUtNC43IDAtMTAuMS4yLTE1LjMuMnYzMC43aDE2LjN6TTc4MS43IDEwMy41YzAgMzAuNS0xOC42IDQ4LjctNDguMiA0OC43LTI5LjUgMC00Ny45LTE4LjEtNDcuOS00OC43VjQ3LjFoMjUuN3Y1Ni40YzAgMTUuNyA4LjYgMjQuOCAyMi4yIDI0LjhzMjIuNS05LjEgMjIuNS0yNC44VjQ3LjFoMjUuN3Y1Ni40ek04NzUuNyA3NC42Yy0xNC40LTQuNC0yNy4yLTYuOC0zNi02LjgtOC45IDAtMTQuNCAyLjctMTQuNCA5LjEgMCA2LjkgOC4zIDguMiAyMi44IDExLjIgMjEuMiA0LjUgMzUuMiAxMS4yIDM1LjIgMzEgMCAyMS45LTE3LjEgMzMuMS00Mi45IDMzLjEtMTMuMiAwLTI5LjgtMi45LTQ1LjgtOC45bDUuNy0yMi41YzE2LjUgNi4yIDI5LjkgOC42IDM5IDguOCAxMC45LjIgMTYuNi0yLjkgMTYuNi04LjggMC04LjMtMTEuNi05LjctMjQuNi0xMi40LTIzLTQuOC0zMy43LTEyLjItMzMuNy0zMC4yIDAtMjAuMyAxNi4yLTMyLjUgNDEuOS0zMi41IDE0LjIgMCAzMC44IDMuMiA0MS42IDdsLTUuNCAyMS45ek05NDkuMyAxNDkuOWgtMjUuNnYtODBoLTM0LjRWNDcuMWg5NC40djIyLjhoLTM0LjR6TTU4OC42IDIzNC43YzAgMzIuMi0yMi4xIDUzLjctNTQuMSA1My43cy01NC0yMS41LTU0LTUzLjcgMjEuOS01My43IDU0LTUzLjdjMzIgMCA1NC4xIDIxLjUgNTQuMSA1My43bS0xMS4yIDBjMC0yNi4xLTE3LjUtNDMuNS00Mi45LTQzLjUtMjUuMiAwLTQyLjggMTcuNC00Mi44IDQzLjVzMTcuNSA0My43IDQyLjggNDMuN2MyNS40IDAgNDIuOS0xNy42IDQyLjktNDMuN002MzIuNiAyODYuMWwtMzIuNy02OS45aDExLjVsMjYuOCA1Ny44IDI2LjYtNTcuOGgxMS4zbC0zMi41IDY5Ljl6TTc1MC45IDI0Ny4xYzAgMy41LS4yIDQuNy0uNiA4aC01OC4yYzEuNyAxNC40IDExLjYgMjMuOSAyNy4xIDIzLjkgOC45IDAgMTYuMi0xLjUgMjUuNy0zLjlsMS43IDguNWMtOS4xIDIuNy0xNi45IDQuOC0yNy43IDQuOC0yMy45IDAtMzcuOC0xNS42LTM3LjgtMzcuMyAwLTIyLjQgMTUuMS0zNyAzNi4zLTM3IDE5LjYtLjEgMzMuNCAxMi42IDMzLjUgMzNtLTU5LjEtLjJoNDkuNmMtLjItMTUuMy05LjctMjQuNS0yMy43LTI0LjUtMTUgMC0yNC43IDkuNy0yNS45IDI0LjVNODA3LjYgMjI0LjdjLTEwLjEgMC0xOC4zLjMtMjguNiAxLjV2NTkuOWgtMTAuNHYtNjcuOWMxMi43LTIuMyAyNS44LTMuNiAzOS0zLjZ2MTAuMXpNODU0LjkgMTgzLjNoMjUuNXYxMDIuOGgtMjUuNXpNOTg0LjcgMjIwYzAgMjMuNC0xNy41IDM4LjItNDQuNyAzOC4yaC0xNC4yVjI4NmgtMjUuNFYxODMuM2MxMi4xLS42IDI1LjUtMS4yIDM5LjYtMS4yIDI3LjIgMCA0NC43IDEzLjkgNDQuNyAzNy45bS00My4yIDE2YzEwLjQgMCAxNy44LTUuOSAxNy44LTE1LjkgMC0xMC4zLTcuNC0xNS45LTE3LjgtMTUuOS01LjMgMC0xMC42LjItMTUuNy4zVjIzNmgxNS43ek01MTUuMSAzNDAuN3YxMS42aC0yMS42djE3LjRoLTEyLjd2LTUxLjRoMzcuN3YxMS4zaC0yNXYxMS4xek01NzcuOSAzNDRjMCAxNi4xLTExLjMgMjYuOC0yNy42IDI2LjhzLTI3LjYtMTAuNy0yNy42LTI2LjggMTEuMy0yNi44IDI3LjYtMjYuOGMxNi4yIDAgMjcuNiAxMC43IDI3LjYgMjYuOG0tMTMuMiAwYzAtOS4xLTYtMTUtMTQuNC0xNXMtMTQuNCA2LTE0LjQgMTVjMCA5LjEgNiAxNS4xIDE0LjQgMTUuMXMxNC40LTYgMTQuNC0xNS4xTTYzMyAzNDYuNWMwIDE1LjMtOS4zIDI0LjMtMjQuMSAyNC4zLTE0LjcgMC0yNC05LjEtMjQtMjQuM3YtMjguMmgxMi44djI4LjJjMCA3LjkgNC4zIDEyLjQgMTEuMSAxMi40czExLjMtNC41IDExLjMtMTIuNHYtMjguMkg2MzN2MjguMnpNNjkwIDM2OS43aC0xMS42bC0yMy45LTI5Ljh2MjkuOGgtMTIuN3YtNTEuNGgxMS43bDIzLjggMzAuMXYtMzAuMUg2OTB6TTc0Ny4yIDM0My45YzAgMTYuMi0xMS4zIDI2LjQtMjYuNyAyNi40LTcuNiAwLTE0LjgtLjMtMjAuNC0uNnYtNTEuNGM1LjYtLjMgMTItLjYgMTkuMS0uNiAxNi43IDAgMjggMTAuMSAyOCAyNi4ybS0xMy4xIDBjMC05LTUuOS0xNC43LTE0LjMtMTQuNy0yLjIgMC00LjYgMC03IC4ydjI5LjVjMi42LjIgNS40LjIgOCAuMiA3LjQtLjIgMTMuMy02LjEgMTMuMy0xNS4yTTc2MS42IDM2OS43aC0xMy45bDIyLjktNTEuN2gxMS45bDIyLjggNTEuN2gtMTMuOGwtMy42LTguNWgtMjIuOGwtMy41IDguNXptNy45LTE5LjNoMTQuMWwtNy4xLTE3LjItNyAxNy4yek04MzAuNCAzNjkuN2gtMTIuOHYtNDBoLTE3LjJ2LTExLjRoNDcuMnYxMS40aC0xNy4yek04NTIuNyAzMTguM2gxMi44djUxLjRoLTEyLjh6TTkyOC40IDM0NGMwIDE2LjEtMTEuMyAyNi44LTI3LjYgMjYuOHMtMjcuNi0xMC43LTI3LjYtMjYuOCAxMS4zLTI2LjggMjcuNi0yNi44IDI3LjYgMTAuNyAyNy42IDI2LjhtLTEzLjEgMGMwLTkuMS02LTE1LTE0LjQtMTVzLTE0LjQgNi0xNC40IDE1YzAgOS4xIDYgMTUuMSAxNC40IDE1LjEgOC4zIDAgMTQuNC02IDE0LjQtMTUuMU05ODQuNSAzNjkuN2gtMTEuN0w5NDkgMzM5Ljl2MjkuOGgtMTIuN3YtNTEuNEg5NDhsMjMuOCAzMC4xdi0zMC4xaDEyLjd6IgogICAgICAgIGNsYXNzPSJzdDAiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik0yNzIgMTAuM2MxMy42LTcuOCAyNS45LTguNSAzNC43LTMuMWw5OC42IDU3LjRjLjIuMS4zLjIuNS4zLTguOC01LjItMjEuMS00LjYtMzQuNiAzLjJsLTE3NyAxMDEuOEwyMC41IDY4LjhjLTI3LjMtMTUuOC0yNy4zLTQxLjMgMC01N0M0Ny44LTQgOTItMy45IDExOS4zIDExLjhsNzUuNiA0My4xTDI3MiAxMC4zIgogICAgICAgIGNsYXNzPSJzdDEiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik05OS41IDU3LjRjLTE2LjQgOS40LTQyLjkgOS40LTU5LjMgMC0xNi40LTkuNS0xNi40LTI0LjggMC0zNC4yIDE2LjQtOS40IDQyLjktOS40IDU5LjMgMCAxNi40IDkuNSAxNi40IDI0LjggMCAzNC4yIgogICAgICAgIGNsYXNzPSJzdDIiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik0yOTUuMiAzMTIuMWMwIDE1LjgtNS41IDI3LTE0LjMgMzIuMmwtMTAwLjggNTcuOXMtLjEgMC0uMS4xYzguOC01LjMgMTQuMy0xNi40IDE0LjMtMzIuMlYxNjkuOWwxNzctMTAxLjhjMjctMTUuNiA0OC45LTIuNiA0OC45IDI5cy0yMS45IDY5LjktNDguOSA4NS41bC03Ni4xIDQzLjl2ODUuNnoiCiAgICAgICAgY2xhc3M9InN0MyIgLz4KICAgIDxwYXRoCiAgICAgICAgZD0iTTM0MS45IDE0Mi4zYzAgMTkgMTMuMSAyNi44IDI5LjMgMTcuNCAxNi4yLTkuNCAyOS4zLTMyLjMgMjkuMy01MS4zUzM4Ny40IDgxLjYgMzcxLjIgOTFjLTE2LjEgOS4zLTI5LjMgMzIuMy0yOS4zIDUxLjMiCiAgICAgICAgY2xhc3M9InN0MSIgLz4KICAgIDxwYXRoCiAgICAgICAgZD0iTTk2LjUgMzEzLjVjMCAzMS42IDIxLjkgNjkuOSA0OC45IDg1LjUgMjcgMTUuNiA0OC45IDIuNiA0OC45LTI5VjE2OS45TDIwLjUgNjguOEM2LjggNjEgMCA1MC42IDAgNDAuM1YxNTZjMCAxMC4zIDYuOCAyMC42IDIwLjUgMjguNWw3NiA0My44djg1LjJ6IgogICAgICAgIGNsYXNzPSJzdDIiIC8+CiAgICA8cGF0aAogICAgICAgIGQ9Ik0xNzQuNyAzNTguN2MwIDE5LTEzLjEgMjYuOC0yOS4zIDE3LjQtMTYuMi05LjQtMjkuMy0zMi4zLTI5LjMtNTEuM3MxMy4xLTI2LjggMjkuMy0xNy40YzE2LjIgOS4zIDI5LjMgMzIuMyAyOS4zIDUxLjMiCiAgICAgICAgY2xhc3M9InN0MyIgLz4KPC9zdmc+"},1415:(t,i,e)=>{e.d(i,{A:()=>M});const M=e.p+"assets/images/logo-3285df06c3ca44eedd8668ae78c78be3.svg"},8453:(t,i,e)=>{e.d(i,{R:()=>g,x:()=>I});var M=e(6540);const j={},n=M.createContext(j);function g(t){const i=M.useContext(n);return M.useMemo((function(){return"function"==typeof t?t(i):{...i,...t}}),[i,t])}function I(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(j):t.components||j:g(t.components),M.createElement(n.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/30c1de03.46da0f04.js b/assets/js/30c1de03.46da0f04.js new file mode 100644 index 00000000..00b1e8aa --- /dev/null +++ b/assets/js/30c1de03.46da0f04.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[996],{3169:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var s=i(4848),t=i(8453);const r={sidebar_position:15},o="Developers Guide",a={id:"various-roles/developers-guide",title:"Developers Guide",description:"This page is the developer's guide for the Spec-Up-T system.",source:"@site/docs/various-roles/developers-guide.md",sourceDirName:"various-roles",slug:"/various-roles/developers-guide",permalink:"/spec-up-t-website/docs/various-roles/developers-guide",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/developers-guide.md",tags:[],version:"current",sidebarPosition:15,frontMatter:{sidebar_position:15},sidebar:"tutorialSidebar",previous:{title:"Readers Guide",permalink:"/spec-up-t-website/docs/various-roles/readers-guide/introduction"},next:{title:"Spec-Up-T demo",permalink:"/spec-up-t-website/docs/spec-up-t-demo-site"}},l={},d=[{value:"How do you get a new version of Spec-Up-T live?",id:"how-do-you-get-a-new-version-of-spec-up-t-live",level:2},{value:"Adding functionality",id:"adding-functionality",level:2},{value:"Adding client-side functionality",id:"adding-client-side-functionality",level:3},{value:"Gulp",id:"gulp",level:3},{value:"Adding server-side functionality",id:"adding-server-side-functionality",level:3},{value:"Handling data",id:"handling-data",level:2},{value:"Github API",id:"github-api",level:2},{value:"Example of API response:",id:"example-of-api-response",level:3},{value:"Publishing to GitHub and NPM",id:"publishing-to-github-and-npm",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"developers-guide",children:"Developers Guide"}),"\n",(0,s.jsx)(n.p,{children:"This page is the developer's guide for the Spec-Up-T system."}),"\n",(0,s.jsxs)(n.p,{children:["The repo can be found ",(0,s.jsx)(n.a,{href:"https://github.com/blockchainbird/spec-up-t",children:"here"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"how-do-you-get-a-new-version-of-spec-up-t-live",children:"How do you get a new version of Spec-Up-T live?"}),"\n",(0,s.jsx)(n.p,{children:"If you want to add new functionality to Spec-Up-T, you will find below how to proceed."}),"\n",(0,s.jsx)(n.admonition,{type:"danger",children:(0,s.jsxs)(n.p,{children:["Be aware that your specification is just one file, an ",(0,s.jsx)(n.code,{children:"index.html"})," file. Keeping this file as small as possible should be a priority when adding functionality. There is no lazy loading or optimization. It is basic HTML plus embedded CSS and JS."]})}),"\n",(0,s.jsx)(n.p,{children:"Two repos come into play:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/blockchainbird/spec-up-t",children:"The Spec-Up-T repo"}),", with ",(0,s.jsx)(n.a,{href:"https://www.npmjs.com/package/spec-up-t",children:"associated NPM package"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.a,{href:"https://github.com/blockchainbird/spec-up-t-starter-pack",children:"The Spec-Up-T installer repo"}),", with ",(0,s.jsx)(n.a,{href:"https://www.npmjs.com/package/create-spec-up-t",children:"associated NPM package"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["The Spec-Up-T installer uses Spec-Up-T as a package in node_modules, which is installed via ",(0,s.jsx)(n.code,{children:"npm install"})," after you install the Spec-Up-T installer itself (see ",(0,s.jsx)(n.a,{href:"/spec-up-t-website/docs/various-roles/admins-guide",children:"Admins Guide"})," for this)."]}),"\n",(0,s.jsx)(n.p,{children:"The topic of updating Git repositories goes too far here; you can find a lot of information about that online."}),"\n",(0,s.jsx)(n.p,{children:"How to publish an updated package version to NPM:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:['Update the "version" in ',(0,s.jsx)(n.code,{children:"package.json"})," to a higher number (use ",(0,s.jsx)(n.a,{href:"https://semver.org/",children:"SemVer"}),"); for example, go from\n",(0,s.jsx)(n.code,{children:'"version": "0.11.29"'})," to ",(0,s.jsx)(n.code,{children:'"version": "0.11.30"'})]}),"\n",(0,s.jsxs)(n.li,{children:["Run ",(0,s.jsx)(n.code,{children:"npm publish"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Note: The Spec-Up-T installer repo has two package.json files. One is in the root and belongs to the repo itself. The other is inside the directory that contains a full Spec-Up-T installation. This is the package.json that will be used later. The first one is only used for the installation itself. For simplicity, keep both version numbers the same."}),"\n",(0,s.jsx)(n.p,{children:"The new package will be available as soon as it is uploaded."}),"\n",(0,s.jsx)(n.h2,{id:"adding-functionality",children:"Adding functionality"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"Spec-Up-T"})," tool is written in ",(0,s.jsx)(n.code,{children:"JavaScript,"})," client-side, and server-side (Node.js)."]}),"\n",(0,s.jsx)(n.h3,{id:"adding-client-side-functionality",children:"Adding client-side functionality"}),"\n",(0,s.jsxs)(n.p,{children:["Client-side JavaScript and CSS can be found in these directories: ",(0,s.jsx)(n.code,{children:"/assets/js"})," and ",(0,s.jsx)(n.code,{children:"/assets/css"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:['This code must first be "compiled" before it enters ',(0,s.jsx)(n.code,{children:"index.html"}),". Compiling, in this case, means that it will end up in the directory ",(0,s.jsx)(n.code,{children:"/assets/compiled"}),". If it is there, it will end up in a newly generated ",(0,s.jsx)(n.code,{children:"index.html"})," via the ",(0,s.jsx)(n.code,{children:"render"})," step. For rendering, see the admin section."]}),"\n",(0,s.jsx)(n.p,{children:"This is the command to compile:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"gulp compile`\n"})}),"\n",(0,s.jsx)(n.p,{children:'So, if you have written client-side JavaScript or custom CSS, you need to take the following steps to get this code working (the "$" at the beginning is the command prompt, and you should not type it):'}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"$ gulp compile\n"})}),"\n",(0,s.jsx)(n.p,{children:"Wait for the code to finish. Then:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"$ npm run render\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Now, your ",(0,s.jsx)(n.code,{children:"index.html"})," file should be created or updated."]}),"\n",(0,s.jsx)(n.h3,{id:"gulp",children:"Gulp"}),"\n",(0,s.jsxs)(n.p,{children:["Of course, you can only use Gulp if you have it ",(0,s.jsx)(n.a,{href:"https://gulpjs.com/docs/en/getting-started/quick-start",children:"installed"}),"."]}),"\n",(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsx)(n.p,{children:"If Gulp suddenly stops working even though it worked before, it could be because you are using NVM and have a different Node.js version active."})}),"\n",(0,s.jsx)(n.h3,{id:"adding-server-side-functionality",children:"Adding server-side functionality"}),"\n",(0,s.jsxs)(n.p,{children:["The Node.js scripts that run server-side are in the root of the Spec-Up-T repo and the ",(0,s.jsx)(n.code,{children:"/src/"})," directory."]}),"\n",(0,s.jsx)(n.p,{children:"How can you run and test Node.js code locally without publishing it on npm first?"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Clone the Spec-Up-T repo"}),"\n",(0,s.jsx)(n.li,{children:"Install a Spec-Up-T via the installer"}),"\n",(0,s.jsxs)(n.li,{children:["Run ",(0,s.jsx)(n.code,{children:"npm install"})," in the Spec-Up-T website that you installed via the installer"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Generally, if you now run ",(0,s.jsx)(n.code,{children:"npm run render,"})," it will call the scripts from the Spec-Up-T inside ",(0,s.jsx)(n.code,{children:"node_modules."})]}),"\n",(0,s.jsxs)(n.p,{children:["In the ",(0,s.jsx)(n.code,{children:"scripts"})," section of the ",(0,s.jsx)(n.code,{children:"package.json"})," file for your Spec-Up-T installation, you will find commands like this:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'"scripts": {\n "render": "node -e \\"require(\'spec-up-t\')({ nowatch: true })\\"",\n "xrefs": "node -e \\"require(\'spec-up-t/src/get-xrefs-data.js\').getXrefsData()\\""\n}\n'})}),"\n",(0,s.jsxs)(n.p,{children:["These are calls to the ",(0,s.jsx)(n.code,{children:"Spec-Up-T"})," library in ",(0,s.jsx)(n.code,{children:"node_modules"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"However, we want to test locally. To do this, we will call the scripts from your local Spec-Up-T clone, where you are developing."}),"\n",(0,s.jsx)(n.p,{children:"Type this into your terminal:"}),"\n",(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsx)(n.p,{children:"It is only tested on macOS."})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"node -e \"require('/Users/***/path/to/your/spec-up-t/index.js')({ nowatch: true })\"\n"})}),"\n",(0,s.jsx)(n.p,{children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"node -e \"require('/Users/***/path/to/your/spec-up-t/spec-up-t/src/get-xrefs-data.js').getXrefsData()\"\n"})}),"\n",(0,s.jsx)(n.p,{children:"Adjust this based on what you need."}),"\n",(0,s.jsx)(n.h2,{id:"handling-data",children:"Handling data"}),"\n",(0,s.jsx)(n.p,{children:"Since everything is contained in one HTML file, the question arises as to how we store and call data. After all, we can't load external JSON because we want to keep everything within this one HTML file."}),"\n",(0,s.jsx)(n.p,{children:"The solution is to include the data as an embedded JavaScript variable. In the development environment (the installation on your file system from where you invoke commands on the command line), you can choose to store the data as JSON as well. However, in order to get it working in the HTML file, you will also have to include a JS variable. You will have to arrange this through Gulp."}),"\n",(0,s.jsx)(n.h2,{id:"github-api",children:"Github API"}),"\n",(0,s.jsx)(n.h3,{id:"example-of-api-response",children:"Example of API response:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:"[\n {\n sha: '117b86fa676c0bd3030c16e8bbb87ebaa61af576',\n node_id: 'C_kwDOMi-o_toAKDExN2I4NmZhNjc2YzBiZDMwMzBjMTZlOGJiYjg3ZWJhYTYxYWY1NzY',\n commit: {\n author: [Object],\n committer: [Object],\n message: 'first commit',\n tree: [Object],\n url: 'https://api.github.com/repos/****/****/git/commits/117b86fa676c0bd3030c16e8bbb87ebaa61af576',\n comment_count: 0,\n verification: [Object]\n },\n url: 'https://api.github.com/repos/****/****/commits/117b86fa676c0bd3030c16e8bbb87ebaa61af576',\n html_url: 'https://github.com/****/****/commit/117b86fa676c0bd3030c16e8bbb87ebaa61af576',\n comments_url: 'https://api.github.com/repos/****/****/commits/117b86fa676c0bd3030c16e8bbb87ebaa61af576/comments',\n author: {\n login: '****',\n id: 0,\n node_id: '****',\n avatar_url: 'https://avatars.githubusercontent.com/u/****?v=4',\n gravatar_id: '',\n url: 'https://api.github.com/users/****',\n html_url: 'https://github.com/****',\n followers_url: 'https://api.github.com/users/****/followers',\n following_url: 'https://api.github.com/users/****/following{/other_user}',\n gists_url: 'https://api.github.com/users/****/gists{/gist_id}',\n starred_url: 'https://api.github.com/users/****/starred{/owner}{/repo}',\n subscriptions_url: 'https://api.github.com/users/****/subscriptions',\n organizations_url: 'https://api.github.com/users/****/orgs',\n repos_url: 'https://api.github.com/users/****/repos',\n events_url: 'https://api.github.com/users/****/events{/privacy}',\n received_events_url: 'https://api.github.com/users/****/received_events',\n type: 'User',\n site_admin: false\n },\n committer: {\n login: '****',\n id: 0,\n node_id: '****',\n avatar_url: 'https://avatars.githubusercontent.com/u/****?v=4',\n gravatar_id: '',\n url: 'https://api.github.com/users/****',\n html_url: 'https://github.com/****',\n followers_url: 'https://api.github.com/users/****/followers',\n following_url: 'https://api.github.com/users/****/following{/other_user}',\n gists_url: 'https://api.github.com/users/****/gists{/gist_id}',\n starred_url: 'https://api.github.com/users/****/starred{/owner}{/repo}',\n subscriptions_url: 'https://api.github.com/users/****/subscriptions',\n organizations_url: 'https://api.github.com/users/****/orgs',\n repos_url: 'https://api.github.com/users/****/repos',\n events_url: 'https://api.github.com/users/****/events{/privacy}',\n received_events_url: 'https://api.github.com/users/****/received_events',\n type: 'User',\n site_admin: false\n },\n parents: []\n }\n]\n\n"})}),"\n",(0,s.jsx)(n.h2,{id:"publishing-to-github-and-npm",children:"Publishing to GitHub and NPM"}),"\n",(0,s.jsx)(n.p,{children:"The suggested way to publish to GitHub and NPM is as follows:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Make your changes and commit them:"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'git add .\ngit commit -m "Add new feature"\n'})}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"Merging branches is not described here. It's generally best to run npm version after merging your feature branch into the main (or master) branch. This ensures that the version bump and tag are applied to the final state of the code that will be released."})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Update the version in package.json, commit the change, and create a Git tag:"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'npm version -m "Bump version to %s"\n'})}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"The %s in the npm version command is a placeholder that gets replaced with the new version number. When you run the command, npm automatically substitutes %s with the version number you specified."})}),"\n",(0,s.jsxs)(n.p,{children:["Replace ",(0,s.jsx)(n.code,{children:""})," with the new version number (e.g., 0.11.32)."]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Push the changes and the tag to the remote repository:"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"git push origin main --tags\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Publish the new version to npm:"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm publish\n"})})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>a});var s=i(6540);const t={},r=s.createContext(t);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/30c1de03.7356f778.js b/assets/js/30c1de03.7356f778.js deleted file mode 100644 index e135bdce..00000000 --- a/assets/js/30c1de03.7356f778.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[996],{3169:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var n=i(4848),t=i(8453);const r={sidebar_position:15},o="Developers Guide",l={id:"various-roles/developers-guide",title:"Developers Guide",description:"This page is the developer's guide for the Spec-Up-T system.",source:"@site/docs/various-roles/developers-guide.md",sourceDirName:"various-roles",slug:"/various-roles/developers-guide",permalink:"/spec-up-t-website/docs/various-roles/developers-guide",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/developers-guide.md",tags:[],version:"current",sidebarPosition:15,frontMatter:{sidebar_position:15},sidebar:"tutorialSidebar",previous:{title:"Readers Guide",permalink:"/spec-up-t-website/docs/various-roles/readers-guide/introduction"},next:{title:"Spec-Up-T demo",permalink:"/spec-up-t-website/docs/spec-up-t-demo-site"}},c={},a=[{value:"How do you get a new version of Spec-Up-T live?",id:"how-do-you-get-a-new-version-of-spec-up-t-live",level:2},{value:"Adding functionality",id:"adding-functionality",level:2},{value:"Adding client-side functionality",id:"adding-client-side-functionality",level:3},{value:"Gulp",id:"gulp",level:3},{value:"Adding server-side functionality",id:"adding-server-side-functionality",level:3},{value:"Github API",id:"github-api",level:2},{value:"Example of API response:",id:"example-of-api-response",level:3}];function d(e){const s={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h1,{id:"developers-guide",children:"Developers Guide"}),"\n",(0,n.jsx)(s.p,{children:"This page is the developer's guide for the Spec-Up-T system."}),"\n",(0,n.jsxs)(s.p,{children:["The repo can be found ",(0,n.jsx)(s.a,{href:"https://github.com/blockchainbird/spec-up-t",children:"here"}),"."]}),"\n",(0,n.jsx)(s.h2,{id:"how-do-you-get-a-new-version-of-spec-up-t-live",children:"How do you get a new version of Spec-Up-T live?"}),"\n",(0,n.jsx)(s.p,{children:"If you want to add new functionality to Spec-Up-T, you will find below how to proceed."}),"\n",(0,n.jsx)(s.p,{children:"Two repos come into play:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/blockchainbird/spec-up-t",children:"The Spec-Up-T repo"}),", with ",(0,n.jsx)(s.a,{href:"https://www.npmjs.com/package/spec-up-t",children:"associated NPM package"})]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://github.com/blockchainbird/spec-up-t-starter-pack",children:"The Spec-Up-T installer repo"}),", with ",(0,n.jsx)(s.a,{href:"https://www.npmjs.com/package/create-spec-up-t",children:"associated NPM package"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["The Spec-Up-T installer uses Spec-Up-T as a package in node_modules, which is installed via ",(0,n.jsx)(s.code,{children:"npm install"})," after you install the Spec-Up-T installer itself (see ",(0,n.jsx)(s.a,{href:"/spec-up-t-website/docs/various-roles/admins-guide",children:"Admins Guide"})," for this)."]}),"\n",(0,n.jsx)(s.p,{children:"The topic of updating Git repositories goes too far here; you can find a lot of information about that online."}),"\n",(0,n.jsx)(s.p,{children:"How to publish an updated package version to NPM:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:['Update the "version" in ',(0,n.jsx)(s.code,{children:"package.json"})," to a higher number (use ",(0,n.jsx)(s.a,{href:"https://semver.org/",children:"SemVer"}),"); for example, go from\n",(0,n.jsx)(s.code,{children:'"version": "0.11.29"'})," to ",(0,n.jsx)(s.code,{children:'"version": "0.11.30"'})]}),"\n",(0,n.jsxs)(s.li,{children:["Run ",(0,n.jsx)(s.code,{children:"npm publish"})]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"Note: The Spec-Up-T installer repo has two package.json files. One is in the root and belongs to the repo itself. The other is inside the directory that contains a full Spec-Up-T installation. This is the package.json that will be used later. The first one is only used for the installation itself. For simplicity, keep both version numbers the same."}),"\n",(0,n.jsx)(s.p,{children:"The new package will be available as soon as it is uploaded."}),"\n",(0,n.jsx)(s.h2,{id:"adding-functionality",children:"Adding functionality"}),"\n",(0,n.jsxs)(s.p,{children:["The ",(0,n.jsx)(s.code,{children:"Spec-Up-T"})," tool is written in ",(0,n.jsx)(s.code,{children:"JavaScript,"})," client-side, and server-side (Node.js)."]}),"\n",(0,n.jsx)(s.h3,{id:"adding-client-side-functionality",children:"Adding client-side functionality"}),"\n",(0,n.jsxs)(s.p,{children:["Client-side JavaScript and CSS can be found in these directories: ",(0,n.jsx)(s.code,{children:"/assets/js"})," and ",(0,n.jsx)(s.code,{children:"/assets/css"}),"."]}),"\n",(0,n.jsxs)(s.p,{children:['This code must first be "compiled" before it enters ',(0,n.jsx)(s.code,{children:"index.html"}),". Compiling, in this case, means that it will end up in the directory ",(0,n.jsx)(s.code,{children:"/assets/compiled"}),". If it is there, it will end up in a newly generated ",(0,n.jsx)(s.code,{children:"index.html"})," via the ",(0,n.jsx)(s.code,{children:"render"})," step. For rendering, see the admin section."]}),"\n",(0,n.jsx)(s.p,{children:"This is the command to compile:"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-bash",children:"gulp compile`\n"})}),"\n",(0,n.jsx)(s.p,{children:'So, if you have written client-side JavaScript or custom CSS, you need to take the following steps to get this code working (the "$" at the beginning is the command prompt, and you should not type it):'}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{children:"$ gulp compile\n"})}),"\n",(0,n.jsx)(s.p,{children:"Wait for the code to finish. Then:"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{children:"$ npm run render\n"})}),"\n",(0,n.jsxs)(s.p,{children:["Now, your ",(0,n.jsx)(s.code,{children:"index.html"})," file should be created or updated."]}),"\n",(0,n.jsx)(s.h3,{id:"gulp",children:"Gulp"}),"\n",(0,n.jsxs)(s.p,{children:["Of course, you can only use Gulp if you have it ",(0,n.jsx)(s.a,{href:"https://gulpjs.com/docs/en/getting-started/quick-start",children:"installed"}),"."]}),"\n",(0,n.jsx)(s.admonition,{type:"warning",children:(0,n.jsx)(s.p,{children:"If Gulp suddenly stops working even though it worked before, it could be because you are using NVM and have a different Node.js version active."})}),"\n",(0,n.jsx)(s.h3,{id:"adding-server-side-functionality",children:"Adding server-side functionality"}),"\n",(0,n.jsxs)(s.p,{children:["The Node.js scripts that run server-side are in the root of the Spec-Up-T repo and the ",(0,n.jsx)(s.code,{children:"/src/"})," directory."]}),"\n",(0,n.jsx)(s.p,{children:"How can you run and test Node.js code locally without publishing it on npm first?"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Clone the Spec-Up-T repo"}),"\n",(0,n.jsx)(s.li,{children:"Install a Spec-Up-T via the installer"}),"\n",(0,n.jsxs)(s.li,{children:["Run ",(0,n.jsx)(s.code,{children:"npm install"})," in the Spec-Up-T website that you installed via the installer"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Generally, if you now run ",(0,n.jsx)(s.code,{children:"npm run render,"})," it will call the scripts from the Spec-Up-T inside ",(0,n.jsx)(s.code,{children:"node_modules."})]}),"\n",(0,n.jsxs)(s.p,{children:["In the ",(0,n.jsx)(s.code,{children:"scripts"})," section of the ",(0,n.jsx)(s.code,{children:"package.json"})," file for your Spec-Up-T installation, you will find commands like this:"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-json",children:'"scripts": {\n "render": "node -e \\"require(\'spec-up-t\')({ nowatch: true })\\"",\n "xrefs": "node -e \\"require(\'spec-up-t/src/get-xrefs-data.js\').getXrefsData()\\""\n}\n'})}),"\n",(0,n.jsxs)(s.p,{children:["These are calls to the ",(0,n.jsx)(s.code,{children:"Spec-Up-T"})," library in ",(0,n.jsx)(s.code,{children:"node_modules"}),"."]}),"\n",(0,n.jsx)(s.p,{children:"However, we want to test locally. To do this, we will call the scripts from your local Spec-Up-T clone, where you are developing."}),"\n",(0,n.jsx)(s.p,{children:"Type this into your terminal:"}),"\n",(0,n.jsx)(s.admonition,{type:"warning",children:(0,n.jsx)(s.p,{children:"It is only tested on macOS."})}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-bash",children:"node -e \"require('/Users/***/path/to/your/spec-up-t/index.js')({ nowatch: true })\"\n"})}),"\n",(0,n.jsx)(s.p,{children:"or"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-bash",children:"node -e \"require('/Users/***/path/to/your/spec-up-t/spec-up-t/src/get-xrefs-data.js').getXrefsData()\"\n"})}),"\n",(0,n.jsx)(s.p,{children:"Adjust this based on what you need."}),"\n",(0,n.jsx)(s.h2,{id:"github-api",children:"Github API"}),"\n",(0,n.jsx)(s.h3,{id:"example-of-api-response",children:"Example of API response:"}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-json",children:"[\n {\n sha: '117b86fa676c0bd3030c16e8bbb87ebaa61af576',\n node_id: 'C_kwDOMi-o_toAKDExN2I4NmZhNjc2YzBiZDMwMzBjMTZlOGJiYjg3ZWJhYTYxYWY1NzY',\n commit: {\n author: [Object],\n committer: [Object],\n message: 'first commit',\n tree: [Object],\n url: 'https://api.github.com/repos/****/****/git/commits/117b86fa676c0bd3030c16e8bbb87ebaa61af576',\n comment_count: 0,\n verification: [Object]\n },\n url: 'https://api.github.com/repos/****/****/commits/117b86fa676c0bd3030c16e8bbb87ebaa61af576',\n html_url: 'https://github.com/****/****/commit/117b86fa676c0bd3030c16e8bbb87ebaa61af576',\n comments_url: 'https://api.github.com/repos/****/****/commits/117b86fa676c0bd3030c16e8bbb87ebaa61af576/comments',\n author: {\n login: '****',\n id: 0,\n node_id: '****',\n avatar_url: 'https://avatars.githubusercontent.com/u/****?v=4',\n gravatar_id: '',\n url: 'https://api.github.com/users/****',\n html_url: 'https://github.com/****',\n followers_url: 'https://api.github.com/users/****/followers',\n following_url: 'https://api.github.com/users/****/following{/other_user}',\n gists_url: 'https://api.github.com/users/****/gists{/gist_id}',\n starred_url: 'https://api.github.com/users/****/starred{/owner}{/repo}',\n subscriptions_url: 'https://api.github.com/users/****/subscriptions',\n organizations_url: 'https://api.github.com/users/****/orgs',\n repos_url: 'https://api.github.com/users/****/repos',\n events_url: 'https://api.github.com/users/****/events{/privacy}',\n received_events_url: 'https://api.github.com/users/****/received_events',\n type: 'User',\n site_admin: false\n },\n committer: {\n login: '****',\n id: 0,\n node_id: '****',\n avatar_url: 'https://avatars.githubusercontent.com/u/****?v=4',\n gravatar_id: '',\n url: 'https://api.github.com/users/****',\n html_url: 'https://github.com/****',\n followers_url: 'https://api.github.com/users/****/followers',\n following_url: 'https://api.github.com/users/****/following{/other_user}',\n gists_url: 'https://api.github.com/users/****/gists{/gist_id}',\n starred_url: 'https://api.github.com/users/****/starred{/owner}{/repo}',\n subscriptions_url: 'https://api.github.com/users/****/subscriptions',\n organizations_url: 'https://api.github.com/users/****/orgs',\n repos_url: 'https://api.github.com/users/****/repos',\n events_url: 'https://api.github.com/users/****/events{/privacy}',\n received_events_url: 'https://api.github.com/users/****/received_events',\n type: 'User',\n site_admin: false\n },\n parents: []\n }\n]\n\n"})})]})}function p(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,s,i)=>{i.d(s,{R:()=>o,x:()=>l});var n=i(6540);const t={},r=n.createContext(t);function o(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/36846233.3ffff24f.js b/assets/js/36846233.3ffff24f.js deleted file mode 100644 index 04db6b45..00000000 --- a/assets/js/36846233.3ffff24f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[4274],{5999:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var r=o(4848),n=o(8453);const i={},s=void 0,c={id:"various-roles/curators-guide/introduction",title:"introduction",description:"---",source:"@site/docs/various-roles/curators-guide/introduction.md",sourceDirName:"various-roles/curators-guide",slug:"/various-roles/curators-guide/introduction",permalink:"/spec-up-t-website/docs/various-roles/curators-guide/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/curators-guide/introduction.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Curators Guide",permalink:"/spec-up-t-website/docs/category/curators-guide"},next:{title:"Glossary Maintainers Guide",permalink:"/spec-up-t-website/docs/category/glossary-maintainers-guide"}},a={},u=[{value:"sidebar_position: 1",id:"sidebar_position-1",level:2}];function d(e){const t={h1:"h1",h2:"h2",hr:"hr",p:"p",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.hr,{}),"\n",(0,r.jsx)(t.h2,{id:"sidebar_position-1",children:"sidebar_position: 1"}),"\n",(0,r.jsx)(t.h1,{id:"curators-guide",children:"Curators Guide"}),"\n",(0,r.jsx)(t.p,{children:"Uses an IDE and git and browser extensions to check the overall content of a specification and logical consistency & meaning of term definition in a particular context."}),"\n",(0,r.jsx)(t.p,{children:"The curator uses browser extensions to harvest a personal collection of term definitions based on those recommended by the specification authors."}),"\n",(0,r.jsx)(t.p,{children:"A curator can:\nFork a Spec-Up-T repo to his/her user account on GitHub.com\nOptionally fetch and merge this repo to an IDE on a local computer.\nConfigure the user account to publish the GitHub pages generated by Spec-Up-T\nPush change to the user account of the curator to show the admin role\nOffer a PR with changes and compare them across forks."})]})}function l(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,t,o)=>{o.d(t,{R:()=>s,x:()=>c});var r=o(6540);const n={},i=r.createContext(n);function s(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/36846233.c37fef1a.js b/assets/js/36846233.c37fef1a.js new file mode 100644 index 00000000..920a822d --- /dev/null +++ b/assets/js/36846233.c37fef1a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[4274],{5999:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var n=o(4848),r=o(8453);const i={sidebar_position:1},s="Curators Guide",c={id:"various-roles/curators-guide/introduction",title:"Curators Guide",description:"Under construction",source:"@site/docs/various-roles/curators-guide/introduction.md",sourceDirName:"various-roles/curators-guide",slug:"/various-roles/curators-guide/introduction",permalink:"/spec-up-t-website/docs/various-roles/curators-guide/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/curators-guide/introduction.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Curators Guide",permalink:"/spec-up-t-website/docs/category/curators-guide"},next:{title:"Glossary Maintainers Guide",permalink:"/spec-up-t-website/docs/category/glossary-maintainers-guide"}},a={},u=[];function d(e){const t={admonition:"admonition",h1:"h1",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"curators-guide",children:"Curators Guide"}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:"Under construction"})}),"\n",(0,n.jsx)(t.p,{children:"Uses an IDE and git and browser extensions to check the overall content of a specification and logical consistency & meaning of term definition in a particular context."}),"\n",(0,n.jsx)(t.p,{children:"The curator uses browser extensions to harvest a personal collection of term definitions based on those recommended by the specification authors."}),"\n",(0,n.jsx)(t.p,{children:"A curator can:\nFork a Spec-Up-T repo to his/her user account on GitHub.com\nOptionally fetch and merge this repo to an IDE on a local computer.\nConfigure the user account to publish the GitHub pages generated by Spec-Up-T\nPush change to the user account of the curator to show the admin role\nOffer a PR with changes and compare them across forks."})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,t,o)=>{o.d(t,{R:()=>s,x:()=>c});var n=o(6540);const r={},i=n.createContext(r);function s(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/451344e5.2c43f157.js b/assets/js/451344e5.2c43f157.js new file mode 100644 index 00000000..4502815a --- /dev/null +++ b/assets/js/451344e5.2c43f157.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[4836],{7297:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>l,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var o=n(4848),i=n(8453);const s={sidebar_position:1},r="Content Authors Guide",c={id:"various-roles/content-authors-guide/introduction",title:"Content Authors Guide",description:"Under construction",source:"@site/docs/various-roles/content-authors-guide/introduction.md",sourceDirName:"various-roles/content-authors-guide",slug:"/various-roles/content-authors-guide/introduction",permalink:"/spec-up-t-website/docs/various-roles/content-authors-guide/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/content-authors-guide/introduction.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Content Authors Guide",permalink:"/spec-up-t-website/docs/category/content-authors-guide"},next:{title:"Terminology Author Guide",permalink:"/spec-up-t-website/docs/category/terminology-author-guide"}},u={},a=[];function d(t){const e={admonition:"admonition",h1:"h1",p:"p",...(0,i.R)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"content-authors-guide",children:"Content Authors Guide"}),"\n",(0,o.jsx)(e.admonition,{type:"warning",children:(0,o.jsx)(e.p,{children:"Under construction"})}),"\n",(0,o.jsx)(e.p,{children:"Uses: an IDE, git and a browser extension, to edit Spec-Up markdown files for his/her specific context (mental model) in a version managed environment, authenticated, to write the concept and specification and offer this as a PR."}),"\n",(0,o.jsx)(e.p,{children:"He/she uses browser extensions to check technical consistency of the links in the text and harvests a personal collection of term definitions."})]})}function l(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(d,{...t})}):d(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>c});var o=n(6540);const i={},s=o.createContext(i);function r(t){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:r(t.components),o.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/451344e5.6f3e8301.js b/assets/js/451344e5.6f3e8301.js deleted file mode 100644 index fa08c436..00000000 --- a/assets/js/451344e5.6f3e8301.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[4836],{7297:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>u});var o=n(4848),i=n(8453);const s={sidebar_position:1},r="Content Authors Guide",c={id:"various-roles/content-authors-guide/introduction",title:"Content Authors Guide",description:"Uses: an IDE, git and a browser extension, to edit Spec-Up markdown files for his/her specific context (mental model) in a version managed environment, authenticated, to write the concept and specification and offer this as a PR.",source:"@site/docs/various-roles/content-authors-guide/introduction.md",sourceDirName:"various-roles/content-authors-guide",slug:"/various-roles/content-authors-guide/introduction",permalink:"/spec-up-t-website/docs/various-roles/content-authors-guide/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/content-authors-guide/introduction.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Content Authors Guide",permalink:"/spec-up-t-website/docs/category/content-authors-guide"},next:{title:"Terminology Author Guide",permalink:"/spec-up-t-website/docs/category/terminology-author-guide"}},a={},u=[];function d(e){const t={h1:"h1",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"content-authors-guide",children:"Content Authors Guide"}),"\n",(0,o.jsx)(t.p,{children:"Uses: an IDE, git and a browser extension, to edit Spec-Up markdown files for his/her specific context (mental model) in a version managed environment, authenticated, to write the concept and specification and offer this as a PR."}),"\n",(0,o.jsx)(t.p,{children:"He/she uses browser extensions to check technical consistency of the links in the text and harvests a personal collection of term definitions."})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var o=n(6540);const i={},s=o.createContext(i);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4d95055f.78e2c969.js b/assets/js/4d95055f.82a871e2.js similarity index 58% rename from assets/js/4d95055f.78e2c969.js rename to assets/js/4d95055f.82a871e2.js index 3dd448c9..4345fb19 100644 --- a/assets/js/4d95055f.78e2c969.js +++ b/assets/js/4d95055f.82a871e2.js @@ -1 +1 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[6685],{8160:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Glossary Maintainers Guide","description":"Glossary Maintainers Guide.","slug":"/category/glossary-maintainers-guide","permalink":"/spec-up-t-website/docs/category/glossary-maintainers-guide","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"introduction","permalink":"/spec-up-t-website/docs/various-roles/curators-guide/introduction"},"next":{"title":"Glossary Maintainers Guide","permalink":"/spec-up-t-website/docs/various-roles/glossary-maintainers-guide/introduction"}}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[6685],{8160:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Glossary Maintainers Guide","description":"Glossary Maintainers Guide.","slug":"/category/glossary-maintainers-guide","permalink":"/spec-up-t-website/docs/category/glossary-maintainers-guide","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Curators Guide","permalink":"/spec-up-t-website/docs/various-roles/curators-guide/introduction"},"next":{"title":"Glossary Maintainers Guide","permalink":"/spec-up-t-website/docs/various-roles/glossary-maintainers-guide/introduction"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/cf57817a.127a6075.js b/assets/js/cf57817a.127a6075.js new file mode 100644 index 00000000..f653fe6f --- /dev/null +++ b/assets/js/cf57817a.127a6075.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[833],{7771:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var i=s(4848),t=s(8453);const r={sidebar_position:1},o="Glossary Maintainers Guide",a={id:"various-roles/glossary-maintainers-guide/introduction",title:"Glossary Maintainers Guide",description:"Under construction",source:"@site/docs/various-roles/glossary-maintainers-guide/introduction.md",sourceDirName:"various-roles/glossary-maintainers-guide",slug:"/various-roles/glossary-maintainers-guide/introduction",permalink:"/spec-up-t-website/docs/various-roles/glossary-maintainers-guide/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/glossary-maintainers-guide/introduction.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Glossary Maintainers Guide",permalink:"/spec-up-t-website/docs/category/glossary-maintainers-guide"},next:{title:"Readers Guide",permalink:"/spec-up-t-website/docs/category/readers-guide"}},c={},d=[];function u(e){const n={admonition:"admonition",h1:"h1",p:"p",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"glossary-maintainers-guide",children:"Glossary Maintainers Guide"}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"Under construction"})}),"\n",(0,i.jsx)(n.p,{children:"Uses: Source management tool."}),"\n",(0,i.jsx)(n.p,{children:"Reads and compares concepts in text and terminology in glossaries, (for example generated by Spec-Up) to use within his/hers \u201cown\u201d over-arching ToIP glossary."}),"\n",(0,i.jsx)(n.p,{children:"He/she builds as much consensus around terms and concepts and promotes using the ToIP glossary as reference material."})]})}function l(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(6540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cf57817a.fc22de99.js b/assets/js/cf57817a.fc22de99.js deleted file mode 100644 index 29e6e824..00000000 --- a/assets/js/cf57817a.fc22de99.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[833],{7771:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var t=n(4848),i=n(8453);const r={sidebar_position:1},o="Glossary Maintainers Guide",a={id:"various-roles/glossary-maintainers-guide/introduction",title:"Glossary Maintainers Guide",description:"Uses: Source management tool.",source:"@site/docs/various-roles/glossary-maintainers-guide/introduction.md",sourceDirName:"various-roles/glossary-maintainers-guide",slug:"/various-roles/glossary-maintainers-guide/introduction",permalink:"/spec-up-t-website/docs/various-roles/glossary-maintainers-guide/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/glossary-maintainers-guide/introduction.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Glossary Maintainers Guide",permalink:"/spec-up-t-website/docs/category/glossary-maintainers-guide"},next:{title:"Readers Guide",permalink:"/spec-up-t-website/docs/category/readers-guide"}},c={},u=[];function d(e){const s={h1:"h1",p:"p",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.h1,{id:"glossary-maintainers-guide",children:"Glossary Maintainers Guide"}),"\n",(0,t.jsx)(s.p,{children:"Uses: Source management tool."}),"\n",(0,t.jsx)(s.p,{children:"Reads and compares concepts in text and terminology in glossaries, (for example generated by Spec-Up) to use within his/hers \u201cown\u201d over-arching ToIP glossary."}),"\n",(0,t.jsx)(s.p,{children:"He/she builds as much consensus around terms and concepts and promotes using the ToIP glossary as reference material."})]})}function l(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,s,n)=>{n.d(s,{R:()=>o,x:()=>a});var t=n(6540);const i={},r=t.createContext(i);function o(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d20ae096.81295de9.js b/assets/js/d20ae096.81295de9.js deleted file mode 100644 index 1fa85fbf..00000000 --- a/assets/js/d20ae096.81295de9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[1122],{8419:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>r,default:()=>l,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var n=o(4848),i=o(8453);const s={sidebar_position:1},r="Terminology Authors Guide",c={id:"various-roles/terminology-authors-guide/introduction",title:"Terminology Authors Guide",description:"Focusses on term definitions covering concepts of the group he/she belongs to.",source:"@site/docs/various-roles/terminology-authors-guide/introduction.md",sourceDirName:"various-roles/terminology-authors-guide",slug:"/various-roles/terminology-authors-guide/introduction",permalink:"/spec-up-t-website/docs/various-roles/terminology-authors-guide/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/terminology-authors-guide/introduction.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Terminology Author Guide",permalink:"/spec-up-t-website/docs/category/terminology-author-guide"},next:{title:"Term References",permalink:"/spec-up-t-website/docs/various-roles/terminology-authors-guide/term-references"}},u={},a=[];function d(e){const t={h1:"h1",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"terminology-authors-guide",children:"Terminology Authors Guide"}),"\n",(0,n.jsx)(t.p,{children:"Focusses on term definitions covering concepts of the group he/she belongs to."}),"\n",(0,n.jsx)(t.p,{children:"Uses: an IDE, git and a browser extension, to edit Spec-Up markdown files for his/her specific context (mental model) in a version managed environment, authenticated, to write the concept and specification and offer this as a PR."}),"\n",(0,n.jsx)(t.p,{children:"He/she uses browser extensions to check technical consistency of the links in the text and harvests a personal collection of term definitions. Specification author terms that cover those concepts."})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>c});var n=o(6540);const i={},s=n.createContext(i);function r(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d20ae096.a8218849.js b/assets/js/d20ae096.a8218849.js new file mode 100644 index 00000000..fe28e7a5 --- /dev/null +++ b/assets/js/d20ae096.a8218849.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[1122],{8419:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>l,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var n=o(4848),i=o(8453);const r={sidebar_position:1},s="Terminology Authors Guide",c={id:"various-roles/terminology-authors-guide/introduction",title:"Terminology Authors Guide",description:"Under construction",source:"@site/docs/various-roles/terminology-authors-guide/introduction.md",sourceDirName:"various-roles/terminology-authors-guide",slug:"/various-roles/terminology-authors-guide/introduction",permalink:"/spec-up-t-website/docs/various-roles/terminology-authors-guide/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/terminology-authors-guide/introduction.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Terminology Author Guide",permalink:"/spec-up-t-website/docs/category/terminology-author-guide"},next:{title:"Term References",permalink:"/spec-up-t-website/docs/various-roles/terminology-authors-guide/term-references"}},u={},a=[];function d(e){const t={admonition:"admonition",h1:"h1",p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"terminology-authors-guide",children:"Terminology Authors Guide"}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:"Under construction"})}),"\n",(0,n.jsx)(t.p,{children:"Focusses on term definitions covering concepts of the group he/she belongs to."}),"\n",(0,n.jsx)(t.p,{children:"Uses: an IDE, git and a browser extension, to edit Spec-Up markdown files for his/her specific context (mental model) in a version managed environment, authenticated, to write the concept and specification and offer this as a PR."}),"\n",(0,n.jsx)(t.p,{children:"He/she uses browser extensions to check technical consistency of the links in the text and harvests a personal collection of term definitions. Specification author terms that cover those concepts."})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,t,o)=>{o.d(t,{R:()=>s,x:()=>c});var n=o(6540);const i={},r=n.createContext(i);function s(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dff1e1e9.52f64fbb.js b/assets/js/dff1e1e9.52f64fbb.js deleted file mode 100644 index ba629162..00000000 --- a/assets/js/dff1e1e9.52f64fbb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[8838],{2234:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>d,toc:()=>c});var s=i(4848),r=i(8453);const t={sidebar_position:3},o="General Guide",d={id:"various-roles/general-guide",title:"General Guide",description:"These are general instructions for every role involved.",source:"@site/docs/various-roles/general-guide.md",sourceDirName:"various-roles",slug:"/various-roles/general-guide",permalink:"/spec-up-t-website/docs/various-roles/general-guide",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/general-guide.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Technical skills needed",permalink:"/spec-up-t-website/docs/various-roles/technical-skills-needed"},next:{title:"Content Authors Guide",permalink:"/spec-up-t-website/docs/category/content-authors-guide"}},l={},c=[{value:"Test spec.json",id:"test-specjson",level:4},{value:"Look up xrefs",id:"look-up-xrefs",level:4},{value:"Create index.html",id:"create-indexhtml",level:4},{value:"You are ready",id:"you-are-ready",level:4},{value:"View your specification",id:"view-your-specification",level:4},{value:"Three different modes",id:"three-different-modes",level:4},{value:"Automation",id:"automation",level:4}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h4:"h4",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"general-guide",children:"General Guide"}),"\n",(0,s.jsx)(n.p,{children:"These are general instructions for every role involved."}),"\n",(0,s.jsx)(n.p,{children:"The following instructions should be entered into a terminal (command line):"}),"\n",(0,s.jsxs)(n.h4,{id:"test-specjson",children:["Test ",(0,s.jsx)(n.code,{children:"spec.json"})]}),"\n",(0,s.jsxs)(n.p,{children:["Once you have edited the ",(0,s.jsx)(n.code,{children:"spec.json,"})," you can test here to see if it is OK; that is, it checks whether each key is present. It does not check whether the value of the key meets specific rules:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm run validatespec\n"})}),"\n",(0,s.jsx)(n.p,{children:"If a key is missing you will get a notification about it."}),"\n",(0,s.jsx)(n.h4,{id:"look-up-xrefs",children:"Look up xrefs"}),"\n",(0,s.jsx)(n.p,{children:"Xrefs are [To Do: write explanation]"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm run xrefs\n"})}),"\n",(0,s.jsx)(n.p,{children:"Now, the references to external specs are generated, if any."}),"\n",(0,s.jsx)(n.h4,{id:"create-indexhtml",children:"Create index.html"}),"\n",(0,s.jsxs)(n.p,{children:["The final result will be just one file: ",(0,s.jsx)(n.code,{children:"index.html"}),". This file is rendered or re-rendered with the following command:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"npm run render\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Now, an index.html file is created in the ",(0,s.jsx)(n.code,{children:"docs"})," directory. This is the default directory specified in the ",(0,s.jsx)(n.code,{children:"specs.json"})," file."]}),"\n",(0,s.jsx)(n.h4,{id:"you-are-ready",children:"You are ready"}),"\n",(0,s.jsxs)(n.p,{children:["Now you have a basic Spec-Up-T specification file (",(0,s.jsx)(n.code,{children:"index.html"}),") with the following content:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["a ",(0,s.jsx)(n.code,{children:"specs.json"})," file"]}),"\n",(0,s.jsxs)(n.li,{children:["a ",(0,s.jsx)(n.code,{children:"spec/"})," directory with sample markdown files"]}),"\n",(0,s.jsxs)(n.li,{children:["a ",(0,s.jsx)(n.code,{children:"docs"})," directory with a sample index.html file"]}),"\n",(0,s.jsxs)(n.li,{children:["a ",(0,s.jsx)(n.code,{children:"node_modules"})," directory, a ",(0,s.jsx)(n.code,{children:"package.json"})," file, and a ",(0,s.jsx)(n.code,{children:"package-lock.json"})," file (these three elements belong to the ",(0,s.jsx)(n.code,{children:"npm"})," system)"]}),"\n"]}),"\n",(0,s.jsx)(n.h4,{id:"view-your-specification",children:"View your specification"}),"\n",(0,s.jsxs)(n.p,{children:["So the ",(0,s.jsx)(n.code,{children:"index.html"})," is the endresult. You should view it in a browser. There are two ways to do this:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["via ",(0,s.jsx)(n.code,{children:"http://"})]}),"\n",(0,s.jsxs)(n.li,{children:["via ",(0,s.jsx)(n.code,{children:"file:///"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["The simplest way to do so is via ",(0,s.jsx)(n.code,{children:"file:///"}),": go to the ",(0,s.jsx)(n.code,{children:"index.html"})," file with your Explorer, Finder, or other file manager, and double-click on it. Usually, it now opens in your browser."]}),"\n",(0,s.jsx)(n.p,{children:"If not, go to the browser and try to open the file from the browser menu."}),"\n",(0,s.jsxs)(n.p,{children:["This way, you open the ",(0,s.jsx)(n.code,{children:"index.html"})," file via the ",(0,s.jsx)(n.code,{children:"file protocol"})," (\u201c",(0,s.jsx)(n.code,{children:"file:///"}),"\u201d)."]}),"\n",(0,s.jsxs)(n.p,{children:["You can also access it via HTTP. You then need to place the ",(0,s.jsx)(n.code,{children:"index.html"})," file on a web server and access it through a browser using the URL under which the file is accessible."]}),"\n",(0,s.jsx)(n.p,{children:"This way, you can share it with the world by sharing the URL."}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"HTTP stands for HyperText Transfer Protocol. It is the foundation of any data exchange on the Web and a protocol for transmitting hypertext requests and information online. The World Wide Web uses HTTP and defines how messages are formatted and transmitted and how web servers and browsers should respond to various commands."})}),"\n",(0,s.jsx)(n.h4,{id:"three-different-modes",children:"Three different modes"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"npm run render"})," is not the only way to go. There are three different modes for rendering the specification:"]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"command"}),(0,s.jsx)(n.th,{children:"behavior"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"npm run edit"})}),(0,s.jsxs)(n.td,{children:["After rendering, this will stay running, and the ",(0,s.jsx)(n.code,{children:"gulp"})," library will watch the source files in your spec directory/ies for changes and re-render any time you save a file. Opening these rendered files in a browser and refreshing them will keep you up to date."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"npm run render"})}),(0,s.jsx)(n.td,{children:"This renders the site once and does not keep a gulpy watch on the underlying files."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"npm run dev"})}),(0,s.jsx)(n.td,{children:"this enables debugging features."})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"automation",children:"Automation"}),"\n",(0,s.jsxs)(n.p,{children:["The above scripts can easily be triggered by ",(0,s.jsx)(n.a,{href:"../glossary#github-actions",children:"github actions"}),". See ",(0,s.jsx)(n.a,{href:"https://github.com/decentralized-identity/spec-up/blob/master/.github/workflows/render-specs.yml",children:"this repo's example"})]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>d});var s=i(6540);const r={},t=s.createContext(r);function o(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dff1e1e9.6a113c6e.js b/assets/js/dff1e1e9.6a113c6e.js new file mode 100644 index 00000000..430ae1e8 --- /dev/null +++ b/assets/js/dff1e1e9.6a113c6e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[8838],{2234:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>h,frontMatter:()=>o,metadata:()=>d,toc:()=>l});var i=r(4848),s=r(8453);const o={sidebar_position:3},t="General Guide",d={id:"various-roles/general-guide",title:"General Guide",description:"These are general instructions. This is a temporary page; parts will be moved to other pages and assigned to the various roles.",source:"@site/docs/various-roles/general-guide.md",sourceDirName:"various-roles",slug:"/various-roles/general-guide",permalink:"/spec-up-t-website/docs/various-roles/general-guide",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/general-guide.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Technical skills needed",permalink:"/spec-up-t-website/docs/various-roles/technical-skills-needed"},next:{title:"Content Authors Guide",permalink:"/spec-up-t-website/docs/category/content-authors-guide"}},c={},l=[{value:"Create spec.json",id:"create--specjson",level:2},{value:"Test spec.json",id:"test-specjson",level:2},{value:"Look up xrefs",id:"look-up-xrefs",level:2},{value:"Remove xref",id:"remove-xref",level:2},{value:"Create index.html",id:"create-indexhtml",level:2},{value:"You are ready",id:"you-are-ready",level:2},{value:"View your specification",id:"view-your-specification",level:2},{value:"Three different modes",id:"three-different-modes",level:2},{value:"Automation",id:"automation",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"general-guide",children:"General Guide"}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"These are general instructions. This is a temporary page; parts will be moved to other pages and assigned to the various roles."})}),"\n",(0,i.jsxs)(n.h2,{id:"create--specjson",children:["Create ",(0,i.jsx)(n.code,{children:"spec.json"})]}),"\n",(0,i.jsxs)(n.p,{children:["The",(0,i.jsx)(n.code,{children:"specs.json"})," file ",(0,i.jsx)(n.strong,{children:"in the root folder of your repository"})," specifies configuration values used in the generation of your spec documents. The values in your ",(0,i.jsx)(n.code,{children:"specs.json"})," file include things like where your spec's markdown files are located, where to output the generated spec document, and various metadata values used in rendering, such as the title, logo, and repo links for each of your specs. The following are the required/optional fields supported in the ",(0,i.jsx)(n.code,{children:"specs.json"})," config file:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"public_root"})})," ",(0,i.jsx)(n.em,{children:"(PATH STRING, optional)"})," - For some platforms and services where you may want to output your rendered spec, the pathing may differ from the directory structure of your local project. To account for this, you can use the ",(0,i.jsx)(n.code,{children:"public_root"})," property to specify the insertion of a path segment to account for the difference in pathing between your local renders and wherever you publish your spec."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"specs"})})," ",(0,i.jsx)(n.em,{children:"(ARRAY, required)"})," - the ",(0,i.jsx)(n.code,{children:"specs"})," array contains descriptor objects for each of the specs you are generating in your project and are composed of the following required and optional properties:"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"spec_directory"})})," ",(0,i.jsx)(n.em,{children:"(STRING, required)"})," - You must specify the ",(0,i.jsx)(n.strong,{children:"repo-root-relative"})," location of your spec's markdown file directory. You ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.strong,{children:"MUST"})})," name your spec's markdown file ",(0,i.jsx)(n.code,{children:"spec.md"})," and locate it in your ",(0,i.jsx)(n.code,{children:"spec_directory"})," so the tool can automatically find and use it for rendering. If you want to use a different name for the markdown file, or you have multiple markdown files you would like the tool to assemble into one document, you must specify them using the optional",(0,i.jsx)(n.code,{children:"markdown_paths"}),' field described below. See the "multi-file" example in the spec-up repo.']}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"title"})})," ",(0,i.jsx)(n.em,{children:"(STRING, required)"})," - You must add a title for your spec, which will be rendered in the generated document's H1 text and page title."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"logo"})})," ",(0,i.jsx)(n.em,{children:"(PATH/URI STRING, optional)"})," - You may add a reference to a logo asset, either via a path to the asset or a URI"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"logo_link"})})," ",(0,i.jsx)(n.em,{children:"(URI STRING, optional)"})," - The URI you want your logo to point to on the rendered page."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"markdown_paths"})})," ",(0,i.jsx)(n.em,{children:"(ARRAY, optional)"})," - If you want to name your spec's markdown file something other than ",(0,i.jsx)(n.code,{children:"spec.md"}),", or you have multiple files you would like assembled into a single output document, you must specify their paths as array entries in the order you would like them assembled. The paths in this array are assumed to be based on the ",(0,i.jsx)(n.code,{children:"spec_directory"})," you specified, so ",(0,i.jsx)(n.em,{children:"DO NOT"})," repeat the full root relative path."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"katex"})})," ",(0,i.jsx)(n.em,{children:"(BOOLEAN, optional)"})," - To enable TeX support via KaTeX, set this property to ",(0,i.jsx)(n.code,{children:"true"}),". After rendering, be sure to copy the ",(0,i.jsx)(n.code,{children:"fonts/"})," subdirectory containing the necessary web fonts."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"output_path"})})," ",(0,i.jsx)(n.em,{children:"(STRING, optional)"})," - If you want the generated spec document to be output to a different location than the ",(0,i.jsx)(n.code,{children:"spec_directory"})," you specified (e.g. the project root for GitHub Pages publishing), you can specify another root relative path (use ",(0,i.jsx)(n.code,{children:"./"})," for root), and the tool will write the document file there instead."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"source"})})," ",(0,i.jsx)(n.em,{children:"(OBJECT, optional)"})," - this object allows you to configure where repo-specific data is pulled from to power some of the more advanced repo-related features. To do this, specify the code hosting service by adding a service ID string to ",(0,i.jsx)(n.code,{children:"host"})," (currently Spec-Up only supports ",(0,i.jsx)(n.code,{children:'"github"'}),", but this is extensible), add the account/org the repo is located within via the ",(0,i.jsx)(n.code,{children:"account"})," property, and add the repo name under the ",(0,i.jsx)(n.code,{children:"repo"})," property. Here is an example configuration:"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n"host": "github",\n"account": "decentralized-identity",\n"repo": "sidetree"\n}\n'})}),"\n",(0,i.jsx)(n.p,{children:"You're ready to start rendering specs as HTML sites locally and/or pushing them to github pages however you see fit to automate."}),"\n",(0,i.jsxs)(n.h2,{id:"test-specjson",children:["Test ",(0,i.jsx)(n.code,{children:"spec.json"})]}),"\n",(0,i.jsxs)(n.p,{children:["Once you have edited the ",(0,i.jsx)(n.code,{children:"spec.json,"})," you can test here to see if it is OK; that is, it checks whether each key is present. It does not check whether the value of the key meets specific rules:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npm run validatespec\n"})}),"\n",(0,i.jsx)(n.p,{children:"If a key is missing you will get a notification about it."}),"\n",(0,i.jsxs)(n.h2,{id:"look-up-xrefs",children:["Look up ",(0,i.jsx)(n.code,{children:"xrefs"})]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"xrefs"})," are references to external glossaries (specifications)."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npm run xrefs\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Now, the ",(0,i.jsx)(n.code,{children:"xref"})," is generated, if any."]}),"\n",(0,i.jsxs)(n.p,{children:["Every ",(0,i.jsx)(n.code,{children:"xref"})," is checked against a local data collection to see if there is already a reference. If so, it is left untouched. This way, every xref will point to the definition as it was created. If the external term changes in the meantime, the reference is still to the original version."]}),"\n",(0,i.jsxs)(n.h2,{id:"remove-xref",children:["Remove ",(0,i.jsx)(n.code,{children:"xref"})]}),"\n",(0,i.jsxs)(n.p,{children:["Removing an ",(0,i.jsx)(n.code,{children:"xref"})," from the text is something you'll do via the text editor. However, if you want to update the xref and make it point to the current version of the external reference, remove the current reference that might point to an older version:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:'npm run removexref -- "termValue" "externalSpecValue"\n'})}),"\n",(0,i.jsxs)(n.p,{children:["After that, you can run ",(0,i.jsx)(n.code,{children:"npm run xrefs"})," again to get the latest reference (that might be identical if the external reference did not change)."]}),"\n",(0,i.jsx)(n.h2,{id:"create-indexhtml",children:"Create index.html"}),"\n",(0,i.jsxs)(n.p,{children:["The final result will be just one file: ",(0,i.jsx)(n.code,{children:"index.html"}),". This file is rendered or re-rendered with the following command:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npm run render\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Now, an index.html file is created in the ",(0,i.jsx)(n.code,{children:"docs"})," directory. This is the default directory specified in the ",(0,i.jsx)(n.code,{children:"specs.json"})," file."]}),"\n",(0,i.jsx)(n.h2,{id:"you-are-ready",children:"You are ready"}),"\n",(0,i.jsxs)(n.p,{children:["Now you have a basic Spec-Up-T specification file (",(0,i.jsx)(n.code,{children:"index.html"}),") with the following content:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"specs.json"})," file"]}),"\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"spec/"})," directory with sample markdown files"]}),"\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"docs"})," directory with a sample index.html file"]}),"\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"node_modules"})," directory, a ",(0,i.jsx)(n.code,{children:"package.json"})," file, and a ",(0,i.jsx)(n.code,{children:"package-lock.json"})," file (these three elements belong to the ",(0,i.jsx)(n.code,{children:"npm"})," system)"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"view-your-specification",children:"View your specification"}),"\n",(0,i.jsxs)(n.p,{children:["So the ",(0,i.jsx)(n.code,{children:"index.html"})," is the endresult. You should view it in a browser. There are two ways to do this:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["via ",(0,i.jsx)(n.code,{children:"http://"})]}),"\n",(0,i.jsxs)(n.li,{children:["via ",(0,i.jsx)(n.code,{children:"file:///"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["The simplest way to do so is via ",(0,i.jsx)(n.code,{children:"file:///"}),": go to the ",(0,i.jsx)(n.code,{children:"index.html"})," file with your Explorer, Finder, or other file manager, and double-click on it. Usually, it now opens in your browser."]}),"\n",(0,i.jsx)(n.p,{children:"If not, go to the browser and try to open the file from the browser menu."}),"\n",(0,i.jsxs)(n.p,{children:["This way, you open the ",(0,i.jsx)(n.code,{children:"index.html"})," file via the ",(0,i.jsx)(n.code,{children:"file protocol"})," (\u201c",(0,i.jsx)(n.code,{children:"file:///"}),"\u201d)."]}),"\n",(0,i.jsxs)(n.p,{children:["You can also access it via HTTP. You then need to place the ",(0,i.jsx)(n.code,{children:"index.html"})," file on a web server and access it through a browser using the URL under which the file is accessible."]}),"\n",(0,i.jsx)(n.p,{children:"This way, you can share it with the world by sharing the URL."}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsx)(n.p,{children:"HTTP stands for HyperText Transfer Protocol. It is the foundation of any data exchange on the Web and a protocol for transmitting hypertext requests and information online. The World Wide Web uses HTTP and defines how messages are formatted and transmitted and how web servers and browsers should respond to various commands."})}),"\n",(0,i.jsx)(n.h2,{id:"three-different-modes",children:"Three different modes"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"npm run render"})," is not the only way to go. There are three different modes for rendering the specification:"]}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"command"}),(0,i.jsx)(n.th,{children:"behavior"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"npm run edit"})}),(0,i.jsxs)(n.td,{children:["After rendering, this will stay running, and the ",(0,i.jsx)(n.code,{children:"gulp"})," library will watch the source files in your spec directory/ies for changes and re-render any time you save a file. Opening these rendered files in a browser and refreshing them will keep you up to date."]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"npm run render"})}),(0,i.jsx)(n.td,{children:"This renders the site once and does not keep a gulpy watch on the underlying files."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:(0,i.jsx)(n.code,{children:"npm run dev"})}),(0,i.jsx)(n.td,{children:"this enables debugging features."})]})]})]}),"\n",(0,i.jsx)(n.h2,{id:"automation",children:"Automation"}),"\n",(0,i.jsxs)(n.p,{children:["The above scripts can easily be triggered by ",(0,i.jsx)(n.a,{href:"../glossary#github-actions",children:"github actions"}),". See ",(0,i.jsx)(n.a,{href:"https://github.com/decentralized-identity/spec-up/blob/master/.github/workflows/render-specs.yml",children:"this repo's example"})]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>d});var i=r(6540);const s={},o=i.createContext(s);function t(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e2c9a94b.131ae0f3.js b/assets/js/e2c9a94b.131ae0f3.js new file mode 100644 index 00000000..41825f1b --- /dev/null +++ b/assets/js/e2c9a94b.131ae0f3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[1070],{8294:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>a});var i=s(4848),t=s(8453);const o={sidebar_position:2},l="Admins Guide",r={id:"various-roles/admins-guide",title:"Admins Guide",description:"This is the admin guide for the Spec-Up-T system.",source:"@site/docs/various-roles/admins-guide.md",sourceDirName:"various-roles",slug:"/various-roles/admins-guide",permalink:"/spec-up-t-website/docs/various-roles/admins-guide",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/admins-guide.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Intro",permalink:"/spec-up-t-website/docs/various-roles/intro"},next:{title:"Technical skills needed",permalink:"/spec-up-t-website/docs/various-roles/technical-skills-needed"}},d={},a=[{value:"Installation",id:"installation",level:2},{value:"Short video",id:"short-video",level:3},{value:"Getting Started",id:"getting-started",level:3},{value:"What you'll need",id:"what-youll-need",level:3},{value:"Install a new site",id:"install-a-new-site",level:3},{value:"General info",id:"general-info",level:4},{value:"Install a new Spec-Up-T site",id:"install-a-new-spec-up-t-site",level:4},{value:"Go into the directory",id:"go-into-the-directory",level:4},{value:"Install all dependencies",id:"install-all-dependencies",level:4},{value:"Add repo to Github",id:"add-repo-to-github",level:4},{value:"Edit specs.json",id:"edit-specsjson",level:5},{value:"Push repo to GitHub",id:"push-repo-to-github",level:5}];function c(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"admins-guide",children:"Admins Guide"}),"\n",(0,i.jsx)(n.p,{children:"This is the admin guide for the Spec-Up-T system."}),"\n",(0,i.jsxs)(n.p,{children:["The repo can be found ",(0,i.jsx)(n.a,{href:"https://github.com/blockchainbird/spec-up-t",children:"here"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,i.jsx)(n.h3,{id:"short-video",children:"Short video"}),"\n",(0,i.jsxs)(n.p,{children:["Let's install ",(0,i.jsx)(n.strong,{children:"Spec-Up-T"}),". This short video shows the process."]}),"\n",(0,i.jsxs)("video",{controls:!0,children:[(0,i.jsx)("source",{src:s(6525).A,type:"video/mp4"}),(0,i.jsx)(n.p,{children:"Your browser does not support video tags."})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(8948).A+"",children:"Link to the video"})}),"\n",(0,i.jsx)(n.h3,{id:"getting-started",children:"Getting Started"}),"\n",(0,i.jsxs)(n.p,{children:["Now, let's do it ourselves. Get started by ",(0,i.jsx)(n.strong,{children:"creating a new site"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"what-youll-need",children:"What you'll need"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://nodejs.org/en/download/",children:"Node.js"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"When installing Node.js, you are recommended to check all checkboxes related to dependencies."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["A ",(0,i.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Web_browser",children:"webbrowser"}),". You are probably reading this in a browser, so you already have one."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"install-a-new-site",children:"Install a new site"}),"\n",(0,i.jsx)(n.h4,{id:"general-info",children:"General info"}),"\n",(0,i.jsx)(n.p,{children:"Installing Spec-Up-T works similarly to installing any other npm package. You install it locally (not globally), and then you run it."}),"\n",(0,i.jsx)(n.h4,{id:"install-a-new-spec-up-t-site",children:"Install a new Spec-Up-T site"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npx create-spec-up-t my-spec-up-t-website\n"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.em,{children:"my-spec-up-t-website"})," can be anything you want it to be (however, it is recommended to not use spaces or special characters in directory names)."]}),"\n",(0,i.jsx)(n.p,{children:"You can also omit the last part:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npx create-spec-up-t\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you omit ",(0,i.jsx)(n.code,{children:"my-spec-up-t-website"}),", a default directory name, namely ",(0,i.jsx)(n.code,{children:"spec-up-t-starterpack,"})," is used."]}),"\n",(0,i.jsx)(n.p,{children:"Sometimes, you want to force the latest version to be installed. Then you can do the following:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npx create-spec-up-t@latest my-spec-up-t-website\n"})}),"\n",(0,i.jsx)(n.p,{children:"You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor. It should work on any operating system (not tested yet)."}),"\n",(0,i.jsxs)(n.p,{children:["You should now have a directory called ",(0,i.jsx)(n.code,{children:"my-spec-up-t-website"})," (or ",(0,i.jsx)(n.code,{children:"spec-up-t-starterpack"})," if you did not specify a name)."]}),"\n",(0,i.jsx)(n.h4,{id:"go-into-the-directory",children:"Go into the directory"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Go into this directory (folder) that was just created:"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cd my-spec-up-t-website\n"})}),"\n",(0,i.jsx)(n.p,{children:"You are now in this directory."}),"\n",(0,i.jsx)(n.h4,{id:"install-all-dependencies",children:"Install all dependencies"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Install all dependencies:"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"npm run install\n"})}),"\n",(0,i.jsx)(n.p,{children:"It can take some time, and you should see multiple lines of output during installation."}),"\n",(0,i.jsx)(n.p,{children:"When the prompt is visible again, you should now have a basic Spec-Up-T install:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"specs.json"})," file"]}),"\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"spec/"})," directory with sample markdown files"]}),"\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"node_modules"})," directory, a ",(0,i.jsx)(n.code,{children:"package.json"})," file, and a ",(0,i.jsx)(n.code,{children:"package-lock.json"})," file (these three elements belong to the ",(0,i.jsx)(n.code,{children:"npm"})," system)"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"What you don't have yet is the following:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"docs"})," directory with a sample ",(0,i.jsx)(n.code,{children:"index.html"})," file (which is the actual specification file that is the goal of it all)."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["How to do this, go to the ",(0,i.jsx)(n.a,{href:"/spec-up-t-website/docs/various-roles/general-guide",children:"General Instructions"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"add-repo-to-github",children:"Add repo to Github"}),"\n",(0,i.jsx)(n.p,{children:"You should push your new specification (i.e. the sample content) to a GitHub repo."}),"\n",(0,i.jsx)(n.p,{children:"These are the steps to take:"}),"\n",(0,i.jsxs)(n.h5,{id:"edit-specsjson",children:["Edit ",(0,i.jsx)(n.code,{children:"specs.json"})]}),"\n",(0,i.jsxs)(n.p,{children:["Change this entry in ",(0,i.jsx)(n.code,{children:"specs.json"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'"source": {\n "host": "github",\n "account": "blockchainbird",\n "repo": "spec-up-t-starter-pack"\n }\n'})}),"\n",(0,i.jsx)(n.p,{children:"to the correct information:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'"source": {\n "host": "github",\n "account": "your-account",\n "repo": "your-repo"\n }\n'})}),"\n",(0,i.jsx)(n.p,{children:"These are the host (GitHub), your GitHub account name, and the repo name of the repo you are about to push."}),"\n",(0,i.jsx)(n.h5,{id:"push-repo-to-github",children:"Push repo to GitHub"}),"\n",(0,i.jsx)(n.p,{children:"Now, push the repo to GitHub. Use the command line or your preferred way to do this."})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8948:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/files/installer-spec-up-t-392cc74350811a36e6a9f89b426fa51b.mp4"},6525:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/medias/installer-spec-up-t-392cc74350811a36e6a9f89b426fa51b.mp4"},8453:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>r});var i=s(6540);const t={},o=i.createContext(t);function l(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e2c9a94b.ff55a273.js b/assets/js/e2c9a94b.ff55a273.js deleted file mode 100644 index 7985d0b5..00000000 --- a/assets/js/e2c9a94b.ff55a273.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[1070],{8294:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var i=s(4848),o=s(8453);const t={sidebar_position:2},r="Admins Guide",l={id:"various-roles/admins-guide",title:"Admins Guide",description:"This is the admin guide for the Spec-Up-T system.",source:"@site/docs/various-roles/admins-guide.md",sourceDirName:"various-roles",slug:"/various-roles/admins-guide",permalink:"/spec-up-t-website/docs/various-roles/admins-guide",draft:!1,unlisted:!1,editUrl:"https://github.com/blockchainbird/spec-up-t-website/tree/main/docs/various-roles/admins-guide.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Intro",permalink:"/spec-up-t-website/docs/various-roles/intro"},next:{title:"Technical skills needed",permalink:"/spec-up-t-website/docs/various-roles/technical-skills-needed"}},d={},c=[{value:"Installation",id:"installation",level:2},{value:"Short video",id:"short-video",level:3},{value:"Getting Started",id:"getting-started",level:3},{value:"What you'll need",id:"what-youll-need",level:3},{value:"Install a new site",id:"install-a-new-site",level:3},{value:"General info",id:"general-info",level:4},{value:"Install a new Spec-Up-T site",id:"install-a-new-spec-up-t-site",level:4},{value:"Go into the directory",id:"go-into-the-directory",level:4},{value:"Install all dependencies",id:"install-all-dependencies",level:4},{value:"More info",id:"more-info",level:3},{value:"The specs.json file",id:"the-specsjson-file",level:4}];function a(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"admins-guide",children:"Admins Guide"}),"\n",(0,i.jsx)(n.p,{children:"This is the admin guide for the Spec-Up-T system."}),"\n",(0,i.jsxs)(n.p,{children:["The repo can be found ",(0,i.jsx)(n.a,{href:"https://github.com/blockchainbird/spec-up-t",children:"here"})]}),"\n",(0,i.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,i.jsx)(n.h3,{id:"short-video",children:"Short video"}),"\n",(0,i.jsxs)(n.p,{children:["Let's install ",(0,i.jsx)(n.strong,{children:"Spec-Up-T"}),". This short video shows the process."]}),"\n",(0,i.jsxs)("video",{controls:!0,children:[(0,i.jsx)("source",{src:s(6525).A,type:"video/mp4"}),(0,i.jsx)(n.p,{children:"Your browser does not support video tags."})]}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(8948).A+"",children:"Link to the video"})}),"\n",(0,i.jsx)(n.h3,{id:"getting-started",children:"Getting Started"}),"\n",(0,i.jsxs)(n.p,{children:["Now, let's do it ourselves. Get started by ",(0,i.jsx)(n.strong,{children:"creating a new site"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"what-youll-need",children:"What you'll need"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://nodejs.org/en/download/",children:"Node.js"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"When installing Node.js, you are recommended to check all checkboxes related to dependencies."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["A ",(0,i.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Web_browser",children:"webbrowser"}),". You are probably reading this in a browser, so you already have one."]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"install-a-new-site",children:"Install a new site"}),"\n",(0,i.jsx)(n.h4,{id:"general-info",children:"General info"}),"\n",(0,i.jsx)(n.p,{children:"Installing Spec-Up-T works similarly to installing any other npm package. You install it locally (not globally), and then you run it."}),"\n",(0,i.jsx)(n.h4,{id:"install-a-new-spec-up-t-site",children:"Install a new Spec-Up-T site"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npx create-spec-up-t my-spec-up-t-website\n"})}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.em,{children:"my-spec-up-t-website"})," can be anything you want it to be (however, it is recommended to not use spaces or special characters in directory names)."]}),"\n",(0,i.jsx)(n.p,{children:"You can also omit the last part:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npx create-spec-up-t\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you omit ",(0,i.jsx)(n.code,{children:"my-spec-up-t-website"}),", a default directory name, namely ",(0,i.jsx)(n.code,{children:"spec-up-t-starterpack,"})," is used."]}),"\n",(0,i.jsx)(n.p,{children:"Sometimes, you want to force the latest version to be installed. Then you can do the following:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"npx create-spec-up-t@latest my-spec-up-t-website\n"})}),"\n",(0,i.jsx)(n.p,{children:"You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor. It should work on any operating system (not tested yet)."}),"\n",(0,i.jsxs)(n.p,{children:["You should now have a directory called ",(0,i.jsx)(n.code,{children:"my-spec-up-t-website"})," (or ",(0,i.jsx)(n.code,{children:"spec-up-t-starterpack"})," if you did not specify a name)."]}),"\n",(0,i.jsx)(n.h4,{id:"go-into-the-directory",children:"Go into the directory"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Go into this directory (folder) that was just created:"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"cd my-spec-up-t-website\n"})}),"\n",(0,i.jsx)(n.p,{children:"You are now in this directory."}),"\n",(0,i.jsx)(n.h4,{id:"install-all-dependencies",children:"Install all dependencies"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Install all dependencies:"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"npm run install\n"})}),"\n",(0,i.jsx)(n.p,{children:"It can take some time, and you should see multiple lines of output during installation."}),"\n",(0,i.jsx)(n.p,{children:"When the prompt is visible again, you should now have a basic Spec-Up-T install:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"specs.json"})," file"]}),"\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"spec/"})," directory with sample markdown files"]}),"\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"node_modules"})," directory, a ",(0,i.jsx)(n.code,{children:"package.json"})," file, and a ",(0,i.jsx)(n.code,{children:"package-lock.json"})," file (these three elements belong to the ",(0,i.jsx)(n.code,{children:"npm"})," system)"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"What you don't have yet is the following:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["a ",(0,i.jsx)(n.code,{children:"docs"})," directory with a sample ",(0,i.jsx)(n.code,{children:"index.html"})," file (which is the actual specification file that is the goal of it all)."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["How to do this, go to the ",(0,i.jsx)(n.a,{href:"/spec-up-t-website/docs/various-roles/general-guide",children:"General Instructions"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"more-info",children:"More info"}),"\n",(0,i.jsxs)(n.h4,{id:"the-specsjson-file",children:["The ",(0,i.jsx)(n.code,{children:"specs.json"})," file"]}),"\n",(0,i.jsxs)(n.p,{children:["The",(0,i.jsx)(n.code,{children:"specs.json"})," file ",(0,i.jsx)(n.strong,{children:"in the root folder of your repository"})," specifies configuration values used in the generation of your spec documents. The values in your ",(0,i.jsx)(n.code,{children:"specs.json"})," file include things like where your spec's markdown files are located, where to output the generated spec document, and various metadata values used in rendering, such as the title, logo, and repo links for each of your specs. The following are the required/optional fields supported in the ",(0,i.jsx)(n.code,{children:"specs.json"})," config file:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"public_root"})})," ",(0,i.jsx)(n.em,{children:"(PATH STRING, optional)"})," - For some platforms and services where you may want to output your rendered spec, the pathing may differ from the directory structure of your local project. To account for this, you can use the ",(0,i.jsx)(n.code,{children:"public_root"})," property to specify the insertion of a path segment to account for the difference in pathing between your local renders and wherever you publish your spec."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"specs"})})," ",(0,i.jsx)(n.em,{children:"(ARRAY, required)"})," - the ",(0,i.jsx)(n.code,{children:"specs"})," array contains descriptor objects for each of the specs you are generating in your project and are composed of the following required and optional properties:"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"spec_directory"})})," ",(0,i.jsx)(n.em,{children:"(STRING, required)"})," - You must specify the ",(0,i.jsx)(n.strong,{children:"repo-root-relative"})," location of your spec's markdown file directory. You ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.strong,{children:"MUST"})})," name your spec's markdown file ",(0,i.jsx)(n.code,{children:"spec.md"})," and locate it in your ",(0,i.jsx)(n.code,{children:"spec_directory"})," so the tool can automatically find and use it for rendering. If you want to use a different name for the markdown file, or you have multiple markdown files you would like the tool to assemble into one document, you must specify them using the optional",(0,i.jsx)(n.code,{children:"markdown_paths"}),' field described below. See the "multi-file" example in the spec-up repo.']}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"title"})})," ",(0,i.jsx)(n.em,{children:"(STRING, required)"})," - You must add a title for your spec, which will be rendered in the generated document's H1 text and page title."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"logo"})})," ",(0,i.jsx)(n.em,{children:"(PATH/URI STRING, optional)"})," - You may add a reference to a logo asset, either via a path to the asset or a URI"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"logo_link"})})," ",(0,i.jsx)(n.em,{children:"(URI STRING, optional)"})," - The URI you want your logo to point to on the rendered page."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"markdown_paths"})})," ",(0,i.jsx)(n.em,{children:"(ARRAY, optional)"})," - If you want to name your spec's markdown file something other than ",(0,i.jsx)(n.code,{children:"spec.md"}),", or you have multiple files you would like assembled into a single output document, you must specify their paths as array entries in the order you would like them assembled. The paths in this array are assumed to be based on the ",(0,i.jsx)(n.code,{children:"spec_directory"})," you specified, so ",(0,i.jsx)(n.em,{children:"DO NOT"})," repeat the full root relative path."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"katex"})})," ",(0,i.jsx)(n.em,{children:"(BOOLEAN, optional)"})," - To enable TeX support via KaTeX, set this property to ",(0,i.jsx)(n.code,{children:"true"}),". After rendering, be sure to copy the ",(0,i.jsx)(n.code,{children:"fonts/"})," subdirectory containing the necessary web fonts."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"output_path"})})," ",(0,i.jsx)(n.em,{children:"(STRING, optional)"})," - If you want the generated spec document to be output to a different location than the ",(0,i.jsx)(n.code,{children:"spec_directory"})," you specified (e.g. the project root for GitHub Pages publishing), you can specify another root relative path (use ",(0,i.jsx)(n.code,{children:"./"})," for root), and the tool will write the document file there instead."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.code,{children:"source"})})," ",(0,i.jsx)(n.em,{children:"(OBJECT, optional)"})," - this object allows you to configure where repo-specific data is pulled from to power some of the more advanced repo-related features. To do this, specify the code hosting service by adding a service ID string to ",(0,i.jsx)(n.code,{children:"host"})," (currently Spec-Up only supports ",(0,i.jsx)(n.code,{children:'"github"'}),", but this is extensible), add the account/org the repo is located within via the ",(0,i.jsx)(n.code,{children:"account"})," property, and add the repo name under the ",(0,i.jsx)(n.code,{children:"repo"})," property. Here is an example configuration:"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:'{\n"host": "github",\n"account": "decentralized-identity",\n"repo": "sidetree"\n}\n'})}),"\n",(0,i.jsx)(n.p,{children:"You're ready to start rendering specs as HTML sites locally and/or pushing them to github pages however you see fit to automate."})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},8948:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/files/installer-spec-up-t-392cc74350811a36e6a9f89b426fa51b.mp4"},6525:(e,n,s)=>{s.d(n,{A:()=>i});const i=s.p+"assets/medias/installer-spec-up-t-392cc74350811a36e6a9f89b426fa51b.mp4"},8453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>l});var i=s(6540);const o={},t=i.createContext(o);function r(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f049f840.82d3d5ba.js b/assets/js/f049f840.82d3d5ba.js new file mode 100644 index 00000000..a962a324 --- /dev/null +++ b/assets/js/f049f840.82d3d5ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[6418],{483:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/spec-up-t-website/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Roles","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Intro","href":"/spec-up-t-website/docs/various-roles/intro","docId":"various-roles/intro","unlisted":false},{"type":"link","label":"Admins Guide","href":"/spec-up-t-website/docs/various-roles/admins-guide","docId":"various-roles/admins-guide","unlisted":false},{"type":"link","label":"Technical skills needed","href":"/spec-up-t-website/docs/various-roles/technical-skills-needed","docId":"various-roles/technical-skills-needed","unlisted":false},{"type":"link","label":"General Guide","href":"/spec-up-t-website/docs/various-roles/general-guide","docId":"various-roles/general-guide","unlisted":false},{"type":"category","label":"Content Authors Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Content Authors Guide","href":"/spec-up-t-website/docs/various-roles/content-authors-guide/introduction","docId":"various-roles/content-authors-guide/introduction","unlisted":false}],"href":"/spec-up-t-website/docs/category/content-authors-guide"},{"type":"category","label":"Terminology Author Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Terminology Authors Guide","href":"/spec-up-t-website/docs/various-roles/terminology-authors-guide/introduction","docId":"various-roles/terminology-authors-guide/introduction","unlisted":false},{"type":"link","label":"Term References","href":"/spec-up-t-website/docs/various-roles/terminology-authors-guide/term-references","docId":"various-roles/terminology-authors-guide/term-references","unlisted":false},{"type":"link","label":"External Term References","href":"/spec-up-t-website/docs/various-roles/terminology-authors-guide/external-term-references","docId":"various-roles/terminology-authors-guide/external-term-references","unlisted":false}],"href":"/spec-up-t-website/docs/category/terminology-author-guide"},{"type":"category","label":"Curators Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Curators Guide","href":"/spec-up-t-website/docs/various-roles/curators-guide/introduction","docId":"various-roles/curators-guide/introduction","unlisted":false}],"href":"/spec-up-t-website/docs/category/curators-guide"},{"type":"category","label":"Glossary Maintainers Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Glossary Maintainers Guide","href":"/spec-up-t-website/docs/various-roles/glossary-maintainers-guide/introduction","docId":"various-roles/glossary-maintainers-guide/introduction","unlisted":false}],"href":"/spec-up-t-website/docs/category/glossary-maintainers-guide"},{"type":"category","label":"Readers Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Readers Guide","href":"/spec-up-t-website/docs/various-roles/readers-guide/introduction","docId":"various-roles/readers-guide/introduction","unlisted":false}],"href":"/spec-up-t-website/docs/category/readers-guide"},{"type":"link","label":"Developers Guide","href":"/spec-up-t-website/docs/various-roles/developers-guide","docId":"various-roles/developers-guide","unlisted":false}],"href":"/spec-up-t-website/docs/category/roles"},{"type":"link","label":"Spec-Up-T demo","href":"/spec-up-t-website/docs/spec-up-t-demo-site","docId":"spec-up-t-demo-site","unlisted":false},{"type":"link","label":"How it came to be","href":"/spec-up-t-website/docs/how-it-came-to-be","docId":"how-it-came-to-be","unlisted":false},{"type":"link","label":"Q & A","href":"/spec-up-t-website/docs/q-and-a","docId":"q-and-a","unlisted":false},{"type":"link","label":"Maintaining this site","href":"/spec-up-t-website/docs/this-site-maintainers","docId":"this-site-maintainers","unlisted":false},{"type":"link","label":"Glossary","href":"/spec-up-t-website/docs/glossary","docId":"glossary","unlisted":false},{"type":"link","label":"Troubleshooting","href":"/spec-up-t-website/docs/troubleshooting","docId":"troubleshooting","unlisted":false}]},"docs":{"glossary":{"id":"glossary","title":"Glossary","description":"This is a glossary with some terms that you need to know in order to understand working with Spec-Up-T.","sidebar":"tutorialSidebar"},"how-it-came-to-be":{"id":"how-it-came-to-be","title":"How it came to be","description":"The ToIP Terms extension of Spec-Up","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Introduction","description":"Intro","sidebar":"tutorialSidebar"},"q-and-a":{"id":"q-and-a","title":"Q & A","description":"Questions and answers about Spec-Up-T.","sidebar":"tutorialSidebar"},"spec-up-t-demo-site":{"id":"spec-up-t-demo-site","title":"Spec-Up-T demo","description":"The Demo","sidebar":"tutorialSidebar"},"this-site-maintainers":{"id":"this-site-maintainers","title":"Maintaining this site","description":"Here you will find information about things specific to this site.","sidebar":"tutorialSidebar"},"troubleshooting":{"id":"troubleshooting","title":"Troubleshooting","description":"Some tips in case of problems:","sidebar":"tutorialSidebar"},"various-roles/admins-guide":{"id":"various-roles/admins-guide","title":"Admins Guide","description":"This is the admin guide for the Spec-Up-T system.","sidebar":"tutorialSidebar"},"various-roles/content-authors-guide/introduction":{"id":"various-roles/content-authors-guide/introduction","title":"Content Authors Guide","description":"Under construction","sidebar":"tutorialSidebar"},"various-roles/curators-guide/introduction":{"id":"various-roles/curators-guide/introduction","title":"Curators Guide","description":"Under construction","sidebar":"tutorialSidebar"},"various-roles/developers-guide":{"id":"various-roles/developers-guide","title":"Developers Guide","description":"This page is the developer\'s guide for the Spec-Up-T system.","sidebar":"tutorialSidebar"},"various-roles/general-guide":{"id":"various-roles/general-guide","title":"General Guide","description":"These are general instructions. This is a temporary page; parts will be moved to other pages and assigned to the various roles.","sidebar":"tutorialSidebar"},"various-roles/glossary-maintainers-guide/introduction":{"id":"various-roles/glossary-maintainers-guide/introduction","title":"Glossary Maintainers Guide","description":"Under construction","sidebar":"tutorialSidebar"},"various-roles/intro":{"id":"various-roles/intro","title":"Intro","description":"Spec-Up-T implementations can distinguish the following roles:","sidebar":"tutorialSidebar"},"various-roles/readers-guide/introduction":{"id":"various-roles/readers-guide/introduction","title":"Readers Guide","description":"Under construction","sidebar":"tutorialSidebar"},"various-roles/technical-skills-needed":{"id":"various-roles/technical-skills-needed","title":"Technical skills needed","description":"Spec-Up-T is a specialized tool designed to facilitate the creation, management, and rendering of technical specifications in a streamlined manner. Users who intend to leverage Spec-Up-T for their projects must possess a foundational level of technical knowledge to navigate the installation, configuration, and utilization of this tool effectively. This article delves into the technical prerequisites necessary for a user to operate Spec-Up-T competently.","sidebar":"tutorialSidebar"},"various-roles/terminology-authors-guide/external-term-references":{"id":"various-roles/terminology-authors-guide/external-term-references","title":"External Term References","description":"It is possible to include references to terms from external spec-up generated specifications. To include a source you would like to pull references from include an external_specs array in your spec config. The value should be a key/value object where the key is used in the external reference below and the value is the URL of the external spec.","sidebar":"tutorialSidebar"},"various-roles/terminology-authors-guide/introduction":{"id":"various-roles/terminology-authors-guide/introduction","title":"Terminology Authors Guide","description":"Under construction","sidebar":"tutorialSidebar"},"various-roles/terminology-authors-guide/term-references":{"id":"various-roles/terminology-authors-guide/term-references","title":"Term References","description":"Definition Lists","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/f049f840.cd5a2d4e.js b/assets/js/f049f840.cd5a2d4e.js deleted file mode 100644 index 6739b714..00000000 --- a/assets/js/f049f840.cd5a2d4e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[6418],{483:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/spec-up-t-website/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Roles","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Intro","href":"/spec-up-t-website/docs/various-roles/intro","docId":"various-roles/intro","unlisted":false},{"type":"link","label":"Admins Guide","href":"/spec-up-t-website/docs/various-roles/admins-guide","docId":"various-roles/admins-guide","unlisted":false},{"type":"link","label":"Technical skills needed","href":"/spec-up-t-website/docs/various-roles/technical-skills-needed","docId":"various-roles/technical-skills-needed","unlisted":false},{"type":"link","label":"General Guide","href":"/spec-up-t-website/docs/various-roles/general-guide","docId":"various-roles/general-guide","unlisted":false},{"type":"category","label":"Content Authors Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Content Authors Guide","href":"/spec-up-t-website/docs/various-roles/content-authors-guide/introduction","docId":"various-roles/content-authors-guide/introduction","unlisted":false}],"href":"/spec-up-t-website/docs/category/content-authors-guide"},{"type":"category","label":"Terminology Author Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Terminology Authors Guide","href":"/spec-up-t-website/docs/various-roles/terminology-authors-guide/introduction","docId":"various-roles/terminology-authors-guide/introduction","unlisted":false},{"type":"link","label":"Term References","href":"/spec-up-t-website/docs/various-roles/terminology-authors-guide/term-references","docId":"various-roles/terminology-authors-guide/term-references","unlisted":false},{"type":"link","label":"External Term References","href":"/spec-up-t-website/docs/various-roles/terminology-authors-guide/external-term-references","docId":"various-roles/terminology-authors-guide/external-term-references","unlisted":false}],"href":"/spec-up-t-website/docs/category/terminology-author-guide"},{"type":"category","label":"Curators Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"introduction","href":"/spec-up-t-website/docs/various-roles/curators-guide/introduction","docId":"various-roles/curators-guide/introduction","unlisted":false}],"href":"/spec-up-t-website/docs/category/curators-guide"},{"type":"category","label":"Glossary Maintainers Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Glossary Maintainers Guide","href":"/spec-up-t-website/docs/various-roles/glossary-maintainers-guide/introduction","docId":"various-roles/glossary-maintainers-guide/introduction","unlisted":false}],"href":"/spec-up-t-website/docs/category/glossary-maintainers-guide"},{"type":"category","label":"Readers Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Readers Guide","href":"/spec-up-t-website/docs/various-roles/readers-guide/introduction","docId":"various-roles/readers-guide/introduction","unlisted":false}],"href":"/spec-up-t-website/docs/category/readers-guide"},{"type":"link","label":"Developers Guide","href":"/spec-up-t-website/docs/various-roles/developers-guide","docId":"various-roles/developers-guide","unlisted":false}],"href":"/spec-up-t-website/docs/category/roles"},{"type":"link","label":"Spec-Up-T demo","href":"/spec-up-t-website/docs/spec-up-t-demo-site","docId":"spec-up-t-demo-site","unlisted":false},{"type":"link","label":"How it came to be","href":"/spec-up-t-website/docs/how-it-came-to-be","docId":"how-it-came-to-be","unlisted":false},{"type":"link","label":"Q & A","href":"/spec-up-t-website/docs/q-and-a","docId":"q-and-a","unlisted":false},{"type":"link","label":"Maintaining this site","href":"/spec-up-t-website/docs/this-site-maintainers","docId":"this-site-maintainers","unlisted":false},{"type":"link","label":"Glossary","href":"/spec-up-t-website/docs/glossary","docId":"glossary","unlisted":false},{"type":"link","label":"Troubleshooting","href":"/spec-up-t-website/docs/troubleshooting","docId":"troubleshooting","unlisted":false}]},"docs":{"glossary":{"id":"glossary","title":"Glossary","description":"This is a glossary with some terms that you need to know in order to understand working with Spec-Up-T.","sidebar":"tutorialSidebar"},"how-it-came-to-be":{"id":"how-it-came-to-be","title":"How it came to be","description":"The ToIP Terms extension of Spec-Up","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Introduction","description":"Intro","sidebar":"tutorialSidebar"},"q-and-a":{"id":"q-and-a","title":"Q & A","description":"Questions and answers about Spec-Up-T.","sidebar":"tutorialSidebar"},"spec-up-t-demo-site":{"id":"spec-up-t-demo-site","title":"Spec-Up-T demo","description":"The Demo","sidebar":"tutorialSidebar"},"this-site-maintainers":{"id":"this-site-maintainers","title":"Maintaining this site","description":"Here you will find information about things specific to this site.","sidebar":"tutorialSidebar"},"troubleshooting":{"id":"troubleshooting","title":"Troubleshooting","description":"Some tips in case of problems:","sidebar":"tutorialSidebar"},"various-roles/admins-guide":{"id":"various-roles/admins-guide","title":"Admins Guide","description":"This is the admin guide for the Spec-Up-T system.","sidebar":"tutorialSidebar"},"various-roles/content-authors-guide/introduction":{"id":"various-roles/content-authors-guide/introduction","title":"Content Authors Guide","description":"Uses: an IDE, git and a browser extension, to edit Spec-Up markdown files for his/her specific context (mental model) in a version managed environment, authenticated, to write the concept and specification and offer this as a PR.","sidebar":"tutorialSidebar"},"various-roles/curators-guide/introduction":{"id":"various-roles/curators-guide/introduction","title":"introduction","description":"---","sidebar":"tutorialSidebar"},"various-roles/developers-guide":{"id":"various-roles/developers-guide","title":"Developers Guide","description":"This page is the developer\'s guide for the Spec-Up-T system.","sidebar":"tutorialSidebar"},"various-roles/general-guide":{"id":"various-roles/general-guide","title":"General Guide","description":"These are general instructions for every role involved.","sidebar":"tutorialSidebar"},"various-roles/glossary-maintainers-guide/introduction":{"id":"various-roles/glossary-maintainers-guide/introduction","title":"Glossary Maintainers Guide","description":"Uses: Source management tool.","sidebar":"tutorialSidebar"},"various-roles/intro":{"id":"various-roles/intro","title":"Intro","description":"Spec-Up-T implementations can distinguish the following roles:","sidebar":"tutorialSidebar"},"various-roles/readers-guide/introduction":{"id":"various-roles/readers-guide/introduction","title":"Readers Guide","description":"Uses github.io website, reads concepts in text and terminology in glossaries, (for example generated by Spec-Up) with its own tailor-made contextual glossary that generates pop-ups here and there in the text offered.","sidebar":"tutorialSidebar"},"various-roles/technical-skills-needed":{"id":"various-roles/technical-skills-needed","title":"Technical skills needed","description":"Spec-Up-T is a specialized tool designed to facilitate the creation, management, and rendering of technical specifications in a streamlined manner. Users who intend to leverage Spec-Up-T for their projects must possess a foundational level of technical knowledge to navigate the installation, configuration, and utilization of this tool effectively. This article delves into the technical prerequisites necessary for a user to operate Spec-Up-T competently.","sidebar":"tutorialSidebar"},"various-roles/terminology-authors-guide/external-term-references":{"id":"various-roles/terminology-authors-guide/external-term-references","title":"External Term References","description":"It is possible to include references to terms from external spec-up generated specifications. To include a source you would like to pull references from include an external_specs array in your spec config. The value should be a key/value object where the key is used in the external reference below and the value is the URL of the external spec.","sidebar":"tutorialSidebar"},"various-roles/terminology-authors-guide/introduction":{"id":"various-roles/terminology-authors-guide/introduction","title":"Terminology Authors Guide","description":"Focusses on term definitions covering concepts of the group he/she belongs to.","sidebar":"tutorialSidebar"},"various-roles/terminology-authors-guide/term-references":{"id":"various-roles/terminology-authors-guide/term-references","title":"Term References","description":"Definition Lists","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/main.c3d7ccc2.js b/assets/js/main.362bb374.js similarity index 99% rename from assets/js/main.c3d7ccc2.js rename to assets/js/main.362bb374.js index 7e4b8abf..7ff68bca 100644 --- a/assets/js/main.c3d7ccc2.js +++ b/assets/js/main.362bb374.js @@ -1,2 +1,2 @@ -/*! For license information please see main.c3d7ccc2.js.LICENSE.txt */ -(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[8792],{5391:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;to});const o=function(){for(var e,t,n=0,o="";n{"use strict";n.d(t,{A:()=>p});n(6540);var r=n(3259),o=n.n(r),a=n(4054);const i={"03c01b4d":[()=>n.e(5920).then(n.bind(n,1433)),"@site/docs/various-roles/readers-guide/introduction.md",1433],"08e3fca0":[()=>n.e(9561).then(n.t.bind(n,9477,19)),"@generated/docusaurus-plugin-content-docs/default/p/spec-up-t-website-docs-category-curators-guide-5e7.json",9477],"0e384e19":[()=>n.e(3976).then(n.bind(n,619)),"@site/docs/intro.md",619],"138e0e15":[()=>n.e(4921).then(n.t.bind(n,1597,19)),"@generated/@easyops-cn/docusaurus-search-local/default/__plugin.json",1597],"14eb3368":[()=>Promise.all([n.e(1869),n.e(6969)]).then(n.bind(n,4136)),"@theme/DocCategoryGeneratedIndexPage",4136],"166ee7c9":[()=>n.e(8865).then(n.t.bind(n,7805,19)),"@generated/docusaurus-plugin-content-blog/default/p/spec-up-t-website-blog-3d8.json",7805],17896441:[()=>Promise.all([n.e(1869),n.e(8498),n.e(8401)]).then(n.bind(n,6011)),"@theme/DocItem",6011],"1a4e3797":[()=>Promise.all([n.e(1869),n.e(2138)]).then(n.bind(n,5099)),"@theme/SearchPage",5099],"1f391b9e":[()=>Promise.all([n.e(1869),n.e(8498),n.e(6061)]).then(n.bind(n,7973)),"@theme/MDXPage",7973],20692867:[()=>n.e(881).then(n.bind(n,14)),"@site/docs/various-roles/terminology-authors-guide/external-term-references.md",14],"2be7da73":[()=>n.e(4192).then(n.bind(n,8232)),"@site/docs/q-and-a.md",8232],"30c1de03":[()=>n.e(996).then(n.bind(n,3169)),"@site/docs/various-roles/developers-guide.md",3169],36846233:[()=>n.e(4274).then(n.bind(n,5999)),"@site/docs/various-roles/curators-guide/introduction.md",5999],"36994c47":[()=>n.e(9858).then(n.t.bind(n,5516,19)),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",5516],"393be207":[()=>n.e(4134).then(n.bind(n,633)),"@site/src/pages/markdown-page.md",633],"3e8d065b":[()=>n.e(6548).then(n.t.bind(n,54,19)),"@generated/docusaurus-plugin-content-docs/default/p/spec-up-t-website-docs-category-content-authors-guide-1e5.json",54],"451344e5":[()=>n.e(4836).then(n.bind(n,7297)),"@site/docs/various-roles/content-authors-guide/introduction.md",7297],"4741e212":[()=>n.e(4481).then(n.t.bind(n,7315,19)),"@generated/docusaurus-plugin-content-docs/default/p/spec-up-t-website-docs-category-terminology-author-guide-db3.json",7315],"4d95055f":[()=>n.e(6685).then(n.t.bind(n,8160,19)),"@generated/docusaurus-plugin-content-docs/default/p/spec-up-t-website-docs-category-glossary-maintainers-guide-74b.json",8160],"53ef7a94":[()=>n.e(9121).then(n.bind(n,4421)),"@site/docs/various-roles/intro.md",4421],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"680248e1":[()=>n.e(4345).then(n.t.bind(n,2122,19)),"@generated/docusaurus-plugin-content-docs/default/p/spec-up-t-website-docs-category-readers-guide-51a.json",2122],"738e0f00":[()=>n.e(2422).then(n.bind(n,2544)),"@site/blog/2024-06-15-welcome/index.md",2544],"7e7aa536":[()=>n.e(130).then(n.bind(n,4661)),"@site/docs/various-roles/technical-skills-needed.md",4661],"814f3328":[()=>n.e(7472).then(n.t.bind(n,5513,19)),"~blog/default/blog-post-list-prop-default.json",5513],"84de3d6b":[()=>n.e(9151).then(n.bind(n,3200)),"@site/docs/various-roles/terminology-authors-guide/term-references.md",3200],"9428579a":[()=>n.e(4167).then(n.bind(n,7879)),"@site/docs/this-site-maintainers.md",7879],"9b0396f8":[()=>n.e(1078).then(n.t.bind(n,5196,19)),"@generated/docusaurus-plugin-content-docs/default/p/spec-up-t-website-docs-category-roles-9b6.json",5196],"9d9f8394":[()=>n.e(9013).then(n.bind(n,4343)),"@site/docs/troubleshooting.md",4343],"9e4087bc":[()=>n.e(2711).then(n.bind(n,9331)),"@theme/BlogArchivePage",9331],a6aa9e1f:[()=>Promise.all([n.e(1869),n.e(8498),n.e(4261),n.e(7643)]).then(n.bind(n,2052)),"@theme/BlogListPage",2052],a7456010:[()=>n.e(1235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,4532)),"@theme/DocVersionRoot",4532],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,2559)),"@theme/DocRoot",2559],aba21aa0:[()=>n.e(5742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],acc96f77:[()=>n.e(685).then(n.bind(n,8508)),"@site/blog/2024-06-15-welcome/index.md?truncated=true",8508],acecf23e:[()=>n.e(1903).then(n.t.bind(n,1912,19)),"~blog/default/blogMetadata-default.json",1912],c4a0550b:[()=>n.e(8509).then(n.bind(n,4028)),"@site/docs/how-it-came-to-be.md",4028],c4f5d8e4:[()=>Promise.all([n.e(1869),n.e(2634)]).then(n.bind(n,6467)),"@site/src/pages/index.js",6467],ccc49370:[()=>Promise.all([n.e(1869),n.e(8498),n.e(4261),n.e(3249)]).then(n.bind(n,3858)),"@theme/BlogPostPage",3858],cf57817a:[()=>n.e(833).then(n.bind(n,7771)),"@site/docs/various-roles/glossary-maintainers-guide/introduction.md",7771],d20ae096:[()=>n.e(1122).then(n.bind(n,8419)),"@site/docs/various-roles/terminology-authors-guide/introduction.md",8419],dff1e1e9:[()=>n.e(8838).then(n.bind(n,2234)),"@site/docs/various-roles/general-guide.md",2234],e0c4e08d:[()=>n.e(538).then(n.bind(n,3362)),"@site/docs/spec-up-t-demo-site.mdx",3362],e2c9a94b:[()=>n.e(1070).then(n.bind(n,8294)),"@site/docs/various-roles/admins-guide.md",8294],e747ec83:[()=>n.e(7051).then(n.bind(n,5077)),"@site/docs/glossary.md",5077],f049f840:[()=>n.e(6418).then(n.t.bind(n,483,19)),"@generated/docusaurus-plugin-content-docs/default/p/spec-up-t-website-docs-b1f.json",483],fdea42e3:[()=>n.e(7449).then(n.t.bind(n,7139,19)),"@generated/docusaurus-plugin-content-blog/default/p/spec-up-t-website-blog-archive-3f5.json",7139]};var s=n(4848);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("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%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("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",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(6921),c=n(3102);function d(e,t){if("*"===e)return o()({loading:l,loader:()=>n.e(2237).then(n.bind(n,2237)),modules:["@theme/NotFound"],webpack:()=>[2237],render(e,t){const n=e.default;return(0,s.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],h=(0,u.A)(r);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));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 i=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const l=o.__props;return delete o.__props,(0,s.jsx)(c.W,{value:i,children:(0,s.jsx)(a,{...o,...l,...n})})}})}const p=[{path:"/spec-up-t-website/blog",component:d("/spec-up-t-website/blog","062"),exact:!0},{path:"/spec-up-t-website/blog/archive",component:d("/spec-up-t-website/blog/archive","9d6"),exact:!0},{path:"/spec-up-t-website/blog/welcome",component:d("/spec-up-t-website/blog/welcome","ccf"),exact:!0},{path:"/spec-up-t-website/markdown-page",component:d("/spec-up-t-website/markdown-page","143"),exact:!0},{path:"/spec-up-t-website/search",component:d("/spec-up-t-website/search","d9c"),exact:!0},{path:"/spec-up-t-website/docs",component:d("/spec-up-t-website/docs","cc9"),routes:[{path:"/spec-up-t-website/docs",component:d("/spec-up-t-website/docs","250"),routes:[{path:"/spec-up-t-website/docs",component:d("/spec-up-t-website/docs","f97"),routes:[{path:"/spec-up-t-website/docs/category/content-authors-guide",component:d("/spec-up-t-website/docs/category/content-authors-guide","429"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/category/curators-guide",component:d("/spec-up-t-website/docs/category/curators-guide","036"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/category/glossary-maintainers-guide",component:d("/spec-up-t-website/docs/category/glossary-maintainers-guide","20e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/category/readers-guide",component:d("/spec-up-t-website/docs/category/readers-guide","328"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/category/roles",component:d("/spec-up-t-website/docs/category/roles","683"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/category/terminology-author-guide",component:d("/spec-up-t-website/docs/category/terminology-author-guide","685"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/glossary",component:d("/spec-up-t-website/docs/glossary","37b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/how-it-came-to-be",component:d("/spec-up-t-website/docs/how-it-came-to-be","5a9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/intro",component:d("/spec-up-t-website/docs/intro","529"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/q-and-a",component:d("/spec-up-t-website/docs/q-and-a","f62"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/spec-up-t-demo-site",component:d("/spec-up-t-website/docs/spec-up-t-demo-site","d08"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/this-site-maintainers",component:d("/spec-up-t-website/docs/this-site-maintainers","f85"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/troubleshooting",component:d("/spec-up-t-website/docs/troubleshooting","2fa"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/admins-guide",component:d("/spec-up-t-website/docs/various-roles/admins-guide","f7f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/content-authors-guide/introduction",component:d("/spec-up-t-website/docs/various-roles/content-authors-guide/introduction","3d5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/curators-guide/introduction",component:d("/spec-up-t-website/docs/various-roles/curators-guide/introduction","883"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/developers-guide",component:d("/spec-up-t-website/docs/various-roles/developers-guide","fa4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/general-guide",component:d("/spec-up-t-website/docs/various-roles/general-guide","32f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/glossary-maintainers-guide/introduction",component:d("/spec-up-t-website/docs/various-roles/glossary-maintainers-guide/introduction","77a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/intro",component:d("/spec-up-t-website/docs/various-roles/intro","814"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/readers-guide/introduction",component:d("/spec-up-t-website/docs/various-roles/readers-guide/introduction","a05"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/technical-skills-needed",component:d("/spec-up-t-website/docs/various-roles/technical-skills-needed","f94"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/terminology-authors-guide/external-term-references",component:d("/spec-up-t-website/docs/various-roles/terminology-authors-guide/external-term-references","cc3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/terminology-authors-guide/introduction",component:d("/spec-up-t-website/docs/various-roles/terminology-authors-guide/introduction","844"),exact:!0,sidebar:"tutorialSidebar"},{path:"/spec-up-t-website/docs/various-roles/terminology-authors-guide/term-references",component:d("/spec-up-t-website/docs/various-roles/terminology-authors-guide/term-references","bd3"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/spec-up-t-website/",component:d("/spec-up-t-website/","5ce"),exact:!0},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(6540),o=n(4848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},8536:(e,t,n)=>{"use strict";var r=n(6540),o=n(5338),a=n(545),i=n(4625),s=n(4784),l=n(8193);const u=[n(119),n(6134),n(6294),n(1043)];var c=n(8328),d=n(6347),p=n(2831),f=n(4848);function h(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var m=n(5260),g=n(4586),y=n(6025),b=n(6342),v=n(1213),w=n(2131),k=n(4090),x=n(2967),S=n(440),E=n(1463);function C(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),r=(0,w.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(m.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:r}=(0,d.zy)();return e+(0,S.applyTrailingSlash)((0,y.Ay)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(m.A,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function T(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,b.p)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(m.A,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:k.w})]}),n&&(0,f.jsx)(v.be,{image:n}),(0,f.jsx)(_,{}),(0,f.jsx)(C,{}),(0,f.jsx)(E.A,{tag:x.Cy,locale:e}),(0,f.jsx)(m.A,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const A=new Map;var j=n(6125),L=n(6988),P=n(205);function R(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()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,P.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)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:r}),R("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.u)(c.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?R("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=R("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(0,f.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(d.qh,{location:t,render:()=>e})})}}const D=I,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return A.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return A.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,f.jsx)(D,{location:e,children:W})}function K(){return(0,f.jsx)(H.A,{children:(0,f.jsx)(L.l,{children:(0,f.jsxs)(j.x,{children:[(0,f.jsxs)(h,{children:[(0,f.jsx)(q,{}),(0,f.jsx)(T,{}),(0,f.jsx)(U,{}),(0,f.jsx)(G,{})]}),(0,f.jsx)(V,{})]})})})}var Y=n(4054);const Z=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 o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.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 X=n(6921);const J=new Set,ee=new Set,te=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ne={prefetch:e=>{if(!(e=>!te()&&!ee.has(e)&&!J.has(e))(e))return!1;J.add(e);const t=(0,p.u)(c.A,e).flatMap((e=>{return t=e.route.path,Object.entries(Y).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,X.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Z(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!te()&&!ee.has(e))(e)&&(ee.add(e),O(e))},re=Object.freeze(ne);function oe(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,f.jsx)(i.I9,{children:t}):(0,f.jsx)(i.Kd,{children:t})}const ae=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=re;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(a.vd,{children:(0,f.jsx)(oe,{children:(0,f.jsx)(K,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ae)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};O(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>p});var r=n(6540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/spec-up-t-website/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/spec-up-t-website/docs","mainDocId":"intro","docs":[{"id":"glossary","path":"/spec-up-t-website/docs/glossary","sidebar":"tutorialSidebar"},{"id":"how-it-came-to-be","path":"/spec-up-t-website/docs/how-it-came-to-be","sidebar":"tutorialSidebar"},{"id":"intro","path":"/spec-up-t-website/docs/intro","sidebar":"tutorialSidebar"},{"id":"q-and-a","path":"/spec-up-t-website/docs/q-and-a","sidebar":"tutorialSidebar"},{"id":"spec-up-t-demo-site","path":"/spec-up-t-website/docs/spec-up-t-demo-site","sidebar":"tutorialSidebar"},{"id":"this-site-maintainers","path":"/spec-up-t-website/docs/this-site-maintainers","sidebar":"tutorialSidebar"},{"id":"troubleshooting","path":"/spec-up-t-website/docs/troubleshooting","sidebar":"tutorialSidebar"},{"id":"various-roles/admins-guide","path":"/spec-up-t-website/docs/various-roles/admins-guide","sidebar":"tutorialSidebar"},{"id":"various-roles/content-authors-guide/introduction","path":"/spec-up-t-website/docs/various-roles/content-authors-guide/introduction","sidebar":"tutorialSidebar"},{"id":"various-roles/curators-guide/introduction","path":"/spec-up-t-website/docs/various-roles/curators-guide/introduction","sidebar":"tutorialSidebar"},{"id":"various-roles/developers-guide","path":"/spec-up-t-website/docs/various-roles/developers-guide","sidebar":"tutorialSidebar"},{"id":"various-roles/general-guide","path":"/spec-up-t-website/docs/various-roles/general-guide","sidebar":"tutorialSidebar"},{"id":"various-roles/glossary-maintainers-guide/introduction","path":"/spec-up-t-website/docs/various-roles/glossary-maintainers-guide/introduction","sidebar":"tutorialSidebar"},{"id":"various-roles/intro","path":"/spec-up-t-website/docs/various-roles/intro","sidebar":"tutorialSidebar"},{"id":"various-roles/readers-guide/introduction","path":"/spec-up-t-website/docs/various-roles/readers-guide/introduction","sidebar":"tutorialSidebar"},{"id":"various-roles/technical-skills-needed","path":"/spec-up-t-website/docs/various-roles/technical-skills-needed","sidebar":"tutorialSidebar"},{"id":"various-roles/terminology-authors-guide/external-term-references","path":"/spec-up-t-website/docs/various-roles/terminology-authors-guide/external-term-references","sidebar":"tutorialSidebar"},{"id":"various-roles/terminology-authors-guide/introduction","path":"/spec-up-t-website/docs/various-roles/terminology-authors-guide/introduction","sidebar":"tutorialSidebar"},{"id":"various-roles/terminology-authors-guide/term-references","path":"/spec-up-t-website/docs/various-roles/terminology-authors-guide/term-references","sidebar":"tutorialSidebar"},{"id":"/category/roles","path":"/spec-up-t-website/docs/category/roles","sidebar":"tutorialSidebar"},{"id":"/category/content-authors-guide","path":"/spec-up-t-website/docs/category/content-authors-guide","sidebar":"tutorialSidebar"},{"id":"/category/terminology-author-guide","path":"/spec-up-t-website/docs/category/terminology-author-guide","sidebar":"tutorialSidebar"},{"id":"/category/curators-guide","path":"/spec-up-t-website/docs/category/curators-guide","sidebar":"tutorialSidebar"},{"id":"/category/glossary-maintainers-guide","path":"/spec-up-t-website/docs/category/glossary-maintainers-guide","sidebar":"tutorialSidebar"},{"id":"/category/readers-guide","path":"/spec-up-t-website/docs/category/readers-guide","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/spec-up-t-website/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(2654);const l=JSON.parse('{"docusaurusVersion":"3.4.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.4.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.4.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.4.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.4.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.4.0"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.44.5"}}}');var u=n(4848);const c={siteConfig:o.default,siteMetadata:l,globalData:a,i18n:i,codeTranslations:s},d=r.createContext(c);function p(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},7489:(e,t,n)=>{"use strict";n.d(t,{A:()=>m});var r=n(6540),o=n(8193),a=n(5260),i=n(440),s=n(217),l=n(3102),u=n(4848);function c(e){let{error:t,tryAgain:n}=e;return(0,u.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,u.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,u.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,u.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,u.jsx)(l.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)(p,{children:(0,u.jsxs)(m,{fallback:()=>(0,u.jsx)(c,{error:t,tryAgain:n}),children:[(0,u.jsx)(a.A,{children:(0,u.jsx)("title",{children:"Page Error"})}),(0,u.jsx)(s.A,{children:(0,u.jsx)(c,{error:t,tryAgain:n})})]})})}const h=e=>(0,u.jsx)(f,{...e});class m extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.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??h)(e)}return e??null}}},8193:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(545),o=n(4848);function a(e){return(0,o.jsx)(r.mg,{...e})}},8774:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(6540),o=n(4625),a=n(440),i=n(4586),s=n(6654),l=n(8193),u=n(3427),c=n(6025),d=n(4848);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:h,isActive:m,"data-noBrokenLinkCheck":g,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,c.hH)(),E=(0,u.A)(),C=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>C.current));const _=p||f;const T=(0,s.A)(_),A=_?.replace("pathname://","");let j=void 0!==A?(L=A,y&&(e=>e.startsWith("/"))(L)?S(L):L):void 0;var L;"hash"===x&&j?.startsWith("./")&&(j=j?.slice(1)),j&&T&&(j=(0,a.applyTrailingSlash)(j,{trailingSlash:w,baseUrl:k}));const P=(0,r.useRef)(!1),R=n?o.k2:o.N_,N=l.A.canUseIntersectionObserver,O=(0,r.useRef)(),I=()=>{P.current||null==j||(window.docusaurus.preload(j),P.current=!0)};(0,r.useEffect)((()=>(!N&&T&&null!=j&&window.docusaurus.prefetch(j),()=>{N&&O.current&&O.current.disconnect()})),[O,j,N,T]);const D=j?.startsWith("#")??!1,F=!b.target||"_self"===b.target,M=!j||!T||!F;return g||!D&&M||E.collectLink(j),b.id&&E.collectAnchor(b.id),M?(0,d.jsx)("a",{ref:C,href:j,..._&&!T&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,d.jsx)(R,{...b,onMouseEnter:I,onTouchStart:I,innerRef:e=>{C.current=e,N&&e&&T&&(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!=j&&window.docusaurus.prefetch(j))}))})),O.current.observe(e))},to:j,...n&&{isActive:m,activeClassName:h}})}const f=r.forwardRef(p)},1312:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,T:()=>l});var r=n(6540),o=n(4848);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 i=n(2654);function s(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 i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(s({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=s({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},7065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},6654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},6025:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>s,hH:()=>i});var r=n(6540),o=n(4586),a=n(6654);function i(){const{siteConfig:e}=(0,o.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,a.z)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3427:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},4586:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(6988);function a(){return(0,r.useContext)(o.o)}},6588:(e,t,n)=>{"use strict";n.d(t,{P_:()=>i,kh:()=>a});var r=n(4586),o=n(7065);function a(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=a(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},2303:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(6125);function a(){return(0,r.useContext)(o.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540);const o=n(8193).A.canUseDOM?r.useLayoutEffect:r.useEffect},6803:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(3102);function a(){const e=r.useContext(o.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}},6921:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const s=o?`${o}.${a}`:a;r(i)?e(i,s):t[s]=i}))}(e),t}},3102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(6540),o=n(4848);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),s=(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:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:s,children:t})}},8295:(e,t,n)=>{"use strict";n.d(t,{zK:()=>f,vT:()=>c,Gy:()=>l,HW:()=>h,ht:()=>u,r7:()=>p,jh:()=>d});var r=n(6347),o=n(6588);const a=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=function(e,t){const n=a(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const s={},l=()=>(0,o.kh)("docusaurus-plugin-content-docs")??s,u=e=>{try{return(0,o.P_)("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function c(e){void 0===e&&(e={});const t=l(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&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 a}(t,n,e)}function d(e){return u(e).versions}function p(e){const t=u(e);return a(t)}function f(e){const t=u(e),{pathname:n}=(0,r.zy)();return i(t,n)}function h(e){const t=u(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=a(e);return{latestDocSuggestion:i(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5947),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},6134:(e,t,n)=>{"use strict";var r=n(1765),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(8692)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},1107:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(4164),o=n(1312),a=n(6342),i=n(8774),s=n(3427);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var u=n(4848);function c(e){let{as:t,id:n,...c}=e;const d=(0,s.A)(),{navbar:{hideOnScroll:p}}=(0,a.p)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,u.jsxs)(t,{...c,className:(0,r.A)("anchor",p?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,u.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},3186:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(4848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("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"})})}},217:(e,t,n)=>{"use strict";n.d(t,{A:()=>Mt});var r=n(6540),o=n(4164),a=n(7489),i=n(1213),s=n(6347),l=n(1312),u=n(5062),c=n(4848);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,s.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const h=(0,l.T)({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 m(e){const t=e.children??h,{containerRef:n,onClick:r}=f();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":h,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(7559),y=n(4090);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,c.jsx)(m,{className:b.skipToContent})}var w=n(6342),k=n(5041);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:o,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_knG7"};function _(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,o.A)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function A(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,c.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,c.jsx)("div",{className:T.announcementBarPlaceholder}),(0,c.jsx)(_,{className:T.announcementBarContent}),a&&(0,c.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var j=n(9876),L=n(3104);var P=n(9532),R=n(5600);const N=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,j.M)(),t=(0,R.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,P.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,c.jsx)(N.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(N);if(!e)throw new P.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,R.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:I(a)})),[o,a,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=D();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(5293),z=n(2303);function B(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("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(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("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 U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,z.A)(),s=(0,l.T)({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"===r?(0,l.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,o.A)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,o.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,c.jsx)(B,{className:(0,o.A)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)($,{className:(0,o.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(q),Q={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,M.G)();return r?null:(0,c.jsx)(H,{className:t,buttonClassName:"dark"===n?Q.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var W=n(3465);function G(){return(0,c.jsx)(W.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,j.M)();return(0,c.jsx)("button",{type:"button","aria-label":(0,l.T)({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(),children:(0,c.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(G,{}),(0,c.jsx)(V,{className:"margin-right--md"}),(0,c.jsx)(K,{})]})}var Z=n(8774),X=n(6025),J=n(6654);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(3186);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...u}=e;const d=(0,X.Ay)(r),p=(0,X.Ay)(t),f=(0,X.Ay)(o,{forcePrependBaseUrl:!0}),h=a&&o&&!(0,J.A)(o),m=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[a,h&&(0,c.jsx)(te.A,{...s&&{width:12,height:12}})]})};return o?(0,c.jsx)(Z.A,{href:l?f:o,...u,...m}):(0,c.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...u,...m})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,c.jsx)(ne,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,o.A)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,c.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(1422),se=n(9169),le=n(4586);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,se.ys)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...s}=e;const l=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.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)}}),[l]),(0,c.jsxs)("div",{ref:l,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:s.to?void 0:"#",className:(0,o.A)("navbar__link",a),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:s.children??s.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ye,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:i,...l}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,le.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:h}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&h(!d)}),[u,d,h]),(0,c.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,c.jsx)(ne,{role:"button",className:(0,o.A)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),f()},children:l.children??l.label}),(0,c.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ye,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,c.jsx)(r,{...n})}var he=n(2131);function me(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("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 ge="iconLanguage_nlXk";var ye=n(1088),be=n(5391);var ve=n(7948),we=n(1034),ke=n(5891),xe=n(2384),Se=n(9913),Ee=n(4471),Ce=n(7674),_e=n(6841),Te=n(3810);const Ae='',je='',Le='',Pe='',Re='',Ne='',Oe='',Ie={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 De(e){let{document:t,type:n,page:r,metadata:o,tokens:a,isInterOfTree:i,isLastOfTree:s}=e;const l=n===Se.i.Title,u=n===Se.i.Keywords,c=l||u,d=n===Se.i.Heading,p=[];i?p.push(Ne):s&&p.push(Oe);const f=p.map((e=>`${e}`)),h=`${c?Ae:d?je:Le}`,m=[`${u?(0,_e.Z)(t.s,a):(0,Te.C)(t.t,(0,Ce.g)(o,"t"),a)}`];if(!i&&!s&&ye.tb){const e=r?r.b?.concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;m.push(`${(0,Ee.$)(e??[])}`)}else c||m.push(`${(0,_e.Z)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),a)}`);const g=`${Pe}`;return[...f,h,``,...m,"",g].join("")}function Fe(){return`${Re}${(0,l.T)({id:"theme.SearchBar.noResultsText",message:"No results"})}`}var Me=n(2849),ze=n(3385);async function Be(){const e=await Promise.all([n.e(489),n.e(5741)]).then(n.t.bind(n,489,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const $e="_highlight";const Ue=function(e){let{handleSearchBarToggle:t}=e;const o=(0,z.A)(),{siteConfig:{baseUrl:a},i18n:{currentLocale:i}}=(0,le.A)(),u=(0,we.vT)();let d=a;try{const{preferredVersion:e}=function(){return n(1034).g1(...arguments)}(u?.pluginId??ye.UB);e&&!e.isLast&&(d=e.path+"/")}catch(F){if(ye.I$&&!(F instanceof ve.dV))throw F}const p=(0,s.W6)(),f=(0,s.zy)(),h=(0,r.useRef)(null),m=(0,r.useRef)(new Map),g=(0,r.useRef)(!1),[y,b]=(0,r.useState)(!1),[v,w]=(0,r.useState)(!1),[k,x]=(0,r.useState)(""),S=(0,r.useRef)(null),E=(0,r.useRef)(""),[C,_]=(0,r.useState)("");(0,r.useEffect)((()=>{if(!Array.isArray(ye.Hg))return;let e="";if(f.pathname.startsWith(d)){const t=f.pathname.substring(d.length);let n;for(const e of ye.Hg){const r="string"==typeof e?e:e.path;if(t===r||t.startsWith(`${r}/`)){n=r;break}}n&&(e=n)}E.current!==e&&(m.current.delete(e),E.current=e),_(e)}),[f.pathname,d]);const T=!!ye.O6&&Array.isArray(ye.Hg)&&""===C,A=(0,r.useCallback)((async()=>{if(T||m.current.get(C))return;m.current.set(C,"loading"),S.current?.autocomplete.destroy(),b(!0);const[{wrappedIndexes:e,zhDictionary:t},n]=await Promise.all([(0,ke.Z)(d,C),Be()]);if(S.current=n(h.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,be.A)(Ie.searchBar,{[Ie.searchBarLeft]:"left"===ye.ZG}),noPrefix:!0,dropdownMenu:Ie.dropdownMenu,input:Ie.input,hint:Ie.hint,suggestions:Ie.suggestions,suggestion:Ie.suggestion,cursor:Ie.cursor,dataset:Ie.dataset,empty:Ie.empty}},[{source:(0,xe.m)(e,t,ye.AT),templates:{suggestion:De,empty:Fe,footer:e=>{let{query:t,isEmpty:n}=e;if(n&&(!C||!ye.dz))return;const r=(e=>{let{query:t,isEmpty:n}=e;const r=document.createElement("a"),o=new URLSearchParams;let s;if(o.set("q",t),C){const e=C&&Array.isArray(ye.Hg)?ye.Hg.find((e=>"string"==typeof e?e===C:e.path===C)):C,t=e?(0,ze.p)(e,i).label:C;s=ye.dz&&n?(0,l.T)({id:"theme.SearchBar.seeAllOutsideContext",message:'See all results outside "{context}"'},{context:t}):(0,l.T)({id:"theme.SearchBar.searchInContext",message:'See all results within "{context}"'},{context:t})}else s=(0,l.T)({id:"theme.SearchBar.seeAll",message:"See all results"});if(!C||!Array.isArray(ye.Hg)||ye.dz&&n||o.set("ctx",C),d!==a){if(!d.startsWith(a))throw new Error(`Version url '${d}' does not start with base url '${a}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);o.set("version",d.substring(a.length))}const u=`${a}search/?${o.toString()}`;return r.href=u,r.textContent=s,r.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),S.current?.autocomplete.close(),p.push(u))})),r})({query:t,isEmpty:n}),o=document.createElement("div");return o.className=Ie.hitFooter,o.appendChild(r),o}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:n,h:r},tokens:o}=t;h.current?.blur();let a=n;if(ye.CU&&o.length>0){const e=new URLSearchParams;for(const t of o)e.append($e,t);a+=`?${e.toString()}`}r&&(a+=r),p.push(a)})).on("autocomplete:closed",(()=>{h.current?.blur()})),m.current.set(C,"done"),b(!1),g.current){const e=h.current;e.value&&S.current?.autocomplete.open(),e.focus()}}),[T,C,d,a,p]);(0,r.useEffect)((()=>{if(!ye.CU)return;const e=o?new URLSearchParams(f.search).getAll($e):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const n=new ye.CU(t);n.unmark(),0!==e.length&&n.mark(e),x(e.join(" ")),S.current?.autocomplete.setVal(e.join(" "))}))}),[o,f.search,f.pathname]);const[j,L]=(0,r.useState)(!1),P=(0,r.useCallback)((()=>{g.current=!0,A(),L(!0),t?.(!0)}),[t,A]),R=(0,r.useCallback)((()=>{L(!1),t?.(!1)}),[t]),N=(0,r.useCallback)((()=>{A()}),[A]),O=(0,r.useCallback)((e=>{x(e.target.value),e.target.value&&w(!0)}),[]),I=!!o&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,r.useEffect)((()=>{if(!ye.WW)return;const e=e=>{!(I?e.metaKey:e.ctrlKey)||"k"!==e.key&&"K"!==e.key||(e.preventDefault(),h.current?.focus(),P())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[I,P]);const D=(0,r.useCallback)((()=>{const e=new URLSearchParams(f.search);e.delete($e);const t=e.toString(),n=f.pathname+(""!=t?`?${t}`:"")+f.hash;n!=f.pathname+f.search+f.hash&&p.push(n),x(""),S.current?.autocomplete.setVal("")}),[f.pathname,f.search,f.hash,p]);return(0,c.jsxs)("div",{className:(0,be.A)("navbar__search",Ie.searchBarContainer,{[Ie.searchIndexLoading]:y&&v,[Ie.focused]:j}),hidden:T,dir:"ltr",children:[(0,c.jsx)("input",{placeholder:(0,l.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:N,onFocus:P,onBlur:R,onChange:O,ref:h,value:k}),(0,c.jsx)(Me.A,{className:Ie.searchBarLoadingRing}),ye.WW&&ye.pk&&(""!==k?(0,c.jsx)("button",{className:Ie.searchClearButton,onClick:D,children:"\u2715"}):o&&(0,c.jsxs)("div",{className:Ie.searchHintContainer,children:[(0,c.jsx)("kbd",{className:Ie.searchHint,children:I?"\u2318":"ctrl"}),(0,c.jsx)("kbd",{className:Ie.searchHint,children:"K"})]}))]})},qe={navbarSearchContainer:"navbarSearchContainer_Bca1"};function He(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,o.A)(n,qe.navbarSearchContainer),children:t})}var Qe=n(8295),Ve=n(1754);var We=n(5597);const Ge=e=>e.docs.find((t=>t.id===e.mainDocId));const Ke={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,le.A)(),p=(0,he.o)(),{search:f,hash:h}=(0,s.zy)(),m=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${h}${o}`;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":""}})),...r],g=t?(0,l.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(fe,{...a,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(me,{className:ge}),g]}),items:m})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(He,{className:n,children:(0,c.jsx)(Ue,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,c.jsx)(i,{className:(0,o.A)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Qe.zK)(r),i=(0,Ve.QB)(t,r),s=a?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>s||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,Qe.zK)(r),i=(0,Ve.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,Ve.Vd)(r)[0],i=t??a.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,c.jsx)(ae,{...o,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:u,hash:d}=(0,s.zy)(),p=(0,Qe.zK)(n),f=(0,Qe.jh)(n),{savePreferredVersionName:h}=(0,We.g1)(n),m=[...o,...f.map((e=>{const t=p.alternateDocVersions[e.name]??Ge(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>h(e.name)}})),...a],g=(0,Ve.Vd)(n)[0],y=t&&m.length>1?(0,l.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,b=t&&m.length>1?void 0:Ge(g).path;return m.length<=1?(0,c.jsx)(ae,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(fe,{...i,mobile:t,label:y,to:b,items:m,isActive:r?()=>!1:void 0})}};function Ye(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Ke[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(o,{...n})}function Ze(){const e=(0,j.M)(),t=(0,w.p)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ye,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Xe(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(l.A,{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)",children:"\u2190 Back to main menu"})})}function Je(){const e=0===(0,w.p)().navbar.items.length,t=D();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(Xe,{onClick:()=>t.hide()}),t.content]})}function et(){const e=(0,j.M)();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?(0,c.jsx)(F,{header:(0,c.jsx)(Y,{}),primaryMenu:(0,c.jsx)(Ze,{}),secondaryMenu:(0,c.jsx)(Je,{})}):null}const tt={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function nt(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function rt(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.p)(),i=(0,j.M)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,L.Mq)(((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 o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:s,"aria-label":(0,l.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[tt.navbarHideable,!d&&tt.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(nt,{onClick:i.toggle}),(0,c.jsx)(et,{})]})}var ot=n(440);const at={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function it(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(l.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function st(e){let{error:t}=e;const n=(0,ot.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:at.errorBoundaryError,children:n})}class lt extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const ut="right";function ct(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function dt(){const{toggle:e,shown:t}=(0,j.M)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,l.T)({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",children:(0,c.jsx)(ct,{})})}const pt={colorModeToggle:"colorModeToggle_DEke"};function ft(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(lt,{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}),children:(0,c.jsx)(Ye,{...e})},t)))})}function ht(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function mt(){const e=(0,j.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??ut)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,c.jsx)(ht,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(dt,{}),(0,c.jsx)(G,{}),(0,c.jsx)(ft,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(ft,{items:r}),(0,c.jsx)(V,{className:pt.colorModeToggle}),!o&&(0,c.jsx)(He,{children:(0,c.jsx)(Ue,{})})]})})}function gt(){return(0,c.jsx)(rt,{children:(0,c.jsx)(mt,{})})}function yt(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,s=(0,X.Ay)(n),l=(0,X.Ay)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Z.A,{className:"footer__link-item",...r?{href:a?l:r}:{to:s},...i,children:[o,r&&!(0,J.A)(r)&&(0,c.jsx)(te.A,{})]})}function bt(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(yt,{item:t})},t.href??t.to)}function vt(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(bt,{item:e},t)))})]})}function wt(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(vt,{column:e},t)))})}function kt(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function xt(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(yt,{item:t})}function St(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(xt,{item:e}),t.length!==n+1&&(0,c.jsx)(kt,{})]},n)))})})}function Et(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(wt,{columns:t}):(0,c.jsx)(St,{links:t})}var Ct=n(1122);const _t={footerLogoLink:"footerLogoLink_BH7S"};function Tt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(Ct.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function At(e){let{logo:t}=e;return t.href?(0,c.jsx)(Z.A,{href:t.href,className:_t.footerLogoLink,target:t.target,children:(0,c.jsx)(Tt,{logo:t})}):(0,c.jsx)(Tt,{logo:t})}function jt(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Lt(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,c.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function Pt(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,c.jsx)(Lt,{style:o,links:n&&n.length>0&&(0,c.jsx)(Et,{links:n}),logo:r&&(0,c.jsx)(At,{logo:r}),copyright:t&&(0,c.jsx)(jt,{copyright:t})})}const Rt=r.memo(Pt),Nt=(0,P.fM)([M.a,k.o,L.Tv,We.VQ,i.Jx,function(e){let{children:t}=e;return(0,c.jsx)(R.y_,{children:(0,c.jsx)(j.e,{children:(0,c.jsx)(O,{children:t})})})}]);function Ot(e){let{children:t}=e;return(0,c.jsx)(Nt,{children:t})}var It=n(1107);function Dt(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(It.A,{as:"h1",className:"hero__title",children:(0,c.jsx)(l.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(it,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(st,{error:t})})]})})})}const Ft={mainWrapper:"mainWrapper_z2l0"};function Mt(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,y.J)(),(0,c.jsxs)(Ot,{children:[(0,c.jsx)(i.be,{title:s,description:l}),(0,c.jsx)(v,{}),(0,c.jsx)(A,{}),(0,c.jsx)(gt,{}),(0,c.jsx)("div",{id:d,className:(0,o.A)(g.G.wrapper.main,Ft.mainWrapper,r),children:(0,c.jsx)(a.A,{fallback:e=>(0,c.jsx)(Dt,{...e}),children:t})}),!n&&(0,c.jsx)(Rt,{})]})}},3465:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(8774),o=n(6025),a=n(4586),i=n(6342),s=n(1122),l=n(4848);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.Ay)(t.src),dark:(0,o.Ay)(t.srcDark||t.src)},i=(0,l.jsx)(s.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:c,titleClassName:d,...p}=e,f=(0,o.Ay)(s?.href||"/"),h=n?"":t,m=s?.alt??h;return(0,l.jsxs)(r.A,{to:f,...p,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(u,{logo:s,alt:m,imageClassName:c}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(5260),o=n(4848);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},1122:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(6540),o=n(4164),a=n(2303),i=n(5293);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(4848);function u(e){let{className:t,children:n}=e;const u=(0,a.A)(),{colorMode:c}=(0,i.G)();return(0,l.jsx)(l.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:a},e)}))})}function c(e){const{sources:t,className:n,alt:r,...o}=e;return(0,l.jsx)(u,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>u});var r=n(6540),o=n(8193),a=n(205),i=n(3109),s=n(4848);const l="ease-in-out";function u(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function h(e){if(!o.A.canUseDOM)return e?c:d}function m(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:l,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return f({collapsibleRef:c,collapsed:n,animation:a}),(0,s.jsx)(t,{ref:c,style:u?void 0:h(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(c.current,n),i?.(n))},className:l,children:o})}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[l,u]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&u(t)}),[o,t]),o?(0,s.jsx)(m,{...n,collapsed:l}):null}function y(e){let{lazy:t,...n}=e;const r=t?g:m;return(0,s.jsx)(r,{...n})}},5041:(e,t,n)=>{"use strict";n.d(t,{M:()=>m,o:()=>h});var r=n(6540),o=n(2303),a=n(9466),i=n(9532),s=n(6342),l=n(4848);const u=(0,a.Wf)("docusaurus.announcement.dismiss"),c=(0,a.Wf)("docusaurus.announcement.id"),d=()=>"true"===u.get(),p=e=>u.set(String(e)),f=r.createContext(null);function h(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&p(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>g});var r=n(6540),o=n(8193),a=n(9532),i=n(9466),s=n(6342),l=n(4848);const u=r.createContext(void 0),c="theme",d=(0,i.Wf)(c),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,h=e=>o.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{d.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[o,a]=(0,r.useState)(h(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&m(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.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:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,l.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},5597:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>y,g1:()=>v});var r=n(6540),o=n(8295),a=n(7065),i=n(6342),s=n(1754),l=n(9532),u=n(9466),c=n(4848);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,u.Wf)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.Wf)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.Wf)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const h=r.createContext(null);function m(){const e=(0,o.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=m();return(0,c.jsx)(h.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return s.C5?(0,c.jsx)(g,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function b(){const e=(0,r.useContext)(h);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=a.W);const t=(0,o.ht)(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])}}},4207:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>u});var r=n(6540),o=n(9532),a=n(4848);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(s);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},2252:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>l});var r=n(6540),o=n(9532),a=n(4848);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},9876:(e,t,n)=>{"use strict";n.d(t,{e:()=>f,M:()=>h});var r=n(6540),o=n(5600),a=n(4581),i=n(6347),s=n(9532);function l(e){!function(e){const t=(0,i.W6)(),n=(0,s._q)(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(6342),c=n(4848);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,u.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),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=p();return(0,c.jsx)(d.Provider,{value:n,children:t})}function h(){const e=r.useContext(d);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},5600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>u,YL:()=>l,y_:()=>s});var r=n(6540),o=n(9532),a=n(4848);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,s]=a,l=(0,o.Be)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},4090:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(6540);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4581:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(6540),o=n(8193);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7559:(e,t,n)=>{"use strict";n.d(t,{G:()=>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",unlistedBanner:"theme-unlisted-banner",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:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},3109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},1754:(e,t,n)=>{"use strict";n.d(t,{d1:()=>T,Nr:()=>h,w8:()=>b,C5:()=>p,$S:()=>m,cC:()=>f,B5:()=>_,Vd:()=>S,QB:()=>C,fW:()=>E,OF:()=>x,Y:()=>w});var r=n(6540),o=n(6347),a=n(2831),i=n(8295),s=n(5597),l=n(2252),u=n(4207);function c(e){return Array.from(new Set(e))}var d=n(9169);const p=!!i.Gy;function f(e){const t=(0,l.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function h(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=h(t);if(e)return e}}(e):void 0:e.href}function m(){const{pathname:e}=(0,o.zy)(),t=(0,u.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=k({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,d.ys)(e,t),y=(e,t)=>e.some((e=>b(e,t)));function b(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||y(e.items,t))}function v(e,t){switch(e.type){case"category":return b(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||b(e,t);default:return!0}}function w(e,t){return(0,r.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function k(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,d.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,d.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function x(){const e=(0,u.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?k({sidebarItems:e.items,pathname:t}):null}function S(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,s.g1)(e),o=(0,i.r7)(e);return(0,r.useMemo)((()=>c([t,n,o].filter(Boolean))),[t,n,o])}function E(e,t){const n=S(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 C(e,t){const n=S(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- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,l.r)(),i=t.routes,s=i.find((e=>(0,o.B6)(n.pathname,e)));if(!s)return null;const u=s.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,a.v)(i),sidebarName:u,sidebarItems:c}}function T(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!h(e)))}},1213:(e,t,n)=>{"use strict";n.d(t,{e3:()=>p,be:()=>c,Jx:()=>f});var r=n(6540),o=n(4164),a=n(5260),i=n(6803),s=n(6025),l=n(4586);var u=n(4848);function c(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const c=function(e){const{siteConfig:t}=(0,l.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.hH)(),p=o?d(o,{absolute:!0}):void 0;return(0,u.jsxs)(a.A,{children:[t&&(0,u.jsx)("title",{children:c}),t&&(0,u.jsx)("meta",{property:"og:title",content:c}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),i]})}const d=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,o.A)(i,t);return(0,u.jsxs)(d.Provider,{value:s,children:[(0,u.jsx)(a.A,{children:(0,u.jsx)("html",{className:s})}),n]})}function f(e){let{children:t}=e;const n=(0,i.A)(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(p,{className:(0,o.A)(r,a),children:t})}},9532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>u,ZC:()=>s,_q:()=>i,dV:()=>l,fM:()=>c});var r=n(6540),o=n(205),a=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class l 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 u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},9169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>i});var r=n(6540),o=n(8328),a=n(4586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>u,gk:()=>f});var r=n(6540),o=n(8193),a=n(2303),i=(n(205),n(9532)),s=n(4848);const l=r.createContext(void 0);function u(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(0,s.jsx)(l.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(l);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),o=(0,r.useRef)(d()),a=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"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 o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>r,tU:()=>o});n(4586);const r="default";function o(e,t){return`docs-${e}-${t}`}},9466:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>u});n(6540);var r=n(4180);const o=r.N;function a(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function i(e){if(void 0===e&&(e=o),"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,s||(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),s=!0),null}var t}let s=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){const n=`${e}${r.M}`;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}}(n);const o=i(t?.persistence);return null===o?l:{get:()=>{try{return o.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=o.getItem(n);o.setItem(n,e),a({key:n,oldValue:t,newValue:e,storage:o})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=o.getItem(n);o.removeItem(n),a({key:n,oldValue:e,newValue:null,storage:o})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===o&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}},2131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(4586),o=n(6347),a=n(440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.A)(),{pathname:l}=(0,o.zy)(),u=(0,a.applyTrailingSlash)(l,{trailingSlash:n,baseUrl:e}),c=s===i?e:e.replace(`/${s}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},5062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),o=n(6347),a=n(9532);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(4586);function o(){return(0,r.A)().siteConfig.themeConfig}},2983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=void 0;const r=n(2566);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,n?o(l):a(l));var l;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a},253:(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]}},440: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.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(2983);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(o).default}}),Object.defineProperty(t,"addTrailingSlash",{enumerable:!0,get:function(){return o.addTrailingSlash}}),Object.defineProperty(t,"addLeadingSlash",{enumerable:!0,get:function(){return o.addLeadingSlash}}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return o.removeTrailingSlash}});var a=n(2566);Object.defineProperty(t,"addPrefix",{enumerable:!0,get:function(){return a.addPrefix}}),Object.defineProperty(t,"removeSuffix",{enumerable:!0,get:function(){return a.removeSuffix}}),Object.defineProperty(t,"addSuffix",{enumerable:!0,get:function(){return a.addSuffix}}),Object.defineProperty(t,"removePrefix",{enumerable:!0,get:function(){return a.removePrefix}});var i=n(253);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},2566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=void 0,t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},2849:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(6540);var r=n(5391);const o={loadingRing:"loadingRing_RJI3","loading-ring":"loading-ring_FB5o"};var a=n(4848);function i(e){let{className:t}=e;return(0,a.jsxs)("div",{className:(0,r.A)(o.loadingRing,t),children:[(0,a.jsx)("div",{}),(0,a.jsx)("div",{}),(0,a.jsx)("div",{}),(0,a.jsx)("div",{})]})}},5891:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(8291),o=n.n(r),a=n(1088);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}${a.IH.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:o().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}},2384:(e,t,n)=>{"use strict";n.d(t,{m:()=>u});var r=n(8291),o=n.n(r);var a=n(1088);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:o().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?o().Query.wildcard.TRAILING:o().Query.wildcard.NONE})))})))}var l=n(9913);function u(e,t,n){return function(r,s){const u=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return o()[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,a.BH);if(0===u.length)return void s([]);const c=function(e,t){const n=function(e,t){const n=[];return function e(r,o){if(0===r.length)return void n.push(o);const a=r[0];if(/\p{Unified_Ideograph}/u.test(a)){const n=function(e,t){const n=[];return function e(r,o){let a=0,i=!1;for(const s of t)if(r.substr(0,s.length)===s){const t={missed:o.missed,term:o.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>a;t-=1){const l=s.substr(0,t);if(r.substr(0,t)===l){a=t;const s={missed:o.missed,term:o.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:o.missed+1,term:o.term}):o.term.length>0&&n.push(o))}(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))}(a,t);for(const t of n){const n=o.concat(...t);e(r.slice(1),n)}}else{const t=o.concat({value:a});e(r.slice(1),t)}}(e,[]),n}(e,t);if(0===n.length)return[{tokens:e,term:e.map((e=>({value:e,presence:o().Query.presence.REQUIRED,wildcard:o().Query.wildcard.LEADING|o().Query.wildcard.TRAILING})))}];for(const o of n)o[o.length-1].maybeTyping=!0;const r=[];for(const i of a.BH)if("en"===i)a.sx||r.unshift(o().stopWordFilter);else{const e=o()[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.length0&&t.push(n)}n.push(...t)}else s=n.slice();const l=[];for(const o of s)if(o.length>2)for(let e=o.length-1;e>=0;e-=1)l.push(o.slice(0,e).concat(o.slice(e+1)));return i(n).concat(i(l))}(u,t),d=[];e:for(const{term:t,tokens:o}of c)for(const{documents:r,index:a,type:i}of e)if(d.push(...a.query((e=>{for(const n of t)e.term(n.value,{wildcard:n.wildcard,presence:n.presence})})).slice(0,n).filter((e=>!d.some((t=>t.document.i.toString()===e.ref)))).slice(0,n-d.length).map((t=>{const n=r.find((e=>e.i.toString()===t.ref));return{document:n,type:i,page:i!==l.i.Title&&e[0].documents.find((e=>e.i===n.p)),metadata:t.matchData.metadata,tokens:o,score:t.score}}))),d.length>=n)break e;!function(e){e.forEach(((e,t)=>{e.index=t})),e.sort(((t,n)=>{let r=t.type!==l.i.Heading&&t.type!==l.i.Content&&t.type!==l.i.Description||!t.page?t.index:e.findIndex((e=>e.document===t.page)),o=n.type!==l.i.Heading&&n.type!==l.i.Content&&n.type!==l.i.Description||!n.page?n.index:e.findIndex((e=>e.document===n.page));if(-1===r&&(r=t.index),-1===o&&(o=n.index),r===o){const e=(0===n.type?1:0)-(0===t.type?1:0);return 0===e?t.index-n.index:e}return r-o}))}(d),function(e){e.forEach(((t,n)=>{n>0&&t.page&&e.slice(0,n).some((e=>(e.type===l.i.Keywords?e.page:e.document)===t.page))&&(n{"use strict";function r(e){return e.join(" \u203a ")}n.d(t,{$:()=>r})},3103:(e,t,n)=>{"use strict";function r(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{Z:()=>r})},7674:(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,{g:()=>r})},6841:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(3103);function o(e,t,n){const a=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&a.push(o(e.substr(0,n),t)),a.push(`${(0,r.Z)(e.substr(n,i.length))}`);const s=n+i.length;s${(0,r.Z)(e)}`:(0,r.Z)(e):a.join("")}},3810:(e,t,n)=>{"use strict";n.d(t,{C:()=>l});var r=n(3103),o=n(6841);const a=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const o=r.match(a);if(!o){t.push(r);break}o.index>0&&t.push(r.substring(0,o.index)),t.push(o[0]),n+=o.index+o[0].length,r=e.substring(n)}return t}var s=n(1088);function l(e,t,n,a){void 0===a&&(a=s.rG);const{chunkIndex:l,chunks:u}=function(e,t,n){const a=[];let s=0,l=0,u=-1;for(;sl){const t=i(e.substring(l,c)).map((e=>({html:(0,r.Z)(e),textLength:e.length})));for(const e of t)a.push(e)}-1===u&&(u=a.length),l=c+d,a.push({html:(0,o.Z)(e.substring(c,l),n,!0),textLength:d})}}if(l({html:(0,r.Z)(e),textLength:e.length})));for(const e of t)a.push(e)}return{chunkIndex:u,chunks:a}}(e,t,n),c=u.slice(0,l),d=u[l],p=[d.html],f=u.slice(l+1);let h=d.textLength,m=0,g=0,y=!1,b=!1;for(;h0){const e=c.pop();h+e.textLength<=a?(p.unshift(e.html),m+=e.textLength,h+=e.textLength):(y=!0,c.length=0)}else{if(!(f.length>0))break;{const e=f.shift();h+e.textLength<=a?(p.push(e.html),g+=e.textLength,h+=e.textLength):(b=!0,f.length=0)}}return(y||c.length>0)&&p.unshift("\u2026"),(b||f.length>0)&&p.push("\u2026"),p.join("")}},3385:(e,t,n)=>{"use strict";function r(e,t){if("string"==typeof e)return{label:e,path:e};{const{label:n,path:r}=e;return"string"==typeof n?{label:n,path:r}:Object.prototype.hasOwnProperty.call(n,t)?{label:n[t],path:r}:{label:r,path:r}}}n.d(t,{p:()=>r})},1088:(e,t,n)=>{"use strict";n.d(t,{CU:()=>a,UB:()=>f,tb:()=>u,O6:()=>g,I$:()=>h,BH:()=>r,sx:()=>o,ZG:()=>p,WW:()=>c,pk:()=>d,Hg:()=>m,IH:()=>i,rG:()=>l,AT:()=>s,dz:()=>y});n(8291);const r=["en"],o=!1,a=null,i="search-index{dir}.json?_=e0b770e1",s=8,l=50,u=!1,c=!0,d=!0,p="right",f=void 0,h=!0,m=null,g=!1,y=!1},9913:(e,t,n)=>{"use strict";var r;n.d(t,{i:()=>r}),function(e){e[e.Title=0]="Title",e[e.Heading=1]="Heading",e[e.Description=2]="Description",e[e.Keywords=3]="Keywords",e[e.Content=4]="Content"}(r||(r={}))},1034:(e,t,n)=>{"use strict";n.d(t,{d1:()=>h,vT:()=>E,gk:()=>C,Gy:()=>x,$S:()=>p,vF:()=>w,ht:()=>S,g1:()=>v});var r=n(6347),o=n(6588);function a(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}var i=n(6540);n(8328),n(4586);function s(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}var l=n(7948);n(4848);const u=Symbol("EmptyContext"),c=i.createContext(u);function d(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=d(t);if(e)return e}}(e):void 0:e.href}function p(){const{pathname:e}=(0,r.zy)(),t=function(){const e=(0,i.useContext)(c);if(e===u)throw new l.dV("DocsSidebarProvider");return e}();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=f({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}function f(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&(s(a.href,n)||e(a.items))||"link"===a.type&&s(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function h(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!d(e)))}var m=n(7065),g=n(4180);g.N;const y=i.createContext(null);function b(){const e=(0,i.useContext)(y);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=m.W);const t=S(e),[n,r]=b(),{preferredVersionName:o}=n[e];return{preferredVersion:t.versions.find((e=>e.name===o))??null,savePreferredVersionName:(0,i.useCallback)((t=>{r.savePreferredVersion(e,t)}),[r,e])}}function w(){const e=x(),t=C(),n=function(){const e=x(),[t]=b();function n(n){const r=e[n],{preferredVersionName:o}=t[n];return r.versions.find((e=>e.name===o))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}();return[...Object.keys(e).map((function(r){const o=t?.activePlugin.pluginId===r?t.activeVersion:void 0,a=n[r],i=e[r].versions.find((e=>e.isLast));return function(e,t){return`docs-${e}-${t}`}(r,(o??a??i).name)}))]}const k={},x=()=>(0,o.kh)("docusaurus-plugin-content-docs")??k,S=e=>{try{return(0,o.P_)("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function E(e){void 0===e&&(e={});const t=x(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&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 a}(t,n,e)}function C(e){void 0===e&&(e={});const t=E(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:a(t.pluginData,n)}}},7948:(e,t,n)=>{"use strict";n.d(t,{dV:()=>r});n(6540),n(205),n(4848);class r 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??""}`}}},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>_,yJ:()=>f,sC:()=>A,AO:()=>p});var r=n(8168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&o(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};var s=n(1561);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 p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function h(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!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;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,m(),w.location);c.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(4363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={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]||o}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,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var o=f(n);o&&o!==h&&e(t,o,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var s=l(t),m=l(n),g=0;g{"use strict";e.exports=function(e,t,n,r,o,a,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,o,a,i,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},8291:(e,t,n)=>{var r,o;!function(){var a,i,s,l,u,c,d,p,f,h,m,g,y,b,v,w,k,x,S,E,C,_,T,A,j,L,P,R,N,O,I=function(e){var t=new I.Builder;return t.pipeline.add(I.trimmer,I.stopWordFilter,I.stemmer),t.searchPipeline.add(I.stemmer),e.call(t,t),t.build()};I.version="2.3.9",I.utils={},I.utils.warn=(a=this,function(e){a.console&&console.warn&&console.warn(e)}),I.utils.asString=function(e){return null==e?"":e.toString()},I.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var l=I.utils.clone(t)||{};l.position=[i,s],l.index=o.length,o.push(new I.Token(n.slice(i,a),l))}i=a+1}}return o},I.tokenizer.separator=/[\s\-]+/,I.Pipeline=function(){this._stack=[]},I.Pipeline.registeredFunctions=Object.create(null),I.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&I.utils.warn("Overwriting existing registered function: "+t),e.label=t,I.Pipeline.registeredFunctions[e.label]=e},I.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||I.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},I.Pipeline.load=function(e){var t=new I.Pipeline;return e.forEach((function(e){var n=I.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},I.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){I.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},I.Pipeline.prototype.after=function(e,t){I.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)},I.Pipeline.prototype.before=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},I.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},I.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(ae&&(n=o),a!=e);)r=n-t,o=t+Math.floor(r/2),a=this.elements[2*o];return a==e||a>e?2*o:as?u+=2:i==s&&(t+=n[l+1]*r[u+1],l+=2,u+=2);return t},I.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},I.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var a,i=o.str.charAt(0);i in o.node.edges?a=o.node.edges[i]:(a=new I.TokenSet,o.node.edges[i]=a),1==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var s=o.node.edges["*"];else{s=new I.TokenSet;o.node.edges["*"]=s}if(0==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var l=o.node.edges["*"];else{l=new I.TokenSet;o.node.edges["*"]=l}1==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var u,c=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?u=o.node.edges[d]:(u=new I.TokenSet,o.node.edges[d]=u),1==o.str.length&&(u.final=!0),r.push({node:u,editsRemaining:o.editsRemaining-1,str:c+o.str.slice(2)})}}}return n},I.TokenSet.fromString=function(e){for(var t=new I.TokenSet,n=t,r=0,o=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()}},I.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},I.Index.prototype.search=function(e){return this.query((function(t){new I.QueryParser(e,t).parse()}))},I.Index.prototype.query=function(e){for(var t=new I.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),a=Object.create(null),i=Object.create(null),s=0;s1?1:e},I.Builder.prototype.k1=function(e){this._k1=e},I.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 o=0;o=this.length)return I.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},I.QueryLexer.prototype.width=function(){return this.pos-this.start},I.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},I.QueryLexer.prototype.backup=function(){this.pos-=1},I.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=I.QueryLexer.EOS&&this.backup()},I.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(I.QueryLexer.TERM)),e.ignore(),e.more())return I.QueryLexer.lexText},I.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.EDIT_DISTANCE),I.QueryLexer.lexText},I.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.BOOST),I.QueryLexer.lexText},I.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(I.QueryLexer.TERM)},I.QueryLexer.termSeparator=I.tokenizer.separator,I.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==I.QueryLexer.EOS)return I.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return I.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if(t.match(I.QueryLexer.termSeparator))return I.QueryLexer.lexTerm}else e.escapeCharacter()}},I.QueryParser=function(e,t){this.lexer=new I.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},I.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=I.QueryParser.parseClause;e;)e=e(this);return this.query},I.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},I.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},I.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},I.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case I.QueryLexer.PRESENCE:return I.QueryParser.parsePresence;case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.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 I.QueryParseError(n,t.start,t.end)}},I.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=I.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=I.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new I.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new I.QueryParseError(n,t.start,t.end)}switch(r.type){case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new I.QueryParseError(n,r.start,r.end)}}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o){r="expecting term, found nothing";throw new I.QueryParseError(r,t.start,t.end)}if(o.type===I.QueryLexer.TERM)return I.QueryParser.parseTerm;r="expecting term, found '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}},I.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 I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new I.QueryParseError(r,n.start,n.end)}else e.nextClause()}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}else e.nextClause()}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new I.QueryParseError(r,o.start,o.end)}else e.nextClause()}},void 0===(o="function"==typeof(r=function(){return I})?r.call(t,n,t,e):r)||(e.exports=o)}()},119:(e,t,n)=>{"use strict";n.r(t)},1043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,o;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 o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}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=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),u=a.querySelector(r.barSelector),c=r.speed,d=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(u,i(e,c,d)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{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)*o(Math.random()*t,.1,.95)),t=o(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 o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),u=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),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&&f(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,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function u(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},6969:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},8722:(e,t,n)=>{const r=n(6969),o=n(8380),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(3157).resolve(t)],delete Prism.languages[e],n(3157)(t),a.add(e)}))}i.silent=!1,e.exports=i},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=a.length);l++){var u=s[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=a[o],d=n.tokenStack[c],p="string"==typeof u?u:u.content,f=t(r,c),h=p.indexOf(f);if(h>-1){++o;var m=p.substring(0,h),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=p.substring(h+f.length),b=[];m&&b.push.apply(b,i([m])),b.push(g),y&&b.push.apply(b,i([y])),"string"==typeof u?s.splice.apply(s,[l,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return s}(n.tokens)}}}})}(Prism)},8692:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=8692},3157:(e,t,n)=>{var r={"./":8722};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=3157},8380:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var s={},l=e[r];if(l){function u(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in s))for(var i in o(t,a),s[t]=!0,n[t])s[i]=!0}t(l.require,u),t(l.optional,u),t(l.modify,u)}n[r]=s,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,s){var l=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[r]||r}}(l);i=i.map(u),s=(s||[]).map(u);var c=n(i),d=n(s);i.forEach((function e(n){var r=l[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var p,f=r(l),h=c;o(h);){for(var m in p={},h){var g=l[m];t(g&&g.modify,(function(e){e in d&&(p[e]=!0)}))}for(var y in d)if(!(y in c))for(var b in f(y))if(b in c){p[y]=!0;break}for(var v in h=p)c[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,o){var a=o?o.series:void 0,i=o?o.parallel:e,s={},l={};function u(e){if(e in s)return s[e];l[e]=!0;var o,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)o=r(e);else{var p=i(c.map((function(e){var t=u(e);return delete l[e],t})));a?o=a(p,(function(){return r(e)})):r(e)}return s[e]=o}for(var c in n)u(c);var d=[];for(var p in l)d.push(s[p]);return i(d)}(f,c,t,n)}};return w}}();e.exports=t},2694:(e,t,n)=>{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),o=n(9982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n