Skip to content

Instantly share code, notes, and snippets.

View abdulbasetbasher's full-sized avatar

Abdulbaset Basher abdulbasetbasher

View GitHub Profile
@abdulbasetbasher
abdulbasetbasher / responsive-video.css
Created June 7, 2018 22:54 — forked from jaicab/responsive-video.css
Pure CSS solution for embed videos with an aspect ratio of 16:9
.video-container {
position: relative;
padding-bottom: 56.25%; /*16:9*/
padding-top: 30px;
height: 0;
overflow: hidden;
}
.video-container iframe,
.video-container object,
@abdulbasetbasher
abdulbasetbasher / auth.js
Last active December 28, 2021 22:37
Server side Remix.js protected routes with supabase
// app/context/auth.js
/*
when supabase auth state changed we sent request with event type and access token to api endpoint
to set or delete cookie using useFetcher
https://remix.run/docs/en/v1/api/remix#fetchersubmit
*/
import { createContext, useEffect, useState } from 'react'
import { useAuthStateChange, useClient } from 'react-supabase'
const he=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))i(l);new MutationObserver(l=>{for(const s of l)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&i(a)}).observe(document,{childList:!0,subtree:!0});function n(l){const s={};return l.integrity&&(s.integrity=l.integrity),l.referrerpolicy&&(s.referrerPolicy=l.referrerpolicy),l.crossorigin==="use-credentials"?s.credentials="include":l.crossorigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(l){if(l.ep)return;l.ep=!0;const s=n(l);fetch(l.href,s)}};he();function C(){}function pe(e){return e&&typeof e=="object"&&typeof e.then=="function"}function de(e){return e()}function te(){return Object.create(null)}function N(e){e.forEach(de)}function ue(e){return typeof e=="function"}function me(e,t){return e!=e?t==t:e!==t||e&&typeof e=="object"||typeof e=="functi
https://m.facebook.com/permalink.php?story_fbid=107333772035006&id=101694229265627
https://m.facebook.com/story.php?story_fbid=107333772035006&id=101694229265627
https://m.facebook.com/101694229265627/posts/6zhao-pin-zhi-ming-quan-osusumexing-6jie-shuo-akunaitu/107333772035006/
https://www.tiktok.com/link/v2?aid=1988&lang=en&scene=bio_url&target=https%3A%2F%2Fm.facebook.com%2Fpermalink.php%3Fstory_fbid%3D107333772035006%26id%3D101694229265627
https://www.tiktok.com/link/v2?aid=1988&lang=en&scene=bio_url&target=https%3A%2F%2Fm.facebook.com%2Fstory.php%3Fstory_fbid%3D107333772035006%26id%3D101694229265627
https://www.tiktok.com/link/v2?aid=1988&lang=en&scene=bio_url&target=https%3A%2F%2Fm.facebook.com%2F101694229265627%2Fposts%2F6zhao-pin-zhi-ming-quan-osusumexing-6jie-shuo-akunaitu%2F107333772035006%2F
https://upload.facebook.com/permalink.php?story_fbid=107333772035006&id=101694229265627
https://upload.facebook.com/story.php?story_fbid=107333772035006&id=101694229265627
https://upload.facebook.com/10169422926
@abdulbasetbasher
abdulbasetbasher / Chakra-Ui-Vue-DarkMode-Persisting
Last active September 23, 2022 18:00
nuxt with chakra ui persisting the color mode - fix flashing issue too
nuxt with chakra ui persisting the color mode - fix flashing issue too
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();function Ve(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r<s.length;r++)n[s[r]]=!0;return t?r=>!!n[r.toLowerCase()]:r=>!!n[r]}const Pu="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,Re
@abdulbasetbasher
abdulbasetbasher / install piku on rocky 8.md
Last active May 30, 2023 02:00
install piku on rocky 8

install dependencies

dnf install epel-release

dnf group install 'Development Tools'

sudo dnf install git openssl python39 python39-devel python39-pip python39-click python3-virtualenv python3-certbot-nginx nginx certbot libjpeg-devel libxml2-devel libxslt-devel zlib-devel uwsgi uwsgi-plugin-python3 uwsgi-plugin-python3-gevent uwsgi-plugin-python3-tornado uwsgi-logger-file uwsgi-logger-systemd

create user

# port: 7890 # HTTP(S) 代理服务器端口
# socks-port: 7891 # SOCKS5 代理端口
mixed-port: 10801 # HTTP(S) 和 SOCKS 代理混合端口
# redir-port: 7892 # 透明代理端口,用于 Linux 和 MacOS
# Transparent proxy server port for Linux (TProxy TCP and TProxy UDP)
# tproxy-port: 7893
allow-lan: true # 允许局域网连接
bind-address: "*" # 绑定 IP 地址,仅作用于 allow-lan 为 true,'*'表示所有地址
# find-process-mode has 3 values:always, strict, off
# - always, 开启,强制匹配所有进程