Compare commits

..

No commits in common. "main" and "1.0.3" have entirely different histories.
main ... 1.0.3

16 changed files with 51 additions and 942 deletions

View file

@ -41,7 +41,7 @@ Formats :
- Ou, executer `PORT=7000 deno task start` //Spécifier le port d'écoute
désiré.
- Ou, utiliser le service définit dans
[`@cohabit/server_config/portfolio_server`](https://git.cohabit.fr/cohabit/server_config/src/branch/main/portfolio_server/systemd).
`cohabit/server_config/portfolio_server`.
## Contribution

View file

@ -1,7 +1,7 @@
{
"tasks": {
"serve": "deno run --allow-net=\"git.cohabit.fr,localhost:$PORT,127.0.0.1:$PORT,0.0.0.0:$PORT\" --allow-env=PORT,COHABIT_GIT_URL,PORTFOLIO_BASE_URL,NO_COLOR,FORCE_COLOR,TERM --allow-read=. ./server.ts",
"test": "deno test --ignore=server.ts --allow-env=PORT,COHABIT_GIT_URL,PORTFOLIO_BASE_URL,NO_COLOR,FORCE_COLOR,TERM --allow-read=. --doc",
"serve": "deno run --allow-net=\"git.cohabit.fr,localhost:$PORT,127.0.0.1:$PORT,0.0.0.0:$PORT\" --allow-env=PORT,COHABIT_GIT_URL,PORTFOLIO_BASE_URL ./server.ts",
"test": "deno test --ignore=server.ts --allow-env=PORT,COHABIT_GIT_URL,PORTFOLIO_BASE_URL --doc",
"lint": "deno lint --ignore=docs",
"doc": "deno doc --html --name='Portfolio Sever' ./src/*.ts",
"check": "deno task lint && deno task test && deno task doc"
@ -12,7 +12,6 @@
"useTabs": true
},
"imports": {
"@deno/gfm": "jsr:@deno/gfm@^0.8.2",
"@std/media-types": "jsr:@std/media-types@^0.224.1",
"@std/path": "jsr:@std/path@^0.225.2"
}

View file

@ -24,7 +24,6 @@
"remote": {},
"workspace": {
"dependencies": [
"jsr:@deno/gfm@^0.8.2",
"jsr:@std/media-types@^0.224.1",
"jsr:@std/path@^0.225.2"
]

View file

@ -35,71 +35,7 @@
</div>
</nav>
<div id="content">
<main><div class="space-y-7" id=""><section class="section" id="render_gfm.ts">
<div>
<h2 class="anchorable mb-1"><a href="#render_gfm.ts" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
<a href=".&#x2F;.&#x2F;render_gfm.ts&#x2F;~&#x2F;index.html" class="contextLink">render_gfm.ts</a></h2></div><div class="namespaceSection"><div class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<div class="namespaceItemContent">
<a href=".&#x2F;.&#x2F;render_gfm.ts&#x2F;~&#x2F;renderGfm.html" title="renderGfm">renderGfm</a>
<div><span class="italic">No documentation available</span></div>
</div>
</div></div>
</section>
<section class="section" id="serve_file.ts">
<div>
<h2 class="anchorable mb-1"><a href="#serve_file.ts" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
<a href=".&#x2F;.&#x2F;serve_file.ts&#x2F;~&#x2F;index.html" class="contextLink">serve_file.ts</a></h2></div><div class="namespaceSection"><div class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<div class="namespaceItemContent">
<a href=".&#x2F;.&#x2F;serve_file.ts&#x2F;~&#x2F;serveFile.html" title="serveFile">serveFile</a>
<div><span class="italic">No documentation available</span></div>
</div>
</div></div>
</section>
<section class="section" id="url_utils.ts">
<main><div class="space-y-7" id=""><section class="section" id="url_utils.ts">
<div>
<h2 class="anchorable mb-1"><a href="#url_utils.ts" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"

View file

@ -31,14 +31,6 @@
<div><nav class="topSymbols">
<h3>Symbols</h3>
<ul><li>
<a href=".&#x2F;render_gfm.ts&#x2F;~&#x2F;renderGfm.html" title="renderGfm"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">renderGfm</span>
</a>
</li><li>
<a href=".&#x2F;serve_file.ts&#x2F;~&#x2F;serveFile.html" title="serveFile"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">serveFile</span>
</a>
</li><li>
<a href=".&#x2F;url_utils.ts&#x2F;~&#x2F;getBaseUrl.html" title="getBaseUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getBaseUrl</span>
</a>
@ -50,8 +42,16 @@
<a href=".&#x2F;url_utils.ts&#x2F;~&#x2F;getRepoUrl.html" title="getRepoUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getRepoUrl</span>
</a>
</li><li>
<a href=".&#x2F;url_utils.ts&#x2F;~&#x2F;getSourceUrl.html" title="getSourceUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getSourceUrl</span>
</a>
</li><li>
<a href=".&#x2F;user_utils.ts&#x2F;~&#x2F;User.html" title="User"><div class="docNodeKindIcon"><div class="text-TypeAlias bg-TypeAlias/15" title="Type Alias">T</div></div>
<span class="hover:bg-TypeAlias/15">User</span>
</a>
</li></ul><a class="flex items-center gap-0.5" href=".&#x2F;all_symbols.html">
<span class="leading-none">view all 10 symbols</span><svg
<span class="leading-none">view all 8 symbols</span><svg
width="16"
height="16"
viewBox="0 0 16 16"

View file

@ -1,119 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Index - Portfolio Sever documentation</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="doc-current-file" content="">
<link rel="stylesheet" href="..&#x2F;..&#x2F;styles.css">
<link rel="stylesheet" href="..&#x2F;..&#x2F;page.css">
<script src="..&#x2F;..&#x2F;search_index.js" defer></script>
<script src="..&#x2F;..&#x2F;script.js" defer></script>
<script src="..&#x2F;..&#x2F;fuse.js" defer></script>
<script src="..&#x2F;..&#x2F;search.js" defer></script>
</head>
<body class="ddoc">
<nav class="top-0 sticky bg-white z-50 py-3">
<div class="max-lg:flex md:items-center justify-between gap-4 max-md:flex-col-reverse lg:grid lg:grid-cols-4 lg:gap-12">
<div class="lg:col-span-3"><ul class="breadcrumbs"><li><a href="..&#x2F;..&#x2F;" class="contextLink">Portfolio Sever</a></li><span class="text-[#0F172A]"><svg
width="16"
height="16"
viewBox="0 0 16 16"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z" fill="currentColor" />
</svg>
</span><li>render_gfm.ts</li></ul>
</div>
<input
type="text"
id="searchbar"
style="display: none;"
class="lg:col-[span_1_/_-1] flex-1 py-2 px-2.5 rounded text-sm border border-gray-300 bg-transparent" />
</div>
</nav>
<div id="content">
<main><section >
<div class="space-y-2 flex-1 "><div class="space-y-7" id="module_doc"><section class="section" id="Functions">
<div>
<h2 class="anchorable mb-1"><a href="#Functions" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
Functions</h2></div><div class="namespaceSection"><div class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<div class="namespaceItemContent">
<a href="..&#x2F;..&#x2F;.&#x2F;render_gfm.ts&#x2F;~&#x2F;renderGfm.html" title="renderGfm">renderGfm</a>
<div><span class="italic">No documentation available</span></div>
</div>
</div></div>
</section>
</div>
</div>
</section>
</main><div class="toc">
<div><div class="usageContent">
<h3>Usage</h3><div class="markdown"><pre class="highlight"><code><span style="font-weight:bold;color:#a71d5d;">import </span><span style="color:#0086b3;">* </span><span style="font-weight:bold;color:#a71d5d;">as </span><span style="color:#323232;">mod </span><span style="font-weight:bold;color:#a71d5d;">from </span><span style="color:#183691;">"render_gfm.ts"</span><span style="color:#323232;">;
</span></code><button class="context_button" data-copy="import * as mod from &quot;render_gfm.ts&quot;;
"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="7" height="7" fill="none"></rect>
<rect x="6" y="6" width="7" height="7" fill="none"></rect>
<path d="M1.55566 2.7C1.55566 2.03726 2.09292 1.5 2.75566 1.5H8.75566C9.41841 1.5 9.95566 2.03726 9.95566 2.7V5.1H12.3557C13.0184 5.1 13.5557 5.63726 13.5557 6.3V12.3C13.5557 12.9627 13.0184 13.5 12.3557 13.5H6.35566C5.69292 13.5 5.15566 12.9627 5.15566 12.3V9.9H2.75566C2.09292 9.9 1.55566 9.36274 1.55566 8.7V2.7ZM6.35566 9.9V12.3H12.3557V6.3H9.95566V8.7C9.95566 9.36274 9.41841 9.9 8.75566 9.9H6.35566ZM8.75566 8.7V2.7H2.75566V8.7H8.75566Z" fill="#232323"></path>
</svg>
</button><code></code></pre>
</div></div><nav class="topSymbols">
<h3>Symbols</h3>
<ul><li>
<a href="..&#x2F;..&#x2F;.&#x2F;render_gfm.ts&#x2F;~&#x2F;renderGfm.html" title="renderGfm"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">renderGfm</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;serve_file.ts&#x2F;~&#x2F;serveFile.html" title="serveFile"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">serveFile</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getBaseUrl.html" title="getBaseUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getBaseUrl</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getIndexUrl.html" title="getIndexUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getIndexUrl</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getRepoUrl.html" title="getRepoUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getRepoUrl</span>
</a>
</li></ul><a class="flex items-center gap-0.5" href="..&#x2F;..&#x2F;.&#x2F;all_symbols.html">
<span class="leading-none">view all 10 symbols</span><svg
width="16"
height="16"
viewBox="0 0 16 16"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z" fill="currentColor" />
</svg>
</a></nav></div>
</div>
<div id="searchResults"></div></div>
</body>
</html>

View file

@ -1,264 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>renderGfm - Portfolio Sever documentation</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="doc-current-file" content="render_gfm.ts">
<link rel="stylesheet" href="..&#x2F;..&#x2F;styles.css">
<link rel="stylesheet" href="..&#x2F;..&#x2F;page.css">
<script src="..&#x2F;..&#x2F;search_index.js" defer></script>
<script src="..&#x2F;..&#x2F;script.js" defer></script>
<script src="..&#x2F;..&#x2F;fuse.js" defer></script>
<script src="..&#x2F;..&#x2F;search.js" defer></script>
</head>
<body class="ddoc">
<nav class="top-0 sticky bg-white z-50 py-3">
<div class="max-lg:flex md:items-center justify-between gap-4 max-md:flex-col-reverse lg:grid lg:grid-cols-4 lg:gap-12">
<div class="lg:col-span-3"><ul class="breadcrumbs"><li><a href="..&#x2F;..&#x2F;" class="contextLink">Portfolio Sever</a></li><span class="text-[#0F172A]"><svg
width="16"
height="16"
viewBox="0 0 16 16"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z" fill="currentColor" />
</svg>
</span><li><a href="..&#x2F;..&#x2F;.&#x2F;render_gfm.ts&#x2F;~&#x2F;index.html" class="contextLink">render_gfm.ts</a></li><span class="text-[#0F172A]"><svg
width="16"
height="16"
viewBox="0 0 16 16"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z" fill="currentColor" />
</svg>
</span><ul><li>renderGfm</li></ul></ul>
</div>
<input
type="text"
id="searchbar"
style="display: none;"
class="lg:col-[span_1_/_-1] flex-1 py-2 px-2.5 rounded text-sm border border-gray-300 bg-transparent" />
</div>
</nav>
<div id="content"><main class="symbolGroup" id="symbol_renderGfm"><article>
<div>
<div>
<div class="text-xl leading-none break-all">
<span class="text-Function">function</span>&nbsp;<span class="font-bold">renderGfm</span>
</div></div><a
class="context_button relative mr-2"
href="file:&#x2F;&#x2F;&#x2F;E:&#x2F;git.cohabit.fr&#x2F;cohabit&#x2F;portfolio_server&#x2F;src&#x2F;render_gfm.ts"><svg
width="14"
height="14"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M3.16675 12.6667H11.3334C11.6428 12.6667 11.9396 12.5438 12.1584 12.325C12.3772 12.1062 12.5001 11.8094 12.5001 11.5V4.20834L9.29175 1H4.33342C4.024 1 3.72725 1.12292 3.50846 1.34171C3.28966 1.5605 3.16675 1.85725 3.16675 2.16667V4.5"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
<path
d="M6.08334 10.3333L7.83334 8.58334L6.08334 6.83334M3.75 6.83334L2 8.58334L3.75 10.3333M9.00001 1V4.5H12.5L9.00001 1Z"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
</div><div><style scoped>
#function_renderGfm_0 {
display: none;
}
#function_renderGfm_0:checked ~ *:last-child > :not(#function_renderGfm_0_div) {
display: none;
}
#function_renderGfm_0:checked ~ div:first-of-type > label[for='function_renderGfm_0'] {
background-color: var(--ddoc-selection-selected-bg);
border: solid var(--ddoc-selection-border-width) var(--ddoc-selection-selected-border-color);
cursor: unset;
padding: var(--ddoc-selection-padding); /* 1px less to counter the increased border */
}
</style>
<input type="radio" name="function_renderGfm" id="function_renderGfm_0" checked /><div class="space-y-2"><label for="function_renderGfm_0" class="functionOverload"><code class="text-sm break-words">
<span class="font-bold">renderGfm</span><span class="font-medium">(<span><span>md<span>: <span>string</span></span></span></span>)<span>: <span>string</span></span> </span>
</code></label></div>
<div class="mt-3"><div class="space-y-7" id="function_renderGfm_0_div"><section class="section" id="parameters">
<div>
<h2 class="anchorable mb-1"><a href="#parameters" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
Parameters</h2></div><div class="mt-2 space-y-2"><div class="anchorable docEntry" id="function_renderGfm_0_parameters_md"><a href="#function_renderGfm_0_parameters_md" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
<div class="docEntryHeader">
<span><code><span class="font-bold">md</span><span class="font-medium"><span>: <span>string</span></span></span>
</code>
</span><a
class="context_button relative mr-2"
href="file:&#x2F;&#x2F;&#x2F;E:&#x2F;git.cohabit.fr&#x2F;cohabit&#x2F;portfolio_server&#x2F;src&#x2F;render_gfm.ts"><svg
width="14"
height="14"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M3.16675 12.6667H11.3334C11.6428 12.6667 11.9396 12.5438 12.1584 12.325C12.3772 12.1062 12.5001 11.8094 12.5001 11.5V4.20834L9.29175 1H4.33342C4.024 1 3.72725 1.12292 3.50846 1.34171C3.28966 1.5605 3.16675 1.85725 3.16675 2.16667V4.5"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
<path
d="M6.08334 10.3333L7.83334 8.58334L6.08334 6.83334M3.75 6.83334L2 8.58334L3.75 10.3333M9.00001 1V4.5H12.5L9.00001 1Z"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
</div></div>
</div></section>
<section class="section" id="return-type">
<div>
<h2 class="anchorable mb-1"><a href="#return-type" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
Return Type</h2></div><div class="mt-2 space-y-2"><div class="anchorable docEntry" id="function_renderGfm_0_return"><a href="#function_renderGfm_0_return" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
<div class="docEntryHeader">
<span><code><span class="font-bold"></span><span class="font-medium"><span>string</span></span>
</code>
</span><a
class="context_button relative mr-2"
href="file:&#x2F;&#x2F;&#x2F;E:&#x2F;git.cohabit.fr&#x2F;cohabit&#x2F;portfolio_server&#x2F;src&#x2F;render_gfm.ts"><svg
width="14"
height="14"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M3.16675 12.6667H11.3334C11.6428 12.6667 11.9396 12.5438 12.1584 12.325C12.3772 12.1062 12.5001 11.8094 12.5001 11.5V4.20834L9.29175 1H4.33342C4.024 1 3.72725 1.12292 3.50846 1.34171C3.28966 1.5605 3.16675 1.85725 3.16675 2.16667V4.5"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
<path
d="M6.08334 10.3333L7.83334 8.58334L6.08334 6.83334M3.75 6.83334L2 8.58334L3.75 10.3333M9.00001 1V4.5H12.5L9.00001 1Z"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
</div></div>
</div></section>
</div>
</div>
</div>
</article></main>
<div class="toc">
<div><div class="usageContent">
<h3>Usage</h3><div class="markdown"><pre class="highlight"><code><span style="font-weight:bold;color:#a71d5d;">import </span><span style="color:#323232;">{ renderGfm } </span><span style="font-weight:bold;color:#a71d5d;">from </span><span style="color:#183691;">"render_gfm.ts"</span><span style="color:#323232;">;
</span></code><button class="context_button" data-copy="import { renderGfm } from &quot;render_gfm.ts&quot;;
"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="7" height="7" fill="none"></rect>
<rect x="6" y="6" width="7" height="7" fill="none"></rect>
<path d="M1.55566 2.7C1.55566 2.03726 2.09292 1.5 2.75566 1.5H8.75566C9.41841 1.5 9.95566 2.03726 9.95566 2.7V5.1H12.3557C13.0184 5.1 13.5557 5.63726 13.5557 6.3V12.3C13.5557 12.9627 13.0184 13.5 12.3557 13.5H6.35566C5.69292 13.5 5.15566 12.9627 5.15566 12.3V9.9H2.75566C2.09292 9.9 1.55566 9.36274 1.55566 8.7V2.7ZM6.35566 9.9V12.3H12.3557V6.3H9.95566V8.7C9.95566 9.36274 9.41841 9.9 8.75566 9.9H6.35566ZM8.75566 8.7V2.7H2.75566V8.7H8.75566Z" fill="#232323"></path>
</svg>
</button><code></code></pre>
</div></div><nav class="documentNavigation">
<h3>Document Navigation</h3><ul><li><a href="#parameters" title="Parameters">Parameters</a></li><li><a href="#return-type" title="Return Type">Return Type</a></li></ul></nav></div>
</div>
<div id="searchResults"></div></div>
</body>
</html>

