<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>LESS &#8211; HTML5Experts.jp</title>
	<atom:link href="/tag/less/feed/" rel="self" type="application/rss+xml" />
	<link>https://html5experts.jp</link>
	<description>日本に、もっとエキスパートを。</description>
	<lastBuildDate>Sat, 07 Jul 2018 03:14:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.19</generator>
	<item>
		<title>とてもHackable！Styling Atom(Editor)─Frontrend Conference</title>
		<link>/yusuke-naka/13137/</link>
		<pubDate>Fri, 27 Feb 2015 00:00:52 +0000</pubDate>
		<dc:creator><![CDATA[仲 裕介]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Atom Editor]]></category>
		<category><![CDATA[LESS]]></category>

		<guid isPermaLink="false">/?p=13137</guid>
		<description><![CDATA[連載： Frontrend Conference 特集 (2)本記事は、2015/2/21に行われた「Frontrend Conference」のファイナルセッション「Styling Atom(Editor)」の内容を紹...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/frontrend/" class="series-251" title="Frontrend Conference 特集" data-wpel-link="internal">Frontrend Conference 特集</a> (2)</div><p>本記事は、2015/2/21に行われた<a href="http://frontrend.github.io/conference/" target="_blanl" data-wpel-link="external" rel="follow external noopener noreferrer">「Frontrend Conference」</a>のファイナルセッション「Styling Atom(Editor)」の内容を紹介します。</p>

<h1>オーバービュー</h1>

<p>スピーカーはスイス生まれで、現在札幌で受託開発を行っている、<a href="http://simurai.com/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Simon（ニックネーム：Simurai）</a>さん、逐次通訳をHTML5 Experts.jpのエキスパートである<a href="https://html5experts.jp/cssradar/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">斉藤祐也</a>さんが努めました。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/2shot.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/2shot.jpg" alt="2shot" width="640" height="480" class="aligncenter size-full wp-image-13144" srcset="/wp-content/uploads/2015/02/2shot.jpg 640w, /wp-content/uploads/2015/02/2shot-300x225.jpg 300w, /wp-content/uploads/2015/02/2shot-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>昨今、様々な企業サイトでのCSSの利用方法が公開されるようになってきました。<a href="http://css-tricks.com/css/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">CSS-Tricks（http://css-tricks.com/css/）</a>に代表的なサイトの一覧が紹介されています。このセッションについても、CSS-Tricksに習って、Atom EditorでどのようにCSSが利用されているかを紹介します。</p>

<p>尚、本記事は、セッションの内容をそのままレポートにしているのではなく、Simuraiさんのセッション内容を基に私の方で再構成した、イベントレポートとなっています。</p>

<h1>Atom Editorとは</h1>

<p>Atom Editorは、GitHubが中心となりオープンソースで開発されているhackable text editorです。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/atom.png" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/atom.png" alt="atom" width="640" height="143" class="aligncenter size-full wp-image-13154" srcset="/wp-content/uploads/2015/02/atom.png 640w, /wp-content/uploads/2015/02/atom-300x67.png 300w, /wp-content/uploads/2015/02/atom-207x46.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<div style="text-align: right;"><small>引用元：<a href="https://atom.io/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">https://atom.io/</a></small></div>

<p><BR>
Atom EditorはWindowsやMac上で動作するデスクトップアプリケーションであり、普通にインストールして利用することができます。しかし、内部的には、HTML/CSS/JavaScriptで全て実装されていて、いわゆるハイブリッドアプリケーションになっています。</p>

<p>特徴は以下のとおり。</p>

<ul>
<li>Atom ShellとAtom Coreによるデスクトップアプリケーションである</li>
<li>アプリケーション自体はHTML/CSS/JavaScriptで実装されている</li>
<li>開発はGitHub上で行われている</li>
</ul>

<h3>Atom Shellについて</h3>

<p>Atom ShellはChromeのオープンソースプロジェクトであるChromiumと、Node.jsのForkプロジェクトであるio.js（もともはNode.jsを利用していたが、最近変わった）で構成された、ネイティブアプリケーションプラットフォームです。
Atom Shellの概念図は以下のとおり。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/atom-shell.png" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/atom-shell.png" alt="atom-shell" width="640" height="461" class="aligncenter size-full wp-image-13164" srcset="/wp-content/uploads/2015/02/atom-shell.png 640w, /wp-content/uploads/2015/02/atom-shell-300x216.png 300w, /wp-content/uploads/2015/02/atom-shell-207x149.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<div style="text-align: right;"><small>引用元：<a href="https://speakerdeck.com/zcbenz/practice-on-embedding-node-dot-js-into-atom-editor" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Practice on embedding Node.js into Atom Editor</a></small></div>

<p><BR>
BrowserというところがChromiumをベースにした部分であり、ネイティブアプリに必要なメニュー構築やダイアログ生成などを担当しています。また、Node.jsにてBrowserのネイティブAPIにアクセスできるインターフェースが用意されています。Renderer部分は、実際にアプリケーションの画面を描画したり、ロジックを組み込む部分であり、通常のWebアプリケーションと同じく、HTML、CSS、JavaScriptで実装することができます。JavaScriptについては、こちらもNode.jsが利用できます。</p>

<h3>Atom Coreについて</h3>

<p>Atom Shellの上にAtom Coreというメインのアプリケーションが存在します。Atom CoreはPackageというかたちで様々な機能を追加することができます。また、見た目についても、Themeというかたちで、様々に変更することが可能になっています。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/packages_themes.png" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/packages_themes.png" alt="packages_themes" width="640" height="379" class="aligncenter size-full wp-image-13193" srcset="/wp-content/uploads/2015/02/packages_themes.png 640w, /wp-content/uploads/2015/02/packages_themes-300x178.png 300w, /wp-content/uploads/2015/02/packages_themes-207x123.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<div style="text-align: right;"><small>引用元：Simurai氏セッション映像より</small></div>

<p><BR>
PackageやThemeの開発を含めたAtomの開発は、GitHub上で行われていて、だれでも自由にCommitすることができます。</p>

<h1>ThemeでどのようにCSSが利用されているのか</h1>

<p>さて、ここから、セッションの本題に入っていきます。</p>

<h3>HEADエレメント</h3>

<p>まずは、<code>&lt;head&gt;</code>エレメントの中をご紹介します。このソースはAtom CoreのベースとなるHTMLファイルを簡略化したものです。</p>

<p></p><pre class="crayon-plain-tag">&lt;html&gt;
	&lt;head&gt;
		
		&lt;style source-path="bootstrap.less"&gt;&lt;/style&gt;
		&lt;style source-path="atom.less"&gt;&lt;/style&gt;
		
		&lt;style source-path="tree-view.less" priority="0"&gt;&lt;/style&gt;
		&lt;style source-path="tabs.less" priority="0"&gt;&lt;/style&gt;
		&lt;style source-path="status-bar.less" priority="0"&gt;&lt;/style&gt;
		&lt;!-- Many many more packages --&gt;
		
		&lt;style source-path="ui-theme.less" priority="1"&gt;&lt;/style&gt;
		
		&lt;style source-path=".atom/style.less" priority="2"&gt;&lt;/style&gt;

	&lt;/head&gt;
	&lt;body&gt;&lt;/body&gt;
&lt;/html&gt;</pre><p></p>

<div style="text-align: right;"><small>引用元：Simurai氏セッション資料</small></div>

<p><BR>
はじめに、<code>bootstrap.less（normalize.css含む）</code>を読み込み、次にCoreスタイルである<code>atom.less</code>、Packageのlessファイル（<code>tree-view.less</code>等）を読み込み、そして、Themeを構成する<code>ui-styles.less</code>を読み込みます。実際には、それぞれのLESSファイルはCSSにプロセスされて挿入されることになります。</p>

<p>これは、Atom Editorの画面上でインスペクタ（開発者コンソール）を表示させて確認したところです。CSSのコードが挿入されていることがわかると思います。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/head.png" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/head.png" alt="head" width="640" height="404" class="aligncenter size-full wp-image-13207" srcset="/wp-content/uploads/2015/02/head.png 640w, /wp-content/uploads/2015/02/head-300x189.png 300w, /wp-content/uploads/2015/02/head-207x131.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<h3>UI Theme と Syntax Theme</h3>

<p>次に、Themeについて詳しく見ていきます。Themeには、UIとSyntaxの2つがあります。UI Themeはアプリ全体のスタイルを規定し、Syntax Themeはエディタ部分のスタイルやコードのシンタックスハイライトなどを規定しています。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/ui_syntax.png" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/ui_syntax.png" alt="ui_syntax" width="640" height="354" class="aligncenter size-full wp-image-13221" srcset="/wp-content/uploads/2015/02/ui_syntax.png 640w, /wp-content/uploads/2015/02/ui_syntax-300x166.png 300w, /wp-content/uploads/2015/02/ui_syntax-207x114.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<div style="text-align: right;"><small>引用元：Simurai氏セッション資料</small></div>

<p><BR>
Themeのマークアップサンプルを見てみましょう。</p>

<p></p><pre class="crayon-plain-tag">&lt;html&gt;
	&lt;head&gt;
		&lt;style source-path="ui-theme.less" priority="1"&gt;&lt;/style&gt;
	&lt;/head&gt;
	&lt;body&gt;

		&lt;ol class="tree-view"&gt;&lt;/ol&gt;
		&lt;ul class="tab-bar"&gt;&lt;/ul&gt;
		&lt;status-bar&gt;&lt;/status-bar&gt;
		
		&lt;atom-text-editor&gt;
			#shadow-root ----
			&lt;style source-path="syntax-theme.less"&gt;&lt;/style&gt;
			&lt;div class="gutter"&gt;&lt;/div&gt;
			&lt;div class="lines"&gt;&lt;/div&gt;
			#end-of-shadow-root ---
		&lt;/atom-text-editor&gt;

	&lt;/body&gt;
&lt;/html&gt;</pre><p></p>

<div style="text-align: right;"><small>引用元：Simurai氏セッション資料</small></div>

<p><BR>
<code>ui-theme.less</code>としてUI ThemeのLESSファイルを読み込みます。そして、UIに必要なパーツを配置していきます。このサンプルでは、<code>tree-view</code>、<code>tab-bar</code>、<code>status-bar</code>、<code>atom-text-editor</code>というパーツが記載していますが、実際にはもっとたくさんのパーツがあります。</p>

<p>そして、<code>atom-text-editor</code>エレメントの中では、エディタ部分を構成するためのパーツと、コードのシンタックスハイライトのためのSyntax ThemeのLESSファイルを読み込んでいます。</p>

<p><code>atom-text-editor</code>エレメントはWeb Componentsの技術が利用されています。そのため、実際にはこのように<code>#shadow-root</code>が挿入されます。Web Componentsを利用することで、UI ThemeとSyntax Themeを明確に分ける構造になっています。これによって、スタイルの衝突やクラス名の衝突を避けることができます。</p>

<p><code>shadow-root</code>は実際には、以下のように挿入されます。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/shadow-root.png" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/shadow-root.png" alt="shadow-root" width="640" height="174" class="aligncenter size-full wp-image-13227" srcset="/wp-content/uploads/2015/02/shadow-root.png 640w, /wp-content/uploads/2015/02/shadow-root-300x82.png 300w, /wp-content/uploads/2015/02/shadow-root-207x56.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<h3>ONE Theme</h3>

<p>では、ONE Themeというテーマを例に、実際のThemeファイルの中身を少し見てみます。ONE Themeのソースコードは<a href="https://github.com/atom/one-dark-ui" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">こちら（https://github.com/atom/one-dark-ui）</a>で確認できます。</p>

<p>Atom Editorはテーマを読み込む際に、<code>index.less</code>というファイルを最初に参照します。<code>index.less</code>は<code>@import</code>で関係するスタイルファイルを順次読み込んでいきます。いわゆる、ヘッダーファイルのような役割を担っています。この例ではフラットに記載されていますが、書き方は自由です。</p>

<p></p><pre class="crayon-plain-tag">// Atom UI Theme: One

@import (reference) "styles/ui-variables";
@import (reference) "styles/ui-mixins";
@import (reference) "octicon-mixins";

@import "styles/atom";
@import "styles/badges";
@import "styles/buttons";
@import "styles/editor";
@import "styles/git";
@import "styles/lists";
@import "styles/messages";
@import "styles/nav";
@import "styles/overlays";
@import "styles/panels";
@import "styles/panes";
@import "styles/progress";
@import "styles/tabs";
@import "styles/text";
@import "styles/tooltips";
@import "styles/tree-view";
@import "styles/utilities";

@import "styles/settings";
@import "styles/core";

@import "styles/_deprecated";</pre><p></p>

<p>スタイルファイルの中で注目すべきところは、カラーコードがハードコードされているわけではなく、全て変数として切りだされていることです。以下の例であれば、<code>@tab-text-color</code>などがそれに当たります。</p>

<p></p><pre class="crayon-plain-tag">:
 :

  .tab {
    position: relative;
    top: @tab-top-padding;
    max-width: @tab-max-width;
    min-width: @tab-min-width;
    height: @tab-height;
    line-height: @tab-height;
    padding: 0;
    margin: 0;
    color: @tab-text-color;
    background: @tab-background-color;
    border-right: @tab-border;
    opacity: @tab-inactive-transparency;
    transition: opacity .3s;
 :
 :</pre><p></p>

<p>切り出されたカラーコードは、<code>ui-variables.less</code>というファイルにまとめて記述されています。</p>

<p></p><pre class="crayon-plain-tag">:
 :

// Component Colors -------------------------------------

@app-background-color:             darken(@level-3-color, 2%);

@tree-view-background-color:       @level-3-color;
@tree-view-border-color:           @base-border-color;

@tab-background-color:             @level-3-color;
@tab-background-color-active:      @level-2-color;
@tab-bar-background-color:         @level-3-color;
@tab-bar-border-color:             @base-border-color;
@tab-border-color:                 @base-border-color;

 :
 :</pre><p></p>

<p>これらの色情報同士は互いに連携。ある１箇所を変更すると関係する箇所が合わせて変更されると共に、色同士の関係性を見て、一体感のある色調になるように自動的に調整されるようになっています。</p>

<p></p><pre class="crayon-plain-tag">@import "syntax-variables"

 :
 :

@ui-a:       hsl(252, 11%, 18%); // fallback
@ui-a:       @syntax-background-color;

// Goal: use @syntax-background-color if it's dark enough, otherwise use same hue but stay dark
// The light up by 100% is done to trick contrast() into picking one of 2 dark colors
@ui-a-h:     hue(@ui-a);
@ui-a-s:     min( saturation(@ui-a), 12%);
@ui-a-l:     luma(@ui-a) + 100%; // (1) light up
@ui-a-light: hsl(@ui-a-h, @ui-a-s, @ui-a-l); // (2) flashed color
@ui-a-color: contrast(@ui-a-light, @ui-a, hsl(@ui-a-h, @ui-a-s, 24%) ); // (3) use @ui-a if darker than 24%

 :
 :</pre><p></p>

<p>また、<code>ui-variables.less</code>では、Atom Editorで標準定義されているシンタックスハイライトのための色情報を、<code>syntax-variables</code>から読み込むことで、<code>@syntax-background-color</code>という変数をこのテーマのシンタックスハイライトカラーとして利用しています。</p>

<h3>Style Guide</h3>

<p>Atom Editorでは、だれでも、EditorのThemeを作ることが可能です。新しく作ってもいいし、既存のThemeをフォークしても構いません。Themeを新作る際の便利な機能として、Style GuideというPackageが標準搭載されています。</p>

<p>Style Guideを利用することで、Themeの中で規定されている色情報やClassの定義など全てを、視覚的にリアルタイムに確認することができます。</p>

<p>&lt;起動方法>
Packages > StyleGuide > Show</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/styleguide.png" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/styleguide.png" alt="styleguide" width="640" height="531" class="aligncenter size-full wp-image-13243" srcset="/wp-content/uploads/2015/02/styleguide.png 640w, /wp-content/uploads/2015/02/styleguide-300x249.png 300w, /wp-content/uploads/2015/02/styleguide-207x172.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/class.png" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/class.png" alt="class" width="640" height="502" class="aligncenter size-full wp-image-13244" srcset="/wp-content/uploads/2015/02/class.png 640w, /wp-content/uploads/2015/02/class-300x235.png 300w, /wp-content/uploads/2015/02/class-207x162.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>Themeの作成やカスタマイズにはなくてはならないツールです。</p>

<h1>Atom Editorの悪い部分</h1>

<p>冒頭に紹介したCSS-Tricksのブログでは、よい点だけではなく、問題点なども合わせて取り上げられているため、とても参考になります。Atom Editorについても、それに習って、あえて悪い部分を取り上げてみます。</p>

<h3>1. どこにソースファイルがあるか分からない</h3>

<p>Atom Editorのインスペクタを表示するとわかると思いますが、CSSそのものへのリンクはありません。これは、LESSを動的にCSSに変換しているので、そもそもCSSファイルが存在しないためです。</p>

<p>また、以下のように、同じセレクタが複数存在するところがあります。それぞれPackageとThemeで定義されているのですが、どちらがどちらに定義されているのか、インスペクタを見ただけではわかりません。これは、Source mapを使えば解決できるかもしれませんが、現在のAtom Editorには含まれていません。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/same-selector.png" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/same-selector.png" alt="same-selector" width="640" height="173" class="aligncenter size-full wp-image-13249" srcset="/wp-content/uploads/2015/02/same-selector.png 640w, /wp-content/uploads/2015/02/same-selector-300x81.png 300w, /wp-content/uploads/2015/02/same-selector-207x56.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<h3>2. CSSのネストが深い</h3>

<p>上記画像を見ると、Classのネストが3階層になっている事がわかると思います。このように、ネストが深い部分が多々あります。そのため、特定の属性を上書きしたい場合などは、Classのセレクタをネストの数だけ記載する必要が出てきます。</p>

<p>これは、セレクタを以下のように記載することで解決することができます。</p>

<p></p><pre class="crayon-plain-tag">// SUIT ----

.Tabs {}
.Tabs-item {}
.Tabs-title {
	color: white;
}

// Benefit ----

.Tabs-title {
	color: red;

}</pre><p></p>

<div style="text-align: right;"><small>引用元：Simurai氏セッション資料</small></div>

<p><BR>
このようにセレクタを記載することで、以下の様な利点が生まれます。</p>

<ul>
<li>シングルClassでその値を上書きすることができる（上記Benefit参照）</li>
<li>名前空間を最小限にできるため、上位Classの変更に対する影響が下位Classに及ばない</li>
<li>マークアップの際にClassのネストの順番を意識しなくてよくなる</li>
<li>Classの検索性がよくなる</li>
</ul>

<h3>3. Atom Editor Version 1.0ローンチ間近…</h3>

<p>ではなぜ、Atom EditorでこのようなSUIT CSSやBEM CSSなどの設計ルールを取り入れないのか。実際に、GitHubのIssueでもそのような問い合わせがきています。</p>

<p>取り入れない理由は、Atom Editor Version 1.0のローンチが間近に迫っており、近々仕様凍結が予定されているためです。仕様が凍結されると、Classの命名規則含めてAPI仕様の大幅な変更ができなくなります。そのため、SUITやBEMなどの導入はVersion 2.0に向けて行う必要が出てきているのです。</p>

<h1>Atom Editorの未来</h1>

<p>Atom Editorに将来実装したい機能の１つとして、UIテーマのコントラストを周辺光に合わせて自動的に調整する機能が考えられています。</p>

<p>例えば、部屋の明かりが暗い時は、このように見やすいThemeですが…</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/dark.png" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/dark.png" alt="dark" width="640" height="386" class="aligncenter size-full wp-image-13255" srcset="/wp-content/uploads/2015/02/dark.png 640w, /wp-content/uploads/2015/02/dark-300x181.png 300w, /wp-content/uploads/2015/02/dark-207x125.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<div style="text-align: right;"><small>引用元：Simurai氏セッション映像より</small></div>

<p><BR>
部屋が明るくなると、画面への光の映り込みが起こり、見難くなりますよね。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2015/02/light.png" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/light.png" alt="light" width="640" height="381" class="aligncenter size-full wp-image-13256" srcset="/wp-content/uploads/2015/02/light.png 640w, /wp-content/uploads/2015/02/light-300x179.png 300w, /wp-content/uploads/2015/02/light-207x123.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<div style="text-align: right;"><small>引用元：Simurai氏セッション映像より</small></div>

<p><BR>
これを解決したいのです。</p>

<p>周辺光に合わせたUIテーマの自動調整は、W3Cで標準化が進んでいるlight-level MediaQueryを利用することで、実現することができると考えています。</p>

<p></p><pre class="crayon-plain-tag">// default
body {
	color: hsl(0,0%,70%);
}

// gets dark
@media {light-level: dim} {
	body {
		color: hsl(0,0%,48%);
	}
}

// gets bright
@media {light-level: washed} {
	body {
		color: hsl(0,0%,100%);
	}
}

// other pattern
@media {light-level: washed}{
	body {
	-webkit-filter: contrast(1,25) brightness(2);
	}

}</pre><p></p>

<div style="text-align: right;"><small>引用元：Simurai氏セッション映像より</small></div>

<p><BR>
このように記載することで、デバイスに搭載されている光学センサで周辺光を測定し、その値に応じて<code>body</code>エレメントの明るさを調整することができます。</p>

<p>また、明るくなった場合の別の調整手段として（上記other pattern参照）、<code>contrast</code>と<code>brightness</code>を利用して、画面全体のコントラストや明るさを一気に調整することもできます。しかしながら、これはパフォーマンスがよくない可能性もあるので、実装する際には注意が必要です。</p>

<h1>まとめ</h1>

<p>Simurai氏のセッションは、Atom Editorが『なぜhackable text editorなのか？』を、わかりやすく伝える面白い内容でした。興味を持たれた方は、是非、Atom Editorを自分色にカスタマイズしてみてください！</p>

<p>もっと詳しくAtom Editorについて聞きたい！知りたい！という方は、Twitterなどでご本人に質問してみるとよいでしょう。</p>

<div style="text-align: center;">
<a href="https://twitter.com/simurai" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">@simurai &#8211; https://twitter.com/simurai</a>
<BR>
<a href="https://html5experts.jp/wp-content/uploads/2015/02/simurai-card.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2015/02/simurai-card-259x300.jpg" alt="simurai-card" width="259" height="300" class="aligncenter size-medium wp-image-13261" srcset="/wp-content/uploads/2015/02/simurai-card-259x300.jpg 259w, /wp-content/uploads/2015/02/simurai-card.jpg 552w, /wp-content/uploads/2015/02/simurai-card-179x207.jpg 179w" sizes="(max-width: 259px) 100vw, 259px" /></a>
</div>

<p><BR>
<BR>
Frontrend Conference特集はまだまだ続きます！</p>

<h2>イベント動画</h2>

<p>イベントの模様はYoutubeで公開されています。よろしければ、ご覧ください。</p>

<div class="aligncenter">
<!-- iframe plugin v.4.3 wordpress.org/plugins/iframe/ -->
<iframe width="560" height="315" src="https://www.youtube.com/embed/y_pkHOBy1Jc" frameborder="0" 0="allowfullscreen" scrolling="yes" class="iframe-class"></iframe>
</div>
]]></content:encoded>
		
		<series:name><![CDATA[Frontrend Conference 特集]]></series:name>
	</item>
	</channel>
</rss>
