見出し画像

noteサイトでマークダウン記法で書いたテキストを確実に反映させるには? 適応できない理由を追及してみた

noteのサイトではマークダウン記法が使えるようになり、かなり便利になりました 。そのことで一度記事を書きました。


マークダウン記法運用開始 その後

そのときには、ポメラで書いた文書を自分のメールアドレスに送信し、そのメールをGmailで受け文面をnoteの投稿画面にコピーペーストするのですが、うまく機能しないもの もありました。
具体的な機能としては、

  • 箇条書き

  • 番号付きリスト

  • ルビ

の3つが小理屈野郎的に発見できたものです。

そのときのワークフローとしては、以下のようなものです。

  1. まずはポメラでマークダウンを含めた記事を書く

  2. 「アップロード」機能を使い、自分のGmailのアドレスにメールとしてアップする

  3. そのメールをGmailから確認し、内容をコピーする

  4. noteの投稿画面をだし、コピーしている内容を「プレーンテキストとしてペーストする」でペーストする

大見出し・小見出し、強調、取り消し線、区切り線、引用などはうまく動くのですが、前述のように、(tabキーを使うことのある)箇条書きや、番号付きリスト が、どうにもうまく動きませんでした。

上記リンクの記事のコメント欄にはnoteの運営の方がコメントを下さいましたが、その後も特に状況に代わりはありませんでした。
今考えると、一応ヒントになるのは運営の方のコメントの中のGmailの何らかの仕様が邪魔をしているのではないか 、ということでした。
このときは、それ以外のウェブメールサイトを使う、ということはこのときは特にしませんでした。

そんな中、ツイッター界隈でちょっと引っかかる情報を見ました。(いつもポメラDM200_botさんの情報にはお世話になっています。感謝です)

ピンとくる情報を見つけました。

行頭にtabが入っているからnoteのマークダウンはうまくいかないのではないかと考え 、このやり方を演繹して、まずUTF-16LEでubuntuの標準テキストエディタで保存し、tab入りの箇条書きや番号付きリストについてはうまく動作しました。(職場のPCにはubuntuをインストールし、運用しているので検証はまずubuntuから開始となりました)
しめしめ、と思って、次にポメラからアップロードで送信し、Gmailで内容を表示してそれをubuntuの標準テキストエディタにペースト。その上でUFT-16LEで保存します。保存されたファイルを再びubuntuの標準テキストエディタで表示し、内容をコピー。さらにnoteの投稿画面に「プレーンテキストとしてコピー」します。

これではうまくいけません。
いろいろなパターンをやってみたけど、ちょっと積みかけて諦めかけていました。

この検証でうまくいった場合とうまくいかなかった場合について比べてみると、ubuntuの標準エディタで直接テキストファイルに入力した場合は、うまくいくのに、メールを送信してペーストした場合にうまくいかない ことに気づきました。

いろいろ実験をして原因を追及してみる

そこで、ペーストしたGmailの行頭にtabがあるものについてよくよく確認してみてたところ、Gmailでのtabの扱いが変なことに気づきました。
具体的には、行頭にtabを置くと、Gmailでは一つ目のtabでできる「空間」はすべてスペースで置き換えてしまっている のです。
いわゆるやってはいけないWordの文章整形術 みたいになっていたのです。tabが2つ以上ある場合は、2つめ以降はちゃんと処理されているように見えました。
最初のtabの処理がおかしいから、入れ子構造を使っているときにちゃんと反応しないし、その後のtabは処理されないのではないかと考えました。
ということはメールを送るまでは問題ないが、メールを送った後の受信するソフト(環境)に問題がある ということですね。
つまりGmailの表示の仕様 、ということではないかな、と考えました。

tabの扱いがきっちりしているウェブメールを探す

行頭のtabをちゃんとtabとして認識しているウェブメールを探せば良いかもしれない 、と考えました。
小理屈野郎は、メールアドレスとしては、前述のGmail、そしてアップロード機能で使っているSo-net、そして@niftyのものを持っています。
Gmailでだめなら、アップロード機能でSMTPサーバーも使っているのでSo-netではどうか 、と実験を行うことにしました。

So-netウェブメールを使ってみる

実験にうつってみました。
まずはウェブメールの画面を表示させておき 、tabを含んだテキストをポメラからアップロード機能でSo-netのアドレスに送ります。
So-netウェブメールから送ったメールを表示させ、コピーします。
その内容をubuntuの標準テキストエディタにペーストすると、行頭のtabはtabとして認識されているようです。前述のようにGmailでの表示内容をコピーするとスペースがたくさん入っていましたが、今回は入っている様子はなさそうです。
これは普段から使っている文字コードのUTF-8でも、UTF-16LEでも同様の結果でした。
So-netのウェブメールに表示された行頭にtabを含む内容をコピーし、そのままnoteの投稿画面に貼り付けると、きれいにtabによる入れ子構造が反映されていました
どうやらSo-netウェブメールを使うとうまくtabを認識してくれる ようです。

