ブログのデザインをリニューアルしました

2015-07-24
9分で読了
更新: 2025-12-14

目次

少し記事を書くのが遅くなりましたが、ブログのデザインをリニューアルしました。mersy からこのブログについて「スマホで読みにくいの、3日間でなんとかならない?」的な指摘を受けたので(笑

前回のリニューアルの記事(ブログのデザインをリニューアルしました)の日付が2011年11月12日だったので、約3年8ヶ月ぶりのリニューアルとなります。

レスポンシブデザイン

これまでは、当時の PowerCMS のデフォルトテンプレートをベースに DynamicMTML を使ってユーザーエージェントごとに振り分けていましたが、今回は、デザインは前回のものを踏襲しつつ、Bootstrap をベースにしてレスポンシブデザインにしました。

テンプレートの構造

テンプレートの構造としては、最近の僕の中の流行りというかベストプラクティスというか、設定用の変数をまとめた config モジュールを使ったり、モジュールをまとめたフレームワーク的なモジュールを使ったり、といった構造になっています。

例えば、ブログ記事のテンプレートはこんな感じです。


==================================================
Template Name : entry_archive
Template Type : entry_archive / blog
Current Site : Web屋かたつむりくん > かたつむりくんのWWW
Required Vars : 
Template Note : 
==================================================





==================================================
 SimilarEntries [start]
=================================================

関連記事 - SimilarEntries プラグインで表示

function(i, text, odd, even){ return '
  • SimilarEntries [ end ] ================================================== ZenBack [start] =================================================
    (略)
    ZenBack [ end ]
  • この中の最後でインクルードしている fw-default モジュールは下記のような感じ。

    ==================================================
    Template Name : fw-default
    Template Type : module / blog
    Current Site : Web屋かたつむりくん > かたつむりくんのWWW
    Required Vars : blog_main
    Template Note : 構造は index.html と同じ。このテンプレートの構造を変更
     した場合は「index.html」の構造も合わせて変更すること。
    ==================================================
    
    
    
    
    
    

    使い回す変数は JSON で管理

    ちょっと実験的な試みではありますが、使い回す情報をまとめた config モジュールには、JSONを書いて、それをデコードして使ったりしています。

    ==================================================
    Template Name : mdl-config
    Template Type : module / blog
    Current Site : Web屋かたつむりくん > かたつむりくんのWWW
    Required Vars :
    Template Note :
    ==================================================
    
    ==================================================
     Default Settings [start]
    =================================================
    
    
    
    
    
    
    
    {
     "meta_title": "",
     "meta": {
     "keywords": "",
     "description": "",
     "viewport": "width=device-width, initial-scale=1.0"
     },
     "meta_og": {
     "title": "",
     "url": "",
     "description": "",
     "image": "assets/img/profile/w3w_og.png",
     "type": "blog"
     },
     "meta_fb": {
     "app_id": "",
     "admins": ""
     },
     "meta_twitter": {
     "card": "summary",
     "site": "@tinybeans",
     "creator": "@tinybeans"
     },
     "body_class": "blog",
     "css": {
     "0100": "assets/fancybox/jquery.fancybox.css?v=2.1.5",
     "0200": "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css",
     
     "0*00": "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css",
     "0*00": "https://maxcdn.bootstrapcdn.com/bootswatch/3.3.5/simplex/bootstrap.min.css",
     
     "0300": "https://maxcdn.bootstrapcdn.com/bootswatch/3.3.5/yeti/bootstrap.min.css",
     "0400": "assets/css/main.css?v="
     },
     "js_header": {},
     "js_footer": {
     "0100": "https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js",
     "0200": "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js",
     "0300": "assets/fancybox/jquery.fancybox.pack.js?v=2.1.5",
     "0400": "assets/js/main.js?v=",
     "0500": "https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?lang=css&skin=sunburst"
     }
    }
    
    
    
    
    
    
    
    
    
    
     Default Settings [ end ] 
    

    MTSetVar でハッシュや配列にすればいい話ですが、なんとなくこの方が見やすいかな、と思いました。

    この段階では JSON を一旦デコードしてハッシュなどにしていますが、このリニューアル後に MTGetJSONValue というタグで、

    
    

    のようにドットシンタックスで直接 JSON の値をとれるプラグインを作った(MTAppjQuery に入れると思います)ので、その辺を使ってもっとシンプルに書きなおしていこうと思います。

    MTAppJSONTable を活用

    また、ブログ設定ページに、テキスト(複数行)カスタムフィールドを作り、そこに MTAppjQuery の機能の一つである MTAppJSONTable を使っていくつかの情報を書いたりもしています。ここは必要に応じて増やしていく予定です。

    ブログ設定画面のカスタムフィールド

    詳細は後ほど

    まだテンプレートの完成度は粗い感じなので(検索もないし・・・)、flexibleSearch.js を導入したりして、今後徐々に仕上げていこうと思います・・・

    また、ここではざっと説明しただけですが、Movable Type のテンプレートを書く際の参考になるかもしれませんので、後日、もう少し詳しいことを書いていこうかなと思います。

    この記事をシェア

    関連記事