# nlフィルタ定義(文字コード判定用なのでこの行は削除しないこと)
# 動画のマイリスト数に数に応じたグラフをつける。
# (2017-06-04)


[Replace]
Name = mylistCountBar : マイリスト数強調表示CSS (2014-01-09)
#URL = (?:(?:www|nine|tw|es|de)\.nicovideo\.jp/(?:search[^/]*?|tag[^/]*?|newarrival|recent|hotlist|.*?top(?:/|$)|\?g=|$)|ext\.nicovideo\.jp/thumb)
URL = (?:www\.nicovideo\.jp/(?:search/|tag/|newarrival|recent|hotlist|video_top(?:/|$)|category_recent)|ext\.nicovideo\.jp/thumb)
Multi = FALSE
EachLine = FALSE
Match<
(?=</(?i:head)>)
>
Replace<
<link rel="stylesheet" href="/local/mylistCountBar/mylistCountBar.css"><CRLF>
>


[Replace]
Name = mylistCountBar : マイリスト数強調表示JavaScript (2014-01-09)
URL = (?:www\.nicovideo\.jp/(?:search/|tag/|newarrival|recent|hotlist|video_top(?:/|$)|category_recent)|ext\.nicovideo\.jp/thumb)
Require = <link rel="stylesheet" href="/local/mylistCountBar/mylistCountBar\.css">
Multi = FALSE
EachLine = FALSE
Match<
(?=</(?i:body)>)
>
Replace<
<script charset="utf-8" src="/local/mylistCountBar/mylistCountBar.js"></script><CRLF>
>


# このフィルタを有効にする場合は、「グラフの前後関係指定CSS２」を無効にする！
# 配布時は、このフィルタが無効になっています。
#[Replace]
Name = mylistCountBar : グラフの前後関係指定CSS (2014-01-09)
URL = (?:www\.nicovideo\.jp/(?:search/|tag/|newarrival|recent|hotlist|video_top(?:/|$)|category_recent)|ext\.nicovideo\.jp/thumb)
Require = <link rel="stylesheet" href="/local/mylistCountBar/mylistCountBar\.css">
Multi = FALSE
EachLine = FALSE
Match<
(?=</(?i:head)>)
>
Replace<
<link rel="stylesheet" href="/local/mylistCountBar/z_index.css"><CRLF>
>


# このフィルタを有効にする場合は、「グラフの前後関係指定CSS」を無効にする！
# 配布時は、このフィルタが有効になっています。
[Replace]
Name = mylistCountBar : グラフの前後関係指定CSS２ (2014-01-09)
URL = (?:www\.nicovideo\.jp/(?:search/|tag/|newarrival|recent|hotlist|video_top(?:/|$)|category_recent)|ext\.nicovideo\.jp/thumb)
Require = <link rel="stylesheet" href="/local/mylistCountBar/mylistCountBar\.css">
Multi = FALSE
EachLine = FALSE
Match<
(?=</(?i:head)>)
>
Replace<
<link rel="stylesheet" href="/local/mylistCountBar/z_index2.css"><CRLF>
>


[Replace]
Name = mylistCountBar : マイリスト数強調表示CSS（マイリスト） (2014-01-09)
URL = www\.nicovideo\.jp/(?:mylist/|my/mylist)
Multi = FALSE
EachLine = FALSE
Match<
(?=</(?i:head)>)
>
Replace<
<link rel="stylesheet" href="/local/mylistCountBar/mylistCountBar.css"><CRLF>
>


[Replace]
Name = mylistCountBar : マイリスト数強調表示JavaScript（マイリストJarty） (2017-06-04)
URL = www\.nicovideo\.jp/(?:mylist/|my/mylist)
Multi = FALSE
EachLine = FALSE
Match<
(<script[^>]+?src="http://.*?(?:cdn\.nimg\.jp/(?:uni|web)|res\.nimg\.jp)/js/mylist[^"]+"[^>]*></script>)(?s)(.*?)(?-s)(?=</(?i:body)>)
>
Replace<
$1
<script charset="utf-8" src="/local/mylistCountBar/mylist_jarty.js"></script>
$2
<script type="text/javascript"><!--
//  var nl_mylistCountBar_rc =
  nl_mylistCountBar_jarty();

//alert('nl_mylistCountBar() のリターンコード: ' + nl_mylistCountBar_rc);
--></script>
>