View file

@ -1,3 +1,3 @@
(function () {
window.DENO_DOC_SEARCH_INDEX = {"nodes":[{"kind":["function"],"name":"renderGfm","file":"render_gfm.ts","location":{"filename":"render_gfm.ts","line":3,"col":0,"byteIndex":52},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"serveFile","file":"serve_file.ts","location":{"filename":"serve_file.ts","line":5,"col":0,"byteIndex":128},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"getBaseUrl","file":"url_utils.ts","location":{"filename":"url_utils.ts","line":146,"col":0,"byteIndex":3773},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"getIndexUrl","file":"url_utils.ts","location":{"filename":"url_utils.ts","line":50,"col":0,"byteIndex":1404},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"getRepoUrl","file":"url_utils.ts","location":{"filename":"url_utils.ts","line":18,"col":0,"byteIndex":459},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"getSourceUrl","file":"url_utils.ts","location":{"filename":"url_utils.ts","line":89,"col":0,"byteIndex":2647},"declarationKind":"export","deprecated":false},{"kind":["typeAlias"],"name":"User","file":"user_utils.ts","location":{"filename":"user_utils.ts","line":2,"col":0,"byteIndex":60},"declarationKind":"export","deprecated":false},{"kind":["typeAlias"],"name":"UserDomain","file":"user_utils.ts","location":{"filename":"user_utils.ts","line":27,"col":0,"byteIndex":699},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"toUser","file":"user_utils.ts","location":{"filename":"user_utils.ts","line":18,"col":0,"byteIndex":442},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"toUserDomain","file":"user_utils.ts","location":{"filename":"user_utils.ts","line":53,"col":0,"byteIndex":1310},"declarationKind":"export","deprecated":false}]};
window.DENO_DOC_SEARCH_INDEX = {"nodes":[{"kind":["function"],"name":"getBaseUrl","file":"url_utils.ts","location":{"filename":"url_utils.ts","line":146,"col":0,"byteIndex":3752},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"getIndexUrl","file":"url_utils.ts","location":{"filename":"url_utils.ts","line":50,"col":0,"byteIndex":1404},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"getRepoUrl","file":"url_utils.ts","location":{"filename":"url_utils.ts","line":18,"col":0,"byteIndex":459},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"getSourceUrl","file":"url_utils.ts","location":{"filename":"url_utils.ts","line":89,"col":0,"byteIndex":2647},"declarationKind":"export","deprecated":false},{"kind":["typeAlias"],"name":"User","file":"user_utils.ts","location":{"filename":"user_utils.ts","line":2,"col":0,"byteIndex":60},"declarationKind":"export","deprecated":false},{"kind":["typeAlias"],"name":"UserDomain","file":"user_utils.ts","location":{"filename":"user_utils.ts","line":27,"col":0,"byteIndex":699},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"toUser","file":"user_utils.ts","location":{"filename":"user_utils.ts","line":18,"col":0,"byteIndex":442},"declarationKind":"export","deprecated":false},{"kind":["function"],"name":"toUserDomain","file":"user_utils.ts","location":{"filename":"user_utils.ts","line":53,"col":0,"byteIndex":1310},"declarationKind":"export","deprecated":false}]};
})()