ここでのポイントは、So-netウェブメールの画面を受信に先駆けて表示しておくこと です。Gmailは、指定のメールアドレスの未読メールを定期的巡回してゲットしてきます。そしてそのときにゲットしたメールを消去する設定にしているので、Gmailに消去される前にSo-netウェブメールで表示して、内容をコピーする 、ということなのです。

今回うまくいったワークフローを下記に記しておきます。

  1. まずはポメラでマークダウンを含めた記事を書く

  2. 「アップロード」機能を使い、自分のSo-netのアドレスにメールとしてアップする

  3. そのメールをSo-netウェブメールから確認し、内容をコピーする

  4. noteの投稿画面をだし、コピーしている内容を「プレーンテキストとしてペーストする」でペーストする

So-netのウェブメール以外でも行頭のtabをtabとして認識していれば、どこのISP(インターネットサービス・プロバイダ)のウェブメールでも問題が無いと考えます。

この実験途中に発見したその他のこと

この実験をしていて発見したその他のこととして、リストで振る番号はnoteのエディタが勝手に1から順番に入れ子構造も判断して振ってくれる ので、リストの行頭にはすべて「1. 」を振れば良い ようです。違う番号(例えば3とか6とか)を振っても結局それは無視されて、noteのエディタがきちんと番号を振り直してくれます。
これは地味に便利で、リストを作る場合ポメラの単語登録で「リスト」にマークダウン記法の「1. 」を登録して、入れ子構造にするならタブを必要回数入力し、文頭にどんどん振っていけば良く 、番号のことは考える必要がなくテキスト入力のとき非常にスムーズにできるというメリットがついてくる、ということです。

ubuntuではOK、Windowsでは?

ウェブメールのtabに関するルールの問題が今回のnote記事投稿時の不具合に直結していたわけですから、ubuntuか・Windowsか、というようなOS(プラットフォーム)の問題ではないと思われます。
念のため、ubuntuでもWindowsでも再現するかをチェックしてみました。
使用するPCをWindowsに代わり、文字コードをUTF-8とUTF-16LEで確認 しましたが、同じワークフローできっちりと入れ子構造の箇条書きや番号付きリストが反映されました。

めでたしめでたし。

まとめ

tabの扱いについて他のTwitterのツイートからヒントを得て、noteの投稿ページにおけるマークダウン書式の読み込み不具合について、いろいろと実験をしてみました。
実験の結果、文字コードによる読み込み不具合ではなく、Gmailの行頭にあるtabの扱いに問題があり、それが原因だということが分かりました。
当面の回避方法としては、ポメラからアップロード機能でメールを送信する場合、Gmail宛に送るのではなく、他社のウェブメール(今回はSo-netを利用しました)にメールを送り、その内容をウェブメール上で表示させた上コピーアンドペーストを行うと良いと結論が出ました。ここでもポメラのある意味の堅牢性が見えたような気がします。基本的な機能しか搭載していないので、ネット上のサービス主体の提供方法の変更などに影響されることがないということです。
今回の検証でも、ポメラはディスプレイ上に表示されたとおりに文字列をアップロードしているという信頼感が最後まであり、それが解決の糸口をそれなりに速く見つけられた理由の一つであると思われました。
ポメラはDM250と新機種になっていますが、この特徴は引き継がれているようです。このスタイルがポメラを愛用してやまない人(含む小理屈野郎)を離さない理由でもあるのではないかなと思いました。
ちょっとした別の手間が必要にはなりますが、安定して投稿に関わるシステム全体を運用できるようになりました。


これ以外にも少し不具合というか仕様の特徴があります。
ルビ については、マークダウンを入力しても投稿画面上は反映されない ですが、投稿前の編集できない確認画面ではちゃんと反映されています し、実際の投稿した後の表にだす画面でもちゃんと反映されているようです。少し不便ではありますが、それが仕様 ということなのだと判断しています。

マークダウンが導入されてから、少し引っかかっていたところがすべてクリア になりました。
良かったです。
望むべくは、Gmailの仕様変更 です。
※基本ただで使わせてもらっている、という感じなので、Googleがこのように設定しているのには何か理由がある のでしょう。長い目で普通の処理をしてくれるようになるのをのぞんでいます。

よろしければサポートお願いいたします。 頂いたサポートは、書籍購入や電子書籍端末、タブレットやポメラなどの購入に充当させていただきます。