バーチャル山中家

インターネット上にある我が家です。他愛もない事を書いています。

タグ「Movable Type」が付けられているもの


山中家の旅行記録の記事テンプレートを修正

山中家の旅行記録サイトでは、1つの旅行を1つのカテゴリとして処理しています。

通常は、複数の旅行記事が平行して書かれることは少ないのですが、旅行記事の編集中に次の旅行の計画を立てることはあり、その際に複数の旅行記事をアップロードすることがあります。
そうすると、通常の「前の記事」や「次の記事」で処理すると、通常は単純に時系列で処理されますので、別の旅行の記事に飛んじゃうと気が付きました。

カテゴリ内での「前の記事」や「次の記事」を実現するためにはプラグインが必要で・・・みたいな古い記憶があったので、「そうかそうか、プラグインを入れないとダメだね。果たしてMovableTypeの7に対応してくれているかな?」と思いながらGoogle先生に相談したら、なんと標準機能に「同じ作者内で」と「同じカテゴリ内で」ってモデファイアが追加されているんですね。
それもMovableType6の時代から(笑)

早速、旅行記の記事テンプレートの前後記事へのリンクに、by_category=”1” モデファイアを追加しました。

便利な世の中になっておりました。はい。

やっぱり Movable Type が好き

その昔、バーチャル山中家というサイトをネット上に公開し始めたときは、プロバイダが提供しているスペースを借りて、テキストエディタで手書きしたHTMLのファイルを、FTPでサーバに転送アップロードしていた。
文法のチェッカーにかけて、点数を気にしたり、各種ブラウザでの表示の違いをチェックしたりもした。
ブラウザごとに挙動も大きく違ったし、HTMLの文法もバージョンが上がるごとに結構大きな変更があったりして、気の抜けないものだった。

ハードウェアも、瞬きしている間に新しいCPUが出てきて、あっという間に性能が2倍だ3倍だとうなぎのぼりだった。
完成品を買うと、技術革新についていくのがしんどい面もあって、自作PCがもてはやされたりもした。

さて、今はどうだろう。

何かしらの文章を書いて、ネットで発信するという行為は、昔と比べて格段に敷居の低いものになった。
今や外出先でも、スマートフォンからチョチョイのチョイで、写真や文章をSNSやブログサービスにアップ出来るし、皆もそれを見て「いいね!」したりするのが当たり前になっている。

ハードウェアにしても、パソコンはもちろん、スマートフォンにもびっくりするような性能向上がなくなってきて、買い替えサイクルが伸びてきているって話になっている。
昔、フルタワーのケースに詰め込んだ自作PCのような性能のものが、手のひらに乗る時代になり、その手のひらに乗るものがすでに頭打ちしかけている。

すごい時代になったもんだ。

で、このブログは、流石にHTMLを手書きすることはしていなくて、Movable Type という CMS を使って、文章の中身だけを打ち込むことで、周りのデザインやHTMLの構造や文法は CMS にお任せしている。
一時、Word Pressに浮気しかけたけど、やっぱり Movable Type が性に合うな。
もっと、個人ユーザーが増えて、おしゃれなテンプレートテーマが沢山あれば、いう事なしなんだけどね。

サイトのデザインを変更しました

再び、サイトのデザインを変更しました。
一周回って、@Style Bootstarp Theme for Movable Type 1.0 というテーマに戻ってきました。

やっぱり、シンプルで落ち着きますね。
あと、しばらく使っていたので、中身がある程度わかるというか、カスタマイズの真似事をする際に、あまり迷わなくていいので。

無駄に年月が長いので、月別アーカイブは折り畳みにしないとみにくいですね。

サイトのデザインを変更しました

再び、サイトのデザインを変更しました。
一周回って、@Style Bootstarp Theme for Movable Type 1.0 というテーマに戻ってきました。

やっぱり、シンプルで落ち着きますね。
あと、しばらく使っていたので、中身がある程度わかるというか、カスタマイズの真似事をする際に、あまり迷わなくていいので。

