プラグインの作者情報を参照する

ツクる上でのちょっとした小ネタや裏ワザなどを紹介してみましょう。
アバター
yamachan
記事: 107
登録日時: 2016年6月19日(日) 22:34

プラグインの作者情報を参照する

投稿記事by yamachan » 2016年6月22日(水) 02:44

読み込まれたプラグインの情報は $plugins 変数で参照できます。

これを利用してエンドロールに表示する作者の方々へのお礼のリストを自動作成してみよう!と思ったら…
@author 情報は plugins.js に出力されていないのです!
@description はあるのに何故だろう…

というわけで、author 情報を補完する関数を書いてみました。
実用性は低いので、こんなこともできるかも、というネタ程度にとらえてください。

まずは古典的な JS でファイルを読む関数です。
手を抜いて同期読み込みにしてるせいか、コンソールに警告が出ちゃいますが…

コード: 全て選択

function getFileText(src){
   var req = new XMLHttpRequest();
   req.open("GET", src, false);
   req.send(null);
   return req.responseText;
};


で、これを使った author 情報の補完関数が以下です。

コード: 全て選択

function pluginAuthors(plugins) {
  plugins = plugins ? plugins : $plugins;
  plugins.forEach(function(plugin) {
    if (!plugin.author) {
      var txt = getFileText(PluginManager._path + plugin.name + '.js');
      var ret = txt.match(/@author ([^\f\n\r]+)/);
      if (ret && ret[1] != "") {
        plugin.author = ret[1];
      }
    }
  });
};


実行結果のコンソールはこんな感じ

画像

技術メモは以下にありますので、もし興味があればドーゾ
https://github.com/yamachan/jgss-hack/blob/master/memo/201606-plugin.md

ではでは。

Toshio Yamashita (yamachan)
Plugin https://github.com/yamachan/jgss-hack/blob/master/README.ja.md
Twitter https://twitter.com/yamachan360

私が作成して本サイトに投稿したコードは著作権を放棄し、利用・改変・配布など全て自由です。
ただし同じ投降内に制限を明記している場合はそちらが優先します。

“MV:小ネタ・TIPS・講座” へ戻る