Skip to content

Instantly share code, notes, and snippets.

View kjk's full-sized avatar

Krzysztof Kowalczyk kjk

View GitHub Profile
@kjk
kjk / toc.css
Last active November 9, 2024 14:46
Notion-like table of contents in plain JavaScript / CSS
/* http://localhost:9307/a-ytv9/implementing-notion-like-table-of-contents-in-javascript.html */
.toc-wrapper {
position: fixed;
top: 1rem;
right: 1rem;
z-index: 50;
max-height: calc(100vh - 2rem);
overflow-y: auto;
@kjk
kjk / deploy.go
Created September 27, 2023 15:45
example of deploying server binary to a server
package main
import (
"fmt"
"io/fs"
"os"
"os/exec"
"path"
"path/filepath"
"strings"
@kjk
kjk / list-fonts.js
Created February 25, 2023 07:43
list fonts
const fontCheck = new Set([
// Windows 10
'Arial', 'Arial Black', 'Bahnschrift', 'Calibri', 'Cambria', 'Cambria Math', 'Candara', 'Comic Sans MS', 'Consolas', 'Constantia', 'Corbel', 'Courier New', 'Ebrima', 'Franklin Gothic Medium', 'Gabriola', 'Gadugi', 'Georgia', 'HoloLens MDL2 Assets', 'Impact', 'Ink Free', 'Javanese Text', 'Leelawadee UI', 'Lucida Console', 'Lucida Sans Unicode', 'Malgun Gothic', 'Marlett', 'Microsoft Himalaya', 'Microsoft JhengHei', 'Microsoft New Tai Lue', 'Microsoft PhagsPa', 'Microsoft Sans Serif', 'Microsoft Tai Le', 'Microsoft YaHei', 'Microsoft Yi Baiti', 'MingLiU-ExtB', 'Mongolian Baiti', 'MS Gothic', 'MV Boli', 'Myanmar Text', 'Nirmala UI', 'Palatino Linotype', 'Segoe MDL2 Assets', 'Segoe Print', 'Segoe Script', 'Segoe UI', 'Segoe UI Historic', 'Segoe UI Emoji', 'Segoe UI Symbol', 'SimSun', 'Sitka', 'Sylfaen', 'Symbol', 'Tahoma', 'Times New Roman', 'Trebuchet MS', 'Verdana', 'Webdings', 'Wingdings', 'Yu Gothic',
// macOS
'American Typewriter', 'Andale Mono', 'Arial', 'Aria
@kjk
kjk / v2.json
Created July 3, 2022 22:38
gdrive api (made with https://codeeval.dev)
{
"kind": "drive#fileList",
"etag": "\"dNzmxTQXf93-URXXV2e6HTjz4Uc\"",
"selfLink": "https://www.googleapis.com/drive/v2/files",
"nextPageToken": "~!!~AI9FV7TLkZbjkzrcrQWqhRUpOMAeA1WkjFDTn3zHXVv9Bigb-9iLCYw1O-ezzFljevtOfWIZHjy_rDWE0T7_taMq9ue72WfcfGr4r8VKaM-pqUFxxBP0o8rc8qCJPeQv_jatR0rlEjSnK8kw0WwyrsH5TniY5bdOrXh-_I1ikH26dtRCjTXQcQBAfaKhQapG63E5TNk4UdOcuvp3pGlIxKA7IP59ycgYEHFfGEN7cF3DUz9JnuCbjBjK3eS6XB1J8UqBVzgeL1kdRZo5j9lfMIC6sQHihLH9-haQR7pfqT6dbm-ffNtoCITzTuv4aCrP21Qbq5LqdzcZ",
"nextLink": "https://www.googleapis.com/drive/v2/files?pageToken=~!!~AI9FV7TLkZbjkzrcrQWqhRUpOMAeA1WkjFDTn3zHXVv9Bigb-9iLCYw1O-ezzFljevtOfWIZHjy_rDWE0T7_taMq9ue72WfcfGr4r8VKaM-pqUFxxBP0o8rc8qCJPeQv_jatR0rlEjSnK8kw0WwyrsH5TniY5bdOrXh-_I1ikH26dtRCjTXQcQBAfaKhQapG63E5TNk4UdOcuvp3pGlIxKA7IP59ycgYEHFfGEN7cF3DUz9JnuCbjBjK3eS6XB1J8UqBVzgeL1kdRZo5j9lfMIC6sQHihLH9-haQR7pfqT6dbm-ffNtoCITzTuv4aCrP21Qbq5LqdzcZ",
"incompleteSearch": false,
"items": [
{
"kind": "drive#file",
@kjk
kjk / TabsCtrl.cpp
Created May 23, 2022 00:56
sumatra tabs (made with https://codeeval.dev)
/* Copyright 2022 the SumatraPDF project authors (see AUTHORS file).
License: Simplified BSD (see COPYING.BSD) */
#include "utils/BaseUtil.h"
#include "utils/ScopedWin.h"
#include "utils/Dpi.h"
#include "utils/WinUtil.h"
#include "wingui/Layout.h"
#include "wingui/Window.h"
@kjk
kjk / main.go
Last active December 10, 2021 05:26
gomarkdown example for #216 (made with https://codeeval.dev)
package main
import (
"fmt"
"github.com/gomarkdown/markdown"
"github.com/gomarkdown/markdown/parser"
)
const md = `
- [level-1-b](#level-1)
@kjk
kjk / main.go
Created June 22, 2021 02:27
pretty print JSON (made with https://codeeval.dev)
package main
import (
"fmt"
"encoding/json"
"github.com/tidwall/pretty"
)
var prettyOpts = pretty.Options{
Width: 80,
#include <iostream> // std::cout
#include <atomic> // std::atomic, std::memory_order_relaxed
#include <thread> // std::thread
std::atomic_int foo (0);
void set_foo(int x) {
foo.store(x); // set value atomically
}
@kjk
kjk / main.cc
Created July 21, 2020 08:33
Example for sort (made with https://codeeval.dev)
#include <algorithm> // std::sort
#include <iostream>
#include <vector> // std::vector
using namespace std;
int main()
{
vector<int> a{3, 8, 1, 5, -8, 33, 4};
sort( a.begin(), a.end() );
int const n = a.size();
#include <complex>
#include <iostream>
int main()
{
using namespace std::literals::complex_literals;
std::complex<double> c = 2.0 + 1i; // {2.0, 1.}
std::complex<float> cf = 2.0f + 1if; // {2.0f, 1.f}
std::complex<long double> cl = 2.0L + 1il; // {2.0L, 1.L}