読者です 読者をやめる 読者になる 読者になる

そっと、はてなブログ

はてなブログのベータテストを生暖かい目で見守るブログです。

『そっと、はてなブログ』

…… はてなブログのベータテストを生暖かい目で見守るブログです。【 記事一覧 】

はてなブログのアプリはプレビューで落る

アプリ 不具合報告

 先月末にリリースされた、はてなブログ公式のAndroidアプリ。Android端末上でブログを投稿する時、もちろんブラウザから記事を投稿することも可能だけれど、やっぱり専用アプリがあると、動作も軽く、便利である。

Google Play™ ギフトカードが当たるWキャンペーン! 「はてなブログ」のAndroid™アプリをリリースしました - はてなブログ開発ブログ


 ただ残念な事に、自分の環境では再現率ほぼ100%の不具合がある。

 まず、記事作成画面でブログを書いて「編集完了」ボタンを押下し、新規記事画面に遷移。そこで画面左下の「プレビュー」ボタンを押下。プレビュー画面に遷移したら、そこで画面を下までスクロール。これから投稿する記事をそこで推敲するので、何度か画面を上下にスクロール。その後、画面左上の「←」ボタンを押下して新規記事画面に戻ろうとすると…不具合が発生してアプリが落るのだ。


f:id:mame-tanuki:20141112000411j:plain


ちなみに、この後、アプリを再起動して記事作成ボタンを押下すると、「バックアップがあります。復元しますか?」と聞いて来るので、「はい」と答えれば下書き保存もせずに不具合で消えてしまった記事が見事に復活するので、ダメージは小さい。

 私の動作環境は、Nexus7(2013)。Androidのバージョンは4.4.4。はてなブログアプリのバージョンは、1.0.4。


 この不具合以外にも、色々と不満点はある。その辺は、以下に紹介するブログ記事がほぼ代弁してくれている。

「はてなブログ」のAndroidアプリで個人的に気になった点を書いてく。 - Fuzzy Logic

はてなブログMarkdownモードでの「はてなブックマーク貼り付け機能」に、リンクとコメントの間が改行されない不具合

不具合報告

f:id:mame-tanuki:20120922151414g:plain

 9/19、はてなブログに導入されたMarkdownモードはてなブックマーク貼り付け機能を利用すると、貼り付けられたリンクが整形済みテキストブロックとして処理され、そのままHTMLの<a>タグが表示されてしまう不具合が発生する場合があった。

 この不具合は、9/26に修正された。

  • Markdownモードにおいて、 編集サイドバーからはてなブックマークを貼り付けできない不具合を修正しました。

 しかし、この修正によって今度はリンクとコメントの間が改行されない不具合が生じるようになった。

■リンクとコメントとの間が改行されない

 9/26の修正によって、Markdownモード使用時に「はてなブックマーク貼り付け機能」で貼り付けられるリンクは、<a>タグではなく、はてな記法http記法を利用した形式に変わった。

 例えば、次のような文字列が貼り付けられる。

[http://staff.hatenablog.com/entry/2012/09/26/182527:title:bookmark]
Markdown記法バグ http://goo.gl/ypXUi は修正の結果、別の不具合が発生。後で書く/ラボのアイコン作成サービス http://16x16.hatelabo.jp/ は10/1で終了。急がなきゃw

 これを、Markdownモードで表示すると、以下のようになる。

ブログのアイコンを設定できるようにしました - はてなブログ開発ブログ Markdown記法バグ http://goo.gl/ypXUi は修正の結果、別の不具合が発生。後で書く/ラボのアイコン作成サービス http://16x16.hatelabo.jp/ は10/1で終了。急がなきゃw

■「(半角スペース)ゼロで」「2つは必要ですよ!分かって下さいよ!」

 なぜ、リンクとコメントの間が改行されないのか。実は、ここがMarkdwon記法の面倒臭い所なのだ。

 Markdown記法では、テキスト上の改行文字は無視される。はてな記法に慣れている人には厄介な仕様だ。

 では、改行するためにどうしたら良いかと言うと…

  • (方法1)改行したい行と行の間に空行を挟む  →  それぞれ<p>タグで囲まれ別段落として処理される
  • (方法2)改行したい行の末尾に半角スペース2個を置く  →  <br />タグが挿入される

という2つの方法が用意されている(詳細は、拙記事を参照のこと)。

 だからこの不具合の修正も単純だ。Markdownモードだった場合に「はてなブックマーク貼り付け機能」で貼り付けるリンクのhttp記法の末尾に「半角スペース2つ」を入れれば良い。あるいは、http記法で書かれたリンクとコメント文の間に空行を入れれば良い。

 前回の不具合は「半角スペース4つ」を行頭に挿入したことが原因だったので、「2つで十分ですよ!分かって下さいよ!」と指摘した。今回は、「2つは必要ですよ!分かって下さいよ!」と指摘したいw

 ちなみに、見たままモード使用時に「はてなブックマーク貼り付け機能」で貼り付けられるHTMLは、次のようなものだ。

<p><a href="http://staff.hatenablog.com/entry/2012/09/26/182527">ブログのアイコンを設定できるようにしました - はてなブログ開発ブログ</a> <a class="http-bookmark" href="http://b.hatena.ne.jp/entry/staff.hatenablog.com/entry/2012/09/26/182527"><img src="http://b.st-hatena.com/entry/image/http://staff.hatenablog.com/entry/2012/09/26/182527" alt="" /></a></p>
<p>Markdown記法バグ http://goo.gl/ypXUi は修正の結果、別の不具合が発生。後で書く/ラボのアイコン作成サービス http://16x16.hatelabo.jp/ は10/1で終了。急がなきゃw</p>


今回追加されたMarkdownモード版のスーパーpre記法(シンタックス・ハイライト)の方は、無事に動いているようだ。

  • Markdownモードにおいて、コードブロックのシンタックスハイライトに対応しました。


【関連リンク】


【関連するMy記事】


Markdown Love

Markdown Love

はてなブログMarkdownモードでの「はてなブックマーク貼り付け機能」に、整形済みテキストブロック化する不具合

不具合報告

f:id:mame-tanuki:20120922151414g:plain

 9/19、はてなブログに導入されたMarkdownモード。このMarkdownモードではてなブックマーク貼り付け機能を利用すると、貼り付けられたリンクが整形済みテキストブロックとして処理され、そのままHTMLの<a>タグが表示されてしまう不具合が発生する場合がある。

【9/26追記】

 9/26に不具合の修正が行われたが、今度は別の不具合が発生している。

■空行の次の行の先頭に貼り付けると、整形済みテキストブロックとして処理される

 不具合が発生する条件は、はてなブックマーク貼り付け機能で貼り付けた場所が以下の2つの条件を満たした場合だ。

  • 【条件1】貼り付けた場所が行の先頭
  • 【条件2】貼り付けた場所が空行の次の行

 この2つの条件を共に満たすと、例えば以下のように表示されてしまう。

<a href="http:&#x2F;&#x2F;mametanuki.hateblo.jp&#x2F;entry&#x2F;2012&#x2F;09&#x2F;22&#x2F;MarkdownList">はてなブログで「Markdown記法一覧」を書いてみるテスト - そっと、はてなブログ</a>>
<a class="http-bookmark" href="http:&#x2F;&#x2F;b.hatena.ne.jp&#x2F;entry&#x2F;mametanuki.hateblo.jp&#x2F;entry&#x2F;2012&#x2F;09&#x2F;22&#x2F;MarkdownList"><img src="http:&#x2F;&#x2>F;b.st-hatena.com&#x2F;entry&#x2F;image&#x2F;http:&#x2F;&#x2F;mametanuki.hateblo.jp&#x2F;entry&#x2F;2012&#x2F;09&#x2F;22&#x2F;MarkdownList"></a>

■「(半角スペース)4つ入れてくれ」「2つで十分ですよ!分かって下さいよ!」

 この不具合の原因は、貼り付ける<a>タグの頭に半角スペースを4つ入れていることだ。

 Markdown記法では、空行の次の行の先頭に置かれた「半角スペース4つ」は特別な意味を持つ。

Markdown記法では引用文の行頭に「4つ以上の半角スペース」あるいは「1つ以上のタブ」を置くことで、HTMLなどのソースコードを整形済みテキストとしてそのまま表示できる。
 ※pre記法と前の段落との間に空行が必要!


http://mametanuki.hateblo.jp/entry/2012/09/22/MarkdownList#Code%20Blocks

 空行の次の「半角スペース4つ」で始まる行は<pre>タグで囲まれ、整形済みテキストとして処理するのが、Markdown記法でのルールなのだ。

 だからこの不具合の修正は単純だ。Markdownモードだった場合に「はてなブックマーク貼り付け機能」で貼り付ける<a>タグの頭に「半角スペース4つ」を入れなければ良い。

 よく分からないのは、<a>タグの頭に「半角スペース4つ」を入れようと考えた、はてなスタッフの意図だ。貼り付け先の文章と<a>タグとの間に適度な余白を挟みたかったのだろうか?ならば、半角スペースを4つも必要だろうか?映画『ブレードランナー』に登場する屋台のオヤジじゃないけど、「2つで十分ですよ!分かって下さいよ!」と叫びたくなったw


【関連するMy記事】