[Replace]
Name = mylistCountBar : マイリスト数強調表示CSS（オススメ） (2014-01-09)
URL = www\.nicovideo\.jp/recommendations
Multi = FALSE
EachLine = FALSE
Match<
(?=</(?i:head)>)
>
Replace<
<link rel="stylesheet" href="/local/mylistCountBar/mylistCountBar.css"><CRLF>
>


[Replace]
Name = mylistCountBar : マイリスト数強調表示JavaScript（オススメJarty） (2014-01-09)
URL = www\.nicovideo\.jp/recommendations
Require = <link rel="stylesheet" href="/local/mylistCountBar/mylistCountBar\.css">
Multi = FALSE
EachLine = FALSE
Match<
(<script[^>]+?src="http://.*?res\.nimg\.jp/js/recommendations\.js\?\d+"[^>]*?></script>)(?s)(.*?)(?-s)(?=</(?i:body)>)
>
Replace<
$1
<script charset="utf-8" src="/local/mylistCountBar/recommendations_jarty.js"></script>
$2
<script type="text/javascript"><!--
//  var nl_mylistCountBar_rc =
  nl_mylistCountBar_jarty();

//alert('nl_mylistCountBar() のリターンコード: ' + nl_mylistCountBar_rc);
--></script>
>


[Replace]
Name = mylistCountBar : マイリスト数強調表示JavaScript（オススメJarty cdn） (2017-06-04)
URL = www\.nicovideo\.jp/recommendations
Require = <link rel="stylesheet" href="/local/mylistCountBar/mylistCountBar\.css">
Multi = FALSE
EachLine = FALSE
Match<
(<script[^>]+?src="http://.*?cdn\.nimg\.jp/web/js/recommendations\.js\?\d+"[^>]*?></script>)(?s)(.*?)(?-s)(?=</(?i:body)>)
>
Replace<
$1
<script charset="utf-8" src="/local/mylistCountBar/recommendations_jarty_cdn.js"></script>
$2
<script type="text/javascript"><!--
//  var nl_mylistCountBar_rc =
  nl_mylistCountBar_jarty();

//alert('nl_mylistCountBar() のリターンコード: ' + nl_mylistCountBar_rc);
--></script>
>