無駄に年月が長いので、月別アーカイブは折り畳みにしないとみにくいですね。

サイトのデザインを変更しました

再び、サイトのデザインを変更しました。
一周回って、@Style Bootstarp Theme for Movable Type 1.0 というテーマに戻ってきました。

やっぱり、シンプルで落ち着きますね。
あと、しばらく使っていたので、中身がある程度わかるというか、カスタマイズの真似事をする際に、あまり迷わなくていいので。

無駄に年月が長いので、月別アーカイブは折り畳みにしないとみにくいですね。

Movable Type 7の管理画面がスマートフォン対応

Movable Type 7になって、管理画面のスマートフォン対応がされなくなり、もうTumblrに軸足移しちゃうぞ! って書いた矢先、バージョンアップでスマートフォン対応されました(笑)
TumblrはTumblrで、iOSのアプリがイマイチだったりしてて、なんだか移した軸足に完全に体重を乗せられていない気持ちもあったので、とりあえず両足に均等に体重を乗せてみようか?って思うに至りました。はい。

Movable Type プラグインの相性問題

まぁ、しょうがないかなとは思うんですけどね。

ImageUploadUtility

画像をアップロードするときに、長編を1024pxにリサイズするために導入しているプラグイン。
公式サイト:ImageUploadUtility

UploadDir

画像をアップロードするときに、拡張子を見てアップロード先フォルダを自動設定するプラグイン。
公式サイト:エムロジック放課後プロジェクト

この2つはやることが一部競合するので

ようは、「写真をアップロードする」という1つのアクションで2つのプラグインが動くわけですよね。
しかも、ImageUploadUtility には、拡張子を小文字に変換する機能もある。
一方で、UploadDir は拡張子を見てアップロード先を判断しているんだから、喧嘩しても当然なんだけど。

悔しいのは、ImageUploadUtility を入れるまではキチンと動作していた UploadDir が、拡張子を変換する機能をオフにしても動作してくれないってこと。

つまり、両方のプラグインを合体したプラグインを作りなさい!っていう天の声なんだよね。
あるいは、探しなさい!っていう声か。

Zenbackの復活

私、試験前になると部屋の大掃除を始めたり、模様替えをしたりするタイプの人です。

暑さのせいなのかな?

前回のブログのデザイン変更の夏ですね。
今回も夏です。
暑さがそうさせるのか・・・

今回採用したのは

@Styleさんが以前販売されていて、販売を終了されてから無償で公開されている「@Style Bootstarp Theme for Movable Type 1.0」をちょこちょこっとイジって使っています。

その際、ソーシャルボタンやコメント欄を再び Zenback に任せることにしました。
広告はちょっとあれなんですけどね。

Movable Typeを6.3.2にしました

ちょっと遅くなりましたけど

新しい仕事環境が忙しくて、ブログとか書いている場合ではない(ってこともなかった)って感じで、書くとしてもiPhoneのアプリから書いていて気がつかなかったのですが、Movable Typeがバージョンアップしていました。
早速、ダウンロードして、FTPでサーバに転送しました。

そうそう、なんでアプリで書いていたか思い出したよ

そもそも、ブログ記事を書くにしても、なぜ管理画面ではなくアプリを使っていたか、思い出しました。

このブログ記事に書いているように、スマートフォンから管理画面を経由してブログを書くのがストレスだったからですね!

で、バージョンアップしたから治ったのかな?と思ったんですが・・・

治っていませんでした

待て!次バージョン!ってことですね。

Movable Type スマートフォンオプションの不具合

もう長いこと不具合あるままなんです

Movable Type 6.3にアップデートしたので、こんどこそ修正されているかなーと思ったけど、ダメでした。
こういう部分が修正されないから、ユーザーが増えないんじゃ?とは言わないけど、言わないけど…

スマートフォンから記事を書こうとすると

記事の作成画面の本文欄が、入力する度に広がっていくんです。
一文字削除をしても広がります。
消せば消すほど、広がります。
書けば書くほど、広がります。

