NibbleblogというPHPで動作するフラットファイルCMSであっても、ここ海外無料サーバーで応答速度が遅くなり始めてきているので、.htaccessを弄った

| Nibbleblog

画像等のキャッシュで速度を稼ぐ

この投稿で十数ページ目になるのだが、このNibbleblogというPHPで動作するフラットファイルCMSであっても、ここ海外無料サーバーで応答速度のパフォーマンスが低下してきている。しかし、かつてここでフラットファイルDBで利用していたBlognPlus(PHP5で動作)というCMSのときもそうだったので、驚きはない。しかしページ遷移くらい何とかしようと、以下のとおり.htaccessを弄り、クライアントのウェブブラウザ―に画像、CSS、JavaScript等のファイルをキャッシュさせることにした。

オープンソースでかつクロスプラットフォームで動作するソースコードエディターのAtom、Brackets、Visual Studio Codeは大袈裟なのでGeanyを常用している

| ソフトウェア

Geany

Geanyを選択した理由

最近はオープンソースなソースコードエディターと言えばAtomBracketsVisual Studio Codeあたりが話題になっている(うちAtom及びVisual Studio Codeはヘビー級なElectronというライブラリーがベース)。しかし、Windows又はLinuxでこのNibbleblog等のコードを弄るくらいなので、これらはいかにも大袈裟。したがって、Geanyというクロスプラットフォームで動作する軽量なソースコードエディターを常用している。

ここ海外無料サーバーではFTP接続が不安定だったり、遅かったりすることがままあり、最終的に選択したFTPクライアントがFilezilla

| インターネット

Filezillaの特徴

ここ海外無料サーバーで最も悩ませられるのが速度、そして次は安定性。FTP接続が遅かったり、不安定だったりすることがままある。だからしっかりとしたFTPクライアントを利用しなければならない。そんな中、最終的に選択したのがFilezillaで、その理由は以下のとおり。

  1. Windows及びLinux、つまりクロスプラットフォームに対応
  2. オープンソース
  3. FTPS及びSFTPによるセキュアな転送に対応
  4. GUI
  5. 貧弱な海外無料サーバーであっても、がんばって接続してくれる
  6. ローカル及びリモートを表示する2ペイン構造で、かつ、ディレクトリツリーを表示
  7. アップロード及びダウンロードがキュー形式
  8. ユーザー数が多く、開発の継続の期待値が高い

このNibbleblogはデフォでmeta要素のviewportを生成しないので、デフォで生成するようにしてみた

| Nibbleblog

モバイルフレンドリーに必須なviewport

このNibbleblogはデフォでmeta要素のviewportを生成しない。一部の初期テーマは生成するようだが、現在利用しているGoogleSimpleという初期テーマは生成しない。しかしviewportはSEO的に重要らしい。そこでスクリプトを以下のとおり修正し、デフォで生成するようにしてみた。

このNibbleblogのOpen Graphプラグインのog:imageとTwitter Cardプラグインのtwitter:imageのURLがおかしいので修正した

| Nibbleblog

プラグインのダブルスラッシュ問題

このNibbleblogにはプラグイン機能があり、このうちFacebookOpen Graphプラグインのog:imageと、Twitter Cardプラグインのtwitter:imageのURLがhttp://www.example.com//themes/テーマ名/css/img/image.pngとダブルスラッシュ(//)が入っておかしなことになっていた。そこで、以下の2つのスクリプトを次のとおり修正した。

  • /plugins/open_graph/plugin.bit(Open Graphプラグイン)
  • /plugins/twitter_cards/plugin.bit(Twitter Cardプラグイン)

Nibbleblogの動画投稿機能を使わずとも、今回のようにTinyMCEのMediaプラグインを利用してYouTubeの動画を貼ることもできる

| Nibbleblog

普通の記事にYouTube動画を貼付

このNibbleblogは、前回利用した固有の動画投稿機能を使わずとも、今回のようにTinyMCEというJavaScript製WYSIWYGエディターのMediaプラグインを利用してYouTubeの動画(今回も前回同様、岡村靖幸『ラブメッセージ』PV)を貼ることができる。パッと見での2つの大きな違いは、文章を添えることができるかどうか。でもそれだけではない。

このNibbleblogの動画の投稿機能を、YouTubeにある岡村靖幸『ラブメッセージ』PVでテストしてみた

| 動画

軽量そうに思われたデスクトップ環境を選択したDebian 8.2 Jessieが、実際にどれくらいメモリを食っているのかを調べてみた

| コンピューター

軽量なデスクトップ環境を選びたい

個人的には何にしても軽量なものが好きだ。だからWindowsはあまり好きではない。さて、Debian 7 Wheezy i386で使用しているとても古い自作デスクトップPC(CPUはPentium M 750 Dothan)へDebian 8 Jessie i386をネットインストールしようとしているが、Jessieではインストーラでデスクトップ環境(DE)を多数から選択できる。そこで、このうち軽量そうに思われたDEについて、クリーンインストール・初回起動・ログインから各DEのデフォのターミナルエミュレータを開き、約3分放置後にfreeコマンドを叩いた際、実際にOS全体でどれくらいメモリを食っているのかを調べてみた。

メモリ使用量選手権 on Jessie
順位 デスクトップ環境 メモリ使用量
1 Cinnamon 700MB台
2 MATE 500MB台
3 Xfce 400MB台
4 LXDE 300MB台

Nibbleblogのテーマに、記事のカテゴリー・タグ・TwitterへのTweet・Facebookシェアのリンクや要約がなかったので追加した

| Nibbleblog

普通のCMSに近づきたい

現在このNibbleblogの初期テーマの一つであるGoogleSimpleを使用しているが、記事にカテゴリー・タグ・TwitterへのTweet・Facebookシェアのリンクや要約がなかったので、以下の2つのスクリプトを次のとおり弄って追加した。

  • /themes/google_simple/views/blog/includes/post.bit(記事一覧表示用スクリプト)
  • /themes/google_simple/views/post/includes/post.bit(個別記事表示用スクリプト)

このNibbleblogの投稿画面にはTinyMCEというJavaScript製WYSIWYGエディターが利用されており、これを弄ることにした

| Nibbleblog

TinyMCEの設定を変更

このNibbleblogの投稿画面にはTinyMCEというJavaScript製WYSIWYGエディターが利用されているが、br要素など空要素のタグの使われ方が気に入らなかったのでNibbleblogを弄ることにした。以下の2つのスクリプトを次のとおり修正。

  • /admin/views/page/includes/content.bit(ページ投稿画面用スクリプト)
  • /admin/views/post/includes/content.bit(記事投稿画面用スクリプト)

新しい記事 → Home ← 古い記事