1"use strict";(globalThis.webpackChunkdoteki_website=globalThis.webpackChunkdoteki_website||[]).push([[721],{7495(e,t,n){n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"developer-guide/website","title":"Website Development","description":"This website is built using Docusaurus 3, a static website generator.","source":"@site/docs/developer-guide/website.md","sourceDirName":"developer-guide","slug":"/developer-guide/website","permalink":"/docs/developer-guide/website","draft":false,"unlisted":false,"editUrl":"https://github.com/welpo/doteki/tree/main/website/docs/developer-guide/website.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"How to Write a Plugin","permalink":"/docs/developer-guide/plugin-standard"}}');var i=n(4848),o=n(8453);const r={sidebar_position:3},l="Website Development",d={},a=[{value:"Running the website locally",id:"running-the-website-locally",level:2}];function c(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"website-development",children:"Website Development"})}),"\n",(0,i.jsxs)(t.p,{children:["This website is built using ",(0,i.jsx)(t.a,{href:"https://docusaurus.io/",children:"Docusaurus 3"}),", a static website generator."]}),"\n",(0,i.jsxs)(t.p,{children:["The documentation is generated from the markdown files in the ",(0,i.jsx)(t.code,{children:"website/docs"})," directory and built automatically on every commit to the ",(0,i.jsx)(t.code,{children:"main"})," branch."]}),"\n",(0,i.jsx)(t.h2,{id:"running-the-website-locally",children:"Running the website locally"}),"\n",(0,i.jsxs)(t.p,{children:["To run the website locally, you need to have ",(0,i.jsx)(t.a,{href:"https://nodejs.org/",children:"Node.js"})," and ",(0,i.jsx)(t.code,{children:"npm"})," installed on your machine."]}),"\n",(0,i.jsxs)(t.p,{children:["From the root of the repository, change directory to ",(0,i.jsx)(t.code,{children:"website"})," and install the dependencies:"]}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"cd website\nnpm install\n"})}),"\n",(0,i.jsx)(t.p,{children:"Then, run the local development server:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-bash",children:"npx docusaurus start\n"})}),"\n",(0,i.jsxs)(t.p,{children:["This command should automatically open a browser window with the website running locally. If it doesn't, you should be able to access it at ",(0,i.jsx)(t.a,{href:"http://localhost:3000/",children:"http://localhost:3000/"}),"."]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453(e,t,n){n.d(t,{R:()=>r,x:()=>l});var s=n(6540);const i={},o=s.createContext(i);function r(e){const t=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.