で、これはiPhoneではSafariでもChromeでも起こります。
試しに、Mac miniのSafariでユーザエージェントをiPhoneにしても起こります。
Mac miniのChromeで表示モードをiPhoneにしたら起こります。

SmartPhone Optionプラグインを無効にしたら、起こりません。
有効であっても、iPhoneからPC表示を選んでやれば、起こりません。
AndroidのZenfone2で試したら起こりませんでした。
謎ですね。

どうも、キーが押されるイベントで、<textarea>のheightが増えていく感じなんですよね。

なぜ、私以外気が付かないか。
そんなにユーザ少ないんでしょうか?
それとも、ビジネスユーザが多いから、基本みなさんパソコンから書いているので気がつかない?
あるいは、スマホから記事を書く人もAndroidユーザがほとんどとか?

私は、個人無償ユーザなので、サポートを受けることは出来ないし、別に枠が広がるからって全く使えない訳ではないから、何文字か入力する毎に画面を動かせば良いだけなんですけどね。
(枠が広がるときに上に伸びていくので、入力した文章はどんどん上に消えていってしまう。そのうち入力している部分も上に消えていってしまうので、正しく漢字変換できているかも見えなくなってしまう。)

だれか、有償版使っている方、サポートに連絡して修正されるように促してもらえませんか?
まさか、今時Movable Type使ってるの、私だけってこと、無いよね?(笑)

悪いのはメール投稿なのか

メール投稿プラグインと内部構造のずれ

世の中の個人でブログを運営する人は、Wordpressを使っているんだろうな。
書店で解説本のコーナーを見ても、Movable Typeの本は殆どない。
今日たまたま立ち寄った書店でも、上から下までWordpressの本がぎっしりあって、Movable Typeの本はVer6のが1冊とVer5のが2冊だけだった。

ユーザーが少ないと、プラグインを作っていた人もテーマを作っていた人も離れていき、現在ではお寒い状況と言わざるを得ない。
バーチャル山中家で使っているメール投稿用のプラグインも、最終の更新から随分と日数が経っている。
なので、最新のMovable Typeと整合性が取れていないのも頷ける。

そうかと言って

しかし、私は元システムエンジニアだし、いくつかのコンピュータ言語も扱えるけど、残念ながらPerlがよく分かっていない。
多分、時間をかければわかるようになるんだと思うんだけど、どうも好きになれないんだよね。
(もちろん、個人の感想です)

なので、既存のプラグインのソースをあけて直すとか、自分でちゃんと書くとかが難しい。
プラグインとしてちゃんとするのって、結構大変だよね。

じゃあ、発想を変えて

で、今日の書店でちらっと見たMovable Type 6対応の本を見たときに思いついたのは、外部に「メールを受信して、data APIを使って記事を突っ込むプログラム」を作れば良いんじゃないかってこと。
例にはPHPで記事を書いたり更新したり削除したりってのが載っていたんだけど、基本的にはAPIさえ叩ければ言語はなんでも良いわけですよ。

で、その作成したプログラムをcronで定期的に動かせば、思っている事ができそう。
APIが変わらない限り、バージョンアップで内部構造が変わっても、影響を受けない(はず)。

頭は使わないと衰えるから

テンプレートタグを拡張するとか追加するようなものはプラグインでないと出来ないけれど、メールから記事を作成するのは、外部サービスになっていても良いはずだよね。
自分用に作るんだから、必要な機能だけを実装すれば良いんだし。

ちょっと、頭の訓練だと思って作ってみようかな。

Movable Type 6.3 を再セットアップ

メールでの投稿時に

メールでの投稿時に、cron さんからメールが来るようになりました。
どうも、色々なプラグインや extlib の下に色々突っ込んだせいのよう。

これまでのアップデートで

まあ、老舗の鰻屋のような、継ぎ足し継ぎ足しのアップデートをしてきたのは確かです。
おかげで、すでに使っていないプラグインや、それに必要だったモジュールなんかも、いい味出してた訳ですね。

