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