モノオキWiki - splitbody.inc.php/lsx.inc.php

文章を分割し、マルチカラムで表示するプラグイン(splitbody.inc.php)

http://pukiwiki.sonots.com/?Plugin%2Fsplitbody.inc.php
使い方:

#splitbody([オプション]){{
#split([オプション])
内容
#split([オプション])
内容
}}

#splitbody オプション
tag=div|table
 使用する HTML タグ。デフォルトは table 式。
border
 各分割領域の間に線を表示する
width=幅
 全体の幅. 100% や 800px のように指定。
style=CSSスタイル
 全分割領域に使用される追加CSSスタイル。
#split オプション
 width=幅
 続く領域の幅を 60% のように指定。デフォルトは等分割

ページをリストアップするプラグインの拡張(lsx.inc.php)

http://pukiwiki.sonots.com/?Plugin%2Flsx.inc.php
旧v1.0系統版rev310を導入している

Line25:
'hierarchy' => array('bool', true),
  ↓
'hierarchy' => array('bool', false),

Line282(なぜか反映しない):
... <div class="lsx"> ...
  ↓
... <div class="lsx" style="padding-left:16px;margin-left:16px;"> ...

使用方法

#lsx([オプション])
#lsx(接頭辞[,オプション])

prefix=接頭辞 or 接頭辞
 リストするページ名の接頭辞。 省略時は カレントページ+"/" が指定されたことになる。また / を指定した場合はすべてのページにマッチする。
 相対指定(例えば Plugin ページにおける ./lsx.inc.php/ == Plugin/lsx.inc.php/)も可能。
 備考:どのオプションにもマッチしない文字列が指定された場合、接頭辞と認識されます。明示的に指定したい場合は prefix=接頭辞 と指定してください。#ls2 互換用。
num=数字
 表示件数指定。正数は前からN件目、負数は後ろからN件目の意味。
 num=1:10 で先頭1件目から10件目まで。num=-10:-1 で後ろ10件目から後ろ1件目までの意味。
 num=2: で先頭2件目から最後まで。 num=5+2 で先頭5件目から、そこから2件先まで(5,6,7)の意味
depth=数字
 下位階層指定。depth=1 が直下、depth=2 がそのまた下のイメージ。
 数字の指定は num と同じ書式。
linkstr=relative | absolute | basename | title | headline
 リンク文字列を制御できます。
 relative - 相対パス的文字列表示(デフォルト)。
 absolute - 絶対パス的文字列表示(ls2の動作)。
 basename - ページ階層化機能でのベース名部分
          例:Note/Plugin/lsx.inc.php -> lsx.inc.php
 title - 各ページの TITLE: 行で指定された文字列。
 headline - 各ページの第一見出しで指定された文字列
 備考:title と headline は contentsx.inc.php を使用します。インストールしておいてください。

google_calc.js v0.07

夏ごろ気まぐれに復活した電卓で文字化け?があったので修正

  • Line73
if(stext.match(reg3)){ //タグ抜き各種
  tmp = stext.match(reg3)[1];
  tmp = tmp.replace(/<\/*span.*?>/g, '');
  tmp = tmp.replace(/<\/*h2.*?>/g, '');
  tmp = tmp.replace(/<font size=-2>\s<\/font>/g, '');
  tmp = tmp.replace(/<sup>(\d+)<\/sup>/, "^$1");	//階乗表現対策
  tmp = tmp.replace(/(\xA0|&nbsp\;|\n)/g, '');  //空白除去
  tmp = addFigure(tmp);
  tmp = tmp.replace(/&#215;\s/g, 'x');	//#215(×)
					
  send(channel , tmp );	//結果
}
  • Line96
function addFigure(str) {
  var num = new String(str).replace(/,/g, "");
  num = num.split(/[\s]/);  //数字と演算子を分ける
  for(i in num){
    while(num[i] != ( num[i] = num[i].replace(/^(-?\d+)(\d{3})/, "$1,$2") ));
  }
  num = num.join(" ");
  return num;
}

たぶん0.06で書き直した時に前のコードから持ってくるのを忘れてたみたい。

0.05から適当に引っ張ってきて終わり。

コミケメモ

17:56:16 (Ra_yuz) リピート 重要度高
17:56:39 (Ra_yuz) リピート 重要度低 / 委託有
17:57:01 (Ra_yuz) 前回チェック分→今回未定?
17:57:40 (Ra_yuz) 新規チェック分 重要度高
17:57:54 (Ra_yuz) 新規チェック分 重要度低
17:58:50 (Ra_yuz) 新刊なし
18:01:43 (Ra_yuz) フォローキャンセル?
18:19:43 (Ra_yuz) 新規・更新待ち

url2title.js v0.04 +yuz2016726

先日のツイッター対応?で画像/動画つきツイートが流れてきた時にAタグがそのままになってたので対応

Line 103
var t = decode_entities(stext.match(getTweet)[1]).replace(/\s+/g," ").substr(0,128);
var e = new RegExp("<a href.*");
send(ch , "Page Tweet: "+ t.replace(e,""));	//Tweet:〜

const/letとvarのスコープに関する覚書

function内において、varは継承(?)されるがconst/letは継承(?)されない。
関数呼び出しにおいてはどちらも継承(?)されない。

<script type="text/javascript">
(function func(){
  var _var = "  var_func";
  const _const = "  const_func";
  let _let = "  let_func";
  
  console.log(_var);     //->var_func
  console.log(_const);  //->const_func
  console.log(_let);     //->let_func
  console.log("  {");
  for(i=0;i<1;i++){
    //console.log(_var);   ->  var_func //func内のものが継承されている
    //console.log(_const); -> undefined //"for内の_const"にはまだ代入されていない
    //console.log(_let);   -> undefined //"for内の_let"にはまだ代入されていない
    
    var _var = "    var_for";
    const _const = "    const_for";
    let _let = "    let_for";
    
    console.log(_var);    //->var_for
    console.log(_const);  //->const_for
    console.log(_let);    //->let_for
  };
  console.log("  }");
  
  console.log(_var);    //->var_for //継承されfor内で書き換えられた
  console.log(_const);  //->const_func //継承されないのでfor内のものとは別
  console.log(_let);    //->let_func  //継承されないのでfor内のものとは別
  
  func2();

  //_const = "const_func_2"; ->Error  constは再代入不可
})();

function func2(){
  //console.log(_var); -> undefined
  //console.log(_const); -> undefined
  //console.log(_let); -> undefined
}
</script>

正規表現に関する覚書

(試したりしてないので間違ってるかも)
正規表現でマッチングすると検索開始位置が変わる。

indexプロパティは、正規表現に一致した最初の文字列の位置を返します。
lastIndexプロパティは、正規表現に一致した最後の文字列の次の位置を返します。
lastIndexプロパティの初期値は-1(文字列の先頭0から検索開始)です。

検索するたびに上記プロパティ(とReg.$1とか諸々)が設定しなおされる。