なので、一度きれいにしようと思い立ち、現在のタレ…じゃないフォルダをリネームしておいて、クリーンインストールしてから必要なものを戻す形で断捨離しました。

カバーイメージをつけるとずれる

Bootstrap3を元にH.Fujimotoさんが作られたMovable Typeのテーマを、好きなようにいじって使っています。

カバーイメージをつけてみた

お家の壁っぽく、レンガのフリー素材画像を持ってきて、背景用にうっすらさせて設置してみました。
すると、とたんにナビ・バーの下に潜り込むようになりました。

これは、画像がない時には発生しなくて、画像があると発生します。

あと、当たり前ですけど、ナビ・バーをfixed-topじゃなくすると、発生しません。

どうして、画像がない時には潜り込まないのに、画像がつくと潜りこむのか・・・
謎です。

関連記事をアウトソースするメリット

これまでの「関連記事」は

(アメリカのドラマ冒頭風希望)

関連記事をアウトソースすると「関連しない記事が関連記事にでるやん」問題が発生する。
これは、ある程度はしょうがない話。
書いた本人ではなく、外部のプログラムに判定を任せているんだからね。

自分でタグを付けて、そのタグを使って関連記事かどうかを判断させるようにしたら、それはそれは関連記事の精度がみるみる向上した。
当たり前の話だよね。
「これはいいや!」って思っていた。

再構築にかかる時間

記事を1つ出力するために、同じタグを持っている記事を探して並べる。
この作業が増えたから、記事アーカイブの再構築に莫大な時間がかかるようになってしまった。
なんやかんやで、記事の総数が2000を超えてるからなぁ。

ちなみに、アウトソースしていた頃は全体を再構築しても数分から十数分だったのが、記事アーカイブだけで3時間を超えた(笑)

テンプレートのモジュール化とキャッシュ、SSIの調整をするのはもちろん、タグの付け方にも気をつけないと積もり積もったものは大きい。
ループの一番中に重たい処理を追加したわけだからね。

その記事に関連しそうな記事を表示する

とある記事にたどり着いた読者を、そのままお帰りいただくのはもったいないということから、その記事に関連している記事へのリンクを表示したりするのは、結構行われている。
で、今回のリニューアルにあたって、色々検索したり調べたりしているが、なかなかこれといった決め手にかけているのが現状。

そもそも

外部のサービスにまるなげしておいて、関連性が低いリンクばっかりでるぜ!って文句いうのもどうかと思うので、とりあえず長い目で見ようよって思っていたが、やはり無関係(というか一定の)ページへのリンクばかり出ている気がして・・・

試してみたもの、試そうとしたものは以下のとおり。

  • Zenback
  • LinkWithin
  • Milliard関連ページ
  • TagSupplementals

Zenback

Zenbackは、シンプルなうちのブログデザインに華やかさが追加される感じで、「そこは外部のサービスですよ感」も程よく出るので良いんだけど、お知らせ欄が消せない(まぁそこが収入源でしょうけど)のでしばらく使ってみてやめた。

LinkWithin

LinkWithinは、動作が軽快で設置も簡単なので、その点はすごく良いんだけど、いかんせん極東の零細な個人的ブログの記事一つ一つを吟味して関連性なんかを考えてはくれないようで、どの記事を見ても最近書いたエントリーが関連ありそうよ?って言うので、ちょっと困っている。

Milliard関連ページ

なんか良さそうな感じなんだけど、2015年1月頃から取り組んでいるMovableTypeへの対応は未だ出来ていないらしく、試すことが出来なかった。
Wordpressのプラグインは今年に入ってバージョンアップしたりしているので、やめちゃったわけではないと思う。
多分、MovableTypeについて対応してもメリットがないと判断したんだろうなぁ。

TagSupplementals

最後の頼みっていうか、やっぱり自分でちゃんと関連性を指定するのが本当なので、タグを使って指定することで関連コンテンツを判断してくれるプラグインを見つけた。
まだ、インストールしただけで、タグはうててないわ、テンプレートも修正出来てないわだけど、とりあえず記事を書いておく事にした模様。

