Skip to content

Instantly share code, notes, and snippets.

View billyct's full-sized avatar
🍎
一只想变成橘子的苹果

billyct billyct

🍎
一只想变成橘子的苹果
View GitHub Profile
@billyct
billyct / Dockerfile
Last active January 12, 2021 08:11
国内使用 laravel/sail
FROM ubuntu:20.04
LABEL maintainer="Taylor Otwell"
ARG WWWGROUP
WORKDIR /var/www/html
ENV DEBIAN_FRONTEND noninteractive
ENV TZ=UTC
@billyct
billyct / use-hash-location.js
Created November 19, 2019 08:30
wouter hash-based routing hook
import { useEffect, useRef, useState, useCallback } from "wouter/react-deps";
export default () => {
const [path, update] = useState(currentPathname());
const prevPath = useRef(path);
useEffect(() => {
// this function checks if the location has been changed since the
// last render and updates the state only when needed.
// unfortunately, we can't rely on `path` value here, since it can be stale,
@billyct
billyct / get_ghs_icon.sh
Created May 24, 2019 07:57
fetch echa.europa.eu ghs icon
#!/bin/bash
for i in {1..9}
do
wget "https://echa.europa.eu/diss-cl-inventory-portlet/images/pictograms/ghs0$i.png"
done
@billyct
billyct / antd.mix.js
Last active November 6, 2020 14:22
laravel-mix customizable antd theme.
let mix = require('laravel-mix');
const antdRegex = /antd.+\.less$/;
const theme = {
'primary-color': '#0097FF',
};
// Exclude quill icons
Mix.listen('configReady', function(config) {
const rules = config.module.rules;
@billyct
billyct / unescapedFiles.php
Last active March 9, 2018 12:34
unescape unicode files under path
<?php
function unescapedFiles($path){
$files = array_diff(scandir($path), array('.', '..'));
foreach ($files as $file) {
$file = str_finish($path, '/') . $file;
$content = json_decode(file_get_contents($file), true);
$content = json_encode($content, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
file_put_contents($file, $content);
}
@billyct
billyct / months_mapping.php
Last active January 4, 2018 09:03
Abbreviations of the Names of the Months
<?php
$mapping = [
'Jan' => 'Jan.',
'Feb' => 'Feb.',
'Mar' => 'Mar.',
'Apr' => 'Apr.',
'May' => 'May',
'Jun' => 'June',
'Jul' => 'July',
@billyct
billyct / rabbit.txt
Created June 22, 2017 03:11
art of rabbit for climate lib (php)
,
/| __
/ | ,-~ /
Y :| // /
| yy /( .^
>-"~"-v"
/ Y
j<blink>o o</blink> |
( ~T~ j
>._-' _./
@billyct
billyct / emacs-font.lisp
Created April 25, 2017 07:01 — forked from ricardolee/emacs-font.lisp
emacs font config
(setq fonts
(cond ((eq system-type 'darwin) '("Monaco" "STHeiti"))
((eq system-type 'gnu/linux) '("Menlo" "WenQuanYi Zen Hei"))
((eq system-type 'windows-nt) '("Consolas" "Microsoft Yahei"))))
(set-face-attribute 'default nil :font
(format "%s:pixelsize=%d" (car fonts) 14))
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font (frame-parameter nil 'font) charset
(font-spec :family (car (cdr fonts)))))
;; Fix chinese font width and rescale
@billyct
billyct / 00.howto_install_phantomjs.md
Created January 12, 2017 14:27 — forked from julionc/00.howto_install_phantomjs.md
How to install PhantomJS on Debian/Ubuntu

How to install PhantomJS on Ubuntu

Version: 1.9.8

Platform: x86_64

First, install or update to the latest system software.

sudo apt-get update
sudo apt-get install build-essential chrpath libssl-dev libxft-dev
@billyct
billyct / admin(v2).js
Created January 11, 2017 10:49 — forked from jwalton512/admin(v2).js
Harmony with Laravel + Vue + Vue Router
// dashboard component
var dashboard = Vue.extend({
template: '<p>Hello from dashboard</p>'
})
// user management component
var user = Vue.extend({
template: '<p>Hello from user management page</p>'
})