[Replace]
Name = mylistCountBar : 動画リストの高さを拡大１ (2011-12-14)
URL = www\.nicovideo\.jp/video_top/$
Match<
(\.category_movie_list\s*li\s*\{(?s:.*?))height:\s16\.3em;
>
Replace<
$1height: 17.3em;
>


[Replace]
Name = mylistCountBar : 動画リストの高さを拡大２ (2011-12-14)
URL = www\.nicovideo\.jp/video_top/$
Require = !\.category_movie_list\s*li\s*\{(?s:.*?)height:
Match<
</(?i:body)>|\Z
>
Replace<
<style><!--
.category_movie_list li
{
 height: 16.3em;
}
--></style>
$0
>


# マイリスト棒グラフの表示スクリプトを実行
# nl_mylistCountBar(mode, count_off, caption_off, denominator_mode, graph_mode);
[Replace]
Name = mylistCountBar : マイリスト棒グラフの表示スクリプトを実行 (2014-01-09)
URL = (?:www\.nicovideo\.jp/(?:search/|tag/|newarrival|recent|hotlist|video_top(?:/|$)|category_recent)|ext\.nicovideo\.jp/thumb)
Require = <script charset="utf-8" src="/local/mylistCountBar/mylistCountBar\.js"></script>
Multi = FALSE
EachLine = FALSE
Match<
(?=</(?i:body)>|\Z)
>
Replace<
<script type="text/javascript">
<!--
(function() {
  if (typeof(nl_mylistCountBar) == 'function') {
    switch (jQuery.cookie('col') - 0) {
// １列表示時（col = 1）の動作。
      case 1:
//      var nl_mylistCountBar_rc =
        nl_mylistCountBar();
      break;

// ２列表示時（col = 2）の動作。
      case 2:
//      var nl_mylistCountBar_rc =
        nl_mylistCountBar();
      break;

// ４列表示時（col = 4）の動作。
      case 4:
//      var nl_mylistCountBar_rc =
        nl_mylistCountBar();
      break;

// 上記以外の時の動作。
      default:
//      var nl_mylistCountBar_rc =
        nl_mylistCountBar();
      break;
    }

//  alert('nl_mylistCountBar() のリターンコード: ' + nl_mylistCountBar_rc);

/*
  autopager関連処理の指定。
*/
//    nl_mylistCountBar_autopager();

  } else {
    setTimeout(arguments.callee, 500);
  }
}).call();
// -->
</script>
>


# 「新しくコメントされた動画がxx件あります。」HTML用 (2015-12-01)
[Replace]
Name = mylistCountBar : マイリスト棒グラフの表示スクリプトを実行（new_list:HTML）
URL = www\.nicovideo\.jp/(?:video_top(?:/|$)|category_recent)
Require = <link rel="stylesheet" href="/local/mylistCountBar/mylistCountBar\.css">
Multi = FALSE
EachLine = TRUE
Match<
(\s*)<p\s+class="itemTime">%uploaded%</p>
(data-id="%id%"[^>]*?>\s*<a[^>]+?)(?!target="_blank"\s*)(?=class=[^>]+?data-link)
>
Replace<
$1%mylistCountBar%$0
$1target="_blank" 
>


# 「新しくコメントされた動画がxx件あります。」JavaScript用 (2017-06-04)
[Replace]
Name = mylistCountBar : マイリスト棒グラフの表示スクリプトを実行（new_list:JS）
URL = (?:nicovideo\.cdn\.nimg\.jp/web|res\.nimg\.jp)/scripts/pages/index\.js(?:\?\d+)?
Multi = FALSE
EachLine = FALSE
Debug = TRUE
Match<
'data-video-item data-enable-uad="1"'\)
>
Replace<
$0.replace(RegExp("%mylistCountBar%","g"),nl_mylistCountBar_new_list(b.view_counter,b.num_res,b.mylist_counter))
>


[Replace]
Name = mylistCountBar : マイリスト棒グラフの表示スクリプトを実行（動画情報） (2014-01-09)
URL = ext\.nicovideo\.jp/thumb
Require = <script charset="utf-8" src="/local/mylistCountBar/mylistCountBar\.js"></script>
Multi = FALSE
EachLine = FALSE
Match<
(?=</(?i:body)>)
>
Replace<
<script type="text/javascript"><!--
(function() {
  if (typeof(nl_mylistCountBar) == 'function') {
//    var nl_mylistCountBar_rc =
    nl_mylistCountBar();

//    alert('nl_mylistCountBar() のリターンコード: ' + nl_mylistCountBar_rc);

  } else {
    setTimeout(arguments.callee, 500);
  }
}).call();
// -->
</script>
>


# マイリスト棒グラフの表示スクリプトを「autopager_3col.js」に埋め込む (2014-01-09)
[Replace]
Name = mylistCountBar : マイリスト棒グラフの表示スクリプトを実行（autopager_3col.js）
URL = www\.nicovideo\.jp/local/autopager_3col\.js
Multi = FALSE
EachLine = FALSE
Match<
(?:success: function\(html\) \{)
>
Replace<
$0
// ########
// embedded by "mylistCountBar.txt"
var dmy_html = document.createElement('pre');
dmy_html.innerHTML = html;
try {
  nl_mylistCountBar(false, false, false, false, false, true, dmy_html);
  html = dmy_html.innerHTML;
} finally {
  dmy_html = null;
}
// ########
>


# フィルタの情報を挿入
[Replace]
Name = mylistCountBar : nl_infoに挿入する情報 (2014-01-10)
URL = (?:www|nine|tw|es|de)\.nicovideo\.jp/local/nl_info/index\.html
Multi = FALSE
EachLine = FALSE
Match<
<!-- FM -->
>
Replace<
      <article id="mylistCountBar">
       <div class="nl_info_body">
        <table>
         <caption>mylistCountBar</caption>
         <tr>
          <th>概要</th>
          <td>動画のマイリスト数に数に応じたグラフをつけるフィルタ。</td>
         </tr>
         <tr>
          <th>現バージョン</th>
          <td>mylistCountBar改R24など.7z</td>
         </tr>
         <tr>
          <th>更新日</th>
          <td>2017-06-04</td>
         </tr>
         <tr>
          <th>前バージョン</th>
          <td>mylistCountBar改R23.zip</td>
         </tr>
         <tr>
          <th>詳細情報</th>
          <td>
           <p>グラフが背景の裏に隠れる（表示が見えない）場合は、「グラフの前後関係指定CSS」を無効にし、「グラフの前後関係指定CSS２」を有効にしてください。</p>
           <p>「グラフの前後関係指定CSS」が有効な場合は、グラフを後ろ側に下げます。</p>
           <p>「グラフの前後関係指定CSS２」が有効な場合は、「カテゴリのメニュー」と「宣伝のポップアップ」を前側に出します。</p>
          </td>
         </tr>
        </table>
       </div>
      </article>
$0
>
