以前、iOSアプリを紹介するブログパーツの「ポチレバ」を紹介いたしました。
Androidアプリを紹介する「ポチレバ」のようなブログパーツがないか探していたところ、「AndroidHTML ブックマークレット」というサービスを見つけたのでご紹介いたします。
「AndroidHTML ブックマークレット」とは
「AndroidHTML ブックマークレット」はPlayストアのアプリURLから紹介用のリンクURLを生成するブックマークレットで、URL以外にもアプリのアイコンやGoogle Playのボタンなどを生成してくれます。
「AndroidHTML ブックマークレット」は現在、林家次男: 開いた口が半開きになるブログさんがv3.1を開発されています。
使い方
AndroidHTMLのブックマークレットを登録する
「AndroidHtml for Play」をブックマークバーにドラッグ&ドロップして、ブックマークレットを登録します。
Google Playで「AndroidHTML ブックマークレット」を使う
紹介したいAndroidアプリのページに行き、ブックマークバーに登録した「AndroidHtml for Play」を押下します。すると、ブラウザ上の画面左下にHTMLソースが表示されます。
HTMLソースをコピーし、表示したい場所に張り付けると、下記のように紹介したいAndroidアプリが表示されます。
- Pokémon GO
- 制作: Niantic, Inc.評価: 3.9 / 5段階中価格: 無料 (2016/7/26 時点)posted by: AndroidHTML v3.1
※上記デザインは当サイト用にカスタマイズしています。
「AndroidHTML ブックマークレット」のstyle属性をCSSにする
「AndroidHTML ブックマークレット」は気軽に紹介したいアプリ用のHTMLソースを生成してくれますが、スタイルはstyle属性となっています。
サイトのテイストに合わせて「AndroidHTML ブックマークレット」のデザインを変えたい場合、style属性では変更するのはなかなか大変です。
下記でstyle属性をCSSにする方法をご紹介いたします。
HTMLを整形する
まず、「AndroidHTML ブックマークレット」で取得したHTMLソースを見やすくするために、「HTML整形ツール(プチ・デバッグ機能付き)」で整形します。HTMLのインデントタイプは「4」としています。
下記が整形したHTMLになります(HTMLソースはポケモンGO)。
<div class="bookmarklet bookmarklet-gp" itemscope itemtype="http://schema.org/MobileApplication" style="clear:both;min-height:165px;width:100%;max-width:468px;overflow:hidden;padding:12px;border:1px solid;border-color:#eaeaea #ddd #d0d0d0;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:5px;"> <dl class="bookmarklet-gp-info" style="margin:0;"> <dt class="bookmarklet-gp-title" style="border-bottom:1px solid;border-color:#eaeaea #ddd #d0d0d0;font-weight:bold;margin:0 0 .5em 0;padding:0 0 .5em 0;"> <img alt="Google play" class="favicon" style="vertical-align:middle;border:0;" src="//www.gstatic.com/android/market_images/web/favicon_v2.ico" />  <span itemprop="name">Pokémon GO</span> </dt> <dd class="bookmarklet-gp-desc" style="font-size:.9em;margin:0;"> <div class="bookmarklet-gp-thumb" style="float:left;"> <img src="//lh3.googleusercontent.com/K0nTe1vRNUcTz8WD6s9z0-bdRQEx_HBjy7A2im20fNef2gDz8gznJ76iRSrNbktrAzw=w300" alt="Pokémon GO" itemprop="image" style="height:120px;width:120px;max-width:100%;vertical-align:middle;border:0;margin:0 1em 0 0;"> </div> <div class="supplier" itemscope itemtype="http://schema.org/Organization">制作: <span itemprop="name">Niantic, Inc.</span> </div> <div class="review" itemtype="http://schema.org/AggregateRating" itemscope itemprop="aggregateRating">評価: <span itemprop="ratingValue">3.9</span>/ 5段階中 </div> <div class="price" itemtype="http://schema.org/Offer" itemscope itemprop="offers">価格:  <meta itemprop="price" content="0">無料 <small>(2016/7/26 時点)</small> <br /> </div> <a href="https://play.google.com/store/apps/details?id=com.nianticlabs.pokemongo&hl=ja" target="_blank" title="Pokémon GO" itemprop="url" style="float:right;"> <img src="//dl.dropboxusercontent.com/u/540358/ja_generic_rgb_wo_45.png" alt="ダウンロード" style="border:0;display:inline-block;height:auto;vertical-align: middle;"/> </a> <small>posted by: <a target="_blank" href="http://hayashikejinan.com/?p=818">AndroidHTML v3.1</a> </small> </dd> </dl> </div>
style属性をCSSにする
style属性で記述されているスタイルをCSSにしていきます。「extractCSS」を利用すると簡単にCSSにすることができます。
extractCSS – Online CSS Extractor
ソースを張り付けてボタンをクリックするだけで、簡単にCSSにすることができます。紹介するアプリが変わっても、ブックマークレットのバージョンアップなどでHTMLが変わらない限り、ずっと同じCSSが適用されます。
「AndroidHTML ブックマークレット」のstyle属性を削除する
style属性をCSSにすると、HTMLに記述されているstyle属性は不要になるので削除します。
HTMLに記述されているstyle属性を正規表現で削除するために「正規表現対応 文字列置換 Webアプリ / Webサービス」に行きます。
正規表現でstyle属性を削除
- 入力:「AndroidHTML ブックマークレット」のソースを張り付ける。
- 置換パターン:「
style=(.+?)"
」と入力。 - 置換文字列:何も入力しない。
- 「置換実行」ボタンを押下。
- 結果:置換されたソースが出力される。
上記操作を行うと、style属性が削除されたソースが結果に出力されます。
整形と調整
各style属性が削除された要素の末尾が「" >
」となり、「"
」と「>
」の間に空白ができるので、style属性が削除されたソースを再度置換します。
style属性が削除されたソースを入力し、置換パターンに「" >
」、置換文字列に「">
」として置換を実行します。
上記の置換を行った後、下記のように実行結果で「class="favicon" src="
」の間が空白が2つになっているはずなので、空白を1つにします。
class="favicon" src="
上記を下記にようにします。
class="favicon" src="
以上で完成となります。
整形したAndroidHTMLのソース(ポケモンGO)
<div class="bookmarklet bookmarklet-gp" itemscope itemtype="http://schema.org/MobileApplication"> <dl class="bookmarklet-gp-info"> <dt class="bookmarklet-gp-title"> <img alt="Google play" class="favicon" src="//www.gstatic.com/android/market_images/web/favicon_v2.ico" />  <span itemprop="name">Pokémon GO</span> </dt> <dd class="bookmarklet-gp-desc"> <div class="bookmarklet-gp-thumb"> <img src="//lh3.googleusercontent.com/K0nTe1vRNUcTz8WD6s9z0-bdRQEx_HBjy7A2im20fNef2gDz8gznJ76iRSrNbktrAzw=w300" alt="Pokémon GO" itemprop="image"> </div> <div class="supplier" itemscope itemtype="http://schema.org/Organization">制作: <span itemprop="name">Niantic, Inc.</span> </div> <div class="review" itemtype="http://schema.org/AggregateRating" itemscope itemprop="aggregateRating">評価: <span itemprop="ratingValue">3.9</span>/ 5段階中 </div> <div class="price" itemtype="http://schema.org/Offer" itemscope itemprop="offers">価格:  <meta itemprop="price" content="0">無料 <small>(2016/7/26 時点)</small> <br /> </div> <a href="https://play.google.com/store/apps/details?id=com.nianticlabs.pokemongo&hl=ja" target="_blank" title="Pokémon GO" itemprop="url"> <img src="//dl.dropboxusercontent.com/u/540358/ja_generic_rgb_wo_45.png" alt="ダウンロード" /> </a> <small>posted by: <a target="_blank" href="http://hayashikejinan.com/?p=818">AndroidHTML v3.1</a> </small> </dd> </dl> </div>
上記が一連の流れを行った、「AndroidHTML ブックマークレット」(ポケモンGO)のソースとなります。
「AndroidHTML ブックマークレット」のCSS
当サイトで使用している「AndroidHTML ブックマークレット」のCSSを記載いたします。
PC用
/************************************ ** Androidhtml(Google Play) ************************************/ .bookmarklet.bookmarklet-gp { clear: both; min-height: 165px; width: 100%; overflow: hidden; padding: 12px; border: medium double #ccc; box-sizing: border-box; border-radius: 5px } .bookmarklet-gp-info { margin: 0; } .bookmarklet-gp-title { border-bottom: 1px solid #ccc; font-weight: bold; margin: 0 0 .5em 0; padding: 0 0 .5em 0; } .bookmarklet-gp-title img { vertical-align: middle; } .Google.play .favicon { vertical-align: middle; border: 0; } .bookmarklet-gp-desc { font-size: .9em; margin: 0; } .bookmarklet-gp-thumb { float: left; } .bookmarklet-gp-thumb img { height: 120px; width: 120px; max-width: 100%; vertical-align: middle; margin: 0 1em 0 0; } .bookmarklet-gp-desc a { float: right; } .bookmarklet-gp-desc a img { border: 0; display: inline-block; height: auto; vertical-align: middle; } .bookmarklet-gp-desc small { font-size: 8pt; } .bookmarklet-gp-desc small a { float: none; }
モバイル用
@media screen and (max-width: 400px) { /************************************ ** Androidhtml(Google Play) ************************************/ .bookmarklet-gp-desc { text-align: center; } .bookmarklet-gp-title { margin-bottom: 20px; } .bookmarklet-gp-thumb { float: none; margin: 0 auto 20px; } .bookmarklet-gp-thumb img { margin: 0; } .bookmarklet-gp-desc a { float: none; } .bookmarklet-gp-desc small { display: block; } .bookmarklet-gp-desc .price { margin-bottom: 10px; } .bookmarklet-gp-desc .price small { display: inline; } }
CSSの参考になればと思います。
まとめ
- 「AndroidHTML ブックマークレット」は紹介用のリンクURLを生成するブックマークレット。
- 「林家次男: 開いた口が半開きになるブログ」さんがv3.1を開発。
- 「AndroidHTML ブックマークレット」はブックマークバーに登録して使う。
「AndroidHTML ブックマークレット」はAndroidのアプリを紹介するのに、とてもよいブログパーツだと思います。気になった方は導入を考えてみてはいかがでしょうか
コメント