かたつむりくんのWWW

「公開しない」テンプレートは非表示かグレーアウトに

テンプレートの退避保存について - MTQ | Movable Type ユーザーコミュニティ

例えば、「公開しない」のものだけ、display:noneなどで表示させない方法などでも良いのですが。

このような場合、MTAppjQuery がインストールされていれば、user.js に下記のようなコードを書けば簡単に実現できます。

if (mtappVars.template_filename === 'list_template') {
    // グレーアウトする場合(おすすめ)
    $('tr:contains("公開しない")').css('color','#ECEDED').find('a').css('color','#ECEDED');
    // 非表示にする場合
    $('tr:contains("公開しない")').hide();
}

どちらかというとグレーアウトがお勧めです。

以上です。

JavaScript の正規表現で img タグ以外のタグをタグを削除する

例えば、ページの HTML の中から img タグだけを取り出したいときは、

var body = document.body.innerHTML;
var images = body.match(/<img[^>]+>/gi);

と書いたり

var body = document.body.innerHTML;
var images = body.match(/<img.*?>/gi);

と書いたりすれば、変数 images に配列として格納されます。

ただし、これだとタグの中で改行されていた場合に対応出来ないので、それにも対応する場合は下記のようになります。

var body = document.body.innerHTML;
var images = body.match(/<img(.|\s)*?>/gi);

ついでに画像の URL だけの一覧を作りたいとすれば、

