Kevin Mok
5 years ago
26 changed files with 289 additions and 149 deletions
-
30assets/sass/main.scss
-
14content/posts/server-apps.md
-
4content/resume/_index.md
-
9content/server/_index.md
-
4layouts/partials/base/footer.html
-
10layouts/partials/home/me-equation.html
-
6layouts/partials/resume/contact-info.html
-
4layouts/partials/resume/print-icon.html
-
14layouts/server/single.html
-
2layouts/shortcodes/resume/project.html
-
0static/img/home/arch.svg
-
0static/img/home/gnu.svg
-
0static/img/home/hexatar.png
-
0static/img/home/uoft-logo.svg
-
BINstatic/img/larbs.png
-
116static/img/linux-icon.svg
-
0static/img/resume/envelope.svg
-
0static/img/resume/link.svg
-
0static/img/resume/printer.svg
-
0static/img/resume/smartphone.svg
-
43static/img/server/check.svg
-
46static/img/server/x.svg
-
BINstatic/kevin-mok-resume.pdf
-
BINstatic/resume.pdf
-
74static/server-apps.json
-
62static/server-table.js
@ -1,14 +0,0 @@ |
|||
--- |
|||
title: "Server Apps" |
|||
date: 2019-09-03T12:31:45-04:00 |
|||
draft: true |
|||
--- |
|||
- Baikal |
|||
- Gitea |
|||
- Synapse |
|||
- Taskserver |
|||
- haste-server |
|||
- liteshort |
|||
- personal site |
|||
- spv |
|||
- twem |
@ -1,10 +1,7 @@ |
|||
--- |
|||
title: "Server" |
|||
date: 2019-09-21 |
|||
draft: true |
|||
layout: single |
|||
draft: false |
|||
layout: single |
|||
js: ["server-table"] |
|||
--- |
|||
|Name|Image|Short Code| |
|||
|---------|:-----:|-----| |
|||
|BabyRage|![BabyRage](https://twem.tk/br.png)|[br](https://twem.tk/br.png)| |
|||
|BibleThump|![BibleThump](https://twem.tk/bt.png)|[bt](https://twem.tk/bt.png)| |
@ -1,24 +1,24 @@ |
|||
<div class="me-equation"> |
|||
<div class="equation-part"> |
|||
<a href="https://www.gnu.org/" target="_blank"> |
|||
<img src="{{ "img/gnu.svg" | relURL }}" id="gnu" alt="gnu-logo"> |
|||
<img src="{{ "img/home/gnu.svg" | relURL }}" id="gnu" alt="gnu-logo"> |
|||
</a> |
|||
<p>+</p> |
|||
</div> |
|||
<div class="equation-part"> |
|||
<a href="https://www.wikiwand.com/en/Arch_Linux" target="_blank"> |
|||
<img src="{{ "img/arch.svg" | relURL }}" alt="linux-logo"> |
|||
<!-- <img src="{{ "img/larbs.png" | relURL }}" alt="linux-logo"> --> |
|||
<img src="{{ "img/home/arch.svg" | relURL }}" alt="linux-logo"> |
|||
<!-- <img src="{{ "img/home/larbs.png" | relURL }}" alt="linux-logo"> --> |
|||
</a> |
|||
<p>+</p> |
|||
</div> |
|||
<div class="equation-part" id="uoft-part"> |
|||
<a href="https://www.utoronto.ca/" target="_blank"> |
|||
<img src="{{ "img/uoft-logo.svg" | relURL }}" alt="uoft-logo"> |
|||
<img src="{{ "img/home/uoft-logo.svg" | relURL }}" alt="uoft-logo"> |
|||
</a> |
|||
<p>=</p> |
|||
</div> |
|||
<div class="equation-part"> |
|||
<img src="{{ "img/hexatar.png" | relURL }}" id="hexatar" alt="my-avatar"> |
|||
<img src="{{ "img/home/hexatar.png" | relURL }}" id="hexatar" alt="my-avatar"> |
|||
</div> |
|||
</div> |
@ -1,15 +1,15 @@ |
|||
<div id="contact-info"> |
|||
<div id="phone-number"> |
|||
<img src="{{ "img/smartphone.svg" | relURL }}" |
|||
<img src="{{ "img/resume/smartphone.svg" | relURL }}" |
|||
alt="smartphone-icon">: |
|||
<a href="tel:647-685-2500" target="_blank">647-685-2500</a> |
|||
</div> |
|||
<div id="email"> |
|||
<img src="{{ "img/envelope.svg" | relURL }}" alt="envelope-icon">: |
|||
<img src="{{ "img/resume/envelope.svg" | relURL }}" alt="envelope-icon">: |
|||
<a href="mailto:me@kevin-mok.com">me@kevin-mok.com</a> |
|||
</div> |
|||
<div id="website"> |
|||
<img src="{{ "img/link.svg" | relURL }}" alt="link-icon">: |
|||
<img src="{{ "img/resume/link.svg" | relURL }}" alt="link-icon">: |
|||
<a href="https://kevin-mok.com/">kevin-mok.com</a> |
|||
</div> |
|||
</div> |
@ -1,5 +1,5 @@ |
|||
<div id="print-icon"> |
|||
<a href="{{ "resume.pdf" | relURL }}" target="_blank"> |
|||
<img src="{{ "img/printer.svg" | relURL }}" alt="printer-icon"> |
|||
<a href="{{ "kevin-mok-resume.pdf" | relURL }}" target="_blank"> |
|||
<img src="{{ "img/resume/printer.svg" | relURL }}" alt="printer-icon"> |
|||
</a> |
|||
</div> |
@ -0,0 +1,14 @@ |
|||
{{ partial "base/header.html" . }} |
|||
|
|||
{{ partial "base/site-title.html" . }} |
|||
|
|||
{{ partial "base/nav-bar.html" . }} |
|||
|
|||
{{ partial "base/base16-logo.html" . }} |
|||
|
|||
<main role="main" id="server"> |
|||
<table> |
|||
</table> |
|||
</main> |
|||
|
|||
{{ partial "base/footer.html" . }} |
Before Width: 512 | Height: 512 | Size: 18 KiB After Width: 512 | Height: 512 | Size: 18 KiB |
Before Width: 804 | Height: 906 | Size: 56 KiB |
@ -1,116 +0,0 @@ |
|||
<?xml version="1.0" encoding="iso-8859-1"?> |
|||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> |
|||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |
|||
viewBox="0 0 512.002 512.002" style="enable-background:new 0 0 512.002 512.002;" xml:space="preserve"> |
|||
<g> |
|||
<path style="fill:#FFFFFF;" d="M259.345,110.181c-0.076-0.789-0.112-1.578-0.112-2.369c0-11.578,7.584-20.997,16.903-20.997 |
|||
c9.537,0,17.007,9.223,17.007,20.997c0,2.666-0.401,5.236-1.148,7.61c2.795-4.442,4.412-10.032,4.412-15.892 |
|||
c0-14.079-9-25.535-20.06-25.535c-11.063,0-20.06,11.455-20.06,25.535c0,3.461,0.542,6.849,1.615,10.099 |
|||
C258.369,109.807,258.851,109.992,259.345,110.181z"/> |
|||
<path style="fill:#FFFFFF;" d="M209.407,87.924c0.604-0.092,1.157-0.134,1.707-0.134c7.418,0,14.069,7.281,15.812,17.311 |
|||
c0.175,1.1,0.285,2.196,0.334,3.277c0.482-0.245,0.972-0.475,1.471-0.688c0.245-1.739,0.364-3.369,0.364-5.006 |
|||
c0-12.986-6.879-23.957-15.019-23.957c-6.933,0-12.775,7.636-14.44,17.95C201.532,91.973,204.993,88.657,209.407,87.924z"/> |
|||
<path style="fill:#FFFFFF;" d="M349.093,349.859c1.865-7.908,5.575-28.1,2.063-52.525c-4.438-30.87-47.875-126.994-55.35-137.727 |
|||
c-4.36,0.609-15.946,7.304-25.342,12.733c-10.896,6.295-22.166,12.807-29.829,15.019c-1.6,0.453-3.273,0.677-4.997,0.677 |
|||
c-11.199,0-23.32-9.468-31.135-16.926c-1.365,14.472-9.078,32.835-17.423,42.273c-5.271,6.045-9.982,19.854-14.538,33.21 |
|||
c-4.22,12.367-8.583,25.157-13.925,33.592c-10.809,16.842-17.009,49.555-9.144,68.159c3.806,9.018,17.62,19.668,29.807,29.062 |
|||
c14.905,11.491,27.776,21.413,29.196,31.419c1.657,11.831-4.635,18.388-10.927,21.497l15.961,18.263 |
|||
c2.466,0.374,8.405,1.091,17.712,1.091c10.886,0,22.97-0.952,35.907-2.834c31.763-4.705,53.886-30.88,58.261-36.438 |
|||
c0.023-7.363,0.248-40.123,2.396-50.366c0.834-3.945,4.037-10.547,16.136-10.547C345.803,349.488,347.594,349.653,349.093,349.859z |
|||
"/> |
|||
</g> |
|||
<g> |
|||
<path style="fill:#E69629;" d="M210.488,147.081c0.623,2.422,6.136,8.617,14.71,14.242c1.217,0.781,2.359,1.558,3.431,2.286 |
|||
c4.756,3.232,6.871,4.559,10.29,4.098c5.034-0.66,23.579-11.904,31.499-16.706l1.971-1.194c2.949-1.796,5.306-3.023,7.2-4.009 |
|||
c3.75-1.951,4.089-2.266,4.249-2.978c-0.425-1.103-3.926-4.056-10.641-6.364c-2.134-0.764-5.162-1.974-8.67-3.374 |
|||
c-7.589-3.03-17.984-7.176-22.197-7.922c-0.18-0.034-0.349-0.045-0.539-0.045c-3.586,0-10.831,4.499-18.031,11.194 |
|||
C220.211,139.513,213.283,144.92,210.488,147.081z"/> |
|||
<path style="fill:#E69629;" d="M147.149,395.532c-3.119-5.222-5.815-9.735-7.27-11.984c-5.738-8.931-15.696-18.907-20.442-18.907 |
|||
c-0.416,0-0.635,0.097-0.777,0.181c-2.533,1.442-4.662,5.837-6.723,10.084c-2.847,5.875-6.075,12.535-12.036,16.146 |
|||
c-4.41,2.676-11.152,4.138-17.668,5.555c-4.637,1.007-15.493,3.362-16.003,5.562c-0.703,2.968-0.049,6.033,0.781,9.913 |
|||
c0.977,4.578,2.196,10.274,1.158,17.267c-0.732,4.386-2.063,8.575-3.354,12.627c-1.793,5.637-3.826,12.03-2.073,13.995 |
|||
c2.162,1.909,15.207,4.019,24.731,5.562c11.972,1.937,24.351,3.942,31.932,7.118l2.009,0.846 |
|||
c13.579,5.706,38.854,16.329,51.622,16.329c1.162,0,2.152-0.094,2.951-0.274c2.202-1.482,11.531-8.184,13.284-16.424 |
|||
c2.394-10.619-7.338-23.005-13.349-29.444C169.25,432.519,156.477,411.14,147.149,395.532z"/> |
|||
<path style="fill:#E69629;" d="M435.761,420.974l-1.556-0.819c-10.688-5.65-16.307-20.984-15.563-32.542 |
|||
c0.139-2.129-0.126-3.78-0.557-5.045c-1.974,3.247-4.793,7.348-8.143,10.697c-5.691,5.692-19.584,11.833-32.105,11.833 |
|||
c-4.67,0-8.927-0.823-12.652-2.448c-12.498-5.451-14.202-21.081-14.234-28.917c-0.185,0.052-0.354,0.112-0.505,0.183 |
|||
c-0.764,2.701-0.024,11.806,0.475,17.935c0.267,3.279,0.542,6.669,0.705,9.78c0.708,13.708-3.658,36.958-7.447,54.049 |
|||
c-3.597,16.732,3.097,28.464,11.224,30.997c0.73,0.232,1.551,0.346,2.453,0.346c7.487,0,19.886-7.749,30.848-19.285 |
|||
c7.788-8.189,25.122-17.04,40.416-24.85c8.622-4.402,17.537-8.956,20.071-11.271c0.564-0.525,0.648-0.819,0.65-0.821 |
|||
C449.681,428.282,439.568,422.972,435.761,420.974z"/> |
|||
</g> |
|||
<path d="M461.071,411.093c-15.014-6.147-21.437-14.308-20.816-26.485c0.64-14.212-7.423-24.62-11.252-28.733 |
|||
c2.313-8.837,9.073-39.406,0.007-65.959c-9.743-28.42-39.49-71.825-70.183-114.492c-12.565-17.522-13.159-36.57-13.846-58.625 |
|||
c-0.658-21.036-1.4-44.88-13.131-71.387C319.095,16.55,293.501,0,261.628,0c-18.961,0-38.424,5.926-53.401,16.257 |
|||
c-30.67,21.167-26.616,67.316-23.933,97.851c0.368,4.182,0.713,8.132,0.915,11.504c1.786,29.908,0.161,45.672-1.964,50.463 |
|||
c-1.375,3.131-8.143,12.041-15.306,21.476c-7.408,9.758-15.807,20.816-22.691,31.121c-8.214,12.401-14.845,31.355-21.257,49.684 |
|||
c-4.692,13.411-9.124,26.08-13.438,33.655c-8.177,14.564-6.142,28.145-4.444,34.422c-3.096,2.15-7.568,6.386-11.343,14.366 |
|||
c-4.563,9.736-13.821,14.967-33.072,18.669c-8.847,1.81-14.947,5.53-18.137,11.056c-4.642,8.043-2.113,18.148,0.193,25.056 |
|||
c3.408,10.151,1.284,16.577-2.577,28.246c-0.89,2.691-1.899,5.741-2.921,9.102c-1.61,5.308-1.029,10.131,1.722,14.341 |
|||
c7.27,11.113,28.486,15.033,50.326,17.613c13.04,1.548,27.312,6.763,41.116,11.808c13.525,4.942,27.511,10.054,40.223,11.605 |
|||
c1.932,0.243,3.846,0.364,5.691,0.364c19.194,0,27.866-12.735,30.616-17.967c6.894-1.407,30.673-5.912,55.181-6.518 |
|||
c24.469-0.697,48.143,4.135,54.85,5.635c2.108,4.036,7.667,13.253,16.527,18.004c4.87,2.662,11.647,4.188,18.588,4.188 |
|||
c0.002,0,0,0,0.002,0c7.413,0,21.516-1.753,32.678-13.497c11.133-11.796,38.949-26.859,59.261-37.856 |
|||
c4.533-2.454,8.773-4.751,12.491-6.822c11.41-6.325,17.636-15.362,17.081-24.794C474.141,421.194,468.955,414.322,461.071,411.093z |
|||
M276.345,73.995c11.061,0,20.06,11.455,20.06,25.535c0,5.859-1.617,11.449-4.412,15.892c0.745-2.374,1.148-4.944,1.148-7.61 |
|||
c0-11.774-7.47-20.997-17.007-20.997c-9.32,0-16.903,9.419-16.903,20.997c0,0.791,0.039,1.58,0.112,2.369 |
|||
c-0.494-0.188-0.975-0.374-1.445-0.552c-1.073-3.25-1.615-6.638-1.615-10.099C256.284,85.451,265.282,73.995,276.345,73.995z |
|||
M242.329,125.164c4.214,0.744,14.606,4.892,22.197,7.922c3.508,1.4,6.539,2.61,8.67,3.374c6.715,2.308,10.217,5.261,10.641,6.364 |
|||
c-0.159,0.713-0.499,1.027-4.249,2.978c-1.894,0.985-4.25,2.211-7.2,4.009l-1.971,1.194c-7.92,4.803-26.465,16.048-31.499,16.706 |
|||
c-3.42,0.46-5.535-0.868-10.29-4.098c-1.073-0.73-2.214-1.506-3.431-2.286c-8.573-5.627-14.088-11.82-14.71-14.242 |
|||
c2.795-2.16,9.723-7.568,13.27-10.771c7.2-6.695,14.445-11.194,18.031-11.194C241.978,125.117,242.15,125.13,242.329,125.164z |
|||
M214.073,78.724c8.142,0,15.019,10.97,15.019,23.957c0,1.638-0.118,3.267-0.364,5.006c-0.499,0.213-0.989,0.445-1.471,0.688 |
|||
c-0.049-1.083-0.161-2.177-0.334-3.277c-1.742-10.03-8.394-17.311-15.812-17.311c-0.549,0-1.101,0.042-1.707,0.134 |
|||
c-4.413,0.735-7.875,4.049-9.772,8.751C201.299,86.359,207.142,78.724,214.073,78.724z M189.271,469.128 |
|||
c-1.753,8.241-11.083,14.942-13.284,16.424c-0.799,0.18-1.788,0.274-2.951,0.274c-12.768,0-38.043-10.623-51.622-16.329 |
|||
l-2.009-0.846c-7.583-3.178-19.961-5.18-31.932-7.118c-9.525-1.543-22.568-3.653-24.731-5.562c-1.753-1.966,0.28-8.358,2.073-13.995 |
|||
c1.291-4.052,2.624-8.241,3.354-12.627c1.036-6.993-0.181-12.691-1.158-17.267c-0.829-3.881-1.484-6.945-0.781-9.913 |
|||
c0.51-2.199,11.366-4.554,16.003-5.562c6.518-1.417,13.26-2.879,17.668-5.555c5.961-3.611,9.189-10.27,12.036-16.146 |
|||
c2.061-4.247,4.19-8.642,6.723-10.084c0.143-0.086,0.361-0.181,0.777-0.181c4.746,0,14.704,9.975,20.442,18.907 |
|||
c1.455,2.249,4.151,6.76,7.27,11.984c9.329,15.609,22.102,36.987,28.773,44.151C181.933,446.123,191.664,458.508,189.271,469.128z |
|||
M327.787,360.037c-2.145,10.243-2.372,43.003-2.396,50.366c-4.375,5.558-26.498,31.732-58.261,36.438 |
|||
c-12.938,1.88-25.019,2.834-35.907,2.834c-9.307,0-15.246-0.719-17.712-1.091l-15.961-18.263 |
|||
c6.292-3.109,12.584-9.666,10.927-21.497c-1.42-10.005-14.291-19.928-29.196-31.419c-12.187-9.394-26.001-20.042-29.807-29.062 |
|||
c-7.865-18.602-1.665-51.315,9.144-68.159c5.342-8.434,9.705-21.225,13.925-33.592c4.556-13.356,9.268-27.166,14.538-33.21 |
|||
c8.345-9.438,16.057-27.801,17.423-42.273c7.814,7.458,19.936,16.926,31.135,16.926c1.724,0,3.398-0.225,4.997-0.677 |
|||
c7.662-2.213,18.931-8.724,29.829-15.019c9.396-5.429,20.982-12.124,25.342-12.733c7.475,10.734,50.912,106.858,55.35,137.727 |
|||
c3.512,24.425-0.198,44.616-2.063,52.525c-1.501-0.206-3.29-0.371-5.17-0.371C331.824,349.488,328.621,356.092,327.787,360.037z |
|||
M449.194,431.621c-2.533,2.315-11.449,6.869-20.071,11.271c-15.295,7.808-32.631,16.661-40.416,24.85 |
|||
c-10.962,11.536-23.361,19.285-30.848,19.285c-0.901,0-1.722-0.114-2.453-0.346c-8.128-2.533-14.821-14.266-11.224-30.997 |
|||
c3.789-17.093,8.153-40.341,7.447-54.049c-0.163-3.112-0.438-6.502-0.705-9.78c-0.499-6.127-1.239-15.233-0.475-17.935 |
|||
c0.151-0.071,0.319-0.131,0.505-0.183c0.032,7.836,1.734,23.467,14.234,28.917c3.725,1.625,7.982,2.448,12.652,2.448 |
|||
c12.521,0,26.414-6.141,32.105-11.833c3.351-3.349,6.169-7.45,8.143-10.697c0.431,1.264,0.697,2.916,0.557,5.044 |
|||
c-0.744,11.558,4.873,26.891,15.563,32.542l1.556,0.819c3.807,1.996,13.92,7.307,14.083,9.824 |
|||
C449.842,430.801,449.758,431.097,449.194,431.621z"/> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
</svg> |
@ -0,0 +1,43 @@ |
|||
<?xml version="1.0" encoding="iso-8859-1"?> |
|||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> |
|||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |
|||
viewBox="0 0 507.2 507.2" style="enable-background:new 0 0 507.2 507.2;" xml:space="preserve"> |
|||
<circle style="fill:#32BA7C;" cx="253.6" cy="253.6" r="253.6"/> |
|||
<path style="fill:#0AA06E;" d="M188.8,368l130.4,130.4c108-28.8,188-127.2,188-244.8c0-2.4,0-4.8,0-7.2L404.8,152L188.8,368z"/> |
|||
<g> |
|||
<path style="fill:#FFFFFF;" d="M260,310.4c11.2,11.2,11.2,30.4,0,41.6l-23.2,23.2c-11.2,11.2-30.4,11.2-41.6,0L93.6,272.8 |
|||
c-11.2-11.2-11.2-30.4,0-41.6l23.2-23.2c11.2-11.2,30.4-11.2,41.6,0L260,310.4z"/> |
|||
<path style="fill:#FFFFFF;" d="M348.8,133.6c11.2-11.2,30.4-11.2,41.6,0l23.2,23.2c11.2,11.2,11.2,30.4,0,41.6l-176,175.2 |
|||
c-11.2,11.2-30.4,11.2-41.6,0l-23.2-23.2c-11.2-11.2-11.2-30.4,0-41.6L348.8,133.6z"/> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
</svg> |
@ -0,0 +1,46 @@ |
|||
<?xml version="1.0" encoding="iso-8859-1"?> |
|||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> |
|||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" |
|||
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> |
|||
<circle style="fill:#E21B1B;" cx="256" cy="256" r="256"/> |
|||
<path style="fill:#C40606;" d="M510.28,285.304L367.912,142.936L150.248,368.608l140.928,140.928 |
|||
C406.352,493.696,497.056,401.288,510.28,285.304z"/> |
|||
<g> |
|||
<path style="fill:#FFFFFF;" d="M354.376,371.536c-5.12,0-10.232-1.952-14.144-5.856L146.408,171.848 |
|||
c-7.816-7.816-7.816-20.472,0-28.28s20.472-7.816,28.28,0L368.52,337.4c7.816,7.816,7.816,20.472,0,28.28 |
|||
C364.608,369.584,359.496,371.536,354.376,371.536z"/> |
|||
<path style="fill:#FFFFFF;" d="M160.544,371.536c-5.12,0-10.232-1.952-14.144-5.856c-7.816-7.816-7.816-20.472,0-28.28 |
|||
l193.832-193.832c7.816-7.816,20.472-7.816,28.28,0s7.816,20.472,0,28.28L174.688,365.68 |
|||
C170.784,369.584,165.664,371.536,160.544,371.536z"/> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
<g> |
|||
</g> |
|||
</svg> |
@ -0,0 +1,74 @@ |
|||
[ |
|||
{ |
|||
"status": "up", |
|||
"shortUrl": "kevin-mok.com", |
|||
"url": "https://kevin-mok.com", |
|||
"siteTitle": "Kevin Mok", |
|||
"description": "Personal site (this site).", |
|||
"repo": "Kevin-Mok/my-site", |
|||
"repoUrl": "https://git.kevin-mok.com/Kevin-Mok/my-site" |
|||
}, |
|||
{ |
|||
"status": "up", |
|||
"shortUrl": "git.kevin-mok.com", |
|||
"url": "https://git.kevin-mok.com", |
|||
"siteTitle": "Kevin Mok's Gitea", |
|||
"description": "Lightweight Git server.", |
|||
"repo": "go-gitea/gitea", |
|||
"repoUrl": "https://github.com/go-gitea/gitea" |
|||
}, |
|||
{ |
|||
"status": "up", |
|||
"shortUrl": "cal.khkm.tk", |
|||
"url": "https://cal.khkm.tk", |
|||
"siteTitle": "Baïkal server", |
|||
"description": "CalDAV/CardDAV server.", |
|||
"repo": "sabre-io/Baikal", |
|||
"repoUrl": "https://github.com/sabre-io/Baikal" |
|||
}, |
|||
{ |
|||
"status": "up", |
|||
"shortUrl": "matrix.ataraxy.tk", |
|||
"url": "https://matrix.ataraxy.tk/.well-known/matrix/server", |
|||
"siteTitle": "", |
|||
"description": "Matrix chat server (only accessible through Riot client).", |
|||
"repo": "matrix-org/synapse", |
|||
"repoUrl": "https://github.com/matrix-org/synapse" |
|||
}, |
|||
{ |
|||
"status": "up", |
|||
"shortUrl": "mnpd.gq", |
|||
"url": "https://mnpd.gq/test", |
|||
"siteTitle": "test", |
|||
"description": "Minimalist web notepad.", |
|||
"repo": "pereorga/minimalist-web-notepad", |
|||
"repoUrl": "https://github.com/pereorga/minimalist-web-notepad" |
|||
}, |
|||
{ |
|||
"status": "up", |
|||
"shortUrl": "pste.gq", |
|||
"url": "https://pste.gq", |
|||
"siteTitle": "hastebin", |
|||
"description": "Pastebin.", |
|||
"repo": "seejohnrun/haste-server", |
|||
"repoUrl": "https://github.com/seejohnrun/haste-server" |
|||
}, |
|||
{ |
|||
"status": "up", |
|||
"shortUrl": "smol.gq", |
|||
"url": "https://smol.gq", |
|||
"siteTitle": "Kevin's URL Shortener", |
|||
"description": "URL shortener.", |
|||
"repo": "132ikl/liteshort", |
|||
"repoUrl": "https://github.com/132ikl/liteshort" |
|||
}, |
|||
{ |
|||
"status": "up", |
|||
"shortUrl": "twem.tk", |
|||
"url": "https://twem.tk", |
|||
"siteTitle": "Twitch Emote Links", |
|||
"description": "Twitch emotes (for Matrix chat server which doesn't have custom emotes).", |
|||
"repo": "", |
|||
"repoUrl": "" |
|||
} |
|||
] |
@ -0,0 +1,62 @@ |
|||
const log = console.log |
|||
|
|||
const headerKeys = { |
|||
"status": "Status", |
|||
"url": "URL", |
|||
"description": "Description", |
|||
"repo": "Repository" |
|||
} |
|||
const keyOrder = ["status", "url", "description", "repo"] |
|||
|
|||
function generateTableHead(table) { |
|||
let thead = table.createTHead(); |
|||
let row = thead.insertRow(); |
|||
keyOrder.forEach(key => { |
|||
let th = document.createElement("th"); |
|||
th.textContent = headerKeys[key]; |
|||
row.appendChild(th); |
|||
}) |
|||
} |
|||
|
|||
function generateTable(table, data) { |
|||
data.forEach(elem => { |
|||
let row = table.insertRow(); |
|||
keyOrder.forEach(key => { |
|||
const cell = row.insertCell(); |
|||
cell.className = key; |
|||
const aElem = document.createElement('a') |
|||
aElem.target = '_blank' |
|||
switch (key) { |
|||
case 'status': |
|||
// cell.textContent = ((elem[key] == 'up') ? '🗸' : '✗')
|
|||
const statusIcon = document.createElement('img') |
|||
statusIcon.src = '/img/server/' + ((elem[key] == 'up') ? 'check' : 'x') + '.svg' |
|||
cell.appendChild(statusIcon) |
|||
break |
|||
case 'url': |
|||
aElem.href = elem[key] |
|||
aElem.textContent = elem['shortUrl'] |
|||
cell.appendChild(aElem) |
|||
break |
|||
case 'repo': |
|||
aElem.href = elem['repoUrl'] |
|||
aElem.textContent = elem[key] |
|||
cell.appendChild(aElem) |
|||
break |
|||
default: |
|||
cell.textContent = elem[key] |
|||
} |
|||
}) |
|||
}) |
|||
} |
|||
|
|||
// fetch("http://localhost:1313/server-apps.json")
|
|||
fetch("/server-apps.json") |
|||
.then(response => response.json()) |
|||
.then(json => { |
|||
// console.log(json)
|
|||
let table = document.querySelector("table"); |
|||
generateTable(table, json); |
|||
generateTableHead(table); |
|||
}); |
|||
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue