Skip to content

Instantly share code, notes, and snippets.

View Grafikart's full-sized avatar
🏠
Working from home

Jonathan Grafikart

🏠
Working from home
View GitHub Profile
@Grafikart
Grafikart / jsr.js
Created August 24, 2023 08:38
jetsetradio.live downloader (nodejs)
import {chromium, devices} from 'playwright';
import ora from 'ora';
import inquirer from 'inquirer'
import {createWriteStream} from 'node:fs'
import {mkdir} from 'node:fs/promises'
import {get} from 'node:https'
/**
* Download music from jetsetradio.live
*
[
{
"key": "alt+1",
"command": "multiCommand.makeRoom"
},
{
"key": "ctrl+d",
"command": "editor.action.smartSelect.expand",
"when": "editorTextFocus"
},
@Grafikart
Grafikart / index.html
Created August 11, 2022 21:53
CSSBattle
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>CSSBattle canvas</title>
<style>
:root {
@Grafikart
Grafikart / AppServiceProvider.php
Created August 25, 2022 08:07
Laravel SQL Log
<?php
// Ajouter ce code dans boot()
if ($this->app->isLocal() && ($_SERVER['PHP_SELF'] ?? null) !== 'artisan') {
$k = 0;
\Illuminate\Support\Facades\DB::listen(function (\Illuminate\Database\Events\QueryExecuted $q) use (&$k) {
$k++;
file_put_contents('php://stdout', "[{$k}] \e[34m{$q->sql}\t\e[37m]".json_encode($q->bindings)."\t\e[32m{$q->time}ms\e[0m\n");
});
}
@Grafikart
Grafikart / Grafikart.google
Last active August 25, 2022 09:16
Brave search goggle
! name: Grafikart
! description: Rerank results to remove unaccessible content.
! public: true
! author: Grafikart
! avatar: #4869ee
! https://search.brave.com/goggles/create?nav=site
! Boost docs
$boost=3,site=developer.mozilla.org
@Grafikart
Grafikart / fetchApi.ts
Last active August 17, 2022 12:33
OpenApiFetch.ts
import { paths } from "../types/generated-schema";
/**
* Utility types
*/
// Filtre un objet en retirant les clefs qui ne satisfont pas la condition C
type Filter<T, C> = Pick<
T,
{
[Key in keyof T]: T[Key] extends C ? Key : never;
@Grafikart
Grafikart / DOMAnimation.js
Last active May 25, 2022 09:17
Permet d'animer des éléments HTML
class DOMAnimations {
/**
* Masque un élément avec un effet de repli
* @param {HTMLElement} element
* @param {Number} duration
* @returns {Promise<boolean>}
*/
static slideUp (element, duration = 500) {
return new Promise(function (resolve, reject) {
element.style.height = element.offsetHeight + 'px'
@Grafikart
Grafikart / gist:a753044d9bfaf622b257
Created April 22, 2015 13:21
Envoy.blade.php pour CakePHP
@servers(['web' => 'tuto@localhost'])
@setup
$dir = "/home/tuto";
$dirlinks = ['tmp/cache/models', 'tmp/cache/persistent', 'tmp/cache/views', 'tmp/sessions', 'tests', 'logs'];
$filelinks = ['config/app.php'];
$releases = 3;
$remote = false;
$shared = $dir . '/shared';
@Grafikart
Grafikart / handbrake.json
Created July 2, 2018 15:42
Preset Handbrake
{
"PresetList": [
{
"AudioCopyMask": [
"copy:aac",
"copy:ac3",
"copy:dtshd",
"copy:dts",
"copy:mp3",
"copy:truehd",
@Grafikart
Grafikart / .spacevim
Last active August 24, 2017 06:49
.spacevim
" Use exclude option if you don't want the full Layer,
" e.g., Layer 'better-defaults', { 'exclude': 'itchyny/vim-cursorword' }
function! Layers()
" Default layers, recommended!
Layer 'fzf'
Layer 'unite'
Layer 'airline'
Layer 'better-defaults'
Layer 'syntax-checking'