View file

@ -1,119 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Index - Portfolio Sever documentation</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="doc-current-file" content="">
<link rel="stylesheet" href="..&#x2F;..&#x2F;styles.css">
<link rel="stylesheet" href="..&#x2F;..&#x2F;page.css">
<script src="..&#x2F;..&#x2F;search_index.js" defer></script>
<script src="..&#x2F;..&#x2F;script.js" defer></script>
<script src="..&#x2F;..&#x2F;fuse.js" defer></script>
<script src="..&#x2F;..&#x2F;search.js" defer></script>
</head>
<body class="ddoc">
<nav class="top-0 sticky bg-white z-50 py-3">
<div class="max-lg:flex md:items-center justify-between gap-4 max-md:flex-col-reverse lg:grid lg:grid-cols-4 lg:gap-12">
<div class="lg:col-span-3"><ul class="breadcrumbs"><li><a href="..&#x2F;..&#x2F;" class="contextLink">Portfolio Sever</a></li><span class="text-[#0F172A]"><svg
width="16"
height="16"
viewBox="0 0 16 16"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z" fill="currentColor" />
</svg>
</span><li>serve_file.ts</li></ul>
</div>
<input
type="text"
id="searchbar"
style="display: none;"
class="lg:col-[span_1_/_-1] flex-1 py-2 px-2.5 rounded text-sm border border-gray-300 bg-transparent" />
</div>
</nav>
<div id="content">
<main><section >
<div class="space-y-2 flex-1 "><div class="space-y-7" id="module_doc"><section class="section" id="Functions">
<div>
<h2 class="anchorable mb-1"><a href="#Functions" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
Functions</h2></div><div class="namespaceSection"><div class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<div class="namespaceItemContent">
<a href="..&#x2F;..&#x2F;.&#x2F;serve_file.ts&#x2F;~&#x2F;serveFile.html" title="serveFile">serveFile</a>
<div><span class="italic">No documentation available</span></div>
</div>
</div></div>
</section>
</div>
</div>
</section>
</main><div class="toc">
<div><div class="usageContent">
<h3>Usage</h3><div class="markdown"><pre class="highlight"><code><span style="font-weight:bold;color:#a71d5d;">import </span><span style="color:#0086b3;">* </span><span style="font-weight:bold;color:#a71d5d;">as </span><span style="color:#323232;">mod </span><span style="font-weight:bold;color:#a71d5d;">from </span><span style="color:#183691;">"serve_file.ts"</span><span style="color:#323232;">;
</span></code><button class="context_button" data-copy="import * as mod from &quot;serve_file.ts&quot;;
"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="7" height="7" fill="none"></rect>
<rect x="6" y="6" width="7" height="7" fill="none"></rect>
<path d="M1.55566 2.7C1.55566 2.03726 2.09292 1.5 2.75566 1.5H8.75566C9.41841 1.5 9.95566 2.03726 9.95566 2.7V5.1H12.3557C13.0184 5.1 13.5557 5.63726 13.5557 6.3V12.3C13.5557 12.9627 13.0184 13.5 12.3557 13.5H6.35566C5.69292 13.5 5.15566 12.9627 5.15566 12.3V9.9H2.75566C2.09292 9.9 1.55566 9.36274 1.55566 8.7V2.7ZM6.35566 9.9V12.3H12.3557V6.3H9.95566V8.7C9.95566 9.36274 9.41841 9.9 8.75566 9.9H6.35566ZM8.75566 8.7V2.7H2.75566V8.7H8.75566Z" fill="#232323"></path>
</svg>
</button><code></code></pre>
</div></div><nav class="topSymbols">
<h3>Symbols</h3>
<ul><li>
<a href="..&#x2F;..&#x2F;.&#x2F;render_gfm.ts&#x2F;~&#x2F;renderGfm.html" title="renderGfm"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">renderGfm</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;serve_file.ts&#x2F;~&#x2F;serveFile.html" title="serveFile"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">serveFile</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getBaseUrl.html" title="getBaseUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getBaseUrl</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getIndexUrl.html" title="getIndexUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getIndexUrl</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getRepoUrl.html" title="getRepoUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getRepoUrl</span>
</a>
</li></ul><a class="flex items-center gap-0.5" href="..&#x2F;..&#x2F;.&#x2F;all_symbols.html">
<span class="leading-none">view all 10 symbols</span><svg
width="16"
height="16"
viewBox="0 0 16 16"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z" fill="currentColor" />
</svg>
</a></nav></div>
</div>
<div id="searchResults"></div></div>
</body>
</html>

View file

@ -1,264 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>serveFile - Portfolio Sever documentation</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="doc-current-file" content="serve_file.ts">
<link rel="stylesheet" href="..&#x2F;..&#x2F;styles.css">
<link rel="stylesheet" href="..&#x2F;..&#x2F;page.css">
<script src="..&#x2F;..&#x2F;search_index.js" defer></script>
<script src="..&#x2F;..&#x2F;script.js" defer></script>
<script src="..&#x2F;..&#x2F;fuse.js" defer></script>
<script src="..&#x2F;..&#x2F;search.js" defer></script>
</head>
<body class="ddoc">
<nav class="top-0 sticky bg-white z-50 py-3">
<div class="max-lg:flex md:items-center justify-between gap-4 max-md:flex-col-reverse lg:grid lg:grid-cols-4 lg:gap-12">
<div class="lg:col-span-3"><ul class="breadcrumbs"><li><a href="..&#x2F;..&#x2F;" class="contextLink">Portfolio Sever</a></li><span class="text-[#0F172A]"><svg
width="16"
height="16"
viewBox="0 0 16 16"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z" fill="currentColor" />
</svg>
</span><li><a href="..&#x2F;..&#x2F;.&#x2F;serve_file.ts&#x2F;~&#x2F;index.html" class="contextLink">serve_file.ts</a></li><span class="text-[#0F172A]"><svg
width="16"
height="16"
viewBox="0 0 16 16"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z" fill="currentColor" />
</svg>
</span><ul><li>serveFile</li></ul></ul>
</div>
<input
type="text"
id="searchbar"
style="display: none;"
class="lg:col-[span_1_/_-1] flex-1 py-2 px-2.5 rounded text-sm border border-gray-300 bg-transparent" />
</div>
</nav>
<div id="content"><main class="symbolGroup" id="symbol_serveFile"><article>
<div>
<div>
<div class="text-xl leading-none break-all">
<span class="text-Function">function</span>&nbsp;<span class="font-bold">serveFile</span>
</div></div><a
class="context_button relative mr-2"
href="file:&#x2F;&#x2F;&#x2F;E:&#x2F;git.cohabit.fr&#x2F;cohabit&#x2F;portfolio_server&#x2F;src&#x2F;serve_file.ts"><svg
width="14"
height="14"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M3.16675 12.6667H11.3334C11.6428 12.6667 11.9396 12.5438 12.1584 12.325C12.3772 12.1062 12.5001 11.8094 12.5001 11.5V4.20834L9.29175 1H4.33342C4.024 1 3.72725 1.12292 3.50846 1.34171C3.28966 1.5605 3.16675 1.85725 3.16675 2.16667V4.5"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
<path
d="M6.08334 10.3333L7.83334 8.58334L6.08334 6.83334M3.75 6.83334L2 8.58334L3.75 10.3333M9.00001 1V4.5H12.5L9.00001 1Z"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
</div><div><style scoped>
#function_serveFile_0 {
display: none;
}
#function_serveFile_0:checked ~ *:last-child > :not(#function_serveFile_0_div) {
display: none;
}
#function_serveFile_0:checked ~ div:first-of-type > label[for='function_serveFile_0'] {
background-color: var(--ddoc-selection-selected-bg);
border: solid var(--ddoc-selection-border-width) var(--ddoc-selection-selected-border-color);
cursor: unset;
padding: var(--ddoc-selection-padding); /* 1px less to counter the increased border */
}
</style>
<input type="radio" name="function_serveFile" id="function_serveFile_0" checked /><div class="space-y-2"><label for="function_serveFile_0" class="functionOverload"><code class="text-sm break-words">
<span class="font-bold">serveFile</span><span class="font-medium">(<span><span>fileUrl<span>: <a href="https://deno.land/api@1.44.0?s=URL" class="link">URL</a></span></span></span>)<span>: <span>Promise</span>&lt;<a href="https://deno.land/api@1.44.0?s=Response" class="link">Response</a>&gt;</span> </span>
</code></label></div>
<div class="mt-3"><div class="space-y-7" id="function_serveFile_0_div"><section class="section" id="parameters">
<div>
<h2 class="anchorable mb-1"><a href="#parameters" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
Parameters</h2></div><div class="mt-2 space-y-2"><div class="anchorable docEntry" id="function_serveFile_0_parameters_fileUrl"><a href="#function_serveFile_0_parameters_fileUrl" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
<div class="docEntryHeader">
<span><code><span class="font-bold">fileUrl</span><span class="font-medium"><span>: <a href="https://deno.land/api@1.44.0?s=URL" class="link">URL</a></span></span>
</code>
</span><a
class="context_button relative mr-2"
href="file:&#x2F;&#x2F;&#x2F;E:&#x2F;git.cohabit.fr&#x2F;cohabit&#x2F;portfolio_server&#x2F;src&#x2F;serve_file.ts"><svg
width="14"
height="14"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M3.16675 12.6667H11.3334C11.6428 12.6667 11.9396 12.5438 12.1584 12.325C12.3772 12.1062 12.5001 11.8094 12.5001 11.5V4.20834L9.29175 1H4.33342C4.024 1 3.72725 1.12292 3.50846 1.34171C3.28966 1.5605 3.16675 1.85725 3.16675 2.16667V4.5"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
<path
d="M6.08334 10.3333L7.83334 8.58334L6.08334 6.83334M3.75 6.83334L2 8.58334L3.75 10.3333M9.00001 1V4.5H12.5L9.00001 1Z"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
</div></div>
</div></section>
<section class="section" id="return-type">
<div>
<h2 class="anchorable mb-1"><a href="#return-type" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
Return Type</h2></div><div class="mt-2 space-y-2"><div class="anchorable docEntry" id="function_serveFile_0_return"><a href="#function_serveFile_0_return" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
width="16"
height="16"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_1081_1237)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
fill="currentColor"
/>
</g>
<defs>
<clipPath id="clip0_1081_1237">
<rect width="14" height="14" fill="white" />
</clipPath>
</defs>
</svg>
</a>
<div class="docEntryHeader">
<span><code><span class="font-bold"></span><span class="font-medium"><span>Promise</span>&lt;<a href="https://deno.land/api@1.44.0?s=Response" class="link">Response</a>&gt;</span>
</code>
</span><a
class="context_button relative mr-2"
href="file:&#x2F;&#x2F;&#x2F;E:&#x2F;git.cohabit.fr&#x2F;cohabit&#x2F;portfolio_server&#x2F;src&#x2F;serve_file.ts"><svg
width="14"
height="14"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M3.16675 12.6667H11.3334C11.6428 12.6667 11.9396 12.5438 12.1584 12.325C12.3772 12.1062 12.5001 11.8094 12.5001 11.5V4.20834L9.29175 1H4.33342C4.024 1 3.72725 1.12292 3.50846 1.34171C3.28966 1.5605 3.16675 1.85725 3.16675 2.16667V4.5"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
<path
d="M6.08334 10.3333L7.83334 8.58334L6.08334 6.83334M3.75 6.83334L2 8.58334L3.75 10.3333M9.00001 1V4.5H12.5L9.00001 1Z"
stroke="currentColor"
stroke-width="1.4"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</a>
</div></div>
</div></section>
</div>
</div>
</div>
</article></main>
<div class="toc">
<div><div class="usageContent">
<h3>Usage</h3><div class="markdown"><pre class="highlight"><code><span style="font-weight:bold;color:#a71d5d;">import </span><span style="color:#323232;">{ serveFile } </span><span style="font-weight:bold;color:#a71d5d;">from </span><span style="color:#183691;">"serve_file.ts"</span><span style="color:#323232;">;
</span></code><button class="context_button" data-copy="import { serveFile } from &quot;serve_file.ts&quot;;
"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="7" height="7" fill="none"></rect>
<rect x="6" y="6" width="7" height="7" fill="none"></rect>
<path d="M1.55566 2.7C1.55566 2.03726 2.09292 1.5 2.75566 1.5H8.75566C9.41841 1.5 9.95566 2.03726 9.95566 2.7V5.1H12.3557C13.0184 5.1 13.5557 5.63726 13.5557 6.3V12.3C13.5557 12.9627 13.0184 13.5 12.3557 13.5H6.35566C5.69292 13.5 5.15566 12.9627 5.15566 12.3V9.9H2.75566C2.09292 9.9 1.55566 9.36274 1.55566 8.7V2.7ZM6.35566 9.9V12.3H12.3557V6.3H9.95566V8.7C9.95566 9.36274 9.41841 9.9 8.75566 9.9H6.35566ZM8.75566 8.7V2.7H2.75566V8.7H8.75566Z" fill="#232323"></path>
</svg>
</button><code></code></pre>
</div></div><nav class="documentNavigation">
<h3>Document Navigation</h3><ul><li><a href="#parameters" title="Parameters">Parameters</a></li><li><a href="#return-type" title="Return Type">Return Type</a></li></ul></nav></div>
</div>
<div id="searchResults"></div></div>
</body>
</html>

