aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2023-12-16 15:57:40 -0800
committerPinapelz <yukais@pinapelz.com>2023-12-16 15:57:40 -0800
commit5a58f0192a1992f0a1a31f9981f480cec67f0faa (patch)
treef4b3e263ae259aa232afcaeb416030f91752d9b2
parent7fb6955d917f1791032ffd9c6bfc81cb9080fa96 (diff)
fix: build
-rw-r--r--HelpTOC.json2
-rw-r--r--Map.jhm2
-rw-r--r--Writerside/hi.tree2
-rw-r--r--patchwork-api.html2
-rw-r--r--patchwork-archive.html2
-rw-r--r--vtuber-captcha.html8
-rw-r--r--welcome.html2
7 files changed, 10 insertions, 10 deletions
diff --git a/HelpTOC.json b/HelpTOC.json
index ff39493..e6314ae 100644
--- a/HelpTOC.json
+++ b/HelpTOC.json
@@ -1 +1 @@
-{"entities":{"pages":{"IMissSomeone-VT":{"id":"IMissSomeone-VT","title":"IMissSomeone-VT","url":"imisssomeone-vt.html","level":0,"tabIndex":0},"Welcome":{"id":"Welcome","title":"Welcome","url":"welcome.html","level":0,"tabIndex":1},"Patchwork-Archive":{"id":"Patchwork-Archive","title":"Patchwork Archive","url":"patchwork-archive.html","level":0,"pages":["Patchwork-API"],"tabIndex":2},"Patchwork-API":{"id":"Patchwork-API","title":"Patchwork Archive API","url":"patchwork-api.html","level":1,"parentId":"Patchwork-Archive","tabIndex":0},"VTuber-Captcha":{"id":"VTuber-Captcha","title":"VTuber Captcha","url":"vtuber-captcha.html","level":0,"tabIndex":3}}},"topLevelIds":["IMissSomeone-VT","Welcome","Patchwork-Archive","VTuber-Captcha"]} \ No newline at end of file
+{"entities":{"pages":{"Welcome":{"id":"Welcome","title":"Welcome","url":"welcome.html","level":0,"tabIndex":0},"Patchwork-Archive":{"id":"Patchwork-Archive","title":"Patchwork Archive","url":"patchwork-archive.html","level":0,"pages":["Patchwork-API"],"tabIndex":1},"Patchwork-API":{"id":"Patchwork-API","title":"Patchwork Archive API","url":"patchwork-api.html","level":1,"parentId":"Patchwork-Archive","tabIndex":0},"VTuber-Captcha":{"id":"VTuber-Captcha","title":"VTuber Captcha","url":"vtuber-captcha.html","level":0,"tabIndex":2},"IMissSomeone-VT":{"id":"IMissSomeone-VT","title":"IMissSomeone-VT","url":"imisssomeone-vt.html","level":0,"tabIndex":3}}},"topLevelIds":["Welcome","Patchwork-Archive","VTuber-Captcha","IMissSomeone-VT"]} \ No newline at end of file
diff --git a/Map.jhm b/Map.jhm
index d143b73..eb5883d 100644
--- a/Map.jhm
+++ b/Map.jhm
@@ -1 +1 @@
-<?xml version='1.0' encoding='UTF-8'?><map version="2.0"><mapID target="IMissSomeone-VT.md" url="imisssomeone-vt.html" default="no"/><mapID target="IMissSomeone-VT" url="imisssomeone-vt.html" default="no"/><mapID target="Welcome.md" url="welcome.html" default="yes"/><mapID target="Welcome" url="welcome.html" default="yes"/><mapID target="Patchwork-Archive.md" url="patchwork-archive.html" default="no"/><mapID target="Patchwork-Archive" url="patchwork-archive.html" default="no"/><mapID target="Patchwork-API.md" url="patchwork-api.html" default="no"/><mapID target="Patchwork-API" url="patchwork-api.html" default="no"/><mapID target="VTuber-Captcha.md" url="vtuber-captcha.html" default="no"/><mapID target="VTuber-Captcha" url="vtuber-captcha.html" default="no"/></map> \ No newline at end of file
+<?xml version='1.0' encoding='UTF-8'?><map version="2.0"><mapID target="Welcome.md" url="welcome.html" default="yes"/><mapID target="Welcome" url="welcome.html" default="yes"/><mapID target="Patchwork-Archive.md" url="patchwork-archive.html" default="no"/><mapID target="Patchwork-Archive" url="patchwork-archive.html" default="no"/><mapID target="Patchwork-API.md" url="patchwork-api.html" default="no"/><mapID target="Patchwork-API" url="patchwork-api.html" default="no"/><mapID target="VTuber-Captcha.md" url="vtuber-captcha.html" default="no"/><mapID target="VTuber-Captcha" url="vtuber-captcha.html" default="no"/><mapID target="IMissSomeone-VT.md" url="imisssomeone-vt.html" default="no"/><mapID target="IMissSomeone-VT" url="imisssomeone-vt.html" default="no"/></map> \ No newline at end of file
diff --git a/Writerside/hi.tree b/Writerside/hi.tree
index 71badc9..1780f40 100644
--- a/Writerside/hi.tree
+++ b/Writerside/hi.tree
@@ -5,10 +5,10 @@
<instance-profile id="hi"
name="Project Knowledge Base"
start-page="Welcome.md">
- <toc-element topic="IMissSomeone-VT.md"/>
<toc-element topic="Welcome.md"/>
<toc-element topic="Patchwork-Archive.md">
<toc-element topic="Patchwork-API.md"/>
</toc-element>
<toc-element topic="VTuber-Captcha.md"/>
+ <toc-element topic="IMissSomeone-VT.md"/>
</instance-profile> \ No newline at end of file
diff --git a/patchwork-api.html b/patchwork-api.html
index c8ba135..a4a0481 100644
--- a/patchwork-api.html
+++ b/patchwork-api.html
@@ -1 +1 @@
-<!DOCTYPE html SYSTEM "about:legacy-compat"><html lang="en-US" data-colors-preset="contrast" data-primary-color="#307FFF"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="robots" content="noindex"> <meta name="built-on" content="2023-12-16T15:53:06.919838174"><meta name="build-number" content="${buildNumber}"> <title>Patchwork Archive API | Project Knowledge Base</title><script id="virtual-toc-data" type="application/json">[]</script><script id="topic-shortcuts" type="application/json"></script><link href="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.css" rel="stylesheet"> <link rel="apple-touch-icon" sizes="180x180" href="https://jetbrains.com/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://jetbrains.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://jetbrains.com/favicon-16x16.png"><link rel="manifest" href="https://jetbrains.com/site.webmanifest"><link rel="mask-icon" href="https://jetbrains.com/safari-pinned-tab.svg" color="#000000"><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-TileImage" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x310.png"/> <meta name="image" content=""><!-- Open Graph --><meta property="og:title" content="Patchwork Archive API | Project Knowledge Base"/><meta property="og:description" content=""/><meta property="og:image" content=""/><meta property="og:site_name" content="Project Knowledge Base Help"/><meta property="og:type" content="website"/><meta property="og:locale" content="en_US"/><meta property="og:url" content="patchwork-api.html"/><!-- End Open Graph --><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content=""><meta name="twitter:title" content="Patchwork Archive API | Project Knowledge Base"><meta name="twitter:description" content=""><meta name="twitter:creator" content=""><meta name="twitter:image:src" content=""><!-- End Twitter Card --><!-- Schema.org WebPage --><script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "patchwork-api.html#webpage", "url": "patchwork-api.html", "name": "Patchwork Archive API | Project Knowledge Base", "description": "", "image": "", "inLanguage":"en-US" }</script><!-- End Schema.org --><!-- Schema.org WebSite --><script type="application/ld+json"> { "@type": "WebSite", "@id": "/#website", "url": "/", "name": "Project Knowledge Base Help" }</script><!-- End Schema.org --></head> <body data-id="Patchwork-API" data-main-title="Patchwork Archive API" data-article-props="{&quot;seeAlsoStyle&quot;:&quot;links&quot;}" data-template="article" data-breadcrumbs="Patchwork-Archive.md|Patchwork Archive" > <div class="wrapper"><main class="panel _main"><header class="panel__header"><div class="container"><h3>Project Knowledge Base Help</h3><div class="panel-trigger"></div></div></header><section class="panel__content"><div class="container"><article class="article" data-shortcut-switcher="inactive"><h1 data-toc="Patchwork-API" id="Patchwork-API.md">Patchwork Archive API</h1> <p id="a1bedc99_1778">API data from Patchwork Archive is public and <span class="control" id="a1bedc99_1779">no API key</span> is required to access what is publicly available on the frontend.</p><p id="a1bedc99_1780">Below is an offering of what endpoints are available publicly. If you are for whatever reason hosting an instance of <span class="control" id="a1bedc99_1781">Patchwork-Backend</span> please refer to the <span class="control" id="a1bedc99_1782">README</span> in the repository for worker and queuer API endpoints <section class="chapter"><h2 id="a1bedc99_1783" data-toc="a1bedc99_1783" >Gets archived videos from a particular channel</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /channel/{channel_id}"><span>/channel/{channel_id}</span></copier></div><p id="a1bedc99_1785">Gets a paginated result of archived videos matching a channel id</p><section class="chapter"><h3 id="a1bedc99_1786" data-toc="a1bedc99_1786" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1788" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Path","contents":[{"id":"api_doc_1","name":"channel_id","description":"YouTube Channel ID","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group><api-param-group id="a1bedc99_1789" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Query","contents":[{"id":"api_doc_2","name":"page","description":"Page of video to show (starts on page 1)","required":"true","typeName":"integer","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="a1bedc99_1790" data-toc="a1bedc99_1790" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1791" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Array of Video","typeKind":"ARRAY","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="a1bedc99_1793" data-toc="a1bedc99_1793" >Gets archived videos from a particular channel</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /channel_name"><span>/channel_name</span></copier></div><p id="a1bedc99_1795">Gets a paginated result of archived videos matching a channel id</p><section class="chapter"><h3 id="a1bedc99_1796" data-toc="a1bedc99_1796" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1798" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Query","contents":[{"id":"api_doc_1","name":"channel_id","description":"YouTube Channel ID","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="a1bedc99_1799" data-toc="a1bedc99_1799" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1800" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_2","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_name","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="a1bedc99_1802" data-toc="a1bedc99_1802" >Get basic information regarding a specific video</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /video/{video_id}"><span>/video/{video_id}</span></copier></div><p id="a1bedc99_1804">Pulls basic information about a video from fallback database only</p><section class="chapter"><h3 id="a1bedc99_1805" data-toc="a1bedc99_1805" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1807" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Path","contents":[{"id":"api_doc_1","name":"video_id","description":"YouTube Video ID","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="a1bedc99_1808" data-toc="a1bedc99_1808" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1809" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}, {"statusCode":"404","statusType":"ERROR","name":"Video not found","description":"Video not found","contentType":["application/json"],"contents":[{"id":"api_doc_2","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"error","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="a1bedc99_1813" data-toc="a1bedc99_1813" >Get a singular random video</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /random_video"><span>/random_video</span></copier></div><section class="chapter"><h3 id="a1bedc99_1815" data-toc="a1bedc99_1815" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1816" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Video","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="a1bedc99_1818" data-toc="a1bedc99_1818" >Get multiple random videos</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /discover_videos"><span>/discover_videos</span></copier></div><section class="chapter"><h3 id="a1bedc99_1820" data-toc="a1bedc99_1820" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1822" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Query","contents":[{"id":"api_doc_1","name":"count","description":"Number of random videos to get (default\u003d1)","typeName":"integer","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="a1bedc99_1823" data-toc="a1bedc99_1823" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1824" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Array of Video","typeKind":"ARRAY","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="a1bedc99_1826" data-toc="a1bedc99_1826" >Get paginated search results for some keyword</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /search/results"><span>/search/results</span></copier></div><section class="chapter"><h3 id="a1bedc99_1828" data-toc="a1bedc99_1828" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1830" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Query","contents":[{"id":"api_doc_1","name":"q","description":"Keywords to search for","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"page","description":"Page number for results (default\u003d1)","typeName":"integer","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="a1bedc99_1831" data-toc="a1bedc99_1831" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1832" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Array of Video","typeKind":"ARRAY","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="a1bedc99_1834" data-toc="a1bedc99_1834" >Get today's daily features videos</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /daily_featured_videos"><span>/daily_featured_videos</span></copier></div><p id="a1bedc99_1836">Either 1 or 2 video objects in an array depending on calculated hash</p><section class="chapter"><h3 id="a1bedc99_1837" data-toc="a1bedc99_1837" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1838" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Array of Video","typeKind":"ARRAY","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="a1bedc99_1840" data-toc="a1bedc99_1840" >Get the 6 most recently archived videos</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /recently_archived"><span>/recently_archived</span></copier></div><section class="chapter"><h3 id="a1bedc99_1842" data-toc="a1bedc99_1842" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1843" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Array of Video","typeKind":"ARRAY","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="a1bedc99_1845" data-toc="a1bedc99_1845" >Get detailed information about the video if available</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /database/video_data/{video_id}"><span>/database/video_data/{video_id}</span></copier></div><p id="a1bedc99_1847">If info.json generated by yt-dlp is available it will be directly delivered here, if not, fallback video data from the database is used instead</p><section class="chapter"><h3 id="a1bedc99_1848" data-toc="a1bedc99_1848" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1850" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Path","contents":[{"id":"api_doc_1","name":"video_id","description":"YouTube Video ID","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="a1bedc99_1851" data-toc="a1bedc99_1851" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1852" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation.","description":"successful operation.","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Video","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="a1bedc99_1854" data-toc="a1bedc99_1854" >Get the status of the database</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /database/status"><span>/database/status</span></copier></div><section class="chapter"><h3 id="a1bedc99_1856" data-toc="a1bedc99_1856" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1857" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation.","description":"successful operation.","contentType":["application/json"],"contents":[{"id":"api_doc_2","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"OK","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}, {"statusCode":"500","statusType":"ERROR","name":"database is down","description":"database is down","contentType":["application/json"],"contents":[{"id":"api_doc_2","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"FAIL","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="a1bedc99_1861" data-toc="a1bedc99_1861" >Get the status of the database</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /storage/status"><span>/storage/status</span></copier></div><p id="a1bedc99_1863">Gets the number of videos archived and space used in GB</p><section class="chapter"><h3 id="a1bedc99_1864" data-toc="a1bedc99_1864" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="a1bedc99_1865" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation.","description":"successful operation.","contentType":["application/json"],"contents":[{"id":"api_doc_3","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"number_of_files","typeName":"integer","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"storage_size","typeName":"integer","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section></p><div class="last-modified"> Last modified: 16 December 2023</div><div data-feedback-placeholder="true"></div><div class="navigation-links _bottom"> <a class="navigation-links__prev" href="patchwork-archive.html">Patchwork Archive</a> <a class="navigation-links__next" href="vtuber-captcha.html">VTuber Captcha</a> </div></article><div id="disqus_thread"></div></div></section></main></div> <script src="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.js"></script></body></html> \ No newline at end of file
+<!DOCTYPE html SYSTEM "about:legacy-compat"><html lang="en-US" data-colors-preset="contrast" data-primary-color="#307FFF"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="robots" content="noindex"> <meta name="built-on" content="2023-12-16T15:56:55.96231188"><meta name="build-number" content="${buildNumber}"> <title>Patchwork Archive API | Project Knowledge Base</title><script id="virtual-toc-data" type="application/json">[]</script><script id="topic-shortcuts" type="application/json"></script><link href="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.css" rel="stylesheet"> <link rel="apple-touch-icon" sizes="180x180" href="https://jetbrains.com/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://jetbrains.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://jetbrains.com/favicon-16x16.png"><link rel="manifest" href="https://jetbrains.com/site.webmanifest"><link rel="mask-icon" href="https://jetbrains.com/safari-pinned-tab.svg" color="#000000"><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-TileImage" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x310.png"/> <meta name="image" content=""><!-- Open Graph --><meta property="og:title" content="Patchwork Archive API | Project Knowledge Base"/><meta property="og:description" content=""/><meta property="og:image" content=""/><meta property="og:site_name" content="Project Knowledge Base Help"/><meta property="og:type" content="website"/><meta property="og:locale" content="en_US"/><meta property="og:url" content="patchwork-api.html"/><!-- End Open Graph --><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content=""><meta name="twitter:title" content="Patchwork Archive API | Project Knowledge Base"><meta name="twitter:description" content=""><meta name="twitter:creator" content=""><meta name="twitter:image:src" content=""><!-- End Twitter Card --><!-- Schema.org WebPage --><script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "patchwork-api.html#webpage", "url": "patchwork-api.html", "name": "Patchwork Archive API | Project Knowledge Base", "description": "", "image": "", "inLanguage":"en-US" }</script><!-- End Schema.org --><!-- Schema.org WebSite --><script type="application/ld+json"> { "@type": "WebSite", "@id": "/#website", "url": "/", "name": "Project Knowledge Base Help" }</script><!-- End Schema.org --></head> <body data-id="Patchwork-API" data-main-title="Patchwork Archive API" data-article-props="{&quot;seeAlsoStyle&quot;:&quot;links&quot;}" data-template="article" data-breadcrumbs="Patchwork-Archive.md|Patchwork Archive" > <div class="wrapper"><main class="panel _main"><header class="panel__header"><div class="container"><h3>Project Knowledge Base Help</h3><div class="panel-trigger"></div></div></header><section class="panel__content"><div class="container"><article class="article" data-shortcut-switcher="inactive"><h1 data-toc="Patchwork-API" id="Patchwork-API.md">Patchwork Archive API</h1> <p id="7cf9558d_39">API data from Patchwork Archive is public and <span class="control" id="7cf9558d_40">no API key</span> is required to access what is publicly available on the frontend.</p><p id="7cf9558d_41">Below is an offering of what endpoints are available publicly. If you are for whatever reason hosting an instance of <span class="control" id="7cf9558d_42">Patchwork-Backend</span> please refer to the <span class="control" id="7cf9558d_43">README</span> in the repository for worker and queuer API endpoints <section class="chapter"><h2 id="7cf9558d_44" data-toc="7cf9558d_44" >Gets archived videos from a particular channel</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /channel/{channel_id}"><span>/channel/{channel_id}</span></copier></div><p id="7cf9558d_46">Gets a paginated result of archived videos matching a channel id</p><section class="chapter"><h3 id="7cf9558d_47" data-toc="7cf9558d_47" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_49" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Path","contents":[{"id":"api_doc_1","name":"channel_id","description":"YouTube Channel ID","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group><api-param-group id="7cf9558d_50" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Query","contents":[{"id":"api_doc_2","name":"page","description":"Page of video to show (starts on page 1)","required":"true","typeName":"integer","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="7cf9558d_51" data-toc="7cf9558d_51" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_52" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Array of Video","typeKind":"ARRAY","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="7cf9558d_54" data-toc="7cf9558d_54" >Gets archived videos from a particular channel</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /channel_name"><span>/channel_name</span></copier></div><p id="7cf9558d_56">Gets a paginated result of archived videos matching a channel id</p><section class="chapter"><h3 id="7cf9558d_57" data-toc="7cf9558d_57" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_59" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Query","contents":[{"id":"api_doc_1","name":"channel_id","description":"YouTube Channel ID","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="7cf9558d_60" data-toc="7cf9558d_60" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_61" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_2","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_name","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="7cf9558d_63" data-toc="7cf9558d_63" >Get basic information regarding a specific video</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /video/{video_id}"><span>/video/{video_id}</span></copier></div><p id="7cf9558d_65">Pulls basic information about a video from fallback database only</p><section class="chapter"><h3 id="7cf9558d_66" data-toc="7cf9558d_66" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_68" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Path","contents":[{"id":"api_doc_1","name":"video_id","description":"YouTube Video ID","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="7cf9558d_69" data-toc="7cf9558d_69" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_70" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}, {"statusCode":"404","statusType":"ERROR","name":"Video not found","description":"Video not found","contentType":["application/json"],"contents":[{"id":"api_doc_2","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"error","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="7cf9558d_74" data-toc="7cf9558d_74" >Get a singular random video</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /random_video"><span>/random_video</span></copier></div><section class="chapter"><h3 id="7cf9558d_76" data-toc="7cf9558d_76" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_77" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Video","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="7cf9558d_79" data-toc="7cf9558d_79" >Get multiple random videos</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /discover_videos"><span>/discover_videos</span></copier></div><section class="chapter"><h3 id="7cf9558d_81" data-toc="7cf9558d_81" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_83" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Query","contents":[{"id":"api_doc_1","name":"count","description":"Number of random videos to get (default\u003d1)","typeName":"integer","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="7cf9558d_84" data-toc="7cf9558d_84" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_85" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Array of Video","typeKind":"ARRAY","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="7cf9558d_87" data-toc="7cf9558d_87" >Get paginated search results for some keyword</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /search/results"><span>/search/results</span></copier></div><section class="chapter"><h3 id="7cf9558d_89" data-toc="7cf9558d_89" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_91" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Query","contents":[{"id":"api_doc_1","name":"q","description":"Keywords to search for","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"page","description":"Page number for results (default\u003d1)","typeName":"integer","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="7cf9558d_92" data-toc="7cf9558d_92" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_93" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Array of Video","typeKind":"ARRAY","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="7cf9558d_95" data-toc="7cf9558d_95" >Get today's daily features videos</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /daily_featured_videos"><span>/daily_featured_videos</span></copier></div><p id="7cf9558d_97">Either 1 or 2 video objects in an array depending on calculated hash</p><section class="chapter"><h3 id="7cf9558d_98" data-toc="7cf9558d_98" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_99" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Array of Video","typeKind":"ARRAY","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="7cf9558d_101" data-toc="7cf9558d_101" >Get the 6 most recently archived videos</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /recently_archived"><span>/recently_archived</span></copier></div><section class="chapter"><h3 id="7cf9558d_103" data-toc="7cf9558d_103" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_104" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation","description":"successful operation","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Array of Video","typeKind":"ARRAY","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="7cf9558d_106" data-toc="7cf9558d_106" >Get detailed information about the video if available</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /database/video_data/{video_id}"><span>/database/video_data/{video_id}</span></copier></div><p id="7cf9558d_108">If info.json generated by yt-dlp is available it will be directly delivered here, if not, fallback video data from the database is used instead</p><section class="chapter"><h3 id="7cf9558d_109" data-toc="7cf9558d_109" >Request parameters</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_111" master-collapse="true" data-chapter-level="3"><script type="application/json">{"header":"Path","contents":[{"id":"api_doc_1","name":"video_id","description":"YouTube Video ID","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}],"kind":"ApiParamGroup"}</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section><section class="chapter"><h3 id="7cf9558d_112" data-toc="7cf9558d_112" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_113" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation.","description":"successful operation.","contentType":["application/json"],"contents":[{"id":"api_doc_7","name":"application/json","typeName":"Video","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"channel_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"channel_name","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_3","name":"description","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_4","name":"title","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_5","name":"upload_date","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_6","name":"video_id","required":"true","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="7cf9558d_115" data-toc="7cf9558d_115" >Get the status of the database</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /database/status"><span>/database/status</span></copier></div><section class="chapter"><h3 id="7cf9558d_117" data-toc="7cf9558d_117" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_118" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation.","description":"successful operation.","contentType":["application/json"],"contents":[{"id":"api_doc_2","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"OK","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}, {"statusCode":"500","statusType":"ERROR","name":"database is down","description":"database is down","contentType":["application/json"],"contents":[{"id":"api_doc_2","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"FAIL","typeName":"string","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section><section class="chapter"><h2 id="7cf9558d_122" data-toc="7cf9558d_122" >Get the status of the database</h2><div class="api-endpoint"><img alt="GET method" src="https://img.shields.io/badge/-GET-167DFF" title="GET method"><copier tooltip-text="Copy path: /storage/status"><span>/storage/status</span></copier></div><p id="7cf9558d_124">Gets the number of videos archived and space used in GB</p><section class="chapter"><h3 id="7cf9558d_125" data-toc="7cf9558d_125" >Responses</h3><api-block data-chapter-level="3"><primary-column><api-param-group id="7cf9558d_126" master-collapse="true" data-chapter-level="3"><script type="application/json">{ "contents" : [{"statusCode":"200","statusType":"OK","name":"successful operation.","description":"successful operation.","contentType":["application/json"],"contents":[{"id":"api_doc_3","name":"application/json","typeName":"object","typeKind":"OBJECT","recursive":false,"contentsLabel":"Child attributes","contents":[{"id":"api_doc_1","name":"number_of_files","typeName":"integer","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"},{"id":"api_doc_2","name":"storage_size","typeName":"integer","typeKind":"PRIMITIVE","contentsLabel":"Child attributes"}]}],"kind":"ApiResponse"}] }</script></api-param-group></primary-column><secondary-column></secondary-column></api-block></section></section></p><div class="last-modified"> Last modified: 16 December 2023</div><div data-feedback-placeholder="true"></div><div class="navigation-links _bottom"> <a class="navigation-links__prev" href="patchwork-archive.html">Patchwork Archive</a> <a class="navigation-links__next" href="vtuber-captcha.html">VTuber Captcha</a> </div></article><div id="disqus_thread"></div></div></section></main></div> <script src="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.js"></script></body></html> \ No newline at end of file
diff --git a/patchwork-archive.html b/patchwork-archive.html
index 9121e30..82bdcaf 100644
--- a/patchwork-archive.html
+++ b/patchwork-archive.html
@@ -1 +1 @@
-<!DOCTYPE html SYSTEM "about:legacy-compat"><html lang="en-US" data-colors-preset="contrast" data-primary-color="#307FFF"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="robots" content="noindex"> <meta name="built-on" content="2023-12-16T15:53:06.913365305"><meta name="build-number" content="${buildNumber}"> <title>Patchwork Archive | Project Knowledge Base</title><script id="virtual-toc-data" type="application/json">[]</script><script id="topic-shortcuts" type="application/json"></script><link href="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.css" rel="stylesheet"> <link rel="apple-touch-icon" sizes="180x180" href="https://jetbrains.com/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://jetbrains.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://jetbrains.com/favicon-16x16.png"><link rel="manifest" href="https://jetbrains.com/site.webmanifest"><link rel="mask-icon" href="https://jetbrains.com/safari-pinned-tab.svg" color="#000000"><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-TileImage" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x310.png"/> <meta name="image" content=""><!-- Open Graph --><meta property="og:title" content="Patchwork Archive | Project Knowledge Base"/><meta property="og:description" content=""/><meta property="og:image" content=""/><meta property="og:site_name" content="Project Knowledge Base Help"/><meta property="og:type" content="website"/><meta property="og:locale" content="en_US"/><meta property="og:url" content="patchwork-archive.html"/><!-- End Open Graph --><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content=""><meta name="twitter:title" content="Patchwork Archive | Project Knowledge Base"><meta name="twitter:description" content=""><meta name="twitter:creator" content=""><meta name="twitter:image:src" content=""><!-- End Twitter Card --><!-- Schema.org WebPage --><script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "patchwork-archive.html#webpage", "url": "patchwork-archive.html", "name": "Patchwork Archive | Project Knowledge Base", "description": "", "image": "", "inLanguage":"en-US" }</script><!-- End Schema.org --><!-- Schema.org WebSite --><script type="application/ld+json"> { "@type": "WebSite", "@id": "/#website", "url": "/", "name": "Project Knowledge Base Help" }</script><!-- End Schema.org --></head> <body data-id="Patchwork-Archive" data-main-title="Patchwork Archive" data-article-props="{&quot;seeAlsoStyle&quot;:&quot;links&quot;}" data-template="article" data-breadcrumbs="" > <div class="wrapper"><main class="panel _main"><header class="panel__header"><div class="container"><h3>Project Knowledge Base Help</h3><div class="panel-trigger"></div></div></header><section class="panel__content"><div class="container"><article class="article" data-shortcut-switcher="inactive"><h1 data-toc="Patchwork-Archive" id="Patchwork-Archive.md">Patchwork Archive</h1> <p id="9cfca3f3_1753">Patchwork Archive is a project that centers around the preservation and archival of music created by virtual youtubers.</p><p id="9cfca3f3_1754">Worker scripts are ran which download and store videos identified as music, which are then hosted at <span class="emphasis" id="9cfca3f3_1755"><a href="https://patchwork.moekyun.me" id="9cfca3f3_1756" data-external="true" rel="noopener noreferrer" >patchwork.moekyun.me</a></span></p><p id="9cfca3f3_1757">In this section you'll find various information about Patchwork Archive as well as the documentation for how to call the publicly available API.</p><figure id="9cfca3f3_1758"><img alt="Patchwork Archive Video Page" src="https://github.com/Patchwork-Archive/Patchwork-Browser/assets/21994085/30b2cabf-07b4-4331-8ebf-709520d42baa" title="Patchwork Archive Video Page" ></figure><div class="last-modified"> Last modified: 16 December 2023</div><div data-feedback-placeholder="true"></div><div class="navigation-links _bottom"> <a class="navigation-links__prev" href="welcome.html">Welcome</a> <a class="navigation-links__next" href="patchwork-api.html">Patchwork Archive API</a> </div></article><div id="disqus_thread"></div></div></section></main></div> <script src="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.js"></script></body></html> \ No newline at end of file
+<!DOCTYPE html SYSTEM "about:legacy-compat"><html lang="en-US" data-colors-preset="contrast" data-primary-color="#307FFF"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="robots" content="noindex"> <meta name="built-on" content="2023-12-16T15:56:55.957783364"><meta name="build-number" content="${buildNumber}"> <title>Patchwork Archive | Project Knowledge Base</title><script id="virtual-toc-data" type="application/json">[]</script><script id="topic-shortcuts" type="application/json"></script><link href="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.css" rel="stylesheet"> <link rel="apple-touch-icon" sizes="180x180" href="https://jetbrains.com/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://jetbrains.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://jetbrains.com/favicon-16x16.png"><link rel="manifest" href="https://jetbrains.com/site.webmanifest"><link rel="mask-icon" href="https://jetbrains.com/safari-pinned-tab.svg" color="#000000"><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-TileImage" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x310.png"/> <meta name="image" content=""><!-- Open Graph --><meta property="og:title" content="Patchwork Archive | Project Knowledge Base"/><meta property="og:description" content=""/><meta property="og:image" content=""/><meta property="og:site_name" content="Project Knowledge Base Help"/><meta property="og:type" content="website"/><meta property="og:locale" content="en_US"/><meta property="og:url" content="patchwork-archive.html"/><!-- End Open Graph --><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content=""><meta name="twitter:title" content="Patchwork Archive | Project Knowledge Base"><meta name="twitter:description" content=""><meta name="twitter:creator" content=""><meta name="twitter:image:src" content=""><!-- End Twitter Card --><!-- Schema.org WebPage --><script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "patchwork-archive.html#webpage", "url": "patchwork-archive.html", "name": "Patchwork Archive | Project Knowledge Base", "description": "", "image": "", "inLanguage":"en-US" }</script><!-- End Schema.org --><!-- Schema.org WebSite --><script type="application/ld+json"> { "@type": "WebSite", "@id": "/#website", "url": "/", "name": "Project Knowledge Base Help" }</script><!-- End Schema.org --></head> <body data-id="Patchwork-Archive" data-main-title="Patchwork Archive" data-article-props="{&quot;seeAlsoStyle&quot;:&quot;links&quot;}" data-template="article" data-breadcrumbs="" > <div class="wrapper"><main class="panel _main"><header class="panel__header"><div class="container"><h3>Project Knowledge Base Help</h3><div class="panel-trigger"></div></div></header><section class="panel__content"><div class="container"><article class="article" data-shortcut-switcher="inactive"><h1 data-toc="Patchwork-Archive" id="Patchwork-Archive.md">Patchwork Archive</h1> <p id="e61746b1_7">Patchwork Archive is a project that centers around the preservation and archival of music created by virtual youtubers.</p><p id="e61746b1_8">Worker scripts are ran which download and store videos identified as music, which are then hosted at <span class="emphasis" id="e61746b1_9"><a href="https://patchwork.moekyun.me" id="e61746b1_10" data-external="true" rel="noopener noreferrer" >patchwork.moekyun.me</a></span></p><p id="e61746b1_11">In this section you'll find various information about Patchwork Archive as well as the documentation for how to call the publicly available API.</p><figure id="e61746b1_12"><img alt="Patchwork Archive Video Page" src="https://github.com/Patchwork-Archive/Patchwork-Browser/assets/21994085/30b2cabf-07b4-4331-8ebf-709520d42baa" title="Patchwork Archive Video Page" ></figure><div class="last-modified"> Last modified: 16 December 2023</div><div data-feedback-placeholder="true"></div><div class="navigation-links _bottom"> <a class="navigation-links__prev" href="welcome.html">Welcome</a> <a class="navigation-links__next" href="patchwork-api.html">Patchwork Archive API</a> </div></article><div id="disqus_thread"></div></div></section></main></div> <script src="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.js"></script></body></html> \ No newline at end of file
diff --git a/vtuber-captcha.html b/vtuber-captcha.html
index 0357f12..1709849 100644
--- a/vtuber-captcha.html
+++ b/vtuber-captcha.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html SYSTEM "about:legacy-compat"><html lang="en-US" data-colors-preset="contrast" data-primary-color="#307FFF"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="robots" content="noindex"> <meta name="built-on" content="2023-12-16T15:53:06.914162961"><meta name="build-number" content="${buildNumber}"> <title>VTuber Captcha | Project Knowledge Base</title><script id="virtual-toc-data" type="application/json">[{"id":"available-endpoints","level":0,"title":"Available Endpoints","anchor":"#available-endpoints"},{"id":"affiliation-org","level":0,"title":"/affiliation/\u003corg\u003e","anchor":"#affiliation-org"},{"id":"authenticating-answers-against-the-server","level":0,"title":"Authenticating Answers Against The Server","anchor":"#authenticating-answers-against-the-server"},{"id":"supported-keywords","level":0,"title":"Supported Keywords","anchor":"#supported-keywords"},{"id":"organization","level":0,"title":"Organization","anchor":"#organization"}]</script><script id="topic-shortcuts" type="application/json"></script><link href="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.css" rel="stylesheet"> <link rel="apple-touch-icon" sizes="180x180" href="https://jetbrains.com/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://jetbrains.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://jetbrains.com/favicon-16x16.png"><link rel="manifest" href="https://jetbrains.com/site.webmanifest"><link rel="mask-icon" href="https://jetbrains.com/safari-pinned-tab.svg" color="#000000"><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-TileImage" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x310.png"/> <meta name="image" content=""><!-- Open Graph --><meta property="og:title" content="VTuber Captcha | Project Knowledge Base"/><meta property="og:description" content=""/><meta property="og:image" content=""/><meta property="og:site_name" content="Project Knowledge Base Help"/><meta property="og:type" content="website"/><meta property="og:locale" content="en_US"/><meta property="og:url" content="vtuber-captcha.html"/><!-- End Open Graph --><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content=""><meta name="twitter:title" content="VTuber Captcha | Project Knowledge Base"><meta name="twitter:description" content=""><meta name="twitter:creator" content=""><meta name="twitter:image:src" content=""><!-- End Twitter Card --><!-- Schema.org WebPage --><script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "vtuber-captcha.html#webpage", "url": "vtuber-captcha.html", "name": "VTuber Captcha | Project Knowledge Base", "description": "", "image": "", "inLanguage":"en-US" }</script><!-- End Schema.org --><!-- Schema.org WebSite --><script type="application/ld+json"> { "@type": "WebSite", "@id": "/#website", "url": "/", "name": "Project Knowledge Base Help" }</script><!-- End Schema.org --></head> <body data-id="VTuber-Captcha" data-main-title="VTuber Captcha" data-article-props="{&quot;seeAlsoStyle&quot;:&quot;links&quot;}" data-template="article" data-breadcrumbs="" > <div class="wrapper"><main class="panel _main"><header class="panel__header"><div class="container"><h3>Project Knowledge Base Help</h3><div class="panel-trigger"></div></div></header><section class="panel__content"><div class="container"><article class="article" data-shortcut-switcher="inactive"><h1 data-toc="VTuber-Captcha" id="VTuber-Captcha.md">VTuber Captcha</h1> <p id="5be93111_1726">A simple web API that serves VTuber related CAPTCHAs including server-side verification. Bring your own frontend to display the data.</p><section class="chapter"><h2 id="available-endpoints" data-toc="available-endpoints" >Available Endpoints</h2><p id="5be93111_1727">The base URL or the API currently is: <code class="code" id="5be93111_1728">https://vtuber-captcha.vercel.app/api</code></p><p id="5be93111_1729">Below are the current API endpoints supported: <a href="https://github.com/pinapelz/vtuber-captcha/wiki/Authenticating-Answers-Against-the-API" id="5be93111_1730" data-external="true" rel="noopener noreferrer" >Authenticating Against the API</a></p></section><section class="chapter"><h2 id="affiliation-org" data-toc="affiliation-org" >/affiliation/&lt;org&gt;</h2><p id="5be93111_1731">Returns a captcha asking user to identify which of the VTubers are affiliated with a particular organization or group</p><p id="5be93111_1732"><span class="control" id="5be93111_1733">Path Parameters</span></p><ul class="list _ul" id="5be93111_1734"><li class="list__item" id="5be93111_1735"><p><code class="code" id="5be93111_1736">&lt;org&gt;</code>: Refer to <a href="https://github.com/pinapelz/vtuber-captcha/wiki/Supported-Terms#organizations" id="5be93111_1737" data-external="true" rel="noopener noreferrer" >organization page</a> for a list of supported terms <span class="control" id="5be93111_1738">Query Parameters</span></p></li><li class="list__item" id="5be93111_1739"><p><code class="code" id="5be93111_1740">server_auth</code>: false if answers to captcha should be sent to response, true if you would like the API to store the answer and authenticate against it. </p><ul class="list _ul" id="5be93111_1741"><li class="list__item" id="5be93111_1742"><p>Default: <code class="code" id="5be93111_1743">false</code></p></li><li class="list__item" id="5be93111_1744"><p>Enums: <code class="code" id="5be93111_1745">true, false</code></p></li></ul></li></ul></section><section class="chapter"><h2 id="authenticating-answers-against-the-server" data-toc="authenticating-answers-against-the-server" >Authenticating Answers Against The Server</h2><p id="5be93111_1746">The API supports server-side verification meaning that the answer to the CAPTCHA is never sent to you after making the initial request.</p><p id="5be93111_1747">Instead, each request will be assigned a session-token which uniquely identifies the CAPTCHA. The server then saves the answer to the CAPTCHA. This makes it safe for you to directly call the API client-side from a frontend without the need for a middle-man to store the answer.</p><p id="5be93111_1748">To authenticate answers against the API. You need to specify the query parameter <code class="code" id="5be93111_1749">?server_auth=true</code></p><p id="5be93111_1750"><span class="control" id="5be93111_1751">Example Response with <code class="code" id="5be93111_1752">?server_auth=true</code></span></p><div class="code-block" data-lang="none" >
+<!DOCTYPE html SYSTEM "about:legacy-compat"><html lang="en-US" data-colors-preset="contrast" data-primary-color="#307FFF"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="robots" content="noindex"> <meta name="built-on" content="2023-12-16T15:56:55.95957412"><meta name="build-number" content="${buildNumber}"> <title>VTuber Captcha | Project Knowledge Base</title><script id="virtual-toc-data" type="application/json">[{"id":"available-endpoints","level":0,"title":"Available Endpoints","anchor":"#available-endpoints"},{"id":"affiliation-org","level":0,"title":"/affiliation/\u003corg\u003e","anchor":"#affiliation-org"},{"id":"authenticating-answers-against-the-server","level":0,"title":"Authenticating Answers Against The Server","anchor":"#authenticating-answers-against-the-server"},{"id":"supported-keywords","level":0,"title":"Supported Keywords","anchor":"#supported-keywords"},{"id":"organization","level":0,"title":"Organization","anchor":"#organization"}]</script><script id="topic-shortcuts" type="application/json"></script><link href="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.css" rel="stylesheet"> <link rel="apple-touch-icon" sizes="180x180" href="https://jetbrains.com/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://jetbrains.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://jetbrains.com/favicon-16x16.png"><link rel="manifest" href="https://jetbrains.com/site.webmanifest"><link rel="mask-icon" href="https://jetbrains.com/safari-pinned-tab.svg" color="#000000"><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-TileImage" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x310.png"/> <meta name="image" content=""><!-- Open Graph --><meta property="og:title" content="VTuber Captcha | Project Knowledge Base"/><meta property="og:description" content=""/><meta property="og:image" content=""/><meta property="og:site_name" content="Project Knowledge Base Help"/><meta property="og:type" content="website"/><meta property="og:locale" content="en_US"/><meta property="og:url" content="vtuber-captcha.html"/><!-- End Open Graph --><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content=""><meta name="twitter:title" content="VTuber Captcha | Project Knowledge Base"><meta name="twitter:description" content=""><meta name="twitter:creator" content=""><meta name="twitter:image:src" content=""><!-- End Twitter Card --><!-- Schema.org WebPage --><script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "vtuber-captcha.html#webpage", "url": "vtuber-captcha.html", "name": "VTuber Captcha | Project Knowledge Base", "description": "", "image": "", "inLanguage":"en-US" }</script><!-- End Schema.org --><!-- Schema.org WebSite --><script type="application/ld+json"> { "@type": "WebSite", "@id": "/#website", "url": "/", "name": "Project Knowledge Base Help" }</script><!-- End Schema.org --></head> <body data-id="VTuber-Captcha" data-main-title="VTuber Captcha" data-article-props="{&quot;seeAlsoStyle&quot;:&quot;links&quot;}" data-template="article" data-breadcrumbs="" > <div class="wrapper"><main class="panel _main"><header class="panel__header"><div class="container"><h3>Project Knowledge Base Help</h3><div class="panel-trigger"></div></div></header><section class="panel__content"><div class="container"><article class="article" data-shortcut-switcher="inactive"><h1 data-toc="VTuber-Captcha" id="VTuber-Captcha.md">VTuber Captcha</h1> <p id="3dd194a4_7">A simple web API that serves VTuber related CAPTCHAs including server-side verification. Bring your own frontend to display the data.</p><section class="chapter"><h2 id="available-endpoints" data-toc="available-endpoints" >Available Endpoints</h2><p id="3dd194a4_8">The base URL or the API currently is: <code class="code" id="3dd194a4_9">https://vtuber-captcha.vercel.app/api</code></p><p id="3dd194a4_10">Below are the current API endpoints supported: <a href="https://github.com/pinapelz/vtuber-captcha/wiki/Authenticating-Answers-Against-the-API" id="3dd194a4_11" data-external="true" rel="noopener noreferrer" >Authenticating Against the API</a></p></section><section class="chapter"><h2 id="affiliation-org" data-toc="affiliation-org" >/affiliation/&lt;org&gt;</h2><p id="3dd194a4_12">Returns a captcha asking user to identify which of the VTubers are affiliated with a particular organization or group</p><p id="3dd194a4_13"><span class="control" id="3dd194a4_14">Path Parameters</span></p><ul class="list _ul" id="3dd194a4_15"><li class="list__item" id="3dd194a4_16"><p><code class="code" id="3dd194a4_17">&lt;org&gt;</code>: Refer to <a href="https://github.com/pinapelz/vtuber-captcha/wiki/Supported-Terms#organizations" id="3dd194a4_18" data-external="true" rel="noopener noreferrer" >organization page</a> for a list of supported terms <span class="control" id="3dd194a4_19">Query Parameters</span></p></li><li class="list__item" id="3dd194a4_20"><p><code class="code" id="3dd194a4_21">server_auth</code>: false if answers to captcha should be sent to response, true if you would like the API to store the answer and authenticate against it. </p><ul class="list _ul" id="3dd194a4_22"><li class="list__item" id="3dd194a4_23"><p>Default: <code class="code" id="3dd194a4_24">false</code></p></li><li class="list__item" id="3dd194a4_25"><p>Enums: <code class="code" id="3dd194a4_26">true, false</code></p></li></ul></li></ul></section><section class="chapter"><h2 id="authenticating-answers-against-the-server" data-toc="authenticating-answers-against-the-server" >Authenticating Answers Against The Server</h2><p id="3dd194a4_27">The API supports server-side verification meaning that the answer to the CAPTCHA is never sent to you after making the initial request.</p><p id="3dd194a4_28">Instead, each request will be assigned a session-token which uniquely identifies the CAPTCHA. The server then saves the answer to the CAPTCHA. This makes it safe for you to directly call the API client-side from a frontend without the need for a middle-man to store the answer.</p><p id="3dd194a4_29">To authenticate answers against the API. You need to specify the query parameter <code class="code" id="3dd194a4_30">?server_auth=true</code></p><p id="3dd194a4_31"><span class="control" id="3dd194a4_32">Example Response with <code class="code" id="3dd194a4_33">?server_auth=true</code></span></p><div class="code-block" data-lang="none" >
{
&quot;category&quot;: &quot;affiliation&quot;,
&quot;onFail&quot;: {
@@ -90,11 +90,11 @@
&quot;session&quot;: &quot;GUQkquh03dwF84EAxif_EA&quot;,
&quot;title&quot;: &quot;Select all the VTuber affiliated with Hololive&quot;
}
-</div><p id="5be93111_1754">To check your answers against the API. Send <code class="code" id="5be93111_1755">session</code> token and the <code class="code" id="5be93111_1756">id</code> of each selected element as a string comma separated as part of a data payload to <code class="code" id="5be93111_1757">/api/verify</code></p><p id="5be93111_1758">Example Payload</p><div class="code-block" data-lang="none" >
+</div><p id="3dd194a4_35">To check your answers against the API. Send <code class="code" id="3dd194a4_36">session</code> token and the <code class="code" id="3dd194a4_37">id</code> of each selected element as a string comma separated as part of a data payload to <code class="code" id="3dd194a4_38">/api/verify</code></p><p id="3dd194a4_39">Example Payload</p><div class="code-block" data-lang="none" >
session: &quot;j4WjkoMcPgNX8_gnNXf8HA&quot;
answer: &quot;UC0ZTVxCHkZanT5dnP2FZD4Q,UC4WvIIAo89_AzGUh1AZ6Dkg,UCe0JiGnjPfEwEIbWASbOimw&quot;
-</div><p id="5be93111_1760">Response:</p><div class="code-block" data-lang="none" >
+</div><p id="3dd194a4_41">Response:</p><div class="code-block" data-lang="none" >
{
success: false
}
-</div><p id="5be93111_1762">In the case above the user selected:</p><ul class="list _ul" id="5be93111_1763"><li class="list__item" id="5be93111_1764"><p>UC0ZTVxCHkZanT5dnP2FZD4Q</p></li><li class="list__item" id="5be93111_1765"><p>UC4WvIIAo89_AzGUh1AZ6Dkg</p></li><li class="list__item" id="5be93111_1766"><p>UCe0JiGnjPfEwEIbWASbOimw</p></li></ul><p id="5be93111_1767">and their answer was incorrect.</p><p id="5be93111_1768">After failing a captcha, the token becomes invalidated and a request for a new CAPTCHA must be made</p></section><section class="chapter"><h2 id="supported-keywords" data-toc="supported-keywords" >Supported Keywords</h2></section><section class="chapter"><h2 id="organization" data-toc="organization" >Organization</h2><ul class="list _ul" id="5be93111_1769"><li class="list__item" id="5be93111_1770"><p>Hololive: All hololive Production affiliated members, including Holostars</p></li><li class="list__item" id="5be93111_1771"><p>Nijisanji: All Nijisanji affiliated livers, including EN branches (does not include VirtuaReal)</p></li></ul></section><div class="last-modified"> Last modified: 16 December 2023</div><div data-feedback-placeholder="true"></div><div class="navigation-links _bottom"> <a class="navigation-links__prev" href="patchwork-api.html">Patchwork Archive API</a> </div></article><div id="disqus_thread"></div></div></section></main></div> <script src="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.js"></script></body></html> \ No newline at end of file
+</div><p id="3dd194a4_43">In the case above the user selected:</p><ul class="list _ul" id="3dd194a4_44"><li class="list__item" id="3dd194a4_45"><p>UC0ZTVxCHkZanT5dnP2FZD4Q</p></li><li class="list__item" id="3dd194a4_46"><p>UC4WvIIAo89_AzGUh1AZ6Dkg</p></li><li class="list__item" id="3dd194a4_47"><p>UCe0JiGnjPfEwEIbWASbOimw</p></li></ul><p id="3dd194a4_48">and their answer was incorrect.</p><p id="3dd194a4_49">After failing a captcha, the token becomes invalidated and a request for a new CAPTCHA must be made</p></section><section class="chapter"><h2 id="supported-keywords" data-toc="supported-keywords" >Supported Keywords</h2></section><section class="chapter"><h2 id="organization" data-toc="organization" >Organization</h2><ul class="list _ul" id="3dd194a4_50"><li class="list__item" id="3dd194a4_51"><p>Hololive: All hololive Production affiliated members, including Holostars</p></li><li class="list__item" id="3dd194a4_52"><p>Nijisanji: All Nijisanji affiliated livers, including EN branches (does not include VirtuaReal)</p></li></ul></section><div class="last-modified"> Last modified: 16 December 2023</div><div data-feedback-placeholder="true"></div><div class="navigation-links _bottom"> <a class="navigation-links__prev" href="patchwork-api.html">Patchwork Archive API</a> <a class="navigation-links__next" href="imisssomeone-vt.html">IMissSomeone-VT</a> </div></article><div id="disqus_thread"></div></div></section></main></div> <script src="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.js"></script></body></html> \ No newline at end of file
diff --git a/welcome.html b/welcome.html
index b31811d..f8bb724 100644
--- a/welcome.html
+++ b/welcome.html
@@ -1 +1 @@
-<!DOCTYPE html SYSTEM "about:legacy-compat"><html lang="en-US" data-colors-preset="contrast" data-primary-color="#307FFF"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="robots" content="noindex"> <meta name="built-on" content="2023-12-16T15:53:06.913712756"><meta name="build-number" content="${buildNumber}"> <title>Welcome | Project Knowledge Base</title><script id="virtual-toc-data" type="application/json">[]</script><script id="topic-shortcuts" type="application/json"></script><link href="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.css" rel="stylesheet"> <link rel="apple-touch-icon" sizes="180x180" href="https://jetbrains.com/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://jetbrains.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://jetbrains.com/favicon-16x16.png"><link rel="manifest" href="https://jetbrains.com/site.webmanifest"><link rel="mask-icon" href="https://jetbrains.com/safari-pinned-tab.svg" color="#000000"><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-TileImage" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x310.png"/> <meta name="image" content=""><!-- Open Graph --><meta property="og:title" content="Welcome | Project Knowledge Base"/><meta property="og:description" content=""/><meta property="og:image" content=""/><meta property="og:site_name" content="Project Knowledge Base Help"/><meta property="og:type" content="website"/><meta property="og:locale" content="en_US"/><meta property="og:url" content="welcome.html"/><!-- End Open Graph --><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content=""><meta name="twitter:title" content="Welcome | Project Knowledge Base"><meta name="twitter:description" content=""><meta name="twitter:creator" content=""><meta name="twitter:image:src" content=""><!-- End Twitter Card --><!-- Schema.org WebPage --><script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "welcome.html#webpage", "url": "welcome.html", "name": "Welcome | Project Knowledge Base", "description": "", "image": "", "inLanguage":"en-US" }</script><!-- End Schema.org --><!-- Schema.org WebSite --><script type="application/ld+json"> { "@type": "WebSite", "@id": "/#website", "url": "/", "name": "Project Knowledge Base Help" }</script><!-- End Schema.org --></head> <body data-id="Welcome" data-main-title="Welcome" data-article-props="{&quot;seeAlsoStyle&quot;:&quot;links&quot;}" data-template="article" data-breadcrumbs="" > <div class="wrapper"><main class="panel _main"><header class="panel__header"><div class="container"><h3>Project Knowledge Base Help</h3><div class="panel-trigger"></div></div></header><section class="panel__content"><div class="container"><article class="article" data-shortcut-switcher="inactive"><h1 data-toc="Welcome" id="Welcome.md">Welcome</h1> <p id="24b08eeb_1759">Welcome to a collection of documentation for some of the various things I have over on GitHub.</p><p id="24b08eeb_1760">These docs should serve as both a guide and archive of previously of both currently active and previously projects.</p><div class="last-modified"> Last modified: 16 December 2023</div><div data-feedback-placeholder="true"></div><div class="navigation-links _bottom"> <a class="navigation-links__prev" href="imisssomeone-vt.html">IMissSomeone-VT</a> <a class="navigation-links__next" href="patchwork-archive.html">Patchwork Archive</a> </div></article><div id="disqus_thread"></div></div></section></main></div> <script src="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.js"></script></body></html> \ No newline at end of file
+<!DOCTYPE html SYSTEM "about:legacy-compat"><html lang="en-US" data-colors-preset="contrast" data-primary-color="#307FFF"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="robots" content="noindex"> <meta name="built-on" content="2023-12-16T15:56:55.953569157"><meta name="build-number" content="${buildNumber}"> <title>Welcome | Project Knowledge Base</title><script id="virtual-toc-data" type="application/json">[]</script><script id="topic-shortcuts" type="application/json"></script><link href="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.css" rel="stylesheet"> <link rel="apple-touch-icon" sizes="180x180" href="https://jetbrains.com/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://jetbrains.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://jetbrains.com/favicon-16x16.png"><link rel="manifest" href="https://jetbrains.com/site.webmanifest"><link rel="mask-icon" href="https://jetbrains.com/safari-pinned-tab.svg" color="#000000"><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-TileImage" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="https://resources.jetbrains.com/storage/ui/favicons/mstile-310x310.png"/> <meta name="image" content=""><!-- Open Graph --><meta property="og:title" content="Welcome | Project Knowledge Base"/><meta property="og:description" content=""/><meta property="og:image" content=""/><meta property="og:site_name" content="Project Knowledge Base Help"/><meta property="og:type" content="website"/><meta property="og:locale" content="en_US"/><meta property="og:url" content="welcome.html"/><!-- End Open Graph --><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content=""><meta name="twitter:title" content="Welcome | Project Knowledge Base"><meta name="twitter:description" content=""><meta name="twitter:creator" content=""><meta name="twitter:image:src" content=""><!-- End Twitter Card --><!-- Schema.org WebPage --><script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "welcome.html#webpage", "url": "welcome.html", "name": "Welcome | Project Knowledge Base", "description": "", "image": "", "inLanguage":"en-US" }</script><!-- End Schema.org --><!-- Schema.org WebSite --><script type="application/ld+json"> { "@type": "WebSite", "@id": "/#website", "url": "/", "name": "Project Knowledge Base Help" }</script><!-- End Schema.org --></head> <body data-id="Welcome" data-main-title="Welcome" data-article-props="{&quot;seeAlsoStyle&quot;:&quot;links&quot;}" data-template="article" data-breadcrumbs="" > <div class="wrapper"><main class="panel _main"><header class="panel__header"><div class="container"><h3>Project Knowledge Base Help</h3><div class="panel-trigger"></div></div></header><section class="panel__content"><div class="container"><article class="article" data-shortcut-switcher="inactive"><h1 data-toc="Welcome" id="Welcome.md">Welcome</h1> <p id="b3e4f46_7">Welcome to a collection of documentation for some of the various things I have over on GitHub.</p><p id="b3e4f46_8">These docs should serve as both a guide and archive of previously of both currently active and previously projects.</p><div class="last-modified"> Last modified: 16 December 2023</div><div data-feedback-placeholder="true"></div><div class="navigation-links _bottom"> <a class="navigation-links__next" href="patchwork-archive.html">Patchwork Archive</a> </div></article><div id="disqus_thread"></div></div></section></main></div> <script src="https://resources.jetbrains.com/writerside/apidoc/6.6.6-b205/app.js"></script></body></html> \ No newline at end of file
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage