Skip to content

Instantly share code, notes, and snippets.

@ejabu
ejabu / OpenSans.css
Created August 30, 2023 05:08 — forked from netzgestaltung/OpenSans.css
CSS for Open Sans
/**
* CSS for Open Sans
* =================
* @Install
* https://google-webfonts-helper.herokuapp.com/fonts/open-sans?subsets=latin
* use modern browser option and subsets you need
* download fonts and upload to your themes font directory
* add the CSS on top of you stylesheet and edit the paths to the current version and relative path of your themes font directory
*
* @Usage
@ejabu
ejabu / CaseMatcher.kt
Created August 30, 2023 05:08 — forked from SuppieRK/CaseMatcher.kt
Regular expressions for case matching
/**
* Different case matchers
*
* @see <a href="https://en.wikipedia.org/wiki/Naming_convention_(programming)#Examples_of_multiple-word_identifier_formats">Examples of multiple word identifier formats</
*/
sealed class CaseMatcher(private val regex: Regex) {
open fun notMatches(source: String?): Boolean {
return !matches(source)
}
@ejabu
ejabu / script.sql
Created February 24, 2023 00:33
Update Odoo admin admin
UPDATE res_users
SET password_crypt = '$pbkdf2-sha512$25000$CmEsBcCY03pPKQWA0LpXqg$c0FLGFu6RglxSY5RnwEMcwu9qOoSxi.LJBaNMMggImIibARChKlTZ.bDfLI9j2q80rMNCa0mqk6oUOvmcoWe0A'
WHERE id = 1;
@ejabu
ejabu / mp4-to-gif.bash
Created January 18, 2022 04:57 — forked from ToniRV/mp4-to-gif.bash
Convert MP4 to high-quality GIF
#!/usr/bin/env python
import sys
import os
import shutil
import subprocess
import argparse
# Group of Different functions for different styles
if sys.platform.lower() == "win32":

---Tutorial

pyenv install --list | grep 3.8

3.8.0
3.8-dev
3.8.1
3.8.2
@ejabu
ejabu / lunacy-curved-line.js
Created June 13, 2021 08:24
Convert straight line to curved Line Lunacy
function validateLayer(layer) {
if (layer.shapeType != "Custom") {
return false;
}
if (layer.points.length != 2) {
UI.message("Only arrows consist of two point will be processed");
return false;
}
return true;
}
@ejabu
ejabu / OtpModal.jsx
Last active April 26, 2021 03:24
Apollo Otp Timer
const OtpModal = ({ modal, toggle, phoneNumber = '', successCb }) => {
const [otp, setOtp] = useState('');
const [timer, setTimer] = useState(10);
const [hasResendOtp, setHasResendOtp] = useState(false);
const [errorMessage, setErrorMessage] = useState('');
useEffect(() => {
const interval = setInterval(() => {
setTimer((timer) => {
if (timer === 1 || timer === 0) {

Semantic Commit Messages

See how a minor change to your commit message style can make you a better programmer.

Format: <type>(<scope>): <subject>

<scope> is optional

Example

@ejabu
ejabu / good-theme-vscode.md
Created February 22, 2021 11:44
Github Light Theme Setup
/* ----------------------------------------------------------------------------------------------------
Super Form Reset
A couple of things to watch out for:
- IE8: If a text input doesn't have padding on all sides or none the text won't be centered.
- The default border sizes on text inputs in all UAs seem to be slightly different. You're better off using custom borders.
- You NEED to set the font-size and family on all form elements
- Search inputs need to have their appearance reset and the box-sizing set to content-box to match other UAs