View file

@ -107,14 +107,6 @@ Check the presence of <code>./dist/index.html</code> to return either <code>./di
</div></div><nav class="topSymbols">
<h3>Symbols</h3>
<ul><li>
<a href="..&#x2F;..&#x2F;.&#x2F;render_gfm.ts&#x2F;~&#x2F;renderGfm.html" title="renderGfm"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">renderGfm</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;serve_file.ts&#x2F;~&#x2F;serveFile.html" title="serveFile"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">serveFile</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getBaseUrl.html" title="getBaseUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getBaseUrl</span>
</a>
@ -126,8 +118,16 @@ Check the presence of <code>./dist/index.html</code> to return either <code>./di
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getRepoUrl.html" title="getRepoUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getRepoUrl</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getSourceUrl.html" title="getSourceUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getSourceUrl</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;user_utils.ts&#x2F;~&#x2F;User.html" title="User"><div class="docNodeKindIcon"><div class="text-TypeAlias bg-TypeAlias/15" title="Type Alias">T</div></div>
<span class="hover:bg-TypeAlias/15">User</span>
</a>
</li></ul><a class="flex items-center gap-0.5" href="..&#x2F;..&#x2F;.&#x2F;all_symbols.html">
<span class="leading-none">view all 10 symbols</span><svg
<span class="leading-none">view all 8 symbols</span><svg
width="16"
height="16"
viewBox="0 0 16 16"