var body = document.body.innerHTML;
var images = body.match(/<img(.|\s)*?>/gi);
var imagesURL = [];
for (var i = 0, l = images.length; i < l; i++) {
    imagesURL.push(images[i].match(/src=["|'](.*?)["|']/)[1]);
}

といった感じになると思います。

ここまでは比較的シンプルですが、今日のテーマは img 要素以外のタグをすべて削除して、img 要素だけを残すにはどうしたらいいか、といった内容になります。

続きを読む

Movable Type の記事編集画面の本文と続きを分離する(リッチエディタ対応版)

昨日、「Movable Type の記事編集画面の本文と続きを分離する」という記事を書きましたが、今日はその分離した本文・続き欄をリッチエディタにしてみます。

事前に MTAppjQuery がインストールされているのは約束事ということで。

出来上がりは下図のような感じになります。

本文欄と概要欄を分離してリッチテキストエディタにしたイメージ図

さて、これを実現するには下記のコードを user.js に書けば OK です。昨日のコードに $.MTAppApplyMCE 以降を追記した形になります。

続きを読む

Movable Type の記事編集画面の本文と続きを分離する

タイトルそのままですが、MTAppjQuery を利用して Movable Type の記事編集画面の本文欄と続き欄を分離するカスタマイズを紹介します。

出来上がりは下図のような感じになります。

本文欄と概要欄を分離したイメージ図

さて、これを実現するには下記のコードを user.js に書けば OK です。

続きを読む

MTAppjQuery で Ajax などの処理が全部終わってから submit を走らせたいとき

MTAppjQuery で Movable Type の管理画面をカスタマイズしていると、例えば「記事を保存したときのタイミングで Ajax などの処理が全部終わってから submit を走らせたい」ということがたまにあります。

そういうときは、下記のように名前空間を使ってイベントをセットすると良いでしょう。

続きを読む

RebuildRelatedObjects v1.1.0 リリース - 複数のフィールドに対応

記事を保存したとき、その記事の特定のフィールドにセットされた ID の記事を自動で再構築する Movable Type プラグイン「RebuildRelatedObjects」の v1.1.0 を公開しました。

今回のリリースでは、記事/ウェブページにある複数のフィールドを RebuildRelatedObjects の対象フィールドに指定できるようになりました。

複数フィールドのイメージ図

プラグインの詳細は下記ページをご覧ください。

テンプレート一覧からテンプレート名、出力ファイル名(アーカイブパス)をカンマ区切りで抜き出す

Movable Type のテンプレートの一覧が欲しいと思う事ってありませんか?

僕もごくたまにあるんですけど、そういうときはテンプレート一覧画面からテキストエディタにコピペすることが多いと思います。でもそれって余計なテキストや改行が入ったりして、それを削除するのって結構面倒ですよね・・・

ということで、一発で一覧を抜き出す JavaScript コンソール用のスクリプトを書きました。テンプレート名などをコピペしてた方は、是非このコードをコピペして楽しましょう。

続きを読む

SpecificCategory v2.1.0 リリース - MTSpecificFolder タグを追加

特定のカテゴリのコンテキストをセットする MTSpecificCategory ブロックタグを提供する Movable Type のプラグイン「SpecificCategory」の v2.1.0 をリリースしました。

今回のリリースでは、特定のフォルダのコンテキストをセットする MTSpecificFolder タグを追加しました。

また、label モディファイアで、指定したいカテゴリ/フォルダが別の親カテゴリ/フォルダに含まれる同じ名前の子カテゴリ/フォルダなら、トップレベルのカテゴリ/フォルダから順に親カテゴリ/フォルダと一緒に指定できるようになりました。

<SpecificCategory label="プラグイン/MTAppjQuery/特徴">
 ...
</mt:SpecificCategory>
<SpecificCategory label="プラグイン/SpecificCategory/特徴">
 ...
</mt:SpecificCategory>

プラグインの詳細、ダウンロードは下記のページからお願いします。

【MT東京-09】MTDDC Meetup TOKYO 2014 again vol.1 とプラデミー賞の表彰式

昨日、GMO さんのとてもきれいなオフィスで開催された「【MT東京-09】MTDDC Meetup TOKYO 2014 again vol.1」で登壇させて頂きました。

続きを読む

MTAppjQuery v1.7.0 リリース - $.MTAppListing() を追加ほか

あけましておめでとうございます。

さて、MTAppjQuery v1.7.0 を公開しました。

今回のリリースでは、

  • MTAppListing を追加
  • MTAppJSONTable に複数のオプションを追加
  • MTAppFieldSort に2つのオプションを追加
  • MTAppDialogMsg に close オプションを追加
  • $.numberFormat() を追加

の他、いくつかの修正等があります。

続きを読む

今年一年、ありがとうございました。

今年もあれよあれよという間に大晦日になってしまいました。1年なんて本当にあっという間ですね。

今年は相棒のまーしーと皆様のおかげで bit part も2年目に突入することができました。

個人的には公私ともにバタバタした一年でしたが、最後に愛する MTAppjQuery プラグインがプラデミー賞の記念すべき第一回に選ばれ、とても気持ち良く年末を迎えることができました。

本当にありがとうございました。

来年は今まで以上に bit part としての活動に注力していけると思います。案件のお仕事も、MTAppjQuery の更なる進化も、その他の開発も頑張りますので、どうぞよろしくお願い致します!

AlfredMTRefSearch をアップデートしました

当ブログで公開している AlfredMTRefSearch をアップデートしました。

AlfredMTRefSearch は、Mac ユーザーに人気のランチャーアプリである Alfred から、Movable Type のタグリファレンスやグローバル・モディファイアリファレンス、環境変数リファレンスを一発で検索できる Alfred Workflow です。

今回のアップデートは、検索系の機能が 404 になってしまっていたので、それを修正しました。使い方等は変わっていません。

使い方やダウンロードは下記のページからお願いします。

AlfredMTRefSearch - Alfred Powerpack から一発で Movable Type のタグリファレンスなどを検索できる Workflow を作ってみた

対応が遅くなってすみませんでした。

Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014 で登壇させて頂きました!

この記事は Movable Type Advent Calendar 2014 の6日目の記事です。毎年恒例、自分の誕生日に記事を書くノルマを課して、1歳分大きくなろう企画です。

といって一週間前のイベントの記事かよって方、エビングハウスの忘却曲線によれば一週間後には77%を忘れるそうなので、それをフォローするための意図的なタイミングなのです(前置き長い&言い訳

さて、2014年11月29日(土)、関東圏の Movable Type ユーザーのコミュニティ・MT東京が主催するイベント「MTDDC Meetup TOKYO 2014」が開催されました。

今回の MTDDC はコミュニティ主催でしたが、スタッフを含め300人超が集まる大規模なイベントになりました。最近色々なところで「 MT が盛り返してきてる 」と聞いていましたが、それを改めて認識した一日でした。参加してくださった皆様、ありがとうございました!実行委員の皆様、登壇された皆様、お疲れさまでした!!

当日は、「セールス・プロデュース」「ディレクター」「デザイナー・フロントエンドエンジニア」「バックエンド・インフラエンジニア」という4つのトラックに分かれ、合計約30のセッションがありました。どれも魅力的で、どのセッションに行こうか悩んでしまいました。

当日のセッションで、資料などが公開OKのものは「タイムテーブル」のページで見ることができます。当日参加出来なかった方はどうぞ覗いてみて下さい。

続きを読む

MTDDC Meetup TOKYO 2014 で登壇します!

2014年11月29日(土)、関東圏の Movable Type ユーザーのコミュニティ・MT東京が主催するイベント「MTDDC Meetup TOKYO 2014」が開催されます。

MTDDC Meetup TOKYO 2014

Movable Type ユーザーはもちろんのこと、「MT?古いよね?」と思っているWeb制作者の方にも、今の MT、これからの MT を知っていただく良い機会になるのではないでしょうか!

さて、この中で、我々 bit part も登壇させていただくことになりました。

出演者紹介 | MTDDC Meetup TOKYO 2014

今考えているセッションのタイトルは「Movable Type Meetup JSON」です。

Movable Type 6 で Data API というのが追加され、MT の管理画面を通さず、また MT タグを書かなくても MT に格納されている情報を取得、更新などできるようになりました。また、MTに限らず、Web制作の現場では JSON を使うケースが増えてきていると思います。

そういったことから、僕らのセッションでは Data API を中心とした JSON を絡めた話が出来ればと思っています。

今回のイベントでは、下記の4つのトラックがあります。

  • セールス・プロデューストラック
  • ディレクタートラック
  • デザイナー・フロントエンドトラック
  • バックエンド・インフラエンジニアトラック

登壇者の方々もそうそうたる顔ぶれで、僕らも他の方のセッションを聞くのが楽しみでなりません。

お時間のある方はぜひ!

Movable Type の概要やテキスト(複数行)のカスタムフィールドをリッチテキストにする方法 - ドラッグ&ドロップやアセットの挿入にも対応

この記事で紹介している「$.MTAppApplyMCE();」は MTAppjQuery v1.8.0 より「$.MTAppApplyTinyMCE();」という名前で本体に取り込みました。

Movable Type の「概要」や「テキスト(複数行)カスタムフィールド」をリッチテキストにする方法を紹介します。

先日書いた「Movable Type の記事投稿画面にドラッグ&ドロップの並び変えに対応したリッチテキストエディタを追加してみる」の内容を少し成長させた感じです。

今回も「MTAppjQuery」がインストールされていることが前提となります。

まずは完成した動画をどうぞ。

続きを読む

MTAppjQuery v1.6.0 リリースと料金体系の変更のお知らせ - $.MTAppJSONTable() を追加ほか

MTAppjQuery v1.6.0 を公開しました。

今回のリリースでは、下記のような新機能の追加や修正があります。

新機能の追加

$(foo).MTAppJSONTable() を追加

fooに指定したtextareaを表形式の入力欄にし、表に入力された値をJSONで元のtextareaに保存します。保存されたJSONはjson_decodeモディファイアでデコードし、MT の配列やハッシュを使って取り出せます。

$("foo").MTAppJSONTable({
    inputType: 'textarea', // 'textarea' or 'input'
    caption: null, // String: Table caption
    header: null, // Object: Table header
    headerOrder: [], // Array: Order of table header
    headerPosition: 'top', // 'top' or 'left'
    footer: false, // If you use the table footer, set true.
    edit: true, // Disable table
    add: false, // true: A user can add rows or columns.
    clear: true, // false: Hide a delete button.
    debug: false // true: show the original textarea.
});

MTAppJSONTable

mtappVarsで取れる値を追加

  • mtappVars.modified_by で、記事やテンプレートを最後に編集したユーザー名を取得できるようにした(<mt:Var name="modified_by"> の値と同じ)
  • mtappVars.debug_mode で、環境変数の DebugMode を取得できるようにした( <mt:Var name="config.DebugMode"> の値と同じ)
  • mtappVars. language で、環境変数の DefaultLanguage を取得できるようにした( <mt:Var name="config.DefaultLanguage"> の値と同じ)

変更点

  • mtappVars.author_roles にセットされるロールを、表示中のウェブサイト/ブログに限定するように変更

修正点

  • プラグインの設定でuser.jsを無効にしてもmt-staticのuser.jsが読み込まれ続けるのを修正

続きを読む

公開された記事は編集出来ないようにする簡易ロック機能を Movable Type の記事投稿画面に導入してみる

今日の記事は、一般的な Web サイトの CMS として MT を使っている場合にはあまり需要はないかもしれませんが、もしも「一度公開したら編集されたら困るんです!」という要望があったときには役立つかも知れません。例えば MT で何かの経費を管理していて集計された後に修正されては困るとか。

できあがりは下図のようになります。

簡易ロックスクリーン

ロックスクリーンに使用している鍵アイコンは、「Movable Type の管理画面で Font Awesome を使おう」で取り入れた Font Awesome を使って表示させます。

続きを読む

Movable Type の管理画面のフィールド名の横にヘルプアイコンを入れてユーザーの手助けを

Movable Type でカスタムフィールドを作るときに「説明」欄にテキストを入れると、そのカスタムフィールドの下に、入力したテキストが表示されます。

説明欄のテキスト

でもこれ、ちょっとフィールド名から遠くないですか?

ということで、今回はフィールド名の横にヘルプマークのアイコンを置いて、それにマウスを乗せるとヘルプテキストが表示されるようにしてみたいと思います。

続きを読む

MTAppjQuery でのカスタマイズをウェブサイト内のブログにまとめて適用させる方法

MTAppjQueryの設定をWEBサイト内のBlogに一括で適用させる。 - 継続は力なり!なのか?」の記事にも書かれていますが、MTAppjQuery でウェブサイト内のブログに同じカスタマイズをまとめて適用したいという需要は結構ありますね。

この記事で紹介されている方法もその一つですが、他にもいくつか方法がありますので、それらの方法を紹介します。

続きを読む

Movable Type 6.0.4 リリース

Movable Type 6.0.4 がリリースされました。

今回のリリースでは、150件以上の修正や機能改善が含まれているそうです。

bit part も少しですが貢献できましたので、今後も Movable Type がより良い製品になるように関わっていければ良いと思います。