- この文章はmalaが書いています。個人の見解であり所属している企業とは関係ありません。
- noteには知り合いが何人かいるし、中の人と直接コンタクトも取っているし相談もされているが、(10月2日時点で)正規の仕事としては請け負っていない。
10月2日追記
- 正規の仕事として請け負う可能性もありますが、自身の主張や脆弱性情報の公開に制限が掛かるのであれば引き受けないつもりです。
日時: | 2020-04-21 |
---|---|
作: | 時雨堂 |
バージョン: | 2020.1 |
URL: | https://shiguredo.jp/ |
日々追記していきます。
$color-error: #c53d43; | |
$color-highlight: #fff; | |
@mixin unstyled-list { | |
margin-top: 0; | |
margin-bottom: 0; | |
padding-left: 0; | |
list-style: none; | |
&:not([role])::after { |
const minWidth = 375 | |
const el = document.querySelector('meta[name="viewport"]') | |
const updateContent = () => { | |
if (window.screen.width < minWidth) { | |
el.setAttribute('content', `width=${minWidth}`) | |
} else { | |
el.setAttribute('content', 'width=device-width') | |
} | |
} |
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no" id="meta-viewport"> | |
<script> | |
!function() { | |
var viewport = document.getElementById('meta-viewport'); | |
function onResize () { | |
var value = window.outerWidth < 375 ? "width=375" : "width=device-width,initial-scale=1,shrink-to-fit=no"; | |
if (viewport.getAttribute('content') !== value) { | |
viewport.setAttribute('content', value); | |
} | |
} |
const calculateRelativeLuminance = ({ r, g, b }) => { | |
const [R, G, B] = [r, g, b] | |
.map((bit) => bit / 255) | |
.map( | |
(sRGB) => | |
sRGB <= 0.03928 ? sRGB / 12.92 : Math.pow((sRGB + 0.055) / 1.055, 2.4), | |
) | |
return 0.2126 * R + 0.7152 * G + 0.0722 * B | |
} |
import Hammer from 'hammerjs' | |
const hammer = new Hammer(backdropEl, { touchAction: 'auto' }) | |
hammer.get('pinch').set({ enable: true }) | |
let isPinching = false | |
hammer.on('pinchstart', () => { | |
isPinching = true | |
}) |
mixin button | |
button.button(type="button") | |
block | |
mixin disclosure | |
.disclosure | |
.disclosure__content | |
block | |
.disclosure__footer | |
+button toggle |