View file

@ -133,14 +133,6 @@ as <code>firstname</code>-<code>lastname</code>.</p>
</div></div><nav class="topSymbols">
<h3>Symbols</h3>
<ul><li>
<a href="..&#x2F;..&#x2F;.&#x2F;render_gfm.ts&#x2F;~&#x2F;renderGfm.html" title="renderGfm"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">renderGfm</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;serve_file.ts&#x2F;~&#x2F;serveFile.html" title="serveFile"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">serveFile</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getBaseUrl.html" title="getBaseUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getBaseUrl</span>
</a>
@ -152,8 +144,16 @@ as <code>firstname</code>-<code>lastname</code>.</p>
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getRepoUrl.html" title="getRepoUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getRepoUrl</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;url_utils.ts&#x2F;~&#x2F;getSourceUrl.html" title="getSourceUrl"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15" title="Function">f</div></div>
<span class="hover:bg-Function/15">getSourceUrl</span>
</a>
</li><li>
<a href="..&#x2F;..&#x2F;.&#x2F;user_utils.ts&#x2F;~&#x2F;User.html" title="User"><div class="docNodeKindIcon"><div class="text-TypeAlias bg-TypeAlias/15" title="Type Alias">T</div></div>
<span class="hover:bg-TypeAlias/15">User</span>
</a>
</li></ul><a class="flex items-center gap-0.5" href="..&#x2F;..&#x2F;.&#x2F;all_symbols.html">
<span class="leading-none">view all 10 symbols</span><svg
<span class="leading-none">view all 8 symbols</span><svg
width="16"
height="16"
viewBox="0 0 16 16"

