_site
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Sisk Documentation | Sisk </title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="title" content="Sisk Documentation | Sisk "> <link rel="icon" href="assets/img/favicon.ico"> <link rel="stylesheet" href="public/docfx.min.css"> <link rel="stylesheet" href="public/main.css"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> <link href="https://fonts.googleapis.com/css2?family=Geist+Mono:[email protected]&family=Geist:[email protected]&display=swap" rel="stylesheet"> <meta name="docfx:navrel" content="toc.html"> <meta name="docfx:tocrel" content="toc.html"> <meta name="docfx:rel" content=""> <meta name="docfx:docurl" content="https://github.com/sisk-http/docs/blob/master/readme.md/#L1"> <meta name="loc:inThisArticle" content="In this article"> <meta name="loc:searchResultsCount" content="{count} results for "{query}""> <meta name="loc:searchNoResults" content="No results for "{query}""> <meta name="loc:tocFilter" content="Filter by title"> <meta name="loc:nextArticle" content="Next"> <meta name="loc:prevArticle" content="Previous"> <meta name="loc:themeLight" content="Light"> <meta name="loc:themeDark" content="Dark"> <meta name="loc:themeAuto" content="Auto"> <meta name="loc:changeTheme" content="Change theme"> <meta name="loc:copy" content="Copy"> <meta name="loc:downloadPdf" content="Download PDF"> <script type="module" src="./public/docfx.min.js"></script> <script> const theme = localStorage.getItem('theme') || 'auto'; document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme) </script> <script src="https://unpkg.com/@cypherpotato/el/dist/el.min.js"></script> <!-- GoatCounter --> <script data-goatcounter="https://siskframework.goatcounter.com/count" async="" src="//gc.zgo.at/count.js"></script> <!-- End GoatCounter --> <script> function switchLanguage(lang) { const docPart = window.location.pathname.match(/\/docs\/((pt\-br|ru|cn|es|de|jp)\/)?(.*)/)[3]; const newPath = lang + docPart; window.location.href = window.location.origin + newPath; } </script> </head> <body class="tex2jax_ignore" data-layout="" data-yaml-mime=""> <header class="bg-body border-bottom"> <nav id="autocollapse" class="navbar navbar-expand-md" role="navigation"> <div class="container-xxl flex-nowrap"> <a class="navbar-brand" href="index.html"> <img id="logo" class="svg" src="assets/img/Icon.png" alt="Sisk"> Sisk </a> <button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation"> <i class="bi bi-three-dots"></i> </button> <div class="collapse navbar-collapse" id="navpanel"> <div id="navbar"> <form class="search" role="search" id="search"> <i class="bi bi-search"></i> <input class="form-control" id="search-query" type="search" disabled="" placeholder="Search" autocomplete="off" aria-label="Search"> </form> </div> </div> </div> </nav> </header> <main class="container-xxl"> <div class="content"> <div class="actionbar"> <nav id="breadcrumb"></nav> <div id="language-wrapper"> <a class="btn border-0 dropdown-toggle show" data-bs-toggle="dropdown" aria-expanded="true" title="Change theme"> <i class="bi bi-globe"></i> </a> <ul class="dropdown-menu dropdown-menu-end language-dropdown"> <li> <a class="dropdown-item" href="javascript:switchLanguage('/docs/')"> <img src="/assets/flag/usa.png"> English </a> </li> <li> <a class="dropdown-item" href="javascript:switchLanguage('/docs/ru/')"> <img src="/assets/flag/russia.png"> Русский </a> </li> <li> <a class="dropdown-item" href="javascript:switchLanguage('/docs/pt-br/')"> <img src="/assets/flag/brazil.png"> Português </a> </li> <li> <a class="dropdown-item" href="javascript:switchLanguage('/docs/es/')"> <img src="/assets/flag/spain.png"> Español </a> </li> <li> <a class="dropdown-item" href="javascript:switchLanguage('/docs/de/')"> <img src="/assets/flag/germany.png"> Deutsch </a> </li> <li> <a class="dropdown-item" href="javascript:switchLanguage('/docs/cn/')"> <img src="/assets/flag/china.png"> 中文 (简体) </a> </li> <li> <a class="dropdown-item" href="javascript:switchLanguage('/docs/jp/')"> <img src="/assets/flag/japan.png"> 日本語 </a> </li> </ul> </div> </div> <article data-uid=""> <h1 id="sisk-documentation">Sisk Documentation</h1> <p>This repository contains the source code of the <a href="https://docs.sisk-framework.org/">Sisk Documentation website</a>.</p> <h2 id="building">Building</h2> <ol> <li>Firstly, make sure you have <a href="https://dotnet.github.io/docfx/">docfx</a> installed in your machine. You'll need <a href="https://dotnet.microsoft.com/en-us/download">.NET SDK</a> to install it.</li> <li>Clone this repository.</li> <li>Build the <a href="https://github.com/sisk-http/core">Sisk Framework project</a> and put the .DLL binaries and XML documentation file at the <code>ref/</code> directory, on the repository root.</li> <li>Run <code>docfx</code>, then <code>docfx serve</code>.</li> </ol> <div class="WARNING"> <h5>Warning</h5> <p>Please, <strong>do not</strong> use the docfx version <strong>2.78.0</strong> or later. This version has a bug that changes the documentation navigation layout. See the <a href="https://github.com/dotnet/docfx/issues/10424">tracking issue</a>.</p> <p>Prefer the version <strong>2.76.0</strong>:</p> <pre><code>dotnet tool install -g docfx --version 2.76.0 </code></pre> </div> <p>Then you're ready to go and you'll have the static website files at <code>/_site</code>.</p> <h2 id="contributing">Contributing</h2> <p>Contributions are always welcome. Contribute with spelling corrections, fixing broken links and more.</p> <p>Please, only edit <strong>english</strong> documentation files. Documentation files for another languages are AI-generated from english files through.</p> <div class="NOTE"> <h5>Note</h5> <p>Please do not edit API specification files (XML). These files are generated. If you want to edit any API documentation, edit it in the repository where the code is hosted.</p> </div> </article> <div class="contribution d-print-none"> <a href="https://github.com/sisk-http/docs/blob/master/readme.md/#L1" class="edit-link">Edit this page</a> </div> <div class="next-article d-print-none border-top" id="nextArticle"></div> </div> <div class="affix"> <nav id="affix"></nav> </div> </main> <div class="container-xxl search-results" id="search-results"></div> <footer class="border-top text-secondary"> <div class="container-xxl"> <div class="flex-fill"> <span>Made with <a href="https://dotnet.github.io/docfx">docfx</a></span> </div> </div> <script> if (window.location.pathname.startsWith('/docs/')) { document.getElementById('language-wrapper').style.display = 'block'; } function splitText(text, words) { if (!Array.isArray(words)) return []; const escapedWords = words.map(word => word.replace(/([.*+?^${}()|[\]\\])/g, '\\$1').replace(/\s/g, '\\$&')); escapedWords.sort((a, b) => b.length - a.length || b.localeCompare(a, 'en-US', { sensitivity: 'base' })); const pattern = new RegExp(`\\b(${escapedWords.join('|')})\\b`, 'gi'); const splitResult = text.split(pattern); const cleanedResult = splitResult.filter(segment => segment !== ''); return cleanedResult; } function runPostHljsFunctions() { if (!document.querySelector("pre>code")) { return; } if (!document.querySelector(".hljs")) { setTimeout(runPostHljsFunctions, 100); return; } function highlightMissingCodeTokens(pre) { const tokenClasses = [ "HttpResponse", "HttpRequest", "File", "Task", "Router", "Route", "StringContent", "StreamContent", "JsonContent", "RegexRoute", "HtmlContent", "CancellationTokenSource", "HttpContext", "Stream", "MultipartObject", "Thread", "Task", "Encoding", "HttpKnownHeaderNames", "HttpMethod", "List", "JsonSerializer", "LogStream", "HttpServer", "RotatingLogPolicy", "StringBuilder", "Console", "HttpRequestEventSource", "HttpWebSocket", "X509Certificate2", "AppDomain", "Path", "Directory", "HttpServerConfiguration", "ListeningHost", "ByteArrayContent", "ForwardingResolver", "IPAddress", "IPEndPoint", "HttpServerExecutionResult", "ArgumentNullException", "JsonSerializerOptions", "DbContext" ]; const tokenValues = [ "RouteMethod", "Guid", "RequestHandlerExecutionMode", "HttpStatusCode", "HttpStatusInformation", "DateTime", "TimeSpan", "RouterMethod", "ListeningPort" ]; const tokenInterfaces = [ "IRequestHandler", "IEnumerable", "ICollection", "IList" ]; function runStyles(node) { if (node.nodeType === 3) { applyStyles(node); } else if (node.nodeType === 1) { const prohibitedClasses = ["hljs-comment", "hljs-string"]; if (! prohibitedClasses.some(cls => node.classList.contains(cls))) { for(const child of node.childNodes) { runStyles(child); } } } } function applyStyles(textNode) { const text = textNode.textContent; const fragment = []; for (const token of splitText(text, [...tokenClasses, ...tokenValues, ...tokenInterfaces])) { if (tokenClasses.includes(token)) { fragment.push(el("span.hljs-meta", token)); } else if (tokenValues.includes(token)) { fragment.push(el("span.hljs-meta-value", token)); } else if (tokenInterfaces.includes(token)) { fragment.push(el("span.hljs-meta-interface", token)); } else { fragment.push(token); } } textNode.replaceWith(el.fragment(...fragment)); } const code = pre.querySelector("code"); if (code && (code.classList.contains("lang-csharp") || code.classList.contains("lang-cs"))) { runStyles(code); } } function addLineNumbers(pre) { const code = pre.querySelector("code"); if (!code) return; var lines = (code.textContent.match(/\n/g) || []).length; if (lines == 1) { return; } const lineElements = []; for (let i = 1; i <= lines; i++) { lineElements.push(el("span.hljs-line-number", i + "\n")); } code.prepend(el("div.line-numbers", ...lineElements)); code.classList.add("has-line-numbers"); } document.querySelectorAll("pre").forEach(pre => { highlightMissingCodeTokens(pre); addLineNumbers(pre); }); } runPostHljsFunctions(); </script> </footer> </body> </html>