(追記)

テンプレートモジュールを作成して、記事アーカイブにインクルードした。

<div class="related">
  <h4 id="related" class="related-header">関連記事</h4>
    <ul>
<mt:If tag="MTRelatedEntries">
  <MTRelatedEntries lastn="5">
      <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
  </MTRelatedEntries>
<mt:Else>
  <$mt:EntryID setvar="entryid"$>
  <$mt:SetVar name="count" value="0"$>
  <$mt:EntryCategory setvar="Samecat"$>
  <mt:Entries lastn="6" category="$Samecat" setvar="related_entries">
    <mt:If tag="EntryID" ne="$entryid">
      <mt:If name="count" lt="5">
      <li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li>
        <$mt:SetVar name="count" op="++"$>
      </mt:If>
    </mt:If>
  </mt:Entries>
  <mt:If name="count">
    <$mt:GetVar name="related_entries"$>
  </mt:If>
</mt:If>
  </ul>
</div>

スマートフォンで記事を書くには

スマートフォンでブログの記事を書く方法は、いくつかあります。

  1. スマホ用のアプリを使って記事を書く
  2. メール投稿プラグインをセットアップして、メール送信で書く
  3. ブラウザで管理画面から記事の新規作成を行う

スマホ用のアプリ

Movable Type は、残念ながら Wordpress ほどの利用者がいないです。
って言うか、ライセンスの関係で使えないケースもあるので、本当は使いたいけど仕方なく Wordpress って人も多いと思います。
なので、ブログを書くアプリで Movable Type にきちんと対応しているアプリは少ないです。
公式のアプリもありますが、使いやすいとは言えないかな?と思っています。

それに最近では、ブログを書くよりも手軽に SNS で情報発信する方が増えているので、ブログを書く人は本気で書いている人に絞られてきている気もします。
本気で書いている人は、スマホの小さい画面でちまちま書くよりも、タブレットやパソコンで書いているんじゃないかと思うんです。
なので、アプリがなかなか改良されていきません。

メール投稿

メール投稿は、出先から手軽に書くには最適です。
特に、文字だけの記事は、なんの問題もありません。

ところが、写真をいい感じに配置しようと思うと、メール投稿だけではうまく行きません。

  • 文章
  • 写真
  • 文章
  • 写真
  • 文章

みたいには出来ないんです。

管理画面から投稿

というわけで、仕方なく管理画面から投稿することになります。
幸い、現在の Movable Type では管理画面もスマートフォン対応されているので、小さい画面で苦労してって感じではありません。
ところが、私がメインで使っている iPhone では、記事本文を入力していると、どんどん記事本文を入力するテキストボックスが縦に伸びていくんです。
「何を言っているかわからない・・・」ですよね。

まあ、テキストボックスが伸びていっても入力が出来ないわけではないので、無視してつかっていました。

でも、やっぱり気になる。
そこで、「ははーん、これは Safari 特有の何かやな?」とひらめいたので、Chrome をダウンロードしてやってみると、なんと Chrome でも伸びていきます(笑)

そうなると「問題はスマホ側ではなく Movable Type 側じゃん!」って気がしたので、念のため Zenfone2 の Chrome で試してみたら伸びない・・・
ってことで、限りなく iPhone の有罪ってことになりました。

「ほな Zenfone2 で書けば?」って声が聞こえますど、写真は iPhone にあるんですよねー。
(Zenfone2 のカメラは iPhone 自身を撮影するとき位しか使わないなー)
だから、わざわざ Google Photo 経由で画像を送って・・・とかするつもりもないので、なんとか iPhone で気持よくかける方法を探そうと思います。

まずは、長いことつかっていなかったアプリを掘り出して、アップデートされているものの中から使えそうなものがないかチェックしてみます。

Movable Type 6.3

本日、バーチャル山中家のサーバに設置されている Movable Type を 6.3 にアップしました。
現在のところ、問題は発見されていません(笑)