View file

@ -1,6 +1,7 @@
import { contentType } from '@std/media-types'
import { extname } from '@std/path'
import { getBaseUrl, getSourceUrl } from './src/url_utils.ts'
import { toUser, toUserDomain } from './src/user_utils.ts'
import { serveFile } from './src/serve_file.ts'
Deno.serve({ port: Number(Deno.env.get('PORT') ?? 8000) }, async (req) => {
const reqUrl = new URL(req.url)
@ -20,5 +21,20 @@ Deno.serve({ port: Number(Deno.env.get('PORT') ?? 8000) }, async (req) => {
const fileUrl = getSourceUrl(filePath, baseUrl)
// Get source and mime type
return serveFile(fileUrl)
const response = await fetch(fileUrl)
const ext = extname(fileUrl.pathname)
const mimeType = contentType(ext) ?? 'text/plain; charset=utf-8' // Assume plain text as default.
if (response.ok) {
// Update content-type if not bin file
const headers = new Headers(response.headers)
if (headers.get('Content-Type') !== 'application/octet-stream') {
headers.set('Content-Type', mimeType)
}
// Stream original file to user
return new Response(response.body, { headers })
}
return response
})

View file

@ -1,39 +0,0 @@
import { CSS, KATEX_CSS, render } from '@deno/gfm'
export function renderGfm(md: string): string {
const body = render(md, { allowMath: true })
return `
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
main {
max-width: 800px;
margin: 0 auto;
border-radius: 0.5rem;
padding: 1.5rem 2rem 1rem 2rem;
}
body {
background-color: #f7eedc;
@media (prefers-color-scheme: dark) {
background-color: #02010a;
}
}
${CSS}
${KATEX_CSS}
</style>
</head>
<body>
<main data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" class="markdown-body">
${body}
</main>
</body>
</html>
`
}

View file

@ -1,36 +0,0 @@
import { extname } from '@std/path'
import { contentType } from '@std/media-types'
import { renderGfm } from './render_gfm.ts'
export async function serveFile(fileUrl: URL): Promise<Response> {
// Get source and mime type
const response = await fetch(fileUrl)
const ext = extname(fileUrl.pathname)
const mimeType = contentType(ext) ?? 'text/plain; charset=utf-8' // Assume plain text as default.
if (response.ok) {
// Update content-type if not bin file
const headers = new Headers(response.headers)
if (headers.get('Content-Type') !== 'application/octet-stream') {
headers.set('Content-Type', mimeType)
}
if (headers.get('Content-Type') === 'text/markdown; charset=UTF-8') {
// Update content-type to render
headers.set('Content-Type', 'text/html; charset=UTF-8')
// Render GitHub Flavored Markdown to HTML
const md = await response.text()
const html = renderGfm(md)
// Return rendered markdown
return new Response(html, { headers })
}
// Else stream original file to user
return new Response(response.body, { headers })
}
// Return raw error if status !== 2XX
return response
}

View file

@ -48,7 +48,7 @@ export function getRepoUrl(user: User): URL {
* ```
*/
export function getIndexUrl(baseUrl: URL): URL {
if (baseUrl.pathname.endsWith('/dist/')) {
if (baseUrl.pathname.endsWith('./dist/')) {
return new URL('./index.html', baseUrl)
}
return new URL('./README.md', baseUrl)