タグ

ブックマーク / hail2u.net (65)

  • Node.jsパッケージ: next-update

    next-updateパッケージは、Node.jsパッケージが依存しているパッケージを一時的に最新バージョンに更新し、設定済みのテストを走らせるツール。これによりd(evD)ependenciesを上げても大丈夫かどうかをほぼ確実に確認できる。グローバルにインストールしてコマンドラインから利用する。 Node.jsパッケージのリポジトリで実行するだけであとは勝手にやってくれる。実行すると以下の様にひとつずつ最新バージョンをインストール→テスト→元のバージョンに戻すを繰り返してくれる。 next-update - Tests if module's dependencies can be updated to latest version version: 0.4.5 author: {"name":"Gleb Bahmutov","email":"gleb.bahmutov@gmail.c

    Node.jsパッケージ: next-update
  • CSSで画像を六角形にくり抜く - Weblog - Hail2u.net

    Swarmで使われている六角形のプロフィール画像はちょっと流行りそう。CSSだけで行えるように考えておくとなんかの時に役に立つはず。難しく考えずに擬似要素で三角形を作るテクニックを反転させて重ねるだけでも良かったけど、CSSグラデーションで重ねた方がフレキシブルに作れた。 Demo: CSS HEX Clip 切り抜きはCSSグラデーションを上に重ねて行うので、何らかの要素で括る必要がある以外には特別なマークアップは必要ない。 .hexclip { display: inline-block; position: relative; line-height: 1; background-image: linear-gradient( 30deg, #fff 0, #fff 18%, transparent 18%, transparent 100% ), linear-gradient(

    CSSで画像を六角形にくり抜く - Weblog - Hail2u.net
  • CSSのローディング・アイコンのコスト

    今までは主にアニメーションGIFで作られていたローディング・アイコンをCSSアニメーションで作るみたいなのが流行っている。面白いとは思うし、ちゃんと作ればスケーラブルなので便利そうでもある。けれどもローディング・アイコンを表示するための空要素が必要になり、かつ後にそれを消さなくてはならない。CSSだけだと面倒くさそうだ。 どういうローディング・アイコンかはこの際問題ではないので、とりあえずmain要素以下に何かしら(仮にサムネイルとする)をロードするまでローディング・アイコンを表示することを考えてみる。普通はJavaScriptでローディング・アイコンの追加→サムネイルのビルド→ローディング・アイコンの削除→サムネイルの追加とやるわけだけど、ローディング・アイコンの追加と削除でDOM操作を伴うのはコストがある気がする。 <main id="result"> <div class="spin

    CSSのローディング・アイコンのコスト
  • Vimmers 2

    手が空いた時にやってた作業が一段落したので、ペライチというかHTMLCSSJavaScriptを普通に書きたくなった。ので、vim-jp.orgにあったVimユーザーの一覧ページのカラフルな奴を作った。カラフル。 オリジナルのVimmersが密度が高かったので、ゆとりを持ってそれぞれをカードっぽくなるようにした。この時点で既にコンセプトを誤解してて駄目な感じだった……。 フォントはLatoを使った。x-heightが高く、ディセンダが小さめで、開きが大きいので、余白の多いカード的なものにはおさまりが良い。ウェイトも豊富なので使いやすいけど、WindowsChromeだと一部サイズでまだガタつきがあるかも。 カラーは当初Pantoneから幾つか選定してたんだけど、青と橙がFlat UI Colorsとほぼ同じものになってしまったので、こちらをそのまま利用させてもらうことにした。赤緑橙青

    Vimmers 2
    Layzie
    Layzie 2014/05/13
  • つまらないGruntタスク

    Gruntfile.jsをサッと開く手段としてeditという簡単なタスクを勢いで書いたんだけど、無意味でつまらないGruntタスクだった。Gruntには様々なタスクがあり、自分でもNode.jsを駆使して自由に書けるので、色々やりたくなる。けれどもグッとこらえて、ワークフローにおける定型作業の自動化に絞った方が、ワークフローと開発環境、そしてGruntfile.jsに優しい。 grunt-contrib-watchを使ったSassの自動コンパイルやLiveReloadのタスクは確かに便利なんだけど、開発から公開までのワークフローの段階として必須というわけじゃない。これらはタスクというよりも環境なので、別に自分好みの環境を作った方が集中できるし、好みでない環境を押し付けずに(そして押し付けられずに)済む。 また、Gruntでなんでもやることに慣れてしまうと、設定されてるしそれで良いかみたいな

    つまらないGruntタスク
    Layzie
    Layzie 2014/02/13
    時系列で見てみるのは良さげ
  • 翻訳はあなたの記事ではない

    ウェブ開発を始めとした様々なジャンルにおいて、その有用な文書の多くは日語以外で書かれている。幸いなことに多くの人がその翻訳を公開してくれている。僕も自分が強く興味をもった範囲で訳したりもしている。良い時代だなと思うが、その翻訳がブログの記事として公開されてしまうと、「んんっ?」と思ってしまう。 もちろんブログが技術文書のようなものを読みやすいデザインじゃないこととか、そのブログのスタイリング上の制限によって元文書から一部情報が欠落する可能性が高いこととか、そういう実際上の問題もある。そういった問題だけでなく、翻訳はあなたの記事ではないし、そうは成りえないということがある。それをブログの記事として公開してしまうと、様々な悪影響があると思う。 よくあるパターンは翻訳の前に訳であることの明示と同時に訳者の意見が書かれているパターン。前置きとして訳者の意見があったりすると先入観を読者に与えてしま

    翻訳はあなたの記事ではない
  • CSSポストプロセッサー時代の到来

    SassやLESSといったCSSプリプロセッサーは市民権を得たと言って良いと思う。しかしそれらCSSプリプロセッサーは開発という段階にのみ利をもたらすもので、今のところはそれ以上ではない。CSSを実際にユーザーに届けるまでには、開発だけではなくレビューとリリースという段階もある。レビューとリリースも確実性を持って効率的に行うためには、CSSポストプロセッサーと総称されるようなツール群が必要になるだろう。 この文書はFrontrend Advent Calendar 2013の4日目への記事として寄稿した。明日は@hilokiさんがスタコラサッサと書くようだ。 目次 CSSポストプロセッサーとは CSSプリプロセッサーの出力するCSS CSS Lint 開発用とレビュー用、リリース用のCSS CSSポストプロセッサーのユースケース ベンダー拡張プリフィックスの付加 Media Queries

  • CSSでフォント・ファミリーのショートカットを作る

    最近のブラウザーではlocal()を使ってフォント・ファミリーのショートカット(的なもの)を作ることができる。CSS Fontsモジュール仕様のsrcプロパティーの項にも思いっきり書いてあるんだけど、今まではそんなに必要なかったのであまり使われていない。5ウェイト展開なヒラギノ角ゴのiOS 7へのバンドルと、3ウェイト展開の游ファミリのWindowsへのバンドルにより必要性が少し増えた気がする。 特に游(ゴシック|明朝)はWindows 8.1とOS X 10.9でファミリ名が違う上、少し古いFirefoxでのアレとか、OS Xには細字がないとかもあるので、色々考慮するとfont-familyプロパティーではややこしいフォント指定を行う必要が出てくる。そうやって出来た長いリストのfont-familyは読みづらく、デバッグのしづらさにつながる。local()を使ってフォント名を作り直してや

    CSSでフォント・ファミリーのショートカットを作る
  • GitHubのエラー・ページ

    GitHubのStyleguideにエラー・ページのセクションがあるのを知った。それによると外部ファイルに依存しないように書いているらしい。CSSはstyle要素で、JavaScriptはscript要素で、画像ファイルはBase64エンコードしてData URIで、それぞれHTMLに直接埋め込むというスタイル。 実際に404のテンプレートでもちゃんとそうなっていた。フロントエンド脳なので、HTTPリクエストを減らして、エラー・ページのコストを下げたいのかなと単純に考えてしまったけど、Not Foundの連鎖を避けることとか外部ファイルがCDN経由の場合の確実性を上げることとかの方が強い理由のようだ。エラー・ページを単独で機能するようにしておき、エラー時に余計な負荷を与えないようにすることにより、より速やかに復帰できるように、ということになりそう。 HTTPエラー・ページの意味も重要だけど

    GitHubのエラー・ページ
  • Vim 7.4ビルトインのCSS構文ファイル

    Vim 7.4の標準ランタイムに含まれているCSS構文ファイルにはかなり大幅な変更が加わっている。CSS Animations等の新しいCSS仕様に対応していたり、非推奨になった要素をErrorで表示するようになったり、ベンダー拡張プリフィックス部分を別に強調したりなどなど。 開発はGitHubのリポジトリでやっているようなので、手元で修正してたものをプル・リクエストさせてもらった。こっちの方では既に大幅な変更が加わっている。ドラスティックな変更点だとCSSの値の強調色が変わってたりとか。他はCSS3モジュールへのさらなる対応などが主なもの。同梱バージョンではバグの修正はあまりされていないので、text-indentやinline-tableでおかしくなるのが気になってた人は入れ替えると良い。 vim-css-syntaxでの修正内容は取り込んでもらえ、こちらは用済みっぽいので内容を空にし

    Vim 7.4ビルトインのCSS構文ファイル
    Layzie
    Layzie 2013/09/10
    おお,なるほど.今までcss-syntaxはお世話になってた.ありがとうございます.
  • grunt-task-helperが良さそう

    grunt-task-helperというGruntプラグインを使っている。ざっと言うとsrcとdestを比較してフィルターをかけた結果を他のタスクで使えるようになったりするもの。例えばビルトインの比較機能であるnewFileを使うと、更新されたファイルがあった場合にだけ走るタスクと似たようなものが簡単に作れる。 grunt-contrib-concatを使っているとして、そのタスク設定が以下のようになっているとする。 concat: { options: { seperator: ';' }, prettify: { src: [ 'scripts/prettify/prettify.js', 'scripts/prettify/lang-config.js', 'scripts/prettify/lang-css.js', 'scripts/prettify/lang-scss.js',

    grunt-task-helperが良さそう
  • JekyllみたいなのとWordPressみたいなのの組み合わせ

    静的ウェブサイト生成ツール(面倒なので以下Jekyllみたいなの)と動的ウェブログ・システム(同じくWordPressみたいなの)のそれぞれの長所や短所はみなよく知っているようで、よりその人の状況にあったどちらかを選んだみたいな記事をよく見る。そういうの見る度にどうして両方使わないんだろうと思う。 静的なHTMLでのウェブサイトの運営は簡単で楽だしコストも掛からず、環境もあまり選ばない。けどMovable Typeでの破綻を引き合いに出すまでもなく、1000やそれ以上のHTMLを生成できる無理のないシステムはあるのかというと微妙な感じがする。で、規模に応じて動的なCMSと使い分ければ……となることが多いわけだけど、使い分けるのではなくJekyllみたいなのとWordPressみたいなのを組み合わせるのが良いのではないか。 テンプレート 分けちゃうとテンプレートの管理も分かれて面倒くさいとか

    JekyllみたいなのとWordPressみたいなのの組み合わせ
  • 適切に改行を行う

    ブラウザーはviewportによって折り返しを自動で行なってくれるわけだけど、場合によっては適切ではない位置で行われてしまうのをコントロールしたいという話。見出しをセンタリングしているようなケースで幅によっては一文字だけ次の行になってかっこ悪い! みたいなのを解消したいということであったり、逆にびろ~んと間延びしないようによさそうな位置で改行を入れたいということであったり。一年くらい前にResponsive Line Breaksと呼ばれるようになった。 具体的なものはResponsive Line Breaksにあるデモやこのウェブログの日付表示の部分とかがそれ。ここではviewportの幅が広い時に良い位置で改行が入るようになっている。 article footer br { display: none; } @media (min-width: 60em) { article foo

    適切に改行を行う
  • vim-css-syntax

    Vimのデフォルトのランタイム群に含まれるCSSシンタックス・ファイルはけっこうバグがある。大抵はafterディレクトリで適当に追加してやったりすれば直せるんだけど、それにも限界がある感じ。ということで公式へフィードバックすることも視野に入れて、GitHubにリポジトリを作った。 Download: vim-css-syntax 修正される点は以下の通り。 object要素がない sans-serifがset iskeyword+=-の環境でちゃんとハイライトされない background-repeatプロパティーがない containd引数が一部cssTextPropで指定されていない text-indentプロパティーはcssTextAttrではなくcssTextProp inline-blockがない run-inとinline-table、list-itemcssRenderPr

    vim-css-syntax
  • 横並びのリストのセンタリング

    リストを横並びにしてセンタリングというのはよく使う。ただよく使う(われる)わりには「これ!」というようなテクニックがないような気がする。inline-blockで並べた場合は項目の間に隙間ができ、floatで並べた場合はセンタリングがトリッキーすぎる。気分で色々使い分けてたけど最近はdisplay: inline-tableをよく使うようになって、これで良いかなーという感じ。 <nav class="paging"> <ul> <li><a href="foo">Prev</a></li> <li><a href="bar">Next</a></li> </ul> </nav> というようなマークアップの一般的なページング・ナビゲーションだと、 .paging { text-align: center; } .paging ul { display: inline-table; } .pa

    横並びのリストのセンタリング
  • CSS3 Writing Modes

    CSS3 Writing Modesの新しいWDが出たので初めてまともに読んだ。Writing Modesは名前の通り書字方向の制御を行うプロパティーを定義するものなんだけど、それ以外にもブロックのフロー方向の制御を行うものもある。つまり縦書きとかの需要も増えていくだろうからそういう意味でも重要なんだけど、それだけではなくてレイアウトにも大きな影響を与えるのでFlexboxなんかとの兼ね合いからも重要。 .test { flex-flow: column wrap-reverse; writing-mode: vertical-rl; } これで右下から左上へ積み重なっていくカラムとか作れる(ようになる)という話。 Flexboxを始めここらへんのは既存のCSSの知識がまったく役に立たないので、CSS知らない人の方がすぐに覚えてうまく使えそう。CSSに限らず積み重ねた知識というのは移り変わ

    CSS3 Writing Modes
  • Sassの存在意義

    SassはCSSの貧弱さを補うような便利機能について取り上げられることが多い。そのためその機能の奥に隠れているものについて触れられることはあまりない。例えば変数や四則演算、関数によって値に論理的な意味を持たせることができることとか。そういうCSSに足りない概念の導入できることとかももちろん周知させたいけど、それ以上にHTMLCSSによるWebサイトの作成に新たなアプローチが加わることを周知させられればいいなぁと最近思う。Sassの存在意義というのはその辺りに見いだせるんじゃないかと考えているので。もう「CSSグラデーションのミックスイン!」とかスニペットでやれるようなことを推すのはやめたい(やめてほしい)。 現状ではWebサイトは以下の2つのアプローチでしか作成(更新)できない。 HTMLで文書をマークアップして、それに合わせてCSSにセレクターを書く CSSでデザインを定義して、それに

    Sassの存在意義
    Layzie
    Layzie 2012/03/21
    Sassだと、CSSも構造化して書けるっていう事なのかなあ。興味深いな。
  • VimでのSCSSの構文強調を最新版のSassに対応させる - Weblog - hail2u.net

    SassのSCSSを書いていて@functionや@eachが構文強調されないことにイラッとすることが増えてきたのでサクッと書いた。確認した範囲では大体うまくいっているような気がする。気が向いたらリポジトリ作る。 Download: ~/.vim/after/syntax/scss.vim 置く場所は必ず~/.vim/after/syntax/scss.vimで。vim-css3-syntaxを使ってない人は最初の方のruntime!で始まる行を全て削除するかコメント・アウトしないとエラる。after/syntax以下のシンタックス・プラグインも二重ロードのチェック必要だったかどうか思い出せないので、必要そうだったら後で追加する。 フルスクラッチで書いたわけではなく、デフォルトのランタイムに入っているsyntax/sass.vimとsyntax/scss.vimを踏襲して書いた感じ。なので

    VimでのSCSSの構文強調を最新版のSassに対応させる - Weblog - hail2u.net
  • noscript要素をhead要素で使う

    様々なライブラリのお陰でJavaScriptでドキュメントをゴニョゴニョするのが簡単になったので、代替コンテンツを用意することはあまりなくなった。そのためnoscript要素が使われているページを見ることはまず無い。などと始めながらそういう代替コンテンツのためのnoscript要素の話ではなく、head要素内でうまく使うとJavaScriptの有効・無効でユーザーを振り分けられるという話。 具体的には以下のように書く。 <head> <noscript> <meta http-equiv="Refresh" content="0; URL=noscript.html"> </noscript> </head> これでJavaScriptが無効になっている場合noscript.htmlにリダイレクトされる。HTML4.01ではこういったことはできなかったのでつい最近まで知らなかった。印刷向け

    noscript要素をhead要素で使う
  • Vimでセッションの自動保存と復帰

    VimLeaveでmksessionを発動させるセッションの自動保存は結構前からやっていたけど、自動復帰はやってなかった(必要な時だけ:sourceしてた)のでちょろっと書いた。ライフ・チェンジング……という程ではなかった。でもまぁそこそこ必要そう。 augroup SessionAutocommands autocmd! autocmd VimEnter * nested call <SID>RestoreSessionWithConfirm() autocmd VimLeave * execute 'SaveSession' augroup END command! RestoreSession :source ~/.vim/.session command! SaveSession :mksession! ~/.vim/.session " Restore session with

    Vimでセッションの自動保存と復帰