Skip to content

Instantly share code, notes, and snippets.

@kawanet
kawanet / material-colors.json
Last active April 18, 2024 07:43
Material Design Style Color Palette as JSON
{
"red": {
"50": "#ffebee",
"100": "#ffcdd2",
"200": "#ef9a9a",
"300": "#e57373",
"400": "#ef5350",
"500": "#f44336",
"600": "#e53935",
"700": "#d32f2f",
@kawanet
kawanet / string_to_buffer.js
Last active April 16, 2024 09:05
String と ArrayBuffer の相互変換 JavaScript
// 文字列から ArrayBuffer への変換
function string_to_buffer(src) {
return (new Uint16Array([].map.call(src, function(c) {
return c.charCodeAt(0)
}))).buffer;
}
// ArrayBuffer から文字列への変換
@kawanet
kawanet / jp-neighboring-pref.csv
Last active June 6, 2023 12:31
jp-neighboring-pref - 隣接都道府県の一覧をCSVで取り出す(MITライセンス) https://qiita.com/kawanet/items/f753df6249c14ef67a04
01 北海道 / /
02 青森県 /03/05/ /岩手県/秋田県/
03 岩手県 /02/04/05/ /青森県/宮城県/秋田県/
04 宮城県 /03/05/06/07/ /岩手県/秋田県/山形県/福島県/
05 秋田県 /02/03/04/06/ /青森県/岩手県/宮城県/山形県/
06 山形県 /04/05/07/15/ /宮城県/秋田県/福島県/新潟県/
07 福島県 /04/06/08/09/10/15/ /宮城県/山形県/茨城県/栃木県/群馬県/新潟県/
08 茨城県 /07/09/11/12/ /福島県/栃木県/埼玉県/千葉県/
09 栃木県 /07/08/10/11/ /福島県/茨城県/群馬県/埼玉県/
10 群馬県 /07/09/11/15/20/ /福島県/栃木県/埼玉県/新潟県/長野県/
@kawanet
kawanet / svg-to-favicon.sh
Created March 18, 2023 13:35
SVG を favicon.ico に変換する
#!/usr/bin/env bash
convert -background none image.svg -define icon:auto-resize=64,48,32,16 favicon.ico
@kawanet
kawanet / alpha.sh
Created August 19, 2015 03:32
Convert grayscale image into alpha channel image in unix shell
#!/usr/bin/env bash
# @see http://superuser.com/questions/524793/convert-grayscale-image-into-alpha-channel-image-in-unix-shell
convert source.png -alpha copy -channel alpha -negate +channel -fx '#000' result.png
@kawanet
kawanet / sjis-to-utf8-bom.sh
Created February 2, 2023 00:18
Shift_JIS CP932 を BOM 付き UTF-8 に変換するワンライナー
node -e 'require("fs").writeFileSync(process.argv[1], "\uFEFF" + require("iconv-cp932").decode(require("fs").readFileSync(process.argv[1])))' filename.csv
@kawanet
kawanet / hiragana-katakana.js
Last active December 19, 2022 23:56
カタカナをひらがなに変換する JavaScript 関数、 ひらがなをカタカナに変換する JavaScript 関数
/** カタカナをひらがなに変換する関数
* @param {String} src - カタカナ
* @returns {String} - ひらがな
*/
function katakanaToHiragana(src) {
return src.replace(/[\u30a1-\u30f6]/g, function(match) {
var chr = match.charCodeAt(0) - 0x60;
return String.fromCharCode(chr);
});
const getTimezoneOffset = (timeZone, dt) => new Intl.DateTimeFormat("en-US", {timeZoneName: "longOffset", timeZone}).formatToParts(dt).find(v => v.type === "timeZoneName")?.value;
getTimezoneOffset("America/New_York", new Date()); // => "GMT-05:00"
getTimezoneOffset("America/New_York"); // => "GMT-05:00"
getTimezoneOffset("invalid"); // => Uncaught RangeError: Invalid time zone specified:
@kawanet
kawanet / strftime.js
Last active November 26, 2022 01:52
strftime - JavaScript implementation for strftime() function of ISO C90 + α
const en_US = {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
AM: "AM",
PM: "PM",
};
const literal = {
@kawanet
kawanet / material-colors.less
Last active November 5, 2022 10:57
Material Design Style Color Palette for LESS
// Material Design Style Color Palette for LESS
//
// @see https://www.google.com/design/spec/style/color.html for source
// @see https://gist.github.com/kawanet/2d29cf6039734198169f3f3b70096748 for this
@red-50: #ffebee;
@red-100: #ffcdd2;
@red-200: #ef9a9a;
@red-300: #e57373;
@red-400: #ef5350;