RELEASE CANDIDATE 2
is loading

Requires Javascript.
RELEASE CANDIDATE 2 - a reusable non-linear personal web notebook
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected{color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity=60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0px; top:0px;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

.fieldsetFix {border:0; padding:0; margin:1px 0px;}

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])

<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]

----
Also see [[AdvancedOptions]]
<<importTiddlers>>
|URL|http://180.style.coocan.jp/wiki/|
あの NASA の重要秘密を知っていたため、宇宙人にさらわれた松本さん、その時の状況を教えてください。

!UFO との遭遇
*何て言っていいか分からないものが飛んできた。簡単に言えば円盤。
*ハマキ型、灰皿型、どれともないもの。まあハマキ型。
*はじめにオッサンが連れ去られるところを目撃。どうやら松本と間違えたらしい。

!UFO の中の状況
*ワンルーム、フローリング
*47、8 人は居たので、ぎゅうぎゅう詰め。
*お偉いさんが出てきて、この事(狭くてぎゅうぎゅうなこと)を他言しないよう口止めされた。
松本さんは 1 年前、メガネ不足を予言しましたが、結果はどうでしたか? また、今年は何が起こるんですか?

!落とし穴ブーム
*1 月下旬頃にやってくる。
*道に、パイナップルやバナナが置いてあっても近づかないこと。
*妙に葉っぱが多いところにも近づかないこと。

!珍獣「火だるま犬」
*人間にとって一番の敵と言われている。
*なついてくるのがコワイ。

!めちゃめちゃでかい惑星
*地球にめちゃめちゃでかい惑星が、地球に横付けしてくる。
*ウィイーン(窓が開いて)、オーストラリア辺りをガンガンガン!!
冒険家で有名な松本さんに質問です。まだ、誰も登ったことのない山に行く時に絶対に持って行かなくてはいけないものはなんですか?

!登山用品
!!ジョッパー(赤、青)
*岩に「ガッ」と引っかけるやつ。
*赤ジョッパーと青ジョッパーがある。青は硬く、赤は軟らかい。
*ジョッパーは、「赤、赤、青」の順で。体が回転して来たら「青、青、赤」で。
!!スタッカー
*命綱のようなもの。エンテランスに取り付ける。
!!エンテランス
*スタッカーを取り付ける金具。
!!ブリッコ
*山から落ちた時に危ないので肩にのせる物。
*厚みのある物の方が良い。スポンジみたいだがプラスチックである。
!!ブロークンサンダー
*登る時に 5m 間隔で置いていく物。
*1 ケース 5、6 万円する。
*割れやすいので「松屋」の物が良い。買う時にはまず光に照らしてみる。
!!キャサリン
*通は「おだんご」と呼ぶが形は四角である。
*似合うかどうか店員に確認する。
!!ブランチャー
*翼。高価なものなのでレンタルする。
!!山下駄
*登山シューズ。
!!その他
*雪山の場合はカールも必要。
*ナップザックに入れた時におやついっぱい持っているような気になる。(隆博談)

!登山用品を買いに行く
*登山家は素人を馬鹿にする傾向があるから注意。
*以下のように訪ねれば、店長を呼んでくれる。相手は恐縮してしまう。{{m{
>「立山行きたいんやけど、この時期やっぱり立山よにゃ」
>「あのー、駅前から登るんやけどぉ」
>「今日はお宅で一通り揃えたいと思ってるんやけどぉ」
}}}
*15 秒おき位に以下のフレーズを。{{m{
>「山はいいよにゃ~」
}}}
質問です。「T.M.Revolution」のマネージャーになるには、どうすればよいのですか?

!一番良い方法
*本人の真似をして、待ち伏せが一番良い。
*裸の上にジャケット。
*長めのマフラー。
*風を浴びる。

!注意事項
*コッポレを買いに行かされたりするので注意。{{m{
>「もっと高いコッポレないんかい! もっと高いコッポレないんかい!」
}}}

!人気の秘密は何なのか?
*身長は 1m ジャスト。それより上でも下でもない。
*普段は大男の肩に乗っていて、唄う時に降りてくる。
ボルドーのシャトーで引っ張りダコという松本さんに質問です。ワインは一口飲んで、その銘柄や産地まで当ててしまう人がいますが、お酒の飲めない人が対抗するには、何を判別できたら格好良いんでしょう。

!インスタントラーメン(袋麺)
*最近の「麺屋佐吉」などは分からないが、大抵は分かる。

!水(水道水)
*「六甲のおいしい水」とかではなく、友達の家の水道水。{{m{
>「うわっ、これ和田とこや」
}}}

!ジャージの臭い
*中学時代、仲間内で嗅ぎ分けていた。{{m{
>「あ、松本、はいっ!」「あ、これ、俺や」
}}}

!インスタントラーメン
*全部当てたら「サッポロ一番」という称号が与えられる。
*サッポロ一番 T シャツも着る。
*このハガキから、ききインスタントラーメンが企画される。後の「きき○○」シリーズへ。
芸能界の「お悩み相談室」として、数々の芸能人の悩みを解決してきた松本さんに質問です。アパートに一人暮らしなのですが、たまに隣に住んでいる人がステレオなどを大きな音でかけてしまっています。何か隣の人に不快感を与えず音量を下げさせる合図みたいなものがあれば教えてください。

!最近の質問について
*質問の文章が変。最近、ガキのハガキはアホが多い。
*以前も「浜田」を「兵田」と書いてきた。

!説得方法
*ガンガンステレオをかけている時点で普通の人間ではない。
*優しい口調で説得すると良い。{{m{
>「デビューしなさい。」
}}}

!音量について
*音量には気をつけたほうがいい。以下、松本の知り合いの話。
**ヘッドホンしながらオ○ニーしていた。
**オカンが入ってきても気が付かない。
**終わる頃にはパンツ 5 枚くらいたたんでいた。
高速道路などに設置されている高度違反(??)取締り用のカメラに、万が一撮られてしまった場合、その瞬間どんなことをすれば後で言い訳できるのですか?

!回避方法
*やばいと思ったら、浜田は目を松本は鼻を隠している。
*結局撮られた時の表情が重要。
*憎たらしい表情だと「こいつ引っ張って来い!!」となる。
*憎まれない表情(手を合わせて謝っている情けない表情)をしておく。

!余談
*浜田は、以前に松本を乗せていてオービスに撮られたことがある。
松本さんに質問です。松本さんは、岩下志麻、加賀まり子、SHAZNA、ジャネット・ジャクソンなど、彼女達とトークしている時「ありあり」という顔をしています。松本さんのストライクゾーンは、どこからどこまでか教えてください。


|相手|white-space:nowrap;松本|white-space:nowrap;浜田||h
|モリマン|×|△|浜田:モリマンがいるからマシだと思われているが種馬マンはキツイ。|
|種馬マン|△|×|松本:無理したら行けるかも。どちらかといえば種馬マン。夜中の 4、5 時に家に来られたら。。。胸元ざっくり空いてたら。。。ヘソのとこまで空いてたら。。。特別に股のとこまで空いてたら。。。|
|久本雅美|×|×|松本:楽器で言うと打楽器みたいな感じはダメ。管楽器が良い。|
|山田花子|×|×||
|????|  |  |浜田:買いたての車をボコボコにされたように凹んでしまう。|
毎年、夏になると都会の子供達のために、カブトムシなどの昆虫を山で捕まえてきては、人目の触れない夜、都会のコンクリートジャングルに放している松本さんに質問です。昆虫はさなぎの時に、さなぎの中で何をしているんですか?

!何をしている?
*ニヤニヤしている。

!アゲハチョウの例
*アゲハチョウのさなぎはアゲハチョウになるのが「夢」。「デビュー」、「ファーストコンサート(チケットも SOLD OUT。満員やで。お父さん、お母さんも来てるで)」。そりゃあニヤニヤする。 
!!1 日目
*車に惹かれそうになりながら上京。{{m{
>「恐いんだぁ、恐いんだぁ」
}}}
*カッペ言葉を直す。{{m{
>「ねむて、ねむて」「こんなに、ねむての初めてだぁ」
}}}
!!2 日目
*社長に会いに行く。{{m{
>「まだまだ、なまりが消えてねえなぁ、レッスンだ!!」
}}}
*ダンスレッスン。セクハラされたりも。。{{m{
>「おい、ちょっとアレ見てみろよ。よくねえか?」(振付師)
}}}
!!デビュー
*デビュー前日はニヤニヤしている。
*幕が開き羽ばたく。観客総立ち。{{m{
>「きれいやでぇ~」
}}}
*蜜をグビグビ飲みまくる。
*こっち行っては「チュー」、そっち行っては「チュー」
この間の放送以来、「北の国から」の蛍の嫁入りシーンを毎晩見ては涙している松本さんに質問です。あの、さだまさしの名曲に本当は歌詞あるそうですが、どんな詩ですか?

!歌詞
*本当はあったが、倉本監督に合わないと言われて NG となった。{{m{
<<<
じゅ~ん~ほたるはラ~ラ~♪
たな~かくにえララ~♪

じゅ~ん~ほたるはラ~ラ~♪
ごろ~ラララララ~♪
くらもと~。。。
<<<
}}}
父「ジョウイチ」を倒し、芸能界入りを果たしたという松本さんに質問です。子はいつか親を超えると言いますが、後輩も先輩を超えることはあるのですか?

!意味不明の質問
*松本にはどういうことか分からない。{{m{
>「どういうことですか?」「全く意味が分からない」
}}}
*浜田が恐すぎてボケる事が出来ず終了。 

!書き起こし
|white-space:nowrap;松本|このハガキの本質はおかしい。|
|松本|こんなんボケられへんやん!!|
|松本|これやったら、まだ靴下の方がましや言うてんねん。|
|浜田|ほな、靴下の犯人言えや!!|
|松本|でも靴下もないやん!!|
|松本|じゃあ、ゴムが緩んでたから歩いているうちに、だんだん前に来たんちゃうか。って言ったところで誰が笑うねん!!|
|浜田|違う。。違う。。ちょっと待ってね。(客に断りを入れ、松本に歩み寄る。)|
|浜田|それは、ぶっちゃけ過ぎ!!(ハガキでバーーン!!)|
|浜田|お前の仕事はなんやっ!! お前の仕事はなんやっ!!|
|浜田|お前の仕事はなんやっ!! なんでココに出てきてんねん!! お前の仕事はなんやっ!!|
|松本|ボケるためです。。。(ボソボソ)|
|浜田|あーっ!! 聞こえへん大きい声で言わな!! 大きい声で言わな聞こえへん!!|
|松本|ボケるためです!!(ハッキリと)|
|浜田|そやろぉ!! ボケるために来とんねん!!|
|浜田|そんなぶっちゃけてどないすんねや!! 失礼な話が!!|
|浜田|ちゃうかぁ!! 声出せや!! なんやその態度!! なんやーーっ!! なんや!!|
|松本|こわいなぁ。。。|
|浜田|そやろぉ!!|
|松本|こわかったなぁ。。。こんなドキドキしててできんのかなぁ。。。|
服部料理専門学校を史上最高の成績で卒業された松本さんに質問です。料理の基本「さしすせそ」より大切と言われる料理の新しい基本「あかさたな」について教えてください。

!「さしすせそ」について
*調味料全般のこと。{{m{
|!さ|>|砂糖|
|!し|>|塩|
|!す|>|酢|
|!せ|醤油|グダグダ。無理ならすなよと言いたい。|
|!そ|みそ|~|
}}}

!「あかさたな」について
*料理に関係する道具のこと。{{m{
|!あ|網|「網がなくて焼き魚が出来るか!!」|
|!か|釜|「釜がなくて米が炊けるか!!」|
|!さ|菜箸|「菜箸なかったら熱いもんひっくり返す時、手、熱い熱いなる!!」|
|!た|棚|今まで言ったようなものを使わないときに乗せておく。|
|!な|など|(オチ)|
}}}
徒歩 12 分のイメージがある松本さん、歩いて家に帰った時、靴下のかかとの部分が前に来ていることが多々あります。松本さん、これは一体誰の仕業なんですか?

!誰の仕業か?
*「罪を憎んで人を憎まず」なんていうのはウソ。
*なんにでも犯人がいる。天災でも人間の普段の行いの積み重ねだったりする。
*英語で答えようとしたが途中で却下。
*猫がやってます。(⇒ 邪魔臭くなりボケ放棄。)
元国際線パイロットの松本さん、飛行機が上空に行って自動操縦になったら、パイロットは何をして過ごしているんですか?

!訓練学校で学ぶこと
*操縦の仕方かというと、大いに「ノンノンノンノン!」
*操縦の仕方なんてスイッチ 1 つ 2 つくらいのこと。
*パイロットに一番必要なものは「安心感を与える」こと。
*「あーこの人になら運ばれてもええわぁ」と思えるような人間にならないとダメ。

!上空に行くまでにする事
*スイッチをパチ、パチ、パチ。
*操縦桿を引けばもう飛んでしまう。
*後は、延長コードを繋いだり、外したり。
*これだけのこと。

!上空に行ってからする事
*帽子を後ろ被りにして、リラックスする。
*肩章(??)を外して、2 枚合わせて棚にしまう。
*上着もシャツも脱いで掛ける。
*(ブラジャーに見える)パイロットのベルトを外す。ブラのようにカップを合わせて棚にしまう。
*(コックピットに片足を乗せながら)ストッキング(?)を脱ぐ。丸めて棚にしまう。
*クレンジングする。
*イスに座って泣きながら「Salem LIGHTS」を吸う。ホッとする一息。
*猫がピョーンと膝の上に乗ってくる。ホッとする一息。{{m{
>「アンタだけは裏切らないねぇ。。」
}}}
*(この頃になるとスチュワーデスがコンコン!!){{m{
>「機長!! 機長!! そろそろお願いしまーす!!」「あいあいー」
}}}
*また仕度を始める。
松本さんはどんな怪我でも、あっという間にベストの応急処置を施すことが出来るそうですが、今から挙げる怪我の応急処置ってどんな感じですか? 教えてください。

!150 キロのボールが頭に当たった時
*命に関わる出来事。「命まわりの出来事」{{m{
>「おいっ! 150 キロのボールが頭に当たっとんねん!!」
}}}
*そう言われる事によって気分が落ち着く。分かってくれている、1 人じゃないと感じる。泣けるやん。
*痛みは孤独を倍増させる。孤独は痛みを倍増させる。
*150 キロなのに 160 キロなどとは絶対に言ってはいけない。痛み倍増。{{m{
>「ごっつ水増しやん!! ウソやん!!」
}}}

!100 度の熱湯が背中にかかってしまった時
*(客席から答えが出そうになるが浜田が制止){{m{
>「おいっ! コイツ 100 度の熱湯が背中にかかっとんねん!!」
}}}

!毒蛇に鼻を噛まれた時
*生き物になると少し対応が異なる。(3 回も同じことをやっても仕方がないし。){{m{
>「おいっ! コイツ頭に 150 キロのボールが当たったわけでも、背中に 100 度の熱湯がかかったわけでもないんやぁ!!」
}}}
これまで数々の名曲を作詞・作曲してきた松本さん、そろそろ出囃子の「松ちゃん Baby」は潮時だと思います。ぜひ新しい出囃子をお願いします。

!新出囃子
*次回放送からは "×2" に短縮。{{m{
>(パンパラパンパン、パンパラパラパラ)× 4
>私に、私に、私に惚れるなよ~っ!!
>(パンパラパンパン、パンパラパラパラ)× 4
>浜田の、浜田の、浜田の耳毛がよ~っ!!
>(パンパラパンパン、パンパラパラパラ)× 4
>風になびくわよ~っ!!
}}}
ものまね四天王の上に立つ、ものまね総帥の松本さん、森進一のモノマネをする人は 5 万といますが、松本さんの森進一のモノマネは、誰のモノマネよりも面白く、そして新しいと聞きます。そこで松本さん、皆の想像をも超える森進一のモノマネをお願いします。

!浜田にモノマネさせてみる
*浜田のモノマネでは、森昌子が怒ってくる。{{m{
>「うちの旦那をなめんな!」
}}}

!松本のモノマネ
*客が松本に集中しすぎで出来ないため、客全員に後ろを向かせる。
*「鶴の恩返し」と同じで 1 人でも振り向いたら出来ないと客を説得。
*⇒ 逃げる。⇒ ココリコが登場し謝罪。{{m{
>「ああいう人達だが、決して、悪い人ではない。」
}}}
深海にはまだ確認されていない生物がたくさんいると聞きますが、この前まで、素潜りで海底 3,000M のところを漂っていた松本さんは、どんな生き物と出会ったのか教えてください。

!水圧への対処について
*水圧で「パンッ」と押し潰されることが事前に分かっていたので、「パンッ」ってならないようにしていた。

!海底 3,000M にいる生物
*基本的には日本近海にいる魚と変わらない。(タイ、ヒラメ、タコ、イカ)
*決定的な違いは、額に「3,000」と書いてあること。
*深海人も住んでいる。

!深海人とは?
*人間に近いが、やや半透明。
*基本的には皆苦しそう。息が出来ないから苦しい。
*週末(土日)は息を吸いに海上に上がる。月~金は我慢。
*だから金曜日はものすごく辛い。家族の会話もない。
*本当は地上で暮らしたいが、人口抑制のため犠牲になっている。
*体が浮いてしまうため、鉄下駄を履いている。{{m{
>「ゴ~ン。ゴ~ン。」(歩く音)
}}}
*下駄の鼻緒を押さえるため、足の親指が発達している。
*ブーツにすれば楽だったが、深海人にその発想はなかったらしい。
*木曜日くらいで我慢できずに、鼻緒を離してしまう者もいる。
*死者もたくさん出た。
*何にも楽しい事がない。(一番したい事:汁物を食べたい。)
<<tiddler SimpleRSSReader with: "http://moto-mono.net/feed">>
いわゆる「夜明けのコーヒー」を、おそらく日本一飲んでいる松本さんに質問です。CM で「クリープを入れないコーヒーなんて。。。」というのがありましたが、クリープを入れないコーヒーなんてどうなんですか? その後を教えてください。

!続きについて
*CM は 15 秒しかないから省略されている。
*本当はごっつ長かったらしい。

!全文
>「クリープを入れないコーヒーなんて、コーヒーを入れないクリープのような私は、下の方がもう○○。でもいいの。ヒロシは激しくミツコを。ミツコもまたヒロシに。ヒロシにー。サトシがカズオを。カズオにー。茶坊主が。。。」
「寄せて上げる」感じが素敵な松本さんに質問です。女の人のパンツは良く真ん中にリボンが付いているのですが、アレは何のために付いているのですか? 教えてください。

!女性は危険と隣り合わせ
*女性は常に危険にさらされている。
*女性は貞操を守らないといけない。

!リボンが付いている理由
*例えば、一人暮らしのマンションで強姦に襲われ服を脱がされた時に。。
*喋喋(リボン)を見て一瞬怯む。{{m{
>「わっ!! きれい♪」
}}}
*その一瞬怯んだ隙に蹴りを食らわすことが出来る。{{m{
>「ターーッ!!」
}}}
日本一男前の小学生として何度か TV で紹介されたことがあるという松本さん、授業参観で自分の母親が一番ブサイクだった時、どうすれば、その人が自分の母親だとばれずに済むか教えてください。

!母親について
*子供の頃は、母親の容姿は非常に重要なこと。
*母親がヒバゴンのようにブサイクだと凹んでしまう。

!ばれない様にする方法
*先生に指されて正解した場合、一番綺麗な母親の方にガッツポーズ!! 
*視線にヒバゴンが入ってきても無視。
*隣の生徒が答えたときに、ヒバゴンに向かって「コイツやりましたよ」みたいな感じで。
*ヒバゴンから話しかけてきた場合、隣の生徒に「お前のオカンかなわんなぁ」とごまかす。
松本さんに相談したいことがあります。僕は車に乗っていて夕方から夜になっていく時、ライトをつけるタイミングが分かりません。どんなタイミングでつければいいか、一番いい方法を教えてください。

!簡単に言うと。。
*人をひく前にはつけたい。
*ひく瞬間は見たい。死に顔を見てあげたい。

!ライトをつける時間
*季節があるので時間で決めるのは難しい。

!汎用的な方法
*季節/時間に関係ない汎用的な方法がある。
*右折、左折、右折、左折、右折、左折、パッ!! でつける。
*右折を 8 回したらつける。左折した時はマイナスカウント。
古代神話の中に何度も登場し、その都度、神殿の色を塗り替える松本さんに質問です。ケンタウルスはどんなニオイがするんですか?

!遭遇
*ケンタウルスとエレベータで一緒になったことがある。
*ケンタウルスは 8F、松本は 9F まで。かなりの長い時間。

!どんな臭い?
*今年初めてつけたエアコンのニオイ。
*動物の方は「ウンコ」みたいなニオイ。
*人間の方は「タクティクス(香水)」のニオイ。

!ケンタウルスの呼吸
*人間と動物で交互に「ハア、フウ」と。 <br>(この時点では松本は動物側にも頭があると勘違いしている。)
サッカー日本代意チームのボランチ役として大活躍の松本さんに質問です。トルシエジャパンが推奨する「フラット 3」とはどんなことですか?

!ボランチとは?
*簡単に言うと「喜び行こう!!」みたいな感じ。{{m{
>「ボランチ!! ボランチ!!」
}}}
*真ん中の丸いとこの周りをグルグルと。

!フラット 3 とは?
*イタリアでは、毎夜毎夜フラット 3。酒、女、フラット 3。
*ボール 1 個では堅苦しいのでこだわらないようにする。ボールを 2 個足して「本物はどれだ」風に。

!会議で NG が出た内容
*「着の身着のまま」を 3 回許される。
*45 分間の内、3 回までは気持ちを許しても良い。クツを脱いで、その辺をフラ~っとしても良い。
結婚してないのに仲人を引き受けている松本さんに質問です。結婚のやり方には「恋愛結婚」と「お見合い結婚」と「できちゃった結婚」の他にもう1つあると聞きました。それは何結婚ですか?

!結婚のやり方
*1 つどころか山ほどある。

!はげちゃった結婚
*女性が働いて、男性が家事をしているカップル。
*家にずっといるためストレスがたまり、髪も抜けてくる。
*ある日、嫁さんが帰宅したときに。。{{m{
|夫|はげちゃったみたい。。|
|嫁|ほんとに私のせい?|
}}}
松本さんは子供の頃、夜店に出ていた金魚掬いの金魚を 1 匹残らず掬いあげてしまったそうですね。どんな方法で、そんなたくさんの金魚を掬いあげたのですか?

!おかしな質問である(怒)
*金魚は水槽の中で生まれたわけではない。
*ということは、水槽に掬われたということ。{{m{
>「もう、すくわれなくていいじゃない!!」
}}}

!人間のエゴ
*金魚を初めて救ったのは俺だと思いたい。
*自分の好きな彼女は処女だと思ってた。
**自分が初めての男だと思いたい気持ちは分かるが、何回もすくわれている。(何回もやられている)それと同じこと。金魚を救ってやってるという気持ちになっていないか? ということ。人間驕るなかれと。
*ブラックバスでもキャッチ & リリースと言っても以前に誰かに釣られている。
アルプスの申し子、松本さんに質問です。雪山で雪崩に見舞われ、その勢いで大木に衝突し全身打撲、そして、そのまま雪深くに埋もれてしまった時に脱出する方法を教えてください。

!雪崩に見舞われた経験
*過去に 5 回ほど経験がある。

!雪崩に見舞われた経緯
*1 本足スキーをして、はしゃいでいた。{{m{
>「ココがゲレンデか~」
}}}
**1 本足スキーは禁止されている。
**2 本持つと見せかけて 1 本足スキーをした。
**てっぺん(深夜 0 時)越えてたため、まわりに人もいなかった。
**人のいる時間であれば監視員のオッサンに笛で「ピピーッ」とやられる。{{m{
>「うわ! こわー!! あないに怒らんでもぉ。」(似:プール監視員)
}}}
*ツルンと滑ってクルクルクルドーン!!
**大木というより枝にぶつかった。
**枝が枝を呼び、雪崩が発生。巻き込まれてしまった。
**気づいた時には 5m ほど深く埋もれた。雪は暗い。

!脱出する方法
*ジタバタしない。神のような気持ちになる。(口を窄めてキリストっぽく。)
*5 分、10 分待っていると 5、60 人の天使が降りてくる。 (5、60 人のケツ丸出しはすごい。)
**こそばないように(くすぐったくないように)持ち上げてくれる。「フ~ワ~」
**そのまま岩風呂の方へ。頭を洗ってくれる。「フ~ワ~」
**タバコを吸わせてくれる。(タバコを持つのも火を点けるのも天使)「フ~ワ~」
*正気に戻ったのはカラオケボックス。
**本をめくるのも天使。「フ~ワ~」
**唄うのも天使。「お前が唄うんかいっ!!」(オチ)
毎年この時期になると、シャベルでものすごい深くまで掘り続けるという習慣を持っていると聞きましたが、一体何を探しているのですか?

!何を探しているのか?
*サイフを探している。
*以前に深いところで掘っていた時に落とした。 同じくサイフを探していた。

!1 番最初のサイフは、なぜ深いところで落としたか?
*浜田も一緒にいたらしい。{{m{
>「ほら、あん時あったやんか!! 言えや!!」(オチ)
}}}
男がヒョウ柄にあんなに興奮するのはなぜですか?

!謎である
*浜田も松本も興奮しない。
*むしろ不潔っぽい。{{m{
>「だって、ヒョウなんてくっさいでー!!」
}}}

!松本のトラウマ
*オカンによく言われていた。{{m{
>「あんた、はよ起きいな!!」
>「朝飯も食べんと昼までもつんかいな!!」
>「ヒョウ臭いでぇー!!」
}}}

!松本の仮説
!!男は強くなければいけない
*強いものを懲らしめたい、上になりたい感じがある。
*ヒョウに勝ちたい。ヒョウに乗りたい。ヒョウを押さえ込みたい。
*しかし、この仮説ではゼブラ柄が謎である。ゼブラは弱い。
!!前世から来ている
*前世がヒョウと敵対する民族だった。狩猟民族。
*日本人のような農耕民族は、白菜柄に興奮する。
*パンツを脱がした後も、パンツばかりを見てしまう。{{m{
>「あんた、私こっちやでー!!」
}}}

!松本の携帯
*松本の携帯には「ヒョウ柄」が登録されている。
*「ヒョウ柄チチ」も登録されている。
*ボイス呼び出しで「ヒョウ柄チチ」と呼び出しても「ヒョウ柄」が出てしまう。
松本さんが試合の間中、ずっと半笑いだったという、あのデスマッチについて詳しく教えてください。

!ルーテイズとの試合
*20 年ほど前の話。若き高校生の時代。

!お誕生日デスマッチ
*戦いながらも半笑い。なぜなら祝ってくれる人がいるから。
*殴りかかろうとしてもプレゼント出されたりする。{{m{
>「今、開けて~」
}}}
巨大竜巻の中心部では、一体何が起こっているんですか?

!世の常
*何にだって原因がある。誰かがやっている。

!何が起こっているのか?
*松本は見た。見た人には勝てない。
*中心部にはタレ(女)がいた。
*40 点ぐらいの女が、扇子を振り回していた。

!タレの過去
*40 点ぐらいだから、少しはモテる時代があった。
*乳も結構でかかった。乳を見たいだけの男もいる。
*結局は女のヒステリー{{m{
>「何よ!! どいつもこいつも私の上だけを通り抜けて!!」
>「結局、こんな感じなのね!!」
}}}
幽霊にデブがいないのはなぜですか?

!松本の体験した恐い話
*寝ていたとき、座椅子にランドセルを背負った小学生位の子がババッっと逃げるのが見えた。

!思い違いだった事を訂正
!!ランドセルは背負ってなかった。
*小さかったような気がしたので小学生かなぁと思った。
*「小さかった」と言うのもあいまい。
!!座椅子もはっきり言ったらない。
*コタツのところに座ってた気がしたのでつい。
*走って行ったように見えた。(雰囲気)

!結局のところ
*皆に注目されたかったのでウソを付いた。
最も口が臭い生物を教えてください。

!コップが臭い時がある
*何の臭いなのか?
*お祭りのお面をずっと被っていた時のような。 
*コップを 1 日くらい洗わないと、息の臭いがする。{{m{
>「お前の息が臭いのではないのか??」(浜田)
}}}

!マイクが臭い時がある
*興奮した時に口をつけて喋っている。
*コンサートで「最高ー!!」と叫んでいるが、マイクは「最悪」{{m{
>「お前の息が臭いのではないのか??」(浜田)
}}}

!最も口が臭い生物
*○○○さん(坂田師匠??)
*歯茎が坂田よりもアホになってしまっている??
*会場全員が分かるくらい強烈。「フワ~」
*間寛平が「いいかげんにしなはれ!!」と最後のツッコミ。
*気にしだし、仁丹を食べるが効果なし。仁丹をも巻き込んでものすごい事に。
*喋ろうとすると、皆「いやっ!!」となる。
浜田さんがタラコくちびるにならざるを得なかった理由を是非教えてください。

!浜田の唇について
*はっきり言ってトラウマ。

!中学時代
*まわりのみんなは言っていた。{{m{
>「あれは、あーなるよなぁ。。」
}}}
*浜田が休んだ時に学級会の議題にもなった。{{m{
>「何でも言うてあげて!! 浜田のこと皆で語ろう!!」(青木先生)
}}}
*最後に皆で大泣きした。{{m{
>「誰が浜田にパン持って行ったるー?」
}}}

!タラコくちびるにならざるを得なかった理由
*オンエアできない理由がある。
*「はまちょ~ん。浜田君~。」っと家に訪ねた時に見てしまった。
*オヤジの○○○○をくわえていた(??)
今度彼女と遊園地に行く事になったのですが、僕は絶叫マシンが恐くて乗れません。そこで、絶対に格好悪くない絶叫マシンの断り方を教えてください。

!基本
*できる男と見せなければいけない。

!チケットを買う時
*堂々としておく。逆に乳首も立ち気味で。

!次の順番まで来た時
*余裕を見せ付ける。{{m{
>「おうっ!! いいねぇ!!」
}}}
*香水やコンタクトをつける余裕を見せておく。

!いよいよ順番が来た時
*彼女をエスコートしてあげる。 
*力が有り余っているので、彼女を担いでツルンと乗せてあげる。

!自分も乗り込み、安全シートが下りてきた時
*まだまだ時間はたっぷりある。

!動き出した時
*事前に友達に電話をするように言っておく。{{m{
>「何!! 株が大暴落!! 売っといて!!」
}}}
*話しながら乗り物から降りる。
えなりかずきの攻略法を教えてください。いつも 3 面でやられてしまいます。

!ゲームのえなりかずき
*3 面の大ボス。
*短剣を取ったら出現。
*攻撃は単純。頭突きをしてくるだけ。

!攻略法
*LACOSTE(ラコステ)のマークに早撃ち。
どうしたら松本さんのように、お尻がプリプリになれますか?

!イメージトレーニング
*運動する時にはなりたい姿をイメージすると効果的。
*腹筋を鍛えたい時は、腹筋がポコポコのやつを考えながら。
*カニでもアイス最中でも板チョコでも良い。

!注意事項
*腹筋を鍛えたい時は腹をイメージしないと、顔がポコポコになったりするので注意。

!お尻をプリプリにする方法
*松本はムーミンを考えながら競歩をしている。
どんな困難も自分で解決しないと気が済まない松本さんに質問です。以前、家がシロアリに襲われた時、アッと驚く撃退法で 1 匹残らず駆除したことがあると聞きましたが、一体どんな方法でシロアリを追い払ったのですか?

!抗生物質にヒントあり
*バイ菌をあえて体に打つことによって、体に免疫が出来るようにする。
*「毒を食らわば。。」ではないが、毒に侵食されている人に、あえて、さらに毒を足す事によって。。。(略)

!シロアリの撃退法
*シロアリを追い出すにはシロアリが一番。
*大きなシロアリを放つ事によって、小さなシロアリは逃げ出す。{{m{
>「こんな大きなシロアリおる思えへんかった。あーこわっ!!」
}}}
*放ったシロアリは完全に住み着く。(以下繰返し)
大相撲は「夏場所」「秋場所」「名古屋場所」など、いろいろありますが、人気がなくてなくなった場所があると聞きました。それはどんな場所ですか?

!大相撲「今朝」場所
*4 時半から開始。
*布団から起きてすぐ取り組みを始めないといけない。
**だから、みんなものすごい顔がむくんでいる。
**みんな息もクッサイクッサイ。
**ちょんまげも寝癖状態。
*結果、視聴率が悪かったためなくなった。
この前、衝動買いで掛けもしないメガネを大量に購入してしまったという松本さん。日本人はメガネを掛けている人がたくさんいるのに、心霊写真の霊は、なぜメガネを掛けている人が 1 人もいないのですか?

!大きな謎
*「特命リサーチ 200X」でも解明していない事。

!メガネを掛けた霊
*メガネを掛けている霊は存在している。
*見る側の勝手なエゴにより霊扱いしてもらえないだけ。
*意気込んでいても、メガネを掛けている事によって。。{{m{
>「今日も半透明で行くで~しかし」
>「吉野さん!! もっと前に出んと!!」
}}}
*吉野さん扱いされる事が悲しい。
星の数ほど女を泣かせてきた松本さんに質問です。ヤンキーの女は好きな男の名前を刺青で彫ったりしますが、あいつらはその男を別れたらどうするつもりなのですか?

!消すことは出来るのか?
*レーザーで消す事はできるが痕は残ってしまうだろう。

!消せない場合の対処法
*例:ケンジと別れた時{{m{
>「ケンジなど」、「ケンジなど、等あって」
}}}

!やる気満々な女について
*松本はやる気満々な女は苦手。
*刺青を彫ったり、ヒョウ柄のパンツを履いてたりする女。
*ヒョウ柄のパンツは脱がした後に出来るだけ遠くへ投げている。
カツ丼が大好物の松本さんに質問です。取調室で犯人が犯行を認めないと刑事達はライトを犯人の顔に近づけますが、あれは何の意味があるのですか?

!寝かせないため
*ありえない。素人考えである。

!本当の意味
*犯人の顔をじっくり見たいためにライトを当てる。
*証拠物件も揃い、何度追い詰めても自白しない奴がどんな顔なのかを見てみたい。
これまで数々の動物を手乗りにしてきて、街角で手を出せばどこからか小鳥が飛んでくるほどの松本さんですが、過去最も手乗りにするのに難しかった動物はなんですか?

!手乗りの意味
*動物と言うものは手に乗って初めて心を許した事になる。
*好きな人のためなら形態を変えてでも乗ろうとするもの。
*ゾウでも、出来るだけ鼻を短くたたもうとするし、耳も耳たぶサイズにしようと頑張る。
*「真昼間王」の番組企画で実際に乗せて見せた。番組クルーが証人。

!最も大変だった動物
*コウモリ。どうしても手ぶら下がりになってしまう。
石坂浩二の後に、水戸黄門の役が決まっている松本さんに質問です。「この紋所が目に入らぬか」の台詞にはもうそろそろ飽きてしまいました。何かもっと良い決め台詞を考えてください。

!松本への出演依頼
*「HEY×HEY×HEY」と被るので、歌の間だけの出演と言う事で承諾。

!キャスティング
|助さん役|大泉滉|スレンダーなセクシーさがある。|
|角さん役|コニタン(小西博之)||

!新シリーズの決め台詞
*軽いノリの黄門様{{m{
>「この紋所が目に入らぬかなぁ、これぇ」
}}}
*基本ラインは譲れないと言う事で却下となったもの。{{m{
>「お前は、ほんまのアホか」
}}}
何度となく衝撃の出会いを経て、今の松本人志という人物像を築き上げてきた松本さんに質問です。人生の中で 2 度だけ会ったことがあるという小悪魔というのは、一体どんな姿をしていて、どんな時に出会ったのですか?

!小悪魔とは?
*小悪魔といっても見た目が小さいわけではない。
*若干服が小さい。
**かなりピチピチ。
**チャックもすぐに開いてしまう。ブラも丸見え。
**袖に穴を開けて指を通している小悪魔もいる。
*悪魔になる前には小悪魔からスタートする。
**修行中なので、お古の服を着ている。
**一人前になったら服を新調してもらえる。{{m{
>「早く悪魔になりたい。これから頑張っていかなあかん!!」
}}}

!小悪魔との出会い
*冷蔵庫の裏で見つけた。
*一人前の悪魔ではないので悪戯もたかが知れている。{{m{
>「ブゥ~~ゥン」 (冷蔵庫の音のまね)
}}}
*コンセントを切ってもまだ聞こえるので、裏を覗いてみたら小悪魔がいた。{{m{
>「イテテテ、助けてくれや~」 (捕まえた)
>「お前か!! ブゥ~~ゥン言うてたの!! 寝られへんやないかぁ!!」
}}}
*小悪魔は人が寝られない事がおかしくてたまらない。
録画漏れ。情報求む。
録画漏れ。情報求む。
意気揚々と鬼退治に出かけた松本さんのテンションを吸い取り続けた犬猿雉の言動を教えてください。

!基本的に
*ずっと半笑い。

!犬猿雉の言動
*犬がはしゃぐと、猿雉の陰口が。。{{m{
|猿雉|うわぁ、やったでおい!!|
|犬|かわいそうやからやんけ~|
}}}
*意気揚々と鬼退治に出かける時も陰口が。。{{m{
>「何で、桃の中におったん? (ヒソヒソ)」
}}}
*テンションが下がりっぱなし。 
*怒りと恥ずかしさで赤鬼よりも顔が赤かった。
松本さんが考えたトイレ戦争というのはどういうものですか?

!トイレ戦争について
*「O 型か U 型か」戦争の時は、人が 4 人死んだ。

!S 型の参入
*今回は S 型が参入してきた。
*おしりは S の字の上に乗せる感じ。
*ウンコは S の字を伝って端から落ちるシステム。
*足がウンコだらけになるので掃除は大変。
人は歳を取ると涙もろくなりますが、最近松本さんが涙を流した一番しょうもないものは何ですか?

!歳を取ると涙もろくなる
*人は歳を取ると涙もろくなるのはマジ。
*「エイリアン 2」を観て感動した。
*シュワルツネッガーが鎖でカタカタ降りて行く所。{{m{
>「それはターミネーター」(浜田ツッコミ)
}}}
*⇒ そういう間違いをする点でも歳を取ってしまっている。

!松本の怒り
*(間違いについて)まわりのみんなは気がついたら言うべき。{{m{
>「ほったらかしにしやがって!!」
>「駐禁と一緒。止めるのわかってるなら止める前に注意しろ!!」
>「シュワルツネッガーの "シュ" が出た時点で指摘しろ!!」
>「万引きしそうだなと思ったら盗む前に注意しろ!!」
}}}
昔、アルバイトで陸上競技大会の審判員をやっていたという松本さんに質問です。棒高跳びの棒はどこに売っているんですか? 教えてください。

!棒高跳びについて
*元々、走り高跳びである程度のレベルとなったら、棒高跳びへ行ける。
*車で言うと、走り高跳びは仮免段階のようなもの。

!棒高跳びをするには?
*棒に行けるか、行けないかの審議会がある。 
*相撲で言うところの親方がいる。⇒ 棒の親方。{{m{
>「もう、棒行けんちゃう?」「棒でええのか、悪いのか」
}}}

!棒高跳びの棒の入手法
*正規のルートでは手に入らない。 
*本当は TV で言ってはいけない。素人は棒を持ってはいけないからである。 
*審議をクリアした翌朝、棒をこっそり売りに来る。 
*7 時、7 時半、8 時頃、やっぱ 9 時頃に「さ~おだけ~」と売りに来る。(コレは、この時代に誰が竿を買うのか? と思わせるための棒売りのカモフラージュ。){{m{
>「すいませーん。ちょっと待ってくださーい。」
>「2 本もらおうか。。」
}}}
*竿竹売りの振りをしていたおっさんが。。{{m{
>「聞いてまっせ、聞いてまっせ」
}}}
*ばれないよう、かつ、素早く{{m{
>「ササササ、クルッ、ピーピッピ」
}}}
様々な業界で新商品のネーミングに携わってきた松本さんに質問です。「甘栗むいちゃいました」のヒットに続き「小豆入れちゃいました」「胡桃割っちゃいました」など出てますが、さらに新商品は何が出るんですか?

!腐っちゃいました
*生魚が腐ったもの。開けた時にものすごい臭いがする。
*パッケージにも腐った感じで。ハエがとまっている。

!食べちゃいました
*栗シリーズだが、中身は空っぽ。
冬の寒さに負けそうな人を見かけると、必ず抱きしめてホカホカにしてあげるという松本さんに質問です。使い捨てカイロの中に入っている黒い砂はどこで採れるんですか?

!どこで取れるか?
*ストックホルムの砂丘で採れる。
*日本の鳥取砂丘みたいな感じ。取り放題。

!暖かくする方法
*砂を持った時点では何も起きない。振らないとダメ。

!暖かくする方法の発見
*ストックホルムの高校野球大会で、優勝候補のストックホルム第三高校(鳥取東高校??)が敗退。
*球場の砂を袋に入れて持って帰る途中、ふざけて「待てや~」と走った時に温かくなった。
いつも心のどこかに六本木があるという松本さん。身長が 2 メートル以上ある黒人の酔っ払いに絡まれた時の正しい対処法を教えてください。

!はっきり言って
*2 メートルの黒人に勝てるはずはない。

!弱点を突く
*やつらは体が大きい事で強気になっているところがある。
*そこを少し突いてやればヘナヘナとなる。
*相手は常に自分が 2 メートルあることを意識している。
**「身長いくつですか?」と聞いたら「2 メーター!!」と答える。
**語尾に「2 メートル」と付けるかも知れない。
*逆に言うと、2 メートルあるやつは身長にこだわっている。
**そこを逆手に取り、こっちは 3 メートルつもりで行く。
**そうなれば、2 メートル 対 3 メートルの戦いとなる。

!かなわない夢はない
*例えばクリームパンになろうと思えばなれる。{{m{
>「絶対にやねん!!」
}}}
*浜田は吉本に入ろうと思って頑張った。{{m{
>「絶対に!! 絶対に!!」と頑張った。
>「夢叶ったじゃん!! 叶って良かったじゃん!!」
}}}
*次の目標はクリームパンや。
*そんなにフカフカでなくてもいいから。
*思ったほどクリームの量が少なくてもいいから。
*その時松本の夢はジャムパンかもしれない。
*クリームパンとジャムパンでジョイントが出来る。
*ウケはしない。小さいし良くわからないから。
松本さんは、今年、絶対に流行る世界一オシャレなマフラーの巻き方を知っているそうですが、是非それを教えてください。

!軽いジャブ
*マフラーなのに息吹を拭かせるのはおかしな話だが。。

!今年の流行
*きつく片結び。(顔充血)⇒ 血管のオシャレ。{{m{
|松本|ごっつやばかった。お前がめっちゃ遠かった。|
|浜田|あぁ~汗出てきた今。|
}}}
*だから今年はみんな早足になる。
*駅から家までダッシュ。バスなど待っていられない。
*ナンパなども出来ないので混雑は緩和する。
人間は視力が落ちるとメガネなどを掛けて補いますが、では、野生の生物達は視力が落ちた場合、一体どうやって補っているんですか?

!基本的には人間と同じ
*物にこそ頼らないが、基本的には人間と同じ。
*近くで見るしかない。顔を近づけ、擦り付けるように見る。

!対応をしている動物
*ちゃんと補っているのはメガネザルくらい。
*スポーツタイプのメガネ。後ろがゴムになっている。
*ゴムの上に髪をパサッと被せているので見えない。
録画漏れ。情報求む。
録画漏れ。情報求む。
録画漏れ。情報求む。
録画漏れ。情報求む。
レストランで食事をした後、アメリカンエキスプレスのプラチナカードを出すのが僕のちょっとした優越感なのですが、松本さんクラスの成功者になるとどんなことが優越感ですか?

!昔と今
*昔は経済的なことを色々気にしていた。
*今は自分で稼ぐようになり、横柄になってきた。

!冷蔵庫
*昔は手が挟まりかけの隙間しか開けられなかった。
*今は「ドーン!!」開けるようになった。{{m{
>「冷気どうぞ出て行ってください。いつでもまた冷やすから。」
}}}

!ティッシュ
*昔はあまり使わなかった。{{m{
>「バッバッバッ!!」と取る女が許せなかった。 
}}}

!コロコロ
*昔は陰毛が次のシートに跨ぐように付いた時、ずらしてまだ使えるようにしていた。

!流しの網
*昔はちょっとしか溜まっていないのに捨てるのが許せなかった。
芸能界一のヒーロー通、松本さんに質問です。松本さんだけがその存在を知っているという「仮面ライダーエロス」の変身ポーズを教えてください。

!仮面ライダーエロスとは?
*普段はパンツ一丁。変身する事によってパンツ一丁ではなくなる。
*語尾に「チ○ポ」を付ける。{{m{
>「また、お前達!! 性懲りもなく出たなチ○ポ!!」
>「お前達の好き勝手にはさせないぞチ○ポ!!」
>「そのブリンブリンをやめるんだチ○ポ!!」
}}}
*ショッカーは上半身裸の女。乳がブリンブリン揺れている。{{m{
>「うぉーショッカー!! 乳が揺れているなぁ!!」
>「お前達の乳はいつまでも揺らさないぞー!!」
}}}

!変身ポーズ
*(結局、変身ポーズは披露されなかった。)

!ヒーローモノで思うこと
*何もしていないのに出てきただけでやっつけられるのはおかしい。
*「超人バロム 1」の「首ゲルゲ」もそうだった。(「首ゲルゲが窓から覗く」の回)
*覗いてるだけでものすごいやられた。ビックリした。
全日本カツラ大賞があったら間違いなく受賞される松本さんに質問です。カツラの買い替え時を教えてください。

!カツラを付けた人の本によると
*カツラをはめる時の「パチッパチッ」が痛いらしい。
*カツラの人は前ボタンしか着ないらしい。
*汗かいた時に自分の毛は濡れるが、カツラ部はカッサカサ。

!カツラを知る機会が少ない件
*カツラの事を結構みんな知らない。知る機会が無い。
**カツラの不具合、情報が拡まって行かない。
**カツラを付けている人は個人プレイ。コミュニティがない。
**付けてる者同士は相手のカツラに気づいているが言わない。
*例えば車を買い替えた場合{{m{
>「どお? 調子?」「いやー、出足があんまり良くないねぇ。」
}}}
*カツラを買い換えた場合{{m{
>「どお? そのカツラ?」とは言わない。
}}}

!カツラの買い替え時
*意外と持たない。
*金持ちはバージョンを持っている。(短いバージョン、長いバージョン)

!買い替え時について
*例えばパンツはゴムがダルダルになった時。
*ブラジャーの買い替え時が分からない。是非聞きたい。{{m{
|浜田|普通にはめてるつもりでも、乳首が出てるんちゃう?|
|浜田|柄が飽きた? 生地が摺れてきて乳首が痛くなってくる?|
|松本|カップが反り返ってくる? ボーンッ!!|
}}}

!もう言ってしまえば良い
*ある種、脅し、嫌がらせである。
*松本だったら言う時はバシッと言う。{{m{
>「浜田。。(カツラを掴んで)俺、こんなやねん!!」
>「これ(カツラ)は俺じゃないねん!! これ(ハゲ部)が俺やねん!!」
}}}
毎年、この時期になると道路工事がやたら多くなる気がするのですが、あれは道路を直す目的以外に、ある物を探していると聞きました。一体何を探しているんですか?

!決めちゃっていいですか宣言
*久しぶりに決めちゃっていいですか?(松本)
*これを言うと格好良くなりすぎて女性は抱かれたいではすまない。
*格好良すぎて、興奮して乳首がビーンなる。{{m{
>「あれは、いわゆる埋蔵金を探しています。」
>「ただ、埋蔵金と言っても、税金と言う名のなっ!!!!」
}}}

!浜田の反応
*いまいち反応が悪かった。
*何で 1 歩引いた感じになっているのか。。
*もっと、遮二無二なってむしゃぶりついてきて欲しい。<br>⇒ 2 回目をやるが改善せず。
20年後に大流行になる名前を、ズバリ的中してください。

!名前の扱いについて
*20 年後には名前というものはなくなる。(形態が変わる??)
*最近は皆欲張りになってきている。(携帯然り、セカンドカー然り)
*日本の人口増加はこの先減少傾向にあり、経済の循環には 1 人 2 個が重要。

!大流行が予想される名前
*ヒロシ or タカシ
*ミツコ or キョウコ
*タロー of ジロー
*if サトミ。。。
1 日に 1,000 回はコケないと気が済まない松本さんに質問です。レントゲン技師をしているのですが、1 日に「吸ってぇ~、止めてぇ~」を 1,000 回位言わなくてはいけません。何か違う言い方で患者さんを飽きさせない言い方はありませんか?

!違う言い方
|パターン 1|はい、よせて~、はい、かえして!!|
|パターン 2|はい、今日泊めて~、今日泊めて~、あ、やっぱ帰って!!|
|パターン 3|今日は抱いて~、今日は抱いて~、あ、やっぱ触らないで!!|
吉本興業のパソコンにハッキングし、様々なデータを盗み見するのが趣味だという松本さん。吉本興業最大の秘密を教えてください。

!最大の秘密
*社員も含め、ほとんどのタレントも気づいていないこと。

!吉本ビルの秘密
*赤坂の吉本のビルは、若干傾いている。ほんとに若干。
*吉本で仕事をしている人間は若干歪んでいる。
*逆に平行な廊下を真っ直ぐ歩くことが出来ない。
*ネクタイでチ○コを隠している人間は、若干見えている。
どんな曲が流れても歌詞をつけないと気が済まない松本さんに質問です。笑点のテーマ曲には歌詞があると聞きました。どんな歌詞がついているんですか?

!笑点のテーマ
*当初(5 回目くらいまで)は流していた。
*なかにし礼と阿久悠が切磋琢磨して良いものができた。

!笑点のテーマの歌詞
>だから、前から言ってんじゃん♪ ぷうっ♪
>だから、前から言ってんじゃん♪ ぷうっ♪
>
>彼女に好きだと♪ 彼女に好きだと♪
>言っちゃ~えばいいじゃんっ♪ うっ♪
>(そんな、そんな、そんな。。。)
芸能界一女性の気持ちのわかる男、松本さんに質問です。女でも恥ずかしくない AV の借り方を教えてください。

!考えすぎ
*普通に借りればいい。

!松本の借り方
*普通の映画を借りる時、あえて AV を上にする。<br>⇒ 恥ずかしがっていると思われたくないため。

!恥ずかしくないの借り方
*パッケージを見ながら、{{m{
>「これ、あたしやん!! なつかしいなぁ。。」
}}}
お笑い界のダークエンジェル松本さんに質問です。先日、翼の折れたエンジェルを見かけたそうですが一体どこで見かけたんですか?

!見かけた場所
*ペットショップで見かけた。

!値段
*32,000 円くらい。

!容姿/特徴
*ウンコだらけだった。(掃除してあげていない??)
*痛んだ右の翼が熱を持っているため、左の翼で仰いでいた。{{m{
>「アイタタタタタタ。。」
}}}
*鉄柵を掴んでリハビリをしていた。
*翼が折れると東洋人のような顔になる。
行列を見るととにかく並んでみたくてウズウズするという松本さんに質問です。蟻の行列について行くと一体何が待っているんですか?

!いろんなものが待っている
*普通考えられるものは甘いもの。あめちゃん。

!ついて行くのは大変
*蟻の歩幅と人間の歩幅が違うため。
*壁を伝っていく場合もある。

!オチ
*なし。
グリム童話「ハーメルンの笛吹き男」で笛を吹けば町中のネズミが男の元に集まってきたように、ひとたびその歌を口ずさめば、たちまち町中の老若男女が集まり踊りだすという、松本さん作詞作曲の魔法のような出囃子があると聞きました。一体どんな出囃子なんですか?

!過去の作品について
*過去のを振り返ると長すぎた。もっとショートで。

!魔法のような出囃子
*ガキガキ君{{m{
>ガキの使いは楽しいな~♪
>ガキガキ君!!(ガキガキ君!!)
>ガキガキ君!!(ガキガキ君!!)
>ガリガリ君!!
}}}

!パクリではない
*決してパクリではないから怒られない。
*ものすごい呼吸が大事。昨日今日のコンビには出来ない。
*前半の完成度が低いが、このくらいの方が老若男女も踊りだす。
*最後は言っちゃって良い。禊ぎ。{{m{
>「パクリとかの次元じゃないよ。訴えないでね。」
}}}

!後日談
*放送後に「ガリガリ君」が大量に送られてきた。
芸能界の空気清浄機、松本さんに質問です。マイナスイオンの中にいると具体的にどれくらいテンションが上がるのですか?

!マイナスイオンの効果
*マイナスイオンは人間のテンションを上げるとされている。
*例えば、リビングにマイナスイオン発生器を置いていると、入った瞬間に「マイナスイオンやな」と感じ取れる。

!隙間から入ってくる
*マイナスイオンは隙間に入ってくる。
*スーツの襟の裏にも入ってくる。
*チ○コの裏にも入ってくる。
*尿道にも入ってくる。
*裾からもガサガサガサと入ってくる。
*テレビの裏とかにもものすごい居る。
*カーテンの裏とかがボコッとしている。(居るのがバレバレ)
*SEX してる時もまるでディレクターのように周りで見ている。
匂い付きトイレットペーパーのあの匂いは、いつ嗅ぐのが正しいのですか?

!嗅ぐ必要性
*たしかに嗅ぐ必要性が感じられない。
*しかし、嗅ぐからこその臭いである。

!逆は真なり
*焼きそばと餃子が好きだからといって「焼きそば餃子」を食べたいわけではない。
*好きなものを足したら、倍おいしくなるというのはアホの考え方。
*しかし、逆は真なり。嫌いなものを足したら意外と良かった。というのが今回の例には当てはまる。
*トイレットペーパーとウンコの臭いが合わさった時、ものすごい良い臭いとなる。{{m{
>「これが、あの子!? これが、田舎臭かったあの子!?」
}}}
日頃から「逃げるという勇気もある」が口癖の松本さん。ヤマンバに捕まった時の逃げ方を教えてください。

!出会い
*八甲田山で出会った。駅前で。(早っ){{m{
>「お~い!! 松本~!!」
>「ちょっと、切符渡してないから待って」
}}}
*最初は写真を撮ってくれと寄ってきたが、1 人撮ったらきりがないから断った。{{m{
>「いつも観たってんのになぁ。。」
>「DX(ディーエックス)見てるで、DX。」※ 間違っている。
}}}

!ヤマンバの口癖
>「嫌っがんなよ!!」

!泊まっていけとしつこい
>「泊まっていけ~や~!!」「家の小屋来て、おじや食っていけ~!!」
*とりあえず泊まる事になった。
*臭いパジャマを貸してくれた。ご飯やケチャップが付いている。嫌がると。。{{m{
>「嫌っがんなよ!!」
}}}

!寝ていられない
*刃物を研ぐ音が聞こえてくるので寝てられない。
*障子が開きヤマンバは乳ボローン。
*乳を顔に当ててくる。Tゾーンから責めてきた。嫌がると。。{{m{
>「嫌っがんなよ!!」
}}}
でんでん虫虫カタツムリという歌には、実は10番まで歌詞があると聞きましたが、7番目の歌詞を教えてください。

*※ 1 : ココでもう一度目玉の場所を聞く。
*※ 2 : 完全になんかやる気。
*※ 3 : 小学生の教科書には載せられない。
*※ 4 : ハミングになる。
*※ 5 : 英語になる。

!カタツムリの歌詞
*カタツムリの謎の解明をテーマとする歌である。 {{m{
|!1 番|でんでん虫虫 カタツムリ おまえの目玉は どこにある 角出せ 槍出せ 頭出せ|
|!2 番|でんでん虫虫 カタツムリ おまえのお手手は どこにある 角出せ 槍出せ 頭出せ|
|!3 番|でんでん虫虫 カタツムリ おまえは何時に どこに来る 角出せ 槍出せ 頭出せ|
|!4 番|でんでん虫虫 カタツムリ おまえは目玉は どこにある 角出せ 槍出せ 頭出せ(※ 1)|
|!5 番|でんでん虫虫 カタツムリ おまえの口座は どこにある 三井 三菱 さくらなのかい(※ 2)|
|!6 番|でんでん虫虫 カタツムリ おまえの○○○は どこにある 角出せ 槍出せ 頭出せ(※ 3)|
|!7 番|でんでん虫虫 カタツムリ おまえのマンション どこにある 角出せ 槍出せ 頭出せ|
|!8 番|でんでん虫虫 カタツムリ おまえの愛は どこにある 角出せ 槍出せ 頭出せ|
|!9 番|でんでん虫虫 カタツムリ おまえのルルララ ララルルラ ンンンン ンンンン ンンンンンン(※ 4)|
|!10 番|でんでん虫虫 カタツムリ Fly away 。。。(※ 5)|
}}}
うなぎパイを一日に 7 つは食べるという松本さんに質問です。エロガッパはどれくらいエロいのですか?

!エロガッパ
*カッパだけにつけられた称号。
*エロキリギリス、エロ犬などはない。

!カッパのエロさ
*カッパ全般がものすごいエロい。

!カッパ気質
*カッパ気質の人がいる ⇒ 例:浜田
*昔は、カッパと人間の落とし子がいた。それが浜田。カッパ 4 世。クウォーター。
*ダウンタウンが下ネタ好きと言うイメージは大きな間違い。浜田が好きなだけ。
*まわりは浜田に気を使って下ネタを言っている。浜田が好きだから。{{m{
>「今日ぐらい下ネタ言っておいた方がいいよぉ。」(スタッフ)
>「言いました。僕、今日、3つ言いました。」(スタッフ)
}}}

!品性下劣のエロさ
*何にでもチ○コを入れようとする。
*自動販売機のお釣り口のところ。
*駐車場のカードを入れるところ。薄くして入れようとする。
*最初さえ入れば何とかなると思っている。
*何を見ても噛んだり噛めへんかったりの感じをしようとする。
ヌードになったらエンジェルの羽がばれがちな松本さんに質問です。デビルとデーモンとサタンの見分け方を教えてください。

!容姿
*普段はばれない様にサラリーマンのような格好をしている。
*タイツにフォークというのは民族衣装的なもの。普段は着ない。

!見分け方
*一番分かりやすいのは、ジャケットの内側に刺繍で書いてある。{{m{
>「デビル大杉」(2 世のような振りをしている。) 
}}}
*屁をこく時が違う。{{m{
|デビル|ブッ!!|
|サタン|ブッ!! はぁ。。|
}}}
*3 人はジャンケンのような感じになっている。{{m{
|サタン ⇒ デーモン|お前なぁ。。|
|デーモン ⇒ サタン|やめてぇやぁ。。|
|デーモン ⇒ デビル|お前こらぁ!!|
}}}
いまだに破られることのない記録、甲子園 6 回出場の松本さんに質問です。誰も見た事のない、いわゆる「甲子園の魔物」とは、一体どんな出で立ちで、どんな口癖があるんですか?

!遭遇
*高 2 の夏に目撃。入場行進の前。{{m{
>「パンパンパンパン♪ パンパンパンパン♪ パンパンパン♪」
>(夏夏♪夏夏♪ココナッ~ツ♪)※二人の愛ランド
}}}
*行進の時、ストッキングを履き忘れていることに気づいた。{{m{
>「兵庫県代表の人~!! 尼高の人来て下さ~い!!」
>「タータタ♪タタタタタタター♪」
}}}
*ロッカールームに取りに戻った時に「甲子園の魔物」に遭遇。

!出で立ち
*めちゃめちゃでかい。
*蛇口に口をつけ水を飲んでいた。⇒ 夏だから喉が渇いていた。
*坊主。⇒ そこはやはり高校球児。
芸能人の家には全てと言っていいほど遊びに行った事のある松本さんに質問です。セイン・カミュの家の間取りについて詳しく教えて下さい。

!セイン・カミュの家
*一軒家に住んでいる。18 坪くらい。少し小さい。
*表札に「カミン」と書いてある。その下に紙で「富田」と貼ってある。一緒に住んでいるのかも知れない。

!セイン・カミュの家の間取り
*30 畳くらいのリビングがある。斜めに坂状になっている。階段も兼ねる。
*畳の目が横になっており滑らずに登れる。あまりくつろげないが満足している。{{m{
>「でもリビングはそんなんでええんやぁ。セインだけに。」
>("セイン" にかかっていない事を注意すると機嫌が悪くなる。)
}}}
*トイレは坂を上がった所にある。
*風呂は 3 つくらいある。セインだけに。
*寝室は 2 階にあるが、18 坪なのであまり広くは取れなかった。

!セイン・カミュの人柄
*30 畳のリビングはセインの夢。
*斜めでもやるところにセインの人柄がでている。
困っている人を見ると助けずにはいられない男気溢れる男、松本さんに質問です。学校でウンコをするのがばれると皆にいたずらされたり、後で色々言われたりするのでとても嫌です。どうしたらウンコがばれないのか教えてください。

!決して認めない
*一番大事なことは「認めない」こと。
*浮気現場を見つけられても白を切り通せば、どこか信じてしまう。

!していないと言い張る
*トイレに入るところを見られても{{m{
>「いやいや、ちょっと便器を見たかっただけや。」
}}}
*しゃがんでいる所を見られても{{m{
>「どんな色のパンツか見てたんや。」
}}}
*ウンコという言葉を言っては身も蓋もない。{{m{
>「パンツにウンコ付いてるかどうか見ただけや。」(NG)
}}}
*ウンコがポロポロ出ている所を見られても{{m{
>「吸うてるのや。吸い上げてたんや。」
}}}
吉本きってのピチピチ芸人松本さん。なぜ松本さんはいつも「もぎたて」でいられるんですか? 毎日を「もぎたて」に生きるコツなどを教えてください。

!もぎたてに生きるコツ
*「もぎたて」でいたい気持ちを心に持っておく。
*車のナンバーも「もぎたて」
*携帯番号も「090-もぎもぎ-もぎたて」
*目標にしている人、憧れの人、尊敬する人、憧れのヒーロー、は「もぎたて」
*「もぎたて」に追いかけられる夢も見る。

!フレッシュでいるということ。すごく大事な事。
*おいしい梨だって、放っておくと腐ってしまう。{{m{
>「時の流れって人の心を癒す事もあるけども、腐らす事もあるんやなぁ。」
}}}
*浜田には NSC の一期生の頃を思い出して欲しい。今は、フレッシュがどんどん剥がれていってしまっている。
*松本は、フレッシュのウロコにピッチリ覆われている。
*眉間にしわを寄せるにもフレッシュな寄せ方にすると良い。
若い頃よく伊賀の里でとっぱらいの営業をしていたという松本さん。生涯、恋することを禁じられている「くノ一」の落とし方を教えてください。

!「くノ一」はドスケベ
*「くノ一」は過剰なほど落とされる事に敏感である。
*普段からいやらしい事を考えないようにしている。
*何がいやらしいことかが分かっているからこそいやらしい。
*裏を返せば「落とされたい」という事。ドスケベ。
*刀でも構えながら柄を股間にグリグリしている。
*手裏剣を投げる瞬間も乳首をクリクリしている。 

!「くノ一」の落とし方
*家で寝てたら、バタンバタン!! と隠し戸が開いた。「覚悟~!!」
*布団へ誘ってみるがそう簡単には落ちない。
*片手を掴んで服を剥ぎ取り、煙玉で逃げようとする中で抱き合った。(⇒ 落ちた。)
アンパンマンはお腹が空いて困っている人を見ると自分の顔をちぎってあげますが、松本さんは困っている人を見ると何をあげるんですが?

!基本はアンパンマンと一緒
*ただし、本当にちぎるわけではない。
*笑顔をあげているみたいな。<br> ⇒ 浜田と観客に満面の笑顔を見せる松本。
昔、家電メーカーの工場で組立作業のアルバイトをしていた松本さん。オーディオの音量ボリュームを最大にすると一体どうなるんですか?

!日本固有の問題
*日本は住宅が密集しているので機会が少ない。

!最大にするとどうなるか?
*最大にすると、スピーカーからオッサンが出てくる。
*「R」と書かれた T シャツを着たオッサンが出てくる。{{m{
>「出来るか!! こらぁ!!」
}}}
*「L」と書かれた T シャツを着たオッサンが止めに出てくる。{{m{
>「まあまあまあまあまあ、やめときなはれ」
>「手出したら負け、手出したら負け」
}}}
*そのうち普通に聞いててもたまに出てくる様になる。

!オッサンについて
*スピーカーの網目から覗いている。
*スピーカより少し大きなオッサンが入っている。
*大きなスピーカーには大きなオッサンが入っている。
子供の頃友達が愛犬のペルしかいなかったという松本さん。小さい時、犬に噛まれると狂犬病になると言われましたが、狂犬病とは一体どんな病気なんですか?

!狂犬病の経験
*小 2 の時に、なったことがある。
*学校で飼っていた犬に噛まれた。

!狂犬病とはどんな病気か?
*噛まれたその日は快調。
*ごっつ走れるし、笛もごっつ吹ける。
*体育の授業では褒められた。{{m{
|先生|ごっつ速いやん。松本!! どうしてん!?|
|松本|いや別に。。ガルルルルゥ。|
}}}
録画漏れ。情報求む。
録画漏れ。情報求む。
なぜか平井堅が「大きなのっぽの古時計」を流行らせてますが、実はあの歌には 3 番、4 番、5 番があるそうですね。古時計はどんな運命を辿っていくんですか?

!簡単に言うとどんな歌?
*「ジジイ死んだら時計止まった」という歌。

!古時計の運命
*爺さんの話は 2 番で終わり。
*3 番以降は婆さんの古いタンスの話。
**婆さんの思い出とタンスとのとても良い話。
**婆さんが死んだら、引出しが開かなくなった。(鍵を掛けていたから){{m{
>「今はもう、開かない。。婆さんのタンス。。」
}}}
*その後は、爺さんの腋臭の話。{{m{
>「今はもう、臭わない。。」
}}}
子供の頃、虫と遊んだ思い出が忘れられないという松本さん。カブト虫のプライドをへし折る方法を教えてください。

!カブトムシのプライドの高さ
*どこか俺は別ものと思っている。
*雑誌の表紙でも真ん中に立つ。(言われなくても)
*クワガタとはライバル意識が高い。
*クワガタよりも遅れて入る。{{m{
>「はい、おはよう~。」
}}}

!プライドをへし折る方法
*仕事終わりにてんとう虫なども誘い飲みに行く。
*お会計の時に、角を使って × を作る。クワガタの方がカッコイイので腹が立つ。
*領収書にカナブン様と書かれてしまう。{{m{
>「気づいてなかったじゃん。結構出てんのに。」
}}}
*カマキリに見られたりしたら、もう大変。{{m{
>「アレ? アレレレレレレレ?」※ カマを交互に。
}}}
その昔、稲川淳二と心霊ユニットを組んでいたという松本さん。松本さんが霊媒師時代に一番取り払うのに苦労したのは何の霊ですか?

!稲川淳二との心霊ユニット
*2 ヶ月限定で組んでいた。9 月、10 月。

!取り払うのに苦労した霊
*ウンコの霊が一番取りにくかった。
*落武者の霊にウンコが付いている状態。
*ウンコを取ってから、霊を取らないといけない。2 度手間。
*落武者のウンコを揉み洗いしたが、なかなか取れなかった。
世界各国の超一流シェフ達とメル友の松本さんに質問です。5 つ星レストランといえばフランスでは何年先も予約でいっぱいという最高級レストランですが、実はその上に 6 つ星レストランがあるという噂を聞きました。一体 6 つ星レストランではどんなメニューやサービスが施されるのですか?

!6 つ星レストラン
*世界に 4 ヶ所ある。

!6 つ星レストランのメニュー
*基本的にはメニューは 5 つ星と同じ。味も変わらない。
*全部にごはんが付いてくる。何を頼んでも小ライスが付いてくる。{{m{
>「それは嬉しい」(浜田)
}}}
*デザートにも付いてくる。ケーキにもコーヒーにも付いてくる。
*漬物付き。小ライスの横にたくあんが 2 枚くらい付いている。
日本昔話と全く同じシチュエーションになった経験が 100 回あるという松本さんに質問です。今から 17、8 年前、ものすごいイジメにあっているカメを助けたことがあると聞きましたが、その後はどこに連れられて行ったんですか?

!ひどいイジメ
*忙しいので、石を投げつける程度では止めには入らない。
*1 回、出されて、裏にして入れられていた。{{m{
>「えぇ! うそーん!」
}}}
*次に始まったのがシカト。あれが一番いやらしい。何にも言わない。{{m{
>「着メロどんなんしてんのぉ~」とか雑談。
}}}

!助けてあげた後
*「竜宮城かな?」と思って正直ニヤっとしたが、悟られないようにしていた。{{m{
>「僕、あんまテレビ見ないんでー。あんま知らないんですよ、こういうのー。」
}}}
*でも、本当はこのパターンは竜宮城であることは知っていた。

!どこに連れられて行った?
*甲羅の中へ連れて行かれた(ズルー引き込まれた)。中はほとんどカーテン。
*(後に間違いであることを訂正、甲羅ではなかった。もっと現実感がある。)
*五反田の風俗。本当はカメしか行けない所。「悶絶海亀コース」

!悶絶海亀コース
*球をケツにグリグリグリ~。{{m{
>「もう 1 個入るよ~」
>「もう無理です。」
>「バカ言ってんじゃない。もう 1 個入るわよっ!」
}}}
*「浜行け~!!」と言われ、泣きながら入れられた球を出した。(産卵??)
かつて一斉を風靡したジュリアナ東京で、「ジュリアナトキオー」と叫んでいた、あの外人 DJ は今どこで何を叫んでいるのですか?

!外人 DJ について
*アラブ系のアメリカ人。

!今どこで何を叫んでいる?
*こないだの火曜日に見かけた。
*ユニクロのスジ(隙間)へ入っていった。
*現在はホームレス的な生活。服はボロボロだった。
*叫んでいた。{{m{
>「明日からドーシヨー!!」
}}}
いつもシャンプーの香りが漂うことで有名な松本さんに質問があります。どうして犬はウンコをする時、悲しそうな顔をするのですか? 教えてください。

!犬はおもろくない
*基本的にはボケない。
*自分の尻尾を追ってクルクル回ってるのなんて、サブくて仕方がない。

!唯一のボケ
*ウンコをすること。もっとウケると思っている。
*だって普通考えられない。ビルの谷間にウンコ。肛門丸出し。
*だからウンコがしたくなって来ると半笑い。

!悲しそうな顔の理由
*身を呈して、恥も外聞もなくウンコをしても主人は全然笑ってないので悲しい。{{m{
>「ウケるかなぁ。。」
>「また、すべったのぉ?」
}}}
自宅マンションの 4LDK のうち 3LD までがペットの動物に占領されているという程、動物好きの松本さんに質問です。ライオンは子供を谷底に落として這い上がってきた子供だけしか育てない程、厳しいことで有名ですが、ナマケモノも見かけによらず厳しい子育てをすると聞きました。どういった方法なんでしょうか。

!ナマケモノに大切なこと
*ナマケモノはいかに怠けているかが重要。
*怠けなければ育ててもらえない。

!厳しい子育て
*二十歳になったらケツに火を点けられる。
*目の前に消火用の水が置かれているが、急いではいけない。
*そばで親父が厳しい目で見ていて注意される。{{m{
>「あれ? 今、急いだんちゃう?」(親父)
}}}
千葉の山奥に「ラストチンピラー」という生物が存在しているらしいのですが、一体どんな姿をしているのですか? 教えてください。

!絶滅危惧種
*絶滅の危機にさらされている。

!容姿
*スカジャンを着ている。袖に手は通していない。肩に掛けている。
*ペンダントをしている。
*毛むくじゃらである。 

!特徴
*パチンコの玉を何個か握っている。
**本当に握っているのはボスだけ。
**他は持っている振り。⇒ ボス憧れ。 
*山奥なので肩に木の枝が当たりながら歩いている。
**当たってくる木に対しては厳しい。
*ドングリが好物であるが、アホなので高い所にあるドングリを取ることができない。
*普段は草を噛みながら、チンピラ風に歩いている。憧れ。
*歩くスピードは遅いが、ドングリが落ちるのを見ると急ぎ足になる。
今までに 18 回宇宙人に連れ去られたことがある松本さんに質問です。13 回目の時が一番印象深いと言っているそうですが、それはどうしてですか?

!UFO への連れ去られ方
*めちゃめちゃ連れ去られた。3 時間間隔で連続。
*ビデオ(ゴットファーザー)を見終わったと思ったらすぐに。
*見た目は、光に包まれ上がっていくように見えるが実際は楽ではない。
*作業服風の宇宙人が降りて来て、ハーネスを取り付けている。{{m{
>「ココ(足の付け根)にスポンジ的なものを!! ココにスポンジ的なものを!!」
>「君、何でココ赤いねん?」(お前がやったからやないかっ!!)
}}}
*18 回ずっと言い続けたが聞き入れてもらえず。

!宇宙人の容姿
|質感|ブヨブヨ(怒るとカチカチ)|
|体の色|藍色|
|大きさ|大人も子供も同じ。|

!何をされるのか?
*脳に語りかけてくる。{{m{
>「ブヨブヨのうちに言う事聞いとけよ。」
>「カチカチになったら知らんで。」
}}}
*まずは服を脱がされる。脱衣カゴ的なものが意外と小さいので尋ねると。。{{m{
>「これ入ります?」⇒ カチカチになりかけた。
}}}
*恥ずかしいこと、痛いことをいっぱいされる。
*コタツの足的なものでグリグリグリー。(検査ではなく子供の悪戯だった。)

!スタンプカード
*スタンプカード(24 個分)をくれる。
*初回の時は 2 個押してくれる。
*10 個で「大学ノート」と「鉛筆」をもらった。
*20 個で「CD ウォークマン」
週に 1 度は必ずドンキホーテの家電コーナーで新製品のチェックをしているという松本さんに質問です。DVD プレイヤーに CD を入れて再生すると、一体どうなるのですか?

!電化製品は頭が良い??
*電化製品は頭が良いと思われがちである。
*オカンのよく言う台詞。{{m{
>「かしこいなぁ」
}}}

!意外と大したことはない
*決められたことしか出来ないガリベンタイプ。
*CD 入れられても気づかず、映像を出してしまう。
*10 分くらい観ていると画面上に「あ!!」の文字が。
*恥ずかしいのか画面も赤くなってくる。トレーのカバーもカタカタ震えている。{{m{
>「ちょ、ちょっとちょっと!!」
>「今、流してもうたんちゃうん!! 流してもうたんちゃうん!!」
}}}
超ド S の浜ちゃんは納税以外に人のために良い事をしたことがないと良く言われますが、長年コンビを組んでた松本さんなら浜田さんが他に人のためにした良いことをきっと知っているはずなので教えてください。

!浜田がした良いこと
*少し考える(思い出す)時間を。。
*何個かはあると思うので。。

!長考。。
|浜田|まっつん!! 昔から一緒やんけ!! なんかあるやろ!!|

!長考。。
|浜田|まっつん!! 分からなければ高っちゃんに聞いといで!!|
|松本|出かけてる。公園でなんか。。|

!長考。。
|浜田|まっつん!! 言えや!! 早よう!!|
|浜田|遅かったら、なんかウソ臭いやん!! パッと言おうや!!|
|浜田|あんまり、考えられたらイメージ悪い。|
|松本|出かけてる。公園で俺がつまづいてこけた時に。。|
|松本|ウンコと一緒で出だしたらドロドロドロ出るんで。|

!長考。。
|浜田|高っちゃん!! 高っちゃんて!! 高っちゃんて!!|
|浜田|まっつん!! 困ってるでー!!|
|浜田|早よう言えや!! 1 個言ったら帰るからもう!!|
|松本|あれあれあれあれ。あー、あれワンちゃんや。結局あれワンちゃんや。|
|浜田|誰が分かんねんそんなもん!!|

!長考。。
|浜田|何でもええやん。何でもええやん。|
|浜田|これは失礼だ。。|
|浜田|お前さ、ハガキの質問はスラスラーっと言うくせにさ!!|
|浜田|コンビ組んで 21 年。いろいろ見てきたやろ!! 言えや!!|
|浜田|ええ事したやろ 1 回くらいよー。1 回とこちゃうはアホ!!|

!長考。。
|浜田|パッと言うてくれたらええやん。|
|浜田|何をイライラしてんの? 何をイライラしてんの?|
|浜田|もう、ウソでもええわ。言うて。|

!長考。。
|松本|ウソも出えへん。。|
|松本|こんなこと今までなかったのになぁ。。|
「ジャパネットたかた」の高田社長と 2 泊 3 日で八ヶ岳に行ったことがある松本さんに質問です。その八ヶ岳で 2 日目の夜、高田社長がものすごい寝言を言ったと聞きましたが、どのような寝言を言ったのですか? 教えてください。

!松本と高田社長との関係
*松本の姉の旦那の弟。
*「近っ!!」ということで訂正。<br>⇒ 松本の姉の旦那の父親の弟の嫁の息子。(中学生くらい??) 

!八ヶ岳旅行
*2 人で行った。
*良く喋る。新幹線でも良く喋る。訛っている。{{m{
>「松本君、ベガはねぇ~。ベガはいいですよ~」
}}}
*語尾に「ベガ」をつける。(WEGA:当時の SONY のテレビ主力製品。){{m{
>「おなか減ったベガ~」
}}}

!ものすごい寝言
*2 日目の夜の寝言。毒ついていた。{{m{
>「手数料くらい自分で払え!!」(あきませんて、社長!!)
}}}

!職業病
*職業病なのか普段は電化製品を蹴りまくっている。嫌いらしい。
*旅館に入っても置いてあったテレビをバンッ!!{{m{
>「いいねん、松本君!! ベガじゃないだろう!!」
}}}
秋葉原の電気店全店のポイントカードを持っているという松本さんに質問です。カーナビはある場所を指示されると激怒するといいます。それはどこですか?

!青春、僕の夢
*指定すると、ナビの女性を押しのけてオッサンが出て来る。{{m{
>「オイッ!! オイッ!!」
}}}

!ライバル社
*ライバル社を指定すると、若干すねる感じになる。{{m{
>「あー、ハイハイ。。」
}}}
*渋滞の方へ誘導するようになる。
アメリカ人よりも野球に詳しい松本さんに質問です。来シーズン松井がメジャーリーグで活躍するために必要な「かきくけこ」を教えてください。

!松井に贈る「かきくけこ」
*松井のプレッシャーは半端ではない。
*「かきくけこ」でエールを贈る。⇒ 本当に松井に届けて欲しい。
*一度、落としてから持ち上げた方が効果的。{{m{
<<<
「聞け!! 松井!!」
「いつまで、そのサラサラヘアーで行くんじゃ!!」
「センター分けにも程があるんじゃ!!」
「松井ーーーっ!! これからお前にーー!!」
「大リークでがんばっていくための「かきくけこ」を出すからーーっ!!」
「死ね!! 松井!!」
「松井よー!! 行くぞー!!」
「松井!? 泣いてんのか?」
<<<
}}}
*(結局、「かきくけこ」はなし。)
浜田さんの奥さんと 5 年前から不倫している松本さんに質問です。最近、浜田さんの奥さんとグアム旅行に行ったらしいですが、その旅行の話を是非聞かせてください。お願いします。

!とうとうこの日がやってきた
*いつこのハガキが来るかと思っていた。
*「週間女性」然り、「アサヒ芸能」然り、いつスクープされるかドキドキしていた。
*浜田の嫁とは密に連絡を取り合っていた。以下、電話の会話。{{m{
>「お前、何?、声ちっちゃい!!」
>「大丈夫やねんな!! 大丈夫やねんな!!」
>「だから結局まとめると、大丈夫やねんな!!」
}}}
*ガキの使い収録中も電話があった。{{m{
>「うわっ!! 旦那おんのに大丈夫か?」
}}}

!グアム旅行
*グアムでは 2 日目から合流。ハワイに行くと見せかけてササササッと。
*危険な情事は人を燃えさす。だからあんなに「抱いて」と言ってしまった。
*ほとんど「抱いて」しか言ってなかった。{{m{
>「うるさいねん!! お前、抱くねん!! 何回言うねん、お前!!」
}}}
今の浜田さんは松本さんにとって 8 代目の浜田さんだと聞きました。今の浜田さんを 8 人目に選んだきっかけを教えてください。また、7 代目の人は、どこが良くなかったのですか?

!8 代目「浜田雅功」
*8 代目(今の浜田)は 20,000 人の中から選ばれた。
*「全国の浜田を探せ」で四国代表と最後まで競り合った。
*タップダンスで勝利を勝ち取った。

!7 代目「浜田雅功」
*過労で亡くなった。{{m{
>「だから、体には気いつけよ! 健康でおれよ!」と言っている。
}}}

!9 代目「浜田雅功」
*この間、HEY×HEY×HEY を休んだ時点で、オーデションの話が来ている。
*インド人で元気な子がいるらしい。結構前に出るタイプ。松本は相方の国籍には、こだわらない。

!引継ぎ
*浜田から引継ぎの希望あり。
*とりあえず、来週はターバンつけて来る。<br>⇒ インドのニュアンスを出していく。
*再来週くらいからインド人と 3 人でやりつつ移行していく。
*ターバン残しでササッと変わるように。

!松本の心配
*松本は他の番組が少し心配。ガキと DX で違うのがややこしい。
*インド人はターバンありきで叩いてくるであろうから痛いかも。
募金箱を見つけると、必ず使用済みテレホンカードを入れる松本さんに質問です。悪魔からフォークみたいな槍を取り上げると、悪魔はどうなるんですか?

!芸人気質
*悪魔はああ見えて、芸人気質なところがある。
*芸人も悪魔みたいなところがある。(加藤茶なんか普通に見たらヤ○ザ)

!槍を取り上げられたら。。
>「あ゛ぁ゛!! や゛り゛か゛あ゛れ゛へ゛ん゛か゛な゛ぁ゛」(オチなし)
いつも相撲の決まり手で数々の難を逃れてきたという松本さんに質問です。実は相撲の行司が発する「ハッケヨイ」には、別の言い方が、あと 5 つ存在すると聞きました。それはどんな掛け声なんですか。是非教えてください。

!固定観念の恐さ
*みんな「ハッケヨイ」と言ってると思っている。そう聞こえてしまっている。{{m{
>「なぜ、そう言い切れるのか?」
>「なぜ、人は恋をするの?」
>「なぜ、あなたは綺麗になりたいの?」
}}}
*鶏でも日本は「コケコッコー」、英語では「クックドゥー ドゥルドゥー」

!「ハッケヨイ」の別の言い方
*松本は土俵前で聞いていた。
*NHK が商品名を言って良いのか疑問に感じた。{{m{
|Have a break, Have a KitKat.|ハブァブレ~、ハブァ、キットカット!! キットカット!!|
|タッキー & 翼|タッキィア~ン、ツバサ!!、タッキアンツバッ!!|
}}}
競馬好きで馬と会話ができる松本さんに質問です。レース前に馬はどのような話をしているのか教えてください。

!会話の内容
*あまりにも普通{{m{
>「一緒に走ろうなぁ」
>「ゴール一緒に踏もなぁ」
}}}
松本さんが「コイツ俺のことナメとんちゃうか」と感じた時に使う技、「スパイラルハリケーン」とはどんな技ですか?

!めったには出さない
*年に 5 回程度。最近では先々週。
*駐車場のオッサンのいいかげんさにムカついた。{{m{
>「ハイ!! ハイ!! ハイ!! ハイ!! ハイッ!! ハイッ!! ハイッ!! ハイッ!! 」
}}}

!スパイラルハリケーン
*服を脱がないと出来ない。
*お尻の辺りが「ヴゥゥゥ。。」してくる。出ようとしてヒクヒクしている。 
*ちょっと出てしまった。トロトロトロトロ。出た所がピリピリするので、おしぼり的なもので拭く。
*お尻が半透明の緑色になってくる。
*オッサンに向かって無造作に発射。ひし形上の光の球が発射する。{{m{
>「ハイ!! パンッ!! ハイ!! パンッ!!」
}}}
芸能界一のパーティー好きである松本さんに質問です。吉本興業で最も盛大なパーティと言われている西川ヘレンさんのお誕生日パーティーではどのようなことをするんですか?

!お誕生日パーティー
*4 年程前。ヘレンが 50 歳くらいの時に出席した。
*吉本で来ていなかったのは、浜田と桂きんし師匠くらいではなかったか。。

!家族総出のもてなしがスゴイ
*新大阪から向かいに来ていた。
*新幹線が到着する頃、ヘレンが裸で待っている。<br>⇒ ヘレンの方がよっぼど「のぞみ」
*キー坊は頭突き出し過ぎで、新幹線に当たって擦れていた。{{m{
>「ガンッ!! ガンッ!! ガンッ!! ガンッ!! キュイン!! キュイン!!」
}}}
*西川きよしの自宅(箕面)まで車で送迎。
*ヘレンは横でボンネットに手を付いてついて来てくれる。(映画「ボディーガード」風)

!料理がスゴイ
*世界の食べ物が全てある。
*120 畳くらいの寝室に並べてある。リビングは 9 畳。おそらく設計ミス。
*世界地図みたいのがあり、その上に料理が置いてある。若干間違いがあった。
*至る所に爪楊枝が刺さっている。一人 1 本まで。{{m{
|キー坊|軟らかいもんから食べていってください! <br>(爪楊枝はすぐに痛むので。)|
}}}

!催し物がスゴイ
*ヘレン対毒サソリ{{m{
|キー坊|今日は! ヘレンが! 毒サソリと戦っていただきます!|
}}}
*祝ってもらって嬉しいらしく、ヘレンはがんばっていた。{{m{
|ヘレン|うれしいねん! うれしいねん!|
}}}
*1 回刺さったが、刺さってないことにしていた。{{m{
|キー坊|ドン! ドン! ドン! ドン! ヘレンの優勝~!|
|松本|刺さってんけどなぁ。。|
}}}

!お土産がスゴイ
*ヘレンのマジのキス。{{m{
|キー坊|ヘレンのマジのキスをしていただきます!!|
|ヘレン|うち、もう、そんなん嫌やわ~|
|キー坊|ドン! ドン! ドン! ドン! ヘレン行け~!|
}}}
*キー坊は何かというとドラを鳴らす。 

!ヘレンの居場所
*ヘレンは基本的に透明の箱の中にいる。
元宇宙刑事の松本さんに質問です。地球の平和を守ると言うヒーロはたくさんいますが、それぞれのヒーローのテリトリー分けはどのようになっているのでしょうか? 彼らをテレビで見る限りでは、どうも東京近辺での活躍が多いような気がします。全世界を股にかけるべきヒーロー達が東京近辺に偏っていても大丈夫なんでしょうか?

!宇宙刑事時代
*1 年半程やっていた。普通の警官にしたら 40 年分くらいに相当する。{{m{
>「どれだけ警察手帳が分厚いことか。」
}}}
*火星近辺を管轄していた。
*悪い奴を見つけると注意をする仕事。{{m{
>「あーっ!!」(一通を曲がろうとしていた。)
}}}

!宇宙ボイス
*宇宙ボイスなので宇宙空間でも相手に届く。
*プライベートな話も火星人には丸聞こえ。{{m{
>「こないだ、また、性感行ってもうたわ~!!」
}}}

!密室殺人事件
*火星人があまりにも密室で殺されているので調査。⇒ 勝手に死んでいた。
*火星人の生態として、口紅で「Y」とか書いて死ぬことは、調査の結果わかった事。

!浜田の暴言に対して一言
>「宇宙刑事に、そんな口聞いて済む思うてるの?」
*宇宙刑事に眉間を寄せて喋っただけで、裁判なしで禁錮 400 年の重刑。
*一日「麦チョコ」3 粒しか与えられない。

!同僚の死
*相棒(フランス人女性:ナスターシャ)が木星人に殺された。敵は討った。
*なんかの売買があるということで現場へ踏み込んだ。
*踏み込んですぐに角材で殴られナスターシャ死亡。<br>⇒ 乳ブリン放り出して亡くなった。(チャックが開いていた。) 
*木星人が 400 人くらいいた。
*光線銃で応戦したがコンセントの紐が短くて操作しにくい。
*クレームを挙げたが、デスクワークの人間は現場が分かっていない。{{m{
>「一回、現場来いっちゅうねん!!」
}}}
*身長、数 cm 位なので踏み潰した。(ナスターシャも同じくらいの身長。)
以前ペットとして飼っていたという「横分けネズミ」について教えてください。

!絶滅危惧種
*今は、もうほとんどいないと言われている。

!容姿
*髪型は「9:1」分け。体重 9Kg。

!横分けの仕方
*手のない「横分けネズミ」は、どうやって分けるか。<br>(人間には、手もあるし、ヘアートニックもあるし、クシもある。) 
*手がないので、常に分け目の方に走ることで分ける。
ボクシングの試合を見ていると、セコンドの人が、口をゆすいでくれたり薬を塗ってくれたりと、至れり尽くせりですが、セコンドの人は一体どこまでの事をボクサーにしてくれるのですか?

!セコンドがしてくれる事
*ラウンド間の時間は大抵 CM になっているため、会場の人しか見れない。
*試合が終わってからの食事について話していた。声は大きい。{{m{
>「ビーフ or チキン ?」⇒「ビーフ!!」
>「コーヒーか紅茶が付いてくるぞ!!」
}}}
*FAX で送られてきた物件情報を見せていた。{{m{
>「俺はええと思うけど。」「フローリングだぞ!!」}}}
天体望遠鏡の注意書きに「太陽を見ないでください」と書いてあるんですが、一体、天体望遠鏡で太陽を見ると何が見えるんですか?

!注意書きについて
*太陽を見ること自体が、目に悪いわけではない。

!太陽と目が合った時
*太陽と目が合った時がタチが悪い。
*ちょっと大き目のビデオ屋くらいなら、すぐに壊す。棚からビデオを全部落とす。
*目が合っても昼間にはやって来ない。仕事はちゃんとやる。{{m{
>「このガキ、見やがったなぁっ!!」
>「絶対、今日の夜行ったんねん!!」
>「早く、月、来いへんかなぁ。。」
}}}
*夜になって太陽がやって来る。寝てたら眩しくてたまらない。{{m{
>「お前、今日見てたやろ?」
>「へぇ、そんな感じの顔で寝てんのやぁ。」
}}}
*このトーンはタチが悪い。
*ビンタ「バーン!!」めっちゃ痛い。殴られた所を手で触れようとすると。。{{m{
>「(血なんか)出てへんっ!!」
}}}
子供のしつけにはかなり神経質な松本さんに質問です。よく親は子供に「早く寝なさい」と言いますが、子供なのに夜遅くまで起きていると一体どんな弊害があるのですか?

!弊害だらけ
*子供のためには早く寝るべき。
*親の SEX を見てしまうから。

!松本のエピソード
*小学 1 年くらいの時、天才バカボンの最終回を見ようとすると、親父が風呂屋へ言って来いと言う。なぜ今日に限って。。最終回は絶対に見たい松本。{{m{
|兄貴|もうええがな!! (兄貴は大人)|
|オカン|行く言うてんやから、言ったらええがなっ!!|
}}}
*風呂から戻ってくると、あんなにギスギスしていたのに結構仲良い感じになっていた。
動物園の「園」の部分が好きな松本さんに質問です。以前松本さんが飼っていたという可愛さゼロのウサギとは、どんなウサギなのかぜひ教えてください。

!容姿
*見た目はウサギ。
*身長
**耳を入れない場合:2 m 50 cm 
**耳を入れた場合:5 m 
**ウサギ自身は、計るなら耳を入れて欲しいらしい。{{m{
>「そんなん、耳入れなきゃ、ハッキリしたこと分かりませんやんー!!」
}}}
*話しながらもウンコ、ポロポロ。

!捨てようと試みるが。。
*結局、捨てようとしたが、振り向いたら目の前に。{{m{
>「捨てれてませんやんー!!」
}}}
*話しながらもウンコ、ポロポロ。
ありなしでいうと「アリ」の松本さん。この世の中で逆に「アリやな」と思うものを全て教えてください。

!ちょっと垂れ乳
*「私はエエ乳」みたいに歩いている女が、ちょっと垂れてたら。「コイツ~っ」となる。 

!童顔で剛毛
*浜田も賛同。

!50 代のオバハン
*20 代の女、30 代の女、40 代の女、50 代のオバハン、60 代のおばあちゃん。{{m{
>「50 代のオバハンが、今日、家に来んねん」
>「50 代のオバハンの忘れ物やで」(パンスト)
}}}
お笑い界の陰陽師の松本さんに質問です。キツネに取り憑かれた時の最も簡単な追い出し方を教えてください。

!蚊の「キーン」の音
*蚊の「キーン」の音はオスの羽の音。血を吸うのはメスで、オスを拒絶する時期。
*オスはメスのせいで殺されている。{{m{
>「俺、ちゃうのに~」
}}}

(閑話休題)

!取り憑かれないためには?
*キツネは取り憑くときに、人間だと思うから取り憑く。逆に言うと狐には取り憑かない。
*「コン、コン」言っていればいい。また 20 分置きにキツネのマネをする。

!取り憑かれてしまったら?
*少し荒療治になる。
*キツネに取り憑かれたと思ったら、すばやく「白蛇」に取り付かれるようにする。
*できるだけ裾の広いズボンを履く。スリムパンツみたいなものでは隙が出来にくい。
ドラキュラは、十字架のことを一体何と見間違えてあんなにビビッているんですか?

!嫁と間違えている
*ごっつ嫁が恐い。ビクビク。

!ドラキュラの嫁
*ドラキュラの嫁は恐いらしい。
*流し台をひっくり返したりする。
*聖水は嫁のションベンだと思っている。
*サーベルタイガーのような牙。噛まれたら「嫁」になる。
*全部が嫁になると種が絶えてしまう。それが一番恐い!!
*光が嫌いなのは、朝帰りすると嫁に怒られるから。{{m{
>「もう朝なってもうたー!! ミツコに怒られるーっ!!」
}}}

!ニンニクについて
*ニンニクは本当に苦手なだけ。そんなに嫌いではない。
「海で死ねたら」が口癖の松本さんに質問です。マリモの一週間について教えてください。

!マリモのこと
*みんなマリモのことをどこまで知っているのか?
*マリモのことを悪く言うと、マリモの主婦団体から抗議の電話が来るので注意。<br>⇒ 足元にマリモがいっぱい詰め寄ってくる。ちょっと恐い。

!マリモの一週間
!!月曜日
>「ゴロンと明日なろうかなぁ。。」
>「グルンとなってやろうかしら。。」
>「でもシャレにならんかなぁ。。」
!!火曜日
>「何でグルンとなるかどうかで昨日あんなに悩んでいたんやろ」
>「どうってことないやん。。」
!!水曜日
>「グルンとなる方法もあるけどグルン(反対)となる方法もあるなぁ。。」
>「よし、明日は絶対グルンとなってやろかな。。」
>「ビックリしよるで~」
!!木曜日
>「グルンとなってもなぁ。。」
!!金曜日
>「俺、でも、グルンとなってたんちゃうかな。。」
>「もう、なってたんやろう。。」
!!土曜日
>「なんか、そんなことよりも、ねむたなってきたなぁ。。」
!!日曜日
>「もう、このまま死んでもええんちゃうかなぁ。。」(静かに目を閉じていく)
おやつは、いつもビスコの松本さんに質問です。子供がただの 1 回も、おやつを与えられずに育つと、どうなってしまうのですか?

!松本の幼少時代
*おやつにするか、小遣いにするかを選択させられていた。
*子供にしたら、歩合制か給料制かくらい重要なこと。松本は小遣いを選択。

!どうなってしまうのか?
*別におやつを与えられないからといって、それ程、人生に影響はない。
*どうしても、肩で風を切って歩いてしまう傾向がある。ほんのちょっと。
*どうしても、駄菓子屋の前でポイ捨てしてしまう傾向がある。
子供の頃、親に隠れて獅子舞を飼っていた松本さんに質問です。獅子舞との感動の出会いや、悲しい別れの話を聞かせてください。

!感動の出会い
*小学校 3 年生の時。
*キャッチボールをしてたら、ボールが草むらの方へ。探しに行くと音が聞こえる。{{m{
>「カタカタカタ。。 カタカタカタ。。」
}}}
*捨てられていた。

!悲しい別れ??
*4 匹いたが、「カタカタ」言っているのは 1 匹だけ。他の 3 匹は死んでいた。
*1 匹を抱きかかえたら「カタカタ」言わなくなった。
*ちっちゃいオッサンが下にいた。「あーそういうことかぁ」と納得。
この世で一番厄介なコンピュータウィルスに感染すると、パソコンはどうなってしまうのですか?

!人間と似たところがある
*人間が熱を出すように電化製品も熱をもってくる。

!ウィルスに感染すると?
*「とろ~り」してくる。
*画面の上からプラスチックが「とろ~り」
*マウスがひっくり返っている。(お手上げ状態)

!治し方
*電源を急に抜くと死んでしまう。
*着ないセーターがあれば、胸元を四角く切ってかぶしてあげる。
*横にして寝かせてあげる。
*生姜とかがあれば、刻んで食べてあげる。(パソコンのことを想いながら)
五反田のインディージョーンズこと、松本さんに質問です。ネアンデルタール人が絶滅した理由を教えてください。

!ネアンデルタール人
*本当にバカ。どうしようもないアホだった。滅びても仕方がない。

!ウンコをしてはいけない
*ウンコをしたらいけないと思っている。
*ウンコを悪魔の使いと思っている。
*長老は(ケツに)丸太を入れている。鼻からも出るくらいの勢い。
*ウンコがでないように歩幅も狭い。
*犬がウンコしているのを羨ましそうに見ている。

!ウンコをしてしまったら?
*アナルが悪いということで、皆でパチンコをぶつけ罰を与える。赤ん坊でも許さない。{{m{
>「お前が悪いんやないな!! お前のアナルが悪いんやな!!」
>「かねてから隠しておいたパチンコを持ってこい!!」
}}}
*長老のパチンコは玉が大きい。{{m{
>「ここらでわしの大玉だぁ!!」
}}}

!滅びた理由
*悪魔の使い(ウンコ)を出せないため、食べれない。粗食であった。
*子孫繁栄が出来ない。ウンコ我慢しながら SEX 出来ない。

!長老の裏話
*実は皆に黙ってウンコをしていた。皆が寝静まっている頃に丸太を抜いて。。
人間と同じように、動物や木々とも普通に話をしているという松本さんに質問です。 松本さんは豆腐と話をしたことがありますか? あるんだったとしたら、どんな話をしたんですか?

!話した事のない物はない
*豆腐だって振袖だって何とでも話したことがある。
*振袖とは二昼夜話し合った。(恋愛話とか)

!豆腐との話について
*基本的には豆乳の悪口ばかりを聞かされる。{{m{
>「豆乳ムカつく」「苦々しい、にがりにがりしい」
}}}
*親子問題でも悩みが多いらしい。息子(マーボー)のことなど。
常に皆に思い出を残してあげたいと思っている松本さんに質問です。松本さんがアイドル時代に出したヒットシングル「渚にて」をもう一度聞きたくなってしまいた。ぜひ聞かせて下さい。

!ヒットシングル「渚にて」
*売上 2 万枚。{{m{
>山にて~♪ 山にて~♪ 海にて~♪
>ヘイッ!! 渚にて~~♪ (タタタタ!! ヘイ!!)
>
>山にて~♪ 海にて~♪ 波にて~♪
>ジャブジャブ!! 渚にて~~♪ (タタタタ!! ヘイ!!)
>
>盗んだバイクで走り出す。。。
}}}
録画漏れ。情報求む。
録画漏れ。情報求む。
松本人志プロデュースの戦隊モノがあり、来年の春頃、公開予定だそうですが、全く新しい視点でかなり画期的な内容だと聞きました。どんな戦隊モノなのか、教えられる範囲で教えてもらえませんか?

!メンバー編成
*31 人。赤が 19 人。後はバラバラ。赤がリーダー。

!画期的なところ
*今までのようにアウトドアではない。インドア派。パソコンで戦う。
*ハッカー(悪い奴の携帯の料金を上げたりする)
*嫌がらせメールで困らせる。
*やる事がない時はマンガを呼んで過ごす。
*地球平和を願っている。愛がある。{{m{
>「くっそ~!! 緑の地球を~!!」
}}}
*母親にはキツイ。母親が食事を運んで来ても。。{{m{
>「じゃかしいぁい!! こらぁあ!!」「開けんな言うてるやろーっ!!」
}}}
街を歩いていると、たまに髪の毛が紫のおばちゃんを見かけますが、あれは一体、何のサインなのですか?

!髪の毛が紫のおばちゃん
*ババアになりきれなかったババアである。
*100 人に一人しか存在しない。
*四葉のクローバーよりも貴重。クロー婆。(失笑)

!ジジイよりのババア
*どっちかというとジジイよりのババア。
*ジジイの考えを持ったババア。
*自分はババアだという認識はある。

!ジジイの気持ちを考えている。
*自分はジジイにとってどうか。ジジイ視点で物を見ている。
*大福を食べた時、ババアとしては美味しいと思うが、ジジイとしてはどうなのか。。
*大きなトラックが来た時に、自分は避けて轢かれなかったが、ジジイにとってはどうか。。
*普通はババアはババアのことしか考えていない。我らババア。
自称、唄うお笑い芸人の松本さんに質問です。昔「部屋とワイシャツと私」という歌が大ヒットしましたが、結局あの歌は何が言いたかったのですか?

!簡単に言うと。。
*「部屋」とかけまして「ワイシャツ」と説く。その心は「私」みたいな。ものすごく簡単に言うとこんな感じ。
松本さんは、浜田さんの息子の授業参観に行ったことがあると聞きました。本当ですか?

!授業参観
*小 4 の時に行った事がある。
*1 時間目から4 時間目まで長いこと見ていた。
*普通は 2 授業くらいだが、帰ろうとすると他の生徒が手を離さない。
*元来、子供好きなところがあるので 2,000 回くらい頭を撫でたと思う。

!浜田の息子
*3 時間目以外はずっと鼻を垂らしていた。
*胸の辺りに溝ができるぐらい垂れ癖がついていた。
*理由は不明だが乳首のところで 2 方向に分かれていた。
*あれだけ鼻を垂れると喉が渇くらしく良く水を飲んでいた。
心の優しさはメジャー級の松本さんに質問です。松本さんは高校時代にとんでもない魔球をあみ出してしまった事が原因で高校野球界から追放されたそうですが、その魔球とはどんな魔球だったんですか?

!パラぁ魔球
*キャッチャーに届く瞬間くらいに縫い目がパラぁと。
*投げる前に爪で糸をギュギュっとしておく。
*この魔球はちょっと怒られたくらいで済んだ。{{m{
>「(ボールが)何個あっても足りひん!!」
}}}

!消えたかった魔球
*ボール目線での魔球。
*打ちたかったバッティングに破られた。
泥棒協会名誉会長の松本さんに質問です。泥棒が盗む時に最も気がひける物ってなんですか?

!書き起こし
|松本|それはねー。あるでしょうねぇ。|
|浜田|あなた知ってるんでしょ?|
|松本|もちろん知ってますよ。それは。|
|浜田|これは盗まれへんわみたいな。さすがに。|
|松本|人道的にね。それはありますよ泥棒だって。|
|松本|泥棒だって血の通った人間。そりゃぁありますよ。|
|浜田|なんですかそれ。教えて。|
|松本|そんな簡単にこんないい話を聞けると思うなよ。|
|松本|何でも聞けばすぐに答えてもらえると。打てば響く太鼓みたいに思いやがって。|
|浜田|まあその例えはどうかと思うけど教えてくれよ。|
|松本|どうゆうことやねん。なんやと思う。|
|浜田|ぇ、考えてんの今。繋いどこうかー。|
|松本|考えてんのって。。考えるようなことじゃないでしょ!!|
|浜田|じゃあ教えてください。|
|松本|何がですか?|
|浜田|最も気がひける物教えてください。|
|松本|気がひける物? 知らん! 靴ちゃう!|
松本さんは世界中のあらゆる遊びを知っているそうですが、一番のお気に入りというロシアの遊びを教えてください。

!ピロシキゲーム(??)
*いっぱいあるが、まずは 2 人で遊べるものから。
*1 回目、松本勝利{{m{
|松本|ピロシキピロシキ~。ピロッ!!|
}}}
*2 回目、引き分け(??){{m{
|松本|ピロッ!(かわす浜田、「お前やるなぁ」)|
|松本|ピロシキッ!(指を角のようにして頭に)|
}}}

!ピロシキとボルシチ(??)
*もう少し分かりやすい遊びを紹介。多人数での遊び。
*ジャンケン(ロシアの言葉では言わない)<br>(勝った浜田はピロシキ、負けた松本はボルシチ。) 
*ボルシチは逃げる。
*ボルシチへ触ったら、触ったほうがボルシチ。(ピロシキのボルシチ)
*触られた方は、その時点でピロシキ。(ボルシチのピロシキ)
*ピロシキに触られたボルシチはしばらく動けない。
*長い間、触られた部分を痛がるピロシキ(松本){{m{
|ボルシチ(浜田)|ごめんな。大丈夫ーっ? 大丈夫? 大丈夫?|
|ピロシキ(松本)|アーーッ!! イタタタタタタ!! 痛い痛い。。|
|ボルシチ(浜田)|起きろ!! お前!! どんな遊びやねん!!|
}}}
「日本挨拶学会」名誉会長の松本さんに質問です。日本人が一生の間に一番使う言葉は「すいません」だそうですが、14 番目に使う言葉はなんですか? 

!ベスト 14 + α
|順位|言葉|補足/コメント|h
| 1|すいません|日本人の良い所でもあり、悲しい所でもある気がする。|
| 2|これの "M" ないの?|意外と言っている。人間は自分の言ったことを意外と思えていない。|
| 3|お元気ですか?||
| 4|ちっちゃいなぁ~||
| 5|これ決定打に欠けるなぁ~||
| 6|カメルーン代表遅いなぁ~||
| 7|細麺で!|14 位に繋がる前置。|
| 8|にしきの! お前や!|この辺で名前が出てくる。|
| 9|ウワァッ!(ウォッ!) |虫に驚き払うしぐさ。|
| 10|ニーハオ|意外と言っている。自分が気づいていないだけ。|
| 11|アッハッハッハッ。。|多少の違いはあるが。。|
| 12|いよいよ毒が回ってきたぞ|言う奴は限られそう。。|
| 13|まだ動いてる。。||
| 14|あ、やっぱ太麺!!|7 位からの繋がり。|
| 15|はぁ。イク~!!|下品なのは嫌いかもしれないが仕方がない。|
| 29|温帯低気圧に変わったなぁ。。||
| 78|ほんまに D カップかぁ~?||
| 79|じゃあ、もう帰りましょうか?||
これまで数々の名曲の題材にされてきた松本さんに質問です。尾崎豊にバイクを盗まれたのは、実は松本さんだったと聞きました。松本さんもその後、それなりの対処をしたと聞いたのですが、一体どんなことをしたのですか?

!バイクを盗まれる
*あれはビックリした。
*本屋で本を買っていたら、止めておいたバイクが走り出した。{{m{
|松本|何しとんねんーっ!!|
}}}

!それなりの対処
*追いかけて、行き止まりへ追い詰めた。{{m{
|松本|お前、どういうことやーっ!! 謝れ!!|
}}}
*なかなか相手(尾崎)も素直ではない。ちょっとツッパった感じ。{{m{
|尾崎|あやまりたくなぁ~ひぃ~い~♪|
|松本|いやいやいやいやいやいや。おかしいやろぉ!!|
|尾崎|自分がなんなのかぁ~♪|
|松本|いやいやいやいやいやいや。知らんがな知らんがな。訴えるぞぉ!!|
|尾崎|訴えられたくなぁ~ひぃ~い~♪|
|松本|うるさいな、お前!!|
}}}

!大ヒット
*めちゃめちゃだった。強引に取り返したら、そこから急に大ヒット。
*あの歌を聴いたときは「あぁーっ!! 俺のや!!」と思った。
「心はいつもピカピカの一年生だ」という松本さんに質問です。ランドセルを背負うのが小学生だけなのはなぜですか?

!背負っているもの
*人には背負っているものが、たくさんある。{{m{
>「大人になると色々背負うものがあるじゃないですかぁぁ。」
>「でも、大人ってぇ、ええやろぉ~。」
}}}
*人には背負っているものが、たくさんある。{{m{
>「嫉妬という名の、縦笛。」
>「同僚という名の、筆箱。」
>「嫁という名の、消しゴム。」
}}}
*人には背負っているものが、たくさんある。{{m{
>「いろんなものを、どうですか皆さん! 背負ってないですかぁ!!」
>「でも、大人ってぇ、ええやろぉ~。」
}}}

!ランドセルの起源
*我々は、二十歳を過ぎランドセルを背負うことはないが、そういった色々なものを背負っている。
*そこで、子供にも何か背負わしてあげようということで始まったもの。
*元々は「ランド・セウ・ウール」(おそらく "背負わせる" とかけたかった。)

!余談
*浜田はランドセルを背負っていなかった。小 1 からナップサックだった。
*浜田は嫌らしい小学生だ。裸足だったのは松本の記憶違い。
猫人間であることを告白してから、5 年間を纏めた本を発売するという松本さん、どんな本なのか、さわりの部分だけでも教えてください。

!衝撃の真実
*小学 2 年の時に、母親から真実を伝えられた。{{m{
>「あんたは、猫人間やで。」
}}}
*猫ではないので、肉球があるわけではない。

!我輩は本当に猫である
*苦難の 5 年間を纏めた本「我輩は本当に猫である」を発売予定。 
!!2 足歩行のつらさ
*4 足でいる方が楽。2 足歩行は非常につらい。 
*目線が合わないし、甘えてしまうことが嫌なので我慢している。 
!!ばれないための苦労
*逆に「ワン!」と言ってしまうことがあった。(ばれたくないので) 
*天気も分かってしまうが、知らない振りをしていた。(ばれたくないので) 
**我慢していても、顔を洗う仕草がどうしても出てしまい苦労した。 
*ペディグリーチャム的なものも食べたいが我慢していた。(ばれたくないので) 
**隠れて貪りついた時に、缶の蓋で口を切ってしまったこともある。 
**かなり深く切ってしまい、ペディグリーチャムがそこから出てしまうのを抑えながらの食事。
冷蔵庫の中に何も入れないで放っておくと、冷蔵庫は一体どうなってしまうのですか?

!物には魂がある
*ああいうものにも魂がある。疑う余地はない。

!放っておくとどうなるか?
*自分の仕事に対する気持ちが冷めてくる。考え方がクール(cool)になってくる。 
!!冷蔵庫の逆襲
*引き戸ではなくなり、押し戸になる。⇒ 何も入れられない。 
*「ヴゥゥ~ン。ヴゥゥ~ン。」とごっつい言う。寝る時も邪魔する。 
*コンセントを抜いたところでやめさせられない。むしろ肩に巻きつけ振り回してくる。 
!!捨てようとすると。。
*キャスターが動かないように内股で踏ん張る。絶対捨てられない。
松本さんは普段からギャラを現物支給で貰っているそうですが、ガキの使いでは何を貰っているんですか?

!お金を信じていない
*ある種、お金を信じていないところがある。
*日本銀行が勝手に作った紙切れである。

!現物支給
!!「ガキの使い」
*「俺の塩」を 8 個。後に 11 個に訂正。(カップ焼きそば) 
*「俺の塩」は美味いが、タレが透明なのでちゃんと絡まっているか心配。 
!!「HEY×HEY×HEY」
*「バナナ」(台湾バナナ) 
!!「ダウンタウン DX」 
*「サウザンアイランド」(柿色のドレッシング)
猫が大きくなると何になりますか?

!今までの猫とは違う
*ぺディグリーチャム出された時の食いつきが違う。
*粘りが出る。集中力が出る。以前投げ出していたことへも取り組むようになる。
*小さいことは甘えに繋がる。大きいことで誇りを持てる。
*泣き声からして変わってくる。{{m{
>「ニャー、だなしかし。ここは1つ。」
}}}
*小さい頃とは、じゃれ方も変わってくる。{{m{
>「今日はこれぐらいで休ませて頂けますか?お互い明日もあるんで。」
}}}
*招き猫は普通のサイズでさえ幸運を招くが、大きいものになるとスゴイことになる。
この世で見てはいけないものベスト 10 の中で、9 位と 6 位だけ、度忘れしてしまいました。思い出せません。松本さん教えてください。

!回答なし
*このハガキはあまり好きではない。⇒ 教えてくれなかった。
*松ちゃんは幼少の頃に親の SEX を見ている。それも緑のおじさん/おばさんの格好で。
*それがトラウマとなっているためと思われる。
世界の名だたる山々を、スーツで登頂された松本さんに質問です。スーツ登山の 5 箇条を教えてください。

!愚問である
*皆は言う{{m{
>「なぜ、やるの?」「なんで、そこまでしてスーツ着て行くの?」
}}}
*松本は言う{{m{
>「なぜ、やらないの?」「なんで、そこまでしてスーツ着て行かないの?」
}}}

!スーツ登山の 5 箇条
!!ネクタイピンはするべし。
*8 合目辺りでネクタイぷらんぷらんでは困る。
*バラも凍るような雪山ではネクタイでホペタ(ほっぺた)を切ってしまう。そんなやつをいっぱい見てきた。
!!カフスボタンはするべひ(べし)。
*袖がパカパカやったら冬山は危険。冷たいもんがいっぱい入ってくる。
!!名刺入れ。
*迷いそうになった時に名刺交換をする。「総務のオダです。」
!!万年筆を挿すべひ(べし)。(胸ポケへ)
*インクが胸元に染みわたっているのを上空のヘリが発見してくれる。 
!!会社の旗を山頂に立てる。

!松本突然怒りの一言
>スーツでパーティと言ってもクリスマスパーティのことではない!!
山開きや海開きの前に、こっそり海や山に入ってしまうと、一体、人はどうなってしまうのですか?


!普通の怒られ方ではない
*怒られるが、浜田の豪邸の塀を乗り越えて入るのとは怒られ方が違う。

!山の神様
*山の神様は、山が好きな子は嫌いじゃない。そんなに強くは怒らない。{{m{
>「入ったらいけないけど、お前、山のこと好きなんや~。」
>「そんなお前をそんな嫌いじゃないわ~。」
}}}
*怒り方{{m{
>「あぁ~!!(ニコニコ)、またぁ~!!(ニコニコ)」
}}}

!海の神様
*海の場合は、少し事情が違う。山の神様は男だが海は女である故。
*海の神には好きなカニがいる。気持ちは伝えていない。カニは気持ちに気づいているが、カニには好きな横ガニがいる。複雑な関係。
*海に入る子を怒っているカニに対し、「ピチャピチャくらいはええんちゃうのぉ?」と言いたいが、メスガニの嫉妬があり、あまりカニと話していることはできない。
*そんな状況を見ていられず、山の神が登場し何とかしてくれる。{{m{
>「こりゃぁ、もう見てられへんでぇー!!」
}}}
松本さんが以前組まれたいた、インディーズビジュアル系バンド「血まみれの美少年」は、錚錚たるメンバーだったそうですが、一体どんなメンバーだったのですか?

!メンバーたちは今。。
*現在は別々で活躍している。
*今更、晒して欲しくはないかも。嫌な過去だったかも知れない。

!メンバー編成
|ボーカル|松本(一番の美少年だったのでボーカル)|
|ギター(ベース)|L’Arc-en-Ciel のボーカルの子。本名「ササダ」。|
|~|「言わばベースもギターやろ!!」|
|エレクトーン(シンセサイザー)|天宮良|
|~|「エレクトーンもシンセサイザーみたいなもんやろ!!」|
|ギター|天知茂|
|ドラム|加藤剛|
|タンバリン|谷隼人|
松本さんは今までに、3 回ほど会心の一撃を出したことがあるそうですが、いつどこで会心の一撃を出したのでしょう?

!会心の一撃を出した時
!!小学 2 年生の時
*給食のオバハンに対して発動。給食係りの松ちゃんが残り物を持って行くと、嫌味を言われてカチンと来た。残したのはクラスの皆である。会心の一撃による引火が恐いらしく、ガスの元栓を慌てて切っていた。{{m{
|松本|ドーン!! (会心の一撃発動)|
|オバハン|ウアウウア!!|
}}}
!!暴力バーで(19 歳の時)
*水割り 2 杯で 50 万出せと言う。仕方がないので(さっき下ろした)会心の一撃を財布から出した。 
!!行列のできるラーメン屋で
*ラーメン屋のオヤジに対して発動。並んでいて、自分の1つ前で売り切れた時。{{m{
|オヤジ|はいっ! ココまでです。ごめんねー。|
|松本|ターン!! (会心の一撃発動)|
|オヤジ|か、会心の一撃や~!! あな恐ろしや~!!|
}}}

!浜田の態度が悪いので、ちょっと脅す
|松本|4 回目が、今日出るぜぇ?|

!会心の一撃とは?
*お餅状でまわりが胡麻で覆われている。決して胡麻団子ではない。
*大体持ち歩いている。舞台では田島マネージャーに預けている。
*観客に見せようとしたが、田島マネージャーが食べてしまったようである。{{m{
|松本|お前、また食べたなーっ!!|
}}}
世界一の大物に出会ったことがあるという松本さんに質問です。その大物の前では、どれくらい謙虚に振舞わなければならないのですか? また、失礼があった場合は、どんな怒り方をされるんですか?

!世界一の大物
*ソビエトにいる。名はペスパトーラ。学生。
*失礼があっても怒らない。大物だから。笑うだけ。
*ただし、笑い声がでかければでかいほど、怒っていることが分かった。

!世界一の大物の怒り方
*水をかけてしまった時{{m{
>「アハハハ」
}}}
*タバコをつけてみた時{{m{
>「アッハッハッハッハッハ!!」
>「かまへん!! かまヘん!! 家泊まれ泊まれ!!」
}}}
*泊まったら、靴に画鋲が入れてあった。やっぱり怒っていた。
松本さんは先日の選挙で、テレビにも取り上げられず落選していたらしいですが、落選の原因はなんですか?

!1 番大きな理由
*立候補していなかった。選挙ポスターも貼っていなかった。
*でも、松本の(心の)中では立候補していた。ものすごい大きなダルマがあった。
*自分では立候補した気持ちでいたので、選挙開票の時、チラ見はしていた。
*関係ないのでガッツリは見ていないが、洗い物しながらチラ見はしていた。

!落選に愕然とした
*やっぱり当選していない。愕然とした。もしかしたらと思っていたから。{{m{
>「なんて日本の国民はわかっていないのか。。」
>「"松本人志" と書く人間がなぜおれへんのか不思議でした。」
}}}
*世の中を変える自信があった。(具体的公約の説明はなし。){{m{
>「アッコとアッコを。。」
}}}
砂かけババアはどうやって砂を調達しているのですか?

!昔は良かった。。
*何でもそうだが、昔は良かった。
*魚にしても天然物しか食べなかった。今は養殖が多い。
*畳も本物ではなく、畳風カーペットなど。
*良いものが、どんどんなくなっていく。砂かけババアも同じ。

!今の砂かけババア
*今の砂かけババアはガチじゃない。
*今は色々とうるさい世の中。PTA もうるさい。{{m{
>「何してんの!! うちの子に砂かけて!!」
}}}
*今は砂かけた振り(砂かけた "てい"。着物着てる "てい"。)

!昔の砂かけババア
*昔はガチだった。マジで砂をかけていた。
*かけ用の砂と、見せ用の砂を使い分けていた。

!今の妖怪はみんなウソ
*今の子泣きジジイは食生活が良いからもっと大きい。大阪ホールよりでかかったりする。
メランコリックな夜とは具体的にどんな夜のことですか?

!メランコリックな夜の経験
*松本は 40 歳までに 8 回ほど「メランコリックな夜」を経験している。

!メランコリックとは?
*感覚的なもの。言葉で説明は難しい。{{m{
>「ずーっと家でテレビを見ている時でもメランコリックな夜もあるんやで。」
>「皆でパーティしてワイワイ騒いでいてもメランコリックじゃない夜もあるんやで~。」
}}}

!メランコリックな夜
*3 つのアイテムがそろった時。
**ディープキス
**軍手
**軍足
*組み合わせの特性上、職人同士が確立高い。

!スーパーメランコリックな夜
*「メランコリックな夜」の状態で、頭上でシャーペンの芯をカチカチする。
*通常よりやや太目。0.9mm くらいが良い。
*シャーペンがどうしてもない時はボールペンでも可。
*0.5mm のシャーペンに 0.9mm を入れると、メランコリックが詰まってしまうので注意。

!メランコリックの芯
*芯(0.9mm)は都内(亀戸)に 2 件あるメランコリックショップで購入できる。
録画漏れ。情報求む。
録画漏れ。情報求む。
ついに松本さんにもジャニーさんから電話が掛かってきたそうですが、どんな内容だったんでしょうか?教えてください。

!爆弾発言
*爆弾発言になるが、引き抜きの電話。
*電話は頻繁に掛かってきていた。結局は引き抜きたい。

!ジャニーさんの執拗な勧誘
*とにかくしつこい。{{m{
<<<
「You さぁ。引越しをしたいから You も来ればいいじゃん。」
「You もういい加減にしなさい!! 実印持って来ればいいじゃん!!」
「もう読まなくていいじゃん!!」
<<<
}}}

!シングル 5 曲同時発売
* 来月デビュー。既に M ステがマンスリーでずっとスケジュールされている。
* 候補は 2 つ。どちらで行くか検討中。。おそらく「Dejavu(デジャブー)」

!Dejavu(デジャブー)
* 正確には「みなづき君と Dejavu(デジャブー)」
**11 人グループ。ジュニアの子達。
** リーダ:みなづき君(中一)
* 1 回顔合わせをしたが、引越しの手伝いをさせられた。{{m{
<<<
「今日引越しなんで You も手伝えばいいじゃん!!」
「You も大型テレビ持てばいいじゃん!!」
「1 回 You こっち逃げてこうケツ入れて行けばいいじゃん!!」
<<<
}}}
* 松本以外はローラースケート着用。松本は吉本だから履かせてもらえない。ネチネチ言われる。{{m{
<<<
「吉本だからぁ。。」
<<<
}}}
* 松本は新人なので弱い立場。胸板薄い子達にタメ口扱い。{{m{
<<<
「松本君、こんちわー。」
<<<
}}}
* 松本はグルグル回られているだけで唄わせてもらえない。{{m{
<<<
「You いい曲みたいな顔しないで!!」
「You は見せる側だよ!!」
<<<
}}}

!Aladin(アラジン)
* 4 人グループ。全員タメ。東洋系の男前揃い。
* 松ちゃんがリーダになれるかも知れない。
* 内、2 人はズーズー弁、違う組合せの 2 人はごっつデブ、さらに違う組合せの 2 人はメガネ。
* 唄はなんだかよく分からない歌。
松本さんが「幸せの青い鳥」を捕まえたと聞きました。一体どんな幸せが訪れたのか教えてください。

!見つけた場所
*近くの公園。⇒ 幸せって意外と身近にあるもの。
*ベンチのタバコの灰皿の中。
*実は死んでいた。(手羽だけになっていた。)

!どの程度青いのか?
*どっちかと言うと赤っぽい。白熊と言っても実際はクリーム色みたいな色。それと同じ。 

!謝罪および訂正
*ウソをついていた。実際は青色で、木に抱きつく様にとまっていた。{{m{
|松本|おいっ! 何してんねん|
|幸せの青い鳥|ホロッホー。|
}}}
*すぐに近づいて来て抱きつかれた。
*雑食。(ポテロングから何から全部食べる。)
*よく笑う。全部冗談だと思っている。
*ごっつ息が臭い。なんか生臭い。臭いといっても離れない。{{m{
|松本|お前、息臭いねん!!|
|幸せの青い鳥|アハハハ。またまたー。|
}}}
*でかい。(抱きついてても足は曲がっている。膝付いている。){{m{
|松本|お前、俺よりでかいやろ!!|
|幸せの青い鳥|アハハハ。またまたー。|
}}}
*めっちゃ早く飛ぶ。{{m{
|松本|そのまま、お前どっか飛んでったらいいのになぁ。|
|幸せの青い鳥|アハハハ。またまたー。行けへんちゅうねん。|
}}}
ターミネーター4への出演依頼が、ハリウッドから舞い込んできたという松本さんに質問です。どのような役柄で出演して欲しいという話だったのでしょう?

!しつこく来ている
*ターミネーターの手の役で。

!ウソをついたことを謝罪
*言い訳:頭がガンガンしていた。
松本さんがホストをやっていた時、どうしても No.1 の座を奪えなかったという「エイイチロウ」とは、どんなホストだったのですか?

!ジョウジロウ
*松本は「ジョウジロウ」の名でやっていた。
*「エイイチロウ」に追いつけ、追い越せということで店長につけられた。嫌だった。

!エイイチロウ
*金をたくさんかけていた。
*髪がすんごいウェーブ。半端ではなかった。
*目にサファイヤとオマール(オパール??)を入れていた。{{m{
>「海老で金持ちのオバハンという名の鯛を釣っていた。」
}}}
*2 頭身。顔⇒足。後ろから見ると「蝶々結び」が歩いているかの様。
松本さんが以前行っていた「ドメスティックパン屋」とは、どんなお店だったのですか?

!ドメスティックパン屋
*一時はブームになった。
*客に対して荒々しかった。
*「ドメスティック・バイオレンス」を取り入れたパン屋。
*客はスリルを求めてやってくる。
*入り口のドアのところでフランスパンを構えて待っている。
*客が入ってきたら、フランスパンでバーン!!

!訂正
*「ドメスティック」が「家庭内」の意であることに気づき訂正。
*「家庭内パン屋」 ⇒ 普通のいいお母さん。 ⇒ ボケようがない。
「ケアレスミス」と「エアロスミス」はどう違うんですか?

!違い
*全く一緒。寸分違わず。
*エアロスミスの別名。インディーズ時代の名称。
*リーダーはケアレ・スミス。東北地方出身(?)
*ケアレスミス時代はアカペラ(??)

!メジャーデビュー
*西武百貨店のシャッター前で唄っているところをテイチクにスカウトされる。
*ケアレスミスではインパクトが弱かったため、エアロスミスでメジャーデビュー。
*リーダーのケアレ・スミスは改名を嫌がっていた。
テレビで車をプレゼントされると大きな鍵が渡されますが、あの鍵が入る車とは一体どんな車なんですか?

!ボケを忘れて回答
*アレは本物の鍵ではなく作り物の鍵。(ほんとに)
*本物の鍵ではテレビ的に分かりにくいので、発泡スチロールのようなもので出来ている。(ほんとに)
*賞金で貰える大きなお札も同じ事。(ほんとに)
歩き始めるより早く、素潜りでタコやイカを獲っていた生粋の海の男、松本さんに質問です。先日、松本さんが沖縄でスキューバダイビング中に意外なモノに遭遇したそうですね。その時のことを聞かせてください。

!いろんなものに遭遇
*ほとんどのものを全部見た。⇒ 海にゴミを捨てないで欲しい。
**スーパーカー
**愛妻号(洗濯機)
**いろんな蓋

!沖縄の海の熱帯魚はすごい
*普通に 2 足歩行で歩いている。
*発育が良く、人と同じくらいの身長。
*いろいろ情報を教えてくれる。{{m{
>「あっちにもっとおるで。」
>「俺の青いバージョンがおるで。俺と全く同じで青いやつが。」
}}}

!余談
*浜田は耳が「キンキン」するから、スキューバはやらない。
人間の体には松本さんの体からとった「ひとっちゃん」という部分があると聞きました。それは体のどこの部分ですか?

!どこの部分?
*眉毛 ⇒ 右目 ⇒ 頬骨の内側 ⇒ こめかみへと辿った辺り。
*あまり頬の下の方まで指すと「ワキサカさん」も入ってしまうから注意。

!色々な説
*松本の名前からとった訳ではない。明治維新頃から「ひとっちゃん」はあった。
*松本のオヤジさんが「ココみたいな子になるように」と願いをこめて命名。
*他にも色々な説はある。

!補足
*ちなみに左側は「ひとっちゃん」ではない。
「この世は不思議だらけやで」の精神で日々暮らしている松本さんに質問です。松本さんは、ある朝目が覚めると松本さんになっていたそうですが、松本さんになる前は何だったのですか?

!浜田と出会った時
*浜田と出会った時は、もう松本だった。

!松本になった時
*4 歳の時。木曜日に突然松本になった。

!松本になる前
*水曜日までは「ウェスタン」だった(??)
「オーシャンズ 11」の 1 ~ 10 までを見た事ないのですが、それぞれどんな話なのか教えてください。

!第 1 話
*オーシャンズが転校してくる朝、自転車に乗り坂道を下っていると、ブレーキが効かなくなり女の子と衝突。{{m{
|女の子|あぶないじゃない!!|
|オーシャンズ|てめーこそ!!|
}}}
*学校に着き。。{{m{
|担任の先生|今日から転校生が。。|
|オーシャンズ|オッス!! オラ、オーシャンズ!!|
|女の子|あ!! お前は今朝の!!|
}}}
*そこから 2 人はどんどん惹かれて行く。。

!第 8 話
*偽オーシャンズが登場するが、すぐ偽とわかってしまうため、内容はグダグダ。

!第 11 話
*最後の 11 話はすごかった。(内容は語られず) 

!その他のストーリー
*万引き事件、妊娠事件などのトラブルが。。
晴れ男の松本さんが、かつて、雨女と壮絶な激闘を繰り広げたそうですが、それはどのような戦いだったのですか?教えてください。

!背負っているもの
*お互いに背負ってるものが大きかった。
*晴れて欲しい人達、雨が降らないと困る人達の気持ちを一手に引き受けていた。

!壮絶なバトル
*戦っている時は大雪だった。
*最終的には大喜利対決。仕切りがいないため決着付かず解散。

!雨女の攻撃
*傘で殴ってくる。「パンパン!パンパン!」背中とかを殴ってくる。
*長靴で蹴ってくる。
*レインコートを被せて首を絞めてくる。

!晴れ男の攻撃
*晴れやかな顔くらいしか出来ない。
*防戦一方だった。下手に動くと傘の柄で膝カックンされる。{{m{
>「あぁ痛い痛い!! あぁ!!」
>「やめやめやめやめ!! やめやめやめやめ!!」
>「痛い痛い痛い痛い!! 痛い痛い痛い痛い痛い!!」
}}}
数々の特撮ヒーローものに出演している松本さんに質問です。3 年前、あまりの内容の悪さに 2 回の放送で打ち切りとなったウルトラマンのシリーズがあると聞きます。それは一体どんな内容だったのですか?

!韓国ブーム
*韓国ブームにあやかろうとして失敗。
*タイトルは「ウルトラハムニダ」(ウルトラマンコリヤンダー??)

!ストーリー
*辛いもんと戦うストーリーだが、そんなに辛いもんが続かなかった。{{m{
|!放送|!敵|
|初回|暴君!ハバネロ|
|2 回目|巨大醤油せんべい|
}}}
*辛いため「シー、シー」言いながら戦う。ダムの側で水を飲みつつ。 
*最後は「クァルァッ!!(辛っ!!)」(シュワッチ)と飛び去る。

!打ち切り
*ハバネロがあまりに辛すぎたため、インパクトに欠け打ち切りとなる。
来年からサッカーが 20 人制になるそうですが、新しいポジションと役割を教えてください。

!新しいポジションと役割
*EA (エキゾチック・アタッカー)<br>エキゾチックなフォームを崩さない。崩すとオフサイド。
*GF (ジーコ・ファン)<br>ごっつジーコファン。ごっつジーコ見たい。ジーコ見ないとオフサイド。
*ED (イー・ディー)<br>ただの ED。

!現在申請中
*緊急連絡先さえ書けばいつでも出せる状態。
松本さんは浜田さんにどつかれる度にポイントがたまっていると聞きました。あともう少しで何かすごいものがもらえるらしいですが、何がもらえるのか教えてください。

!ボケレージポイント
*ボケるたびにボケレージがたまる。

!景品
*ポイントでインドネシアに旅行。旅行先でもボケ続けた。{{m{
>「あー。ここがアイスランドか~」
}}}
*ポイントでカーステレオも購入。{{m{
>「古っ!!」(浜田)
}}}
歯医者で「アーン」の代わりに「アイーン」をするとどうなってしまうんですか?

!どうなるのか?
*保険が利かなくなる。
*古株のオバハンによだれかけを乱暴に取られる。
*日本歯科会に全力でつぶされる。
*歯医者に歯軋りさせちゃダメ。
人類が誕生して今までずいぶん多くの人が死んで行きました。いったい死んだ人たちは何になったんでしょう。

!人種によって違う
*日本人は「米」になる。
*インド人は「カレー粉」になる。
*中国人は「袖」になる。
*アメリカ人は「ポップコーン」になる。
レア、ミディアム、ウェルダンに続く肉の焼き方「マンダム」とは一体どんな焼き方なのですか?

!肉の焼き方「マンダム」
*基本的にはウェルダン。
*ウェルダンを食べてる奴に対して妬いている。{{m{
>「何さー。おいしそうに食べちゃってさー。」
>「塩コショウもいいじゃないのー。」
}}}
買い物の途中でスライムが現れた時、どうやって戦えばよいのですか?

!ボーンレス
*打撃・関節技は通じない。

!安全地帯
*便所の途中では捕まらないので安全。
*スライムもアホではないので便所の途中の奴を捕まえるのはやりすぎだと認識している。 

!スライムの攻撃??
*笑うだけ。{{m{
>「ムハハハハー」
}}}
*じっと見ていると。。{{m{
>「ムハハハハーとか」「ムハハハハーなど」
}}}
カルパッチョの本当の意味を教えてください。

!意味
*君を忘れない。

!用例
*「マグロのカルパッチョ」 ⇒ 「マグロ、君を忘れない」
毎年 5 月 24 日は「ダウンタウンの日」だそうですが、毎年松本さんはこの日何をされているのでしょうか。

!ダウンタウンの日
*5 月 24 日("ごーにし" でダウンタウンの日)
*ポマードベッチョリでロング T シャツを着る。パンツを絶対に見せたくない。

!年々手抜きになってくる
*おかんのお節料理のように年々手抜きになってくる。
*段々短い T シャツになり、去年はとうとう Hanes の T シャツに。。
*ポマードも段々ベッチョリではなくなり、肌水みたいなものに。
松本さんが最後に「どんまい」という言葉を使ったシチュエーションを教えて下さい。

!最後に使ったのは?
*2 年くらい前。ビデオ屋にて。

!シチュエーション 1
*自動ドアが開くと思ったら開かず店員に。{{m{
>「ええよ」(まだ使わない)
}}}

!シチュエーション 2
*山済みのビデオにつまづき店員に。{{m{
>「ええよ」(まだ使わない)
}}}

!シチュエーション 3
*ビデオを選んでいると近眼の奴に足を踏まれ。。{{m{
>「イテテテテ。あるある」(まだ使わない)
}}}

!シチュエーション 4
*借りたい作品が見つからず店員に。{{m{
>「"どんまい" あります?」「"続どんまい" あります?」
}}}
以前松本さんが○○○ピザでバイトしていた時の親友のタカシ君について教えてください。

!親友のタカシ君
*いい奴だった。
*最後釜に入って死んだ。
*チーズがミィヤァ~と体に張り付いていた。{{m{
>「て~んちょ~う!!」
}}}

!亡くなるまでの経緯
*ハーフ & ハーフを持って配達に。戻ってくると叫んでいる。{{m{
>「て~んちょ~う!! お前を恨む」
}}}
*頬にはサラミがビィ~ンと張り付いている。
*店長に話を聞こうとしたが、タカシ君の向こうに居た店長も助けを求めている。{{m{
>「松本く~ん!!」(「店長もかいっ!!」)
}}}
*とても壮絶な出来事だった。店長は淵のほうがパリパリになっていた。。
無免許動物医師として有名な松本さんが、今までで一番大変だった、動物の訳アリ手術を教えてください。

!どんな動物の手術?
*猫の手術。

!要望
*頬(針山みたいな部分)をもっと上にあげて欲しい。
*頬が下がっていると老けて見える。
*「ニャー」がオバハン臭くなる。

!手術内容
*ヒゲをこめかみ部分で括る手術を行った。
**吊ったヒゲが目立っておかしいが、プチ整形のため仕方がない。
**猫もそれは了承し術後の自分の顔に満足していた。
*なかなか難しい手術だった。
**左右対称とするのが難しい。
**一度括ったヒゲはなかなか解けない。
**再手術の時には切らんとしゃあない。
驚きを隠せない男、松本さんに質問です。2 度見する芸人さんはたくさんいらっしゃいますが、松本さんの華麗なる 5 度見を見せてください。

!5 度見の機会
*私生活において、なかなか機会は少ない。過去に何回か経験はある。
*「どん兵衛」を 5 分待たなければいけない所、1 分くらいの時に蓋がペロンと開いているのを目撃。あまりの出来事に 5 度見した。 

!5 度見と3 度見の比較
!!3 度見
[img[http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20090610/20090610152020.jpg]]
!!5 度見
[img[http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20090610/20090610152021.jpg]]
松本さんは TV から出てきた貞子を TV に戻したことがあるそうですが、一体どのようにして戻したのですか。

!霊媒師の資格
*霊媒師 2 級免許を持っているが、祓えるほどではない。
*「もうっ!! もうっ!!」とやる程度。

!TV へ戻す方法
*2 台の TV を合わせ鏡のようにして置いておく。
*出てきた貞子はすぐに対面の TV の中へ。本人がビックリしていた。
みたらし団子の「みたらし」という言葉を他の時に使いたいのですが、どんな時にどう使ったらよいのですか?

!使う機会
*松本は意外と使っている。
*携帯の予測変換でも「み」を打つと「みたらし」が候補に出てくる程。
*イラっとした時に使うことが多い。信号待ちが長い時。開かずの踏み切りなど。

!シチュエーション 1
*開かずの踏み切り(たまたまみたらしが出なかった例){{m{
>「長いなぁホンマ!! さっき上がってまた閉まって!!」
>「ホンマ何やこれっ!! 早うせーよ!!」
}}}

!シチュエーション 2
*コンビニで長い行列になっている時{{m{
>「オイっ!! ぎょうさん並んどんねん!! なんでレジ開けへんの!!」
>「バイトのやつも何人かおんのに!! ココ開けたら早まって行くやろ!!」
>「はよせー!! かご持ってみんな並んどんねん!! みたらし入っとんねん!!」
>「早う食べたいねん!! みたらし!! 前の人もみたらし買うとんねん!!」
}}}

!シチュエーション 3
*人の駐車場に止めている住人に対して{{m{
>「みたらしさーんっ!!」
}}}
松本さんは全国で 3 本の指に入るくらい校則の厳しい学校に通っていたことがあると聞きました。どんな厳しい校則があったのか教えてください。

!ミッション系スクール
*ミッション系の学校に通っていた。
*「聖」の字が 3 つくらい付いている。

!めっちゃ怖い先生
*ほとんど全員ビーフジャーキーの表紙の天狗みたいな顔。
*白い門に反射するくらい赤い顔。とにかく赤い。
*常にイライラしている。
*暑いから葉っぱみたいな団扇で常に扇いでいる。
*ずっと殴ってくる。

!厳しい校則
*朝は 5 時半入り。遅れたら入れない。
*学生服はノースリーブでないとダメ。
*教室はドーベルマンだらけ。「ウゥゥゥゥ!!」
*上履きのゴムが禁止。切れと言われる。
今、ゴミの分別は「燃えるごみ」「燃えないゴミ」「ペットボトル」「ゴム」など非常に細かくなっていますが、その分別されたゴミはそれぞれどのように処理されているのですか?

!簡単に言うと。。
*全部まとめて燃やしている。
*別れたって最後は一緒に燃やして欲しいことってある。
*夫婦に例えると、こんな感じ。{{m{
>「一旦あの時は別れたけど、やっぱもう一回。。最後はアンタと一緒やで、ウチ。。」
}}}

!衛生局の嫌がらせ
*「チョット一回分けてみよう!!」とはじめてみた事。
*裏では笑われている。{{m{
>「分けとる分けとる。。(クスクス)」 
}}}
*無理だと思っていたが意外と皆素直に分けるのでおかしくて仕方がない。
*受け取ったゴミは「クスクス笑いながら」全部まとめて焼却炉へ。{{m{
>「怒られるで~」(浜田)
}}}
凡人にはなかなか開くことができないチャクラを松本さんは自在に開くことができるというのは本当ですか。またチャクラを開くとどうなるのですか?

!書き起こし
|white-space:nowrap;松本|僕もあんまり。。キンチャクみたいなもんなんじゃないですか?|
|浜田|(あははははは)そんなわけないやろ!!|
|松本|(観客に向かって小声で)なんですか? チャクラって。。あのねたぶんね。。インドとかの天界みたいなもんでしょ。|
|浜田|凡人には開くことはできないわけや。そのチャクラっちゅうのは。|
|松本|そりゃそうでしょアンタ!! 5 人中 4 人が開けてどうすんねん!!|
|浜田|どういうもんか教えてくれや。そのチャクラっちゅうの。"開く" っちゅうのはどうゆうもんや!!|
|松本|今お前が、どうゆうもんか教えてくれやって "ガッ!!" って怒ったその瞬間!! 開いてたんじゃないの~?(ニヘラ~)|
|浜田|いやいや、よう分からんのやぁ。|
|松本|チャクラってそうゆうもんなんですよ。チャクラってなんやねん!! って言った時にパッカーンなりますよ。|
|浜田|じゃあどういう風にして開くの?|
|松本|例えばあなたね、今家で、今現在ですよ!! 洗濯機の蓋が開いてるかどうか分かりますか? それがチャクラじゃぁーーっ!!! ある種っ!!|
|浜田|(観客に確認)どついていい? いや分からんもん!!|
|松本|いわゆる、チャクラで遊ばない。チャクラを抱かない。決して。。|
|浜田|ホンマどつくぞ!!|
|松本|チャクラって言うのはもっと自然なもんなんですよぉ。だからチャクラを意識しちゃダメ。例えば街へ出た時に「ええチャクラないかな」とか、「2 時間くらい前に食べたんやけど、もうちょっとチャクラが空いたなぁ」みたいな。。|
|浜田|腹??|
|松本|(そんな)風に思わないで欲しい。どうか。。|
|浜田|いや思ったこと 1 回もないから。どうゆうもんなのか!! っちゅうてんねん!!|
|松本|だからぁ。今もうごっつチャクラの話してるから、ごっつチャクラガこっち見てるやん!! アカンアカンアカン。見んな見んな見んな。ごっつ見てるごっつ見てるわ。めっちゃ見てるから、あんまり見んなって!! ウワッ!! もうメッッチャ見てるって!! もう!! アカンアカンアカンアカンアカンアカンアカン!! ウワッ!! 後ろ回って来た!!|
|松本|だからぁ。あんまチャクラを意識しないで欲しい。チャクラの事は気にせんといて。それされるとチャクラすごい嫌がるから。。分かる?|
|松本|チャクラはぁー。。。(浜田に)知ってる? チャクラって。どうか。。教えてください。|
|浜田|散々お前が言ってなのはなんやねん!! じゃあ!!|
|松本|この度は。。どうも。。|
|浜田|この度はあるか!!|
|浜田|散々言うてたのはなんやねん!! 今後ろ回って来たとかいろんな事言うてたやんか。抱かないでとかよぉ!!|
|松本|(自分を指差して)チャクラはぁ。。|
|浜田|お前がチャクラかいっ!!!|
|松本|(ギャル風で)チャクラが思うにはぁ。。|
ありとあらゆる事に敏感な松本さんに質問です。最近大地震が来るという噂を聞くのですが、松本さんは地震を予知できると聞きました。どうやって予知しているのですか?

!松本の予知能力
*まじめな話、松本には予知能力がある。
*ただし、2 秒くらい前にならないと予知できない。
*皆が「揺れてるやん!!」と思うチョイ前には分かる。
*だが、2 秒あればキスができる。そのくらいすごいこと。
*イントロクイズのようなものは予知できない。(地震以外のことは予知できない)
松本さんは昔、お兄さんと森へ遊びに行った時にお菓子の家を見つけたそうですが、本当ですか?

!実際のお菓子の家
*良く絵本とかに出てくるお菓子の家のような華やかさはない。もう少し低予算。
*基本的には全体に味噌がかかっている感じ。味噌田楽みたいにダラ~っと。和風な感じ。{{m{
|人志|なんや兄ちゃんこれえ?|
|隆博|人志甘いでぇ!! 甘さもちゃうでぇ。|
}}}
*窓は "にこごり" みたいな物でできている。結構分厚い。
*ちっちゃい小エビがいっぱい入っている。小エビが邪魔で外が見えにくい。{{m{
|人志|兄ちゃ~ん。エビ邪魔やな兄ちゃん。|
|隆博|甘いでぇ~。|
}}}
*ドアノブはサザエのウンコみたいのが付いている。{{m{
|人志|気持ち悪いな兄ちゃ~ん。|
|隆博|甘いでぇ~。|
}}}
*ベットは普通に木でできている。(全部が全部お菓子なわけでもない)
*カーテンは湯葉でできている。

!お菓子の家の住人
*味噌だらけの住人と遭遇した。{{m{
|住人|絶対言うてはあかんで~。いつまででも泊まっていってええで~。|
|人志|兄ちゃん甘いなぁ。|
|隆博|その甘さは違うやろ!! 人志!!|
}}}
芸能界のヒーロー的存在、松本さんに質問です。松本さんは反抗期のウルトラマンを見たことがあるそうですが、一体どんなグレ方をしていたんでしょう。

!グレ方
*門限を破っていた。3 分経っても帰らない。関係あらへん。{{m{
>「やかましっゎい!!」
}}}

!3分以上居ると。。
*ラリってくる。気持ちがいいらしい。
*ただ何もできなくなってしまう。。おるだけ。
*ラリっているため、ビルを倒しまくってクスクス笑っていたり。。
松本さんは、もし浜田さんが先に死んだら棺桶に何を入れるつもりですか?

!ヤキソバ
*浜田の大好きなヤキソバを入れてあげる。
*菊の代わりに顔の回りにたくさん敷き詰めてあげる。
*鼻には紅生姜を詰めてあげる。

!エロ DVD
*いっぱい入れてあげる。
*浜田より多く入れてあげる。
*体の下にも入れてあげる。
*浜田の体が半分棺桶からはみ出るくらい入れてあげる。 

!目玉焼き
*ハンバーグに目玉焼きがのっているとテンションの上がる浜田のために。。
*目玉焼きを額の上にのせてあげる。
*白身で三角巾を作ってあげる。
*最後出棺の時に卵をチョン!! と突いてあげる。
*顔にダラ~っと垂れるが焼いた時にいい感じになるだろう。
松本さんは「iPod」に継ぐ音楽再生マシン「HeyPod」を自宅で開発中のようですが、「HeyPod」とは「iPod」の何年先を行きどのようなすばらしい機能がついているのですか?

!5 万曲収録可能
*ヘイポー自体が小さい分、多くの曲が収録可能。

!声が全部ヘイポー
>「あー怖い~。怖い怖い怖い怖い~」
>「なづなづなづなづ♪」 

!まもなく映像も再生可能に
*例えば矢沢永吉を聞いていると、うっすら矢沢永吉が出てくるようになる。まさにライブ。
*将来的にはタオルをかけてマイクを振り回す程になるが、そこまでは開発が進んでいない。
*今の技術では(お化けのように)うっすらと現れる程度。。(浜田:恐!!)
関西弁には「英検」の様に試験があると聞いたのですが、関西弁で1級を取るにはどうしたらよいのですか?

!駅前大阪
*関西弁のスクール「駅前大阪」に通う。

!レッスン内容
*発音指導「なにしてんの~?」から。

!1 級を取るには?
(松っちゃんが昔話をはじめる。。)
*何回受けても滑る子がいた。東京の人だった。{{m{
>「ダメだ~。どうしたらいいんだぁ。」
}}}
*苦悩の日々が続く。煮詰まりながら最後に叫ぶ!!{{m{
>「いったい、どないしたらええねぇぇん!!」⇒ 合格!! 祝。
}}}
「俺はむしろ、熟女にもてるで」でおなじみの松本さんに質問です。ブスを一番ブスと感じてしまう距離を教えてください。

!人生は距離
*ブスとかブスじゃないというよりも、人生ってやっぱり距離やな。。って思う。
*世の中すべて距離でできている。

!例えば。。
!!ライオン
*絶対恐いが、逃げれば逃げる程どんどん恐い距離になり追いかけてくる。
*しかし、逆に顔が付くほど近づいてしまえば、何かわからないし意外と恐くない。(パンチ DE デートのように)
!!ウンコ
*クサイクサイと言うけれど、鼻に詰めてしまえば臭わない。 
!!カウンタック
*離れて「カッコエエなぁ」と言っているうちはいいが、近づいたら跳ねられる。

!ブサイクな女とのデート
*結局、ブサイクな女とデートする場合も距離。
*顔と顔の間にストローを刺し、お前にもチューやしお前(飲物)にもチュー。
ヒゲを剃る姿が日本一ダンディな松本さんに質問です。黒ヒゲ危機一発で黒ヒゲを無くしてしまった時、何を変わりに差し込めば楽しく遊べますか?

!黒ヒゲの代わり
*なんだっていい。冷蔵庫のあまり物でもいい。例えば、冷ご飯。
*松本そればっかりと思われるのが嫌だが、本当のことを言うとウンコ。
*めちゃめちゃ盛り上がる。黒ヒゲどころか全員危機一発。
身近な出来事に怒る事で体脂肪を燃焼するというダイエットを提唱している松本さんに質問ですが、どんな感じでキレていけばいいんでしょうか?

!怒る事で体脂肪を燃焼
*怒る人はだいたいガリガリ。
*太ってる人はあんまり怒らない。

!注意事項
*筋トレと一緒で無理すると三日坊主になる。
*急激に痩せたかったら、怒りを爆発させるだけだが、無理をするとしんどくなる。
*毎日簡単に出来るキレ過ぎない感じが良い。
*家に居る感じでくつろぎながら「あぁ痛たたた。。」(意味不明)
松本さんが広めているという「白目占い」とはどんな占いですか?

!白目占い
*白目占いで、特番を 1 本撮ろうと思っている。
*白さ具合、白さの度合いで、その人の歩んで来た道とかがなんとなく分かる。

!占い方法
*自分の出来る限りの白目をする。
*占い師側も白目状態になり、相手の白目から出るものを受け取ることで占う。
*受け取るための所要時間は約 50 分。
芸能界一の映画通、松本さんに質問です。スーパーマンの「S」のマークは、スーパーマンの「S」ではないと聞きました。何の「S」なんですか?

!SM の S
*スパイス、スパイシーというのはウソで、意外とベタに SM の S。

!スーパーマンはド S
*考えたら分かること。
*ド S じゃないと、あんなにポマードは付けない。
*(松本は)ド M なので臭いで分かる。相手を威圧しようという感覚。
*M なら、事件が起こった時に電話ボックスに入って着替えようとはしない。
*M なら、「あ~、あ~」と慌てるだけのはず。
*M なら、あんな服に着替えて空を飛ぼうとはしない。

(途中、地震のためオチはなし。)
人間は食べてすぐ寝ると牛になると言われていますが、それはどのような過程で牛になっていくのですか?

!過程
*ババババ~ン(右腕)
*ババババ~ン(左腕)
*ババババ~ン(胴体)
*バ~ン(顔)

!正確には規則性がない
*ババババ~ン(左腕)
*バババ~ン(顔)
*ババババ~ン(右足)
*バ~ン(角)
*バ、バ~ン(角) ※ 少しずつ
*バ、バ、バ~ン(角) ※ 少しずつ
*バ、バ(左角) ※ 少しずつ
*バ、バ(右角) ※ 少しずつ
*バ、バ(左角) ※ 少しずつ
*バ~ン(右足)
*ババババ~ン(左胸)
*バ、バ、バ、バ(右角) ※ 少しずつ
*バ、バ(右胸) ※ 少しずつ

!変身過程について
*間近で見てたら非常に怖い。その時は「モ~」としか言えない。
*「うわ~っ!!」の叫び声を打ち消すくらい「ババババ~ン」は結構デカイ音。
*大音量なので、「ピンポーン」(来客)が来ても気付かない。
*モニターだけ映っている状態が続く。ピザ屋が何回もやっていても気づかない。
*腹いっぱいのくせにピザを頼んでいるのが不思議な点。
銭湯で宇宙人に遭った時、宇宙人を傷付けないためのリアクションを教えて下さい。

!宇宙人の認識
*まず宇宙人の認識をはっきりさせる必要がある。

!浜田のイメージする宇宙人
*頭から丸いのがピロロ~ンって出ている。目ではなく触角みたいなもの。色々感じ取ったりする。⇒ 完全に虫歯菌とイメージが被っている。全くセンスが無い。だから絵が書けない。
*人間には目があるので触角は無い。宇宙人は触角を持つ代わりに目が見えない。
*体の色:「銀色」
*泣き声:「ンンンン~」(か細い声で)
柔道でまだ誰も手にした事がない「プラチナ帯」を持っている松本さんに質問です。「プラチナ帯」はどうすれば手に入れることができるんですか?

!プラチナ帯とは?
*黒帯を 10 本出しても代えられへんと言われている。
*黒帯 12 本分相当。段持ちの 12 人分。12 段。
*12 段と言えば結構な「吹き抜け」。つまり、柔道家として「吹き抜け」と言うこと。

!プラチナ帯をもらう方法
*すごい勝ち方をした時にもらえる。
*「大腰」「払い腰」「袈裟固め」くらいでは黒帯止まり。
*「抑え込み」のもっとすごいやつ。
**普通は抑え込んだ時点でカウントが始まる。それで勝っても普通の一本。
**抑え込んだ後、畳を「がばぁ!!」めくって、その中へ押し込む。 

!プラチナ帯保持者
*過去に「プラチナ帯」を手にしたのは 2 人だけ。
*松本と、もう一人はベネズエラのオカマ。強かった。
先祖から伝わる秘伝の書が 100 冊以上家にあるという松本さんに質問です。松本家に先祖代々伝わるという、急な鼻血に効くおまじないを教えてください。

!色々な場面で使える
*デートの時
*入社案内の時
*部屋探しの時
*車でバックしてる時
*ニュージーランド傷心旅行に行ってる時
*晩餐会に行ってる時
*たこ焼きパーティをしてる時

!鼻血が出るとひいてしまう
*鼻血が出ると「わっ!!」っとひかれる。
*鼻血が出るチームと鼻血が出ないチームがあったとしたら、鼻血が出ないチームに入って下さい。
*鼻血出る高校と鼻血出ない高校があったら、鼻血出ない高校に入学してください。そして卒業してください。クラス替えはないので 3 年間しっかり友達になれます。

!浜田はホジリすぎて出る
*バカ。それでは加害者と被害者が同居している状態。 

!急な鼻血に効くおまじない
*鼻血に対してもっと怒りを持つ。{{m{
>「あー鼻血出ちゃったー」ではダメ。
>「鼻血ボケェーーーッ!!」っと。
}}}
*イボ痔でも同じ。怒ることによってイボ痔がヒャ~と逃げていく。{{m{
>「鼻血ボケェーーーッ!!」
}}}
*虫歯でも同じ{{m{
>「虫歯ボケェーーーッ!! 痛ないぞーーーっ!!」
}}}
*盲点で意外と誰もやらなかったが。やっぱり怒られると恐いもの。

!浜田のタラコ唇について
*浜田のタラコ唇もこの方法で改善されるが、浜田自身、タラコ唇という自覚がない。
定期的に富士山頂に登り、全宇宙の宇宙人と交信をしている松本さんに質問です。実は私のクラスに宇宙人がいるんです。ですが、それに気づいているのは私 1 人しかいません。どうしたらいいでしょうか? 教えてください。

!とても卑劣な行為
*宇宙人でありながら地球人のふりをして授業を受けているのは、風紀委員をやっていたこともある松本から言わせると、とても卑劣な行為。

!皆の前で言ってあげるべき
*学級委員の白鳥まどかさんは、授業中に皆の前で言ってあげるべき。{{m{
>「竹下君はずるいと思います!! 宇宙人です!!」
}}}
*シャーペンが落ちない程度に、机をバーンっと叩く。(POINT : シャーペンが落ちたりすると目が散るので、音立てながらも机があまり揺れないように叩く。){{m{
>「卑劣です!!」 (倒置法で。皆「なにが卑劣なんだ??」)
>「UFO なんて!!」 (先生:「乗り物のことを言ったのか? 何が卑劣でなぜ乗り物なのだ??」)
>「全身タイツで、シルバーでまとめて卑怯です!!」
>「卑怯だと思います!! テレポーテーションとか。。なんなのよ!!」
>「コスモス!! コスモス!! コスモース!!」
}}}
タウリン 9000mg 配合の松本さんに質問です。20000mg 配合となると大変な事が起こると聞きましたが、それはどんな事ですか?

!タウリンは発明者の名前
*アルジャーノ・木下・タウリン(助手は村松君、タオリンはタウリンの女)

!タウリン配合の効果
*後ろ向きで呼び止められた時に、めっちゃ速く振り向ける。

!常に減り続けている
*タウリンというのは常に減り続けている。フワ~っと煙のように。特殊カメラで見ると良くわかる。
*男性はチ○コの先から、女性は乳首から出て行っている。
*浜田の出方は少し異常。めっちゃ出てる。一回下行って上に上がってる。(勢いがありすぎて)
*だから、常日頃からタウリンをいっぱい摂っておく方がいい。
*羊を丸飲みするのが一番良いとされている。(一般人向けの方法は語られなかった。)
芸能界一、キレると恐いと有名な浜田さんですが、テレビでキレている姿は本当にキレている状態ではなく、本当にキレた時の浜田さんは相方の松本さんしか見たことがないと聞きました。本当にキレた時の浜田さんはどうなってしまうのですか? 是非教えてください。

!本当にキレた時の浜田
*アレはなんでしょうねぇ。恐い顔やでぇぇ!!
*サーベルタイガーみたいな顔。下の歯が上に、上の歯は下に牙の様に突き出している。
*小学生の時に初めて浜田を見た時、牙がランドセルを突き上げていた。
*眉間のしわが体全体に広がる。
*「だいじょぶだぁ」の時のような顔。(変なおじさん風)

!電話している時の浜田
*キレ過ぎて携帯を握りつぶし、リボン状になっている。
*相手を指す指が、相手側の受話器口から飛び出てくる。
*話の内容も非常に恐くて気になる。{{m{
>「あと弾が 2 個しかない。折り返し電話してくれ!!」
>「薬莢が机の下見てもあれへんやけども、アレで足がつくんやないやろか。折り返し電話してくれ!!」
}}}

!浜田の右手
*人を叩くための「右の手」はちょっとでかい。左手は食べる時用。
若者が良く使う「キモイ」と「キショイ」の使い分けが良くわかりません。どんな時にどっちを使えば若者らしい日本語になりますか? 教えてください。

!キモイとキショイの違い
*キモイは人物を指す。
*キショイは動作を指す。

!キモくてキショイ浜田
*浜田はキモイので、鼻クソほじくってるのもキショイ。何をしていてもキショイ。
*生まれた時に(凸凹の出るやつで)キモイマークを押されている。

!キモくもキショくもない松本
*松本はキモくないので、どうやってもキショくなれない。
*キモくなることから始めないとキショくはなれない。
世の中のどんな音も擬音化できる達人、松本さんに質問です。浜田さんのツッコミをあえて擬音化するとどんな感じになるんですか?

!例えば。。
*ライオン{{m{
>「ターン」「ハイそこ!! ターン」
}}}
*廊下を歩く{{m{
>「ねちゃ、ねちゃ、ねちゃ。。」
}}}

!浜田のツッコミを擬音化
*浜田に叩かれたくないので頑張ってはみたが、このハガキは回答無理だった。
ドラゴンボールをヤフオクで 4 つほど落札されたという松本さんに質問です。最近アマゾンの奥地で 8 つ目のドラゴンボールを発見されたと聞きましたが、ドラゴンボールを 8 つ集めるとどんな事が起こるんですか?

!8 つ目のドラゴンボール
*特別なもの。スペシャルです。

!8 つ集める作業
*8 つ集めるとコレは凄いことになるが、集めるのが大変。
*7 個集めた時点で竜が出てきてしまい、8 つ目を捜してる時に付き纏われる。{{m{
>「おい!! 違うがな違うがな!!」「出とるがな!!」
}}}
*これを無視しながら集めるのが大変。ストレスがものすごい。

!松本、浜田の願い事
!!浜田
*実際問題、欲しいもんなんかない。(めっちゃ金持ちの言い分)
*浜田は一般庶民とココまでかけ離れてしまっている。ナンボほど満たされているのか。。
!!松本
*めちゃめちゃある。(オカマっぽい物が多い)
*ハンドバッグ、パーティドレス、車、春先にちょっとフワッと羽織れるもんなど。
昔、秘密結社に勤めていた事があるという松本さんに質問です。トランペットを吹くとハトがよってくる人にはどうしたらなれますか?教えて下さい。

!最近のハガキがおかしい件
*質問が飛び越えてしまっている。俺の手もとを離れてしまっている。『松本さんはトランペットを吹くとハトが寄ってくるそうですが、どうすればなりますか?』なら分かるが。。
*松本は何でもやってきているというイメージが強いため質問が絶えないのだろう。(ハリウッド女優とも、ほとんどもうヤッている。)

!ハトのよってくる吹き方
*上を向いて先端にポップコーンみたいなんを入れといて「プァ~」っと吹く。
*持ち方は、右手、左手は逆でも可。

!浜田のトランペット
*浜田は小学生の時、トランペット鼓隊だったが、あんなトランペットでは何にもよってこない。(だからこんな気持ちの悪い唇になった。)
*きったない尼崎のオッサンしかよってこない。
*ハトは幸せの象徴。尼崎のオッサンは不幸の象徴。真逆。
浜田さんがトリノで実況、解説している間、松本さんも別の件で実況していたと聞きました。何の実況をしていたのですか?

!浜田の「金」
*浜田はトリノで一番「金」を獲っていた。
*1 日に何個も。来々月ぐらいの明細、もう金だらけのはず。

!ホソリンピック
*松本はアトランタに行っていた。
*ホソリンピックというガリガリのヤツがやる大会が開催されている。
*競技種目はオリンピックとほとんど一緒。
*フィギュアなどでは、男はパンツからキ○タマ出てしまう。ガリッガリでガバガバなので。{{m{
>キ○タマフワ~ッ、キ○タマフワ~ッ。
}}}
寿司業界のプリンスこと松本さんに質問です。寿司屋の隠れメニューに、並の下を行く「下」があると聞きましたが、一体どんなネタのラインナップなんですか?

!昔の話
*今は日本も裕福になったが、昔はあった。(赤胴鈴之助ぐらいの頃)
*僕らが生まれるちょい前ぐらいの時は、まだ「下」があった。
*現在では、回転寿司みたいなオッサンに言っても「もう!! 何言ってんだよ!!」って言われる。
*代々伝わるようなすごい古くからやっているお寿司屋さんに行けば伝わる。

!どんなネタ?
*並の下ですから、それはもう貧相なもの。
*海苔置いて、ご飯のせて、巻く前ぐらいになるとオッサンの声がする。{{m{
>「痛い痛い痛い痛い!! 痛い痛い痛い!!」
}}}
*陰毛的なものを入れている。
*誰も頼まないので廃れていった。{{m{
>「本当に食文化というものは良くなったね~。」(シミジミ)
}}}
松本さんは以前テレビで『河童を見た』と言っておられましたが、私は死ぬまでに一度会いたいのです。松本さんは長年の経験から出会うためのポイントを見つけたそうですが、それをぜひ教えて下さい。

!河童の村
*あまり大きな声では言えないが。。
*河童の村があるが誰もが行けるわけではない。
*河童心を持ってる人間でないと行けない。(ネコバスが子供にしか見えないように)
*浜田のような鼻クソ人間には河童心は全く無い。だから一生見れないし、河童の村に行っていても自分が河童の村にいることすら気づかない。

!河童心とは?
*河童心を持っている人間は 150 人に 8 人くらいと少ない。(松本を入れて 8 人?? 入れないで 8 人??)
*河童心というのは、常に心に皿を持っていること。
*頭をはたかれた時に本当は皿などないが「皿割れる!!」「あっ!! 割れたんちゃうか?」っていう気持ち。
*「濡れてないんちゃうん?」みたいな気持ち。 

!出会うためのポイント
*河童心の入口が都内に 4 箇所あると言われている。
*表参道ヒルズの下に 1 つあったが、建物の下に埋まってしまい 1 つ減ってしまった。
*ああいう都会のちょっとしたとこに入り口がある。
*大体が観音開きのようになっていて、凧糸みたいなものが不規則に巻かれている。
*新宿の「かに道楽」のカニの甲羅のところにもある。甲羅が開いたところ。
人気ブランド「HITOSHI LONDON」の創始者、松本さんに質問です。おばさんがやたらと豹柄を好む理由がいまだに分かりません。松本さん、ぜひ教えて下さい。

!豹柄を好む理由
*東京ではあまり見ないが、大阪では多い。
*ハングリー精神の表れ。常に追う側の立場でありたいという気持ちが豹柄を浮き出させている。
**オバハンはオッサンを鹿やと思っている。
**オッサンにガブリ付く事を、常に考えている。
**常に初年度の気持ちで。常に一期生のつもりでいる。
**オバハンっていうのは、そういう意味では物凄くフレッシュネス。
**アイツらは生きる事に貪欲。
**常にネコ科でありたい。オッサンに対して常に一期生でありたい。
**毎日がデビューやと思っている。

!女性という生き物
*若いうちは、男に終われる側「夜道恐いわバージョン」。
*30 そこそこでも自分はまだウサギと思っているが、振り返ると男は追いかけて来なくなる。
*「あれ?」と気づいた時にはもう。。シミがポツン、ポツンと。。
*「これ、逃げてる場合やないで!!」と気づきハングリー精神へ繋がる。
大ワルオヤジの浜田さんと長年コンビを組む松本さんに質問です。最近「ちょいワルオヤジ」などがモテるそうですが、今年の夏は「ちょい何オヤジ」がモテるのですか?

!ちょいワルブームと男の魅力
*男の魅力みたいなものを、もう一度見つめ直そうという時期に来ている。
*今年の夏でまたブームが入れ替わる。

!ちょいガバオヤジ
*ゆとり社会をちなんだコンセプト。{{m{
>「窮屈なのをやめていこう!!」「ガバっとさせていこうぜ!!」
}}}
*そんなユル~イ感じのオヤジに若い娘は何か惹かれる。
*腕時計も掌まで来る感じで付ける。
*パンツとかもダルダル。ゴムを嫌う傾向。
*オッサンの今度の流行りのネックレスは股間より下ぐらいの所までくる。揺れるおしゃれ。
今年で芸歴 25 周年を迎えたプチベテランコンビ、ダウンタウンの松本さん、1 年目の若手芸人が浜田さんのケツを蹴ったら何が起きますか?

!例:オリエンタルラジオ
*松本の場合は、「おぅ!! 今日もチューニング合ってるね~!!」程度で済むが。。
*浜田の場合は、口の中にあるもう 1 個の口が出てくる。顔が虹色になり CG みたいな動きになる。

!浜田の見解
*筋だけ通してたら何にも言わへん。
*やる事ちゃんとやっときゃ誰も何も言わない。
*普通に常識的な事をちゃんとやっとけば何も言わない。挨拶とか。

!松本の見解
*僕ら一般庶民は「すじ」って言われたら、おでんとか、そっちの方しかイメージできない。食べるモンじゃない「筋」っていうのは、あんまり分からない。
*吉本で浜田の後輩で、ドツかれてないのはいるんですかね。

!浜田の反論
*殴ったのは限られてますよ。

!松本の驚き
>「うわぁああぁぁ!! 殴っているんだぁ!! 恐いね~!! 今宵も恐いね~!!」

!浜田の反論
*それには理由があったから仕方がない。
*大阪ん時に今田と東野が 2 日続けてトチってた時。

!松本の感想
*そうなんですよ!! 可哀想に、顔面がガバーッっと割れて傷口がバカバカなってた。
*「すいませんでした~」って謝っているのを、ベルトをシューッ抜いて、ビチコーンと。穴の痕が付いていた。
*まあ、ある種浜田さんのような頑固オヤジ的な人は必要でもある。
*浜田さんは基本的にマジのピストルでロシアンルーレットをやる人。
*僕にはそんなことはできないので浜田さんに言って頂く方がいい。

!やすきよに例えると
*松本の見解:浜田がやっさん。
*浜田の見解:松本がやっさん。
*観客の反応:松本がやっさん。
*松本の感想:絶対おかしい。こんなに恵比寿顔の俺なのに。
料理も笑いも鉄人クラスの松本さんに質問です。料理に「さしすせそ」があるように、笑いにも「さしすせそ」があると聞きました。ご存知ですか?

!世の中「さしすせそ」
*何だって「さしすせそ」で出来ている。日本語というのは良く出来ている。{{m{
|さ|サッサとやる。|
|し|静かにさせない。|
|す|スパークする。|
|せ|せっかちにならない。|
|そ|ソーセージ。|
}}}

!笑いの「さしすせそ」
|さ|笑いをダラダラしてても仕方がない。|
|し|客を静かにさせるなど論外。|
|す|スパークって意外と難しい。スパークしてないコンビって多い。|
|せ|せっかちは嫌われる。昔話はたくさんあれど、せっかちで得をした人の話はない。|
|そ|わざわざ説明するまでもない。|

!レンタルビデオ屋でビデオを借りる時の「さしすせそ」
|さ|ダラダラ選んでいたら、彼女干上がっちゃう。彼女逃げちゃう。|
|し|彼女を退屈させないってこと。サッサと選ぶ。|
|す|棚を突く。棚の向こうでエロビデオ見てるオッサンに。|
|せ|だからといって、見たくないもの、一度借りたものを借りては、彼女は絶対にブラをはずしてくれない。|
|そ|「借りる時、返す時はキュッと絞っていこうぜ」ってこと。「じゃないと肉はみ出しちゃうよ!!」|

!レーサーの「さしすせそ」
|さ|曲がる時サッサと曲がらないと負けちゃう。|
|し|爆音を常に轟かす。静かになるということはエンストということ。|
|す|エンジンルームではまさにスパークの連続。|
|せ|まだ直線なのに曲がらない。|
|そ|「スタートからゴールまでキュッと絞っていこうぜ」ってこと。「じゃないと肉はみ出しちゃうよ!!」|
熊にあったら「死んだ振りをしろ」と言いますが、エイリアンにあった時は、どんな対処法が一番ベストですか?

!ベストな対処法
*まず、シガニー・ウィーバーではない事をハッキリと言う。{{m{
>「シガニーじゃないから。私、シガニーじゃないんで!!」
}}}
*これを前面に押し出さないと、ゲヘヘヘヘ~、トロトロトロ~と迫ってくる。{{m{
>「トロロロしてらっしゃるみたいですけど、私、シガニーじゃないんで!!」
}}}
*エイリアンはシガニーかどうかを内側から覗いているので、シガニーじゃないと分かれば恥ずかしいはず。{{m{
>「俺、ごっつ、うわっ、俺、シガニーと思うてた。。」
}}}
*このドギマギ感の間に、パンツ丸出しで逃げてください。 

!浜田にも同じことが言える
*松本をパンパン叩くのは、ダウンタウンの松本と思っているからこそ叩いている。
*見ず知らずの 42 歳のオッサンにはパンパン叩かないはず。
*浜田にとっての松本はシガニーである。{{m{
>「僕、私、松本さんじゃないんで!!」と言われたら、
>「おーぉ、アカン、アカン。。」となる。
}}}
来月「松本列伝」の著書を発売予定の松本さんに質問です。小学校 3 年生の頃までゴリラに乗って生活していたそうですが、なぜ 4 年生になってカバに乗り換えたんですか?

!濁音ブーム到来(噛んだ言い訳)
>「ゴリィダにじだらマヅボド。。」

!乗り換えた理由
*浜田が始めて載った車「スターレット」から「マーク II」に乗り換えたのと同じこと。
*いつまでもゴリラに乗っているわけにはいかない。
*スターレットに飽きたように、ゴリラに飽きた。
*ゴホゴホ感に飽き飽きした。
*カバに乗り換えた理由。マーク II と違うところ。
**ゴリラなので暴れる。⇒ 好物を分け与えてあげる。
**燃費が悪くなる。はじめはバナナ 1 本で走っていたが、そのうち「1 本じゃぁ。。」と満足しなくなってくる。
**カバには ETC が搭載されていた。乗り換えたのは中 2 の頃。

!ゴリラについて
*ゴリラなので 5 ナンバーだった。
*学校に行く間は、ゴーリン場(駐輪場のゴリラ版??)に停めておく。
*松本は日本式の停め方。すぐに出られる。{{m{
| ゴリラ → | 出口 |
}}}
*邪魔臭がりは、そのまま停めるので出る時に方向転換が必要。{{m{
| ← ゴリラ | 出口 |
}}}
この世に存在するものには全てサブタイトルが付いていると聞きました。冷蔵庫やストーブにはどんなサブタイトルが付いているんですか?

!何にだって裏テーマがある
|ダウンタウンの松本人志|~ 風を感じて ~|
|冷蔵庫|~ 極寒を乗り越えて、冬 ~|
|ストーブ|~ FOREVER ~|
|自転車|~ なぞの転校生 ~|
自分を進化させるためなら、どんなストイックなことも取り入れるポジティブな松本さんに質問です。以前、目からビームを出すための訓練法を教えて頂きましたが、次は足の裏からロケット噴射して飛べるようになるための訓練方法を教えてください。

!ロケット噴射の注意点
*自分の意思でロケットが噴射するわけではない。
*まだ体は飛ぶ体制になっていないので注意する。
*少しでも膝を曲げていると危険。
**膝がガクンとなって顎に「ガンッ!!」
**大抵の人は、口から血を出しながら飛んでいる。ジンジンしている。{{m{
>「飛んだ飛んだ」言いながら「痛いなぁ。。」
}}}
*足の裏が上を向いていると危険。
**歩いていても前に「ステンッ!!」転んでしまう。
**オープンカフェで足を組んでいても「パーンッ!!」
*両足が噴射しているとも限らない。
**斜めに飛んでしまうので、花火の要領でもう片方へ点火することで安定させる。

!ロケット噴射の訓練法
*ロケット噴射用の靴がある。誰でも着用可。

!ロケット噴射用靴の購入方法
*新宿の ABC MART で売っている。ただし裏メニューになっている。
*店員に合言葉を言わなければいけない。{{m{
>「ココ、ABCD MART かな?」
>「靴ベラのいらん靴があると聞いてるんやけど。」
}}}
*バイトのツカモト君が慌てて見せの裏に通してくれる。{{m{
>「ツカモト君!! ツカモト君!!」
>「ツカモト君!! お客さん裏の方に通して!!」
}}}
*桐の箱に入っている。底面が少し焦げている。
**完全に余熱を無くしてから入れるべきだが、これもまた粋なもの。
*サイズは 22.5cm しかない。
**他のサイズも作ってくれるようにメーカーにはクレームを挙げている。
松本さんは心霊写真を自由自在に撮れるらしいのですが、何かコツがあるのですか? 教えてください。

!松本の霊能力
*松本の霊的な力は美輪明宏 × 6 人分に相当。

!浜田の死期
*土曜日。自分の死期を知ることは嫌であろうから曜日だけ。

!心霊写真
*心霊写真だけでアルバムを作っているほど撮っている。
*霊が目をつぶっている写真もある。

!心霊写真を撮るコツ
*時間は朝方が撮りやすい。
*場所は歌舞伎町が撮りやすい。
タレントなのに素人参加型番組にバンバン出場している松本さん。松本さんはこれまで、テレビ東京の「TV チャンピオン」で 3 回チャンピオンに輝いた事があるそうですが、その 3 回は何王決定戦だったのですか?

!餃子王決定戦(大食い)
*餃子は止まらない。相当いった。止まらない。
*ジャンボ餃子の 5 人前。浜田が思っている以上のジャンボ餃子。<br>⇒ 通常の 4 人前分を 2 つ。(⇒ 8 人前??)
*普通は(途中で)止まるが、とにかく止まらない。
*他のやつは止まっていた。止まらないと言っても止まっていた。

!ジャンケンに負けたことがない決定戦
*詳細不明。

!何があっても目をずっと開けていられる決定戦(瞬きしない王)
*普通の人は目の前で「パンッ」とされるのが分かっていても目をつむってしまうもの。
*松本が実演してみる。<br>⇒ 「パンッ」とやる前につむってしまった。(調子が悪かったのか??)
1 週間で 12 回はうどんを食べると言う松本さんに質問です。カレーうどんの汁を飛ばさずに食べる方法を教えてください。

!結局は距離
*格闘技と同じ。
*殴られるのが恐いからといって距離を取っていたら殴られてしまう。
*恐い時は逆に寄っていけばいい。クリンチ。

!カレーうどんも距離
*麺を体に押し付けるようにして口へ運ぶと良い。
*熱いので猫舌の人は、何回も顔を回りながら肌で冷まして食べると良い。
芸能界のムシキング松本さん。去年の夏、大クワガタの上を行く「デカクワガタ」を捕まえて億万長者になったそうですが、その「デカクワガタ」は、どんな形をして、どんな場所に生息して、どうやって捕まえるんですか? 教えてください。

!特徴
*体長:153cm
*2 本足で歩くが、ちょっと前のめり気味。

!生息地
*淡路島。
*松本が捕まえた時は、テニスコートのネットにつかまっていた。
*体長が大きいので、片足が地面についていた。

!捕まえ方
*手を「ガッ」っと掴む。 

!飼育
*しばらく家に住まわせていた。
*寒い時は松本のカーディガンを着せていたが、体長が大きいためボタンは 1 つしか留まらなかった。
*1 度「PIZZA-LA」の出前に出てもらったが、お釣りを間違えてもらっていた。
昔から「こども電話相談室」の質問を聞いていて、答えられないことは 1 つもなかったという松本さんに質問です。すごく素朴な疑問なのですが、幽霊は何を食べているんですか?

!だいたい冷たいもの
*だいたい「冷やし~」
**「冷やしパイン」(割張りに刺さって氷の上に置いてあるやつ)
**「冷やご飯」 
*だいたいササッと食べれるもの。いつでもすぐに出れるように。
*熱いものを食べているのは似合わない。
*ビックリさせたいのに、熱いものをのんびり食べてなどいられない。
もしもトークの最中に突然、刃物を持った男がステージに乱入して来て、浜田さんに襲い掛かって来たら、松本さんはどうしますか?

!常に想定している
*今更聞かれる話しではない。常に想定してステージに上がっている。
*出て来た時に、不振な奴がいないか客席を見回している。

!襲い掛かってきた場合
*まず理由を確かめる。{{m{
>「何でや!?」
}}}
*うるさいと突き飛ばされても、{{m{
>「何でや!?」
}}}
*浜田が刺されてしまっても、{{m{
>「何でや!?」「何でそうしようと思ったんや!?」
}}}

!動機を知らずして解決なし
*助けるにしても、まず動機を確認しないと助けられない。解決にならない。
*刺されても仕方がない。気になる事はすぐ解決したい。「何でや!?」が大事。
*刺された浜田を病院へ。付き添う救急車の中、浜田の出血に対して、{{m{
>「何でや!?」「何でこんなに出てんねん!?」
}}}
*もし浜田が死んでしまった場合。遺影に向かって、{{m{
>「何でや!?」「何でこうなったんや!?」
}}}
*棺の中で。鼻に綿を詰めている浜田を見て、{{m{
>「何でや!?」「何で綿を鼻に入れようと思ったんや!?」
}}}
牛で言うと米沢牛のランクに位置する松本さんに質問です。牛が鼻にリングを付けられている違和感は、人間で言うとどれくらいの違和感ですか?

!松本のランクについて
*もう少し上のランクかも知れない。霜降り加減が半端ではないから。

!牛のリングはステータス
*牛自身は違和感など感じていない。牛をナメんな。
*何かとの繋がりを感じることが出来る。{{m{
>「一人じゃない。何かと繋がってる。泣かない。泣けない。」
}}}

!人間で言うところの違和感
*麦茶入れ(ピッチャー)を 2 個持っている感じ。
私はよく金縛りに遭います。金縛り回避法を教えてください。

!金縛りは SM みたいな物
*縛られているのか、縛らせているのか。
*ロウを垂らされているのか、垂らさせられているのか。
*S 的には自分がやっているつもりだが、M 的にはやらしてあげていると思っている。{{m{
>「コイツ、アホやな。私にロウを垂らして何を興奮してんのよ。」
}}}
*結局、どっちがコントロールしているか。表裏一体。
*金縛りに遭った時も縛らせてると思えば良い。気持ちで負けないように。

!金縛りの原因は昼間にあり
*金縛りに遭う時は、その日の昼頃に決まっている。原因がある。
*霊を小バカにするような言動を取っている場合。霊はずっと聞いている。{{m{
|松本|金縛りなんか恐いと思った事ないわ!!|
|霊|ほ~ぉ。|
}}}

!金縛り以外でも考え方は同様
*森で熊にあった場合も同様。気持ち次第。襲わしてやってると思えば恐くない。
動物界での人気をムツゴロウと二分する松本さんに質問です。雌犬を落とすにはどうしたら良いのか教えてください。

!雄猫の気持ちで行くと良い
*肩に力が入らない。
*例えばブラジル人の女性は、ブラジル人の男には警戒してしまう。
*しかし、全く別の人種に対しては油断が生じる。{{m{
>「なによ!! こんな人には抱かれないわよ!!」
}}}

!六本木のバーにて
*雌犬が飲んでいる。。{{m{
>「私は雌犬よ!! ココのバーで飲んでるのよ!!」
>「私は、そんじょそこらの雌犬じゃないのよ!!」
>「スコッチを飲んでいるのよ!!」
}}}
*雄猫が登場。。{{m{
>「邪魔するニャン!!」
>「今日も暑いニャン!!」
>「そうだニャン~。俺もスコッチもらうニャン!!」
}}}
*雌犬にしてみたら。。{{m{
>「なに、この雄猫が。。」
>「こんな雄猫に私がやられるわけないじゃない。」
}}}
*この油断こそが一番相手の心に入っていくチャンスである。{{m{
>「どうせ僕なんて。。猫ですから。。」(と近づき。。)
>「猫の手で、そんな何も感じひんわよ!!」
>「なんなのあんた!! いいわぁ~♪」
}}}
以前も一度素朴な疑問をさせてもらいましたが、今回もまたお願いします。宇宙人は何を食べて生きているのですか?

!簡単に言うと、お餅
*あまり噛まずに済むものを好む。
**兵六餅(ひょうろくもち)
**さくらんぼ餅(駄菓子)

!お餅を好む理由
*UFO などに乗っていると、どうしても餅系が食べたくなるため。
**車に乗ってると、オムライス、ハンバーグなどが食べたくなるのと同じ。
*未来には歯が退化するためとも言われている。
**基本的には頭で物を食べるようになる。
**口は一応動かしている。噛んでるような吸ってるような。。<br>(夜な夜なやってるような)
刑事に 17 人の親友がいるという松本さんに質問です。探偵は尾行が 1 時間 1 万円など細かく料金設定が決められていますが、一番高い捜査は一体どんな捜査なんですか?

!料金設定について
*実際は、1 歩 5 円と言われている。

!1 番高い捜査
*浮気捜査。
*エロいから高い。大体、世の中エロいものは高い。
*浮気を証明するには写真が必要。
*乳触りかけの写真などであれば値段が跳ね上がる。
4 年に 1 度しかすべらない松本さんに質問です。砲丸投げの球を、より遠くに飛ばす掛け声を教えてください。

!教えてしまう危険性
*皆が真似してオリンピックの記録が一気に塗り替えられてしまう。どエライ事になるかもしれない。

!掛け声のすごい効果
*出産時の息み方にも、子供の将来には大きな影響がある。
*頑張って息んでおけば、中学受験ぐらいまでは順調に育つ。

!意外な掛け声が効果的
*力強いばかりが良い訳ではない。砲丸が気持ちよく飛んで行ける様な。。{{m{
>Can you celebrate ~♪  tonight ~♪
}}}
以前、松本さんが優勝された「ド M トライアスロン」では、一体どのような競技が行われるのですか?

!ド M トライアスロン
*毎年、ド M ばかりが集まり開催される。参加者は 45 人程度。
*基本的には通常のトライアスロンの競技と同じ。

!基本的には、ド M の状態
*鼻フックされ、横には常に女王様がいる状態。
*離れたら失格。ペアでないとゴールできない。{{m{
|女王様|ヨーイって言ってるよー!!|
}}}
*鼻フックは取れやすいので注意が必要。{{m{
|女王様|ずれてるよ!! 鼻フック!!|
}}}

!競技について
*女王様を担ぎながら競技する場合もある。ムチでパンパン叩かれながら。
*自転車競技はサドルなしの状態。{{m{
|女王様|(パイプがケツに)入ってるよー!!|
|女王様|子供出てきたよー!! チリンチリン鳴らした方がいいんじゃない!!|
}}}

!女王様について
*女王様を邪魔だと思ったことは一度もない。
*寧ろ女王様しかいなくて良いと思っている。
*給水所では女王様が水やスポンジを渡してくれる。{{m{
|女王様|がんばってー!! もうちょっとだよ!!|
}}}
*がんばってほしい気持ちは女王様も一緒。
*飴と鞭が大事。常に厳しくてはヘソ曲げちゃうもん。

!M 的要素
*厳しい女王様が水を浸したスポンジを下されたことに興奮。
*ゼッケンも本当は 7 番なのに 6 番だったりする。 ⇒ 逆にそれが興奮。{{m{
>「うわぁぁ。7 やのに。。」 
}}}
*芸能界からも多くの M が参加している。落語家が一門で参加した事もある。

!S と M は表裏一体
*ド S の浜田にも M の面があるはず。
*松本は少しでも気に食わないと「ツン」となる。
家庭的な芸能人ランキングで、7 年連続第 1 位を獲得されている松本さんに質問です。この間「驚きの白さ」という言葉を耳にしたんですが、「ただの白」から、さらにどの位白くなれば「驚きの白さ」になるんですか? 教えてください。

!過大評価も甚だしい
*CM なども勝手に言い過ぎ。聞き手も聞き流している状態。
*正月番組でも 1 月 3 日にもなって「初笑い」というのもおかしい。{{m{
>「元旦と 2 日もあるやろ!!」
}}}

!驚きの白さについて
*驚きのあまり 5 度見になる。
*1 秒 1 秒汚れていく。(スモッグなどで)
*ハート面では経験がある。心の「驚きの白さ」は汚れないはずだが。。<br>⇒ コンパなどでハートの白い女性に出会う ⇒ 連れて帰る ⇒ 松本に汚される。
夜道を一人であることの怖さを、生娘よりも良く理解している松本さんに質問です。夜道を歩いている時に本物の魔女と出くわしてししまった時の正しい接し方を教えてください。

!魔女の怖さ
*魔女は怖い。カエルにされてしまう。

!正しい接し方
*魔女に杖を振らせない様にする。(カエルにされないように)
*魔女に杖を振らせる間を与えない。
*すぐに魔女の手を握りながら逃げる。{{m{
>「あ!! どうも~。いや、どうもどうもどうも。あ~!!」
}}}
パーマとケンカが何よりも嫌いな松本さん、私はとある電機メーカーの電話相談係をしているのですが、毎日お客様から色々なクレームが絶えません。そこで松本さん、これさえ覚えておけば、どんなクレームも治めることができる画期的なクレーム対処法を伝授してください。

!クレーム対応の難しさ
*相手がパワーで押してくるのをパワーで返そうとすると、いざこざが起こる。
*下手に出れば出るほどつけあがってくる。終わりがなくなってしまう。

!最近のクレーム
*最近のクレームは性質が悪い。金銭を要求することもある。{{m{
>「おかしな客、理不尽な文句は無くしていきたいと思いますね。」
>「ありがとうございました。(一礼)」(松本)
}}}

!画期的な対処法
*一言言ってあげる。{{m{
>「明日にしましょ♪」
}}}
世界のどんな人とも仲良くなれる松本さんですが、ウルルン滞在記でお蔵入りになるほど現地の人ともめたと聞きました。理由はなんなのですか?

!撮影
*4 年位前、カナダの方に撮影に行った。
*犬ぞりを作っている場所がある。
*ナレーションを噛んだが、徳さんから OK が出たため撮り直しはなかった。{{m{
>「犬ぞりをぉ~作っている所のぉ~んに行ったぁ~」(下條アトム)
}}}

!お蔵入りとなった経緯
*現地のオヤジがホモだった。
*事前に聞いてはいたが、初日からあれほどグイグイと迫って来るとは思わなかった。
**来るとしても 2,3 日目かと思っていた。
**でも好きになったらええわと思った。
*会話する間もなく迫って来た。一晩中。
**抵抗するのもアホらしくなった。(ウルルンなので。)
**ずっと犬が吠えていた。
*最後は大泣きした。(別れの涙ではない。別の意味で泣いた。)
*別れの際も壁際に押さえつけられ迫ってきた。
あらゆる相手の弱点をすぐに見抜いていながら、あえてその弱点を攻撃しない正統派中の正統派、松本さんに質問です。スーパーマンには実は普通の人間よりかなり劣る驚きの弱点があるそうですね。その弱点をこっそり教えてください。

!正統派中の正統派
*松本は正統派中年と言われている。

!テレビ番組の難しさ
*なかなかテレビでこっそりは難しい。特に人気番組では。

!スーパーマンの驚きの弱点
*見た目とは間逆。ド M である。
*ばれないように逆に「S」と書いている。
*まず変身の時がド M。見られてるかもしれない電話ボックスで興奮している。{{m{
>「乳首見られるんちゃうか。。」(頻繁にドアを開けて確認)
>「早よ出なアカンのに、俺はこんなとこで乳首出して何をしてんねん!!」
>「何でココで興奮してんねん!! 俺」
}}}
*逆に装うもの。M だからこそ S っぽく振舞う。それは M の裏返し。
*松本は S と言われることがあるが、逆に振舞っている。

!S か M かについて
*オバケの Q 太郎はド S。M ならあんな髪型はしない。
*仮面ライダー 2 号は S で、1 号は M。

!仮面ライダーの変身について
*最初の変身ポーズに比べ、最近のは面倒になり荒くなってきている。
品川水族館に 1 億円投資している松本さんに質問です。タコの 8 本、イカの足は 10 本ですが、その違いは何をもたらすのですか?

!投資金額について
*本当はそんなもんではない。

!人類平和に繋がる良い話
*イカが 1 本あげたら、タコは 9 本になれる。
**他者より上に立とうと言う思想は、イジメなどを生むことになる。
**浜田は松本の倍稼ぎ、松本に分けてれば平等になりダウンタウンは良い関係になる。
*2 本の差は何なのかをもっと考えて欲しい。
**巨乳の話をしている暇があるなら。。
**「D カップで飯 3 倍食える」など訳の分からないことを言う暇があれば。。

!ウンコの固まりみたいな浜田の見解
*どうでもいい。食ったら同じ。刺身で食うと旨い。
ルールはきっちり守る男、松本さんに質問です。ボジョレー・ヌーボーを解禁される前に飲むと、どんな事が起こるのですか?

!どんな事が起こる?
*ものすごい酸っぱい。
*梅干を食べた時のような表情になる。
*口をつけていられない。
*コルクを抜いた時点で酸っぱい。
*瓶自身も酸っぱいと感じている。ワイングラス自身も然り。。
人類が道具を使うきっかけになった猿のエピソードは知っていますが、世界で最初に笑いが生まれた瞬間について、ご存知ですか?

!笑いが生まれた瞬間
*すっごい昔。何万年前の話。

!初めての笑い
*初めて笑ったのは猿。
*猿が木から初めて下りた時、ウンコを踏んだことがおかしくて笑った。
*周りの皆も笑った。低俗な笑い。{{m{
>「あいつウンコ踏みよったぁ。」
>「歩く言ってるのにウンコ踏みよったぁ。臭い臭い!!」
}}}

!笑いによる弊害
*何かにつけて話を蒸し返される。同窓会とか。{{m{
>「もう、ええって、その話は。」
>「また、あの話~」
}}}
人一倍男らしく生きてきた松本さんに質問です。男が人生で泣いて良いのは 3 回だけと聞きました。一体、どんな時に泣いても良いのですか。教えてください。

!松本の男らしさ
*男 4 人分と言われている。

!男が泣いて良い時
!!ミニワゴン(軽)に跳ねられた時
*しばらく塀に挟まれ動けない。
*軽症で済む。ちょうど泣くくらいの感じ。
*まさか跳ねられるとは思っていなかった。{{m{
>「ヨシエ待ってくれ~。ヨシエ、俺ももう一個。」(ヨシエに何かを頼んでいる。)
}}}
!!そんな友達を見た時
*痛がっている姿を見ていられない。
*ヨシエが気づいていないことも悲しい。
!!凹んでいる車を見た時
*軽自動車に乗っていたオッサンが、以外に凹んでいる車のボディを見た時。
*または、失恋でも良い。4 回目にしても良いくらい。
!!4 回にしても良い
*ワゴン関連で 2 回、失恋関連で 2 回の 4 回でも良い。
*ワゴン関連を失恋関連で挟んでも良い。失恋 - ワゴン - ワゴン - 失恋。
生きている時に、特別良い事も悪い事もしていない人の場合、閻魔大王はどんな基準で「天国行き」「地獄行き」を決めるのですか?

!基準
*最終的なギリギリのところでは、一重か二重かで判断される。
*目がクルリンとしている二重の方が選ばれる。
*大学受験でも陸上競技でも同様。

!結局世の中はクルリンの勝ち
*結婚相手でも、目がクルリンとしている方を選ぶはず。
*目がクルリンとしている子供が生まれる確率も高い。
ロナウジーニョと家族ぐるみのお付き合いをされているそうですが、ロナウジーニョは普段はどんな感じですか?

!松本との関係
*家族ぐるみの付き合い。
*あだ名はロナウジージョ(ロジャウジージョ??)
*松本がサッカーに興味がないことが新鮮。
*みんなからはすぐリフティングしてくれと言われるが人志は言わない。{{m{
>「人志はなぜ言わないのかい?」
}}}

!2 人の出会い
*たまたま本屋で取ろうとした本が同じだった。{{m{
>「どうだい? ランチは食べる人かい?」
}}}

!普段のロナウジーニョ
*皆が思っている以上に歯茎が出ている。
**テレビで観ているのは氷山の一角に過ぎない。
**プリクラを取ったことがあるが、ほとんど歯茎のピンクが写っていた。
*顔の半分ぐらいがピンクである。
**テレビでは絶対に見せない。抑えている。笑ったらえらいことになる。
**ジャングルで笑っていたらピンクが目立つのですぐに助けが来る。
**サッカーでの活躍もピンクが目立つことによるもの。{{m{
>「(歯茎を出しながら)こっちやこっちや!!」
}}}
色々な説があると思うのですが、本当に真の男のフェロモンを出す出し方をぜひ教えてください。

!フェロモンの出し方
*肛門の横にフェロモン(門)がある。
*下世話な話、きばるしかない。諸刃の剣。賭け。
*フェロモンが勝つかウンコが勝つか。せめぎ合い。
*プロポーズを勝ち取るにはフェロモンを出さなければ NG。{{m{
>「うわっ!! くっさーい!! 絶対やだ~!!」
}}}
*休日の梅宮辰夫バリのホットパンツが適している。(カジキマグロを釣る時の短パン)

!フェロモンの操作
*フェロモンを自由に出せるようになればモテモテ。
*操作できないようであればデートでいつもウンコブリブリ。{{m{
>「あの人いつもデートの時、ウンコしてはるわ~。」
}}}

!フェロモンの臭い
*フェロモンは決して良い臭いではない。
*野生動物の出すフェロモンなどものすごい臭い。
*しかし、その臭さが重要。{{m{
>「くさいわ~!! 何? もういっぺん匂うたろ。」
>「くっさいな~コレ~。ちょっと捨てんで置いといたろ。」
}}}

!まれではあるが。。
*たまにフェロモン(門)からウンコが出る時がある。
*中で交差してしまっている。

!松本のフェロモン
*便秘気味なので、基本フェロモンばかり出てしまう。
*ニコラス・ケイジか松本かと言われている。
自動販売機に 120 円を入れて缶コーヒーを買う時、10 円玉がそのままお釣の返却口に落ちてくる事があります。落ちる 10 円玉と落ちない 10 円玉の違いはなんですか?

!9 円玉
*10 円玉と見せかけた 9 円玉が存在する。
*10 円玉にそっくりの偽者。それが落ちてくる。

!9 円玉の見分け方
*お寺(平等院鳳凰堂)がちょっと違う。
*9 円玉は平等院鳳凰堂から顔を出しているやつがいる。
*吹き出しで「9 円だよ」と書かれている。

!世の中に存在する偽者
*偽猫
**本物は「ニャー!!」
**偽者はなんぼ叩いても「ウゥ~!!」
美容院で「カラーはどうなさいますか?」と聞かれた時、なんと答えれば美容師になめられずにすみますか?

!入店の仕方
*美容院のドアを「ガーーンッ!!」
*自動ドアなら少ししか開いていないのをこじ開ける。
*その時点でハサミを持つ手が震え萎縮してしまう。

!イスの座り方
*普通に腰掛けるのではなく、背もたれの方を向いて座る。
*カリスマの上を目指す。「カリスマ刈られ」

!カットされている時の態度
*カットされてる間にボソッと馬鹿にする感じで。{{m{
>「あ~ん。お~ぉ。」
}}}

!ケープはつけない
*つけたとしても V ネック。
*胸毛が見えるぐらいがなめられなくて良い。

!はったりをかます
*カラーはどうなさいますか?(美容師){{m{
>「アァーーンッ!!」
}}}

!カラーをさせないのが一番
*カラーをさせられる前に対処する。{{m{
>「やめて!! 俺そんなのやめて!!」
}}}

!ドライヤーもさせない
*ドライヤーのコンセントを抜いてしまう。{{m{
>「俺そんなの嫌いやから。俺そういうんじゃないから。俺そんなやつじゃないから。」
>「昨日の客と同じと思わんといて!! あそこの客と一緒にせんといて!!」
}}}

!酔っ払って入店
*バーボン飲んでぐでんぐでん。
*カットされている最中にもテキーラを「ターーンッ!!」
カーナビの案内を無視し続けると、カーナビはどうなるんですか?

!無視し続けるとどうなるか
*めったなことでは、どうにもならない。

!さらに無視し続けると。。
*無視を続けていると、どこからか声が聞こえてくる。{{m{
>「あれぇ~!? あれぇ~!?」 (Intel の CM のような感じ)
}}}

!さらに無視し続けると。。
*1 時間ほど経つと助手席の人間にお願いしてくる。{{m{
>「あなたから言って!!」
}}}
*カーナビはアホなので奥さんが乗っているかはわかってはいない。{{m{
>「奥さんのほうからお願いします。」
}}}

!さらに無視し続けると。。
*さらに 1 時間ほど経つと、信号待ちの時に隣の方にお願いしてくる。{{m{
>「隣の方、隣の方、隣の方からお願いします。」
}}}

!さらに無視し続けると。。
*映画リングの如く、画面から出てくる。
*日本名:カワナベ(カーナビゲーション)さんが出てくる。とっても怖い。{{m{
>「俺が乗るからどけっ!!」
}}}
*ただし、カーナビの画面は小さいので、カワナベさんも小さい。{{m{
>「あれぇ~!? あれぇ~!? 右に曲がるのに~!?」
}}}
サメは何故わざわざ背びれを水上に出して近づいてくるのですか?

!サメはアホではない
*出さなければ気づかれないのに。。と思われがちだが本当は賢い。
*背びれに見えるのは、実際はサメの手。手を背びれ的にカモフラージュしている。
*それに集中している間に、隙を突いて獲物を襲う。
ジャングルの王者ターザンと瓜二つだと言う松本さん、松本さんはライオンとゴリラの喧嘩を見た事があるそうですが、どんな風に始まり、どんな風に決着がついたのか詳しく教えてください。

!原因
*ジャングルの店(バー)で、もともとはふざけあっていた。
*途中から様子がおかしくなってきた。
*食事の時、ライオンの鬣が垂れてくるのかきあげてる様子を、ゴリラが面白がって茶化した。

!仲裁
*松本が仲裁に入ったが、あまり深入りすると怪我するのでほどほどに。
*キリンはずっと様子を伺っていた。(首が長いので必要ないが)覗き込むように見ていた。
*後に友達のゴリラも仲裁に入ってくる。
*毒蛇はずっと松本の腕を噛んでいた。

!激しい言い合い
*激しい言い合い。大体は女の話。
*ゴリラっぽいライオンのメスがいた。ゴリラ好きのするライオンのメス。
*ライオンズ好きのするゴリラのメスもいた。(ややこしいので省略)
**互いに取り合いになった。
**元はゴリラ好きのするライオンがチラチラこちらを見ていた。
**ゴリラは来るものは拒まず。
**でもライオンは見ていないと言い張る。と言いながらも嫌いではない。

!決着
*店長のバッタが「もう出て行ってくれ」と飛び跳ねながら追い出した。
*今現在は仲良くしていると後日メールがあった。
松本さんは「勝利の女神」に会った事があるそうですが、「勝利の女神」の本性は一体どんな方なんですか?

!どこで出会った?
*銀座のバーで 1 度会った事がある。
*しそ焼酎を飲んでいた。

!勝利の女神とわかった理由
*マスターと喋りながら自分で言っていた。{{m{
|勝利の女神|私もさぁ。。勝利の女神って言ってるけどさぁ。。|
}}}

!勝利の女神の容姿
*ちょっと大胆なドレスを着ていた。
*胸元がエライ U の字にあいているが、乳が離れているのでいやらしい感じではなかった。
*39 歳だが 35,6 歳にしか見えなかった。

!会話の内容
*気になったので話しかけた。{{m{
|松本|あ、ちょっとすいません。<br>僕、今ちょっと聞いたんですけど勝利の女神なんですか?|
|勝利の女神|もう、いいわよぉ。。(面倒臭そうに)|
}}}
*8 人ぐらいの交代制でやっているらしい。今日は休みで銀座に飲みに来ていた。
*松本だとは気づかれなかった。{{m{
|勝利の女神|ごめんなさい。私、テレビ見ないんで。。|
|松本|じゃあ、何で俺がテレビでテルの知ってんねん!!|
|勝利の女神|ンフフフ。。|
}}}

!勝利の女神の家
*その後、タクシーに乗って三軒茶屋へ。(三軒茶屋に住んでいる。){{m{
|勝利の女神|とにかく今日はアカン!! 今日会ったばっかりだから 1 回目はちょっと。。|
}}}
*帰り際にサンクスに寄っていた。その後 LAWSON に寄っていた。<br>(おそらくサンクスには探している商品がなかったのだろう。)
ハワイと言えばカメハメハ大王ですが、彼は具体的に何をした大王なのですか?

!カメハメハ大王の認知度
*そもそもカメハメハ大王を知っているのか?
*行った事がない人でも知っているのではないか。銅像も建っているし。(浜田)
*観客も含め、まともな教育を受けているようには見えない。(松本)

!カメハメハ大王とは?
*銅像は「カメハメハ」というものの象徴。
*本当は「カメハーメーハー」だが、長い歴史を経て「カメハメハ」になった。
*カメハメハ大王は「カメハメハ」の大食いチャンピオン。

!カメハメハの大食い大会
*4kg の「カメハメハ」を水なしで完食。
*熱々の「カメハメハ」をケチャップなしで完食。
*普通の人は大体冷やしを想像するが「冷やしカメハメハ」は有名である。

!カメハメハとは?
*漁に出ると、大きな「カメハメハ」の親子がいる。
*「コメハメハ」(子供)を抱いている。親の体の袋に入れて泳いでいる。
*出世魚のように大人になると「コメハメハ」から「カメハメハ」になる。魚ではない。
*陸上を走っている時もある。空も飛んでいる。(陸海空の「カメハメハ」)

!カメハメハの味
*非常においしい。
*味を説明するのは難しい。強いて言えば「カメハメハ味」。
*今度「カメハメハ味」のポッキーが発売されるらしい。
原始人が初めて火を使った時の事をちゃんと教えてください。

!相当な驚き
*すごくビックリしたと思われる。

!浜田が演じてみる
*大根役者のデビュー前の芝居に松本は辟易。

!松本が演じてみる
*シチュエーション
**息子が棒を回して遊んでいた時。
**ドア(パーテーション)をガラガラと開けて親父が入ってきた。{{m{
>「おい!! おるかー? 新聞あらへんか?」
>「ちょ、お前それ煙出とるがな。あんまり煙ばかり。。」
>「うわーーーーっ!!」
}}}
*意外と普通の驚きだった。(攣ってしまい思った芝居が出来なかった。)

!映画「リング」の貞子の場合
*TV から出てくるのに、あの程度の驚きでは納得がいかない。
*ワゴンを TV に見立てて演じてみる。
**浜田の演技はやはり NG。出てくる芝居が遅すぎる。
**松本の演技は確かに速い。ワゴンに引っかかり転倒。。
人生で一度も噛んだ事のない松本さんに質問です。絶対に噛まないで喋る方法を教えてください。

!噛む人は本当に多い
*アナウンサーも噛む。
*浜田も噛む。
*動物学者に言わせると動物でも噛む。{{m{
>「その動物学者も噛んでるけどな!!」
}}}

!何故噛むのか?
*上っ面で喋るから噛む。
*心を込めて喋れば噛まない。
*嘘をついていたり、後ろめたさがあるから噛む。

!例えば早口言葉
!!バス、ガス爆発
*本当にバスがガス爆発したと思えば噛まない。
*所詮、早口言葉として言っているから噛む。
*上辺だけで喋るなということ。心を込めて気持ちで喋れと。{{m{
>「口の動きなんて後から着いてくるわー!!」
}}}
*松本が喋ってみるが、今までバスがガス爆発した経験などないから喋れない。
!!生麦生米生卵
*何のことだか良く分からないから噛む。
*浜田に喋らせてみる。 「生グミ。。」{{m{
>「うわー!! 生グミって言ったー!! 生グミって言ったー!!」
>「グミだって!! グミだって!! グミって、あのおやつのグミ??」
>「生グミって何?? 生?? おやつに生があるの??」
>「火通してないよ!! グミに火通してないよ!!」
}}}
*再度浜田に喋らせてみる。 「生グミ。。」{{m{
>「ええーーーーっ!! グミーーっ!! 生グミーーっ!!」
>「グミってあのおやつのーーっ??」
}}}
カツオにとってマグロとはどういう存在ですか?

!一言で説明するのは難しい
*五木ひろしにとっての細川たかしみたいな感じ。
*いてくれてもいい。寧ろいてくれた方が良いが邪魔な存在でもある。
*でも共存していきたい気持ちもある。
*でも刺身になった時は負けへんでと思っている。(味が違う)

!二人の方が都合が良い
*居酒屋で出されたときに自分だけでは皆が集中して食べに来る。自分ばかりではきつい。
*カツオに行かれる嫉妬はあるが、カツオがいてくれた方が分散するので楽。
*マグロの微妙な心境。{{m{
>「なんじゃい!! カツオなんて。。」
>「1 回カツオ行ってみたら? そん時に俺の良さ分かるよ。」
>「俺ばっかりに来られても飽きられるんちゃうか。。」
}}}

!人間にも言えること
*自分にとってのカツオを考えてみると良い。
*みんな一度マグロになって考えてみると良い。{{m{
>「あれどうかな? 私にとってカツオは誰かな?」
}}}
松本さんに聞きたいことがあります。公園にはハトがいっぱいいるのに、公園でハトの死骸を見る機会はあまりありません。ハトはどこで死んでいるんですか?

!基本的にハトは死なない
*クラクラすることはある。{{m{
>「俺、なんや!? クラクラするなぁ。俺、死ぬんちゃうかな。」
}}}
*新たに生まれることはあるが、死なない。
*あれだけ「ホロッホー」言っているのに死なない。
*子供の頃から見ているハトはずっとあの同じハト。

!鳩胸となった理由
*1 つの説であるが、次のような意識から段々と鳩胸が形成されていったと言われている。{{m{
>「どうだ!! 俺はどうだ死なないだろ!!」
}}}
ムツゴロウさんより動物の気持ちがわかると言われている松本さんに質問です。人間にド M がいるように犬や猫にもド M がいるのですか?

!犬なんてほとんどド M
*ウンコしているのを見られようとしている。
*犬小屋の横でわからないようにすれば人に見られないですむのに、わざわざ「ワンワン」鳴いて外に連れて行かせ、人のいっぱいいる所で「ブリブリブリブリ~」とするなんてド M 丸出し。{{m{
>「うわ~、みんな見とる~」
}}}
*紐につながれ四つん這いで歩かされて「キャイーン」と鳴くなんてド M 以外あり得ない。
LACOSTE(ラコステ)のワニは、いつも向かって右を向いていますが、右方向には何があるのですか?

!右方向には何がある?
*乳首。着ている人間の乳首をガッツリ捉えてみたいと思っている。

!右方向を向いている理由
*なぜかと言われてもわからない。
*ワニになってみた時にはじめてわかるであろう。
*特にやることもなく、着られてばかり。そう考えると乳首を狙うくらいしかない。
*浜田はなぜ乳首を噛むのかを問われるようなもの。それを LACOSTE(ラコステ)に置き換えてみればいい。めっちゃ噛んでるようで、あんまり噛んでないみたいにするのはなぜかと問われてもわからない。
松本さんに質問です。「どん兵衛」を世界一美味しく食べる食べ方を教えてください。

!「どん兵衛」に裏切られたことはない
*それ以上「どん兵衛」に何を求める必要があるのか。。

!美味しいものとは?
*簡単に言うと不味いものの次が美味しい。
*美味しいものばかり食べていてはダメ。

!事前に不味いものを食べておく
*1 個前の「どん兵衛」を不味く食べる。
*あえて 1 回「どん兵衛」を捨ててみる。
*お湯を注いで 1 分で食べてしまう。「バキバキバキ!!」
*この「どん兵衛」は最悪になるが、次の「どん兵衛」が、まあ美味い。
松本さんに質問です。浜田さんが発する「我々」とは、誰から、そして、どこまでを指し示すのですか?

!何個か説はある
*ヤクザのこと??

!ポジション
*どんなポジションで発しているかわからない時がある。
*上海蟹として言っているかと思うときもある。
*「我々」を使うのは浜田と宇宙人くらいしか聞いたことがない。

!何人くらいいる?
*時と場合による。
ロミオとジュリエットという映画がありますが、ロミオとジュリエットは外国人の名前なので違和感がないのですが、これを日本人の名前にするとどのような名前が当てはまるのですか?

!ロミオとジュリエット
*佐々木リュウイチと谷口キヨミ

!あらまし(あらすじ)
*敵対する家系にあった 2 人。長男と長女。
*乳を揉むは、ディープキスはするは。。
*暗くしてと言っているのに、暗くないぐらいがええんやと。。
*シャワー浴びたい、いやそれもあえて浴びんとこうと。。
*もっともっと来て。。
*有名なシーンは乳を触ろうとしている。

!他の名前
*医者:仲手川
*機長:しんりゅう
*トムとジェリー:コニシとマナベ
羊が 1 匹、羊が 2 匹と数えていくとラストはどうなるんですか?

!縁起が悪い
*どんどん数が増えていくが。。
*1 万匹になると死ぬという噂もある。

!回避する方法
*9,999 匹に近づいてきたら「羊が」をやめ、「羊で 1 匹。。」にする。
*今度は自分が羊になってみる。

!ラストはどうなる?
*大抵の人は寝てしまうが、寝れない人は「羊で 1 匹。。」にする。
*それでも無理なら「羊に 1 匹。。」にする。
遠距離恋愛を感じさせなかった、あのテクを後輩に代々伝えているという松本さんに質問です。一体誰に聞けば知ることが可能ですか?

!浜田の場合
*家の中でも遠距離恋愛のようなもの。{{m{
>「ホンマ告訴する!!」(浜田)
}}}

!距離感を感じさせない方法
*会話の中で "アレ" 取ってではなく "コレ" 取ってにする。
*電話で話していても横にいるような感じで。{{m{
>「コレ面白かったねえ。」「あー、コレ美味しいなあ。」
}}}
*相手は上手く合わせないといけない。恋愛とは難しいもの。
*常に離れてないという事を言葉で伝える。{{m{
>「離れてないでえ!! 俺らは離れてないでえ!!」
}}}
*月に 1 回、もしかすると年に 1 回かもしれない。会ったときには耳元で。{{m{
>「いつも一緒やでえ!! いつも一緒やでへえ!!」
}}}
*ブラにも言ってあげる。より興奮する。
マナカナを見分ける方法を教えてください。

!見分ける方法
*佳奈の悪口を言った時に嫌そうな顔をするのが茉奈。
*茉奈の悪口を言った時に「にやっ」と笑うのが佳奈。
*佳奈は悪い奴。
*5 年後、ヘアヌード出すのが茉奈。
大リーグボールには最大 12 号まで存在すると言う噂を聞いたのですが、12 号ともなると、やはりすごい変化をするのですか?

!12 号
*基本的には 8 号と同じ。8 号のちょっと遅い版。

!各大リーグボールの説明
*8 号を知らずしてツッコミを入れられるのは侵害。{{m{
|1 号|バットを狙う魔球。怖がって逃げたらバットに当たるというショボイもの。|
|2 号|消える魔球。低空で砂埃を巻き上げて消えたように見せるもの。|
|3 号|投げた瞬間、縫い目がパラァとほどけてビックリさせる。|
|4 号|ちっちゃくなる。|
|5 号|同じくちっちゃい。当たっても全然痛くないほど。|
|6 号|5 号のスケルトン版。|
|7 号|6 号の通常サイズ版。|
|8 号|通常サイズで縞模様。白黒のボーダー。マジックで塗っている。|
}}}
飼い犬は飼い主が何をしでかした時に本気で噛み付いてくるのですか? 教えてください。

!犬の危なさを教えるため
*本当は噛みたくないが、たまには噛んで「犬の危なさ」を教えている。{{m{
>「こいつら俺が危険だということを忘れてるんちゃうか?」(犬)
}}}
*泣く泣く噛んでいる。涙堪えて噛んでいる。
*噛んだ日の夜は犬小屋で、夜通し正座で手を合わせ自己嫌悪。{{m{
>「悪かった。。」
}}}

!もうひとつの理由
*咥えている物を取ろうとした時は真剣に腹が立っている。

!浜田も犬を買っているが。。
*浜田には動物を可愛がるという感情があるようには思えない。
*自分以外の生き物に対して可愛いという感情はない様に見える。
*TV でも見たことがない。(傍に可愛い松本がいるのに。。)

!浜田には感情がない
*何かを食べてもあまり「うまい」とは言わない。{{m{
>「ああうまいなあ。。」 程度で 「うまーー!!」 みたいなのがない。
}}}
*花を見た時でも「わあキレイ♪」とは言わない。
*もう少し感情を持ったほうが良い。
*松本が死んだ時でも棺桶を開けて鼻に綿が詰まった松本を見て笑いそう。{{m{
>「松本~♪ 何で鼻に綿詰まってんのかなあ♪」
}}}
<<tiddler SimpleRSSReader with: "http://rss.rssad.jp/rss/itmatmarkit/rss.xml">>
<<tiddler SimpleRSSReader with: "http://rss.rssad.jp/rss/ascii/web/rss.xml">>
!this site
*ガキの使いとかブログとかメモとか、雑多に半可通に書いてます。
*TiddlyWiki へ移行したので、暫くはそのネタが続きそうです。([[関連記事|サイトリニューアルしました(TiddlyWiki)]])
!TiddlyWiki
*Javascript の塊な Wiki システムです。
*ので閲覧には Firefox, Google Chrome, Safari を推奨します。
*インタフェイスがやや特殊なので以下ご説明。{{m{
!!戻る/進む
<<tiddler [[About##tips1]]>>
!!ブックマークする
<<tiddler [[About##tips2]]>>
}}}
!rc2
<<tiddler rc2>>
!site statistics
*<script>
var t=store.getTiddlers(), l=t.length, s=0;
for (var i=0; i<l; i++) {s+=t[i].text.length;}
createTiddlyText(place, l +" tiddlers, "+s+" bytes");
</script>
<script>jQuery("br",place).remove();</script>
/%
!tips1
*ページ遷移の概念がなく、各ページを開くイメージになります。
*タイトルの下に現在開いているページ一覧が表示されます。ここで切替えて下さい。
*ページを閉じる時は上部にある「close」を押します。
!tips2
*上記同様ページ遷移がなく、そのままでは http://rc-2.net/home となります。
*特定ページのブックマークは、各ページの上部にある「permalink」を押します。
*ページの URL が設定されるのでブックマークしてください。
!end
%/
/***
!interaction of ClearType with DXTransforms (opacity rendering problem)
***/
//{{{
if(config.browser.isIE){
Morpher.prototype.assignStyleForIE = Morpher.prototype.assignStyle;
Morpher.prototype.assignStyle = function(element,style,value)
{
	if(style == "filter") return;
	this.assignStyleForIE(element,style,value);
};
}
//}}}
<<tiddlerList group:"tiddler.modified.formatString('YYYY.0MM').substr(0,7)" groupTemplate:'!%group\n' order:"-modified">>
<<tabs txtAmazonSearchTab
"About" "これは何?" [[Amazon Search Help]]
"Books" "本" [[Amazon Search##Books]]
"Music" "ミュージック" [[Amazon Search##Music]]
"DVD" "DVD" [[Amazon Search##DVD]]
"Electronics" "家電&カメラ" [[Amazon Search##Electronics]]
"Games" "ゲーム" [[Amazon Search##VideoGames]]
"Toys" "おもちゃ" [[Amazon Search##Toys]]
>>
/%
!Books
<<amazonSearch genre:Books atonce:true>>
!Music
<<amazonSearch genre:Music atonce:true>>
!DVD
<<amazonSearch genre:DVD atonce:true>>
!Electronics
<<amazonSearch genre:Electronics atonce:true>>
!VideoGames
<<amazonSearch genre:VideoGames atonce:true>>
!Software
<<amazonSearch genre:Software atonce:true>>
!Kitchen
<<amazonSearch genre:Kitchen atonce:true>>
!Toys
<<amazonSearch genre:Toys atonce:true>>
!Video
<<amazonSearch genre:Video atonce:true>>
!end
%/
!Amazon Search
*[[Amazon.co.jp|http://www.amazon.co.jp/exec/obidos/redirect-home/releasecandid-22]] の簡易商品検索機能です。
*AmazonSearchMacro のドライバも兼ねたページです。
!仕様
*売り上げ順にソートして表示します。
!使い方
*ジャンル、キーワードを指定して search ボタンを押します。
*キーワードを入れずに検索すると、カテゴリのトップセラーになります。
*人気のあるジャンルはタブ表示にしてあります。
*AND 検索(キーワードを "&" で繋ぎます。){{m{
>Microsoft&Office
}}}
*OR 検索(キーワードを "|" で繋ぎます。){{m{
>Word|Excel
}}}
TiddlyWiki でこれをやる必要性、需要は、おそらくないでしょう。既に枯れた感もありますし。なんとなく作ってみただけです。一応、各 tiddler の関連商品一覧を表示するようなものも作ってみました。Plugin のドキュメントでも触れてますが experimental なので利用は控えてください。まあ、需要はないか。。

!AmazonSearchMacro
*[[Amazon Product Advertising API|https://affiliate.amazon.co.jp/gp/advertising/api/detail/main.html]] のシンプルハンドラです。TiddlyWiki の作法(API?)はほぼ無視です。単純に出力先エレメントが tiddler というだけです。コードも酷いです。取り合えず動くレベル。
*Yahoo! Pipes ⇒ jsonp とかならサーバ不要になるのかな?? でも最近電子署名の変更があったから無理っぽい気も。ってことで proxy 置いてます。間違っても経由しないで下さい。

!AmazonRelatedMacro
*各 tiddler のタグ情報をキーワードに関連商品を表示します。
*JavaScript だけで分かち書きが出来る [[TinySegmenter|http://chasen.org/~taku/software/TinySegmenter/]] というものでキーワード抽出も試してみましたが、しっくりとこなかったので単純にタグ情報を利用しました。逆に言うとタグ付けにより精度が決まります。Yahoo の形態素解析だとどうだろ。

!Usage sample
*メニューバーに [[Amazon Search]] を設置しました。これは単純なドライバです。
*各 tidddler 上部に <html><span style="border:1px solid #CCC;padding:0 5px;">Related Items</span></html> というボタンを設置しています。これは後者のマクロの利用例です。
/***
|Name|AmazonRelatedMacro|
|Version|0.1|
|Date|2009-08-23|
|Source|http://rc-2.net/home/#AmazonRelatedMacro|
|Author|rc2|
|Status|experimental|
|CoreVersion|2.5.0+ (Requires jQuery)|
|Requires|[[AmazonSearchMacro]]|

!Description
*tiddler に関連する商品を表示します。
*タグ情報をキーワードにして Amazon の商品検索を行います。
*実験用なのでいかなる目的においても利用禁止。

!Usage sample
>{{{<<amazonRelated>>}}}
>{{{<<amazonRelated excludeTag excludeTag ...>>}}}
単独よりも、ViewTemplate への設置が適当かと思います。
<<<
!!ViewTemplate
{{{
<div class='arbar' macro='amazonRelated'></div>
<div class='toolbar' macro='toolbar...
 :
}}}
!!layout example
{{{
.arbar{float:left}
}}}
<<<

!Code
***/
//{{{
version.extensions.amazonRelated = {major: 0, minor: 1, revision: 0, date: new Date(2009,8,23)};

config.macros.amazonRelated = {};
config.macros.amazonRelated.label = {"true":"Return Contents","false":"Related Items"};
config.macros.amazonRelated.prompt = "Related Items (by Amazon)";

config.macros.amazonRelated.handler = function(place,macroName,params,wikifier,paramString,tiddler){
 var tags = tiddler.tags.slice(0);
 if(tags.length == 0 || tags.contains("excludeLists") || tags.contains("systemConfig")) return;

 for(var i = 0;i < params.length;i++)
  tags.remove(params[i]);

 var tid = story.getTiddler(tiddler.title);
 var p = jQuery(".viewer",tid).get(0);
 var save = store.getTiddlerText(tiddler.title);

 var self = this, toggle = false;

 var viewItem = function(){
  var t = createTiddlyElement(p,"div",null,"amazonRelated");
  wikify("!!"+self.prompt,t);
  var k = '\"'+tags.join('\"|\"')+'\"';
  wikify("<<amazonSearch genre:Blended atonce:true keyword:'"+k+"'>>",t);
 };

 var restore = function(){
  wikify(save,p);
 };

 var onClick = function(e){
  removeChildren(p);
  if(toggle) restore();
  else viewItem();
  toggle = !toggle;
  var ev = e || window.event;
  resolveTarget(ev).innerHTML = self.label[toggle];
 };

 createTiddlyButton(place,this.label["false"],this.prompt,onClick);
};
//}}}
/***
AmazonSearchMacro Configuration
{{{
***/
PROXY: "http://rc-2.net/w/aws.php", // don't use !!

ASSOC_ID: "releasecandid-22",

TOP_GENRE: {
  "Blended"           : "全て",
  "Books"             : "本",
//"ForeignBooks"      : "洋書",
  "DVD"               : "DVD",
//"VHS"               : "VHS",
  "Video"             : "ビデオ",
  "Music"             : "ミュージック",
//"MusicTracks"       : "曲名",
//"Classical"         : "クラシック音楽",
  "Electronics"       : "家電&カメラ",
  "Software"          : "PCソフト",
  "VideoGames"        : "ゲーム",
  "Toys"              : "おもちゃ",
//"Hobbies"           : "ホビー",
  "Kitchen"           : "ホーム&キッチン",
  "SportingGoods"     : "スポーツ&アウトドア",
  "HealthPersonalCare": "ヘルス&ビューティー",
  "Watches"           : "時計",
  "Baby"              : "ベビー&マタニティ",
  "Apparel"           : "アパレル&ファッション雑貨",
//"Beauty"            : "コスメ",
  "Grocery"           : "食品&飲料"
},

GENRE_ICON: {
  "Book"              : "http://images-jp.amazon.com/images/G/09/icons/icon-books.gif",
  "CE"                : "http://images-jp.amazon.com/images/G/09/icons/icon-ce.gif",
  "Kitchen"           : "http://images-jp.amazon.com/images/G/09/icons/icon-kitchen.gif",
  "Music"             : "http://images-jp.amazon.com/images/G/09/icons/icon-music.gif",
  "DVD"               : "http://images-jp.amazon.com/images/G/09/icons/icon-dvd.gif",
  "Video"             : "http://images-jp.amazon.com/images/G/09/icons/icon-video.gif",
  "Software"          : "http://images-jp.amazon.com/images/G/09/icons/icon-software.gif",
  "Video Games"       : "http://images-jp.amazon.com/images/G/09/icons/icon-videogames.gif",
  "Toy"               : "http://images-jp.amazon.com/images/G/09/icons/mini-toys-icon-23x23.gif",
  "Sports"            : "http://images-jp.amazon.com/images/G/09/icons/sports-storeicon.gif",
  "Health and Beauty" : "http://images-jp.amazon.com/images/G/09/x-locale/product-icons/health_and_beauty_display_on_website-icon.gif",
  "Watch"             : "http://images-jp.amazon.com/images/G/09/jewelry/nav/jewelry-icon.gif",
  "Baby Product"      : "http://images-jp.amazon.com/images/G/09/x-locale/product-icons/baby_product_display_on_website-icon.gif",
  "Apparel"           : "http://images-jp.amazon.com/images/G/09/icons/apparel-icon.gif",
  "Shoes"             : "http://images-jp.amazon.com/images/G/09/icons/apparel-icon.gif",
  "Beauty"            : "http://images-jp.amazon.com/images/G/09/x-locale/product-icons/health_and_beauty_display_on_website-icon.gif",
  "Grocery"           : "http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20090821/20090821133622.gif" // own work
},

NOIMG: {
 S: "http://images-jp.amazon.com/images/G/09/icons/no-img-sm.gif",
 M: "http://g-ec2.images-amazon.com/images/G/09/nav2/dp/no-image-no-ciu._V45728718_AA192_.gif",
 L: "http://g-ec2.images-amazon.com/images/G/09/nav2/dp/no-image-no-ciu._V45728718_AA192_.gif"
},

loadingMsg: $("<img />").attr("src","http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20100414/20100414143803.gif")
 .css({"border":"none","vertical-align":"middle"})
 .wrap("<div />").parent().append($("<span />").text("loading.."))

/***
}}}
***/
/***
|Name|AmazonSearchMacro|
|Version|0.1|
|Date|2009-08-23|
|Source|http://rc-2.net/home/#AmazonSearchMacro|
|Author|rc2|
|Status|experimental|
|CoreVersion|2.5.0+ (Requires jQuery)|
|Requires|[[AmazonSearchConfig]]|

!Description
*Amazon Product Advertising API のシンプルハンドラ。
*実験用なのでいかなる目的においても利用禁止。

!Usage sample
>{{{<<amazonSearch>>}}}
>{{{<<amazonSearch genre:Books  keyword:"ajax">>}}}
>{{{<<amazonSearch genre:Books  keyword:"ajax" atonce:true>>}}}
>{{{<<amazonSearch genre:Books  keyword:"Microsoft&Office" atonce:true>>}}}
>{{{<<amazonSearch genre:Books  keyword:"Word|Excel" atonce:true>>}}}
パラメタ指定がない場合、ラストクエリの値が使われます。

!Code
***/
//{{{
version.extensions.amazonSearch = {major: 0, minor: 1, revision: 0, date: new Date(2009,8,23)};

(function($){
config.macros.amazonSearch = {
 label: {search: "Search", prev: "« Previous", next: "Next »", clear: "Clear"},
 prompt: {search: "Search", loading: "Loading..."},
 template: {},
 target: null, result: null, status: null,
 keyword: "", genre: "Blended",
 page: 1, totalPages: 0,
 config: null,

 BASE_URL: "http://www.amazon.co.jp/exec/obidos/ASIN/",

 init: function(){
  var c = store.getTiddlerText("AmazonSearchConfig",null);
  if(!c) return false;

  this.config = eval("({" + c + "})");
  this.loadingMsg = this.config.loadingMsg;

  var s =
   '/*{{{*/\n'
   +'.PRE_Result{clear:both;}\n'
   +'.PRE_Result table,.PRE_Result table tr,.PRE_Result table td{margin:0 !important;border:none !important;}\n'
   +'.PRE_Result .PRE_Item{clear:left;padding:2px;border-top:1px solid #CCC;line-height:1.7;}\n'
   +'.PRE_Result .PRE_Image{padding:2px 0 !important;}\n'
   +'.PRE_Result .PRE_Image img{width:30px;height:35px;padding:4px;border:1px solid #AAA;}\n'
   +'.PRE_Result .PRE_Info{width:100%;padding:1px 0px 2px 7px!important;}\n'
   +'.PRE_Result .PRE_Attr{padding:1px 5px 1px 0px;margin:2px 5px 2px 0px;border-right:1px solid #CCC;}\n'
   +'.PRE_Result .PRE_Appendix{float:right;padding:2px;}\n'
   +'.PRE_Result .PRE_Appendix img{border:none;padding:0;vertical-align:middle;}\n'
   +'.PRE_Result .PRE_Appendix .PRE_AppendixIcon img{width:22px;height:22px;}\n'
   +'.PRE_Searchbar{padding:2px 2px 5px 2px;}\n'
   +'.PRE_Searchbar select{margin-right:5px;}\n'
   +'.PRE_Searchbar *{vertical-align:middle;}\n'
   +'.PRE_Navibar{margin:10px 0;padding:2px;}\n'
   +'.PRE_Navibar .button{margin:0 0.5em 0 0 !important;}\n'
   +'/*}}}*/\n';
  config.shadowTiddlers.StyleSheetAmazonSearch = s.replace(/PRE_/g, "amazonSearch");
  setStylesheet(store.getTiddlerText('StyleSheetAmazonSearch'),'amazonSearchStyles');

  this.makeTemplate();
 },

 makeTemplate: function(){
  var listView =
     "<div class='PRE_Item'><table><tr>"
   + "<td class='PRE_Image'><div>{mediumImage}</div></td>"
   + "<td class='PRE_Info'>"
   + "<div class='PRE_Appendix'>{averageRating}<span class='PRE_AppendixIcon'>{productGroup}</span></div>"
   + "<span>{title}</span><br />"
   + "<span class='PRE_Attr'>{price}</span>"
   + "<span class='PRE_Attr'>{release}</span>"
   + "<span>{manufacturer}</span>"
   + "</td></tr></table></div>";

  this.template["ListView"] = listView.replace(/PRE_/g, "amazonSearch");
 },

 loadTemplate: function(tpl,data){
  return this.template[tpl].replace(/{([\w\.]+)}/g,function(w,p1){ return data[p1]; });
 },

 handler: function(place,macroName,params,wikifier,paramString,tiddler){
  if(!this.config) return false;

  this.page = 1; this.totalPages = 0;
  this.target = createTiddlyElement(place,"div",null,"amazonSearch"); // container

  params = paramString.parseParams("anon",null,true,false,false);
  this.genre = getParam(params,"genre",this.genre);
  this.keyword = getParam(params,"keyword",this.keyword);

  this.setupSearchBar();
  if(getParam(params,"atonce",false)) this.search();
 },

 setupSearchBar: function(){
  var self = this, CTE = createTiddlyElement, CTB = createTiddlyButton;

  var searchBar = CTE(this.target,"div",null,"amazonSearchSearchbar");

  var genreElm = CTE(searchBar,"select",null,"amazonSearchGenre");
  for(var key in this.config.TOP_GENRE){
   var opt = document.createElement("option");
   opt.setAttribute("value",key);
   opt.appendChild(document.createTextNode(this.getNameByGenre(key)));
   genreElm.appendChild(opt);
  }
  $(genreElm).change(function(){ self.genre = $(this).val(); });

  var kwElm = CTE(searchBar,"input",null,"txtOptionInput searchField");
  wikify(" | ",searchBar);
  CTB(searchBar,this.label.search,this.prompt.search,this.onClickSearch);
  CTB(searchBar,this.label.clear,"",function(){ $(kwElm).val(""); self.keyword=""; });

  $(genreElm).val(this.genre);
  $(kwElm).val(this.keyword);
 },

 setupResult: function(){
  var self = this, CTE = createTiddlyElement, CTB = createTiddlyButton;
  $(".amazonSearchNavibar,.amazonSearchResult",this.target).remove();

  var nBar = CTE(CTE(this.target,"div"),"div",null,"amazonSearchNavibar");
  CTB(nBar,this.label.prev,null,function(e){ if(self.page > 1){ self.page--; self.search();} });
  CTB(nBar,this.label.next,null,function(e){ if(self.page < self.totalPages){ self.page++; self.search(); } });
  this.status = CTE(nBar,"span");

  // result target
  this.result = createTiddlyElement(this.target,"div",null,"amazonSearchResult");
 },

 onClickSearch: function(e){
  var self = config.macros.amazonSearch;
  self.page = 1; self.keyword = $("input",self.target).val(); self.search();
  return false;
 },

 search: function(){
  var self = this;

  // initialize Header
  this.setupResult();

  // xhr callback
  var callback = function(data){
   var page = 0, totalResults = 0, totalPages = 0, items = $(data).find("Items");
   if(items.children("Item")){
    totalResults = items.children("TotalResults:first").text();
    self.totalPages = totalPages = items.children("TotalPages:first").text();
    page = totalPages == 0 ? 0 : self.page;
   }
   var status = totalResults+" items, "+page+" / "+totalPages+" pages  ";
   $(self.status).html(status);

   var src = "", target = config.options.chkOpenInNewWindow ? " target='_blank'" : "";
   $(data).find("Item").each(function(){
    var p = self.parseItem($(this));
    var data = {
     "mediumImage"   : "<a href='"+p.url()+"'"+target+"><img src='"+p.mediumImage()+"' /></a>",
     "averageRating" : self.wrapImg(self.getAverageImage(p.averageRating())),
     "productGroup"  : self.wrapImg(self.getIconByGenre(p.productGroup())),
     "title"         : "<a href='"+p.url()+"'"+target+">"+p.title()+"</a>",
     "price"         : p.price(),
     "release"       : p.release(),
     "manufacturer"  : p.manufacturer()
    };
    src += self.loadTemplate("ListView", data);
   });

   $(self.result).html(src);
  };

  // make request
  var p = "Operation=ItemSearch";
  p += "&ContentType=text/xml";
  p += "&SearchIndex=" + this.genre;
  p += "&ResponseGroup=Medium,Reviews,OfferFull,VariationSummary";
  p += "&Keywords=" + encodeURIComponent(this.keyword ? this.keyword : "*");
  p += "&ItemPage=" + this.page;
  p += (this.genre == "Blended") ? "" : "&Sort=" + "salesrank";

  // exec request
  $.ajax({
   type: "GET",
   url: this.config.PROXY, dataType: "xml", data: p, timeout: 30000, //cache: false,
   beforeSend: function(){ $(self.result).empty().append(self.loadingMsg); },
   success: callback
  });
 },

// parse item, and helper ============

 wrapImg: function(v){ return (v) ? "<img src='"+v+"' />" : v; },

 getAverageImage: function(ar){
  var s = "http://images-jp.amazon.com/images/G/01/detail/stars-";
  var r = [[4.75,"5-0"],[4.25,"4-5"],[3.75,"4-0"],[3.25,"3-5"],[2.75,"3-0"],[2.25,"2-5"],[1.75,"2-0"],[1.25,"1-5"],[0.75,"1-0"],[0.25,"0-5"],[0,"0-0"]];
  for(var i = 0; i < r.length; i++){ if(ar>r[i][0]) return s+r[i][1]+".gif"; }
  return "";
 },

 getNameByGenre: function(g){ return this.config.TOP_GENRE[g]; },

 getIconByGenre: function(g){ return this.config.GENRE_ICON[g]; },

 getItemURL: function(asin){ return this.BASE_URL+asin+"/"+this.config.ASSOC_ID+"/ref=nosim/"; },

 parseItem: function(item){
  var self = config.macros.amazonSearch;

  return {
   title: function(){
    return item.find("ItemAttributes > Title").text();
   },
   url: function(){
    return self.getItemURL(item.children("ASIN").text());
   },
   averageRating: function(){
    return item.find("CustomerReviews > AverageRating").text();
   },
   smallImage: function(){
    return item.find("SmallImage:first > URL").text() || self.config.NOIMG.S;
   },
   mediumImage: function(){
    return item.find("MediumImage:first > URL").text() || self.config.NOIMG.M;
   },
   largeImage: function(){
    return item.find("LargeImage:first > URL").text() || self.config.NOIMG.L;
   },
   productGroup: function(){
    return item.find("ItemAttributes > ProductGroup").text();
   },
   price: function(){
    var v = item.find("LowestNewPrice > FormattedPrice").text() || item.find("LowestPrice > FormattedPrice").text();
    return (v) ? v.replace(/¥ /g, "¥") : "-";
   },
   listPrice: function(){
    var v = item.find("ListPrice > FormattedPrice").text();
    return (v) ? v.replace(/¥ /g, "¥") : "-";
   },
   lowestUsedPrice: function(){
    var v = item.find("LowestUsedPrice > FormattedPrice").text();
    return (v) ? v.replace(/¥ /g, "¥") : "-";
   },
   release: function(){
    return item.find("ItemAttributes > PublicationDate").text() || item.find("ItemAttributes > ReleaseDate").text() || "-";
   },
   manufacturer: function(){
    return item.find("ItemAttributes > Manufacturer").text() || "-";
   },
   merchant: function(){
    return item.find("Offers > Offer > Merchant > Name").text() || "-";
   },
   availability: function(){
    return item.find("Offers > Offer > OfferListing > Availability").text() || "-";
   }
  };
 }
};
})(jQuery);
//}}}
|URL|http://tiddlywiki.bidix.info/|
<<tabs txtBrowserTab
"BLOG" "" Browser##BLOG
"GAKI" "" "Browser##GAKI"
"Memorandum" "" Browser##Memorandum
"TiddlyWiki" "" Browser##TiddlyWiki
"Utils" "" Browser##Utility
"All Tiddlers" "" Browser##All
>>
/%
!BLOG
<<tiddler [[FormatSummary##withSummary]] with: BLOG>>
!end
--------------------------------------------------
!GAKI
<<tabs txtGAKITab
"All" "" Browser##GAKI_GAKI
"Hagaki" "" Browser##GAKI_Hagaki
"Kikaku" "" Browser##GAKI_Kikaku
"Lifehacks" "" Browser##GAKI_Lifehacks
"Hamada" "" Browser##GAKI_Hamada
"Ero" "" Browser##GAKI_Ero
>>
!GAKI_GAKI
<<tiddler [[FormatSummary##noSummary]] with: GAKI>>
!GAKI_Hagaki
<<tiddler [[FormatSummary##withSummary]] with: Hagaki>>
!GAKI_Kikaku
<<tiddler [[FormatSummary##noSummary]] with: Kikaku>>
!GAKI_Lifehacks
<<tiddler [[FormatSummary##noSummary]] with: Lifehacks>>
!GAKI_Hamada
<<tiddler [[FormatSummary##noSummary]] with: Hamada>>
!GAKI_Ero
<<tiddler [[FormatSummary##noSummary]] with: Ero>>
!end
--------------------------------------------------
!Memorandum
<<tiddler [[FormatSummary##noSummary]] with: Memorandum>>
!end
--------------------------------------------------
!TiddlyWiki
<<tabs txtTiddlyWikiTab
"Installed Plugins" "" Browser##TiddlyWiki_systemConfig
"rc2Extension" "" Browser##TiddlyWiki_rc2Extension
"All" "" Browser##TiddlyWiki_TiddlyWiki
>>
!TiddlyWiki_TiddlyWiki
<<tiddler [[FormatSummary##noSummary]] with: TiddlyWiki>>
!TiddlyWiki_systemConfig
<<tiddler [[FormatSummary##noSummary]] with: systemConfig>>
!TiddlyWiki_rc2Extension
<<tiddler [[FormatSummary##noSummary]] with: rc2Extension>>
!end
--------------------------------------------------
!Utility
<<tiddler [[FormatSummary##noSummary]] with: Utility>>
!end
--------------------------------------------------
!All
<<tiddler [[FormatSummary##noSummary]] with: null>>
!end
%/
|URL|http://css-happylife.com/|
[[spring 7 月号|http://tkj.jp/spring/2009July/]]の付録が注目です。「Cher × SNOOPY 特製コラボ、ハートチャーム付きトートバッグ」が可愛いすぎます。入手するつもりでしたが、気がつけば既に 8 月号の発売日。。油断大敵。雑誌の発売日って早めなんですよね。ファッション誌は特にそう。書店で 7 月号の在庫を問い合わせてみるも手遅れ。不覚です。職場の女性にも聞いてみたのですがダメでした。欲しいなあ。

[img[http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20090624/20090624213617.jpg]]
opacity を IE の filter 属性で操作すると特定環境でフォントのアンチエイリアスが解除される問題があります。TiddlyWiki に slider という便利なマクロがありますが、fade 効果で opacity を操作しているため同じ現象が発生します。この問題の改善を考えてみます。

!事象と現状
ClearType が有効かつ、font-family の先頭が MS PGothic 等以外であれば、欧文は基本アンチエイリアスがかかります。さらにメイリオ指定で全文字が対象となります。非アンチエイリアスなメイリオは看過できないレベルで、これまでは体裁を気にして強制的に animation : off としていましたが、TiddlyWiki の小気味の好さを担っている重要なファクターでもあり全てを捨ててしまうには心許なく、再考してみることにしました。
{{{
if(config.browser.isIE){
 config.options.chkAnimate = false;
}
}}}

!発生条件
ClearType と filter の併用時です。実質 IE のみです。手持ちの環境では IE 7 のみ発生を確認しました。IE 8 は改善されているようです。Quirks や IE 8 互換モードは未確認ですがおそらく再現するでしょう。珍しい事に IE 6 は正常でしたがエミュレータ環境での確認の為 pure 環境での挙動は不明です。

!根本的な対策
原因は ClearType と filter の干渉による不具合と明瞭ですが、これは jQuery でも吸収されていないようです。単純に透過表現が目的の場合は併用は諦めるよりありませんが、fade 効果であれば許容レベルまで救済できます。具体的には fadeIn 完了後に filter 属性を除去します。jQuery の例を挙げると以下の様になります。
!!filter が残存する場合
{{test1{abcde あいうえお}}}<script>
createTiddlyButton(place,"fadeIn","",function(){
 jQuery(".test1",place).hide().fadeIn("slow");
});
</script>
{{{
elm.fadeIn("slow");
}}}
!!filter を除去した場合
{{test2{abcde あいうえお}}}<script>
createTiddlyButton(place,"fadeIn","",function(){
 jQuery(".test2",place).hide().fadeIn("slow",function(){
  if(this.style.removeAttribute)
   this.style.removeAttribute("filter");
 });
});
</script>
{{{
elm.fadeIn("slow",function(){
 if(this.style.removeAttribute)
  this.style.removeAttribute("filter");
});
}}}

!TiddlyWiki での対策
animation は独自実装となっていますが、core 機能の jQuery 実装シフトに伴いまもなく書き換わるでしょう。なので触りたくない部分ではあります。まずは slider の実装部を見てみます。fadeIn 等の直接的な関数があるわけではなく、以下の様にパラメタを与えて操作しています。slider の fade 効果のみを無効にする場合は此処をコメントアウトすれば良さそうです。
{{{
p.push({style: 'filter', start: 0, end: 100, template: 'alpha(opacity:%0)'});
}}}

実際の animation 処理は Morpher で行っています。slider 以外からの利用も考慮する場合は此方へ手を加える方が良さそうです。animation を進める tick 関数があり、さらに末端に style 指定を行う assignStyle 関数があります。此処で filter 属性をフィルタします。
{{{
if(config.browser.isIE){
 Morpher.prototype.assignStyleForIE = Morpher.prototype.assignStyle;
 Morpher.prototype.assignStyle = function(element,style,value){
  if(style == "filter") return;
  this.assignStyleForIE(element,style,value);
 };
}
}}}
!!問題と考察
slider に fade 効果は必須ではないので限定する場合は前者で十分です。後者の実装の問題は filter 属性を全て無効にしてしまうことです。Mopher を利用する全ての fade 効果は利用できなくなります。加えて filter alpha には opacity 以外のパラメタがあり、さらに blur 等他の filter も存在する為影響範囲が大きくなります。最良は jQuery での対処と同様に fadeIn の完了のタイミングで filter を除去することです。今回は簡単な実装方法だけを検討してみました。このサイトでは後者の実装を試行しています。
<script>jQuery(".test1,.test2",place).css({"display":"block","float":"left","margin-right":"0.5em","font-family":"meiryo,arial"});</script>
<<tiddler SimpleRSSReader with: "http://rss.rssad.jp/rss/codezine/new/20/index.xml">>
Background: #fff
Foreground: #333
ButtonBorder: #ddd
PrimaryPale: #e7e7de
PrimaryLight: #dfdfd5
PrimaryMid: #666
PrimaryDark: #a67c00
SecondaryPale: #ffe
SecondaryLight: #ece9d8
SecondaryMid: #baa07b
SecondaryDark: #aa6633
TertiaryPale: #f5f5f5
TertiaryLight: #b9b9b9
TertiaryMid: #7b7b7b
TertiaryDark: #666
Error: #f88
[[HOME]]
[[TAGS]]
[[LINKS]]
[[ANTENNA]]
[[Utility]]
[[About]]
|URL|http://www.designwalker.com/|
/***
|Name|DisplayOpenTiddlersPlugin|
|Location|http://www.orst.edu/~woodswa/tiddlywikiplugs.html|
|Version|1.0|
|Author|Walt Woods|
|Adapted By|rc2|
|Requirements||

!Description
Displays similar to the popular BreadCrumbsPlugin by AlanHecht, this plugin instead keeps a list of currently open tiddlers.

!History
08-07-2009: customize for rc2.
08-06-2007: Initial version.

!Code
***/
//{{{
version.extensions.DisplayOpenTiddlers = {major: 1, minor: 0, revision: 0};

var tiddlerHOME = "HOME";

function addOpenTiddlerLine(title, element)
{
 if (title != openTiddlerClosing && title != tiddlerHOME )
 {
  if (tiddlerLine != "") tiddlerLine += " | ";
  var hasTag = (store.getTaggedTiddlers(title).length > 0);
  tiddlerLine += (hasTag ? "<<tag '" : "[[") + title + (hasTag ? "'>>" : "]]");
 }
}

function refreshOpenTiddlersList()
{
 if (!document.getElementById("openTiddlers")) {
  var ta = document.createElement("div");
  ta.id = "openTiddlers";
  ta.style.visibility= "hidden";
  var targetArea = document.getElementById("tiddlerDisplay")||document.getElementById("storyDisplay");
  targetArea.parentNode.insertBefore(ta,targetArea);
 }

 var tiddlers = document.getElementById("openTiddlers");
 tiddlers.style.visibility = "visible";
 removeChildren(tiddlers);
 
 tiddlerLine = "[[" + tiddlerHOME + "]]";
 story.forEachTiddler(addOpenTiddlerLine);
 wikify(tiddlerLine,tiddlers);
}

Story.prototype.displayTiddlerDisplayOpenTiddlers = Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,title,template,animate,slowly)
{
 jQuery(".openTiddlersCount").text("Opened (%0)".format([jQuery(".tiddler").length + 1]));
 this.displayTiddlerDisplayOpenTiddlers(srcElement,title,template,animate,slowly);
 openTiddlerClosing = "";
 refreshOpenTiddlersList();
}

Story.prototype.closeTiddlerDisplayOpenTiddlers = Story.prototype.closeTiddler;
Story.prototype.closeTiddler = function(title,animate,unused)
{
 jQuery(".openTiddlersCount").text("Opened (%0)".format([jQuery(".tiddler").length - 1]));
 this.closeTiddlerDisplayOpenTiddlers(title,animate,unused);
 openTiddlerClosing = title;
 refreshOpenTiddlersList();
}
//}}}
|URL|http://www.dokuwiki.org/ja:dokuwiki|
|URL|http://www.higuchi.com/dokuwiki/|
|URL|http://dtside.sakura.ne.jp/index.html|
|Desc|お笑いコンビ「ダウンタウン」に関する個人サイト|
<<tiddler SimpleRSSReader with: "http://feedproxy.google.com/engadgetjp">>
//{{{
version.extensions.favicon = {major: 0, minor: 1, revision: 0, date:
"18 July 2005"};
var n = document.createElement("link");
n.rel = "shortcut icon";
n.href = "favicon.ico";
document.getElementsByTagName("head")[0].appendChild(n);
//}}}
<script>
var getFontSize = function(){return parseInt(jQuery(document.body).css("font-size"));};
var setFontSize = function(s){return parseInt(jQuery(document.body).css("font-size",s+"px"));};
var b = getFontSize();
var c = createTiddlyElement(place,"div",null,"fontResizer");
//createTiddlyText(c,"Font Size : ");
createTiddlyButton(c,"–","decrease size",function(){setFontSize(getFontSize()-1);});
createTiddlyText(c," ");
createTiddlyButton(c,"+","increase size",function(){setFontSize(getFontSize()+1);});
createTiddlyText(c," ");
createTiddlyButton(c,"=","reset size",function(){setFontSize(b);});
</script>
/***
|Name|ForEachTiddlerPlugin|
|Version|1.0.8 (2007-04-12)|
|Source|http://tiddlywiki.abego-software.de/#ForEachTiddlerPlugin|
|Author|UdoBorkowski (ub [at] abego-software [dot] de)|
|Licence|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|
|Copyright|&copy; 2005-2007 [[abego Software|http://www.abego-software.de]]|
|TiddlyWiki|1.2.38+, 2.0|
|Browser|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|

!Description
Create customizable lists, tables etc. for your selections of tiddlers. Specify the tiddlers to include and their order through a powerful language.

Syntax:
|>|{{{<<}}}''forEachTiddler'' [''in'' //tiddlyWikiPath//] [''where'' //whereCondition//] [''sortBy'' //sortExpression// [''ascending'' //or// ''descending'']] [''script'' //scriptText//] [//action// [//actionParameters//]]{{{>>}}}|
|//tiddlyWikiPath//|The filepath to the TiddlyWiki the macro should work on. When missing the current TiddlyWiki is used.|
|//whereCondition//|(quoted) JavaScript boolean expression. May refer to the build-in variables {{{tiddler}}} and  {{{context}}}.|
|//sortExpression//|(quoted) JavaScript expression returning "comparable" objects (using '{{{<}}}','{{{>}}}','{{{==}}}'. May refer to the build-in variables {{{tiddler}}} and  {{{context}}}.|
|//scriptText//|(quoted) JavaScript text. Typically defines JavaScript functions that are called by the various JavaScript expressions (whereClause, sortClause, action arguments,...)|
|//action//|The action that should be performed on every selected tiddler, in the given order. By default the actions [[addToList|AddToListAction]] and [[write|WriteAction]] are supported. When no action is specified [[addToList|AddToListAction]]  is used.|
|//actionParameters//|(action specific) parameters the action may refer while processing the tiddlers (see action descriptions for details). <<tiddler [[JavaScript in actionParameters]]>>|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|

See details see [[ForEachTiddlerMacro]] and [[ForEachTiddlerExamples]].

!Revision history
* v1.0.8 (2007-04-12)
** Adapted to latest TiddlyWiki 2.2 Beta importTiddlyWiki API (introduced with changeset 2004). TiddlyWiki 2.2 Beta builds prior to changeset 2004 are no longer supported (but TiddlyWiki 2.1 and earlier, of cause)
* v1.0.7 (2007-03-28)
** Also support "pre" formatted TiddlyWikis (introduced with TW 2.2) (when using "in" clause to work on external tiddlers)
* v1.0.6 (2006-09-16)
** Context provides "viewerTiddler", i.e. the tiddler used to view the macro. Most times this is equal to the "inTiddler", but when using the "tiddler" macro both may be different.
** Support "begin", "end" and "none" expressions in "write" action
* v1.0.5 (2006-02-05)
** Pass tiddler containing the macro with wikify, context object also holds reference to tiddler containing the macro ("inTiddler"). Thanks to SimonBaird.
** Support Firefox 1.5.0.1
** Internal
*** Make "JSLint" conform
*** "Only install once"
* v1.0.4 (2006-01-06)
** Support TiddlyWiki 2.0
* v1.0.3 (2005-12-22)
** Features: 
*** Write output to a file supports multi-byte environments (Thanks to Bram Chen) 
*** Provide API to access the forEachTiddler functionality directly through JavaScript (see getTiddlers and performMacro)
** Enhancements:
*** Improved error messages on InternetExplorer.
* v1.0.2 (2005-12-10)
** Features: 
*** context object also holds reference to store (TiddlyWiki)
** Fixed Bugs: 
*** ForEachTiddler 1.0.1 has broken support on win32 Opera 8.51 (Thanks to BrunoSabin for reporting)
* v1.0.1 (2005-12-08)
** Features: 
*** Access tiddlers stored in separated TiddlyWikis through the "in" option. I.e. you are no longer limited to only work on the "current TiddlyWiki".
*** Write output to an external file using the "toFile" option of the "write" action. With this option you may write your customized tiddler exports.
*** Use the "script" section to define "helper" JavaScript functions etc. to be used in the various JavaScript expressions (whereClause, sortClause, action arguments,...).
*** Access and store context information for the current forEachTiddler invocation (through the build-in "context" object) .
*** Improved script evaluation (for where/sort clause and write scripts).
* v1.0.0 (2005-11-20)
** initial version

!Code
***/
//{{{

	
//============================================================================
//============================================================================
//		   ForEachTiddlerPlugin
//============================================================================
//============================================================================

// Only install once
if (!version.extensions.ForEachTiddlerPlugin) {

if (!window.abego) window.abego = {};

version.extensions.ForEachTiddlerPlugin = {
	major: 1, minor: 0, revision: 8, 
	date: new Date(2007,3,12), 
	source: "http://tiddlywiki.abego-software.de/#ForEachTiddlerPlugin",
	licence: "[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]",
	copyright: "Copyright (c) abego Software GmbH, 2005-2007 (www.abego-software.de)"
};

// For backward compatibility with TW 1.2.x
//
if (!TiddlyWiki.prototype.forEachTiddler) {
	TiddlyWiki.prototype.forEachTiddler = function(callback) {
		for(var t in this.tiddlers) {
			callback.call(this,t,this.tiddlers[t]);
		}
	};
}

//============================================================================
// forEachTiddler Macro
//============================================================================

version.extensions.forEachTiddler = {
	major: 1, minor: 0, revision: 8, date: new Date(2007,3,12), provider: "http://tiddlywiki.abego-software.de"};

// ---------------------------------------------------------------------------
// Configurations and constants 
// ---------------------------------------------------------------------------

config.macros.forEachTiddler = {
	 // Standard Properties
	 label: "forEachTiddler",
	 prompt: "Perform actions on a (sorted) selection of tiddlers",

	 // actions
	 actions: {
		 addToList: {},
		 write: {}
	 }
};

// ---------------------------------------------------------------------------
//  The forEachTiddler Macro Handler 
// ---------------------------------------------------------------------------

config.macros.forEachTiddler.getContainingTiddler = function(e) {
	while(e && !hasClass(e,"tiddler"))
		e = e.parentNode;
	var title = e ? e.getAttribute("tiddler") : null; 
	return title ? store.getTiddler(title) : null;
};

config.macros.forEachTiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
	// config.macros.forEachTiddler.traceMacroCall(place,macroName,params,wikifier,paramString,tiddler);

	if (!tiddler) tiddler = config.macros.forEachTiddler.getContainingTiddler(place);
	// --- Parsing ------------------------------------------

	var i = 0; // index running over the params
	// Parse the "in" clause
	var tiddlyWikiPath = undefined;
	if ((i < params.length) && params[i] == "in") {
		i++;
		if (i >= params.length) {
			this.handleError(place, "TiddlyWiki path expected behind 'in'.");
			return;
		}
		tiddlyWikiPath = this.paramEncode((i < params.length) ? params[i] : "");
		i++;
	}

	// Parse the where clause
	var whereClause ="true";
	if ((i < params.length) && params[i] == "where") {
		i++;
		whereClause = this.paramEncode((i < params.length) ? params[i] : "");
		i++;
	}

	// Parse the sort stuff
	var sortClause = null;
	var sortAscending = true; 
	if ((i < params.length) && params[i] == "sortBy") {
		i++;
		if (i >= params.length) {
			this.handleError(place, "sortClause missing behind 'sortBy'.");
			return;
		}
		sortClause = this.paramEncode(params[i]);
		i++;

		if ((i < params.length) && (params[i] == "ascending" || params[i] == "descending")) {
			 sortAscending = params[i] == "ascending";
			 i++;
		}
	}

	// Parse the script
	var scriptText = null;
	if ((i < params.length) && params[i] == "script") {
		i++;
		scriptText = this.paramEncode((i < params.length) ? params[i] : "");
		i++;
	}

	// Parse the action. 
	// When we are already at the end use the default action
	var actionName = "addToList";
	if (i < params.length) {
	   if (!config.macros.forEachTiddler.actions[params[i]]) {
			this.handleError(place, "Unknown action '"+params[i]+"'.");
			return;
		} else {
			actionName = params[i]; 
			i++;
		}
	} 
	
	// Get the action parameter
	// (the parsing is done inside the individual action implementation.)
	var actionParameter = params.slice(i);


	// --- Processing ------------------------------------------
	try {
		this.performMacro({
				place: place, 
				inTiddler: tiddler,
				whereClause: whereClause, 
				sortClause: sortClause, 
				sortAscending: sortAscending, 
				actionName: actionName, 
				actionParameter: actionParameter, 
				scriptText: scriptText, 
				tiddlyWikiPath: tiddlyWikiPath});

	} catch (e) {
		this.handleError(place, e);
	}
};

// Returns an object with properties "tiddlers" and "context".
// tiddlers holds the (sorted) tiddlers selected by the parameter,
// context the context of the execution of the macro.
//
// The action is not yet performed.
//
// @parameter see performMacro
//
config.macros.forEachTiddler.getTiddlersAndContext = function(parameter) {

	var context = config.macros.forEachTiddler.createContext(parameter.place, parameter.whereClause, parameter.sortClause, parameter.sortAscending, parameter.actionName, parameter.actionParameter, parameter.scriptText, parameter.tiddlyWikiPath, parameter.inTiddler);

	var tiddlyWiki = parameter.tiddlyWikiPath ? this.loadTiddlyWiki(parameter.tiddlyWikiPath) : store;
	context["tiddlyWiki"] = tiddlyWiki;
	
	// Get the tiddlers, as defined by the whereClause
	var tiddlers = this.findTiddlers(parameter.whereClause, context, tiddlyWiki);
	context["tiddlers"] = tiddlers;

	// Sort the tiddlers, when sorting is required.
	if (parameter.sortClause) {
		this.sortTiddlers(tiddlers, parameter.sortClause, parameter.sortAscending, context);
	}

	return {tiddlers: tiddlers, context: context};
};

// Returns the (sorted) tiddlers selected by the parameter.
//
// The action is not yet performed.
//
// @parameter see performMacro
//
config.macros.forEachTiddler.getTiddlers = function(parameter) {
	return this.getTiddlersAndContext(parameter).tiddlers;
};

// Performs the macros with the given parameter.
//
// @param parameter holds the parameter of the macro as separate properties.
//				  The following properties are supported:
//
//						place
//						whereClause
//						sortClause
//						sortAscending
//						actionName
//						actionParameter
//						scriptText
//						tiddlyWikiPath
//
//					All properties are optional. 
//					For most actions the place property must be defined.
//
config.macros.forEachTiddler.performMacro = function(parameter) {
	var tiddlersAndContext = this.getTiddlersAndContext(parameter);

	// Perform the action
	var actionName = parameter.actionName ? parameter.actionName : "addToList";
	var action = config.macros.forEachTiddler.actions[actionName];
	if (!action) {
		this.handleError(parameter.place, "Unknown action '"+actionName+"'.");
		return;
	}

	var actionHandler = action.handler;
	actionHandler(parameter.place, tiddlersAndContext.tiddlers, parameter.actionParameter, tiddlersAndContext.context);
};

// ---------------------------------------------------------------------------
//  The actions 
// ---------------------------------------------------------------------------

// Internal.
//
// --- The addToList Action -----------------------------------------------
//
config.macros.forEachTiddler.actions.addToList.handler = function(place, tiddlers, parameter, context) {
	// Parse the parameter
	var p = 0;

	// Check for extra parameters
	if (parameter.length > p) {
		config.macros.forEachTiddler.createExtraParameterErrorElement(place, "addToList", parameter, p);
		return;
	}

	// Perform the action.
	var list = document.createElement("ul");
	place.appendChild(list);
	for (var i = 0; i < tiddlers.length; i++) {
		var tiddler = tiddlers[i];
		var listItem = document.createElement("li");
		list.appendChild(listItem);
		createTiddlyLink(listItem, tiddler.title, true);
	}
};

abego.parseNamedParameter = function(name, parameter, i) {
	var beginExpression = null;
	if ((i < parameter.length) && parameter[i] == name) {
		i++;
		if (i >= parameter.length) {
			throw "Missing text behind '%0'".format([name]);
		}
		
		return config.macros.forEachTiddler.paramEncode(parameter[i]);
	}
	return null;
}

// Internal.
//
// --- The write Action ---------------------------------------------------
//
config.macros.forEachTiddler.actions.write.handler = function(place, tiddlers, parameter, context) {
	// Parse the parameter
	var p = 0;
	if (p >= parameter.length) {
		this.handleError(place, "Missing expression behind 'write'.");
		return;
	}

	var textExpression = config.macros.forEachTiddler.paramEncode(parameter[p]);
	p++;

	// Parse the "begin" option
	var beginExpression = abego.parseNamedParameter("begin", parameter, p);
	if (beginExpression !== null) 
		p += 2;
	var endExpression = abego.parseNamedParameter("end", parameter, p);
	if (endExpression !== null) 
		p += 2;
	var noneExpression = abego.parseNamedParameter("none", parameter, p);
	if (noneExpression !== null) 
		p += 2;

	// Parse the "toFile" option
	var filename = null;
	var lineSeparator = undefined;
	if ((p < parameter.length) && parameter[p] == "toFile") {
		p++;
		if (p >= parameter.length) {
			this.handleError(place, "Filename expected behind 'toFile' of 'write' action.");
			return;
		}
		
		filename = config.macros.forEachTiddler.getLocalPath(config.macros.forEachTiddler.paramEncode(parameter[p]));
		p++;
		if ((p < parameter.length) && parameter[p] == "withLineSeparator") {
			p++;
			if (p >= parameter.length) {
				this.handleError(place, "Line separator text expected behind 'withLineSeparator' of 'write' action.");
				return;
			}
			lineSeparator = config.macros.forEachTiddler.paramEncode(parameter[p]);
			p++;
		}
	}
	
	// Check for extra parameters
	if (parameter.length > p) {
		config.macros.forEachTiddler.createExtraParameterErrorElement(place, "write", parameter, p);
		return;
	}

	// Perform the action.
	var func = config.macros.forEachTiddler.getEvalTiddlerFunction(textExpression, context);
	var count = tiddlers.length;
	var text = "";
	if (count > 0 && beginExpression)
		text += config.macros.forEachTiddler.getEvalTiddlerFunction(beginExpression, context)(undefined, context, count, undefined);
	
	for (var i = 0; i < count; i++) {
		var tiddler = tiddlers[i];
		text += func(tiddler, context, count, i);
	}
	
	if (count > 0 && endExpression)
		text += config.macros.forEachTiddler.getEvalTiddlerFunction(endExpression, context)(undefined, context, count, undefined);

	if (count == 0 && noneExpression) 
		text += config.macros.forEachTiddler.getEvalTiddlerFunction(noneExpression, context)(undefined, context, count, undefined);
		

	if (filename) {
		if (lineSeparator !== undefined) {
			lineSeparator = lineSeparator.replace(/\\n/mg, "\n").replace(/\\r/mg, "\r");
			text = text.replace(/\n/mg,lineSeparator);
		}
		saveFile(filename, convertUnicodeToUTF8(text));
	} else {
		var wrapper = createTiddlyElement(place, "span");
		wikify(text, wrapper, null/* highlightRegExp */, context.inTiddler);
	}
};


// ---------------------------------------------------------------------------
//  Helpers
// ---------------------------------------------------------------------------

// Internal.
//
config.macros.forEachTiddler.createContext = function(placeParam, whereClauseParam, sortClauseParam, sortAscendingParam, actionNameParam, actionParameterParam, scriptText, tiddlyWikiPathParam, inTiddlerParam) {
	return {
		place : placeParam, 
		whereClause : whereClauseParam, 
		sortClause : sortClauseParam, 
		sortAscending : sortAscendingParam, 
		script : scriptText,
		actionName : actionNameParam, 
		actionParameter : actionParameterParam,
		tiddlyWikiPath : tiddlyWikiPathParam,
		inTiddler : inTiddlerParam, // the tiddler containing the <<forEachTiddler ...>> macro call.
		viewerTiddler : config.macros.forEachTiddler.getContainingTiddler(placeParam) // the tiddler showing the forEachTiddler result
	};
};

// Internal.
//
// Returns a TiddlyWiki with the tiddlers loaded from the TiddlyWiki of 
// the given path.
//
config.macros.forEachTiddler.loadTiddlyWiki = function(path, idPrefix) {
	if (!idPrefix) {
		idPrefix = "store";
	}
	var lenPrefix = idPrefix.length;
	
	// Read the content of the given file
	var content = loadFile(this.getLocalPath(path));
	if(content === null) {
		throw "TiddlyWiki '"+path+"' not found.";
	}
	
	var tiddlyWiki = new TiddlyWiki();

	// Starting with TW 2.2 there is a helper function to import the tiddlers
	if (tiddlyWiki.importTiddlyWiki) {
		if (!tiddlyWiki.importTiddlyWiki(content))
			throw "File '"+path+"' is not a TiddlyWiki.";
		tiddlyWiki.dirty = false;
		return tiddlyWiki;
	}
	
	// The legacy code, for TW < 2.2
	
	// Locate the storeArea div's
	var posOpeningDiv = content.indexOf(startSaveArea);
	var posClosingDiv = content.lastIndexOf(endSaveArea);
	if((posOpeningDiv == -1) || (posClosingDiv == -1)) {
		throw "File '"+path+"' is not a TiddlyWiki.";
	}
	var storageText = content.substr(posOpeningDiv + startSaveArea.length, posClosingDiv);
	
	// Create a "div" element that contains the storage text
	var myStorageDiv = document.createElement("div");
	myStorageDiv.innerHTML = storageText;
	myStorageDiv.normalize();
	
	// Create all tiddlers in a new TiddlyWiki
	// (following code is modified copy of TiddlyWiki.prototype.loadFromDiv)
	var store = myStorageDiv.childNodes;
	for(var t = 0; t < store.length; t++) {
		var e = store[t];
		var title = null;
		if(e.getAttribute)
			title = e.getAttribute("tiddler");
		if(!title && e.id && e.id.substr(0,lenPrefix) == idPrefix)
			title = e.id.substr(lenPrefix);
		if(title && title !== "") {
			var tiddler = tiddlyWiki.createTiddler(title);
			tiddler.loadFromDiv(e,title);
		}
	}
	tiddlyWiki.dirty = false;

	return tiddlyWiki;
};


	
// Internal.
//
// Returns a function that has a function body returning the given javaScriptExpression.
// The function has the parameters:
// 
//	 (tiddler, context, count, index)
//
config.macros.forEachTiddler.getEvalTiddlerFunction = function (javaScriptExpression, context) {
	var script = context["script"];
	var functionText = "var theFunction = function(tiddler, context, count, index) { return "+javaScriptExpression+"}";
	var fullText = (script ? script+";" : "")+functionText+";theFunction;";
	return eval(fullText);
};

// Internal.
//
config.macros.forEachTiddler.findTiddlers = function(whereClause, context, tiddlyWiki) {
	var result = [];
	var func = config.macros.forEachTiddler.getEvalTiddlerFunction(whereClause, context);
	tiddlyWiki.forEachTiddler(function(title,tiddler) {
		if (func(tiddler, context, undefined, undefined)) {
			result.push(tiddler);
		}
	});
	return result;
};

// Internal.
//
config.macros.forEachTiddler.createExtraParameterErrorElement = function(place, actionName, parameter, firstUnusedIndex) {
	var message = "Extra parameter behind '"+actionName+"':";
	for (var i = firstUnusedIndex; i < parameter.length; i++) {
		message += " "+parameter[i];
	}
	this.handleError(place, message);
};

// Internal.
//
config.macros.forEachTiddler.sortAscending = function(tiddlerA, tiddlerB) {
	var result = 
		(tiddlerA.forEachTiddlerSortValue == tiddlerB.forEachTiddlerSortValue) 
			? 0
			: (tiddlerA.forEachTiddlerSortValue < tiddlerB.forEachTiddlerSortValue)
			   ? -1 
			   : +1; 
	return result;
};

// Internal.
//
config.macros.forEachTiddler.sortDescending = function(tiddlerA, tiddlerB) {
	var result = 
		(tiddlerA.forEachTiddlerSortValue == tiddlerB.forEachTiddlerSortValue) 
			? 0
			: (tiddlerA.forEachTiddlerSortValue < tiddlerB.forEachTiddlerSortValue)
			   ? +1 
			   : -1; 
	return result;
};

// Internal.
//
config.macros.forEachTiddler.sortTiddlers = function(tiddlers, sortClause, ascending, context) {
	// To avoid evaluating the sortClause whenever two items are compared 
	// we pre-calculate the sortValue for every item in the array and store it in a 
	// temporary property ("forEachTiddlerSortValue") of the tiddlers.
	var func = config.macros.forEachTiddler.getEvalTiddlerFunction(sortClause, context);
	var count = tiddlers.length;
	var i;
	for (i = 0; i < count; i++) {
		var tiddler = tiddlers[i];
		tiddler.forEachTiddlerSortValue = func(tiddler,context, undefined, undefined);
	}

	// Do the sorting
	tiddlers.sort(ascending ? this.sortAscending : this.sortDescending);

	// Delete the temporary property that holds the sortValue.	
	for (i = 0; i < tiddlers.length; i++) {
		delete tiddlers[i].forEachTiddlerSortValue;
	}
};


// Internal.
//
config.macros.forEachTiddler.trace = function(message) {
	displayMessage(message);
};

// Internal.
//
config.macros.forEachTiddler.traceMacroCall = function(place,macroName,params) {
	var message ="<<"+macroName;
	for (var i = 0; i < params.length; i++) {
		message += " "+params[i];
	}
	message += ">>";
	displayMessage(message);
};


// Internal.
//
// Creates an element that holds an error message
// 
config.macros.forEachTiddler.createErrorElement = function(place, exception) {
	var message = (exception.description) ? exception.description : exception.toString();
	return createTiddlyElement(place,"span",null,"forEachTiddlerError","<<forEachTiddler ...>>: "+message);
};

// Internal.
//
// @param place [may be null]
//
config.macros.forEachTiddler.handleError = function(place, exception) {
	if (place) {
		this.createErrorElement(place, exception);
	} else {
		throw exception;
	}
};

// Internal.
//
// Encodes the given string.
//
// Replaces 
//	 "$))" to ">>"
//	 "$)" to ">"
//
config.macros.forEachTiddler.paramEncode = function(s) {
	var reGTGT = new RegExp("\\$\\)\\)","mg");
	var reGT = new RegExp("\\$\\)","mg");
	return s.replace(reGTGT, ">>").replace(reGT, ">");
};

// Internal.
//
// Returns the given original path (that is a file path, starting with "file:")
// as a path to a local file, in the systems native file format.
//
// Location information in the originalPath (i.e. the "#" and stuff following)
// is stripped.
// 
config.macros.forEachTiddler.getLocalPath = function(originalPath) {
	// Remove any location part of the URL
	var hashPos = originalPath.indexOf("#");
	if(hashPos != -1)
		originalPath = originalPath.substr(0,hashPos);
	// Convert to a native file format assuming
	// "file:///x:/path/path/path..." - pc local file --> "x:\path\path\path..."
	// "file://///server/share/path/path/path..." - FireFox pc network file --> "\\server\share\path\path\path..."
	// "file:///path/path/path..." - mac/unix local file --> "/path/path/path..."
	// "file://server/share/path/path/path..." - pc network file --> "\\server\share\path\path\path..."
	var localPath;
	if(originalPath.charAt(9) == ":") // pc local file
		localPath = unescape(originalPath.substr(8)).replace(new RegExp("/","g"),"\\");
	else if(originalPath.indexOf("file://///") === 0) // FireFox pc network file
		localPath = "\\\\" + unescape(originalPath.substr(10)).replace(new RegExp("/","g"),"\\");
	else if(originalPath.indexOf("file:///") === 0) // mac/unix local file
		localPath = unescape(originalPath.substr(7));
	else if(originalPath.indexOf("file:/") === 0) // mac/unix local file
		localPath = unescape(originalPath.substr(5));
	else // pc network file
		localPath = "\\\\" + unescape(originalPath.substr(7)).replace(new RegExp("/","g"),"\\");	
	return localPath;
};

// ---------------------------------------------------------------------------
// Stylesheet Extensions (may be overridden by local StyleSheet)
// ---------------------------------------------------------------------------
//
setStylesheet(
	".forEachTiddlerError{color: #ffffff;background-color: #880000;}",
	"forEachTiddler");

//============================================================================
// End of forEachTiddler Macro
//============================================================================


//============================================================================
// String.startsWith Function
//============================================================================
//
// Returns true if the string starts with the given prefix, false otherwise.
//
version.extensions["String.startsWith"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
String.prototype.startsWith = function(prefix) {
	var n =  prefix.length;
	return (this.length >= n) && (this.slice(0, n) == prefix);
};



//============================================================================
// String.endsWith Function
//============================================================================
//
// Returns true if the string ends with the given suffix, false otherwise.
//
version.extensions["String.endsWith"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
String.prototype.endsWith = function(suffix) {
	var n = suffix.length;
	return (this.length >= n) && (this.right(n) == suffix);
};


//============================================================================
// String.contains Function
//============================================================================
//
// Returns true when the string contains the given substring, false otherwise.
//
version.extensions["String.contains"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
String.prototype.contains = function(substring) {
	return this.indexOf(substring) >= 0;
};

//============================================================================
// Array.indexOf Function
//============================================================================
//
// Returns the index of the first occurance of the given item in the array or 
// -1 when no such item exists.
//
// @param item [may be null]
//
version.extensions["Array.indexOf"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.indexOf = function(item) {
	for (var i = 0; i < this.length; i++) {
		if (this[i] == item) {
			return i;
		}
	}
	return -1;
};

//============================================================================
// Array.contains Function
//============================================================================
//
// Returns true when the array contains the given item, otherwise false. 
//
// @param item [may be null]
//
version.extensions["Array.contains"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.contains = function(item) {
	return (this.indexOf(item) >= 0);
};

//============================================================================
// Array.containsAny Function
//============================================================================
//
// Returns true when the array contains at least one of the elements 
// of the item. Otherwise (or when items contains no elements) false is returned.
//
version.extensions["Array.containsAny"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.containsAny = function(items) {
	for(var i = 0; i < items.length; i++) {
		if (this.contains(items[i])) {
			return true;
		}
	}
	return false;
};


//============================================================================
// Array.containsAll Function
//============================================================================
//
// Returns true when the array contains all the items, otherwise false.
// 
// When items is null false is returned (even if the array contains a null).
//
// @param items [may be null] 
//
version.extensions["Array.containsAll"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.containsAll = function(items) {
	for(var i = 0; i < items.length; i++) {
		if (!this.contains(items[i])) {
			return false;
		}
	}
	return true;
};


} // of "install only once"

// Used Globals (for JSLint) ==============
// ... DOM
/*global 	document */
// ... TiddlyWiki Core
/*global 	convertUnicodeToUTF8, createTiddlyElement, createTiddlyLink, 
			displayMessage, endSaveArea, hasClass, loadFile, saveFile, 
			startSaveArea, store, wikify */
//}}}


/***
!Licence and Copyright
Copyright (c) abego Software ~GmbH, 2005 ([[www.abego-software.de|http://www.abego-software.de]])

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.

Neither the name of abego Software nor the names of its contributors may be
used to endorse or promote products derived from this software without specific
prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
***/

Format for Summary View
{{{
// with TAG
<<tiddler FormatSummary##withSummary with:TAG>>
<<tiddler FormatSummary##noSummary with:TAG>>
// All tiddlers(only noSummary)
<<tiddler FormatSummary##noSummary with:null>>
}}}
/%
!withSummary
<<forEachTiddler
 where 'tiddler.tags.contains("$1")'
 sortBy tiddler.modified descending
 script '
 function getFirstLine(s){
  var m = s.match(/\s*(.*)/);
  return m != null && m.length >= 1 ? m[1]:"";
 }
 function getTagsText(tiddler){
  var tags = tiddler.tags, t = "";
  for(var i = 0; i < tags.length; i++)
   t += (i == 0) ? "[["+tags[i]+"]]":", [["+tags[i]+"]]";
  return t;
 }
 function getIcon(tiddler){
  var i = store.getTiddlerSlice("Pictograms","Default");
  jQuery(["GAKI","BLOG","Link","systemConfig"]).each(function(){
   if(tiddler.tags.contains(this)) i = store.getTiddlerSlice("Pictograms",this);
  });
  return i;
 }
 window.fetPerPage$1 = 7;
 function getHeader(context,count){
  if (!window.fetStartIndex$1 || window.fetStartIndex$1 < 0)
   window.fetStartIndex$1 = 0;
  // ensure not to page behind the last page
  if (window.fetStartIndex$1 >= count)
   window.fetStartIndex$1 = Math.min(Math.max(window.fetStartIndex$1 - window.fetPerPage$1,0),count - 1);
  var c = createTiddlyElement(context.place,"div",null,"topicNavi");
  var left = createTiddlyElement(c,"div",null,"floatLeft");
  var right = createTiddlyElement(c,"div",null,"floatRight");
  var isShow = false;
  createTiddlyButton(right,"Show Summary","Toggle Summary",function(e){
   isShow = !isShow;
   jQuery(".topicSummary, .readMore",context.place).each(function(k,v){
    var elm = jQuery(this);
    setTimeout(function(){ elm.slideToggle(); },100 * k);
   });
   var ev = e || window.event;
   resolveTarget(ev).innerHTML = (isShow ? "Hide":"Show") + " Summary";
  },"button");
  createTiddlyButton(left,"« Previous",null,function(){ paging(false); });
  createTiddlyButton(left,"Next »",null,function(){ paging(true); });
  var paging = function(next){
   removeChildren(context.place);
   window.fetStartIndex$1 += window.fetPerPage$1 * ((next) ? (1):(-1));
//   story.refreshTiddler(context.viewerTiddler.title,null,true);
   wikify("\<\<tiddler [[FormatSummary##withSummary]] with:$1\>\>",context.place);
  };
  var startNo = window.fetStartIndex$1 + 1;
  var endNo = Math.min(count,window.fetStartIndex$1 + window.fetPerPage$1);
  createTiddlyText(left," (" + startNo + " - " + endNo + " of " + count + " items)");
  return "";
 }
 '
 write '(index >= window.fetStartIndex$1) && (index < window.fetStartIndex$1 + 7) ? ((index % 2 != 0) ? "{{topicRow topicRowEven{":"{{topicRow topicRowOdd{") + "{{topicIcon{\n[>img[" + getIcon(tiddler) + "]]}}}" + "{{topicHeader{\n!!" + tiddler.modified.formatString("YYYY.0MM.0DD") + " - [["+tiddler.title+"]]\n}}}" + "{{topicTags{\nTags : " + getTagsText(tiddler) + "}}}" + "{{topicSummary clear{\n" + getFirstLine(tiddler.text) + "}}}" + "{{readMore{\n[[» Read more|" + tiddler.title + "]]}}}" + "}}}":""'
 begin 'getHeader(context,count) + "{{rowSpacer{}}}"'
>>
!noSummary
<<forEachTiddler
 where '(typeof $1 == "undefined")||$1? tiddler.tags.contains("$1") : true'
 sortBy tiddler.modified descending
 script '
 function getTagsText(tiddler){
  var tags = tiddler.tags, t = "";
  for(var i = 0; i < tags.length; i++)
   t += (i == 0) ? "[["+tags[i]+"]]":", [["+tags[i]+"]]";
  return t;
 }
 function getIcon(tiddler){
  var i = store.getTiddlerSlice("Pictograms","Default");
  jQuery(["GAKI","BLOG","Link","systemConfig"]).each(function(){
   if(tiddler.tags.contains(this)) i = store.getTiddlerSlice("Pictograms",this);
  });
  return i;
 }
 window.fetPerPage$1 = 7;
 function getHeader(context,count){
  if (!window.fetStartIndex$1 || window.fetStartIndex$1 < 0)
   window.fetStartIndex$1 = 0;
  // ensure not to page behind the last page
  if (window.fetStartIndex$1 >= count)
   window.fetStartIndex$1 = Math.min(Math.max(window.fetStartIndex$1 - window.fetPerPage$1,0),count - 1);
  var c = createTiddlyElement(context.place,"div",null,"topicNavi");
  createTiddlyButton(c,"« Previous",null,function(){ paging(false); });
  createTiddlyButton(c,"Next »",null,function(){ paging(true); });
  var paging = function(next){
   removeChildren(context.place);
   window.fetStartIndex$1 += window.fetPerPage$1 * ((next) ? (1):(-1));
//   story.refreshTiddler(context.viewerTiddler.title,null,true);
   wikify("\<\<tiddler [[FormatSummary##noSummary]] with:$1\>\>",context.place);
  };
  var startNo = window.fetStartIndex$1 + 1;
  var endNo = Math.min(count,window.fetStartIndex$1 + window.fetPerPage$1);
  createTiddlyText(c," (" + startNo + " - " + endNo + " of " + count + " items)");
  return "";
 }
 '
 write '(index >= window.fetStartIndex$1) && (index < window.fetStartIndex$1 + 7) ? ((index % 2 != 0) ? "{{topicRow topicRowEven{":"{{topicRow topicRowOdd{") + "{{topicIcon{\n[>img[" + getIcon(tiddler) + "]]}}}" + "{{topicHeader{\n!!" + tiddler.modified.formatString("YYYY.0MM.0DD") + " - [["+tiddler.title+"]]\n}}}" + "{{topicTags{\nTags : "+getTagsText(tiddler) + "}}}" + "}}}":""'
 begin 'getHeader(context,count) + "{{rowSpacer{}}}"'
>>
!end
%/
''Popular Tags : ''<<tag Hagaki>> <<tag Kikaku>> <<tag Lifehacks>> <<tag Hamada>> <<tag Ero>>
<<tiddler SimpleRSSReader with: "http://gigazine.net/index.php?/news/rss_2.0/">>
/***
|Name|GuideBubblesPlugin|
|Version|0.1.1|
|Date|2009.10.30|
|Source|http://rc-2.net/home/#GuideBubblesPlugin|
|Author|rc2|
|Status|experimental|
|CoreVersion|2.5.0+ (Requires jQuery)|

!Description
*ボタンのガイドをバルーンチップで表示。
*ガイドは各エレメントの title 属性を利用。
*フォーカスされている tiddler にランダムで表示。
*IE, Opera は fadeIn/Out が乱れるので除外。

!Customize
*set target elements (jQuery selector){{m{
>e.g. : guideBubbles.guideTargets = ".toolbar .button:visible,.navbar .button:visible";
}}}
*edit style (StyleSheetGuideBubbles){{m{
>referred : [[Fun With CSS Shapes - Nettuts+|http://net.tutsplus.com/videos/screencasts/fun-with-css-shapes/]]
}}}

!Revisions
*2009.10.30 : 0.1.1, implement default styles
*2009.08.28 : 0.1

!Code
***/
//{{{
config.shadowTiddlers.StyleSheetGuideBubbles =
 '/*{{{*/\n'
 +'#guideBubbles{/*width:200px;*/position:absolute;background:#CCC;padding:5px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;}\n'
 +'#guideBubbles div{white-space:nowrap;}\n'
 +'#guideBubbles .guideArrow{position:absolute;width:0;height:0;line-height:0;border-top:10px solid #CCC;border-left:5px solid white;border-right:10px solid white;bottom:-10px;left:10px;}\n'
 +'/*}}}*/\n';
setStylesheet(store.getTiddlerText('StyleSheetGuideBubbles'),'guideBubblesStyles');
//}}}
//{{{
(function($){
 var gb = $('<div id="guideBubbles"><div>dummy</div></div>');
 gb.appendTo(document.body).append('<span class="guideArrow" />').hide();
 gb.guideTargets = ".toolbar .button:visible,.navbar .button:visible";

 var guideTimer = function(){
  var tid = $("#displayArea .tiddler.selected");
  if(tid.length == 0) return true;
  var t = $(gb.guideTargets,tid);
  t = t.eq(Math.floor(Math.random() * t.length));
  if(t.length == 0) return true;
  var adPos = t.height() + gb.height() + 7;
  $("div",gb).text(t.attr("title"));
  gb.css({"top":findPosY(t.get(0)) - adPos,"left":findPosX(t.get(0))})
   .fadeIn(1000,function(){$(this).fadeOut(5000);});
 };

 if(!config.browser.isIE && !config.browser.isOpera)
  setInterval(guideTimer, 7000);
})(jQuery);
//}}}
<<tiddler HOME(old2)>>
/%
{{mc mcLeft{{{n{
!about this site
<<tiddler [[About##this site]]>>
!about rc2
<<tiddler [[About##rc2]]>>
[>img[http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20100210/20100210124556.jpg]]
{{clear{
}}}
<script>
createTiddlyButton(place,"close","",function(){
 var tid = story.findContainingTiddler(place);
 jQuery.data(tid,"closeState",true);
 jQuery(place).parent().hide().next().css({"width":"100%"});
},"button hideButton");
</script>
}}}}}}
{{mc mcRight{{{n{
!recent entries
<<tiddler Browser>>
}}}}}}
<script>
(function($){
$("br",place).remove();

var styles = { // should be externalized
 "* + h1":{"margin-top":"4em"},
 ".hideButton":{"margin":"0.3em 0","zoom":"1"},
 ".mc":{"float":"left"},
 ".mc ul":{"padding-left":"0"},
 ".mc li":{"display":"block","list-style-type":"none","padding":"0.3em 0","border-bottom":"1px solid #eee"},
 ".mc img":{"border":"none","padding":"0"},
 ".n:even":{"padding-right":"2em"}
};
$.each(styles,function(k,v){ $(k,place).css(v); });

var isiPhone = config.userAgent.indexOf("iphone") != -1;
var tid = story.findContainingTiddler(place);
var isHideMode = isiPhone || $.data(tid,"closeState");
if(isHideMode) $(".hideButton",place).click();
})(jQuery);
</script><<tiddler SiteLogo>>
%/
{{m{{{n{
!Principal tags
[[BLOG]][[GAKI]][[Memorandum]][[TiddlyWiki]][[Utility]][[All tiddlers|All]]
}}}}}}{{m{
}}}
<script>
(function($){
// layout
$(".m",place).css({"float":"left"});
var l = $(".m:eq(0)",place).css({"width":"20%"});
var r = $(".m:eq(1)",place).css({"width":"80%"});
$(".n",place).css({"padding-right":"1em"});
$("a",l).css({"display":"block","margin-bottom":"0.5em"});//.addClass("button");

// disable default handler
$("a",l).each(function(){ $(this).get(0).onclick = null; });

// view list
var out = r.get(0);
var label = {"false":"List of tiddlers tagged with \'%0\'","true":"List of all tiddlers"};
var viewLink = function(tag){
 removeChildren(out);
 wikify("!%0".format([label[(tag == "All")].format([tag])]),out);
 wikify('\<\<tiddler [[Browser##%0]]\>\>'.format([tag]),out);
};

// initialize
viewLink("BLOG");
$("a",l).bind("click",function(){ viewLink($(this).attr("tiddlyLink")); });
})(jQuery);
</script>
<<tiddler SimpleRSSReader with: "http://feeds.builder.japan.zdnet.com/builder/html-css">>
|URL|http://wiki.cre8system.jp/|
かなり有名なバグらしいのですが、初見で苦労したのでメモです。[[検索|http://www.google.co.jp/search?sourceid=navclient&aq=t&hl=ja&ie=UTF-8&rls=GGLG,GGLG:2006-15,GGLG:ja&q=ie+margin+2%e5%80%8d%e3%81%ab]]してみると大量にヒットします。苦労されている方は多いようです。対策として幾つかの回避方法があるようなので纏めておきました。参考まで。そういえば IE 7 の自動配付が始まりましたが、普及率はどうなんでしょう。。当面は IE 6 対策も必要なんでしょうね。IE 8 のベータ配付も近いし今後も IE には悩まされそうです。

!発生条件
*IE 7 以前のバージョン(6,5.5 以外では未確認)。IE 7 では対応済み。
*float 要素に左右 margin 指定がある。(float と同方向の margin 指定がある。){{m{
{{{
#box{ float:left; margin-left: 10px; }
}}}
}}}

!現象
*IE 6 等で見ると box1 の左 margin が 2 倍に表示される。{{m{
<html>
<div id="demo_container">
<div id="demo_box1"><p style="padding:5px;">#box1 { float:left; margin-left:10px; }</p></div>
<br style="clear:both;" />
<div id="demo_box2"><p style="padding:5px;">#box2 { margin-left:10px; }</p></div>
</div>
</html>
}}}
!回避方法
!!padding の指定に置き換える方法
*background がない場合にはこれがお手軽そうです。私はこれで対応しました。{{m{
{{{
#box{ float:left; padding-left:10px; }
}}}
}}}
!!display:inline を指定する方法
*対象要素に display:inline を指定します。「float を指定した要素は display の指定を無視する」という CSS2 仕様があるそうなので影響はないとのこと。float 指定より前に書くそうですが後でも機能しました。{{m{
{{{
#box{ float:left; margin-left:10px; display:inline; }
}}}
}}}
!!div で包む方法
*float 指定と margin 指定が混在しないように div で包む方法。{{m{
{{{
<div style="margin-left:10px;"><div id="box">xxxx</div></div>
}}}
}}}
!!CSS ハックの利用
*2 倍になるなら予め IE だけ半分に指定しておこうという方法。{{m{
{{{
#box{ float:left; margin-left:10px; }
*html #box{ float:left; margin-left:5px; }
}}}
{{{
#box{ float:left; margin-left:10px; _margin-left:5px; }
}}}
}}}
TiddlyWiki ですが、IE6 だけ charset が Shift_JIS と解釈されてしまうようで正しく表示できません。対処メモです。対症療法というか根拠は曖昧なので参考まで。

まあ、対処方法 1 が妥当な気がする。

!対処方法 1
以下のように Content-Type の meta タグの前に script がある。
{{{
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<script id="versionArea" type="text/javascript">
//<![CDATA[
var version = {title: "TiddlyWiki", major: 2, minor: 5, revision: 0,...
//]]>
</script>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 :
}}}
Content-Type の指定が先頭(head タグ直後)になるように変更する。
{{{
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 :
}}}

!対処方法 2
Content-Type の引用符を取る。謎。
{{{
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8" />
 :
}}}
<<tiddler SimpleRSSReader with: "http://rss.rssad.jp/rss/itmplusd/1.0/plusd.xml">>
<<tiddler SimpleRSSReader with: "http://itpro.nikkeibp.co.jp/rss/develop.rdf">>
<<tiddler SimpleRSSReader with: "http://itpro.nikkeibp.co.jp/rss/oss.rdf">>
<<tiddler SimpleRSSReader with: "http://itpro.nikkeibp.co.jp/rss/ITpro.rdf">>
<<tiddler SimpleRSSReader with: "http://www.watch.impress.co.jp/headline/rss/headline.rdf">>
<<tiddler SimpleRSSReader with: "http://www.infoq.com/jp/rss/rss.action?token=wm2Xu89Q1bLwm6UrLpsaoOzDge5IfqFm">>
/***
|Name|InlineJavascriptPlugin|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo|
|Version|1.9.5|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|Insert Javascript executable code directly into your tiddler content.|
''Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output'' into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.

!Documentation
>see [[InlineJavascriptPluginInfo]]

!Revisions
<<<
2009.04.11 [1.9.5] pass current tiddler object into wrapper code so it can be referenced from within 'onclick' scripts
2009.02.26 [1.9.4] in $(), handle leading '#' on ID for compatibility with JQuery syntax
|please see [[InlineJavascriptPluginInfo]] for additional revision details|
2005.11.08 [1.0.0] initial release
<<<

!Code
***/
//{{{
version.extensions.InlineJavascriptPlugin= {major: 1, minor: 9, revision: 5, date: new Date(2009,4,11)};

config.formatters.push( {
	name: "inlineJavascript",
	match: "\\<script",
	lookahead: "\\<script(?: src=\\\"((?:.|\\n)*?)\\\")?(?: label=\\\"((?:.|\\n)*?)\\\")?(?: title=\\\"((?:.|\\n)*?)\\\")?(?: key=\\\"((?:.|\\n)*?)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>",

	handler: function(w) {
		var lookaheadRegExp = new RegExp(this.lookahead,"mg");
		lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var src=lookaheadMatch[1];
			var label=lookaheadMatch[2];
			var tip=lookaheadMatch[3];
			var key=lookaheadMatch[4];
			var show=lookaheadMatch[5];
			var code=lookaheadMatch[6];
			if (src) { // external script library
				var script = document.createElement("script"); script.src = src;
				document.body.appendChild(script); document.body.removeChild(script);
			}
			if (code) { // inline code
				if (show) // display source in tiddler
					wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output);
				if (label) { // create 'onclick' command link
					var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label));
					var fixup=code.replace(/document.write\s*\(/gi,'place.bufferedHTML+=(');
					link.code="function _out(place,tiddler){"+fixup+"\n};_out(this,this.tiddler);"
					link.tiddler=w.tiddler;
					link.onclick=function(){
						this.bufferedHTML="";
						try{ var r=eval(this.code);
							if(this.bufferedHTML.length || (typeof(r)==="string")&&r.length)
								var s=this.parentNode.insertBefore(document.createElement("span"),this.nextSibling);
							if(this.bufferedHTML.length)
								s.innerHTML=this.bufferedHTML;
							if((typeof(r)==="string")&&r.length) {
								wikify(r,s,null,this.tiddler);
								return false;
							} else return r!==undefined?r:false;
						} catch(e){alert(e.description||e.toString());return false;}
					};
					link.setAttribute("title",tip||"");
					var URIcode='javascript:void(eval(decodeURIComponent(%22(function(){try{';
					URIcode+=encodeURIComponent(encodeURIComponent(code.replace(/\n/g,' ')));
					URIcode+='}catch(e){alert(e.description||e.toString())}})()%22)))';
					link.setAttribute("href",URIcode);
					link.style.cursor="pointer";
					if (key) link.accessKey=key.substr(0,1); // single character only
				}
				else { // run script immediately
					var fixup=code.replace(/document.write\s*\(/gi,'place.innerHTML+=(');
					var c="function _out(place,tiddler){"+fixup+"\n};_out(w.output,w.tiddler);";
					try	 { var out=eval(c); }
					catch(e) { out=e.description?e.description:e.toString(); }
					if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);
				}
			}
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
		}
	}
} )
//}}}

// // Backward-compatibility for TW2.1.x and earlier
//{{{
if (typeof(wikifyPlainText)=="undefined") window.wikifyPlainText=function(text,limit,tiddler) {
	if(limit > 0) text = text.substr(0,limit);
	var wikifier = new Wikifier(text,formatter,null,tiddler);
	return wikifier.wikifyPlain();
}
//}}}

// // GLOBAL FUNCTION: $(...) -- 'shorthand' convenience syntax for document.getElementById()
//{{{
if (typeof($)=='undefined') { function $(id) { return document.getElementById(id.replace(/^#/,'')); } }
//}}}
|URL|http://jo1upk.blogdns.net/saito/|
|URL|http://jackparke.googlepages.com/jtw.html|
<<tiddler SimpleRSSReader with: "http://jsajax.com/ArticlesTop50.aspx">>
|URL|http://rane.tiddlyspot.com/|
|URL|http://kuraku.net/tw/tw.html|
複数の libc があって疑問でしたがそういうことか。何かの役に立ちそうなのでメモ。

!libc の切り替え
!!libc の ABI バージョン
{{{
$ cat /etc/redhat-release
Red Hat Enterprise Linux AS release 3 (Taroon Update 8)
}}}
{{{
$ eu-readelf -n /lib/tls/libc.so.6
Note segment of 32 bytes at offset 0x00000154:
  Owner          Data size  Type
  GNU                   16  VERSION
    OS: Linux, ABI: 2.4.20
}}}
{{{
$ eu-readelf -n /lib/i686/libc.so.6
Note segment of 32 bytes at offset 0x00000134:
  Owner          Data size  Type
  GNU                   16  VERSION
    OS: Linux, ABI: 2.4.1
}}}
{{{
$ eu-readelf -n /lib/libc.so.6
Note segment of 32 bytes at offset 0x00000134:
  Owner          Data size  Type
  GNU                   16  VERSION
    OS: Linux, ABI: 2.2.5
}}}
!!LD_ASSUME_KERNEL の指定による挙動
{{{
$ uname -r
2.4.21-47.EL
}}}
{{{
$ ldd /bin/true
        libc.so.6 => /lib/tls/libc.so.6 (0x001c0000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x006a4000)
}}}
{{{
$ LD_ASSUME_KERNEL=2.4.20 ldd /bin/true
        libc.so.6 => /lib/tls/libc.so.6 (0x00c52000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x001fc000)
}}}
{{{
$ LD_ASSUME_KERNEL=2.4.1 ldd /bin/true
        libc.so.6 => /lib/i686/libc.so.6 (0x00154000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00e83000)
}}}
{{{
$ LD_ASSUME_KERNEL=2.2.5 ldd /bin/true
        libc.so.6 => /lib/libc.so.6 (0x00c50000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x0073c000)
}}}

!スレッドモデルの切り替え
LD_ASSUME_KERNEL の指定(RHEL 5 では Linuxthreads のサポート中止)
|!指定なし|NPTL(Native POSIX Thread Library )|
|!2.4.19|フローティングスタックを持つ Linuxthreads|
|!2.2.5|フローティングスタックを持たない Linuxthreads|
{{m{{{n{
!Related tags with 'Link'
<<relatedTag Link>>
}}}}}}{{m{{{b floatRight{
}}}}}}
<script>
var label = "List of tiddlers tagged with '%0'";
(function($){
// layout
$(".m",place).css({"float":"left"});
$(".m:eq(0)",place).css({"width":"20%"});
$(".m:eq(1)",place).css({"width":"80%"});
$(".n",place).css({"padding-right":"1em"});

// remove, disable default handler
$(".relatedTagTitle",place).remove();
$(".relatedTag a",place).each(function(){ $(this).get(0).onclick = null; });

var toggle = createTiddlyButton($(".b",place).get(0),"Toggle Tags","",function(e){ $(".topicTags",place).toggle(); });
$(toggle).css({"zoom":"1"}); // for IE

// view list
var result = createTiddlyElement($(".m:eq(1)",place).get(0),"div",null,"linkResult");
var viewLink = function(tag){
 removeChildren(result);
 wikify("!%0".format([label.format([tag])]),result);
 wikify('<<tiddler [[LINKS##list]] with: \'%0\'>>'.format([tag]),result);
};

// initialize
viewLink("Link");
$(".relatedTag a",place).bind("click",function(){ viewLink($(this).text()); });
})(jQuery);
</script>
/%
!list
<<forEachTiddler
 where 'tiddler.tags.contains("Link") && tiddler.tags.contains("$1")'
 script 'function getTagsText(tiddler){var tags=tiddler.tags; var t=""; for (var i=0; i<tags.length;i++) {t += (i==0)?"[["+tags[i]+"]]":", [["+tags[i]+"]]";} return t;}'
 write '"{{linkList{"+"{{topicHeader{"+"[["+tiddler.title+"]]}}}"+"{{topicTags{"+"Tags : "+getTagsText(tiddler)+"}}}"+"}}}"'
>>
!end
%/
LVM の試行ログ。勉強用なので導入手順にはなりません。
(削除とかはまた今度。とりあえず作成まで。)

!作業環境
*Sun xVM VirtualBox 上の Ubuntu 8.04
*テスト用にハードディスク(/dev/sdb)を追加

!LVM パーティションの作成
50M の Linux LVM パーティションを作成(/dev/sdb1, /dev/sdb2)
{{{
# fdisk /dev/sdb

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 8e

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 8e

Command (m for help): p

Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd65acdcc

   Device Boot      Start       End      Blocks   Id  System
/dev/sdb1               1         7       56196   8e  Linux LVM
/dev/sdb2               8        14       56227+  8e  Linux LVM
}}}

!PV の作成
PV(Physical Volume)の作成(/dev/sdb1, /dev/sdb2)
{{{
# pvcreate /dev/sdb1
  physical volume "/dev/sdb1" successfully created
# pvcreate /dev/sdb2
  physical volume "/dev/sdb1" successfully created
}}}
{{{
# pvscan
  PV /dev/sdb1         lvm2 [54.88 MB]
  PV /dev/sdb2         lvm2 [54.91 MB]
  Total: 2 [109.79 MB] / in use: 2 [0   ] / in no VG: 2 [109.79 MB]
}}}
{{{
# pvdisplay
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               54.88 MB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               WhvnO5-krix-JFQe-aRVB-K8wy-hBW2-M7qAxE
   
  --- NEW Physical volume ---
  PV Name               /dev/sdb2
  VG Name
  PV Size               54.91 MB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               ffyLHR-fxzw-wwaG-UEnK-39gj-6HSz-vEDJii
}}}

!VG の作成
VG(Volume Group)の作成(test_vg ⇒ PV:/dev/sda1, /dev/sda2 で構成)
{{{
# vgcreate test_vg /dev/sdb1 /dev/sdb2
  Volume group "test_vg" successfully created
}}}
{{{
# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "test_vg" using metadata type lvm2
}}}
{{{
# vgdisplay
  --- Volume group ---
  VG Name               test_vg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               104.00 MB
  PE Size               4.00 MB
  Total PE              26
  Alloc PE / Size       0 / 0   
  Free  PE / Size       26 / 104.00 MB
  VG UUID               XUBw82-x9cy-rcu2-qYkP-30le-w0VX-i1Frib
}}}

!LV の作成
LV(Logical Vulume)の作成(/dev/test_vg/test_lv ⇒ test_vg 内に 10M の LV)
{{{
# lvcreate -n test_lv -L 10m test_vg
  Rounding up size to full physical extent 12.00 MB
  Logical volume "test_lv" created
}}}
{{{
# lvdisplay
  --- Logical volume ---
  LV Name                /dev/test_vg/test_lv
  VG Name                test_vg
  LV UUID                HxY2v4-sIBB-E3ax-Rrms-Db2P-9bbl-s5F4vx
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                12.00 MB
  Current LE             3
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           254:0
}}}

!ファイルシステムの作成
ファイルシステムの作成(ext2)
{{{
# mke2fs /dev/test_vg/test_lv
mke2fs 1.40.8 (13-Mar-2008)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
3072 inodes, 12288 blocks
614 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=12582912
2 block groups
8192 blocks per group, 8192 fragments per group
1536 inodes per group
Superblock backups stored on blocks: 
	8193
 
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
}}}

!マウント
マウント(/mnt/test)
{{{
# mkdir /mnt/test
# mount -t ext2 /dev/test_vg/test_lv /mnt/test
# mount
/dev/mapper/test_vg-test_lv on /mnt/test type ext2 (rw)
}}}
{{{
# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/test_vg-test_lv
                       12M  108K   11M   1% /mnt/test
}}}

!LV の拡張
LV の拡張(10MB 増分)
{{{
# umount /mnt/test
}}}
{{{
# lvextend -L +10m /dev/test_vg/test_lv
  Rounding up size to full physical extent 12.00 MB
  Extending logical volume test_lv to 24.00 MB
  Logical volume test_lv successfully resized
}}}
{{{
# lvdisplay /dev/test_vg/test_lv
  --- Logical volume ---
  LV Name                /dev/test_vg/test_lv
  VG Name                test_vg
  LV UUID                HxY2v4-sIBB-E3ax-Rrms-Db2P-9bbl-s5F4vx
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                24.00 MB
  Current LE             6
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           254:0
}}}

!VG の拡張
VG の拡張(/dev/sdb3 を追加)
{{{
# vgextend test_vg /dev/sdb3
  Volume group "test_vg" successfully extended
}}}
{{{
# vgdisplay test_vg
  --- Volume group ---
  VG Name               test_vg
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               156.00 MB
  PE Size               4.00 MB
  Total PE              39
  Alloc PE / Size       6 / 24.00 MB
  Free  PE / Size       33 / 132.00 MB
  VG UUID               XUBw82-x9cy-rcu2-qYkP-30le-w0VX-i1Frib
}}}
|URL|http://tw.lewcid.org/|
http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20100414/20100414143803.gif
|URL|http://sweetlovexx.seesaa.net/|
|URL|http://mptw.tiddlyspot.com/|
{{n{}}}{{m{{{o{}}}}}}{{m{<<tiddler FontResizer>>}}}{{m{<<tiddler ToggleRightSidebar>>}}}
<script>
var onClick = function(e){ jQuery("#openTiddlers").slideToggle(); };
createTiddlyButton(jQuery(".n",place).get(0),"Opened","List of displayed tiddler",onClick,"button openTiddlersCount");
createTiddlyButton(jQuery(".o",place).get(0),"Tags","Tag Browser",function(){ story.displayTiddler(null,"TAGS"); });
jQuery(".m",place).css({"border-left":"1px solid #ccc","padding-left":"0.4em","margin-left":"0.4em"});
</script>
<!--{{{-->
<script type="text/javascript">
//<![CDATA[
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
try {
var pageTracker = _gat._getTracker("UA-3101026-7");
pageTracker._trackPageview();
} catch(err) {}
//]]>
</script>
<!--}}}-->
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='http://feeds.feedburner.com/rc-2' />
<!--}}}-->
<!--{{{-->
<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 280px; margin: 150px auto; padding: 30px; color:#000; font-size: 16px; font-family:Tahoma; background-color:#eee;"><div style="font-weight:bold;">RELEASE CANDIDATE 2</div><div>is loading <img src="http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20090701/20090701223909.gif" /></div><br /><span style="font-size:12px;font-weight:bold;color:#baa07b;">Requires Javascript.<!--<br />Only works on Firefox, Google Chrome, Safari or IE 8--></span></div>
<!--}}}-->
|URL|http://bizcaz.com/|
/***
|Name|NavigationMacro|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#NavigationMacro|
|Version|0.3 |
|Requires|~TW2.08+|

!Description:
*Creates Next and Prev buttons on tiddlers, to cycle through tiddlers in order.
**you can create next and previous buttons to navigate through your journals, or the tiddlers of a tutorial.
*You can exclude certain tiddlers, or navigate through tiddlers with a specific tag only.
*The tiddlers can be sorted by modified or created.
*Custom ordering will be available after the release of TW 2.1
*Needs to be added to the ViewTemplate
*Buttons are updated dynamically and are hidden if there is no next or previous tiddler.

!Usage
{{{<<navigation>>}}}
or for more options:
{{{<<navigation sort exclude tag labelPrevious labelNext >>}}}
where sort is ''created'' (default) or ''modified''
exlcude is the tag to exclude.
tag is the tag to navigate through.
labelPrevious is the label for the previous button.
labelNext is the label for the next button. 

I recommend adding it to the ViewTemplate in the viewer div:
{{{<div class='viewer'>
<span macro='view text wikified'></span>
<span macro='navigation "" "" plugin'></span></div>}}}

!Example:
The next and previous buttons at the bottom of this tiddler will cycle through all of my extensions for TW.

!History
* 28-05-08 : customize by rc2
* 25-06-06 : version 0.3, first release

!Code
***/
//{{{
window.refreshNavLink = function (e) {
             var title = e.getAttribute("here");
             var sort = e.getAttribute("sort");
             var exclude =  e.getAttribute("exclude");
             if (e.getAttribute("tag")!=undefined) var tag = e.getAttribute("tag");
             var navtype = e.getAttribute("navtype");
              if (tag) {var tiddlers = store.getTaggedTiddlers(tag,sort);}
              else {var tiddlers = store.getTiddlers(sort,exclude);}
              for (var g=0; g<tiddlers.length; g++)
                  {if (title==tiddlers[g].title)
                       {if(navtype=="next" && !tiddlers[g+1])                             
                             e.className += " navNonExisting"
                        else if (navtype=="prev" && !tiddlers[g-1])
                             e.className += " navNonExisting"
                        else e.className = "button";}
                  }
}


config.refreshers.navLink = function(e,changeList){         
             refreshNavLink(e);
} 



config.macros.navigation={};
config.macros.navigation.handler = function(place,macroName,params,wikifier,paramString,tiddler){

          var sort = (params[0] && params[0]!=".")? params[0]: "created";
          var exclude =(params[1] && params[1]!=".")? params[1]: undefined;
          if (params[2])
                {var tag= params[2];
                 if(tiddler.tags.contains(tag)==false)
                 return false;
                }
          var labelPrev = params[3] ? params[3] : "Previous";
          var labelNext = params[4] ? params[4] : "Next";

          var next = function(e){
              if (!e) var e=window.event;
              var theTarget = resolveTarget(e);
              var navtype = theTarget.getAttribute("navtype");
              if (tag) {var tiddlers = store.getTaggedTiddlers(tag,sort);}
              else {var tiddlers = store.getTiddlers(sort,exclude);}
              for (var g=0; g<tiddlers.length; g++)
                  {if (tiddler.title==tiddlers[g].title)
                        {if (navtype == "next")
                            story.displayTiddler(theTarget,tiddlers[g+1].title)
                        else if (navtype == "prev")
                            story.displayTiddler(theTarget,tiddlers[g-1].title)}
                  }
              }

     var createNavBtn = function(text,theId,mode){
         var nextBtn = createTiddlyButton(place,text,text,next,null,theId);
         nextBtn.setAttribute("refresh","navLink");
         nextBtn.setAttribute("here",tiddler.title);
         nextBtn.setAttribute("sort",sort);
         nextBtn.setAttribute("exclude",exclude);
         nextBtn.setAttribute("navtype",mode);
         if (tag) nextBtn.setAttribute("tag",tag);
         refreshNavLink(nextBtn);
         }
    createNavBtn("« "+labelPrev,"NavPrevious","prev");
    createNavBtn(labelNext+" »","NavNext","next");

}

setStylesheet(
".navNonExisting {display:none;}\n"+
 "",
"NavMacroStyles");
//}}}
|URL|http://one.typewriter.jp/blog/|
/***
|Name|OpenTopPlugin|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#OpenTopPlugin|
|Version|0.1|
|Requires|~TW2.x|

!Description:
Open new tiddlers at the top of the screen.

!Code
***/
//{{{
Story.prototype.coreLewcidDisplayTiddler=Story.prototype.displayTiddler ;
Story.prototype.displayTiddler =
function(srcElement,title,template,unused1,unused2,animate,slowly)
{
       var srcElement=null;
       if (document.getElementById(this.idPrefix + title))
          {story.closeTiddler(title);}
       this.coreLewcidDisplayTiddler(srcElement,title,template,unused1,unused2,animate,slowly);
       window.scrollTo(0,0);
}
//}}}
以前から Opera だけ解決できない表示の不具合があります。致命的ではないので放置していたのですが、TechCrunch のある記事の中で「閲覧時に不具合を生じるページもない」と言う文言があり思い出しました。解決方法があればご教示ください。

<<<
[[Opera 10、リリース 1 週間で 1000 万ダウンロードを達成|http://jp.techcrunch.com/archives/20090908opera-10-downloaded-10-million-times-in-its-first-week/]]
Opera 10 はおそろしく速い。体感した速度は Google Chrome に匹敵する。また、速いだけではなく、閲覧時に不具合を生じるページもない。(抜粋引用 : TechCrunch)
<<<

!padding があるインライン要素の word-break
このサイトの [[TAGS]] ページを Opera で見て頂くのが早いのですが、以下のような構造を持つ場合、改行時に padding 部分の扱いに差異があるようです。どちらが正しいのかは分かりません。が、Opera だけとなると。。否、Opera のレンダリングは何時も好成績な気も。。

!!構造(イメージ)
{{{
<div>
 <span style="padding:10px;">aaaaaaaaaa</span>
 <span style="padding:10px;">aaaaaaaaaa</span>
 <span style="padding:10px;">aaaaaaaaaa</span>
   :
</div>
}}}

!!Opera 以外での表示
<html>
<div style="float:left;">
<div style="margin-right:10px;padding:5px 7px;border:1px solid #b9b9b9;line-height:2.3;">
<span style="background:#BBB;color:#FFF;padding:2px 10px;">aaaaaaaaaa</span>
<span style="background:#BBB;color:#FFF;padding:2px 10px;">aaaaaaaaaa</span>
<span style="padding:2px 2px;">&nbsp;</span><br />
<span style="background:#BBB;color:#FFF;padding:2px 10px;">aaaaaaaaaa</span>
</div>
</div>
<div style="margin-left:5px;">padding 部分も含めて正しく改行される。</div>
</html>
<html><br style="clear:both;" /></html>
!!Opera での表示
<html>
<div style="float:left;">
<div style="margin-right:10px;padding:5px 7px;border:1px solid #b9b9b9;line-height:2.3;">
<span style="background:#BBB;color:#FFF;padding:2px 10px;">aaaaaaaaaa</span>
<span style="background:#BBB;color:#FFF;padding:2px 10px;">aaaaaaaaaa</span>
<span style="background:#BBB;color:#FFF;padding:2px 2px;">&nbsp;</span><br />
<span style="background:#BBB;color:#FFF;padding:2px 10px 2px 0px;">aaaaaaaaaa</span>
</div>
</div>
</html>padding 部分が取り残されてしまう。
<html><br style="clear:both;" /></html>
!追記
やっぱり気持が悪いので、素直にブロック要素にして float させました。
/***
|Overrides|config.macros.search.handler|

!Description
*Override core {{{<<search>>}}} macro.
*サイト用カスタマイズ。HIJACK ではなく置き換えなので Upgrade 時には要確認。
*Webkit 系では input の type 属性が search に設定されるが、本サイトでは不都合なため text に変更。

!Code
***/
//{{{
config.macros.search.handler = function(place,macroName,params)
{
	var searchTimeout = null;
	var btn = createTiddlyButton(place,this.label,this.prompt,this.onClick,"searchButton");
	var txt = createTiddlyElement(null,"input",null,"txtOptionInput searchField");
	if(params[0])
		txt.value = params[0];
	txt.setAttribute("type","text");
	place.appendChild(txt);
	txt.onkeyup = this.onKeyPress;
	txt.onfocus = this.onFocus;
	txt.setAttribute("size",this.sizeTextbox);
	txt.setAttribute("accessKey",params[1] || this.accessKey);
	txt.setAttribute("autocomplete","off");
	txt.setAttribute("lastSearchText","");
};
//}}}
/***
|Overrides|tiddlerToRssItem|

!Description
*description を先頭 1 行のみ出力。

!Code
***/
//{{{
tiddlerToRssItem = function(tiddler,uri)
{
	var s = "<title" + ">" + tiddler.title.htmlEncode() + "</title" + ">\n";
	var m = tiddler.text.match(/\s*(.*)/);
	m = m != null && m.length >= 1 ? m[1] : "";
	s += "<description>" + wikifyStatic(m,null,tiddler).htmlEncode() + "</description>\n";
	for(var i=0; i<tiddler.tags.length; i++)
		s += "<category>" + tiddler.tags[i] + "</category>\n";
	s += "<link>" + uri + "#" + encodeURIComponent(String.encodeTiddlyLink(tiddler.title)) + "</link>\n";
	s +="<pubDate>" + tiddler.modified.toGMTString() + "</pubDate>\n";
	return s;
};
//}}}
<!--{{{-->
<div class='header' macro='gradient vert #FFFFFF #FFFFFF'>
<div class='headerForeground'>
<span class='searchBar' refresh='content' tiddler='SearchBar'></span>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='openTiddlers'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
<div id='jumpTopButton'>
<a href="javascript:window.scrollTo(0,0)" title="scroll to top of page">&#x25b2;TOP</a>
</div>
</div>
<!--}}}-->
|URL|http://www.tt.em-net.ne.jp/~y_harada/|
pictogram for Summary View
|Default|http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20090630/20090630093239.png|
|GAKI|http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20090616/20090616115016.png|
|BLOG|http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20090616/20090616115017.png|
|Link|http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20090710/20090710112316.png|
|systemConfig|http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20090715/20090715152410.png|
|URL|http://bob.mcelrath.org/syntaxify.html|
PukiWiki Plus! 1.4.7 plus-u2-i18n 導入メモ(Plugin)

導入したプラグインと標準添付のプラグインの変更メモです。

!導入プラグイン
!![[Sonots' PukiWiki プラグイン|http://lsx.sourceforge.jp/?FrontPage]]
*以前にもお世話になっていたプラグイン群です。有用なプラグインが充実しています。{{m{
|!lsx.inc.php|ページをリストアップするプラグイン ls.inc.php の拡張。|v 1.17 2007-06-16 11:14:46|
|!contentsx.inc.php|ページの目次を作成する #contents のプラグイン化。|v 1.11 2007-08-03 07:23:17|
|!includex.inc.php|ページを取り込むプラグイン include の拡張。|v 1.5 2007-06-05 07:23:17|
|!polularx.inc.php|lsx を使用した popular プラグイン拡張。|v 1.2 2007-06-05 07:23:17|
|!html.inc.php|HTML を直接記述。|v 2.2 2007-03-20 23:44:19|
|!wikinote.inc.php|Wikipedia のノート風プラグイン。|v 1.10 2008-01-05 16:28:39|
|!tag.inc.php|タグプラグイン。|v 1.28 2008-01-04 07:23:17|
|!tagcloud.inc.php|タグクラウドプラグイン。|v 1.0 2008-01-04 07:23:17|
|!taglist.inc.php|タグ付きページのリスティング。|v 1.0 2008-01-04 07:23:17|
}}}

!変更箇所
!!lsx.inc.php
*ヘッダにタグ名を表示したかったので追加。アクション型のみ変更。{{m{
{{{
  if ($this->options['tag'][1] != '') {
      $msg = htmlspecialchars($this->options['tag'][1]);
+     $body = '<h2>TAG : ' . $msg . '</h2>' . $body;
  } elseif ($this->options['prefix'][1] != '') {
}}}
}}}
!!tag.inc.php
*タグリストの呼び出しを lsx に変更。date, new オプションも追加。{{m{
{{{
- ... get_script_uri() . '?cmd=taglist&amp;tag=';
+ ... get_script_uri() . '?cmd=lsx&amp;date=true&amp;new=true&amp;tag=';
}}}
}}}
!!wikinote.inc.php
*prefix を "Comment" に変更。{{m{
{{{
- $default_options['prefix']       = 'Note/';
+ $default_options['prefix']       = 'Comment/';
}}}
}}}
*pukiwiki.ini.php の設定。{{m{
{{{
- $non_list = '^\:';
+ $non_list = '^:|(^|\/)template$|^Comment\/';
}}}
{{{
  $auto_template_rules = array(
        '((.+)\/([^\/]+))' => '\2/template',
+       '(([^\/]+)\/(.+))' => '\2/template',
+       '(()(.*))'         => 'template',
}}}
}}}
!!polularx.inc.php
*date, new オプション(lsx)の有効化。{{m{
{{{
+ $date = $metapage['info_date'];
+ $new  = $metapage['info_new'];
  $s_page = htmlspecialchars($page);
  if ($page == $vars['page']) {
      :
  } else {
      $items .= ' <li>' . make_pagelink($page,
      $s_page . '<span class="counter">(' . $count . ')</span>') . 
+     '&nbsp;' . '<span class="lsx_info">' . $date . $new . '</span>' . 
      '</li>' . "\n";
}}}
}}}
*ヘッダ文字列の変更。{{m{
{{{
- $_popularx_plugin_frame             = sprintf('<h5>%s</h5><div>%%s</div>', ...
- $_popularx_plugin_today_frame       = sprintf('<h5>%s</h5><div>%%s</div>', ...
- $_popularx_plugin_yesterday_frame   = sprintf('<h5>%s</h5><div>%%s</div>', ...
- $_popularx_plugin_recent_frame      = sprintf('<h5>%s</h5><div>%%s</div>', ...
+ $_popularx_plugin_frame             = sprintf('<h2>%s</h2><div>%%s</div>', ...
+ $_popularx_plugin_today_frame       = sprintf('<h2>%s</h2><div>%%s</div>', ...
+ $_popularx_plugin_yesterday_frame   = sprintf('<h2>%s</h2><div>%%s</div>', ...
+ $_popularx_plugin_recent_frame      = sprintf('<h2>%s</h2><div>%%s</div>', ...
}}}
}}}
!!ref.inc.php
*img タグにクラス名を追加。388 行目。インライン利用時にスタイルを指定出来るように。{{m{
{{{
- ... '" title="' . $title . '" ' . $info . '/>';
+ ... '" title="' . $title . '" ' . 'class="img_margin" ' . $info . '/>';
}}}
}}}
!!topicpath.inc.php
*デフォルトページを "HOME" に変更。(メニューバーがホームなので同期。){{m{
{{{
// Label for $defaultpage
- ... or define('PLUGIN_TOPICPATH_TOP_LABEL', 'Top');
+ ... or define('PLUGIN_TOPICPATH_TOP_LABEL', 'HOME');
}}}
}}}
*セパレータを "/" に変更。{{m{
{{{
- ... or define('PLUGIN_TOPICPATH_TOP_SEPARATOR', ' &gt; ');
+ ... or define('PLUGIN_TOPICPATH_TOP_SEPARATOR', ' / ');
}}}
}}}
*デフォルトページがトピックパスに表示されるように変更。{{m{
{{{
- if ($page == '' || $page == $defaultpage) return '';
+ if ($page == '') return '';
}}}
}}}
!!tb.inc.php
*フッダを翻訳されたくなかったので変更。(翻訳ファイルを修正するべき??){{m{
{{{
- $_tb_header_Weblog  = _('Blog:');
- $_tb_header_Tracked = _('Date:');
+ $_tb_header_Weblog  = _('Blog : ');
+ $_tb_header_Tracked = _('Date : ');
}}}
}}}
*フッダのアイコンを削除。"&raquo;" に変更。{{m{
{{{
  '<a href="' . $script . '?plugin=tb&amp;__mode=view">' .
- '<img src="'.IMAGE_URI.'plus/trackback.png" alt="" title="" />' .
+ '&raquo; ' .
  'Trackback List' . 
  '</a>'. "</div>\n";
}}}
}}}
!!showrss.inc.php
*日付ヘッダの変更。{{m{
{{{
   function format_list($date, $str) {
-      return '<strong>' . $date . '</strong>' . "\n" .
+      return '<h2>' . $date . '</h2>' . "\n" .
}}}
}}}
!!referer.inc.php
*テーブルの表示微調整。
PukiWiki Plus! 1.4.7 plus-u2-i18n 導入メモ(Skin)

スキンは pukiwiki.skin.php(CSS:pukiwiki.css.php)をベースに作成しましたが、デフォルトスキン(default.skin.php, default.css)をベースにした方が良いかも知れません。理由は「[[Plus 用のプラグイン|http://pukiwiki.cafelounge.net/plus/?Plugin]]」が前者には取り込まれていないためです。(navibar2, toolbar 等)CSS の定義も同様です。skin の方はあまり影響はないと思いますが、css の方はプラグイン利用時に表示が正しく行われない可能性があります。私の場合は今のところ Plus 用のプラグインは利用していないのでこのままで行こうと思います。必要になったら取り込む方向で。

!xxx.skin.php
!!table 段組の CSS 化
*とりあえず面倒なので後回しに。そのうち。。
!!タイトル <title> の修正
*pukiwiki.skin.php では、トップページのタイトルに "Frontpage" が表示されてしまいます(「Frontpage - xxx」)。デフォルトスキンでは対応済みのようなので対応箇所を取り込みました。{{m{
{{{
<?php if ($title == $defaultpage) { ?>
 <title><?php echo "$page_title" ?></title>
<?php } elseif ($newtitle != '' && $is_read) { ?>
 <title><?php echo "$newtitle - $page_title" ?></title>
<?php } else { ?>
 <title><?php echo "$title - $page_title" ?></title>
<?php } ?>
}}}
}}}
!!javascript の取り込み
*現状は利用していないものもありそうですが、とりあえず取り込みました。kanzaki.js は何故かエラーが出るので外しました。ポップアップ TOC 用のライブラリらしいので不要のため問題なさそうです。{{m{
{{{
 <script type="text/javascript">
 <!--
<?php if (exist_plugin_convert('js_init')) ...
 // -->
 </script>
 ... src="<?php echo SKIN_URI.'lang/'.$language ?>.js"></script>
 ... src="<?php echo SKIN_URI ?>default.js"></script>
 ... src="<?php echo SKIN_URI ?>ajax/textloader.js"></script>
 ... src="<?php echo SKIN_URI ?>ajax/glossary.js"></script>
<?php if (! $use_local_time) { ?>
 ... src="<?php echo SKIN_URI ?>tzCalculation_LocalTimeZone.js"></script>
<?php } ?>
 ... src="<?php echo SKIN_URI ?>greybox/AmiJS.js"></script>
 ... src="<?php echo SKIN_URI ?>greybox/greybox.js"></script>
}}}
}}}
!!navibar/navibar2.inc.php
*表示の微調整を行いたかったので、プラグインは使わずそのまま利用。
!!referer.inc.php
*リンク元の件数表示。詳細は「[[PukiWiki-カスタマイズ-スキン - JO1UPK|http://jo1upk.blogdns.net/saito/?PukiWiki%2F%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%2F%E3%82%B9%E3%82%AD%E3%83%B3]]」{{m{
{{{
... '(' . tb_count($_page,'.ref') . ')' ...
}}}
}}}
!!wikinote.inc.php
*wikinote プラグインの取り込み。詳細は「[[Plugin-wikinote.inc.php - Sonots' PukiWiki プラグイン|http://lsx.sourceforge.jp/?Plugin%2Fwikinote.inc.php]]」
!!toolbar.inc.php
*ツールバー(アイコン)の実装を toolbar.inc.php に変更。{{m{
{{{
<?php if (PKWK_SKIN_SHOW_TOOLBAR) { ?>
<!-- Toolbar -->
<?php if (exist_plugin('toolbar')) {
 echo do_plugin_convert('toolbar','reload,|,new,newsub,edit,freeze,diff, ...
} ?>
<?php } // PKWK_SKIN_SHOW_TOOLBAR ?>
}}}
}}}

!xxx.css.php
*CSS は適当に。。汚くなったので後で要整理。
PukiWiki Plus! 1.4.7 plus-u2-i18n 導入メモ(初期設定)

国際化版(1.4.7 plus-u2-i18n rev1494)を導入してみました。以下、導入メモです。なお、内容は編集時にログイン認証を必要とするクローズドな Wiki を想定したものです。あくまでも自分用メモですので参考まで。サーバへの配置方法やその他詳細については公式サイトの「[[インストール|http://pukiwiki.cafelounge.net/plus/?Documents%2FInstall]]」の項を参照してください。

!pukiwiki.ini.php
*サイト名の指定{{m{
{{{
- $page_title = 'PukiWiki Plus!';
+ $page_title = 'Release Candidate 2';
}}}
}}}
*管理者名と URL の指定{{m{
{{{
- $modifier = 'anonymous';
+ $modifier = 'rc-2';
}}}
{{{
- $modifierlink = 'http://pukiwiki.example.com/';
+ $modifierlink = 'http://rc-2.net/home/';
}}}
}}}
*トラックバックの指定(0:使用しない, 1:受信のみ, 2:送受信)<br>i18n 版では "trackback = 2" がデフォルトになっています。送受信にすると本文中に貼られたURLへ自動的にトラックバックが送信されてしまいます。以前、これでエライ目にあいました。今回は受信のみとします。{{m{
{{{
- $trackback = 2;
+ $trackback = 1;
}}}
}}}
*AutoLink の無効化{{m{
{{{
- $autolink = 5; // Bytes, 0 = OFF (try 8)
+ $autolink = 0; // Bytes, 0 = OFF (try 8)
}}}
}}}
*外部リンクアイコンの無効化<br>ユーザビリティ的には改悪ですが、行間(ベースライン??)がずれて表示が崩れるため無効に。{{m{
{{{
/////////////////////////////////////////////////
// ページを任意のフレームに開く時に使う設定
- $use_open_uri_in_new_window  = 1;
+ $use_open_uri_in_new_window  = 0;
}}}
}}}

!default.ini.php
*スキンの指定<br>デフォルトから手を加えたので別ファイルにして指定。{{m{
{{{
- define('SKIN_FILE_DEFAULT', SKIN_DIR . 'default.skin.php');
+ define('SKIN_FILE_DEFAULT', SKIN_DIR . 'rc2.skin.php');
}}}
}}}
*メニューバー/サイドバーの表示方法の指定<br>「[[i18n Revision:950 で新設|http://pukiwiki.cafelounge.net/plus/?%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%2F2006-04-23&word=always_menu_displayed]]」されたようですが、デフォルトスキン(default.skin.php)にのみ適用されるようですね。私はpukiwiki.skin.phpをベースにしたので機能しませんでした。(直接スキン側で「[[対処|http://pukiwiki.sourceforge.jp/dev/?PukiWiki%2F1.4%2F%A4%C1%A4%E7%A4%C3%A4%C8%CA%D8%CD%F8%A4%CB%2F%CA%D4%BD%B8%A4%E4%B8%A1%BA%F7%A5%DA%A1%BC%A5%B8%A4%C7%A4%E2%BE%EF%A4%CBMenubar%A4%F2%C9%BD%BC%A8%A4%B9%A4%EB]]」しました。){{m{
{{{
- $always_menu_displayed = 0; // 表示しない
+ $always_menu_displayed = 1; // 表示する
}}}
}}}

!auth.ini.php(i18n 版では pukiwiki.ini.php から分離)
*サイト管理者のパスワードの指定(凍結/解除用)<br>(下記はデフォルトのパスワードの例です。適宜変更してください。){{m{
{{{
/////////////////////////////////////////////////
// Admin password for this Wikisite

// CHANGE THIS
$adminpass = '{x-php-md5}1a1dc91c907325c69271ddf0c944bc72'; // md5('pass')
}}}
}}}
*編集時の認証を有効{{m{
{{{
- $edit_auth = 0; //無効
+ $edit_auth = 1; //有効
}}}
}}}
*対象となるページの指定{{m{
{{{
  $edit_auth_pages = array(
+ '/^.*$/' => 'root', // 全ページを対象
}}}
}}}

!auth_users.ini.php(i18n 版では pukiwiki.ini.php から分離)
*ユーザの追加/認証パスワードの指定("サイト管理者:2" として指定)<br>(下記はデフォルトのパスワードの例です。適宜変更してください。){{m{
{{{
  $auth_users = array(
+ 'root' => array('{x-php-md5}1a1dc91c907325c69271ddf0c944bc72',2),
}}}
}}}

!password の生成方法
*PukiWiki のプラグインを利用。"?plugin=md5" または "?plugin=passwd&adminpass" で生成。
*セキュリティ関連の知識には乏しいので、詳細は公式サイトの「[[Digest 認証|http://pukiwiki.cafelounge.net/plus/?Documents%2FHow%20to%20use%20Digest%20Authentication]]」の項を参照してください。。
|URL|http://pukiwiki.cafelounge.net/plus/|
一般的な BLOG とは少々挙動が異なるので自分用にメモです。対象は PukiWiki Plus! 1.4.7 plus-u2-i18n rev1494 です。PukiWiki や他の revision では、微妙に差異があるかもしれません。なお、PukiWiki ではライセンス上の問題で現在は TrackBack 機能は利用できない(受信のみ??)ようです。詳しくは以下の記事等を参考に。

*[[PukiWiki 1.4 の trackback プラグインにライセンス違反|http://slashdot.jp/developers/article.pl?sid=06/10/23/0026258]] (Slashdot Japan)
*[[PukiWiki-announce 89 - 重要な告知: 無許諾のまま配布物に含まれていた著作物を含む...|http://lists.sourceforge.jp/mailman/archives/pukiwiki-announce/2006-October/000087.html]] 
*[[PukiWiki-dev - BugTrack2/62 skin/trackback.js の削除について|http://pukiwiki.sourceforge.jp/dev/?BugTrack2/62#sbd37279]]
*[[トラックバック/質問 - エラー対処方法|http://pukiwiki.sourceforge.jp/?%E3%83%88%E3%83%A9%E3%83%83%E3%82%AF%E3%83%90%E3%83%83%E3%82%AF%2F%E8%B3%AA%E5%95%8F#q9b3f522]]

!TrackBack の設定
*pukiwiki.ini.php で指定します。{{m{
|!0|>|トラックバック機能 OFF|
|!1|受信のみ(自動送信機能の抑止)|rev452 より追加/変更<br>([[PukiWiki Plus - 開発日記/2005-05-21|http://pukiwiki.cafelounge.net/plus/?%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%2F2005-05-21]])|
|!2|送受信(従来の 1 に相当)|~|
}}}

!TrackBack の送信
*TrackBack の送信方法<br>TrackBack を送信したい URL をページ内に書き込みむことで、PukiWiki が自動的に TrackBack URL を調べて送信します。なお、TrackBack Ping URL ではなく単純に送信先の URL を書きます。
**[[PukiWiki - トラックバック|http://pukiwiki.sourceforge.jp/?cmd=read&page=%E3%83%88%E3%83%A9%E3%83%83%E3%82%AF%E3%83%90%E3%83%83%E3%82%AF&word=%E3%83%88%E3%83%A9%E3%83%83%E3%82%AF%E3%83%90%E3%83%83%E3%82%AF]]
**[[PukiWiki - トラックバック/質問|http://pukiwiki.sourceforge.jp/?cmd=read&page=%E3%83%88%E3%83%A9%E3%83%83%E3%82%AF%E3%83%90%E3%83%83%E3%82%AF%2F%E8%B3%AA%E5%95%8F&word=%E3%83%88%E3%83%A9%E3%83%83%E3%82%AF%E3%83%90%E3%83%83%E3%82%AF]]
*TrackBack 改善についての議論(送信時の問題や手動送信等)
**[[PukiWiki-dev - BugTrack/759|http://pukiwiki.sourceforge.jp/dev/?BugTrack%2F759]]
*TrackBack Ping 送信時に showrss などのプラグインを無効化<br>showrss のページから TrackBack Ping が飛びまくり SPAM 状態を経験した方は多いようです。rev940 からは showrss 等のプラグイン利用時には Trackback Ping の自動送信は抑止されるように仕様変更されています。
**[[PukiWiki Plus - 開発日記/2006-03-25|http://pukiwiki.cafelounge.net/plus/?%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%2F2006-03-25]]
**[[PukiWiki Plus - 過去のリリース - 1.4.6-i18n|http://pukiwiki.cafelounge.net/plus/?Download%2FObsolete#k6a11b90]]

!TrackBack の受信
*TrackBack 仕様変更<br>rev1428 からは言及リンクの無い TrackBack は受信(保存)されないように変更になっています。テストをしていて何度 TrackBack しても受信できないと思ったら仕様が変更されていました。開発日誌にもあるように、TrackBack 自体の目的および趣旨にも反しますし、また SPAM 防止にも効果がありそうですね。
**[[PukiWiki Plus - 開発日記/2007-02-19|http://pukiwiki.cafelounge.net/plus/?%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%2F2007-02-19]]

!TrackBack の参照
*TrackBack されているページの一覧{{m{
>?plugin=tb&_mode=view
}}}
*TrackBack の一覧(ページ){{m{
>?plugin=tb&tb_id=TrackBackID&_mode=view
}}}
*Recent TrackBack{{m{
>#tb(recent[,件数])
}}}
|URL|http://pukiwiki.sourceforge.jp/dev/|
|URL|http://pukiwiki.sourceforge.jp/|
/***
|Name|QuickOpenTagPlugin|
|Description|Changes tag links to make it easier to open tags as tiddlers|
|Version|3.0.1 ($Rev: 3861 $)|
|Date|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source|http://mptw.tiddlyspot.com/#QuickOpenTagPlugin|
|Author|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
config.quickOpenTag = {

	dropdownChar: (document.all ? "\u00bb" : "\u25be"), // the little one doesn't work in IE?

	createTagButton: function(place,tag,excludeTiddler) {
		// little hack so we can do this: <<tag PrettyTagName|RealTagName>>
		var splitTag = tag.split("|");
		var pretty = tag;
		if (splitTag.length == 2) {
			tag = splitTag[1];
			pretty = splitTag[0];
		}
		
		var sp = createTiddlyElement(place,"span",null,"quickopentag");
		createTiddlyText(createTiddlyLink(sp,tag,false),pretty);
		
		var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,
                        config.views.wikified.tag.tooltip.format([tag]),onClickTag);
		theTag.setAttribute("tag",tag);
		if (excludeTiddler)
			theTag.setAttribute("tiddler",excludeTiddler);
    		return(theTag);
	},

	miniTagHandler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var tagged = store.getTaggedTiddlers(tiddler.title);
		if (tagged.length > 0) {
			var theTag = createTiddlyButton(place,config.quickOpenTag.dropdownChar,
                        	config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);
			theTag.setAttribute("tag",tiddler.title);
			theTag.className = "miniTag";
		}
	},

	allTagsHandler: function(place,macroName,params) {
		var tags = store.getTags(params[0]);
		var filter = params[1]; // new feature
		var sp = createTiddlyElement(place,"span",null,"quickopentag");
		var ul = createTiddlyElement(sp,"ul");
		if(tags.length == 0)
			createTiddlyElement(ul,"li",null,"listTitle",this.noTags);
		for(var t=0; t<tags.length; t++) {
			var title = tags[t][0];
			if (!filter || (title.match(new RegExp('^'+filter)))) {
				var info = getTiddlyLinkInfo(title);
				var theListItem =createTiddlyElement(ul,"li");
				var theLink = createTiddlyLink(theListItem,tags[t][0],true);
				var theCount = " (" + tags[t][1] + ")";
				theLink.appendChild(document.createTextNode(theCount));
				var theDropDownBtn = createTiddlyButton(theListItem,
					config.quickOpenTag.dropdownChar,this.tooltip.format([tags[t][0]]),onClickTag);
				theDropDownBtn.setAttribute("tag",tags[t][0]);
			}
		}
	},

	// todo fix these up a bit
	styles: [
"/*{{{*/",
"/* created by QuickOpenTagPlugin */",
".tagglyTagged .quickopentag, .tagged .quickopentag ",
"	{ margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }",
".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }",
".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}",
"/* extra specificity to make it work right */",
"#displayArea .viewer .quickopentag a.button, ",
"#displayArea .viewer .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink ",
"	{ border:0px solid black; }",
"#displayArea .viewer .quickopentag a.button, ",
"#mainMenu .quickopentag a.button ",
"	{ margin-left:0px; padding-left:2px; }",
"#displayArea .viewer .quickopentag a.tiddlyLink, ",
"#mainMenu .quickopentag a.tiddlyLink ",
"	{ margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }",
"a.miniTag {font-size:150%;} ",
"#mainMenu .quickopentag a.button ",
"	/* looks better in right justified main menus */",
"	{ margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }", 
"#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }",
"#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }",
"#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }",
"/*}}}*/",
		""].join("\n"),

	init: function() {
		// we fully replace these builtins. can't hijack them easily
		window.createTagButton = this.createTagButton;
		config.macros.allTags.handler = this.allTagsHandler;
		config.macros.miniTag = { handler: this.miniTagHandler };
		config.shadowTiddlers["QuickOpenTagStyles"] = this.styles;
		store.addNotification("QuickOpenTagStyles",refreshStyles);
	}
}

config.quickOpenTag.init();

//}}}

/*{{{*/
/* created by QuickOpenTagPlugin */
.tagglyTagged .quickopentag, .tagged .quickopentag{margin-right:1.2em;border:1px solid #f5f5f5;padding:2px; padding-right:0px; padding-left:1px;}
.quickopentag .tiddlyLink{padding:2px;padding-left:3px;}
.quickopentag .tiddlyLinkNonExisting{font-style:normal;}
.quickopentag a.button{font-family:"trebuchet ms",arial,helvetica;margin-left:2px;padding:1px 3px !important;}

/* extra specificity to make it work right */
#displayArea .viewer .quickopentag a.tiddyLink,
#mainMenu .quickopentag a.tiddyLink{border:0px solid black;}
#displayArea .viewer .quickopentag a.tiddlyLink,
#mainMenu .quickopentag a.tiddlyLink{margin-right:2px;padding-right:0px;padding-left:0px;margin-left:0px;}
a.miniTag{font-size:150%;}
#topMenu .quickopentag{padding:0;margin:0;border:0;}
#topMenu .quickopentag .tiddlyLink{padding-right:1px;margin-right:0;}
#topMenu .quickopentag .button{padding-left:1px;margin-left:0;border:0;}
#openTiddlers .quickopentag{margin:0 -3px;}
#openTiddlers .quickopentag a.button{border:1px solid [[ColorPalette::TertiaryPale]];}
/*}}}*/
<<tiddler SimpleRSSReader with: "http://feeds.builder.japan.zdnet.com/builder/ria-ajax">>
/***
|Name|RelatedTagMacro|
|Version|0.1|
|Date|2009-06-08|
|Source|http://rc-2.net/home/#RelatedTagMacro|
|Author|rc2|
|Type|Macro|

!Description
関連タグの一覧を表示します。

!Usage
{{{
<<relatedTag tag>>
}}}
特性上、単独で利用するのではなく ViewTemplate の tagging 組み込みマクロに紐付けることを想定しています。レイアウトや挙動にも類似性があるので tagging クラスに割り当てるのが適当(楽)かと思います。
{{{
<div class='tagging' macro='relatedTag'></div>
<div class='tagging' macro='tagging'></div>
}}}

tagging 以外のクラスに定義したい場合は、 タグがない時の挙動として disable になるように isTag クラスを利用して制御します。(tagging クラスに合わせておきます。)
<<<
!!ViewTemplate
{{{
<div class='otherClass' macro='relatedTag'></div>
<div class='tagging' macro='tagging'></div>
}}}
!!CSS
{{{
.otherClass{display:none;}
.isTag .otherClass{display:block;}
}}}
<<<

!Example
{{{
<<relatedTag BLOG>>
}}}
><<relatedTag BLOG>>

!Code
***/
//{{{
version.extensions.relatedTag = {major: 0, minor: 1 , revision: 0, date: new Date(2009,6,8)};

config.macros.relatedTag = {
 label: "Related Tags: '%0'",
 tooltip: "Related tags with '%0'",
 init: function() {
  config.shadowTiddlers.StyleSheetRelatedTag=
   '/*{{{*/\n'
   +'.tagging .relatedTags {margin:0.25em; line-height:1.5;}\n'
   +'.tagging .relatedTags .relatedTagTitle{}\n'
   +'.relatedTags .relatedTagTitle{font-weight:bold;}\n'
   +'.relatedTags .relatedTag{margin-right:3px;}\n'
   +'/*}}}*/\n';
  setStylesheet(store.getTiddlerText('StyleSheetRelatedTag'),'relatedTagStyles');
 },
 handler: function(place,macroName,params,wikifier,paramString,tiddler){
  params = paramString.parseParams("anon",null,true,false,false);
  var div = createTiddlyElement(place,"div",null,"relatedTags");
  var title = getParam(params,"anon","");
  if(title == "" && tiddler instanceof Tiddler)
   title = tiddler.title;
  var sep = getParam(params,"sep"," ");
  div.setAttribute("title",this.tooltip.format([title]));
  var tagged = store.getTaggedTiddlers(title);
  var tags = [];
  for (var i = 0; i < tagged.length; i++){
   for (var j = 0; j < tagged[i].tags.length; j++){
    if((tagged[i].tags[j] == title) || tags.contains(tagged[i].tags[j])) continue;
    tags.push(tagged[i].tags[j]);
   }
  }
  tags = tags.sort();
  createTiddlyElement(div,"div",null,"relatedTagTitle",this.label.format([title]));
  for(var t = 0; t < tags.length; t++) {
   createTiddlyLink(createTiddlyElement(div,"span",null,"relatedTag"),tags[t],true);
   if(t < tags.length - 1)
    createTiddlyText(div,sep);
  }
 }
};
//}}}
/***
|Name|ResponsiveDisplayTiddlersPlugin|
|Version|0.1.1|
|Date|2009.10.23|
|Source|http://rc-2.net/home/#ResponsiveDisplayTiddlersPlugin|
|Author|rc2|
|Status|experimental|
|Overrides|Story.prototype.displayTiddlers|

!Description
複数 tiddler オープン時の応答性改善。
*ブラウザのフリーズ状態の改善
*進行状況表示、中断機能

!Revisions
*2009.10.23 : 0.1.1, Support for Safari
*2009.10.22 : 0.1

!Code
***/
//{{{
version.extensions.responsiveDisplayTiddlers = {major: 0, minor: 1, revision: 1, date: new Date(2009,10,23)};

(function($){
Story.prototype.displayTiddlers = function(srcElement,titles,template,animate,unused,customFields,toggle)
{
 var isSafari = config.browser.isSafari && (config.userAgent.indexOf("chrome") == -1);
 var msg = {"prompt":"Loading tiddlers...","status":"(%0 / %1) | "};
 var barStyle = {"height":"10px","width":"0px","background":"#CCC"};

 clearMessage();
 var e = getMessageDiv();
 createTiddlyText(e,msg.prompt);
 var b = $("<div />").appendTo(e).width(100);
 var step = $("<div />").appendTo(b).css(barStyle);
 var stat = $("<span />").appendTo(e).text(msg.status.format([1,titles.length]));
 createTiddlyButton(e,"stop","",function(){ clearTimeout(tm); });

 var t = titles.length - 1, len = titles.length, self = this;
 var tm = setTimeout(function(){
  if(!(t >= 0)) { setTimeout(clearMessage,1000); return; }

  var tout = new Date();
  step.width(parseInt((len - t) / len * 100));
  stat.text(msg.status.format([len - t,len]));
  self.displayTiddler.apply(self,[srcElement,titles[t],template,animate,unused,customFields]);
  tout = new Date() - tout;

  t--;
  tm = setTimeout(arguments.callee,isSafari ? tout : 20);
 },20);
};
})(jQuery);
//}}}
<<search>><script>if(config.browser.isIE) jQuery("input",place).css("font-family","MS PGothic");</script>
/***
|Name|SearchOptionsPlugin|
|Source|http://www.TiddlyTools.com/#SearchOptionsPlugin|
|Documentation|http://www.TiddlyTools.com/#SearchOptionsPluginInfo|
|Version|3.0.5|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Story.prototype.search, TiddlyWiki.prototype.search, config.macros.search.onKeyPress|
|Options|##Configuration|
|Description|extend core search function with additional user-configurable options|
Adds extra options to core search function including selecting which data items to search, enabling/disabling incremental key-by-key searches, and generating a ''list of matching tiddlers'' instead of immediately displaying all matches.  This plugin also adds syntax for rendering 'search links' within tiddler content to embed one-click searches using pre-defined 'hard-coded' search terms.

!Documentation
>see [[SearchOptionsPluginInfo]]

!Configuration
<<<
Search in:
<<option chkSearchTitles>> titles <<option chkSearchText>> text <<option chkSearchTags>> tags <<option chkSearchFields>> fields <<option chkSearchShadows>> shadows
<<option chkSearchHighlight>> Highlight matching text in displayed tiddlers
<<option chkSearchList>> Show list of matches
<<option chkSearchListTiddler>> Write list to [[SearchResults]] tiddler
<<option chkSearchTitlesFirst>> Show title matches first
<<option chkSearchByDate>> Sort matching tiddlers by modification date (most recent first)
<<option chkIncrementalSearch>> Incremental key-by-key search: {{twochar{<<option txtIncrementalSearchMin>>}}} or more characters,  {{threechar{<<option txtIncrementalSearchDelay>>}}} msec delay
<<option chkSearchOpenTiddlers>> Search only in tiddlers that are currently displayed
<<option chkSearchExcludeTags>> Exclude tiddlers tagged with: <<option txtSearchExcludeTags>>
<<<

!Revisions
<<<
2009.01.16 [3.0.5] added chkSearchOpenTiddlers option to limit searches to displayed tiddlers only
|please see [[SearchOptionsPluginInfo]] for additional revision details|
2005.10.18 [1.0.0] Initial Release
<<<

!Code
***/
//{{{
version.extensions.SearchOptionsPlugin= {major: 3, minor: 0, revision: 5, date: new Date(2009,1,16)};

var co=config.options; // abbrev
if (co.chkSearchTitles===undefined) co.chkSearchTitles=true;
if (co.chkSearchText===undefined) co.chkSearchText=true;
if (co.chkSearchTags===undefined) co.chkSearchTags=true;
if (co.chkSearchFields===undefined) co.chkSearchFields=true;
if (co.chkSearchTitlesFirst===undefined) co.chkSearchTitlesFirst=true;
if (co.chkSearchList===undefined) co.chkSearchList=true;
if (co.chkSearchHighlight===undefined) co.chkSearchHighlight=true;
if (co.chkSearchListTiddler===undefined) co.chkSearchListTiddler=true;
if (co.chkSearchByDate===undefined) co.chkSearchByDate=false;
if (co.chkIncrementalSearch===undefined) co.chkIncrementalSearch=true;
if (co.chkSearchShadows===undefined) co.chkSearchShadows=true;
if (co.txtIncrementalSearchDelay===undefined) co.txtIncrementalSearchDelay=500;
if (co.txtIncrementalSearchMin===undefined) co.txtIncrementalSearchMin=3;
if (co.chkSearchOpenTiddlers===undefined) co.chkSearchOpenTiddlers=false;
if (co.chkSearchExcludeTags===undefined) co.chkSearchExcludeTags=true;
if (co.txtSearchExcludeTags===undefined) co.txtSearchExcludeTags="excludeSearch";
if (config.macros.search.reportTitle==undefined)
	config.macros.search.reportTitle="SearchResults"; // note: not a cookie!
config.macros.search.label+="\xa0"; // a little bit of space just because it looks better
//}}}
// // searchLink: {{{[search[text to find]] OR [search[text to display|text to find]]}}}
//{{{
config.formatters.push( {
	name: "searchLink",
	match: "\\[search\\[",
	lookaheadRegExp: /\[search\[(.*?)(?:\|(.*?))?\]\]/mg,
	prompt: "search for: '%0'",
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var label=lookaheadMatch[1];
			var text=lookaheadMatch[2]||label;
			var prompt=this.prompt.format([text]);
			var btn=createTiddlyButton(w.output,label,prompt,
				function(){story.search(this.getAttribute("searchText"))},"searchLink");
			btn.setAttribute("searchText",text);
			w.nextMatch = this.lookaheadRegExp.lastIndex;
		}
	}
});
//}}}
// // incremental search uses option settings instead of hard-coded delay and minimum input values
//{{{
var fn=config.macros.search.onKeyPress;
fn=fn.toString().replace(/500/g, "config.options.txtIncrementalSearchDelay||500");
fn=fn.toString().replace(/> 2/g, ">=(config.options.txtIncrementalSearchMin||3)");
eval("config.macros.search.onKeyPress="+fn);
//}}}
// // REPLACE story.search() for option to "show search results in a list"
//{{{
Story.prototype.search = function(text,useCaseSensitive,useRegExp)
{
	var co=config.options; // abbrev
	var re=new RegExp(useRegExp ? text : text.escapeRegExp(),useCaseSensitive ? "mg" : "img");
	if (config.options.chkSearchHighlight) highlightHack=re;
	var matches = store.search(re,co.chkSearchByDate?"modified":"title","");
	if (co.chkSearchByDate) matches=matches.reverse(); // most recent first
	var q = useRegExp ? "/" : "'";
	clearMessage();
	if (!matches.length) {
		if (co.chkSearchListTiddler) discardSearchResults();
		displayMessage(config.macros.search.failureMsg.format([q+text+q]));
	} else {
		if (co.chkSearchList||co.chkSearchListTiddler) 
			reportSearchResults(text,matches);
		else {
			var titles = []; for(var t=0; t<matches.length; t++) titles.push(matches[t].title);
			this.closeAllTiddlers(); story.displayTiddlers(null,titles);
			displayMessage(config.macros.search.successMsg.format([matches.length, q+text+q]));
		}
	}
	highlightHack = null;
}
//}}}
// // REPLACE store.search() for enhanced searching/sorting options
//{{{
TiddlyWiki.prototype.search = function(searchRegExp,sortField,excludeTag)
{
	var co=config.options; // abbrev
	var tids = this.reverseLookup("tags",excludeTag,false,sortField);
	var opened=[]; story.forEachTiddler(function(tid,elem){opened.push(tid);});

	// eliminate tiddlers tagged with excluded tags
	if (co.chkSearchExcludeTags&&co.txtSearchExcludeTags.length) {
		var ex=co.txtSearchExcludeTags.readBracketedList();
		var temp=[]; for(var t=tids.length-1; t>=0; t--)
			if (!tids[t].tags.containsAny(ex)) temp.push(tids[t]);
		tids=temp;
	}

	// scan for matching titles first...
	var results = [];
	if (co.chkSearchTitles) {
		for(var t=0; t<tids.length; t++) {
			if (co.chkSearchOpenTiddlers && !opened.contains(tids[t].title)) continue; 
			if(tids[t].title.search(searchRegExp)!=-1) results.push(tids[t]);
		}
		if (co.chkSearchShadows)
			for (var t in config.shadowTiddlers) {
				if (co.chkSearchOpenTiddlers && !opened.contains(t)) continue; 
				if ((t.search(searchRegExp)!=-1) && !store.tiddlerExists(t))
					results.push((new Tiddler()).assign(t,config.shadowTiddlers[t]));
			}
	}
	// then scan for matching text, tags, or field data
	for(var t=0; t<tids.length; t++) {
		if (co.chkSearchOpenTiddlers && !opened.contains(tids[t].title)) continue; 
		if (co.chkSearchText && tids[t].text.search(searchRegExp)!=-1)
			results.pushUnique(tids[t]);
		if (co.chkSearchTags && tids[t].tags.join(" ").search(searchRegExp)!=-1)
			results.pushUnique(tids[t]);
		if (co.chkSearchFields && store.forEachField!=undefined)
			store.forEachField(tids[t],
				function(tid,field,val) {
					if (val.search(searchRegExp)!=-1) results.pushUnique(tids[t]);
				},
				true); // extended fields only
	}
	// then check for matching text in shadows
	if (co.chkSearchShadows)
		for (var t in config.shadowTiddlers) {
			if (co.chkSearchOpenTiddlers && !opened.contains(t)) continue; 
			if ((config.shadowTiddlers[t].search(searchRegExp)!=-1) && !store.tiddlerExists(t))
				results.pushUnique((new Tiddler()).assign(t,config.shadowTiddlers[t]));
		}

	// if not 'titles first', or sorting by modification date,
	// re-sort results to so titles, text, tag and field matches are mixed together
	if(!sortField) sortField = "title";
	var bySortField=function(a,b){
		if(a[sortField]==b[sortField])return(0);else return(a[sortField]<b[sortField])?-1:+1;
	}
	if (!co.chkSearchTitlesFirst || co.chkSearchByDate) results.sort(bySortField);

	return results;
}
//}}}
// // HIJACK core {{{<<search>>}}} macro to add "report" and "simple inline" output
//{{{
config.macros.search.SOP_handler=config.macros.search.handler;
config.macros.search.handler = function(place,macroName,params)
{
	// if "report", use SearchOptionsPlugin report generator for inline output
	if (params[1]&&params[1].substr(0,6)=="report") {
		var keyword=params[0];
		var options=params[1].split("=")[1]; // split "report=option+option+..."
		var heading=params[2]?params[2].unescapeLineBreaks():"";
		var matches=store.search(new RegExp(keyword.escapeRegExp(),"img"),"title","excludeSearch");
		if (matches.length) wikify(heading+window.formatSearchResults(keyword,matches,options),place);
	} else if (params[1]) {
		var keyword=params[0];
		var heading=params[1]?params[1].unescapeLineBreaks():"";
		var seperator=params[2]?params[2].unescapeLineBreaks():", ";
		var matches=store.search(new RegExp(keyword.escapeRegExp(),"img"),"title","excludeSearch");
		if (matches.length) {
			var out=[];
			for (var m=0; m<matches.length; m++) out.push("[["+matches[m].title+"]]");
			wikify(heading+out.join(seperator),place);
		}
	} else
		config.macros.search.SOP_handler.apply(this,arguments);
};
//}}}
// // SearchResults panel handling
//{{{
setStylesheet(".searchResults { padding:1em 1em 0 1em; }","searchResults"); // matches std tiddler padding

config.macros.search.createPanel=function(text,matches,body) {

	function getByClass(e,c) { var d=e.getElementsByTagName("div");
		for (var i=0;i<d.length;i++) if (hasClass(d[i],c)) return d[i]; }
	var panel=createTiddlyElement(null,"div","searchPanel","searchPanel");
	this.renderPanel(panel,text,matches,body);
	var oldpanel=document.getElementById("searchPanel");
	if (!oldpanel) { // insert new panel just above tiddlers
		var da=document.getElementById("displayArea");
		da.insertBefore(panel,da.firstChild);
	} else { // if panel exists
		var oldwrap=getByClass(oldpanel,"searchResults");
		var newwrap=getByClass(panel,"searchResults");
		// if no prior content, just insert new content
		if (!oldwrap) oldpanel.insertBefore(newwrap,null);
		else {	// swap search results content but leave containing panel intact
			oldwrap.style.display='block'; // unfold wrapper if needed
			var i=oldwrap.getElementsByTagName("input")[0]; // get input field
			if (i) { var pos=this.getCursorPos(i); i.onblur=null; } // get cursor pos, ignore blur
			oldpanel.replaceChild(newwrap,oldwrap);
			panel=oldpanel; // use existing panel
		} 
	}
	this.showPanel(true,pos);
	return panel;
}

config.macros.search.renderPanel=function(panel,text,matches,body) {

	var wrap=createTiddlyElement(panel,"div",null,"searchResults");
	wrap.onmouseover = function(e){ addClass(this,"selected"); }
	wrap.onmouseout = function(e){ removeClass(this,"selected"); }
	// create toolbar: "open all", "fold/unfold", "close"
	var tb=createTiddlyElement(wrap,"div",null,"toolbar");
	var b=createTiddlyButton(tb, "open all", "open all matching tiddlers", function() {
		story.displayTiddlers(null,this.getAttribute("list").readBracketedList()); return false; },"button");
	var list=""; for(var t=0;t<matches.length;t++) list+='[['+matches[t].title+']] ';
	b.setAttribute("list",list);
	var b=createTiddlyButton(tb, "fold", "toggle display of search results", function() {
		config.macros.search.foldPanel(this); return false; },"button");
	var b=createTiddlyButton(tb, "close", "dismiss search results",	function() {
		config.macros.search.showPanel(false); return false; },"button");
	createTiddlyText(createTiddlyElement(wrap,"div",null,"title"),"Search for: "+text); // title
	wikify(body,createTiddlyElement(wrap,"div",null,"viewer")); // report
	return panel;
}

config.macros.search.showPanel=function(show,pos) {
	var panel=document.getElementById("searchPanel");
	var i=panel.getElementsByTagName("input")[0];
	i.onfocus=show?function(){config.macros.search.stayFocused(true);}:null;
	i.onblur=show?function(){config.macros.search.stayFocused(false);}:null;
	if (show && panel.style.display=="block") { // if shown, grab focus, restore cursor
		if (i&&this.stayFocused()) { i.focus(); this.setCursorPos(i,pos); }
		return;
	}
	if(!config.options.chkAnimate) {
		panel.style.display=show?"block":"none";
		if (!show) { removeChildren(panel); config.macros.search.stayFocused(false); }
	} else {
		var s=new Slider(panel,show,false,show?"none":"children");
		s.callback=function(e,p){e.style.overflow="visible";}
		anim.startAnimating(s);
	}
	return panel;
}

config.macros.search.foldPanel=function(button) {
	var d=document.getElementById("searchPanel").getElementsByTagName("div");
	for (var i=0;i<d.length;i++) if (hasClass(d[i],"viewer")) var v=d[i]; if (!v) return;
	var show=v.style.display=="none";
	if(!config.options.chkAnimate)
		v.style.display=show?"block":"none";
	else {
		var s=new Slider(v,show,false,"none");
		s.callback=function(e,p){e.style.overflow="visible";}
		anim.startAnimating(s);
	}
	button.innerHTML=show?"fold":"unfold";
	return false;
}

config.macros.search.stayFocused=function(keep) { // TRUE/FALSE=set value, no args=get value
	if (keep===undefined) return this.keepReportInFocus;
	this.keepReportInFocus=keep;
	return keep
}	

config.macros.search.getCursorPos=function(i) {
	var s=0; var e=0; if (!i) return { start:s, end:e };
	try {
		if (i.setSelectionRange) // FF
			{ s=i.selectionStart; e=i.selectionEnd; }
		if (document.selection && document.selection.createRange) { // IE
			var r=document.selection.createRange().duplicate();
			var len=r.text.length; s=0-r.moveStart('character',-100000); e=s+len;
		}
	}catch(e){};
	return { start:s, end:e };
}
config.macros.search.setCursorPos=function(i,pos) {
	if (!i||!pos) return; var s=pos.start; var e=pos.end;
	if (i.setSelectionRange) //FF
		i.setSelectionRange(s,e);
	if (i.createTextRange) // IE
		{ var r=i.createTextRange(); r.collapse(true); r.moveStart("character",s); r.select(); }
}
//}}}
// // SearchResults report generation
// note: these functions are defined globally, so they can be more easily redefined to customize report formats//
//{{{
if (!window.reportSearchResults) window.reportSearchResults=function(text,matches)
{
	var cms=config.macros.search; // abbrev
	var body=window.formatSearchResults(text,matches);
	if (!config.options.chkSearchListTiddler) // show #searchResults panel
		window.scrollTo(0,ensureVisible(cms.createPanel(text,matches,body)));
	else { // write [[SearchResults]] tiddler
		var title=cms.reportTitle;
		var who=config.options.txtUserName;
		var when=new Date();
		var tags="excludeLists excludeSearch temporary";
		var tid=store.getTiddler(title); if (!tid) tid=new Tiddler();
		tid.set(title,body,who,when,tags);
		store.addTiddler(tid);
		story.closeTiddler(title);
		story.displayTiddler(null,title);
	}
}

if (!window.formatSearchResults) window.formatSearchResults=function(text,matches,opt)
{
	var body='';
	var title=config.macros.search.reportTitle
	var q = config.options.chkRegExpSearch ? "/" : "'";
	if (!opt) var opt="all";
	var parts=opt.split("+");
	for (var i=0; i<parts.length; i++) { var p=parts[i].toLowerCase();
		if (p=="again"||p=="all")   body+=window.formatSearchResults_again(text,matches);
		if (p=="summary"||p=="all") body+=window.formatSearchResults_summary(text,matches);
		if (p=="list"||p=="all")    body+=window.formatSearchResults_list(text,matches);
		if (p=="buttons"||p=="all") body+=window.formatSearchResults_buttons(text,matches);
	}
	return body;
}

if (!window.formatSearchResults_again) window.formatSearchResults_again=function(text,matches)
{
	var title=config.macros.search.reportTitle
	var body='';
	// search again
	body+='{{span{<<search "'+text.replace(/"/g,'&#x22;')+'">> /%\n';
	body+='%/<html><input type="button" value="search again"';
	body+=' onclick="var t=this.parentNode.parentNode.getElementsByTagName(\'input\')[0];';
	body+=' config.macros.search.doSearch(t); return false;">';
	body+=' <a href="javascript:;" onclick="';
	body+=' var e=this.parentNode.nextSibling;';
	body+=' var show=e.style.display!=\'block\';';
	body+=' if(!config.options.chkAnimate) e.style.display=show?\'block\':\'none\';';
	body+=' else anim.startAnimating(new Slider(e,show,false,\'none\'));';
	body+=' return false;">options »</a>';
	body+='</html>@@display:none;border-left:1px dotted;margin-left:1em;padding:0;padding-left:.5em;/%\n';
	body+='	%/<<option chkSearchTitles>>titles /%\n';
	body+='	%/<<option chkSearchText>>text /%\n';
	body+='	%/<<option chkSearchTags>>tags /%\n';
	body+='	%/<<option chkSearchFields>>fields /%\n';
	body+='	%/<<option chkSearchShadows>>shadows\n';
	body+='	<<option chkCaseSensitiveSearch>>case-sensitive /%\n';
	body+='	%/<<option chkRegExpSearch>>text patterns /%\n';
	body+='	%/<<option chkSearchByDate>>sorted by date\n';
	body+='	<<option chkSearchHighlight>>highlight matching text in displayed tiddlers\n';
	body+='	<<option chkIncrementalSearch>>incremental key-by-key search: /%\n';
	body+='	%/{{twochar{<<option txtIncrementalSearchMin>>}}} or more characters, /%\n';
	body+='	%/{{threechar{<<option txtIncrementalSearchDelay>>}}} msec delay\n';
	body+='	<<option chkSearchOpenTiddlers>>search only in tiddlers that are currently displayed\n';
	body+='	<<option chkSearchExcludeTags>>exclude tiddlers tagged with:';
	body+='	<<option txtSearchExcludeTags>>/%\n';
	body+='%/@@}}}\n\n';
	return body;
}

if (!window.formatSearchResults_summary) window.formatSearchResults_summary=function(text,matches)
{
	// summary: nn tiddlers found matching '...', options used
	var body='';
	var co=config.options; // abbrev
	var title=config.macros.search.reportTitle
	var q = co.chkRegExpSearch ? "/" : "'";
	body+="''"+config.macros.search.successMsg.format([matches.length,q+"{{{"+text+"}}}"+q])+"''\n";
	var opts=[];
	if (co.chkSearchTitles) opts.push("titles");
	if (co.chkSearchText) opts.push("text");
	if (co.chkSearchTags) opts.push("tags");
	if (co.chkSearchFields) opts.push("fields");
	if (co.chkSearchShadows) opts.push("shadows");
	if (co.chkSearchOpenTiddlers) body+="^^//search limited to displayed tiddlers only//^^\n";
	body+="&nbsp; searched in "+opts.join(" + ")+"\n";
	body+=(co.chkCaseSensitiveSearch||co.chkRegExpSearch?"^^&nbsp; using ":"")
		+(co.chkCaseSensitiveSearch?"case-sensitive ":"")
		+(co.chkRegExpSearch?"pattern ":"")
		+(co.chkCaseSensitiveSearch||co.chkRegExpSearch?"matching^^\n":"");
	return body;
}

if (!window.formatSearchResults_list) window.formatSearchResults_list=function(text,matches)
{
	// bullet list of links to matching tiddlers
	var body='';
	var pattern=co.chkRegExpSearch?text:text.escapeRegExp();
	var sensitive=co.chkCaseSensitiveSearch?"mg":"img";
	var link='{{tiddlyLinkExisting{<html><nowiki><a href="javascript:;" onclick="'
		+'if(config.options.chkSearchHighlight)'
		+'	highlightHack=new RegExp(\x27'+pattern+'\x27.escapeRegExp(),\x27'+sensitive+'\x27);'
		+'story.displayTiddler(null,\x27%0\x27);'
		+'highlightHack = null; return false;'
		+'" title="%2">%1</a></html>}}}';
	for(var t=0;t<matches.length;t++) {
		body+="* ";
		if (config.options.chkSearchByDate)
			body+=matches[t].modified.formatString('YYYY.0MM.0DD 0hh:0mm')+" ";
		var title=matches[t].title;
		var fixup=title.replace(/'/g,"\\x27").replace(/"/g,"\\x22");
		var tid=store.getTiddler(title);
		var tip=tid?tid.getSubtitle():''; tip=tip.replace(/"/g,"&quot;");
		body+=link.format([fixup,title,tip])+'\n';
	}
	return body;
}

if (!window.formatSearchResults_buttons) window.formatSearchResults_buttons=function(text,matches)
{
	// embed buttons only if writing SearchResults to tiddler
	if (!config.options.chkSearchListTiddler) return "";
	// "open all" button
	var title=config.macros.search.reportTitle;
	var body="";
	body+="@@diplay:block;<html><input type=\"button\" href=\"javascript:;\" "
		+"onclick=\"story.displayTiddlers(null,[";
	for(var t=0;t<matches.length;t++)
		body+="'"+matches[t].title.replace(/\'/mg,"\\'")+"'"+((t<matches.length-1)?", ":"");
	body+="],1);\" accesskey=\"O\" value=\"open all matching tiddlers\"></html> ";
	// "discard SearchResults" button
	body+="<html><input type=\"button\" href=\"javascript:;\" "
		+"onclick=\"discardSearchResults()\" value=\"discard "+title+"\"></html>";
	body+="@@\n";
	return body;
}

if (!window.discardSearchResults) window.discardSearchResults=function()
{
	// remove the tiddler
	story.closeTiddler(config.macros.search.reportTitle);
	store.deleteTiddler(config.macros.search.reportTitle);
	store.notify(config.macros.search.reportTitle,true);
}
//}}}
tabs や slider マクロなど、tiddler をパラメタとして指定するものがあります。それなりにボリュームもあり単独でもコンテンツとして意味を成す場合は別 tiddler を起こしても良いですが、メニューのようにマクロに纏める用途の為だけに小さな tiddler を作成するのは冗長です。そこで Section を利用した 1 つの tiddler に纏める方法を紹介します。

元は以下の記事。
>[[一つの tiddler だけでタブを作成できるプラグイン - PartTiddlerPlugin|http://d.hatena.ne.jp/aramakie/20090517]] / TiddlyWiki Lab.

上記では [[PartTiddlerPlugin|http://tiddlywiki.abego-software.de/#PartTiddlerPlugin]] を利用した方法が紹介されています。私もこちらを参考にしていましたが、Plugin を利用せずに同じことを実現する方法があります。[[TiddlyTools|http://www.tiddlytools.com/]] のスクリプトを眺めていて気づいたものです。約 22 KB の節約となるのでお勧めです。

!Section の定義
以下の様に tiddler 内に Section を定義することが出来ます。
{{{
!SectionNameA
 content...
!SectionNameB
 content...
!end
}}}
そのままでは、ヘッダとして解釈されてしまうので、コメントアウト({{{/% %/}}})しておきます。

!Section の指定
以下の様に tiddler 名に続いて Section 名を指定します。
{{{
TiddlerName##SectionName
}}}

!e.g. (tiddler  : Sample)
以下は tabs マクロの例ですが、slider や tiddler など tiddler 名をパラメタとするものには使えます。
{{{
<<tabs txtSampleTab
"Tab A" "" [[Sample##TabA]]
"Tab B" "" [[Sample##TabB]]
>>
/%
!TabA
*This is "Tab A".
!TabB
*This is "Tab B".
!end
%/
}}}
----
<<tabs txtSampleTab
"Tab A" "" [[Section で Tiddler を 1 つに纏める方法##TabA]]
"Tab B" "" [[Section で Tiddler を 1 つに纏める方法##TabB]]
>>
/***
!internal use. Also see [[ToggleRightSidebar]], [[SideBarOptions]]
***/
//{{{
(function($){
$().one("startup",function(){

 var d = config.options.chkAnimate ? 300 : 0;
 $.data($("#sidebar").get(0),"dock",false);
 $("#sidebar")
  .bind("sidebaropen",function(){
   $(this).stop().animate({width:"25em"},{duration:d});
  })
  .bind("sidebarclose",function(){
   $(this).stop().animate({width:"0"},{duration:d,complete:function(){ $(this).hide(); }})
    .trigger("sidebarundock");
  })
  .bind("sidebardock",function(){
   $("#displayArea").stop().animate({marginRight:"28.5em"},{duration:d});
   $.data(this,"dock",true);
  })
  .bind("sidebarundock",function(){
   $("#displayArea").stop().animate({marginRight:"0"},{duration:d});
   $.data(this,"dock",false);
  });

});
})(jQuery);
//}}}
<script>
var onClick = function(e){
/*
 var bar = jQuery("#sidebar");
 var isDock = jQuery.data(bar.get(0),"dock");
 bar.trigger(isDock ? "sidebarundock" : "sidebardock");
*/
jQuery("#sidebar").trigger("sidebarclose");
};
createTiddlyButton(place,"close","",onClick);
</script> <<newTiddler>> <<saveChanges>> <<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
<<tabs {{config.options['txtMainTab']="Timeline";'txtMainTab';}} "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "More" "More lists" TabMore>>
/%
!info
|Name|SimpleRSSReader|
|Source|http://rc-2.net/home#SimpleRSSReader|
|Version|0.1|
|Author|rc2|
|Type|transclusion|
|Status|experimental|
|CoreVersion|2.5.0+ (Requires jQuery)|

Usage
----
{{{
<<tiddler SimpleRSSReader with: "feedURL">>
}}}

!show
<<tiddler {{
(function($){
if(!$(place).is(":empty")) return;

var c = $("<div />").appendTo(place).addClass("simpleRSSReader").get(0);

var loading = $("<span />").appendTo(c).text("loading..");
var imageUrl = store.getTiddlerText("LoadingImage",null);
if(imageUrl){
 var img = $("<img />").attr("src",imageUrl)
  .css({"border":"none","vertical-align":"middle","margin-right":"3px"});
 loading.wrap("<div />").parent().prepend(img);
}

var styles = {
 "ul":{"line-height":"1.2em"},
 "a" :{"text-decoration":"none"},
 "h1":{"margin":"1em 0"}
};

var getDate = function(d){
 var isW3CDTF = d.match(/^[0-9]{4}-[0-9]{2}-[0-9]{2}/);
 var s = new Date(isW3CDTF ? isW3CDTF[0].replace(/-/g,"\/") : d);
 return s.formatString("YYYY.MM.DD");
};

var cbFunc = function(data){
 $(c).empty();
 var results = data.query.results,lastDate = "";
 var feeds = results.RDF || results.rss || results.feed;
 var items = feeds.item || (feeds.channel ? feeds.channel.item : undefined) || feeds.entry;
 $.each(items,function(k,v){
  var d = getDate(v.pubDate || v.date || v.created);
  if(lastDate != d) wikify("!" + d,c);
  lastDate = d;
  var link = v.link.href || v.link;
  wikify("*[[" + v.title + "|" + link + "]]",c);
 });
 $.each(styles,function(k,v){ $(k,c).css(v); });
};

var execYQL = function(q){
 $.getJSON("http://query.yahooapis.com/v1/public/yql?callback=?",{format:"json",q:q},cbFunc);
};

execYQL("select * from xml where url='$1'");

})(jQuery);
'';}}>>
!end
%/<<tiddler {{
 var src = 'SimpleRSSReader';
 src + (tiddler && tiddler.title == src ? '##info' : '##show');
}} with: [[$1]]>>
/***
|Name|SimpleTOCMacro|
|Version|0.1|
|Date|2009-08-25|
|Source|http://rc-2.net/home/#SimpleTOCMacro|
|Author|rc2|
|CoreVersion|2.5.0+ (Requires jQuery)|
|Description|create a table of contents from a tiddler's headings|

!Description
目次生成機能です。toolbar macro として実装しています。

!Usage
<<<
!!ToolbarCommands
{{{
|~ViewToolbar|simpleTOC closeTiddler closeOthers ...
}}}
!!inline
{{{
<<toolbar simpleTOC>>
}}}
<<<

!Code
***/
//{{{
version.extensions.simpleTOC = {major: 0, minor: 1, revision: 0, date: new Date(2009,8,25)};

(function($){
$("#popup .simpleTOC a").live("click",function(){
 var j = this.getAttribute("jump");
 var t = $(":header[jump='" + j + "']").get(0);
 if(config.options.chkAnimate){
  var p = [{style:'-tw-vertScroll',start:findScrollY(),end:findPosY(t)}];
  anim.startAnimating(new Morpher(t,config.animDuration,p));
 }else{
  window.scrollTo(0,findPosY(t));
 }
});

config.commands.simpleTOC = {type:"popup",text:"TOC",tooltip:"Table of Contents"};

config.commands.simpleTOC.handlePopup = function(popup,title){
 var tid = story.getTiddler(title);
 var heads = $(":header",$(".viewer",tid));

 if(heads.length == 0)
  createTiddlyLink(createTiddlyElement(popup,"li"),"no header",true);

 heads.each(function(v){
  var current = $(this);
  current.attr("jump",title + v);
  var li = createTiddlyElement(popup,"li",null,"simpleTOC");
  var h = parseInt(current.attr("tagName").slice(1));
  var indent = "";
  for(var i=0; i<h-1; i++){ indent = indent + "-"; }
  var a = document.createElement("a");
  $(a).appendTo(li)
   .text(indent + " " + current.text() + " ")
   .attr({"href":"javascript:;","jump":title + v});
 });
};
})(jQuery);
//}}}
<script>
(function($){
if(config.browser.isIE && (parseFloat($.browser.version.substring(0,3)) < 7.0)) return;
var logo = $("<div/>").css({"position":"absolute","width":"30px","height":"30px","right":"2em"}).appendTo(place).addClass("noPrint");
var dot = $("<div/>").css({"position":"absolute","width":"6px","height":"6px","left":"-1000px"});
var dotC = $("<div/>").css({"position":"absolute","width":"10px","height":"10px","background":"#fff"});
var dotS = dotC.clone().css({"display":"none","-moz-box-shadow":"0 0 10px #aaa","-webkit-box-shadow":"0 0 10px #aaa","box-shadow":"0 0 10px #aaa"});
dotS.clone().css({"top":"8px","left":"0px"}).appendTo(logo).addClass("logoShadow");
dotS.clone().css({"top":"0px","left":"0px"}).appendTo(logo).addClass("logoShadow");
dotS.clone().css({"top":"0px","left":"8px"}).appendTo(logo).addClass("logoShadow");
dotC.clone().css({"top":"8px","left":"0px"}).appendTo(logo);
dotC.clone().css({"top":"0px","left":"0px"}).appendTo(logo);
dotC.clone().css({"top":"0px","left":"8px"}).appendTo(logo);
dot.clone().css({"background":"#666","top":"300px"}).appendTo(logo).animate({"top":"10px","left":"2px"},{duration:1500});
dot.clone().css({"background":"#aaa","top":"-300px"}).appendTo(logo).animate({"top":"2px","left":"2px"},{duration:1800});
dot.clone().css({"background":"#ddd","top":"2px"}).appendTo(logo).animate({"top":"2px","left":"10px"},{duration:2100,complete:function(){$("div.logoShadow").fadeIn(1500);}});
})(jQuery);
</script>
''[[RELEASE CANDIDATE 2|HOME]]''
http://rc-2.net/home/
<<tiddler SimpleRSSReader with: "http://www.pheedo.jp/f/slashdot_japan">>
|URL|http://www.02.246.ne.jp/~torutk/solaris/solaris10_x86.html|
|URL|http://www.rinneza.com/junya/tech/solaris10_x86/|
作業ログです。リソースプール、スケジューリングクラス、CPU シェアなど難しそうなのは省略。

!zone の作成/設定
*zonecfg コマンドで zone の作成/設定を行います。初めて作成する zone の場合は下記メッセージが表示されます。{{m{
{{{
# zonecfg -z testzone
testzone: そのような構成済みゾーンはありません
'create' を使用して、新しいゾーンの構成を開始してください。
}}}
}}}
*create コマンドで zone を作成します。(デフォルト定義を構成します。){{m{
{{{
zonecfg:testzone> create
}}}
}}}
!!zonepath
*設定した path が zone のルート(/)になります。{{m{
{{{
zonecfg:testzone> set zonepath=/export/zones/testzone
}}}
}}}
!!autoboot
*global zone の起動時に non-global zone も起動するには true を設定します。{{m{
{{{
zonecfg:testzone> set autoboot=true
}}}
}}}
!!ネットワーク
*割り当てる NIC と IP アドレスを設定します。{{m{
{{{
zonecfg:testzone> add net
zonecfg:testzone:net> set address=192.168.0.10/24
zonecfg:testzone:net> set physical=hme0
zonecfg:testzone:net> end
}}}
}}}
!!共有ファイルシステム
*read-only の loopback file system (LOFS)でマウントされます。{{m{
{{{
zonecfg:testzone> add inherit-pkg-dir
zonecfg:testzone:inherit-pkg-dir> set dir=/opt/sfw
zonecfg:testzone:inherit-pkg-dir> end
}}}
}}}
*デフォルトでは /lib, /platform, /sbin, /usr が継承されています。⇒ 疎ルートゾーン (Sparse Zone){{m{
{{{
zonecfg:testzone> export
create -b
set autoboot=false
add inherit-pkg-dir
set dir=/lib
end
add inherit-pkg-dir
set dir=/platform
end
add inherit-pkg-dir
set dir=/sbin
end
add inherit-pkg-dir
set dir=/usr
end
}}}
}}}
*/usr 等に書き込む必要がある場合には継承を解除しておきます(もしかして予め create -b で作成しておけば良いのかな??)。ちなみにファイルを共有しない完全ルートゾーン (Whole Root Zone)となるので、疎ルートゾーンに比べディスクスペースが多く必要になります。{{m{
{{{
zonecfg:testzone> remove inherit-pkg-dir dir=/platform
zonecfg:testzone> remove inherit-pkg-dir dir=/lib
zonecfg:testzone> remove inherit-pkg-dir dir=/sbin
zonecfg:testzone> remove inherit-pkg-dir dir=/usr
}}}
}}}
*read/write にしたり、後で設定変更/削除したりする場合は仮想ファイルシステム fs を使用した方が良さそうです。{{m{
{{{
zonecfg:testzone> add fs
zonecfg:testzone:fs> dir=/usr/local
zonecfg:testzone:fs> set special=/opt/local
zonecfg:testzone:fs> set type=lofs
zonecfg:testzone:fs> add options=ro
zonecfg:testzone:fs> end
}}}
}}}
!!構成の確認
*設定内容を確認します。{{m{
{{{
zonecfg:testzone> export
create -b
set zonepath=/export/zones/testzone
set autoboot=true
set ip-type=shared
add inherit-pkg-dir
set dir=/opt/sfw
end
add net
set address=192.168.0.10/24
set physical=hme0
end
}}}
}}}
!!後処理
*整合性検証、設定の反映を行い終了します。{{m{
{{{
zonecfg:testzone> verify
zonecfg:testzone> commit
zonecfg:testzone> exit
}}}
}}}
*zone のステータス確認。(configured){{m{
{{{
# zoneadm list -cv
ID NAME       STATUS      PATH                    BRAND   IP
0 global     running     /                       native  shared
- testzone   configured  /export/zones/testzone  native  shared
}}}
}}}

!zone のインストール
*zone にシステムをインストールします。{{m{
{{{
# zoneadm -z testzone install
Preparing to install zone <testzone>.
Creating list of files to copy from the global zone.
Copying <143652> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1126> packages on the zone.
Initialized <1126> packages on zone.
Zone <testzone> is initialized.
}}}
}}}
*zone のステータス確認。(installed){{m{
{{{
# zoneadm list -cv
ID NAME       STATUS      PATH                    BRAND   IP
0 global     running     /                       native  shared
- testzone   installed   /export/zones/testzone  native  shared
}}}
}}}

!zone のブート
*zone をブートします。{{m{
{{{
# zoneadm -z testzone boot
}}}
}}}
*zone のステータス確認。(running){{m{
{{{
# zoneadm list -cv
ID NAME       STATUS      PATH                    BRAND   IP
0 global     running     /                       native  shared
1 testzone   running     /export/zones/testzone  native  shared
}}}
}}}

!zone ブート後の初期設定
*zlogin コマンドでコンソールログインし、初期設定を行います。初回ブート時は SMF サービスの読み込み等で時間が掛かります。{{m{
{{{
# zlogin -C testzone
[ゾーン 'zone01' コンソールに接続しました]
}}}
}}}
*設定が完了したらコンソールから切断します。{{m{
{{{
testzone # exit
testzone console login: ~.(または ~^D)
[ゾーン 'testzone' コンソールへの接続が閉じられました]
}}}
}}}
|URL|http://solaris-user.com/|
|URL|http://home.t00.itscom.net/happy7/solaris/index.html|
Solaris のパッチ適用で嵌ったのでメモです。8 台のマシンへパッチ作業中、何故か 1 台失敗します。素人ながら順を追って精査してみる。。と言いたいですが、やはり Google に頼りました。悪癖かの議論は別として、すぐに検索する向きは改善したいと思っています。少し前に「検索力 vs 地頭力」というスレを見かけました。KB な有効活用というのは口実で、まずは自分で考えてみる習慣を心がけたいと常々感じてはいます。話が飛びましたが、以下、対処法です。

!現象
patchadd を実行すると下記のエラーで失敗する。
>Patch 121296-01 failed to install due to a failure produced by pkgadd.
>See /var/sadm/patch/121296-01/log for details
上記のログを参照しても、予想通り訳分からんです。
>pkgadd: ERROR: checkinstall script did not complete successfully

!回避方法
とりあえず Sun のドキュメントで patchadd を読んでみると、それらしいのが書いてあります。
<<<
!![[patchadd(1M) – Solaris オペレーティング環境を実現するシステムへのパッチ適用|http://docs.sun.com/app/docs/doc/817-7411/patchadd-1m?l=ja&a=view]]
patchadd を実行すると、pkgadd が起動され、pkg/install ディレクトリにあるインストールスクリプトを実行します。checkinstall スクリプトは、所有権を install というユーザー名に設定して実行されます。ユーザー名が install に設定されていない場合、pkgadd は checkinstall スクリプトを nobody として実行します。SVR4 ABI には、checkinstall は情報収集を行うスクリプトとしてのみ使用されると記述されています。checkinstall スクリプトのアクセス権を初期設定から変更すると、pkgadd はファイルをオープンして読み取ることができなくなり、次のようなメッセージが出力されてパッチのインストールが異常終了します。
<<<
んー、UNIX 初心者なのでもっと分かりやすく頼むよ。で、もう少し探してみたら FAQ が見つかりました。
<<<
!![[5.56) パッチのインストールが "checkinstall" というエラーでよく失敗します。|http://sdc.sun.co.jp/solaris/solaris2-faq/Q5.56.html]]
これは次の2つの方法で回避することができます。1つは nobody がすべてのパッチファイルを確実に読めるようにして、"pwd" をパッチディレクトリで実行すること、もう1つは、"install" アカウントを /etc/passwd に追加することです。
----
{{{install:x:0:1:installpatch braindamage:/:/bin/true}}}
<<<
後者を実行してとりあえず解決。
|URL|http://lsx.sourceforge.jp/|
/***
''Inspired by [[TiddlyPom|http://www.warwick.ac.uk/~tuspam/tiddlypom.html]]''

|Name|SplashScreenPlugin|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#SplashScreenPlugin|
|Version|0.21 |
|Requires|~TW2.08+|

!Description:
Provides a simple splash screen that is visible while the TW is loading.

!Installation
Copy the source text of this tiddler to your TW in a new tiddler, tag it with systemConfig and save and reload. The SplashScreen will now be installed and will be visible the next time you reload your TW.

!Customizing
Once the SplashScreen has been installed and you have reloaded your TW, the splash screen html will be present in the MarkupPreHead tiddler. You can edit it and customize to your needs.

!History
* 20-07-06 : version 0.21, modified to hide contentWrapper while SplashScreen is displayed.
* 26-06-06 : version 0.2, first release

!Code
***/
//{{{
var old_lewcid_splash_restart=restart;

restart = function()
{   if (document.getElementById("SplashScreen"))
        document.getElementById("SplashScreen").style.display = "none";
      if (document.getElementById("contentWrapper"))
        document.getElementById("contentWrapper").style.display = "block";
    
    old_lewcid_splash_restart();
   
    if (splashScreenInstall)
       {if(config.options.chkAutoSave)
			{saveChanges();}
        displayMessage("TW SplashScreen has been installed, please save and refresh your TW.");
        }
}


var oldText = store.getTiddlerText("MarkupPreHead");
if (oldText.indexOf("SplashScreen")==-1)
   {var siteTitle = store.getTiddlerText("SiteTitle");
   var splasher='\n\n<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b>'+siteTitle +'</b> is loading<blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div>';
   if (! store.tiddlerExists("MarkupPreHead"))
       {var myTiddler = store.createTiddler("MarkupPreHead");}
   else
      {var myTiddler = store.getTiddler("MarkupPreHead");}
      myTiddler.set(myTiddler.title,oldText+splasher,config.options.txtUserName,null,null);
      store.setDirty(true);
      var splashScreenInstall = true;
}
//}}}
/***
!customize for RC2
***/
/*{{{*/
/*jump button*/
#jumpTopButton{position:fixed;z-index:1001;bottom:.3em;right:.3em;cursor:pointer;padding:2px 5px;border:1px solid #AAA;background:#FFF;}
* html #jumpTopButton{display:none;}

/*setup HOME*/
#tiddlerHOME .navbar,#tiddlerHOME .tagged{display:none;}
#tiddlerHOME .tabContents{margin:0;}
#tiddlerHOME .mcLeft{width:30%;}
#tiddlerHOME .mcRight{width:70%;}

@media screen and (min-width:1000px){
#tiddlerHOME .mcLeft{width:25%;}
#tiddlerHOME .mcRight{width:75%;}
}
@media screen and (min-width:700px) and (max-width:999px){
#tiddlerHOME .mcLeft{width:30%;}
#tiddlerHOME .mcRight{width:70%;}
}
@media screen and (max-width:699px){
#tiddlerHOME .mcLeft{display:none;}
#tiddlerHOME .mcRight{width:100%;}
}

/*Shortcuts*/
.floatRight{float:right;}
.floatLeft{float:left;}
.clear{clear:both;}

/*search bar*/
.searchBar{float:right;background:#FFF;border:1px solid #ddd;padding:0.4em 7px;/*box-shadow: 0 0 3px rgba(0,0,0,0.3);-moz-box-shadow: 0 0 3px rgba(0,0,0,0.3);-webkit-box-shadow: 0 0 3px rgba(0,0,0,0.3);*/border-radius:2px; -moz-border-radius:2px; -webkit-border-radius:2px;}
.searchBar *{vertical-align:middle;}
.searchBar input{border-width:0px;padding:0;font-size:100%;}
.searchBar a{border-right:1px solid #CCC;padding-right:5px;margin-right:7px;}

/*listing tiddlers*/
.topicNavi{clear:both;padding-top:1em;}
.topicNavi *{position:relative;}
.rowSpacer{display:block;padding-bottom:1em;clear:both;}
.topicRow{display:block;padding:1em 0.25em 0.7em 0.25em;border-top:1px solid #EEE;}
.topicHeader{font-weight:bold;}
.topicHeader h2{border:none;margin:0;padding:0;}
.topicIcon img{padding:0 !important;margin-left:5px;border:none !important;position:relative;/*Peekaboo Bug*/}
.topicSummary{display:none;padding-top:0.5em;}
.linkList{display:block;padding-left:7px;margin-bottom:3px;border-left:5px solid #DDD;zoom:1;}
.linkList:hover{border-color:[[ColorPalette::SecondaryMid]];}
.linkList .topicHeader a{display:block;border-bottom:1px solid #DDD;}
.readMore{display:none;text-align:right;}
/*}}}*/
/***
!GuideBubblesPlugin for demo
***/
/*{{{*/
#demoBubbles{width:300px;background:#EEE;position:relative;padding:5px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;}
#demoBubbles .guideArrow{width:0;height:0;line-height:0;border-top:10px solid #EEE;border-left:5px solid white;border-right:10px solid white;position:absolute;bottom:-10px;left:10px;}
/*}}}*/
/***
!RSSReaderPlugin
***/
/*{{{*/
#RSSReader .ChanelTitle{display:none;}
#RSSReader a{text-decoration:none;}
#RSSReader ul{padding:0; margin:0;}
#RSSReader li.RSSItem{display:block; padding:0; margin:1em 0; border-bottom:1px solid #CCC; list-style-type:none;}
.RSSItem{margin:0.5em; padding-left:1.5em;}
.RSSItem ul{line-height:1.2em;}
/*}}}*/
/***
!NavigationMacro
***/
/*{{{*/
.navbar{float:left}
.navbar .button{zoom:1; border:1px solid [[ColorPalette::ButtonBorder]]; margin-right:3px;}
/*}}}*/
/***
!FontResizer
***/
/*{{{*/
.fontResizer{display:inline;color:#111;}
/*}}}*/
/***
!DisplayOpenTiddlersPlugin
***/
/*{{{*/
#openTiddlers{display:none;color:#8F8F8F;background:[[ColorPalette::TertiaryPale]];padding:0.5em 2em;margin-bottom:2em;line-height:1.6em;border-style:solid;border-width:1px 0;border-color:#ccc;}
/*}}}*/
/***
!IE で float 要素の margin が 2 倍になるバグ for demo
***/
/*{{{*/
#demo_container{
width:270px;
padding:10px 0px;
border:1px solid #CCC;
margin:5px 0 0 0;
}
#demo_container p{
padding:5px !important; margin:0 !important;
}
#demo_box1{
float:left;
margin-left:10px;
margin-bottom:5px;
width:250px;
background:#EEE;
}
#demo_box2{
margin-left:10px;
width:250px;
background:#EEE;
}
/*}}}*/
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::Foreground]];}
a:hover {color:[[ColorPalette::PrimaryDark]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::Foreground]]; background:transparent;}
h1 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px dotted [[ColorPalette::TertiaryMid]];}

.button {color:[[ColorPalette::Foreground]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]] !important;}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::Background]];}
.headerForeground {color:[[ColorPalette::Foreground]];}

.siteTitle {color:[[ColorPalette::Foreground]];}
.siteSubtitle {color:[[ColorPalette::TertiaryMid]];}

#mainMenu {color:[[ColorPalette::TertiaryDark]];}
#mainMenu .button{color:[[ColorPalette::PrimaryMid]];border:1px solid [[ColorPalette::Background]];}
#mainMenu .button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]] !important;}
#mainMenu .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.tabset {background:[[ColorPalette::TertiaryPale]]; border:1px solid #eee;}
.tabSelected,.tabUnselected {color:[[ColorPalette::Foreground]]; background:transparent; border:1px solid [[ColorPalette::TertiaryPale]];}
.tabSelected {background:[[ColorPalette::Background]]; border:1px solid [[ColorPalette::TertiaryLight]]; /*box-shadow:0 0 5px rgba(0,0,0,0.1); -moz-box-shadow:0 0 5px rgba(0,0,0,0.1); -webkit-box-shadow:0 0 5px rgba(0,0,0,0.1);*/}
.tabContents {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.tabContents .button {border:0;}
.tabContents .listTitle {font-weight:bold; color:[[ColorPalette::TertiaryDark]]; border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
.viewer .tabContents {background:[[ColorPalette::Background]];}

#sidebar {border-style:solid; border-color:#eee; border-width:5px 0 5px 5px; background:[[ColorPalette::Background]]; box-shadow:0 0 5px rgba(0,0,0,0.5); -moz-box-shadow:0 0 5px rgba(0,0,0,0.5); -webkit-box-shadow:0 0 5px rgba(0,0,0,0.5);}
#sidebarOptions a {border:1px solid [[ColorPalette::ButtonBorder]];}
#sidebarOptions a:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
#sidebarOptions input {border:1px solid [[ColorPalette::TertiaryLight]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryLight]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::Background]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryDark]]; border-top:1px solid [[ColorPalette::TertiaryDark]]; border-right:1px solid [[ColorPalette::TertiaryDark]]; border-bottom:1px solid [[ColorPalette::TertiaryDark]]; box-shadow: 0 0 5px rgba(0,0,0,0.5); -moz-box-shadow: 0 0 5px rgba(0,0,0,0.5); -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5);}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border:1px solid [[ColorPalette::Background]];}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border-color:[[ColorPalette::SecondaryMid]];}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]];}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler {/*border:1px solid [[ColorPalette::TertiaryLight]];*/}
.tiddler .defaultCommand {font-weight:bold;}
.tiddler.selected {/*border:1px solid [[ColorPalette::TertiaryMid]];*/}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]]; border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryLight]]; background-color:[[ColorPalette::TertiaryPale]];}
.tagging {background-color:[[ColorPalette::Background]];}
/*.selected .tagged {border:1px solid [[ColorPalette::TertiaryMid]];}*/
.tagging li a {border-bottom:1px dotted #CCC;}
.tagging li a:hover {background:[[ColorPalette::SecondaryLight]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::Foreground]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::ButtonBorder]];}
.viewer blockquote {border:1px solid [[ColorPalette::TertiaryLight]];}

.viewer table, table.twtable {border:1px solid [[ColorPalette::TertiaryLight]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]]; color:[[ColorPalette::Foreground]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryLight]];}

.viewer pre {color:[[ColorPalette::Foreground]]; border:1px solid [[ColorPalette::TertiaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::Foreground]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryMid]]; color:[[ColorPalette::TertiaryDark]];}

.viewer img {border:1px solid [[ColorPalette::TertiaryLight]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:12px; font-family:"_dummy_",/*"trebuchet ms","Segoe UI",calibri,*/arial,helvetica,"メイリオ",meiryo,sans-serif; margin:0; padding:0;}
pre,code {font-family:"Courier New",monospace;}
.tiddler,.popup,.button,.tagged,.tabset,.tab,.viewer img {border-radius:2px; -moz-border-radius:2px; -webkit-border-radius:2px;}

h1,h2,h3,h4,h5,h6 {/*font-weight:normal;*/ font-size:1em; text-decoration:none;}
h1,h2,h3,h4,h5,h6 {padding-bottom:0.3em; /margin:1em 0 0.5em 0;}
h4,h5,h6 {margin-top:5px;}
/*.tiddler[tags~="systemConfig"] h1{font-weight:bold;}*/

hr {height:1px;}

a {text-decoration:none; outline:none;}

dt {/*font-weight:bold;*/}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

ul {list-style-type:disc;}

th {font-weight:normal; text-align:left;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0; vertical-align:middle;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {/*font-weight:normal;*/}
.tiddlyLinkNonExisting {/*font-style:italic;*/}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {/*font-weight:bold;*/}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting {/*font-weight:bold;*/}
#sidebarTabs .tiddlyLinkNonExisting {/*font-style:italic;*/}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerForeground {position:relative; padding:40px 2em 10px 2em; left:0px; top:0px;}

.siteTitle {/*font-size:1.2em;*/}
.siteSubtitle {/*font-size:0.8em;*/ display:block; padding-top:5px;}

#mainMenu {padding:1.5em 2em; text-align:right;}
#mainMenu ul, #mainMenu ol {list-style-type:none; margin:0; padding-left:0.5em;}
#mainMenu .button{padding:0.3em 0.5em;}

#sidebar {display:none; position:absolute; right:0; width:0; padding:1.5em 2em 1.5em 1.5em; margin-top:1em; z-index:199;}
#sidebarOptions {padding:0.3em 0 1em 0; line-height:2.2;}
#sidebarOptions a {padding:0.3em 0.6em; white-space:nowrap;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {padding:0.5em; line-height:1.5;}
#sidebarOptions .sliderPanel a {/*font-weight:bold;*/ display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}

.wizard {padding:0.1em 1em 0em 1em;}
.wizard h1 {font-size:1em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}

#messageArea {position:fixed; top:1em; right:0em; margin:0.5em 2em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}

.popup {position:absolute; z-index:300; padding:3px; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.2em 0.7em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:0.7em 0.5em;}
.tab {margin:0 0.25em 0 0; padding:0.4em 0.8em;}
.tabContents {padding:0.5em 0; position:relative;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
.tabContents .listTitle {padding-bottom:1px; margin-top:5px;margin-bottom:0.3em;}
.tabContents .button {padding:1px 2px;}
#sidebarTabs .tabContents {overflow:hidden; top:2px;}
.viewer .tabContents {padding:1em 0 0;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 0 0 0;}

.toolbar {text-align:right;}

.tiddler {padding:1.3em 2em; margin-bottom:5px;}

.missing .viewer,.missing .title {/*font-style:italic;*/}

.title {font-weight:bold; padding:0.5em 0 0.5em 0; margin:1em 0 0.5em 0;}

.missing .subtitle {display:none;}
.subtitle {font-size:1em; margin-bottom:1em;}

.tiddler .button {padding:0.3em 0.6em;}

.tagging {margin:0.5em 0 0.5em 0; padding:0.5em; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em 0 0.5em 0.5em; padding:0.25em; float:right;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0; line-height:1.8;}
.tagging ul {line-height:1.7;}
.tagging li a {display:block;}
.tagging .listTitle {font-weight:bold;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {word-wrap:break-word;}
.viewer {line-height:1.6em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em;/* padding:0em 0.25em;*/}
.viewer blockquote {line-height:1.5em; padding:5px 7px;margin:0.5em 0;}
.viewer ul, .viewer ol {margin:0.5em 0 0.5em 0; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.5em 0;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:0.2em 0.5em; vertical-align:top;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

.viewer pre {padding:0.5em; margin:0.5em 0; font-size:1em; line-height:1.2em; overflow:auto;}
.viewer code {font-size:1em; line-height:1.4em;}

.viewer img {padding:5px;}

.editor {font-size:1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
.tagged, .navbar, .header, #openTiddlers, #jumpTopButton, #guideBubbles, .noPrint {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
/*{{{*/
/*
.tagCloud span {line-height: 3.5em; margin:3px;}
.tagCloud1{font-size: 90%;}
.tagCloud2{font-size: 95%;}
.tagCloud3{font-size: 100%;}
.tagCloud4{font-size: 105%;}
.tagCloud5{font-size: 110%;}
.tagCloud6{font-size: 115%;}
.tagCloud7{font-size: 120%;}
.tagCloud8{font-size: 125%;}
.tagCloud9{font-size: 130%;}
*/

.tagCloud {
font-family:arial,helvetica;
font-size:10px;
line-height:1.4;
}
.tagCloud a, .tagCloud a:link, .tagCloud a:visited {
display:block;
float:left;
border:1px solid #FFF;
margin:0px 2px 2px 0px;
padding:3px 7px;
color:#FFF;
/*font-weight:bold;*/
zoom:1;
white-space:nowrap;
/*border-radius:2px;*/
-moz-border-radius:2px;
/*-webkit-border-radius:2px;*/
}
.tagCloud a:link:hover, .tagCloud a:visited:hover{
border:1px solid #797979;
color:#696969;
background-color:#FFF;
text-decoration: none;
}
.tagCloud1 {background-color:#C6C6C6;}
.tagCloud2 {background-color:#AEAEAE;}
.tagCloud3 {background-color:#9A9A9A;}
.tagCloud4 {background-color:#8E8E8E;}
.tagCloud5 {background-color:#828282;}
.tagCloud6 {background-color:#767676;}
.tagCloud7 {background-color:#727272;}
.tagCloud8 {background-color:#6E6E6E;}
.tagCloud9 {background-color:#444444;}
/*}}}*/
<script>
(function($){

// abbreviation ----------------------------------
var CTE = createTiddlyElement;
var CTB = createTiddlyButton;
var CTL = createTiddlyLink;
var CTT = createTiddlyText;

// setup layout ----------------------------------
var elmCrumbs = CTE(place,"div",null,"navTagCrumbs");
wikify("!",place);
var elmLoading = $("<img />").appendTo(place)
 .attr("src",store.getTiddlerText("LoadingImage"))
 .css({"border":"none","vertical-align":"middle"})
 .wrap("<div />").parent().append("<span>&nbsp;loading tags list</span>");
var elmTags = CTE(place,"div",null,"navTagTags tagCloud");
CTE(place,"div",null,"tagClear");
var elmTids = CTE(place,"div",null,"tagging");

// -----------------------------------------------
var getTaggedTiddlers = function(tags,sort){
 var tids = [];

 store.forEachTiddler(function(title,tiddler){
  var f = 0;
  $(tiddler.tags).each(function(k,v){ if(tags.contains(v)) f++; });
  if(f == tags.length) tids.push(tiddler);
 });

 if(!sort) sort = "title";
 tids.sort(function(a,b){ return a[sort] < b[sort] ? -1 : (a[sort] == b[sort] ? 0 : +1); });
 return tids;
};

// -----------------------------------------------
var getRelatedTags = function(tags){
 var tids = getTaggedTiddlers(tags);
 var tagList = [], tagIdx = [];

 $(tids).each(function(k,v){
  $(v.tags).each(function(k2,v2){
   if(tags.contains(v2)) return true;
   if(tagIdx.contains(v2)){ tagList[tagIdx.indexOf(v2)][1]++; }
   else{ tagList.push([v2,1]); tagIdx.push(v2); }
  });
 });

 tagList.sort(function(a,b){ return a[0] < b[0] ? -1 : 1; });
 return tagList;
};

// -----------------------------------------------
var tmTag = null, pos = story.getTiddler(tiddler.title);
var refreshTags = function(tags){
 var list = (tags.length > 0) ? getRelatedTags(tags) : store.getTags();

 if(tmTag) clearTimeout(tmTag);
 $("a",elmTags).unbind("click");
 $(elmTags).hide().empty();
 $(elmLoading).show();

 var i = 0,len = list.length;
 tmTag = setTimeout(function(){
  if(!(i < len)){ complete(); return; }

  for(var g = 0; g < 9; g++){ if(list[i][1] < (g + 1) * 10){ g++; break; } }
  var weight = "tagCloud" + g;

  $("<a />").appendTo(elmTags).text(list[i][0]).addClass(weight)
   .attr({"href":"javascript:;","title":list[i][1] + " tiddlers"});

  i++;
  tmTag = setTimeout(arguments.callee);
 },10);

 var complete = function(){
  $(elmLoading).hide();
  $(elmTags).fadeIn("normal",function(){ // for IE7
   if(this.style.removeAttribute) this.style.removeAttribute("filter");
  });
  $("a",elmTags).bind("click",function(){
   window.scrollTo(0,findPosY(pos));
   query.push($(this).text());
   refresh(query);
  });
 };
};

// -----------------------------------------------
var refreshMatchTiddlers = function(tags){
 var list = (tags.length > 0) ? getTaggedTiddlers(tags) : []; //store.getTiddlers();

 $(elmTids)[(list.length != 0) ? "show" : "hide"]().empty();
 var ul = CTE(elmTids,"ul");
 $(ul).css({"margin":"0.25em","padding":"0"});

 var i = 0, len = list.length;
 setTimeout(function(){
  if(!(i < len)){ return; }
  CTL(CTE(ul,"li"),list[i].title,true);
  i++;
  setTimeout(arguments.callee);
 },10);
};

// -----------------------------------------------
var refreshCrumbs = function(){
 $("a",elmCrumbs).unbind("click");
 $(elmCrumbs).empty();

 CTB(elmCrumbs,"All","").setAttribute("href","javascript:;");
 for(var i = 0; i < query.length; i++){
  CTT(elmCrumbs," » ");
  CTB(elmCrumbs,query[i],"").setAttribute("href","javascript:;");
 }

 $("a",elmCrumbs).css({"margin":0}).bind("click",function(){
  var i = query.indexOf($(this).text());
  query.length = (i < query.length - 1) ? i + 1 : query.length;
  refresh(query);
 });
};

// -----------------------------------------------
var refresh = function(tags){
 refreshCrumbs();
 refreshTags(tags);
 refreshMatchTiddlers(tags);
};

// init ------------------------------------------
var query = [];
refresh(query);

})(jQuery);
</script>
|URL|http://twhelp.tiddlyspot.com/|
!All tiddlers in alphabetical order
<<tiddlerList group:"tiddler.title.substr(0,1)" groupTemplate:"![ %group ]\n">>
<script>
(function($){
$("h1+ul",place).hide();
$("h1",place)
 .css({"cursor":"pointer"})
 .click(function(){ $(this).next().slideToggle(); })
 .each(function(){ var s = $(this); s.attr({"title":s.next().children().size() + " tiddlers"}); });
})(jQuery);
</script>
<<allTags>>
!Recent 30 Entries
*[[» more..|All Archives]]
<<tiddlerList group:"tiddler.modified.formatString('YYYY.0MM').substr(0,7)" top:"30" groupTemplate:'!%group\n' order:"-modified">>
/***
|Name|TableSortingPlugin|
|Description|Dynamically sort tables by clicking on column headers|
|Author|Saq Imtiaz ( lewcid@gmail.com )|
|Source|http://tw.lewcid.org/#TableSortingPlugin|
|Code Repository|http://tw.lewcid.org/svn/plugins|
|Version|2.02|
|Date|25-01-2008|
|License|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|~CoreVersion|2.2.3|

!Usage:
* Make sure your table has a header row
** {{{|Name|Phone Number|Address|h}}}<br> Note the /h/ that denote a header row 
* Give the table a class of 'sortable'
** {{{
|sortable|k
|Name|Phone Number|Address|h
}}}<br>Note the /k/ that denotes a class name being assigned to the table.
* To disallow sorting by a column, place {{{<<nosort>>}}} in it's header
* To automatically sort a table by a column, place {{{<<autosort>>}}} in the header for that column
** Or to sort automatically but in reverse order, use {{{<<autosort reverse>>}}}

!Example:
|sortable|k
|Name |Salary |Extension |Performance |File Size |Start date |h
|ZBloggs, Fred |$12000.00 |1353 |+1.2 |74.2Kb |Aug 19, 2003 21:34:00 |
|ABloggs, Fred |$12000.00 |1353 |1.2 |3350b |09/18/2003 |
|CBloggs, Fred |$12000 |1353 |1.200 |55.2Kb |August 18, 2003 |
|DBloggs, Fred |$12000.00 |1353 |1.2 |2100b |07/18/2003 |
|Bloggs, Fred |$12000.00 |1353 |01.20 |6.156Mb |08/17/2003 05:43 |
|Turvey, Kevin |$191200.00 |2342 |-33 |1b |02/05/1979 |
|Mbogo, Arnold |$32010.12 |2755 |-21.673 |1.2Gb |09/08/1998 |
|Shakespeare, Bill |£122000.00|3211 |6 |33.22Gb |12/11/1961 |
|Shakespeare, Hamlet |£9000 |9005 |-8 |3Gb |01/01/2002 |
|Fitz, Marvin |€3300.30 |5554 |+5 |4Kb |05/22/1995 |

***/
// /%
//!BEGIN-PLUGIN-CODE
config.tableSorting = {
	
	darrow: "\u2193",
	
	uarrow: "\u2191",
	
	getText : function (o) {
		var p = o.cells[SORT_INDEX];
		return p.innerText || p.textContent || '';
	},
	
	sortTable : function (o,rev) {
		SORT_INDEX = o.getAttribute("index");
		var c = config.tableSorting;
		var T = findRelated(o.parentNode,"TABLE");
		if(T.tBodies[0].rows.length<=1) 
			return;
		var itm = "";
		var i = 0;
		while (itm == "" && i < T.tBodies[0].rows.length) {
			itm = c.getText(T.tBodies[0].rows[i]).trim();
			i++;
		}
		if (itm == "") 
			return; 	
		var r = [];
		var S = o.getElementsByTagName("span")[0];		
		c.fn = c.sortAlpha; 
		if(!isNaN(Date.parse(itm)))
			c.fn = c.sortDate; 
		else if(itm.match(/^[$|£|€|\+|\-]{0,1}\d*\.{0,1}\d+$/)) 
			c.fn = c.sortNumber; 
		else if(itm.match(/^\d*\.{0,1}\d+[K|M|G]{0,1}b$/)) 
			c.fn = c.sortFile; 
		for(i=0; i<T.tBodies[0].rows.length; i++) {
			 r[i]=T.tBodies[0].rows[i]; 
		} 
		r.sort(c.reSort);
		if(S.firstChild.nodeValue==c.darrow || rev) {
			r.reverse();
			S.firstChild.nodeValue=c.uarrow;
		} 
		else 
			S.firstChild.nodeValue=c.darrow;
		var thead = T.getElementsByTagName('thead')[0]; 
		var headers = thead.rows[thead.rows.length-1].cells;
		for(var k=0; k<headers.length; k++) {
			if(!hasClass(headers[k],"nosort"))
				addClass(headers[k].getElementsByTagName("span")[0],"hidden");
		}
		removeClass(S,"hidden");
		for(i=0; i<r.length; i++) { 
			T.tBodies[0].appendChild(r[i]);
			c.stripe(r[i],i);
			for(var j=0; j<r[i].cells.length;j++){
				removeClass(r[i].cells[j],"sortedCol");
			}
			addClass(r[i].cells[SORT_INDEX],"sortedCol");
		}
	},
	
	stripe : function (e,i){
		var cl = ["oddRow","evenRow"];
		i&1? cl.reverse() : cl;
		removeClass(e,cl[1]);
		addClass(e,cl[0]);
	},
	
	sortNumber : function(v) {
		var x = parseFloat(this.getText(v).replace(/[^0-9.-]/g,''));
		return isNaN(x)? 0: x;
	},
	
	sortDate : function(v) {
		return Date.parse(this.getText(v));
	},

	sortAlpha : function(v) {
		return this.getText(v).toLowerCase();
	},
	
	sortFile : function(v) { 		
		var j, q = config.messages.sizeTemplates, s = this.getText(v);
		for (var i=0; i<q.length; i++) {
			if ((j = s.toLowerCase().indexOf(q[i].template.replace("%0\u00a0","").toLowerCase())) != -1)
				return q[i].unit * s.substr(0,j);
		}
		return parseFloat(s);
	},
	
	reSort : function(a,b){
		var c = config.tableSorting;
		var aa = c.fn(a);
		var bb = c.fn(b);
		return ((aa==bb)? 0 : ((aa<bb)? -1:1));
	}
};

Story.prototype.tSort_refreshTiddler = Story.prototype.refreshTiddler;
Story.prototype.refreshTiddler = function(title,template,force,customFields,defaultText){
	var elem = this.tSort_refreshTiddler.apply(this,arguments);
	if(elem){
		var tables = elem.getElementsByTagName("TABLE");
		var c = config.tableSorting;
		for(var i=0; i<tables.length; i++){
			if(hasClass(tables[i],"sortable")){
				var x = null, rev, table = tables[i], thead = table.getElementsByTagName('thead')[0], headers = thead.rows[thead.rows.length-1].cells;
				for (var j=0; j<headers.length; j++){
					var h = headers[j];
					if (hasClass(h,"nosort"))
						continue;
					h.setAttribute("index",j);
					h.onclick = function(){c.sortTable(this); return false;};
					h.ondblclick = stopEvent;
					if(h.getElementsByTagName("span").length == 0)
						createTiddlyElement(h,"span",null,"hidden",c.uarrow); 
					if(!x && hasClass(h,"autosort")) {
						x = j;
						rev = hasClass(h,"reverse");
					}
				}
				if(x)
					c.sortTable(headers[x],rev);		
			}
		}
	}
	return elem; 
};

setStylesheet("table.sortable span.hidden {visibility:hidden;}\n"+
	"table.sortable thead {cursor:pointer;}\n"+
	"table.sortable .nosort {cursor:default;}\n"+
	"table.sortable td.sortedCol {background:#ffc;}","TableSortingPluginStyles");

function stopEvent(e){
	var ev = e? e : window.event;
	ev.cancelBubble = true;
	if (ev.stopPropagation) ev.stopPropagation();
	return false;	
}	

config.macros.nosort={
	handler : function(place){
		addClass(place,"nosort");
	}	
};

config.macros.autosort={
	handler : function(place,m,p,w,pS){
		addClass(place,"autosort"+" "+pS);		
	}	
};
//!END-PLUGIN-CODE
// %/
/***
|Name|TagCloudPlugin|
|Source|http://www.TiddlyTools.com/#TagCloudPlugin|
|Version|1.6.0|
|Author|Eric Shulman|
|Original Author|Clint Checketts|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|present a 'cloud' of tags (or links) using proportional font display|

!modified by rc2
{{{
-var group=Math.ceil((items[t].count-least)/groupSize)||1;
+for(var group=0; group<this.groups; group++) {
+	if(items[t].count<(group+1)*10) {group++; break;}
+}
}}}
{{{
-btn.style.fontWeight='normal';
}}}

!Usage
<<<
{{{
<<cloud type action:... limit:... tag tag tag ...>>
<<cloud type action:... limit:... +TiddlerName>>
<<cloud type action:... limit:... =tagvalue>>
}}}
where:
* //type// is a keyword, one of:
** ''tags'' (default) - displays a cloud of tags, based on frequency of use
** ''links'' - displays a cloud of tiddlers, based on number of links //from// each tiddler
** ''references'' - displays a cloud of tiddlers, based on number of links //to// each tiddler
* ''action:popup'' (default) - clicking a cloud item shows a popup with links to related tiddlers<br>//or//<br> ''action:goto'' - clicking a cloud item immediately opens the tiddler corresponding to that item
* ''limit:N'' (optional) - restricts the cloud display to only show the N most popular tags/links
* ''tag tag tag...'' (or ''title title title'' if ''links''/''references'' is used)<br>shows all tags/links in the document //except// for those listed as macro parameters
* ''+TiddlerName''<br>shows tags/links read from a space-separated, bracketed list stored in a separate tiddler.
* ''=tagvalue'' (//only if type=''tags''//)<br>shows only tags that are themselves tagged with the indicated tag value (i.e., ~TagglyTagging usage)
//note: for backward-compatibility, you can also use the macro {{{<<tagCloud ...>>}}} in place of {{{<<cloud ...>>}}}//
<<<

!Examples
<<<
//all tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//
{{{<<cloud systemConfig excludeMissing script>>}}}
{{groupbox{<<cloud systemConfig excludeMissing script>>}}}
//top 10 tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//
{{{<<cloud limit:10 systemConfig excludeMissing script>>}}}
{{groupbox{<<cloud limit:10 systemConfig excludeMissing script>>}}}
//tags listed in// [[FavoriteTags]]
{{{<<cloud +FavoriteTags>>}}}
{{groupbox{<<cloud +FavoriteTags>>}}}
//links to tiddlers tagged with 'package'//
{{{<<cloud action:goto =package>>}}}
{{groupbox{<<cloud action:goto =package>>}}}
//top 20 most referenced tiddlers//
{{{<<cloud references limit:20>>}}}
{{groupbox{<<cloud references limit:20>>}}}
//top 20 tiddlers that contain the most links//
{{{<<cloud links limit:20>>}}}
{{groupbox{<<cloud links limit:20>>}}}
<<<

!Revisions
<<<
2009.02.26 [1.6.0] added {{{action:...}}} parameter to apply popup vs. goto action when clicking cloud items
2009.02.05 [1.5.0] added ability to show links or back-links (references) instead of tags and renamed macro to {{{<<cloud>>}}} to reflect more generalized usage.
2008.12.16 [1.4.2] corrected group calculation to prevent 'group=0' error
2008.12.16 [1.4.1] revised tag filtering so excluded tags don't affect calculations
2008.12.15 [1.4.0] added {{{limit:...}}} parameter to restrict the number of tags displayed to the top N most popular
2008.11.15 [1.3.0] added {{{+TiddlerName}}} parameter to include only tags that are listed in the indicated tiddler
2008.09.05 [1.2.0] added '=tagname' parameter to include only tags that are themselves tagged with the specified value (i.e., ~TagglyTagging usage)
2008.07.03 [1.1.0] added 'segments' property to macro object.  Extensive code cleanup
<<<

!Code
***/
//{{{
version.extensions.TagCloudPlugin= {major: 1, minor: 6 , revision: 0, date: new Date(2009,2,26)};
//Originally created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman
//Currently maintained and enhanced by Eric Shulman
//}}}
//{{{
config.macros.cloud = {
	tagstip: "%1 tiddlers tagged with '%0'",
	refslabel: " (%0 references)",
	refstip: "%1 tiddlers have links to '%0'",
	linkslabel: " (%0 links)",
	linkstip: "'%0' has links to %1 other tiddlers",
	groups: 9,
	init: function() {
		config.macros.tagCloud=config.macros.cloud; // for backward-compatibility
		config.shadowTiddlers.TagCloud='<<cloud>>';
		config.shadowTiddlers.StyleSheetTagCloud=
			'/*{{{*/\n'
			+'.tagCloud span {line-height: 3.5em; margin:3px;}\n'
			+'.tagCloud1{font-size: 80%;}\n'
			+'.tagCloud2{font-size: 100%;}\n'
			+'.tagCloud3{font-size: 120%;}\n'
			+'.tagCloud4{font-size: 140%;}\n'
			+'.tagCloud5{font-size: 160%;}\n'
			+'.tagCloud6{font-size: 180%;}\n'
			+'.tagCloud7{font-size: 200%;}\n'
			+'.tagCloud8{font-size: 220%;}\n'
			+'.tagCloud9{font-size: 240%;}\n'
			+'/*}}}*/\n';
		setStylesheet(store.getTiddlerText('StyleSheetTagCloud'),'tagCloudsStyles');
	},
	getLinks: function(tiddler) { // get list of links to existing tiddlers and shadows
		if (!tiddler.linksUpdated) tiddler.changed();
		var list=[]; for (var i=0; i<tiddler.links.length; i++) {
			var title=tiddler.links[i];
			if (store.isShadowTiddler(title)||store.tiddlerExists(title))
				list.push(title);
		}
		return list;
	},
	handler: function(place,macroName,params) {
		// unpack params
		var inc=[]; var ex=[]; var limit=0; var action='popup';
		var links=(params[0]&&params[0].toLowerCase()=='links'); if (links) params.shift();
		var refs=(params[0]&&params[0].toLowerCase()=='references'); if (refs) params.shift();
		if (params[0]&&params[0].substr(0,7).toLowerCase()=='action:')
			action=params.shift().substr(7).toLowerCase();
		if (params[0]&&params[0].substr(0,6).toLowerCase()=='limit:')
			limit=parseInt(params.shift().substr(6));
		if (params.length) {
			if (params[0].substr(0,1)=='+') { // get tag list from tiddler
				var inc=store.getTiddlerText(params[0].substr(1),'').readBracketedList();
			} else if (params[0].substr(0,1)=='=') { // get tag list using tagged tags
				var tagged=store.getTaggedTiddlers(params[0].substr(1));
				for (var t=0; t<tagged.length; t++) inc.push(tagged[t].title);
			} else ex=params; // exclude params
		}
		// get all items, include/exclude specific items
		var items=[];
		var list=(links||refs)?store.getTiddlers('title','excludeLists'):store.getTags();
		for (var t=0; t<list.length; t++) {
			var title=(links||refs)?list[t].title:list[t][0];
			if (links)	var count=this.getLinks(list[t]).length;
			else if (refs)	var count=store.getReferringTiddlers(title).length;
			else 		var count=list[t][1];
			if ((!inc.length||inc.contains(title))&&(!ex.length||!ex.contains(title)))
				items.push({ title:title, count:count });
		}
		if(!items.length) return;
		// sort by decending count, limit results (optional)
		items=items.sort(function(a,b){return(a.count==b.count)?0:(a.count>b.count?-1:1);});
		while (limit && items.length>limit) items.pop();
		// find min/max and group size
		var most=items[0].count;
		var least=items[items.length-1].count;
		var groupSize=(most-least+1)/this.groups;
		// sort by title and draw the cloud of items
		items=items.sort(function(a,b){return(a.title==b.title)?0:(a.title>b.title?1:-1);});
		var cloudWrapper = createTiddlyElement(place,'div',null,'tagCloud',null);
		for (var t=0; t<items.length; t++) {
			cloudWrapper.appendChild(document.createTextNode(' '));
//			var group=Math.ceil((items[t].count-least)/groupSize)||1;
			for(var group=0; group<this.groups; group++) {
				if(items[t].count<(group+1)*10) {group++; break;}
			}
			var className='tagCloudtag tagCloud'+group;
			var tip=refs?this.refstip:links?this.linkstip:this.tagstip;
			tip=tip.format([items[t].title,items[t].count]);
			if (action=='goto') { // TAG/LINK/REFERENCES GOTO
				var btn=createTiddlyLink(cloudWrapper,items[t].title,true,className);
				btn.title=tip;
//				btn.style.fontWeight='normal';
			} else if (!links&&!refs) { // TAG POPUP
				var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,onClickTag,className);
				btn.setAttribute('tag',items[t].title);
			} else { // LINK/REFERENCES POPUP
				var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,
					function(ev) { var e=ev||window.event; var cmt=config.macros.cloud;
						var popup = Popup.create(this);
						var title = this.getAttribute('tiddler');
						var count = this.getAttribute('count');
						var refs  = this.getAttribute('refs')=='T';
						var links = this.getAttribute('links')=='T';
						var label = (refs?cmt.refslabel:cmt.linkslabel).format([count]);
						createTiddlyLink(popup,title,true);
						createTiddlyText(popup,label);
						createTiddlyElement(popup,'hr');
						if (refs) {
							popup.setAttribute('tiddler',title);
							config.commands.references.handlePopup(popup,title);
						}
						if (links) {
							var tiddler = store.fetchTiddler(title);
							var links=config.macros.cloud.getLinks(tiddler);
							for(var i=0;i<links.length;i++)
								createTiddlyLink(createTiddlyElement(popup,'li'),
									links[i],true);
						}
						Popup.show();
						e.cancelBubble=true; if(e.stopPropagation) e.stopPropagation();
						return false;
					}, className);
				btn.setAttribute('tiddler',items[t].title);
				btn.setAttribute('count',items[t].count);
				btn.setAttribute('refs',refs?'T':'F');
				btn.setAttribute('links',links?'T':'F');
				btn.title=tip;
			}
		}
	}
};
//}}}
|URL|http://gyauza.egoism.jp/clip/|
<<tiddler SimpleRSSReader with: "http://www.pheedo.jp/f/JapaneseTechCrunch">>
結局 TeraTerm は関係なかったのですが、嵌ったのでメモです。

!日本語入力ができない
Sun Studio 11 を TeraTerm から CUI モードでインストールしようとしたところで、始めに EULA の同意があり、以下の様に日本語での入力を要求されます。何か不自然ですね。機械的な翻訳のせいでしょうか。
>次のプロンプトに「同意する」と入力して、この契約書に同意してください。
で、入力をしてみると。。日本語が文字化けしてしまいます。うーん。。分かりません。普段、日本語なんて入力しないし。LANG=C でインストーラを起動すれば英語になって回避できそうですが、やはり気になるので少し調べてみました。と言うか途中で stty という端末用オプションの設定コマンドの存在を思い出しました。

!TeraTerm の設定
文字コードの設定を LANG と合わせます。これは表示が乱れてすぐ気がつくので当然やってます。

!stty で端末の設定
以下のオプションが日本語入出力に影響します。([[Sun マニュアル|http://docs.sun.com/app/docs/doc/819-1210/6n3j74jtc?l=ja&a=view&q=stty]]より抜粋。)
|!parenb|パリティの生成と検出を有効または無効にします。|
|!cs5 cs6 cs7 cs8|文字サイズを選択します (termio(7I) を参照)。|
|!istrip|入力文字を 7 ビットにストリップするか、ストリップしないかを指定します。|
普通は以下のようにするらしいのですが、
>stty cs8 -parenb -istrip
作業していた環境では以下になっています。
>stty istrip
結局、最上位ビットがクリアされて文字化け。。と言う詰らないオチです。
/***
|Name|ThumbnailTiddlersMacro|
|Version|0.1.2|
|Date|2009.11.16|
|Source|http://rc-2.net/home/#ThumbnailTiddlersMacro|
|Author|rc2|
|Status|experimental|
|CoreVersion|2.5.0+ (Requires jQuery)|

!Description
*Displayed tiddler をサムネイル表示します。
*Switch Tiddlers の 1 つのソリューション。

!Usage
>{{{<<thumbnailTiddlers>>}}}
*再度クリックするか、サムネイルのクリックで通常表示へ戻ります。
*Demo : <<thumbnailTiddlers>>

!Configuration options
|value|description|default|h
|<<option txtThumbWidth>>|thumbnail width(px..)|200|
|<<option txtThumbHeight>>|thumbnail height(px..)|200|
|<<option txtThumbZoom>>|zoom size(%..)|70|
(to apply, close and reload.)

!Configuration styles
サムネイル表示時のスタイル(エレメントのサイズ、非表示等)を下記 tiddler へ定義します。なければデフォルト値で表示します。動的にスタイル操作をしているため、下記 tiddler 以外へ定義しても意味はありません。
>[[ThumbnailTiddlersStyle]]
上記 option 値をプレースホルダで埋め込みます。
|placeholder|value|e.g.|h
|%1|thumbnail width(px..)|{{{width: %0px;}}}|
|%2|thumbnail height(px..)|{{{height: %1px;}}}|
|%3|zoom(%..)|{{{font-size: %2%;}}}|

!Revisions
*2009.11.16 : 0.1.2, refactoring
*2009.09.29 : 0.1.1, Bug Fix(unbind event)
*2009.07.17 : 0.1

!Code
***/
//{{{
version.extensions.thumbnailTiddlers = {major: 0, minor: 1, revision: 2, date: new Date(2009,11,16)};

(function($){
config.macros.thumbnailTiddlers = {
 label: "Thumbnail",
 prompt: "Thumbnail displayed tiddlers",

 style: ".tiddler{cursor:pointer; width:%0px; height:%1px !important; overflow:hidden; float:left; margin-right:5px;}\n"
       +".tiddler{font-size:%2%;}\n"
       +".tiddler .tagged,.tiddler .toolbar,.tiddler .navbar{display:none;}\n"
       +"#sidebar{display:none;}\n"
       +"#contentWrapper #displayArea{margin-right:1em;}\n"
       +"",

 isThumb: false,

 init: function(){
  var c = config.options;
  var w = c.txtThumbWidth = c.txtThumbWidth ? c.txtThumbWidth : 200;
  var h = c.txtThumbHeight = c.txtThumbHeight ? c.txtThumbHeight : 200;
  var z = c.txtThumbZoom = c.txtThumbZoom ? c.txtThumbZoom : 70;
  this.style = store.getTiddlerText("ThumbnailTiddlersStyle",this.style);
  this.style = this.style.format([w,h,z]);
 },

 handler: function(){
  createTiddlyButton(place,this.label,this.prompt,this.onClickThumbnail,"button thumbnailTiddlers");
 },

 toggleView: function(){
  var self = config.macros.thumbnailTiddlers;
  self.isThumb = !self.isThumb;
  setStylesheet(self.isThumb ? self.style : " ","thumbnailTiddlersStyles");
  $(".tiddler")[self.isThumb ? "live" : "die"]("click",self.onClickTiddler);
 },

 onClickTiddler: function(){
  var self = config.macros.thumbnailTiddlers;
  self.toggleView();
  var title = $(this).attr("tiddler");
  story.closeTiddler(title);
  story.displayTiddler(null,title);
 },

 onClickThumbnail: function(e){
  var self = config.macros.thumbnailTiddlers;
  self.toggleView();

  var ev = e? e : window.event;
  ev.cancelBubble = true;
  if(ev.stopPropagation) ev.stopPropagation();
  return false;	
 }
};
})(jQuery);
//}}}
/*{{{*/
/* essential */
.tiddler{cursor:pointer; width:%0px; height:%1px !important; overflow:hidden; float:left; margin-right:5px;}
/*.tiddler{font-size:%2%;}*/
#sidebar{display:none;}
#contentWrapper #displayArea{margin:1em 2em;}

/* more styles */
.tiddler{border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px;}
.tiddler{border:4px solid #eee;}
.tiddler.selected{border:4px solid #ccc; -moz-box-shadow:0 0 10px #aaa inset; -webkit-box-shadow:0 0 10px #aaa inset; box-shadow:0 0 10px #aaa inset;}
/*
.tiddler .tab{font-size:4px;}
.tiddler .button,.tiddler .tagCloud{font-size:7px;}
*/
.tiddler .tagged, .tiddler .toolbar, .tiddler .navbar, .tiddler .subtitle{display:none;}
.tabset{overflow:hidden;}
.tabContents,.tiddler img{position:static !important;}
.topicHeader a{font-weight:normal !important;}
#tiddlerHOME .tabset,#tiddlerHOME .topicNavi{display:none;}
/*}}}*/
現在表示している tiddler をサムネイル表示するプラグインを作ってみました。最近のブラウザで見かけるサイトのサムネイル表示機能。あれを見ていてふと思いつきました。一応、Switching tiddler 系に分類されるソリューションです。と言いたいですが半分はネタですので利便性は疑問視。。

!ThumbnailTiddlersMacro
所謂サイトをサムネイル化する API のように実際にイメージを生成しているわけではありません。各エレメントのサイズを調整して、それっぽく見せているだけの擬似的なものです。それでも雰囲気は掴めます。メニュー上部に設置してあるので試してみてください。

ちなみに、シングルページモードにするような下記のプラグインとはコンフリクトというか、そもそも複数 tiddler な状態とはならないので併用しても意味はないと思われます。
*[[SinglePageModePlugin|http://www.TiddlyTools.com/#SinglePageModePlugin]] / ~TiddlyTools
*[[HistoryPlugin|http://tiddlywiki.bidix.info/#HistoryPlugin]] / ~BidiXTW
*[[TiddlersBarPlugin|http://visualtw.ouvaton.org/VisualTW.html]] / ~VisualTW
/***
|Name|TiddlerListMacro|
|Version|2.3 (8-Jan-2008)|
|Source|http://jackparke.googlepages.com/jtw.html#TiddlerListMacro ([[del.icio.us|http://del.icio.us/post?url=http://jackparke.googlepages.com/jtw.html%23TiddlerListMacro]])|
|Author|[[Jack]]|
|Type|Macro|
|Documentation|[[TiddlerListMacroDocumentation]]|

!Usage
{{{<<tiddlerList parameter1:"value1" parameter2:"value2" ...>>}}}
See TiddlerListMacroDocumentation and TiddlerListMacroExamples

!Code
***/
//{{{
version.extensions.tiddlerList = {major: 2, minor: 3, revision: 0, date: new Date("Jan 08, 2008")};
// template = [header, item, separator, group, footer]
config.macros.tiddlerList={
 formats : {list:true, nlist:true, span:true, stack:true, csv:true, table:true},
 templates : {
 list : [ "%0\n", "* %0\n", "", "%group\n", "%0\n"],
 nlist : [ "%0", "# %0\n", "", "%group\n", "%0\n"],
 span : [ "%0", "%0", " ", "%group", "%0"],
 stack : [ "%0", "%0", "\n", "%group", "%0"],
 csv : [ "%0", "%0", ", ", "%0", "%0\n"],
 table : ["|!%0|\n", "|%0|\n", "", "|%group|\n", "|%0|\n"]
 },
 dateFormat : "YYYY/MM/DD"
}

if (typeof gCurrentTiddler == 'undefined')
 var gCurrentTiddler;

config.macros.tiddlerList.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
 // Some globals
 var count=0, groupCount=0, theGroup="", lastGroup="", firstInGroup = false;
 var currentTiddler = tiddler;
 gCurrentTiddler = tiddler;
 var listWikiText="";
 var formats = this.formats;
 
 // SQL-Like parameters
 var parameters = paramString.parseParams("name",null,true);
 var pTags = parameters[0]["tags"]?parameters[0]["tags"][0].split(","):[];
 var pOrder = parameters[0]["order"]?parameters[0]["order"][0]:"title";
 var pTop = parameters[0]["top"]?parameters[0]["top"][0]:-1;
 var pText = parameters[0]["text"]?parameters[0]["text"][0]:"";
 var pTitle = parameters[0]["title"]?parameters[0]["title"][0]:"";
 var pSearch = parameters[0]["search"]?parameters[0]["search"][0]:"";
 var pFilter = parameters[0]["filter"]?parameters[0]["filter"][0]:"";
 var pHeader = parameters[0]["header"]?paramFormat(parameters[0]["header"][0]):"";
 var pFooter = parameters[0]["footer"]?paramFormat(parameters[0]["footer"][0]):"";
 var pGroup = parameters[0]["group"]?parameters[0]["group"][0]:"";
 var pDateFormat = parameters[0]["dateFormat"]?parameters[0]["dateFormat"][0]:this.dateFormat;
 var pCustomParameter = parameters[0]["customParameter"]?parameters[0]["customParameter"][0]:"";
 var pFormat = parameters[0]["format"]?parameters[0]["format"][0]:"list";
 pFormat = formats[pFormat]?pFormat:"list"
 
 // Separator
 var pSeparator = parameters[0]["separator"]?paramFormat(parameters[0]["separator"][0]):(parameters[0]["seperator"]?paramFormat(parameters[0]["seperator"][0]):this.templates[pFormat][2])

 // Template for group
 var pGroupTemplate = this.templates[pFormat][3];
 if (parameters[0]["groupTemplate"])
 pGroupTemplate = paramFormat(parameters[0]["groupTemplate"][0])
 pGroupTemplate = pGroupTemplate.replace("$))", ">>")
 
 // Template for group footer
 var pGroupFooterTemplate = "";
 if (parameters[0]["groupFooterTemplate"])
 pGroupFooterTemplate = paramFormat(parameters[0]["groupFooterTemplate"][0])
 pGroupFooterTemplate = pGroupFooterTemplate.replace("$))", ">>")
 
 // Template for item
 var pItemTemplate = this.templates[pFormat][1];
 if (parameters[0]["itemTemplate"])
 pItemTemplate = paramFormat(parameters[0]["itemTemplate"][0])
 pItemTemplate = pItemTemplate.replace("$))", ">>").replace("%link", "%0").replace("%item", "%1").replace("%abstract", "%2").replace("%text", "%3").replace("%created", "%4").replace("%modified", "%5").replace("%modifier", "%6").replace("%group", "%7").replace("%title", "%8").replace("%tags", "%9").replace("%nolink", "%10").replace("%custom", "%11")
 // Template for footer
 var pFooterTemplate = this.templates[pFormat][4].replace("%count", "%1")

 // Get all tiddlers
 var tiddlers = store.reverseLookup("tags","excludeLists",false);

 // Sorting
 if(!pOrder)
 pOrder = "title";
 if (pOrder.match(/^\-/i)) {
 pOrder = pOrder.substr(1)
 var sortDesc = true;
 }
 // Sorting on a standard field
 if (pOrder.match(/(title)|(text)|(modifier)|(modified)|(created)|(tags)/))
  if (sortDesc)
   tiddlers.sort(function (a,b) {if(a[pOrder] == b[pOrder]) return(0); else return (a[pOrder] > b[pOrder]) ? -1 : +1; });
  else
  tiddlers.sort(function (a,b) {if(a[pOrder] == b[pOrder]) return(0); else return (a[pOrder] < b[pOrder]) ? -1 : +1; });
 else
  if (sortDesc)
   tiddlers.sort(function (a,b) {if(a.fields[pOrder] == b.fields[pOrder]) return(0); else return (a.fields[pOrder] > b.fields[pOrder]) ? -1 : +1; });
  else
   tiddlers.sort(function (a,b) {if(a.fields[pOrder] == b.fields[pOrder]) return(0); else return (a.fields[pOrder] < b.fields[pOrder]) ? -1 : +1; });

 // Header
 if (pHeader)
 listWikiText += formatItem(this.templates[pFormat][0], [pHeader], pFormat)
 
 for(var t=0; t<tiddlers.length; t++) {
 tiddler = tiddlers[t];
 if (pText!="" && tiddler.text=="") tiddler.text=store.getValue(tiddler, 'text')
 if (pTop==-1 || count<pTop) {
 if (pText=="" || tiddler.text.match(pText)) {
 if (pTitle=="" || tiddler.title.match(pTitle)) {
 if (pSearch=="" || (tiddler.title.match(pSearch) || tiddler.text.match(pSearch))) {
 if (pFilter=="" || eval(pFilter)) {
 if (pTags.length==0 || compareArrays(tiddler.tags, pTags, "all")) {
 count++;
 if (tiddler.text=="") tiddler.text=store.getValue(tiddler, 'text')
 // Grouping
 if (pGroup) {
 theGroup = eval(pGroup);
 if(theGroup != lastGroup) {
 groupCount++;firstInGroup = true;
 if (pGroupFooterTemplate && groupCount>1)
 listWikiText += pGroupFooterTemplate.replace("%group", theGroup)
 listWikiText += pGroupTemplate.replace("%group", theGroup)
 lastGroup = theGroup;
 } else
  firstInGroup = false;
 }
 // Separators
 if (count>1 && !firstInGroup) listWikiText += pSeparator;
 //Plaintext title
 var noLink = tiddler.title.match(config.textPrimitives.wikiLink)?"~" + tiddler.title:tiddler.title;
 // Custom parameter
 if (pCustomParameter)
 var custom="";
 try {
 custom = eval(pCustomParameter)
 } catch (e) {}
 // List individual tiddler
 var strItem = formatItem(pItemTemplate,["[[" + tiddler.title + "]]",count,tiddler.text.substr(0,300),tiddler.text,tiddler.created.formatString(pDateFormat),tiddler.modified.formatString(pDateFormat),tiddler.modifier,theGroup,tiddler.title,tiddler.tags.join(" "),noLink,custom], pFormat)
 for (var fld in tiddler.fields) strItem = strItem.replace('%field.' + fld, tiddler.fields[fld]);
 listWikiText += strItem
 }
 }
 }
 }
 }
 }
 }
 
 // Last group footer
 if (pGroup && pGroupFooterTemplate && count>0)
 listWikiText += pGroupFooterTemplate.replace("%group", theGroup)

 // Footer
 if (pFooter) {
 pFooter = pFooter.replace("%count", count)
 listWikiText += formatItem(pFooterTemplate, [pFooter], pFormat)
 }
 
 // Render result
 if (!parameters[0]["debug"])
 wikify(listWikiText,place, null, currentTiddler)
 else
 place.innerHTML = "<textarea style=\"width:100%;\" rows=30>" + listWikiText + "</textarea>"
 
 
 // Local functions
 
 function paramFormat(param) {
 // Allow "\n" in non evalled parameters
 return param.replace(/\\n/g, "\n");
 }
 
 function formatItem(template, values, format) {
 // Fill template with values (depending on list format)
 if (format.match(/table/) && values[0].match(/\|/))
 return ("%0\n").format(values)
 else
 return template.format(values)
 }
 
 function compareArrays(array, values, logic) {
 // Compare items in array with AND("all") or OR("any") logic
 var matches=0;
 for(var v=0; v<values.length; v++) 
 if(values[v].replace(/^\s+|\s+$/g,"").match(/^\-/) && !array.contains(values[v].replace(/^\s+|\s+$/g,"").substr(1)))
 matches++;
 else if (array.contains(values[v]))
 matches++;
 return ((logic=="all" && matches==values.length) || (logic!="all" && matches>0))
 }
 
}

String.prototype.prettyTrim = function(len,prefix,postfix) {
 var result = this.trim().replace(/\r\n/g,' ').replace(/\n/g,' ');
 if (!prefix) prefix = '';
 if (!postfix) postfix = '';
 if (result.length > len - 3)
 return prefix + result.substr(0,len) + '...' + postfix;
 else if (result.length > 0)
 return prefix + result + postfix;
 else
 return result;
}

//}}}
|URL|http://tiddlythemes.com/|
|URL|http://www.tiddlytools.com/|
|URL|http://tiddlyvault.tiddlyspot.com/|
|URL|http://d.hatena.ne.jp/aramakie/|
|URL|http://www.geocities.jp/wikistyle/|
|URL|http://trac.tiddlywiki.org/|
HTML の文書構造をあまり考えない BLOG 等では関係ないのかも知れません。一方 Wiki は構造化の仕掛けが前提にあり、例えばヘッダ要素を多く含みます。RSS リーダ等スタイルシートが適用されない状態で閲覧すると、ヘッダが異常に大きく読み難くなります。色々と見せ方はありそうなので模索してみます。

!description を出力しない
タイトルしか表示されないことを許容する必要があり少し主旨から外れますが、これが一番お手軽です。各エントリの RSS 出力は tiddlerToRssItem が行っています。以下の行をコメントアウトすれば OK です。
{{{
s += "<description>" + wikifyStatic(tiddler.text,null,tiddler).htmlEncode() + "</description>\n";
}}}

!適当な文字数で切り詰める
これも良く見かけます。冒頭には概要文がある場合が多いので有効です。文字数で切る場合は html のタグや wiki のマークアップの途中で切れないように注意が必要です。ここでは先頭行を行抽出する方法を挙げてみます。html ではタグの整合性の問題があるので変換前に加工します。以下、例です。変更する関数は上記同様です。
{{{
var m = tiddler.text.match(/\s*(.*)/);
m = m != null && m.length >= 1 ? m[1] : "";
s += "<description>" + wikifyStatic(m,null,tiddler).htmlEncode() + "</description>\n";
}}}

!h タグを代替タグへ置換する
全文出力前提の提案です。pre や blockquote、table なども同様なのですが、これらは諦めます。最低限ヘッダの大きさだけを何とかします。容易に思いつくのが代替タグへの置換です。RSS リーダでは概要が掴めればよいので HTML 構造は関係ないという考えです。RSS 全体の出力は generateRss 関数が行っています。これをオーバーライドします。ここでは h タグを p タグへ置換しています。div タグでも良いでしょう。"<>" 文字は実体参照へエスケープされているので、そのように処理します。 
{{{
var generateRss_h2p = generateRss;

generateRss = function(){
 var org = generateRss_h2p();
 return org.replace(/\&lt\;(.{0}|\/{1})h[1-6]\&gt\;/mg,"\&lt\;$1p\&gt\;");
}
}}}

!結論
*まあ好みで。自身も思案中です。これは後の修正時のメモエントリです。
*修正は HTML を直接編集でも良いですが、保守性を考えればオーバーライド(Plugin 化)しておく方が賢明です。
TiddlyWiki のカスタマイズについて質問を頂きました。何からはじめ、何をどうすればよいか悩まれていました。他の Wiki と比べ少し癖があるかもしれませんが、TiddlyWiki は設計が綺麗(シンプル)です。しかし日本語のドキュメントは少ない部類に入るでしょう。UI は慣れるしかありませんが、使い始めとしての最低限のカスタマイズについて、このサイトで行ったことを纏めてみます。お役に立てれば。。

!構成要素、環境設定情報
概要については[[こちらの記事|サイトリニューアルしました(TiddlyWiki)]]で書きましたが、TiddlyWiki では情報は全てページ(tiddler)へ保存されています。これは TiddlyWiki が 1 つの HTML ファイルのみで構成されている為でもあります。HTML 構造、CSS 定義、プラグイン等も含め全てがページです。逆に言えば各ページを編集するだけで済みます。非常にシンプルな設計です。まずは、基本的な部分を説明します。
!!ページ構造と id、クラス
ページの骨格は PageTemplate に定義されています。
|>|>|.header|ヘッダブロック|
||>|.headerShadow|ヘッダブロック(影の部分)|
|~||.siteTitle<br>.siteSubtitle|サイトタイトル<br>サブタイトル|
||>|.headerForeground|ヘッダブロック|
|~||.siteTitle<br>.siteSubtitle|サイトタイトル<br>サブタイトル|
|>|>|#mainMenu|メインメニューブロック|
|>|>|#sidebar|サイドバーブロック|
||>|#sidebarOptions<br>#sidebarTabs|メニュー<br>タブ|
|>|>|#displayArea|記事の表示ブロック|
||>|#messageArea|メッセージ表示|
||>|#tiddlerDisplay|記事本文|
!!レイアウトと対応するページ
デフォルトのレイアウトをイメージした図です。各部に対応したページを表示しています。リンクになっているので実際に見てみるのが早いと思います。template 以外は実際に表示される内容(文章)を記述することになります。
|>|>|padding:10px;bgcolor(#E7E7DE):SiteTitle, SiteSubtitle|
|padding:10px;MainMenu|padding:10px;ViewTemplate (閲覧時レイアウト定義)<br>EditTemplate (編集時レイアウト定義)|padding:10px;SideBarOptions<br>|
|~|~|padding:10px;bgcolor(#EEEEEE):SideBarTabs<br><br>|
!!スタイル定義(CSS)
通常は 1、2 を編集することになります。3、4 にベースとなるスタイルが定義されていて、それらに変更を加えたい場合は 2 へ定義することで既存スタイル定義をカスケードする仕組みです。3、4 への変更は推奨されていません。また、この他にプラグインが提供するスタイルシートもあります。
|1|ColorPalette|カラーパレットの定義|
|2|StyleSheet|ユーザスタイルシートの定義|
|3|StyleSheetColors|カラースタイルの定義(color, border ...)|
|4|StyleSheetLayout|レイアウトスタイルの定義(padding, margin...)|
!!デフォルトページの指定
|DefaultTiddlers|ページを表示したときに自動で表示するページを指定します。|
!!サイトの URL の指定
|SiteUrl|サイトの URLを指定します。Web 上へ公開する場合必要です。|

----
では、このサイトの実際のカスタマイズ手順を見ていきます。なお、これらの設定は規定の隠しページとしてアサインされており、変更するとコピーが作られる仕組みになっています。通常はコピー版が利用されます。コピーされたページを削除することで元に戻りますので怖がらず修正して OK です。

!サイト名の設定
そのままです。ここで記述した内容がヘッダ部とページの <title> へ表示されます。
|SiteTitle|サイトのタイトル|RELEASE CANDIDATE 2|
|SiteSubtitle|サブタイトル|GAKI NO TSUKAI, WEBLOG, Memorandum ...|

!レイアウトの変更
以下のようなレイアウトへ変更します。StyleSheet か StyleSheetLayout に下記の変更を加えます。前述の通り StyleSheet への追記が良いでしょう。その場合、"変更前" の内容はそのままで OK です。
|>|>|padding:10px;bgcolor(#E7E7DE):SiteTitle, SiteSubtitle|
|>|padding:3px 10px;bgcolor(#EEEEEE):MainMenu|
|padding:10px;ViewTemplate (閲覧時レイアウト定義)<br>EditTemplate (編集時レイアウト定義)|padding:10px;SideBarOptions|
|~|padding:10px;bgcolor(#EEEEEE):SideBarTabs<br><br>|
!!サイドバーの変更
左部サイドバー(メインメニュー)を上部へ移動するために #mainMenu の定義を変更。
|white-space:nowrap;変更前|{{{#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;} }}}|
|white-space:nowrap;変更後|{{{#mainMenu {padding:10px;} }}}|
右部サイドバーの幅を広げるために #sidebar の定義を変更。
|white-space:nowrap;変更前|{{{#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;} }}}|
|white-space:nowrap;変更後|{{{#sidebar {position:absolute; right:10px; width:35%;} }}}|
!!センター部の変更
サイドバーの変更にあわせて、左右マージンを調整。
|white-space:nowrap;変更前|{{{#displayArea {margin:1em 17em 0em 14em;} }}}|
|white-space:nowrap;変更後|{{{#displayArea {margin:10px 37% 0 10px;} }}}|

!デフォルトページの変更
DefaultTiddlers にページを表示したときに自動で表示するページを指定。
|white-space:nowrap;変更前|{{{[[GettingStarted]] }}}|
|white-space:nowrap;変更後|{{{[[HOME]] }}}|

!サイトの URL の変更
Web 上へ公開するので自サイトの URL へ変更します。
|white-space:nowrap;変更前|{{{http://www.tiddlywiki.com/ }}}|
|white-space:nowrap;変更後|{{{http://rc-2.net/home/ }}}|

----
以上で、ベースとなる初期設定は完了です。あとは、好みに合わせて調整します。

!追記
随時カスタマイズしているので、現在のレイアウトとは異なります。
|URL|http://tiddlywiki.org/wiki/Main_Page|
|URL|http://tiddlywikitips.com/|
<script>
var onClick = function(e){
 var isToggle = jQuery("#sidebar").is(":hidden");
 jQuery("#sidebar").trigger(isToggle ? "sidebaropen" : "sidebarclose");
};
createTiddlyButton(place,"Sidebar","Toggle Sidebar",onClick,"button toggleRightSidebar");
</script>
|~ViewToolbar|simpleTOC closeTiddler closeOthers +editTiddler permalink ! > jump fields syncing references <|
|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|
/%
!legal
|Name|TwitterTabs|
|Source|http://www.TiddlyTools.com/#TwitterTabs|
|Version|2.0.1|
|Author|Eric Shulman|
|Modified By|rc2|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|transclusion|
|Description|Find recent tweets by keyword or username and show results in tabs|
!end
- - - - - DO NOT EDIT ABOVE THIS LINE - - - - -

- - - - - TABSET SECTION - - - - -
!tabset
<<tabs txtTwitterTabs
'find...'		'find tweets containing...'	[[TwitterTabs##search]]
'from...'		'show tweets from...'		[[TwitterTabs##user]]
'tiddlytools'		'show tweets from @tiddlytools'	[[TwitterTabs##tiddlytools]]
'TwitterTabsInfo'	'documentation for TwitterTabs' [[TwitterTabs##info]]
>>
!tiddlytools
<<tiddler [[TwitterTabs##showUser]] with: tiddlytools>>
!end

!showUser
@@display:block;margin-top:15px;white-space:normal;<<tiddler [[TwitterTabs##showUserResults]] with: $1>>@@
!end

- - - - - TWEETFORMAT SECTION - - - - -
reminder: %0=image, %1=name, %2=text, %3=timestamp
!tweetformat
{{tweet{[<img[%0]][[%1|http://twitter.com/%1]] %3
 %2 {{clear{
}}}}}}
!end

- - - - - DO NOT EDIT BELOW THIS LINE - - - - -
!info
<<tiddler TwitterTabs##legal>>Usage
<<<
{{{
<<tiddler TwitterTabs>>
}}}
<<<
Configuration
<<<
Copy TwitterTabs into your document. Then, ''edit the tiddler to suit your preferences'' by adding/removing definitions from the ''tabset'' and related sections:<<tiddler TwitterTabs##showcode with: tabset>><<tiddler TwitterTabs##showcode with: tiddlytools>>You can also customize the appearance of the individual tweets by editing the ''tweetformat'' section, which uses //replacement markers// to insert values extracted from each tweet returned by Twitter's search results, where ''%0=user image, %1=user name, %2=tweet content,'' and ''%3=tweet timestamp''<<tiddler TwitterTabs##showcode with: tweetformat>>The most recently entered 'find... and 'from... search terms are automatically saved as TiddlyWiki cookie-based option values.  You can override these values by placing the following statements into a tiddler tagged with 'systemConfig'.  Each time you reload your document, the default inputs will be reset to these hard-coded values, rather than using the last value entered.
{{{
config.options["txtTweetSearch"]="search text";
config.options["txtTweetUser"]="username";
}}}
!showcode
<<tiddler TwitterTabs##out with: {{'!$1\n'+store.getTiddlerText('TwitterTabs##$1').replace(/\n\}\}\}/g,'\n}\}\}')}}>>
!out
{{{
$1
}}}
!end

!search
<<tiddler [[TwitterTabs##showSearchForm]] with: {{config.options.txtTweetSearch||'TiddlyWiki'}}>>
!user
<<tiddler [[TwitterTabs##showUserForm]] with: {{config.options.txtTweetUser||'TiddlyWiki'}}>>
!end

!showSearchForm
{{small smallform{
search for tweets containing: <<option {{config.options.txtTweetSearch='$1';'txtTweetSearch'}}>><html>
<nowiki><input type='button' value='search' onclick="
	var target=this.parentNode.parentNode.parentNode;
	var out='\<\<tiddler [[TwitterTabs##showSearchForm]] with: {{config.options.txtTweetSearch}}\>\>';
	removeChildren(target); wikify(out,target); return false;
"></html>@@display:block;margin-top:15px;white-space:normal;<<tiddler [[TwitterTabs##showSearchResults]]
	with: {{config.options.txtTweetSearch}}>>@@}}}
!end

!showUserForm
{{small smallform{
show tweets from: <<option {{config.options.txtTweetUser='$1';'txtTweetUser'}}>><html>
<nowiki><input type='button' value='search' onclick="
	var target=this.parentNode.parentNode.parentNode;
	var out='\<\<tiddler [[TwitterTabs##showUserForm]] with: {{config.options.txtTweetUser}}\>\>';
	removeChildren(target); wikify(out,target); return false;
"></html>@@display:block;margin-top:15px;white-space:normal;<<tiddler [[TwitterTabs##showUserResults]]
	with: {{config.options.txtTweetUser}}>>@@}}}
!end

!showSearchResults
<<tiddler TwitterTabs##callback>>{{floatRight{<html><a href='javascript:;' onclick="
	var target=this.parentNode.parentNode.parentNode;
	var out='<<tiddler [[TwitterTabs##showSearchResults]] with: [[$1]]>>';
	removeChildren(target); wikify(out,target); return false;
">refresh</a><nowiki></html>}}}[[Recent tweets about: "$1"|http://search.twitter.com/search?q=$1]]
<br />@@display:block;<<tiddler {{
	window.twitterPlace=null;
'';}}>><<tiddler {{
	if (!window.twitterPlace) { window.twitterPlace=place;
		jQuery("<img>").appendTo(place)
		 .attr("src",store.getTiddlerText("LoadingImage"))
		 .css({"border":"none","vertical-align":"middle"})
		 .wrap("<div />").parent().append("<span>&nbsp;connecting to twitter.com...</span>");
		jQuery.getJSON("http://search.twitter.com/search.json?q=$1&rpp=25&callback=?",null,twitterCallback);
	}
'';}}>>@@
!end

!showUserResults
<<tiddler TwitterTabs##callback>>{{floatRight{<html><a href='javascript:;' onclick="
	var target=this.parentNode.parentNode.parentNode;
	var out='<<tiddler [[TwitterTabs##showUserResults]] with: [[$1]]>>';
	removeChildren(target); wikify(out,target); return false;
">refresh</a><nowiki></html>}}}[[Recent tweets from $1|http://twitter.com/$1]]
<br />@@display:block;<<tiddler {{
	window.twitterPlace=null;
'';}}>><<tiddler {{
	if (!window.twitterPlace) { window.twitterPlace=place;
		jQuery("<img>").appendTo(place)
		 .attr("src",store.getTiddlerText("LoadingImage"))
		 .css({"border":"none","vertical-align":"middle"})
		 .wrap("<div />").parent().append("<span>&nbsp;connecting to twitter.com...</span>");
		jQuery.getJSON("http://twitter.com/statuses/user_timeline/$1.json?callback=?",null,twitterCallback);
	}
'';}}>>@@
!end

!callback
<<tiddler {{
window.twitterCallback=function(data){ // data object returned from twitter.com
	var fmt=store.getTiddlerText('TwitterTabs##tweetformat');
	if (data.results) data=data.results; // for SEARCH results
	removeChildren(window.twitterPlace);
	for (var i=0; i<data.length; i++) { var item=data[i];
		var img=item.user? item.user.profile_image_url : item.profile_image_url;
		var who=item.user? item.user.screen_name : item.from_user;
		wikify(fmt.format([img,who,item.text,item.created_at]),window.twitterPlace);
	}
	jQuery("img",window.twitterPlace).css({"position":"relative","background":"#FFF","margin-right":"0.5em","width":"32px","height":"32px"});
	jQuery(".tweet",window.twitterPlace).css({"display":"block","padding":"5px","line-height":"120%","border-top":"1px solid #ddd"});
}
'';}}>>
!end

%/<<tiddler TwitterTabs##tabset>>
HDD レコーダー(PSX)の残容量が 3% になりました。DVD への退避も面倒です。購入が 2003/12 のため HDD の寿命も気になる頃。そして PC も故障です。材料は揃いました。TV チューナー付 PC に決まりです。条件は「アナログチューナー付」「HDMI」位で、幾つか候補はありましたが、VAIO「VGX-TP1」を購入しました。液晶 TV も BRAVIA ですし、結局 SONY が好きなのです。という訳で約 3 ヶ月ほどの感想をつらつらと。。

!ビデオとしての機能と信頼性
家電並みの性能は期待していなかったとは言え、予想以上に使えないというのが結論です。挙げればきりがないほど不具合が散見されました。家電ビデオ並みの安定感、信頼性など程遠いレベルです。現行テレパソの限界でしょうか。ビデオを名乗るからには予約時間に確実に録画が開始され、欠如フレームなく完璧に録画されなければ意味なしです。(現在は後継機も発売されソフトウェアも改善されているようですがどうなんでしょう。)

*予約した番組が定刻通りに実行されない。(途中で中断してしまうことがある。) 
*録画した番組が再生ソフトにリストされない。(Media Center では OK。) 
*録画の品質が悪い。いわゆるラップ現象。(他プロセスの負荷が原因ぽい。) 
*コンテンツ解析機能が不安定。(低精度。未解析。重複解析。。) 
*予約情報の DB が壊れる。(XML ファイルっぽいのでエディタで直せるかも。) 
*リモコンのボタンが反応しなくなる。(これ結構重要。) 
*不正なシャットダウン。(OS が落ちてるのでビデオとしての機能以前の問題。) 

良い面も挙げましょう。UI は悪くはないと思います。Media Center、Video Explorer、Emotion Player と複数の再生ソフトがあり初見では戸惑いますが、それぞれに利便性があり使い分ければよい感じです。

!HDD の寿命が心配
非常に気になるのはビデオ機能以外のプロセスが HDD に負荷を掛け続けること。おそらく PSX の耐用年数には到底及ばない気がします。それにしても Vista という OS は HDD アクセスが多いです。メモリは 2GB にしてあるのですが。。自動デフラグや SuperFetch 辺りの仕業か。ReadyBoost でも導入してみたら少しは改善するのでしょうか。

!PC よりなサポート
所詮 PC ということでしょう。。購入後 2 日目にして不具合が多発したので流石にサポートへ問合わせましたが、予想通り過ぎる対応に辟易。レスポンスも悪い。とにかく執拗にリカバリを指示してきます。トラブルの切り分けは理解できますが、結局、リカバリ ⇒ 改善 ⇒ ハイ OK というシナリオが見えてしまう。そもそもシステムリカバリを要求してくることをサポートとは受け入れ難いです。
<!--{{{-->
<div class='navbar'><span macro='navigation modified "" BLOG "" ""'></span></div>
<div class='navbar' macro='amazonRelated BLOG Hagaki Computer'></div>
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='tagged' macro='tags'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagging' macro='relatedTag'></div>
<div class='tagging' macro='tagging'></div>
<div class='tagClear'></div>
<!--}}}-->
Vista の利用で不快に感じるのが HDD への頻繁なアクセス。常にガリガリ言ってます。何とかしたいですね。作業していないのにアクセスを続けるのは非常に気になります。何より HDD の寿命が心配です。色々検索してアクセス軽減に奮闘してみました。今となってはどれも既知の対処なのでしょうが自分用にメモです。

結果は今のところ良好です。明らかに購入当初より軽減されていると体感できます。暫くこのまま様子を見ようと思います。尚、以下はあくまで HDD アクセス軽減を主眼としたもので高速化を期待するものではありません。あと、お決まりですが、ご利用は自己責任でお願いします。

!復元ポイントを無効
XP 時代からありますが利用したことがありませんし、中途半端な復元は逆に厄介なだけです。というわけで無効にしたところ空き容量が 60GB 近くも増えました。愕然です。何もインストールなどしていないのに。Windows Update、VAIO Update、Norton LiveUpdate だけでこの消費量。OS 自身が一番 PC を酷使している状況。これではパッチを適用するために PC 購入したようなものです。主客転倒。考えられません。
>[コントロールパネル] - [システムとメンテナンス] - [復元ポイントの作成または設定の変更]

!デフラグの設定の変更
デフォルトは「週 1 回」となっています。これも過剰でしょう。どこかで過剰なデフラグはよろしくないと読んだことがあります。ファイルを再配置するのですから当然です。ということで、とりあえず「月 1 回」くらいに変更して様子見です。
>[コントロールパネル] - [システムとメンテナンス] - [管理ツール] - [ハードドライブの最適化]

!Windows Search の変更
インデックスを作成しておき検索を高速化する仕掛けですが、私には必要ではないようです。よくわからないのは、電源プランを省電力にしていても、電源オプションの詳細が「処理優先」になっていること。とりあえず「省電力」モードに変更しておきました。さりとて、これではプライオリティを下げるだけなので、「処理優先」で早めにインデックスの作成を完了させておく方が良い気もします。暫く様子を見て改善が見られないようであれば、Windows Search サービス自体を無効にしても良いかもしれません。
>[コントロールパネル] - [システムとメンテナンス] - [電源オプション] - [プラン設定の変更] - [詳細な電源設定の変更] - [検索とインデックスの作成] - [省電力モード]

!SuperFetch を無効
利用頻度の高いプログラムをキャッシュしておくことで起動を高速化する Vista の特徴的な機能でもありますが、システム起動直後から頻繁に HDD がガリガリと非常に気分が悪いのです。私の場合は速度よりも HDD の寿命を重視します。少しリスキーな香りがしますがサービスを「自動」から「無効」に変更します。確かに起動後のガリガリは軽減したようです。空きメモリも増えています。代償としてアプリの起動速度が犠牲になっているはずですが、今のところ実感はないです。というのも Vista PC の用途が週 1 回 30 分番組を予約録画させているだけなので。
>[コントロールパネル] - [システムとメンテナンス] - [管理ツール] - [サービス] - [SuperFetch]
|URL|http://visualtw.ouvaton.org/VisualTW.html|
|URL|http://wpdocs.sourceforge.jp/|
|URL|http://ja.wordpress.org/|
重要なバックアップ運用を忘れてました。価値あるコンテンツなど無いのですが、少なからず時間を費やした物を失うのは悲しいので念のため。Movable Type では Berkeley DB で運用していたのでファイルコピーで済みました。本格的に DB を利用するのは今回が初めての経験となります。プラグインやテーマファイル等はファイルコピーで済むとして、DB の方をどうするか。。

!WordPress の機能
*管理画面に WordPress eXtended RSS(WXR)と言う XML ファイルへエクスポート/インポートする機能があります。ただし、インポート時にはアップロード上限(2MB)があるようなので微妙なところです。また、説明には「投稿、コメント、カスタムフィールド、カテゴリー...」とあります。つまり本体やプラグイン等の設定情報は含まれないので注意です。ブログの移行向け機能と捉えたほうが良さそうです。

!WordPress のプラグイン
*[[WP-DBManager|http://lesterchan.net/wordpress/readme/wp-dbmanager.html]]<br>バックアップ、リストア、最適化、SQL クエリ等、各種 DB 操作が可能な高機能プラグインです。最新版は「For WordPress 2.1.x And Above」となってますが、2.3 からテーブル構成が変わっていた気もするので気になるところ。。でも、あくまで対 DB として動作するのでテーブル構成自体には影響はないようですね。試行してみた限り問題は発生していません。 
*[[WordPress Database Backup|http://skippy.net/wordpress-database-backup/]]<br>幾つか検索してみると、どうやらこのプラグインが WordPress 2.0 以降では標準で同梱されているそうです。ん? でも 2.3.1 には無かった様な気がします。。これも最新版に対応しているかは不明です。こちらは試してませんがリストアは出来ないようです。 

!MySQL を直接操作する
*phpMyAdmin を使う<br>MySQL 向けのユーティリティです。ロリポップでも利用できますね。ただし、こちらもバックアップファイルのアップロード上限(2MB)があるようなのでリストア時には注意が必要です。SQL を分割してアップロードすれば良さそうですが少し面倒ですね。やりたくない作業です。 
*MySQL コマンドを使う<br>mysqldump を利用する方法です。ロリポップでは DB の CREATE/DROP 権限が無いのでリストアが出来ないような気がします。。ダンプ ⇒ phpMyAdmin で DROP TABLE ⇒ リストアでいけるのかな。。 

!WP-DBManager
*結局これで暫く運用してみようと思います。各所での評判も良い定番プラグインらしいのが決定打。非常に多機能ですがバックアップ/リストアだけなら操作は簡単です。日本語化しなくても特に困らないかと思います。プラグインなので WordPress 管理画面上から操作可能な軽量感も採用した理由です。
|URL|http://tiddlywiki.abego-software.de/|
|URL|http://cubic9.com/|
/***
|Overrides|config.macros.view.views.wikified|

!Description
*lazy load 用の dummy wait。

!Code
***/
//{{{
config.macros.view.views.wikified = function(value,place,params,wikifier,paramString,tiddler) {
 if(params[2])
  value=params[2].unescapeLineBreaks().format([value]);

 jQuery(place).hide();
 wikify(value,place,highlightHack,tiddler);

 var loading = jQuery("<span/>").insertBefore(place).text("loading content..").wrap("<div/>").parent();
 var imageUrl = store.getTiddlerText("LoadingImage",null);
 if(imageUrl){
  var img = jQuery("<img/>").prependTo(loading)
  .attr("src",imageUrl).css({"vertical-align":"middle","margin-right":"3px","padding":"5px"});
 }

 setTimeout(function(){ loading.remove(); jQuery(place).show(); },1000);
};
//}}}
[[TiddlyWiki - essential plugins and projects|http://www.hlplanet.com/phpbb/viewtopic.php?p=18]] でも取り上げられていますが、ForEachTiddlerPlugin は非常に便利なリスティングプラグインです。ほぼ万能と言って良いレベル、essential plugin です。TiddlerListMacro でも大抵の要望を満足しますが、もう一歩踏み込もうとした時に組込みのオプション以外のことは苦手です。ForEachTiddlerPlugin ではフィルタに JavaScript を直接記述できます。故に万能と言えます。

このサイトのトップ画面でも利用しています。大体こんなことをやってます。
*特定タグが付与された tiddler のリスト。
*各 tiddler の 1 行目を概要として抽出。全文表示用に Read more リンクの配置。
*ページング(10 Tiddlers per page, ナビゲーションボタンの配置)
*各リストブロックのカスタマイズ。スタイル埋め込み。クラス付与。
*tiddler の種別によってカテゴリアイコンを表示。

実装は基本的にサンプルからの切り貼りです。多様なサンプルがあるので是非覗いてみて下さい。ちなみに上記のコードは [[FormatSummary]] で見れます。まあ酷く汚いです。そのうち整理します。最低でも画像の URL は外出し(tiddler)するべきですね。

!入手先とサンプルコード
|配布元|[[abegoExtensions|http://tiddlywiki.abego-software.de/]]|
|プラグイン本体|[[ForEachTiddlerPlugin|http://tiddlywiki.abego-software.de/#ForEachTiddlerPlugin]]|
|サンプルコード|[[ForEachTiddlerExamples|http://tiddlywiki.abego-software.de/#ForEachTiddlerExamples]]|
//{{{
/* fontAvailable jQuery Plugin, v1.1
 *
 * Copyright (c) 2009, Howard Rauscher
 * Licensed under the MIT License
 */
(function(b){var a;b.fontAvailable=function(e){var d,c;if(!a){a=b(document.createElement("span")).css("visibility","hidden").css("position","absolute").css("top","-10000px").css("left","-10000px").html("abcdefghijklmnopqrstuvwxyz").appendTo(document.body)}d=a.css("font-family","__FAKEFONT__").width();c=a.height();a.css("font-family",e);return d!==a.width()||c!==a.height()}})(jQuery);
//}}}

//{{{
/* Adjustment for Meiryo font */ 
(function($){
 $(document).ready(function(){
  if($.fontAvailable('メイリオ')){
   if(config.browser.isIE){ $("html").attr({"lang":"ja","xml:lang":"ja"}); }// for IE 6
   $(document.body).css({"font-family":"'メイリオ',meiryo","font-size":"11px"});
  }
 });
})(jQuery);
//}}}
<<tiddler SimpleRSSReader with: "http://rss.rssad.jp/rss/gihyo/design/feed/rss2">>
<<tiddler SimpleRSSReader with: "http://rss.rssad.jp/rss/gihyo/feed/rss2">>
Red Hat Enterprise Linux Server 5 Update 2 (Tikanga) for IA64 (Itanium)

!パッケージの場所
*RHEL 4.7 では Extras CD に入っていたが、{{m{
{{{
/media/cdrom/RedHat/RPMS/ia32el-1.6-14.EL4.ia64.rpm
}}}
}}}
*RHEL 5.2 では Supplementary CD に入っている。一瞬探した。。{{m{
{{{
/media/cdrom/Supplementary/ia32el-1.6-15.el5.ia64.rpm
}}}
}}}

!インストール
*とりあえず何も考えず rpm{{m{
{{{
# rpm -ivh ia32el-1.6-15.el5.ia64.rpm
}}}
}}}

!起動/停止/ステータス
*起動{{m{
{{{
# /sbin/service ia32el start
Starting Intel IA-32 Execution Layer:      [  OK  ]
}}}
}}}
*停止{{m{
{{{
# /sbin/service ia32el stop
Stopping Intel IA-32 Execution Layer:      [  OK  ]
}}}
}}}
*ステータス(有効){{m{
{{{
# /sbin/service ia32el status
Intel IA-32 Execution Layer in use
}}}
}}}
*ステータス(無効){{m{
{{{
# /sbin/service ia32el status
No IA-32 Support
}}}
}}}
所謂、折りたたみメニューのお話です。それ自身の実装方法やユーザビリティの議論ではなく、メニューの開閉状態を表現するシンボルについての考察です。このサイトでもまだ思案中なので、その為のメモエントリも兼ねています。

一般的にはイメージを利用する方法が実装と見た目の双方で大抵の場合のベストプラクティスですが、TiddlyWiki ではリソースを抑えたいという事情があり、ここではイメージレスな方法に限定しています。実際に動作するので試してみてください。感覚的に受ける印象を捉え易いと思います。

!テキストで表現する
良く見かける手法です。主に「+」「–」文字を利用して状態を表現します。シンプルで機能的にも十分です。幾つかバリエーションを見てみましょう。1 はメニュー名の長さの違いで体裁が整いません。2,3 は一見首尾よく整列している様に見えますが、フォントの違いでレイアウトが崩れます。4 はそれを吸収するために外枠を固定し、テキストをセンタリングさせています。

#メニュー名の終端に配置するパターン{{case1{
----
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー "">>
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー2 "">>
}}}
#先頭に配置するパターン{{case2{
----
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー "">>
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー2 "">>
}}}
#メニュー要素の終端に配置するパターン{{case3{
----
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー "">>
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー2 "">>
}}}
#固定幅の外枠で囲み整えるパターン{{case4{
----
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー "">>
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー2 "">>
}}}

!テキストを使わずに表現する
こちらはあまり見かけません。以下はイメージではない事に着目して下さい。イメージは自由で直感的な表現が容易ですが、この制限された方法では工夫が必要です。必要条件は満たせても十分条件と成り得るかがポイントです。幾つか模索してみました。他に良い案が出れば追記したいと思います。

#色で識別するパターン{{case5{
----
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー "">>
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー2 "">>
}}}
#形で識別するパターン{{case6{
----
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー "">>
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー2 "">>
}}}{{case7{
----
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー "">>
<<slider {{config.options['foo']=false;'foo';}} rc2 メニュー2 "">>
}}}
<script>
(function($){
var m1 = {"true":"[ – ]","false":"[ + ]"};
var m2 = {"true":"–","false":"+"};
var m3 = {"true":"#fff","false":"#ddd"};
var m4 = {"true":"1px 8px 1px 1px","false":"1px 1px 1px 8px"};
var m5 = {"true":"1px 1px 5px 1px","false":"5px 1px 1px 1px"};

$(".sliderPanel + br",place).remove();
$(".sliderPanel",place).prev().css({"display":"block","width":"20em","margin":"0 0 0.5em 0","border-color":"#bbb"});

var doCase = function(testCase,folder,addFunc,toggleFunc){
 var target = $("."+testCase,place).find(".sliderPanel").prev();
 target.each(function(){
  $(this).click(function(){
   var f = config.options[$(this).next().attr("cookie")];
   toggleFunc($(this).find("span,div"),f);
  }).css({"padding":"0.4em"})[addFunc](folder.clone());
  toggleFunc($(this).find("span,div"),false);
 });
};

var s = "";

s = {"margin-left":"0.5em"};
doCase("case1",$("<span />").css(s),"append",function(t,f){t.text(m1[f]);});

s = {"float":"left","margin-right":"0.5em"};
doCase("case2",$("<span />").css(s),"prepend",function(t,f){t.text(m1[f]);});

s = {"float":"right"};
doCase("case3",$("<span />").css(s),"prepend",function(t,f){t.text(m1[f]);});

s = {"float":"right","width":"10px","border":"1px solid #ccc","padding":"0 4px","text-align":"center"};
doCase("case4",$("<div />").css(s),"prepend",function(t,f){t.text(m2[f]);});

s = {"float":"right","border":"1px solid #aaa","margin":"0.6em 2px","width":"14px","height":"0.5em","overflow":"hidden","cursor":"pointer"};
doCase("case5",$("<div />").css(s),"prepend",function(t,f){t.css({"background":m3[f]});});

s.width = "7px"; s.background = "#fff";
doCase("case6",$("<div />").css(s),"prepend",function(t,f){t.css({"border-width":m4[f]});});

s.width = "14px"; s.margin = "0.4em 2px";
doCase("case7",$("<div />").css(s),"prepend",function(t,f){t.css({"border-width":m5[f]});});

})(jQuery);
</script>
jQuery 1.4 がリリースされました。大幅なパフォーマンス改善と前版からの包括バグフィックスが目玉です。TiddlyWiki では 2.5.0 より同ライブラリの内包、統合化が進んでおり、近い将来取り込まれるかと思います。で、Plugin 等の挙動が気になるので試しに差し替えてみました。浅い内容ですが後のためのメモエントリです。

!jQuery の置き換え
前述の通り外部取り込みではなく内包していますので、直接エディタで編集して差し替えます。場所は id="jslibArea" にあります。コピペで貼りつけて保存しブラウザで開いてみます。一応念のためですが jQuery のみを置き換えるオフィシャルな方法はありませんし、アンオフィシャルな方法を提案している訳でもありません。ただのお試し。事前調査です。なお、リンクにある後方互換用の Plugin なしでの挙動です。

!本体の挙動
core 機能、組み込み macro は問題なく動作しているように見えます。

!Plugin, Script, Transclusion の挙動
自作コードで問題がありました。正確に言うと core 機能も含みます。以下の後方非互換項目が影響しています。今まで jQuery() のように引数がない場合 jQuery(document) として扱われましたが、1.4 からは空の jQuery オブジェクトが返ります。 
>jQuery() (with no arguments) no longer converts to jQuery(document).

実際に問題があるのは、core コードの以下の様な event を発行している箇所。
{{{
jQuery().trigger("loadPlugins");
jQuery().trigger("startup");
}}}

そして、それを bind している側。
{{{
jQuery().one("startup",function(){
 // do something
});
}}}

jQuery(document) へ修正すれば動きますが、後方互換用の Plugin を利用すれば以下の様に従来の挙動に補正してくれます。
{{{
jQuery.fn.init = function( selector ) {
 if ( selector === undefined ) {
  return jQuery( document );
 }
 :
}}}

!雑感
一部問題がありましたが、core 機能が発行している event は自身で bind していないので、実質影響に気づいたのは私が書いた 1 つのコードだけです。肝心のパフォーマンスは、まだ core 機能や Plugin の jQuery シフトが過渡期であるためか実感できる効果はありません。バグフィックスも同様で現状必要となる機能はないでしょう。結論として TiddlyWiki 側でパッケージングされるのを待つのが最良かと思います。

!Related Links
!!news release
*jQuery 1.4 登場、素晴らしい速度 | マイコミジャーナル<br>http://journal.mycom.co.jp/news/2010/01/15/037/index.html
*jQuery 1.4 Released – The 14 Days of jQuery<br>http://jquery14.com/day-01/jquery-14
!!official, download, documents
*Version 1.4 – jQuery API<br>http://api.jquery.com/category/version/1.4/
*Backwards-Incompatible Changes<br>http://jquery14.com/day-01/jquery-14#backwards
*Compatibility Plugin for jQuery 1.3 (on top of jQuery 1.4)<br>http://code.jquery.com/jquery.compat-1.3.js
!!TiddlyWiki - jQuery roadmap
*Dev:Roadmap - TiddlyWiki.org<br>http://tiddlywiki.org/wiki/Dev:Roadmap
初歩的なこと。jQuery のグループセレクタが分からないのでどなたかご教示を。

!セレクタで普通にやる場合
普通に複数のセレクタを "," セパレートで指定。
{{{
$('body').append('<div id="test1">test1</div>');
$('body').append('<div id="test2">test2</div>');
$("#test1, #test2").css("background", "red");
}}}

!jQuery オブジェクトにした場合
キャッシュしたり HTML からの分離などしたい場合
{{{
var elm1 = $('<div id="test1">test1</div>').appendTo('body');
var elm2 = $('<div id="test2">test2</div>').appendTo('body');
}}}
id で指定する分には同じ。(でも jQuery オブジェクトで指定するには??)
{{{
$("#test1, #test2").css("background", "red");
}}}
これはダメ。elm2 はコンテキストになる。でも elm1 がマッチするが??
{{{
$(elm1, elm2).css("background", "red");
}}}
これならいけるけど、ちょっと無理が。。結局 id 拾ってるし。
{{{
$("#" + elm1.get(0).id + "," + "#" + elm2.get(0).id).css("background", "red");
}}}
じゃあこれなら。。んーなんか納得いかない。
{{{
$([elm1,elm2]).each(function(){ this.css("background", "red"); });
}}}

!もっと単純なのかもしれない
どなたか教えてください。。
|URL|http://dynamite-shikoku.halfmoon.jp/459459/|
|Desc|ガキの使いやあらへんでレビューサイト|
|URL|http://www.okoze-esca.net/|
<<tiddler SimpleRSSReader with: "http://feedproxy.google.com/phpspot/ccuf">>
|URL|http://bono.s206.xrea.com/pswiki/|
*サイト管理人
*E-mail : rc2.net@gmail.com
|URL|http://shu.tea-nifty.com/|
|URL|http://soloist.cocolog-nifty.com/blog/|
|URL|http://youmos.com/|
|URL|http://blogs.dion.ne.jp/umesan/|
この一口に命をかけろ 賞金 10 万円争奪! きき○○!!
----
*※ 1 前人未到のききラーメンに挑戦・松本人志は本当にラーメンを食べわけられるのか!?(結果 : 8/30 個)
*※ 2 リベンジ
*※ 3 この一磨きに命を懸けろ
*※ 4 山崎の代理でヘイポー(山崎の類似タレント)
*※ 5 浜田体調不良のため代理でヘイポー
*※ 6 松本休養中のため代理で関根勤
----
||きき○○|浜田|松本|遠藤|田中|山崎|放送|h
||インスタントラーメン|-|※ 1|-|-|-|404-19980208|
|第 01 回|缶コーヒー||||||488-19991114|
|第 02 回|お茶|○||○|△|△<br>※ 2|493-19991219|
|第 03 回|タバコ||○||||498-20000130|
|第 04 回|カレー||||||509-20000423|
|第 05 回|ビール||||||524-20000813|
|第 06 回|焼きそば||||||536-20001112|
|第 07 回|食パン|○|||||552-20010311|
|第 08 回|歯みがき粉(※ 3)|○|○|||○|566-20010624|
|第 09 回|肉まん||||||584-20011111|
|第 10 回|プリン|○|○||○||601-20020317|
|第 11 回|インスタントご飯||||||618-20020721|
|第 12 回|ヨーグルト||||||644-20030202|
|第 13 回|チョコレート||||||657-20030504|
|第 14 回|オレンジジュース||||||679-20031012|
|第 15 回|インスタントみそ汁|||||○|707-20040509|
|第 16 回|レモンティー|||○|||718-20040808|
|第 17 回|マヨネーズ|||○|||752-20050410|
|第 18 回|焼肉のたれ||○||||777-20051016|
|第 19 回|牛乳||||||807-20060528|
|第 20 回|烏龍茶|||○|||846-20070311|
|第 21 回|ぽん酢|||||※ 4|880-20071125|
|第 22 回|トンカツソース||||||898-20080330|
|第 23 回|納豆||||||928-20081109|
|第 24 回|ケチャップ|※ 5|||||946-20090315|
|第 25 回|ハム||||||969-20090823|
|第 26 回|コーンスープ||||||984-20091213|
|第 27 回|いちごジャム|○|※ 6||||1014-20100725|
|第 28 回|りんごジュース||||○||1044-20110227|
|URL|http://wp.tekapo.com/|
オープニング出囃子一覧

|曲名(??)|元ネタ(??)|作詞|作曲|放送|h
|いや~ん、そこ~ん|ハイサイおじさん|松本人志|松本人志||
|バカチコ|オリジナル(??)|松本人志|松本人志|399-19971228|
|タクシードライバー|東京バスガール(??)|松本人志|松本人志|417-19980517|
|ようかん夫妻|だんご三兄弟|松本人志|松本人志|458-19990411|
|松ちゃん Baby|かわいいベイビー|松本人志|松本人志|492-19991212|
|浜田の耳毛がよ~|エレクトリカルパレード|松本人志|松本人志|513-20000521 |
|松本、浜田の薬箱|らいおんハート|松本人志|松本人志|550-20010225|
|ガキガキ君|ガリガリ君|松本人志||611-20020602 |
|人志はアジアのパピヨン|パピヨン ~papillon~|松本人志||692-20040125|
|URL|http://radio.from.tv/gaki/index.html|
|Desc|有名なファンサイト|
<<tiddler SimpleRSSReader with: "http://feeds.feedburner.jp/coliss">>
|URL|http://coliss.com/index.php|
TiddlyWiki は、その特性から一般的なサイトと比べ UI に癖があります。GTD ツールとしてのローカル運用では問題になりませんが、Web 上へ公開する場合に混乱を招くことがあるかと思います。そこをアシストできればと作成しました。実際は [[Fun With CSS Shapes - Nettuts+|http://net.tutsplus.com/videos/screencasts/fun-with-css-shapes/]] を使ってみたいが為の強引なネタ作りでもあります。

!画像を使わないバルーンチップ
元ネタは画像を使わず CSS のみで作成するバルーンチップ(吹き出し)です。これは凄いです。感動すべきです。画像を使わない利点は言うまでもなく TiddlyWiki とも相性がよいです。ぜひ使いたい。問題は使いどころ。引用のスタイルにしても良いですがありきたりで勿体無い気がします。

<script>
jQuery(place).append('<div id="demoBubbles"><div>こんな風に CSS のみでバルーンチップが作れます。</div><span class="guideArrow" /></div>');
</script>
>[[Fun With CSS Shapes - Nettuts+|http://net.tutsplus.com/videos/screencasts/fun-with-css-shapes/]]

!TiddlyWiki の UI
閑話休題。前述の通り初見では高確率で混乱します。私がそうでした。第一の要因は Ajax サイトで見かけるような「戻るの概念がない」ことです。次々とページ(tiddler)が開き画面を埋め尽くします。ページを close すると言う概念は厄介で、ブラウザの中にブラウザがあるような。。違和感を伴います。permalink など一連のツールボタンも特有です。

!GuideBubblesPlugin
これらは慣れてもらうよりないのですが、まず気づいてもらわなければ始まりません。そこで「ここにこんなボタンがありますよー」とさりげなくバルーンチップで主張するようにしてみます。ユーザは「あら、こんなボタンがあったのね」こうなるのです。トリガは、あまり五月蝿くならない様さりげなさを大切に。。ざっくりとこんな感じ。
*一定時間ごとに focus がある tiddler がないか監視する。
*あったら、バルーンチップを表示させたいエレメント(ボタン)を探す。
*ランダムでエレメントの title 属性をポップアップ(fade in/out)させる。
*さりげなくとはいえ既存ユーザには五月蝿いので、ON/OFF をつける。(予定)
!!動作対象
IE と Opera は対象外としました。表示自体は IE6 でも問題ないのですが、fadeIn/Out 処理を組み合わせると上手く表示されないためです。その他は最新版でのみ動作確認しました。
サイトをリニューアルしました。WordPress に切り替えてまだ 2 ヶ月程度ですが、結局 PukiWiki へ戻しました。特に決定的な理由は無く、Wiki の軽量感が肌に合っているというか。そんな軽い気分で。DekiWiki、DokuWiki 等、幾つかの Wiki エンジンも検討しましたが、以前に利用していたこと、設置の容易さで PukiWiki に落ち着きました。内容は旧態依然ですが。。まあ、のんびり続けていきます。

!サイトデザイン
*基本シンプルの方向は変わらずです。2 カラム左メニューのオーソドックスなスタイルです。加えて画像と色数をなるべく使わず軽量を意識してレイアウトしました。以前のサイトではキャリブレーションによる色の違いで随分悩んだので、今回は影響の少ないブラックを基調としました。
*ブログパーツをベタベタ貼るのは好みではないのですが 1 つだけ貼っています。iKnow のブログパーツです。最近始めたのですが、今まで英語を怠けてきた自戒の意とモチベーション維持のためです。評判通りなかなか良い学習サイトです。テンポが良く私でも長く続けていけそうです。オススメです。

!サイト構成
*前回はタグのみの分類を試みましたが、今回はカテゴリ(PukiWiki で言うと階層ページ)と併用することにしました。ナビゲーションとして最低限の階層管理は有効という結論です。タグ付けとどう絡めていくかが課題ですが、あまり悩まないことにしました。まあ、こういった悩みも楽しみの 1 つであったりするのですが。

!移行作業
*以前の PukiWiki サイトを残していたので WordPress 運用期間の 2 ヶ月分のエントリを追加するだけと軽視していましたが、意外に時間を要してしまいました。BLOG to BLOG だと移行もしやすいのですが。んー。疲れました。。
*まず、今回は UTF-8 版を利用した為 EUC ⇒ UTF-8 の変換作業が発生します。PukiWiki の場合、単純にページ毎にテキストファイルが作成されるだけなのでコード変換で済むと考えましたが、ファイル名の方に問題がありました。ファイル名はロケールのコードであるため(例えば「FrontPage」は「46726F6E7450616765.txt」)、そのままではページ名が文字化けします。スクリプトを組んでリネームしました。階層化によるリネームも合わせて行いました。因みに、後から見つけたのですがマイグレーションツールがあるようです。どうやら無駄な時間を費やしてしまったようです。。{{m{
>[[EUC-JP から UTF-8 への移行について - PukiWiki Plus!|http://pukiwiki.cafelounge.net/plus/?Documents%2FAbout%20the%20migration%20from%20EUC-JP%20to%20UTF-8&word=trackback]]
}}}
*まあ、ここまでは何とかなりましたが、そういえばタグ付けを忘れてました。以前の PukiWiki サイトではタグ付けはしていなかったので、結局 WordPress から手作業でタグ情報をコピペすることに。最後まで頭悪かったですが、とりあえず完了です。もう移行作業は辟易とか思いながらも、WordPress 2.5 が登場したらまた浮気してしまいそうで怖いです。結局なにか弄ってるのが楽しいのですよ。
サイトをリニューアルしました。約 1 年半続いた PukiWiki Plus での運用から TiddlyWiki への CMS 置き換えも合わせて行いました。毎度の事、決定的な理由はありません。モチベーション維持のための適度な刺激といったところです。CMS の選定も同様です。というよりは寧ろ今回の変更は一般的には悪手かも知れません。。理由は後述。

まずは、久しぶりなので、過去のサイト遍歴を整理してみます。
|!|!CMS|!言語|!ストア|!ホスティング|
|1|TypePad|Perl??|DB|ココログ(@nifty)|
|2|Movable Type|Perl|DB|レンタルサーバ(ロリポップ)|
|3|PukiWiki|PHP|file|同上|
|4|PukiWiki Plus|PHP|file|同上|
|5|WordPress|PHP|DB|同上|
|6|PukiWiki Plus|PHP|file|同上|
|7|TiddlyWiki|Javascript|なし(file)|同上|

上記を見る限り、インフラは徐々に退行していますね。視点を変えれば、よりライトウェイトな方向へシフトしているという希望的観測もできますが。。まあ、結局は面倒を避けているだけが正解です。

!インフラの選定
!!~TiddlyWiki とは
*少々特殊な Wiki システムです。1 つの HTML ファイルのみというシンプルな構成で、データは各ページ(TiddlyWiki では tiddler と呼称しますが、ここではページと表現します)毎に HTML 内の div ブロックに保存されます。元がローカル環境(オフライン)での GTD/メモツールとしての利用を想定した背景がありこのような仕掛けになっています。
*HTML ファイル自体にデータが蓄積されていくことになるので、ファイルサイズの肥大化は避けられません。伴いページの読み込み負荷も増大して行くでしょう。(初期ファイルサイズは core ver 2.5.0 で 約 350KB)
*Web 上への公開は可能ですが、その場合、基本的には Read Only となります。(proxy プラグインや、他言語へ派生したバージョン、ホスティングサービス等を利用すれば Read/Write、DB へのストア等も可能です。)
*エンジンは Javascript なのでブラウザでオフにしていれば使えません。
*ここまでを纏めると 一般的な Web サイトとしては不向きなシステムです。
!!採用理由
*単純に使い勝手が良い(肌に合う)からです。これ以上の理由はないでしょう。ファイルの肥大化は懸念材料ですが、頻繁な更新は前提になく、今後(一生)の増分量も数百 KB 程度の試算です。過去データ移行後のサイズが約 900KB。小さくはないですが、平均的な回線であれば許容できると判断しました。元々が集客目的よりは自己満足で続けてるのでその辺は楽観視しています。あ、モバイル端末では 500KB 等の上限があるので見れないですね。たぶん。

!インストール/初期設定
*特筆すべきはありません。[[TiddlyWiki のサイト|http://www.tiddlywiki.com/]] から empty.html というファイルを 1 つダウンロードするだけです。Web 上への公開もこれをアップロードするだけで済みます。
*環境設定情報も全て各ページに保存され、変更する場合はそれらのページを編集します。Wiki システムには似た手法を見かけますが、TiddlyWiki は徹底していて全てがページとして保存/管理されます。

!テーマ
*テーマの情報もページとして保存します。規定の定義ページがあるので、そこを変更します。デフォルトのデザインが好みに合ったので変更は最小限にしたつもりです。ヘッダ、メインメニュー、カラーパレットくらいでしょうか。
*これらは規定の隠しページとしてアサインされており、変更するとコピーが作られる仕組みになっています。コピーされたページを削除することで元に戻ります。怖がらず修正して OK です。
*注意点/補足としては、コピーされるためその分ファイルサイズが増えます。頻繁に変更することがなければ、HTML ファイルを直接変更してしまうことも可能です。ただし、保守性が悪くなるのでお勧めはしません。
!!ページレイアウト
*HTML 構造を定義しているページ{{m{
|1|PageTemplate|ページ全体の定義|
|2|ViewTemplate, EditTemplate|各ページの定義|
}}}
!!スタイル定義
*CSS を定義しているページ{{m{
|1|ColorPalette|カラーパレット|
|2|StyleSheet|ユーザスタイルシート|
|3|StyleSheetColors|カラースタイル|
|4|StyleSheetLayout|レイアウトスタイル|
}}}
*通常は 1、2 を編集します。3、4 にベースとなるスタイルが定義されていて、それらに変更を加えたい場合は 2 へ定義することで既存スタイル定義をカスケードする仕組みです。スマートなアプローチです。私は 3、4 も変更しています。規定で存在する定義はそれらを修正し、追加定義があれば 2 へ追加する方法としています。前者が推奨されているようですが、まあ好みです。

!プラグイン
*プラグインも HTML 内に保存されるので肥大化を避けるため必要最低限のものに絞ります。導入作業は管理画面が良くできているので特に難しい点はありません。配布サイトの URL を入力しリストから入手したいプラグインをチェックして取込むだけです。至極、簡単な部類と言えます。{{m{
>[[このサイトで導入しているプラグイン|systemConfig]]
}}}

!サイト構成
*各ページの属性として所謂階層構造は存在しません。全てフラットです。ページにはタグを付与できます。デフォルトでタグを経由したアクセスがし易いようにメニュー配置されていることからも、TiddlyWiki はタグベースのシステムと言えます。(以前のバージョンではタグ機能はなかったようですが。)
*階層構造にしたい場合は、カテゴリ用ページを作成し、その中に各ページへのリンクを記述します。これは手作業となります。或いはタグを論理的に階層構造を形成するように付与します。後者を利用したツリーメニューの自動生成プラグインもあります。但し、このような構造にしてしまうとページ間が蜜結合となるため私は好みません。このサイトの場合は、良く使うページや Popular タグへのリンクをメインメニューに配置する程度に留めています。

!移行作業
*元がテキストなので、予想していたよりは早く移行できました。
!!手順概要
*マクロを組み、PukiWiki の各ページを TiddlyWiki の格納構造に変換します。各ページブロックは以下のような構造。タイトル、タグ、本文、日付を変換し、あとはとりあえず固定値にしておきます。{{m{
>{{{<div title="タイトル" modifier="ユーザ" created="200112230418" tags="タグリスト" changecount="1"><pre>内容</pre></div>}}}
}}}
*wiki 記法はよく似ていますが差異があるので、主要なものは置換しておきます。差異情報は「tiddlywiki 書式」「tiddlywiki pukiwiki 書式」などのキーワードで調べます。
*あとは、実際の TiddlyWiki 上の編集画面でプレビューしつつ校正。
<script>jQuery("li",place).css({"margin":"0.5em 0"});</script>
サイトのリニューアルを検討中です。もう何度目か忘れそうです。飽き性なのですぐに新しいものに目を奪われるのです。まずは CMS 探しに WikiMatrix を覗いてみました。DokuWiki という Wiki が良さそうです。海外では結構有名なようで、Most views でもトップだったりします。PHP で動作し DB にストアしないタイプの比較的お手軽な Wiki システムです。日本語にも対応しています。とりあえず試行してみました。

!インストール/環境設定
既に整理されている方がいらっしゃるので参考にさせて頂きました。他力本願です。日本語の情報は非常に乏しくとても有難い。とは言っても導入自体はウィザード形式で進み、当然 DB 等の設定もいらないので、他の CMS、Wiki と比較しても至極簡単な部類と思われます。尚、検索等の一部機能で日本語関連の不具合があるようですが、今のところ不都合を感じないので対処はしていません。
*[[http://wiki.splitbrain.org/wiki:dokuwiki|http://wiki.splitbrain.org/wiki:dokuwiki]] (本家) 
*[[mixi DokuWiki コミュニティ|http://mixi.jp/view_community.pl?id=1031754]]
*[[okoze-esca.net|http://www.okoze-esca.net/]] 
*[[DokuWiki の日本語対応|http://www.higuchi.com/dokuwiki/dokuwiki:localize]] (higuchi.com) 

!テンプレート
こちらも他力本願ですが、okoze-esca.net さんで推薦されていたテンプレートをベースに少しだけ好みに微調整しました。シンプルで扱いやすいテンプレートです。たしかにお勧めです。
*[[arctic テンプレート|http://www.chimeric.de/projects/dokuwiki/template/arctic]] (ch!mer!c.de)

!サイト構成
DokuWiki では Namespaces(名前空間)を利用した階層的なカテゴライズが可能です。せっかくの便利な機能なのですが利用しませんでした。私の場合、設計能力に乏しいのか階層構造が細分化しすぎて破綻することが多いのです。途中で構成を変えたくなることも頻繁で何度も失敗した記憶があります。また、Namespaces の移動等を行うと挙動が怪しいことも採用しなかった理由です。

結局、全てコンテンツはフラットにし、タグ付けで横断的に分類することにしました。フォークソノミー?? と言うんですかね。詳しくは知りませんが。。Blog プラグインなどは Namespaces を分けておくと運用が便利なのですが、とりあえずシンプルな構成を選択しました。Topic Path も意味がなくなり勿体無い気もしますが。。

!雑感
まずまずの好印象です。この感覚が結構重要。PukiWiki で出来る事は概ね DokuWiki でも出来ます。逆も然りです。言い換えれば、自分の要件はどちらでも実現可能でした。あ、ACL(Access Control Lists)がありましたね。これは便利です。後はデザイン(テンプレート)が自分好みであることを除けば、PukiWiki から移行するコストを考えると微妙なところです。もう暫く試行してみたいと思います。
前回は DokuWiki を試行しました。方向性としては Wiki システムの選択を検討していたことになります。理由はコンテンツが纏めサイトの傾向にあるからですが、コンテンツへのタグ付け、横断的分類で要件を満足する事に気がつきました。そうなると間口は広がり、現在の BLOG は概ねタグ機能を有してますし、加えて日記的なことも少しは書きたいとなると BLOG で良いかなと。。

!インフラの選定
古くは Nifty のホームページサービスで HTML を直接ガリガリ書いてました。直ぐに生産性の低さに気づき、ココログ(TypePad)、Movable Type、PukiWiki、PukiWiki Plus へと引越しを繰り返しています。ココログ以降はレンタルサーバを契約し他のホスティングサービスには手を出していません。

閑話休題。BLOG 選びですが、現在は Movable Type 4、WordPress 2.3 辺りが無難でしょうか。双方インストール/試行してみましたが、Movable Type は大きく変わりました。なんだか満艦飾な印象です。以前はテンプレートを弄ったりすることを楽しめた記憶がありますが、軽く覗いてみるとモジュール化されていて解読するのも面倒な印象。もう歳なんです。。一方 WordPress は初見ですが、比較的短時間で挙動が把握出来ました。テンプレート構造も私にはシンプルで分かり易い。まあ、システム自体の優位性などには然程興味はないので、好印象と初見である新鮮さを理由に WordPress を選択しました。

!インストール/環境設定
インストールは至極簡単。拍子抜けです。ただ、DB にストアするので事前に準備が必要です。WordPress にはテーマ/プラグインともに良質なものが豊富にあります。DokuWiki とは違い日本語の解説サイトも充実しているので困ることはないと思います。

!テーマ
テーマは N.Design Studio さんから拝借しました。GlossyBlue というテーマ。シンプルで良いのですが、もう少しサッパリとしたかったので少し手を入れました。というかだいぶかも。。大きな変更点はリキッドレイアウトにしたこと。CSS での段組は挫折して悪手な table レイアウトです。そのうちリベンジします。。あとはアイコンを famfamfam.com さんのものに入替えました。結局、原型をとどめてないとも言えますが、母体の CSS はそのまま利用させてもらっているのでクレジットしてあります。
*[[GlossyBlue Theme|http://www.ndesign-studio.com/resources/wp-themes/glossyblue/]] by [[N.Design Studio|http://www.ndesign-studio.com/]] 
*[[famfamfam.com|http://www.famfamfam.com/lab/icons/]] 

!プラグイン
初めからプラグインヘルに陥りたくはないので、機能が足りないと感じてから探そうと思います。とりあえず 5 つ導入してみました。スパム対策に必須の Akismet は、スパムが増えだしたら考えます。スパムすらコメントないかも知れないし。そしたら悲しい。。
|[[Configurable Tag Cloud|http://reciprocity.be/ctc]]|タグクラウド。標準にもありますが、細かな設定が可能。 |
|[[CountPosts|http://djuki.padrino.co.yu/blog/]]|エントリ/サイトの閲覧数を表示。人気エントリリストの表示。|
|[[Get Recent Comments|http://wordpress.org/extend/plugins/get-recent-comments/]]|最近のコメントを表示。|
|[[WP-PageNavi|http://wordpress.org/extend/plugins/wp-pagenavi/]]|ページナビゲーションバーの表示。|
|[[WP 2.3 Related Posts|http://wordpress.org/extend/plugins/wordpress-23-related-posts-plugin/]]|関連エントリの表示。|

!サイト構成
シンプルにバッサリと。。サーチフォームとタグアーカイブ(タグクラウド)のみサイドバーに表示させています。最近の投稿はメインページで 10 件表示しているので不要。最近のコメントもたぶん滅多にこないので専用ページへアサインしました。最近のトラックバックは不要なので表示してません。とにかく見た目シンプルが基本です。テーマと合わせて自分では満足するものが出来たと思います。
TiddlyWiki のサイドバーのタブ "時系列(Timeline)"、"全て(All)" の表示を TiddlerListMacro を利用してカスタマイズしたのでメモ。ForEachTiddlerPlugin でも同様のことは可能ですが、こちらの方がお手軽かも。好みで使い分けると良さそうです。

!方針
|時系列タブ|月毎にグルーピング|
|全てタブ|いわゆる索引形式にグルーピング|

!時系列タブ(TabTimeline)
|white-space:nowrap;変更前|{{{<<timeline>>}}}|
|変更後|{{{<<tiddlerList group:"tiddler.modified.formatString('YYYY.0MM').substr(0,7)" groupTemplate:'!!%group\n' order:"-modified">>}}}|

!全てタブ(TabAll)
|white-space:nowrap;変更前|{{{<<list all>>}}}|
|変更後|{{{<<tiddlerList group:"tiddler.title.substr(0,1)" groupTemplate:"!!''%group''\n">>}}}|

!補足
*規定の隠し tiddler なので、編集するとコピー版が作成される。コピー版を削除することで規定に復元できる。
*時系列は top 指定で表示件数が調整できる。
TiddlyWiki ではセクションがインデントされません。PukiWiki や Wikipedia などメジャー所も同じようです。DokuWiki ではインデントされます。自身は好みもあり必要性を感じませんが、論文など細かくセクション分割されたコンテンツでは可読性を高める場面もあるかと思います。ここでは TiddlyWiki での実装について考えてみます。

!まずは試してみる
このページにスクリプトを設置してみたので、まずは試してみてください。

<script>
var onClickIndent = function(){
 var s = ".H2{margin-left:1em;}\n.H3{margin-left:2em;}\n";
 setStylesheet(s,"IndentContentsStyles");
};
var onClickReset = function(){ setStylesheet("","IndentContentsStyles"); };
createTiddlyButton(place,"インデントする","",onClickIndent);
createTiddlyButton(place,"元に戻す","",onClickReset);
</script> | <<toolbar simpleTOC>>

結論から言うとインデントは効果的に感じました。他にセクションを表現する方法としてはヘッダのスタイル調整がありますが、このサイトでは抑揚が控えめにしてあるので、そのせいもあるでしょう。様子を見て Plugin 化を検討したいと思います。懸念材料は他サイトからのインポート tiddler 等、マークアップ規約が統一されていない場合の可読性低下(必ず h1 から始まるとは限らない)、後は DOM をなめるのでそのコストでしょうか。

!スタイルで解決する
!!CSS 定義
まず、以下の様な CSS 定義が思いつきます。言うまでもなくこの方法では不十分です。
{{{
h1 {margin-left:0em;}
h2 {margin-left:1em;}
h3 {margin-left:2em;}
 :
}}}
!!問題点
ヘッダ要素だけがインデントされて後続要素が取り残された状態になります。
<<<
<html>
<div style="font-weight:bold;border-bottom:1px solid #CCC;">Header h1</div>contents of "Header h1".
<div style="padding:5px;"></div>
<div style="font-weight:bold;margin-left:1em;border-bottom:1px solid #CCC;">Header h2</div>contents of "Header h2".
</html> 
<<<

!スタイル付けの問題点
論理構造と物理構造(HTML) の乖離がジレンマとなります。
!!DOM 構造
Wiki 記法で素直に書けばレンダリングされる HTML は以下の様になります。DOM 的視点ではこれで良いのだと思います。ですが、スタイル付けする場合に困ります。全てが同一階層で並んでいるため、セクションに後続する要素がどの階層に属するか特定が困難です。
|>|<div class="viewer">|
||width:100%;<h1>Header h1</h1>|
|~|contents of "Header h1".|
|~|<h2>Header h2</h2>|
|~|contents of "Header h2".|
!!論理構造
論理的な文章構造の視点で組み立てたものです。
|>|>|>|<div class="viewer">|
||>|>|width:100%;<div class="section">|
|~||>|width:100%;<h1>Header h1</h1>|
|~|~|>|width:100%;contents of "Header h1".|
|~|~|>|width:100%;<div class="subSection">|
|~|~||width:100%;<h2>Header h2</h2>|
|~|~|~|width:100%;contents of "Header h2".|
|~|~|>|width:100%;</div>|
|~|>|>|width:100%;</div>|
!!スタイリング向け構造
フラットな状態から上記のように正確な階層構造を組み立て直すのは少し面倒かも知れません。コストも掛かるでしょう。スタイル付けの目的としては、以下の様に最低限セクション毎に纏めてあれば十分なので、これを採用することにします。
|>|>|<div class="viewer">|
||>|width:100%;<div class="H1">|
|~||width:100%;<h1>Header h1</h1>|
|~|~|width:100%;contents of "Header h1".|
|~|>|width:100%;<div class="H2">|
|~||width:100%;<h2>Header h2</h2>|
|~|~|width:100%;contents of "Header h2".|

!実装方法
では、具体的に実現方法を見てみます。勿論 HTML 生成部分へ手を加えるような大袈裟なことはせず、既存の HTML 要素を操作します。まずは Plugin ではなく Script で書いてみます。基本的な作戦としては、セクションにヘッダレベルを示す class 名(H1,H2,H3...)を付与しスタイル付けします。セレクタは jQuery を利用。
!!方法 1 (失敗)
*ヘッダ要素のみを抽出/走査。
*各ヘッダを基点に隣接弟要素を探索し、class を付与。
*次のヘッダ要素か終端となるまで繰り返し。{{m{
{{{
<script>
jQuery(":header",place).each(function(){
 var self = jQuery(this), elm = self;

 //テキストノードがマッチしない
 while(elm = elm.next().not(":header")){

  if(elm.length == 0) break;

  if(elm.attr("tagName") == undefined)
   elm = elm.wrap("<span />").parent();

  elm.addClass(self.attr("tagName"));
 }
});
</script>
}}}
}}}
!!!問題/対策
*jQuery のセレクタ、Traversing API では基本的にテキストノードにマッチしない。
*contents() ではマッチするのでこれを利用する。find("*") でも可能??

!!方法 2 (失敗)
*全要素を抽出/走査。
*ヘッダ要素の場合、タグ名を現在のセクションレベルとして退避する。
*テキストノードの場合は、ダミーのタグ(span)でラップしておく。
*要素の class にセクションレベルを設定する。{{m{
{{{
<script>
var indent = "";

//テキストノードもマッチする
jQuery(place).contents().each(function(){
 var self = jQuery(this);

 if(self.is(":header"))
  indent = self.attr("tagName");

 if(self.attr("tagName") == undefined)
  self = self.wrap("<span />").parent();

 if(indent != "")
  self.addClass(indent);
});
</script>
}}}
}}}
!!!問題/対策
*インライン要素が隣接する場合に破綻する。以下例。{{m{
<<<
インライン要素が隣接する場合
>aaaaa<a href="..>bbbbb</a>ccccc...
ラップ/タグ付け
><span class="H2">aaaaa</span><span class="H2"><a href="..>bbbbb</a></span>...
出力イメージ
><html>
<div style="font-weight:bold;margin-left:1em;border-bottom:1px solid #CCC;">Header h2</div><span style="margin-left:1em;">aaaaa</span> bbbbb ccccc ddddd eeeee ff<br />
fff ggggg hhhhh iiiii...
</html>
<<<
}}}
*各要素毎ではなくヘッダ間を纏めてラップする。

!!方法 3 (完成)
*全要素を抽出/走査。
*ヘッダ要素のインデックスを記録。
*ヘッダ間の要素(ヘッダも含む)を纏めてラップ。{{m{
{{{
<script>
var elms = jQuery(place).contents(), headPos = [];

elms.each(function(k,v){
 if(jQuery(v).is(":header")) headPos.push(k);
});

for(var i=0; i<headPos.length; i++){
 if(i < headPos.length - 1)
  elms.slice(headPos[i],headPos[i+1]).wrapAll("<div />");
 else
  elms.slice(headPos[i]).wrapAll("<div />");
}

jQuery(":header",place).each(function(){
 var self = jQuery(this);
 self.parent().addClass(self.attr("tagName"));
});
</script>
}}}
}}}

!!方法 4 (補足)
方法 3 の場合、6 階層分のスタイル定義が必要です。それが面倒であれば、階層分多重にラップするという手もあります。class には indentBlock など一意名を付けておきます。そうすればスタイル定義は 1 つですみます。が、逆に HTML 構造的には好ましくないかも知れません。
<script>
var elms = jQuery(place).contents(), pos = [];
elms.each(function(k,v){ if(jQuery(v).is(":header")) pos.push(k); });

for(var i=0; i<pos.length; i++){
 if(i < pos.length - 1) elms.slice(pos[i],pos[i+1]).wrapAll("<div />");
 else elms.slice(pos[i]).wrapAll("<div />");
}

jQuery(":header",place).each(function(){
 var self = jQuery(this);
 self.parent().addClass(self.attr("tagName"));
});
</script>
TiddlyWiki はタグナビゲーションがベースですが、[[Hatena::Bookmark|http://b.hatena.ne.jp/]] や [[delicious|http://delicious.com/]] のようなタグの絞込みができません。正確には TiddlerListMacro や ForEachTiddlerPlugin を利用すれば絞込みリストを得ることはできますが、それは手作業になります。やはり前述の SBM ライクなインタフェイスが欲しくなります。デフォルトでは tagging 組み込みマクロを利用して、タグのついたページリストが表示される仕組みはあります。そこを少し補完してみました。

!RelatedTagMacro
WordPress でも同じ類のものを作りましたが、TiddlyWiki でもプラグインとして作成してみました。tagging マクロを流用し、少し手を加えただけの簡単なものです。

さて、一見すると所望通り機能しているように見えますが、AND 処理ではありません。つまり絞り込みではありません。1 つのタグに紐づいているタグを列挙しているだけです。なので、あくまで「補完」です。それでも、常に全タグから探すよりはかなり効率的になるでしょう。タグ間の関連も多少見えてきます。時間と技術が伴えば、バージョンアップしたいところです。
|URL|http://www.ntv.co.jp/gaki/|
|Desc|ガキの使いやあらへんで Official|
車輪の再発明ではなくて、どこかで見たのですがソースが思い出せないので自分用にメモ。

こんな風には書きたくないなあって時。
{{{
src = "name:" + item + ", price:" + price + ", desc:" + desc;
}}}

!置換処理
{{{
var loadTemplate = function(template, data) {
  var func = function(w, p) {
    return data[p] || w; // 変数じゃないものは展開しない(ex.{notParam})
  };
  return template.replace(/{([\w\.]+)}/g, func);
};
}}}

!テンプレート
{{{
var template = {
  "tplA" : "name:{item}, price:{price}, desc:{desc}",
  "tplB" : "name:{item}, price:{price}, not param:{notParam}"
};
}}}

!データ
{{{
var data = [
  { "item" : "Apple", "price" : "\\200", "desc" : "赤い果物" },
  { "item" : "Banana", "price" : "\\300", "desc" : "黄色い野菜" }
];
}}}

!ロード
{{{
// name:Apple, price:\200, desc:赤い果物
alert(loadTemplate(template["tplA"], data[0]));
}}}
{{{
// name:Apple, price:\200, not param:{notParam}
alert(loadTemplate(template["tplB"], data[0]));
}}}
{{{
// name:Apple, desc:赤い果物, price:\200
// name:Banana, desc:黄色い野菜, price:\300
for(var i = 0, length = data.length; i < length; i++)
  alert(loadTemplate(template["tplA"], data[i]));
}}}
<<tiddler SimpleRSSReader with: "http://feeds.journal.mycom.co.jp/haishin/rss/index">>
Windows 7 のベータを入れました。既に多数のレビューが高評価を出しており自身も概ね同印象ですが、OS レベルのパフォーマンス云々な話には然程興味のないのが正直なところ。以前のアーリーアダプターな自分は消え、最近は面倒でこの手の技術には晩熟です。あれこれ考えたくないので、何でも良いから 1 つのバージョンへ集約されてくれると嬉しい。

閑話休題。では Windows 7 ベータを入れた理由は「メイリオ UI」フォントが目的。以前に Vista のメイリオフォントを絶賛するエントリを書きましたが、字幅、行間が大きいなど体裁の問題で、結局現在では使用していません。同じ印象を持った方は大勢いるようでパッチ版([[MeiryoKe|http://www.google.co.jp/search?hl=ja&q=MeiryoKe&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq=]])も存在する程です。では「メイリオ UI」フォントとは何者か、名の通りメイリオの UI バージョンです。行間も狭くなり MS UI Gothic に近い体裁となっています。

!Web フォントに使えるか
全体的なバランスで MS UI Gothic の人気は高いようですが、UI とはあくまでユーザインタフェイス向けという意味です。Web 用途としてみた場合に欧文(英数字、記号)のインパクトに欠ける印象がありました。フォントの質感では賛否はあるものの ClearType のメイリオが印刷物を見る感覚に近く欧文も美しいですが、前述の通り体裁が悪い。で良いとこ取りの「メイリオ UI」に注目な訳です。

!フォントの指定方法
ブラウザ規定として指定する場合は、各ブラウザの環境設定で指定します。CSS では、以下の font 名指定で有効となりました。(ベータ版なので最終的な仕様は不明です。おそらく変わらないかな。。)
>font-family:"meiryo UI";

!フォント比較
メイリオフォントでは記号が行頭にあると行の並びが凸凹になり非常にバランスが悪いのですが、メイリオ UI では自然で違和感がありません。と言いたかったのですが、鉤括弧は良いものの丸括弧がダメですね。。約物のカーニング(?) に統一がないようです。残念。やはりバランスを考えれば MS UI Gothic や MS P Gothic となるのでしょうか。

[img[http://img.f.hatena.ne.jp/images/fotolife/r/rc-2/20090610/20090610152022.jpg]]

!雑感
上記の体裁を差し引いても、結論としては好印象です。使えます。欧文フォントとのコンボは完全に好みですね。自サイトでは「Arial(or Helvetica) + メイリオ UI」がベストと判断。という訳で早々に CSS を切り替えたいので、あとは予定通りに Windows 7 が出荷されることを祈るだけです。
Windows 7 が無事出荷されたので、[[以前のエントリ|メイリオ UI は Windows 7 の目玉??]]で公言した通りメイリオ関連に手を出してみました。目的はメイリオが利用できる環境ではメイリオで表示するという至極簡単な要件なのですが。。色々と悩ましい問題があるので整理しておきます。

状況は "[[IE で 11px 辺りの表示がおかしい問題|http://www.google.co.jp/search?hl=ja&q=ie+11px&lr=lang_ja]]" と似ていてブラウザやエンコードなどにより挙動に差異があります。尚、記憶を辿っての情報なので誤りがあったらごめんなさい。。加えて Windows 環境限定でのお話です。

!和文フォントが先頭の場合
欧文文字も含め全て和文フォントで表示されます。
|e.g.|width:100%;{{{font-family:"メイリオ",meiryo,sans-serif;}}}|
ただし、IE 6 以前では lang の指定による挙動の差異があります。
|>|case|>|behavior|h
|browser|lang|欧文|和文|h
|less than IE 7|ja|>|メイリオ|
|less than IE 7|en|>|ブラウザ規定のフォント(変更可)|
|others|any|>|メイリオ|

!欧文、和文フォント混在の場合
欧文文字は欧文フォント、和文文字は和文フォントで表示されます。
|e.g.|width:100%;{{{font-family:arial,"メイリオ",meiryo,sans-serif;}}}|
ただし、ブラウザ、charaset の違いによる挙動の差異があります。
|>|>|case|>|behavior|h
||browser|charset|欧文|和文|h
|1|Firefox|any|Arial|メイリオ|
|2|Safari, Chrome|any|Arial|メイリオ|
|3|less than IE 8|any|Arial|ブラウザ規定のフォント(変更可)|
|4|IE 8|UTF-8|Arial|ブラウザ規定のフォント(変更可)|
|5|IE 8|EUC-JP, Shift_JIS|Arial|メイリオ|
|6|Opera|any|Arial|sans-serif 系のフォント(変更不可)|
!!追記
無知がオチだと恥ずかしいですが、case 4 は挙動が怪しいです。case 5 の挙動をしたりと不定です。実際このサイトは case 4 に該当しながらも case 5 の挙動をします。ミニマムコードでは、やはり基本は case 4 になります。ところが sans-serif を消してみたり、CSS を弄っていると稀に case 5 になります。以降は Reload しても case 5 のまま。IE8 Standards であることを確認し、DOCTYPE を HTML, XHTML と変えても変化なしです。まあ趣旨から外れるので深追いはしません。ここでは環境による差異があることだけに留めます。

!考察
まず、メイリオにする前提として行間等も含め通常サイズ(MS P ゴシック等)よりも大きめになることは許容する必要があります。加えて前者の場合は欧文文字もメイリオになるのでさらに間延び感が生じます。後者の場合は、欧文フォントを好みで調整できますが、和文がメイリオにならないケースがあることを許容する必要があります。とっても悩ましいですね。。

このサイトでは後者の方法を選択(妥協)しました。
>font-family:arial,"meiryo UI","メイリオ",meiryo,sans-serif;

!折衷案(の残骸)
折衷というより一つのアプローチです。TiddlyWiki 向けの簡単な Plugin ですが内容的には汎用で使えます。一時利用していましたが上記の通り後者の方法へ変更したので Disable としています。多分に気分屋なのでこのまま残しておきます。参考になれば。
>[[fontAvailable jQuery Plugin & Adjustment for Meiryo]]
!!やっていること
*全てをメイリオで表示させるために前者の方法で指定します。
*全体の印象を引き締めるため、フォントサイズを 1 レベル小さくします。
*ただし、メイリオ以外のフォント(メイリオがない環境の場合)では逆に小さすぎてしまうので、メイリオの存在チェックを行い存在する場合だけフォントサイズの調整を行います。フォントの存在チェックには [[fontAvailable jQuery Plugin|http://code.google.com/p/jquery-fontavailable/]] を利用。
*合わせて IE 6 対応のため、lang を ja に変更します。
TiddlyWiki のマークアップでリスト項目にブロック要素(blockquote, pre 等)を内包する方法です。PukiWiki では首尾よく処理されていて、挙動の違いに隔靴掻痒を感じながらも放置していたのですが、重い腰を上げ整理しましたのでメモエントリです。

きっかけは以下のディスカッション。
>[[Monospaced blocks in numbered bullet points|http://groups.google.com/group/tiddlywiki/browse_thread/thread/208d9d58deac8723]] / Google Group:TiddlyWiki
以下の文章は冗長なので方法だけ知りたい方は上記リンクを参照ください。

!はじめに
*blockquote, pre, table 等に適当(?)なマージンを指定する事は多いと思います。これらは大抵の場合見栄えを満足しますが、スタイルの問題なので構造上の意味は持ちません。それっぽく見えているだけであって後述するような状況では破綻します。ここではリスト項目に後続する blockquote を例に挙げ問題と解決策を整理してみます。
*なお、これらをテキストノードや b タグ等の修飾タグと同列に捉えるならマージンは不要と考えています。それは属する要素によって決定されれば良いのです。マージンはコンテナ側に依存しましょうということです。べき論ではなく好みです。バッサリと横マージンは 0 にしました。恣意的要因は落ち着かないのも理由。。

!PukiWiki との違い
*PukiWiki では上手く(自然に)処理されていて、隣接したものは内包されます。{{n{
{{{
-list item
>this is blockquote.

>this is blockquote. /* outside of the list */
}}}
----
*list item{{m{
>this is blockquote.
}}}
>this is blockquote. /* outside of the list */
}}}
*DOM 構造を見るとこんな感じ。li に内包されています。{{m{
{{{
<li>
 list item
 <blockquote>
  this is blockquote.
 </blockquote>
</li>
}}}
}}}
*一方 TiddlyWiki では同列に配置されてしまいます。{{m{
{{{
<ul>
 <li>list item</li>
</ul>
<blockquote>
 this is blockquote.
</blockquote>
}}}
}}}

!リストの階層が浅い場合
*まあ、この程度であれば許容は出来ます。これが前述した "大抵の場合" です。{{n{
{{{
*list item
>this is blockquote.
}}}
----
*list item
>this is blockquote.
}}}

!リストの階層が深い場合
*しかし、ここまでになると違和感があります。{{n{
{{{
**list item
>this is blockquote.
}}}
----
**list item
>this is blockquote.
}}}
*blockquote の階層を合わせても解決しません。{{n{
{{{
**list item
>>this is blockquote.
}}}
----
**list item
>>this is blockquote.
}}}

!リストへの内包
*結局 li に内包する必要があります。
*Wiki マークアップに手を加えず、以下の様な DOM 操作的アプローチを考えてみましたが、要素の位置関係を辿る情報がないので限界があります。なにより意図しない挙動を作りこみそうなので却下です。{{m{
{{{
var target = ["BLOCKQUOTE","PRE","TABLE"];

jQuery("ul + *",place).each(function(){
 var t = $(this).prev();
 while(target.contains(t.next().attr("tagName"))){
  t.next().appendTo(t);
 }
});
}}}
}}}

!結論
*マークアップの段階で適切に配置するようにします。formatter に手を加えても良さそうですが、構造上の意味合いも明示できるので非生産的ではありますが最良と判断しました。方法は上記リンクにある通り後続ブロックを class でラップし li に内包させます。{{m{
{{{
 *list item{{wrapBlock{
 >this is blockquote.
 }}}
}}}
}}}
*DOM 構造はこんな感じ。class 名はダミーなので例にある様に "m" 等短いもので構いません。{{m{
{{{
<li>
 list item
 <div class="wrapBlock">
  <blockquote>
   this is blockquote.
  </blockquote>
 </div>
</li>
}}}
}}}

<script>
jQuery(".n",place).css({"border-left":"1px solid #AAA","padding-left":"5px"});
</script>
先日、ロリポップのサーバ障害がありました。データ消失というなかなかに大規模なものです。この Wiki はたまにバックアップしていたので全滅の事態は免れましたが、昔の BLOG や各種スクリプトなど、自身には貴重な資産を失いました。対応は下記の様な報告メールが来ただけ。ロリポップ側のステータスも既に「解決済」です。あっさりとしたものです。

>今回お客様データの復旧を最優先し作業を進め、緊急にサーバー内ハードディスクデータのバックアップ並びに、復旧を試みましたが、ハードディスク本体の損傷が激しく、サーバー内のデータを消失する結果となってしまいしました。

ホスティングサービスとして如何なものかと疑問はありますが、「バックアップはユーザ責任」とあるので一方的に文句が言えないところ。価格も安いことですし。安かろう悪かろうで。しかしサーバ側は本当にバックアップしていないんですね。。例えば一ヶ月前のデータにロールバック的なこととか、多少期待していたのですが甘かったです。今回のような経験は初めてだったので良い教訓にはなりました。と前向きに。

!さくら移行検討
以前よりロリポップに対する満足度は高くはなかったので、良いタイミングということで他サービスへの乗換えを検討してみました。幾つか物色しましたが、妥当なところで「[[さくらのレンタルサーバ|http://www.sakura.ne.jp/]]」を検討/試用中です。
!!2 週間の試用期間
これは良いです。色々試せます。実際、後述する問題を事前に知ることができたことからも効果的なサービスであることがわかります。ちなみに、試してみてやっぱやめたーって時ですが、クレジットカード払いを選択した場合は、お試し期間が過ぎると自動的に本登録手続きとなるので注意です。キャンセル処理を忘れずに。。
!!シェルログイン(TELNET/SSH)
これが利用できる/できないのは大きな違い。かなり便利。(スタンダード以上)
!!PukiWiki の導入
特に問題はないと軽視していましたが。。さくらは CGI 版 PHP のため BASIC 認証が行えないという落とし穴がありました。対策として、下記リンクの通り .htaccess で POST アクセス時のみ認証を行うように設定しましたが、comment プラグイン等、POST メソッドを使用するものにも影響がでてしまいます。私の運用の場合はアウトです。色々と好印象だっただけに非常に残念。一応、試用期間ギリギリまでは色々弄ってみます。
*[[CGI 版 PHP で header() 関数が使えないので Basic 認証が通らない|http://pukiwiki.sourceforge.jp/?%E7%B6%9A%E3%83%BB%E8%B3%AA%E5%95%8F%E7%AE%B1%2F198]] (PukiWiki official)
七変化。2011.02.06 時点ランキング。
----
*※ 1 勝手に七変化
*※ 2 夏限定 ホラー七変化
----
| 順位| 募金額|挑戦者|放送|h
| 1 位| ¥63,000|次長課長 河本| 753-20050417|
| 2 位| ¥53,000|ボブ・サップ| 635-20021124|
| 2 位| ¥53,000|笑い飯 哲夫| 941-20090208|
| 4 位| ¥48,000|ブラックマヨネーズ 小杉| 887-20080113|
| 5 位| ¥47,000|友近| 1021-20100912|
| 6 位| ¥46,000|バナナマン 日村| 994-20100228|
| 7 位| ¥45,000|FUJIWARA 原西| 852-20070429|
| 8 位| ¥44,000|構成作家 竜泉| 487-19991107|
| 9 位| ¥43,000|千原兄弟 千原靖史| 731-20041107|
| 10 位| ¥41,000|ケンドーコバヤシ| 978-20091101|
| 11 位| ¥40,000|ココリコ 田中| 387-19970928|
| 12 位| ¥38,000|くりぃむしちゅー 有田| 695-20040215|
| 12 位| ¥38,000|フットボールアワー 後藤| 799-20060402|
| 14 位| ¥37,000|腰フリおばちゃん| 394-19971123|
| 14 位| ¥37,000|バナナマン 設楽| 1004-20100509|
| 16 位| ¥35,000|FUJIWARA 藤本| 844-20070225|
| 16 位| ¥35,000|野性爆弾 川島| 1041-20110206|
| 18 位| ¥33,000|フットボールアワー 岩尾| 792-20060205|
| 19 位| ¥31,000|ふかわりょう| 625-20020908|
| 20 位| ¥29,000|大友ディレクター| 371-19970608|
| 21 位| ¥27,000|木村祐一| 597-20020217|
| 21 位| ¥27,000|笑い飯 西田| 945-20090308|
| 23 位| ¥26,000|雨上がり決死隊 宮迫| 463-19990516|
| 23 位| ¥26,000|千原兄弟 千原 Jr.| 736-20041212|
| 25 位| ¥25,000|磯俣マネージャー| 340-19960929|
| 26 位| ¥19,000|雨上がり決死隊 蛍原| 456-19990314|
| 27 位| ¥16,000|ココリコ 遠藤| 386-19970921|
| 28 位| ¥14,000|菅プロデューサー| 300-19951126|
| 29 位| ¥12,000|品川庄司 品川| 680-20031019|
| 30 位| ¥11,000|山下しげのり| 565-20010617|
| 31 位| ¥10,000|山崎邦正| 297-19951105|
| 31 位| ¥10,000|堤本ディレクター| 312-19960303|
| 33 位| ¥9,000|中村プロデューサー| 325-19960609|
| 最下位| ¥7,000|構成作家 高須| 355-19970202|
| その他| 募金なし|松本人志| SP-19951015|
| その他| ¥60,000(??)|板尾(※ 1)| 504-20000312|
| その他| ¥9,000(??)|ヘイポー(※ 2)| 822-20060910|
TiddlyWiki で Plugin ではない外部スクリプトを利用したい事があります。また、jQuery を内包したことで DOM 操作も容易になりました。しかし、普通の HTML + JavaScript 感覚でこれらを使っていると落とし穴があります。TiddlyWiki というある種のフレームワークが覆っている事に着目してみます。

!スクリプト利用時の問題
普通に script タグで読込むのであれば MarkupPreHead へ追加します。
{{{
<script type='text/javascript' src='notplugin.js'></script> 
}}}

ですが、1 ファイル完結という TiddlyWiki の思想を貫くのであれば、Plugin (systemConfig) として取り込んでしまう方が最良です。このサイトは proxy やイメージを外部ホスティングしている時点で既に完結していないという矛盾はありますが、ここではイメージ以外ということに限定して話を進めます。

!!ロード/実行のタイミング
一般的な Plugin のようなイベントハンドラであればページが全て読み込まれた後にトリガが発生するので問題はありません。では以下の様に直接スクリプトの関数を実行する場合はどうなるでしょうか。
{{{
// aaaTiddler : スクリプト本体
var libFunc = function(){...}
}}}
{{{
// bbbTiddler : 関数コール
libFunc();
}}}

結果は首尾よく動作します。しかし次の例はエラーとなります。変更は tiddler 名のみです。
{{{
// bbbTiddler : スクリプト本体
var libFunc = function(){...}
}}}
{{{
// aaaTiddler : 関数コール
libFunc();
}}}

原因が見えてきました。TiddlyWiki が systemConfig tiddler を評価(eval)するシーケンスが変化したためです。tiddler 名の昇順に処理されるため、後者では undefined libFunc でエラーとなります。tiddler 名で調整するのは論外なので、結論としては Plugin のロード完了を待ってから実行する必要があります。このタイミングを仮に Plugin ready としましょう。 

!DOM 操作時の問題
続いて類似する問題として DOM 操作を挙げます。以下の Plugin は期待通りに動作しません。
{{{
// mainMenu の内容を "aaa" に書き換える
jQuery("#mainMenu").html("<p>aaa</p>");
}}}

原因もスクリプトの例と同様です。実行時に対象の DOM 要素が存在しないためです。エラーにはなりませんが、要素がマッチせず何も処理されずに終わります。ちなみに以下の様に書いても同じです。要素が生成されるのはさらに後です。そのタイミングを仮に TiddlyWiki ready としましょう。jQuery で言う document ready と TiddlyWiki ready は違うという事が分かりました。
{{{
jQuery(document).ready(function(){
 jQuery("#mainMenu").html("<p>aaa</p>");
});
}}}

!Plugin ready, TiddlyWiki ready
では Plugin ready, TiddlyWiki ready はどこなのでしょう。使う側の視点で見れば、どこへ処理を書けばよいのでしょうか。TiddlyWiki の起動シーケンスを覗いてみると、各プロセスの完了をトリガにイベントを発行しています。これらをバインドすれば良さそうです。小分けにせずに startup に集約しちゃっても良いですね。 
{{{
// function main() 抜粋
jQuery().trigger("loadPlugins"); // Plugin ロード完了
jQuery().trigger("startup"); // 全ての起動プロセス完了
}}}
!!Plugin ready
{{{
jQuery().bind("loadPlugins",function(){
 libFunc();
});
}}}
!!TiddlyWiki ready
{{{
jQuery().bind("startup",function(){
 jQuery("#mainMenu").html("<p>aaa</p>");
});
}}}
!!Yet Another
[[Google Group:TiddlyWiki で別のアプローチ|http://groups.google.co.jp/group/tiddlywiki/browse_thread/thread/816618119cd2b5d9#]]を見つけました。TiddlyTools の Eric Shulman 氏の提案です。PageTemplate の末尾でマクロを実行する方法で、"PageTemplate の展開 = ページの読み込み完了" というタイミングを利用したテクニックです。ViewTemplate に設置すれば tiddler 毎のアクションを定義できます。なるほどお。。唯感心するばかりです。
{{{
<span macro='tiddler PageTemplate##SiteStartup'></span>
<!--
!SiteStartup
<script>jQuery("#mainMenu").html("<p>aaa</p>");</script>
!end
-->
}}}
|URL|http://www.koikikukan.com/|
山崎プロデュース CD 化を目指せ!! (735-20041205)

!BEACH PADDY
|作詞・作曲:山崎邦正 唄:浜田雅功|パート|h
|街の真ん中で破裂する 抑えきれない欲望と<br>造られすぎた現実を はかりにかけて生きている|浜田雅功|
|どこまで行くの どうすればいいの<br>答えがあるの 誰が決めるの|浜田雅功|
|不毛な土地に 光を与える<br>メシアのいる世界へ|浜田雅功|
|激しく打ち鳴らす 時間を刻みつける番人よ<br>選ばれた者たちと 扉を開ける真紅の鍵と|浜田雅功|
|激しく打ち鳴らす 時間を刻みつける番人よ<br>今こそ飛び出そう 誰も知らないその世界へ|浜田雅功|

!Riziere Centre
|作詞・作曲:山崎邦正 唄:田中直樹|パート|h
|いつも 思うの あなたのそばで感じた時<br>そう この感じ 幼い時のままよ|田中直樹|
|晴れた日は迎えに来て 前で待ってるわ<br>二人の合図 両手でVサイン|田中直樹|
|子供の頃に 聞いたお話し<br>いつもはハッピーエンド|田中直樹|
|あなたは私に どんな結末の<br>お話をつくるの<br>素敵な そう ラブストーリー|田中直樹|

!FAR WISTARIA
|作詞・作曲:山崎邦正 唄:遠藤章造|パート|h
|That’s too bad<br>(それはいけません)<br>Pardon?<br>(もう一度言ってくれませんか?)<br>Happy birthday<br>(お誕生日おめでとう)<br>Please help me<br>(助けて下さい)<br>Unless you don’t watch my body,you repent of<br>(この俺の ボディを見てくれ)<br>Also the incedent of girls gonna feel<br>(あばずれ娘も クラクラさ)<br>Such a mam of the gang,they have their eyes<br>(ギャングのママだって俺様に)<br>On stalks if you meet me<br>(会ったならばメロメロさ)<br>Anyone whom woman is do that<br>(女なら誰だってそうなのさ)<br>All of women in the earth are<br>(地球上のすべてのメスがな)|遠藤章造|
|Please forgive me<br>(どうぞ許して下さい)<br>No problem<br>(問題ない)<br>You’re welcome<br>(どういたしまして)<br>Have a nice weekend<br>(楽しい週末を過ごして下さい)|遠藤章造|
|That’s too bad<br>(それはいけません)<br>Pardon?<br>(もう一度言ってくれませんか?)<br>Happy birthday<br>(お誕生日おめでとう)<br>Please help me<br>(助けて下さい)|遠藤章造|

!PINE BOOK
|作詞・作曲:山崎邦正 唄:松本人志|パート|h
|もう 戻れない 場所まで来たみたいだ<br>振り返る時はいつも 自分の影を見る|松本人志|
|そう それならば 行くところまで行こう<br>そうすれば きっと 振り返る事も無い|松本人志|
|ずっと信じてた 大切な想いを<br>誰にも邪魔されず 育ってきたこの心を|松本人志|
|Let it be Let it be<br>きっとやれるさ いつでもそうさ|松本人志|
|Let it be Let it be<br>何にも負けない 真実をつかむまで|松本人志|
山崎プロデュース CD 化を目指せ!! (2) (809-20060611)

!夏オトコ 2006 メドレー
|>|作詞・作曲:山崎邦正 唄:遠藤章造|パート|h
|忘れられない Summer|(忘れられない Summer)|遠藤章造|
|江ノ島の海じゃ 別れた女が一人<br>涙見せずに<br>横浜の街じゃ フラれた女が一人<br>傘もささずに 歩いてる|(江ノ島の女)|遠藤章造|
|青い海が 呼んでる<br>今宵 波のように連れ出す<br>焼けた 素肌 眩しく<br>俺の胸を焦がす Summer day|(海06)|遠藤章造|
|雨上がりに見慣れた道を OH YEAH<br>何も変わらない君と<br>素敵な思いを胸に OH YEAH<br>初めて言える 好きだよ|(愛しい君に)|遠藤章造|
|一度限りの Summer|(忘れられない Summer)|遠藤章造|

!Those days
|作詞・作曲:山崎邦正 唄:松本人志・田中直樹|パート|h
|彼には最高<br>だけど 俺には孤独だけ|松本人志|
|今なら 絶好<br>これが 最後のチャンスだぜ|田中直樹|
|狂えるようなダンシングで<br>落とすぜ 今夜は|2 人|
|凍てつくような瞳で<br>決めるぜ 今夜は(きっと君なら)|2 人<br>松本人志(田中直樹)|
|翔ぼうぜ 二人で Fly away<br>目が覚めるまで(遠く)|松本人志<br>松本人志(田中直樹)|
|行こうぜ 二人で Run away<br>忘れるまで(もっともっと)|松本人志<br>松本人志(田中直樹)|
|翔ぼうぜ 二人で Fly away<br>目が覚めるまで(遠く)|松本人志<br>松本人志(田中直樹)|
|行こうぜ 二人で Run away<br>夢 叶うまで|松本人志<br>2 人|
 
!Not a errand boy
|作詞・作曲:山崎邦正 唄:ガキの使いオールスターズ|パート|h
|AH 山崎さん 二人見上げた星空が<br>昨日のようにこの胸に映し出されています|浜田雅功|
|AH 松本さん あの日誓った約束は<br>心の引き出しにしまっています 大切だから|山崎邦正|
|寂しすぎて 一人じゃ歩けない<br>孤独に怯える僕を 離さないで 抱きしめていて|全員|
|AH 田中さん 探し物はありましたか?<br>心の隙間埋めるのは きっと分かっているはず|松本人志|
|AH 遠藤さん 君の部屋で語った夢<br>微笑みながら頷いていた その優しさを 忘れられません|田中直樹|
|僕らの手には届かない 光り輝く星たちよ<br>どうか ずっと 包んでくれ<br>弱すぎる僕たちを|全員|
|AH 浜田さん 体には気をつけて<br>いつも強がってばかりいるけど<br>分かっています 分かっています|遠藤章造|
|僕らの手には届かない 光り輝く星たちよ<br>どうか ずっと 包んでくれ<br>弱すぎる僕たちを|全員|
|僕らの手には届かない 光り輝く星たちよ<br>どうか ずっと 包んでくれ<br>弱すぎる僕たちを|全員|
|どうか ずっと 包んでくれ<br>くじけそうな 僕たちを|浜田雅功<br>全員|
山崎プロデュース CD 化を目指せ!! (3) (872-20070930)

!恋の沈丁花
|作詞・作曲:山崎邦正 唄:八代亜紀、浜田雅功|パート|h
|薄めのスコッチ ここに置いとくわ<br>あなたのペースで 氷を溶かして|八代亜紀|
|そんな気遣い 何年ぶりかな<br>可愛い女に 見えてきちゃうぜ|浜田雅功|
|何を言うのよ その気にさせて<br>お前がその気なら 踊ろうか|八代亜紀<br>浜田雅功|
|こんな私を口説く気?<br>よせよ そんなガラじゃない|八代亜紀<br>浜田雅功|
|昔のように笑ってよ<br>思い出すなよ 辛いだけ<br>|八代亜紀<br>浜田雅功|
|やっぱり二人は 同じ花<br>ひっそり咲くのさ 恋の花|2 人|
|見ているだけなら 同じ花<br>触ってごらんよ 恋の花|2 人|
|ひっそり咲くのさ 沈丁花|2 人|

!マリアンヌ隊員
|作詞・作曲:山崎邦正 唄:ダイアモンド☆ユカイ、遠藤章造|パート|h
|嵐の中で 今立ち向かう<br>孤独という名の 我が堕天使よ<br>魔物と暮らす 毎日がいつか変わる時|遠藤章造<br>ダイアモンド☆ユカイ<br>遠藤章造|
|Hey! Hey!<br>環境破壊を やめなきゃ いけないぜ<br>俺達 破壊を やめなきゃ いけないぜ|2 人|
|Hey! Hey!<br>邪悪な play を やめなきゃ いけないぜ<br>俺達 play を やめなきゃ いけないぜ|2 人|
|Hey! Hey!<br>環境破壊を やめなきゃ いけないぜ<br>俺達 破壊を やめなきゃ いけないぜ|2 人|
|マリアー|遠藤章造|

!宇宙(そら)の子守唄
|作詞・作曲:山崎邦正 唄:由紀さおり、松本人志、田中直樹|パート|h
|ほらほら風が 運んできたよ<br>あなたの為に 運んできたよ|由紀さおり|
|ゆらゆら雲が 笑っているよ<br>あなたの上で 笑っているよ|田中直樹|
|みてみて僕は ここにいるよ<br>ずっと前から ここにいるよ|松本人志|
|鳥よ 花よ あなたの愛よ<br>素晴らしき日よ|全員|
|海よ 空よ あなたの愛よ<br>変わらぬ大地よ|全員|
|ル ル ルルル・・・<br>ル ル ル ルル ルルル・・・<br>ルルルルル ルルルルル・・・|由紀さおり<br>田中直樹<br>松本人志|
|月よ 星よ あなたの愛よ<br>今も とこしえに|全員|
|バラよ 菊よ いろんな物よ<br>いつも ありがとう|全員|
|鳥よ 花よ あなたの愛よ<br>素晴らしき日よ|全員|
|海よ 空よ あなたの愛よ<br>変わらぬ大地よ|全員|
山崎プロデュース CD 化を目指せ!! (4) (929-20081116)

!SPRING LOVE
|作詞・作曲:山崎邦正 唄:はるな愛、ココリコ|パート|h
|ほら あそこに 見えているのは<br>私の星 そう ふたご座よ<br>この広い 宇宙の中で ひときわキラめいてる|はるな愛|
|あなたと 初めて キスした 瞬間に|遠藤章造|
|私の 身体の 宇宙が 弾けたの|田中直樹|
|ユニコーンにまたがり あなたの星まで<br>駆け抜けて行くわ 流星のように|3 人|
|まだ<br>ダメ<br>すぐ<br>待っていてね|はるな愛<br>遠藤章造<br>田中直樹<br>はるな愛|
|あぁ かに座に邪魔されて 横をすり抜け<br>あなたの星 おうし座へ ひとっとび|3 人|
|すぐ<br>すぐ<br>すぐ<br>駆けていくわ|はるな愛<br>遠藤章造<br>田中直樹<br>はるな愛|
|ずっと<br>ずっと<br>ずっと<br>待っていてね|はるな愛<br>遠藤章造<br>田中直樹<br>3 人|

!わちき
|作詞・作曲:山崎邦正 唄:島倉千代子、ダウンタウン|パート|h
|深いほど 沁み渡る わちきの情け<br>濡れそぼる 枕元<br>涙やありんせん|島倉千代子(島倉屋 当主)|
|「越後を発って 早八年<br>右も左も分かりやせん<br>御国者と馬鹿にされ<br>守ってくれたね お上さん<br>そんなあなたに 惚れて惚れて<br>女にゃ惚れても 男にゃ惚れんぜよ」|浜田雅功(島倉屋 初代 胡蝶)|
|思い出す まげ姿<br>闇夜にうなさるる|浜田雅功(島倉屋 初代 胡蝶)|
|「ふらり死のうと 立ち寄って<br>目が合い 無心をしたものの<br>訳が分からず 一人酒<br>主の居ぬ日は淋しくて<br>涙で濡らす 高枕<br>袖は振っても 男は振らんぜよ」|松本人志(島倉屋 三代目 若菜)|
|よんできろ お上さん<br>闇夜にうなさるる|松本人志(島倉屋 三代目 若菜)|
|「どげんかせんと いかんぜよ」|島倉千代子(島倉屋 当主)|
|浴びるほど のまんしよ わちきの心<br>思い出す まげ姿<br>闇夜にうなさるる|3 人|

!DK-KING
|作詞・作曲:山崎邦正 唄:ET-KING、ダウンタウン、ココリコ|パート|h
|立ち上がれ わいらのヒーロー<br>イカしてる わいらのヒーロー<br>モテモテの わいらのヒーロー<br>とにかくそう わいらのヒーロー|全員|
|立ち上がれ わいらのヒーロー<br>イカしてる わいらのヒーロー<br>モテモテの わいらのヒーロー<br>とにかくそう わいらのヒーロー|全員|
|「あ」っで始まる 愛してるは<br>いい男への合言葉よ<br>ウザい奴には分からんやろ<br>ええ男だぜ<br>男前や|遠藤章造|
|軽く一声 かけたれーや<br>きっとそいつは振り向いて<br>狂おしいほどの笑顔で<br>結局 一言<br>こういうぜ|浜田雅功|
|合い言葉は<br>ナイスガイ<br>決まり文句は<br>ナイスガイ<br>みんなでそう<br>ナイスガイ<br>SO! YA! わいらのヒーローやで|イトキン<br>全員<br>イトキン<br>全員<br>イトキン<br>全員<br>イトキン|
|ワンダフルボーイ<br>ゴールデンボーイ<br>デリシャスボーイ<br>クールボーイ<br>ラブリーボーイ<br>ハッピーボーイ<br>ワンダーボーイ<br>ワンダーボーイ|ET-KING|
|ファンタスティックガール<br>ピュアガール<br>スイートガール<br>エクセレントガール<br>ダイアモンドガール<br>ピュアガール<br>スイートガール<br>ピュアガール|ET-KING|
|さぁ 始まるビッグなショーだ<br>シンと静まる大舞台で<br>全てを懸けたあの男だ<br>世界一の<br>そう あいつだ|田中直樹|
|台風の目が 来たようだ<br>チョー すげー盛り上がりだ<br>突っ立ってないで そうお前も<br>手を振りなよ<br>友達だぜ|松本人志|
|合い言葉は<br>ナイスガイ<br>決まり文句は<br>ナイスガイ<br>みんなでそう<br>ナイスガイ<br>SO! YA! わいらのヒーローやで|イトキン<br>全員<br>イトキン<br>全員<br>イトキン<br>全員<br>イトキン|
|合い言葉は ナイスガイ<br>(立ち上がれ わいらのヒーロー)<br>決まり文句は ナイスガイ<br>(イカしてる わいらのヒーロー)<br>みんなでそう ナイスガイ<br>(モテモテの わいらのヒーロー)<br>SO! YA! わいらのヒーローやで<br>(とにかくそう わいらのヒーロー)|全員|
|立ち上がれ わいらのヒーロー|全員|
tiddler の目次生成プラグインです。既に類似するものが存在しますが、レイアウトの関係上設置スペースが圧迫しているため、toolbar macro として実装してみました。加えて言うならお勉強のため。拙作の中では初めてまともに使えそうな感じです。

!SimpleTOCMacro
*ツールバーの TOC  をクリックすると目次がポップアップします。
*インラインでも設置できますが toolbar への設置がお勧めです。<<toolbar simpleTOC>>
*詳細は[[プラグインのページ|SimpleTOCMacro]]を参照ください。

!Automatically generate table of contents using jQuery
元は以下の記事です。シンプルで感動しました。こういうアプローチ好きです。
>[[ページの目次を自動生成するスクリプト -Automatically generate TOC|http://coliss.com/articles/build-websites/operation/javascript/jquery-plugin-automatically-generate-toc.html]]

!TiddlyWiki への導入における問題点
そのまま使わせて頂くつもりでしたが幾つか問題が。。
!!id 名がユニークでない
上記の方法では "固定文字+連番" で id 付与しているので、TiddlyWiki のように動的に DOM 要素が変化する場合には向きません。ユニーク値を取るように手を加えても良いですが。。後述するもうひとつの問題とあわせて別の方法をとりました。
!!アンカー(#)は利用できない
TiddlyWiki では URL 遷移がないため、アンカーを使って tiddler 名を付加し擬似的に permalink を生成する仕組みになっています。上記の方法のままだと tiddler へのリンクと見なされてしまうので使えません。そこで代わりに識別属性を付与して、それを元にエレメントを特定しスクロールさせる方法を考えました。

!CONTENTS
以下、動作確認用のブロックです。
!!Heading 1
!!!Heading 1.1
!!Heading 2
!!!Heading 2.1
RSSReaderPlugin + LoadRemoteFileThroughProxy + proxy で利用していたもののリプレースです。description を削って title のみの出力に限定したシンプルな transclusion です。自身の用途にはこれで十分であるのと他に経緯は色々と。。

!経緯
まず反省から。proxy 用のスクリプトがテスト用のままでした。二次的拡散は嫌なのでコードには触れません。無自覚な悪意とは考えたくないですが、結果として等閑視する形となり反省しています。Plugin と併せ公開されているセキュアなスクリプトを利用しましょう。それとは別に、core 機能の loadRemoteFile への影響が気になるので、これを契機に Plugin の利用をやめました。「影響がありそう」が心配なのではなく、自分のレベルで把握できないことが落ち着かないためです。
|BidiXTW|http://tiddlywiki.bidix.info/|

!SimpleRSSReader
proxy 無しでは選択肢は JSONP でしょうか。この辺も疎いです。xml -> JSONP へのコンバートは Yahoo! Pipes でもできるようですが、よりフットワークの軽そうな YQL を選びました。select * from internet というフレーズにはインパクトがあります。インターネットをクエリする。シンプルで壮大。jQuery を使ってコードもシンプル。request 部分は以下の様なイメージになります。from rss や feed にすればさらにシンプルなオブジェクトを得られますが、幾つかパースされないフィードがあったので xml にしてあります。
{{{
$.getJSON("http://query.yahooapis.com/v1/public/yql?callback=?",{
 q:"select * from xml where url='http://feeds.feedburner.com/rc-2'",
 format:"json"
 },function(data){ /* callback */ }
);
}}}

!雑感
仕掛け的には proxy をアウトソースしただけな気もしますが、自前で用意する必要がなくクライアントサイドの JavaScript のみで実装できるのは見通しが良いです。実験用なのでレイアウトも hard-code しています。そのうち整理します。それにしても、初見でしたが YQL に感動です。こんな単純な用途だけに使うのは勿体無い。と創作意欲を擽ります。是非 console を覗いて豊富なサンプルを試して下さい。
|Yahoo! Query Language|http://developer.yahoo.com/yql/|
|YQL Console|http://developer.yahoo.com/yql/console/|

!追記
!!YQL
取得できないフィードですが、from feed の指定では確認した限り取得できていました。自信は無いです。ただし、フィードの差異による属性の違いは吸収されないのでパースは依然必要と思われます。from xml よりは少し楽になります。
!!Yahoo! Pipes
簡単な pipe ([URL Input] - [Fetch Feed] - [output]) を作り試してみました。結果として、pipe を通すと正規化される様です。ざっと見ただけなので怪しいけど。。ただし、RDF(RSS1.0) で取得できないものがありました。feedAnalyzer という Validator を通しても特に問題の無いフィードでした。謎です。
|Yahoo! Pipes|http://pipes.yahoo.com/pipes/|
!!Google AJAX Feed API
これ忘れてました。今回の要件なら、サービス名からしてストレートなアプローチです。試していないのでドキュメントでの見解ですが、正規化された JSON が得られるので属性差異は吸収されます。サポート形式も明記されていておそらく問題はなさそう。気になるのは、専用ライブラリをロードする必要がある点。このサイトの様に jQuery 等が基底な場合、冗長になります。後は API Key の隠蔽。Yahoo! Pipes の pipe ID は public なので良いですが、ディベロッパ向けの ID が丸見えなのは??
|Google AJAX Feed API|http://code.google.com/intl/ja/apis/ajaxfeeds/|
|URL|http://www.potto.client.jp/|
第 1 回 ガキの使いやあらへんで!! チキチキ これやってみたかってん! 第 1 弾!! 絶対においしい炊き込みご飯選手権~!! (667-20030720) 

|品目|材料|評価|h
|田中① ビールと枝豆ご飯|ビール、枝豆(塩多目)|★★★★★★★★☆☆|
|田中② コーヒー豆ご飯|コーヒー豆、水|★★★☆☆☆☆☆☆☆|
|遠藤① カレーせんべいご飯|カレーせんべい、リンゴ、ハチミツ、水|★★☆☆☆☆☆☆☆☆|
|遠藤② 野菜サラダご飯|野菜サラダ、ドレッシング|★★★★☆☆☆☆☆☆|
|山崎① カールご飯|カール(チーズ味)、水|★★★★☆☆☆☆☆☆|
|山崎② ナタデココご飯|ナタデココ、バナナ、飲むヨーグルト|★☆☆☆☆☆☆☆☆☆|
|浜田① お好み焼きご飯|お好み焼き、お好み焼きソース、青のり、かつお節、マヨネーズ、水|★★★★★★★★☆☆|
|浜田② レモンティーご飯|ティーパック、レモンスライス、角砂糖、水|★★★★☆☆☆☆☆☆|
|松本① 出前一丁ご飯|出前一丁、生玉子、水|★★★★☆☆☆☆☆☆|
|松本② いちごのケーキご飯|いちごのケーキ、水|☆☆☆☆☆☆☆☆☆☆|
第 2 回 ガキの使いやあらへんで!! チキチキ これやってみたかってん! 第 1 弾!! 絶対においしい炊き込みご飯選手権~!! (734-20041128)

|品目|材料|評価|h
|田中(1) 伊勢エビご飯|伊勢エビ、水|★★☆☆☆☆☆☆☆☆|
|田中(2) シャンパンと巨峰とマスカットご飯|ブドウ(巨峰、マスカット)、シャンパン|ドクロ|
|遠藤(1) とろろ昆布ご飯|とろろ昆布、しょう油、水|★★★☆☆☆☆☆☆☆|
|遠藤(2) チョコバットご飯|チョコバット、ココア|★☆☆☆☆☆☆☆☆☆|
|山崎(1) なんでんかんでんご飯|なんでんかんでんラーメン(お土産用)|★★★★★☆☆☆☆☆|
|山崎(2) マカデミアンアッツご飯|マカデミアンアッツ、牛乳|★★☆☆☆☆☆☆☆☆<br>(1.5 点)|
|浜田(1) カレーご飯|カレー粉、牛肉、じゃがいも、にんじん、玉ねぎ、水|★★☆☆☆☆☆☆☆☆|
|浜田(2) マグロの山かけご飯|まぐろの山かけ、きざみのり、しょう油、水|★★★★★★★★☆☆|
|松本(1) 生ハムご飯|生ハム、水|★★☆☆☆☆☆☆☆☆|
|松本(2) 熊の手ご飯|熊の手(右手)、焼酎|ドクロ?|
第 1 回 ガキの使いやあらへんで!! チキチキ これやってみたかってん! 第 10 弾!! 絶対においしいぬか漬け選手権~!! (1001-20100418)

|品目|材料|評価|h
|田中(1)|ぶどう|☆☆☆☆☆☆☆☆☆☆|
|田中(2)|ゆで玉子|★★★★★☆☆☆☆☆|
|遠藤(1)|フリスク|★★★★★★☆☆☆☆|
|遠藤(2)|お好み焼き|★★☆☆☆☆☆☆☆☆|
|山崎(1)|餃子|★★★★★★★★★★|
|山崎(2)|インスタントラーメン|ひょっとこ|
|浜田(1)|ナタデココ|ウンコ|
|浜田(2)|カンパチ|★★★★★★★☆☆☆|
|松本(1)|松坂牛|★★★★★★★☆☆☆|
|松本(2)|シュークリーム|★★☆☆☆☆☆☆☆☆|
第 1 回 ガキの使いやあらへんで!! チキチキ これやってみたかってん! 第 2 弾!! 絶対にうまいピザ選手権~!! (696-20040222)

|品目|材料|評価|h
|田中(1)|日本酒、酒かす、塩辛、チーズ|★★★★★☆☆☆☆☆|
|田中(2)|雪見だいふく、イチゴ、チーズ|★★★★★★★★☆☆|
|遠藤(1)|てっさ、ポン酢、もみじおろし、チーズ|★★★☆☆☆☆☆☆☆|
|遠藤(2)|フリスク(150 粒)、ピザソース、チーズ|ドクロ|
|山崎(1)|冷やし中華(きゅうり、錦糸卵、ハム、トマト)、チーズ|★★★★★★★☆☆☆|
|山崎(2)|わた菓子、チーズ|★★☆☆☆☆☆☆☆☆|
|浜田(1)|すき焼き(牛肉、白菜、ネギ、豆腐など)、卵、チーズ|★★★★★★★★★☆|
|浜田(2)|ご飯、卵、しょうゆ、チーズ|★★★☆☆☆☆☆☆☆|
|松本(1)|ごはんですよ、チーズ|★★★★★★★★★★|
|松本(2)|ブタの顔、ゴーヤ、醤油、みりん、チーズ|ドクロ2個|
|松本(3)|マグロのかま、チーズ|ドクロ?|
第 1 回 ガキの使いやあらへんで!! チキチキ これやってみたかってん! 第 3 弾!! 絶対においしいたい焼き選手権~!! (713-20040627)

|品目|材料|評価|h
|田中(1) ポテトサラダたい焼き|ポテトサラダ|★★★★★★★★★☆|
|田中(2) グレープフルーツたい焼き|グレープフルーツ|★☆☆☆☆☆☆☆☆☆|
|遠藤(1) エビチリたい焼き|エビチリ|★★★★★☆☆☆☆☆|
|遠藤(2) フリスクたい焼き|フリスク|ドクロ|
|山崎(1) プチトマトたい焼き|プチトマト|★★★☆☆☆☆☆☆☆|
|山崎(2) おにぎりたい焼き|おにぎり(明太子、梅、昆布|★★☆☆☆☆☆☆☆☆|
|山崎(3) フランクフルトたい焼き|フランクフルト|★★★★★★☆☆☆☆|
|浜田(1) 冷奴たい焼き|冷奴、しょう油|★★★★★★☆☆☆☆|
|浜田(2) お餅たい焼き|お餅|☆☆☆☆☆☆☆☆☆☆<br>(たい焼きになっていないので)|
|松本(1) ガリたい焼き|ガリ|★★★☆☆☆☆☆☆☆|
|松本(2) サザエの肝たい焼き|サザエの肝(ウンコ)|ドクロ 2 つ|
|松本(3) 具なしたい焼き||★☆☆☆☆☆☆☆☆☆|
第 1 回 ガキの使いやあらへんで チキチキ これやってみたかってん! 第 4 弾!! 絶対においしい茶わん蒸し選手権~!! (726-20041003)

|品目|材料|評価|h
|田中(1) ワインとチーズ|赤ワイン、カマンベールチーズ、とろけるチーズ、出汁|ドクロ|
|田中(2) カプチーノ|インスタントコーヒー、出汁、(ミルク)、(シナモン)<br>※ 出来上がり後、泡立てたミルクとシナモンを入れる。|★★☆☆☆☆☆☆☆☆|
|遠藤(1) フリスク|フリスク(200 粒)、出汁|ドクロ|
|遠藤(2) カルボナーラ|パスタ、ベーコン、粉チーズ、生クリーム、ブラックペッパー|★★★★☆☆☆☆☆☆|
|山崎(1) うまい棒|うまい棒(コーンポタージュ味)、出汁|★★★★★★★☆☆☆|
|山崎(2) クリームソーダ|メロンソーダ、バニラアイス、さくらんぼ、卵|ドクロ|
|浜田(1) トムヤンクン|トムヤンクンスープ、出汁|★★★★★★★★☆☆|
|浜田(2) 納豆キムチ|納豆、キムチ、醤油少々、出汁|★★★★★★★★☆☆|
|松本(1) イカスミ|イカスミ、イカゲソ、にんにく、出汁|★☆☆☆☆☆☆☆☆☆|
|松本(2) モンブラン|モンブラン、出汁|★★★★★★★★★★|
|松本(3) 豚足|豚足(手)、出汁|ドクロ|
第 1 回 ガキの使いやあらへんで!! チキチキ これやってみたかってん! 第 5 弾!! 絶対においしいおもち選手権~!! (760-20050605)

|品目|材料|評価|h
|田中(1) わんこそば餅|わんこそば|★★★★★★★★☆☆|
|田中(2) ピータン餅|ピータン|ドクロ|
|遠藤(1) イナゴの佃煮餅|イナゴの佃煮、いいちこ|★★★★★☆☆☆☆☆|
|遠藤(2) フリスク餅|フリスク 500 個|★★★☆☆☆☆☆☆☆|
|山崎(1) 暴君ハバネロ餅|暴君ハバネロ|★★★★★★☆☆☆☆|
|山崎(2) ネバネバ3種餅|納豆餅、おくら、とろろ芋|★☆☆☆☆☆☆☆☆☆|
|浜田(1) 刺身盛り合わせ餅|刺身盛り合わせ、醤油|ドクロ 2 個|
|浜田(2) お茶漬け餅|お茶漬けの素|★★★★★★☆☆☆☆|
|松本(1) りんごアメ餅|りんごアメ|★★★★★★☆☆☆☆|
|松本(2) はじけるキャンディ餅|はじけるキャンディ(ポップロック)|★☆☆☆☆☆☆☆☆☆|
|松本(3) ウェディングケーキ餅|ウェディングケーキ|★★★★★★★★★★|
第 1 回 ガキの使いやあらへんで!! チキチキ これやってみたかってん! 第 6 弾!! 絶対においしい天ぷら選手権~!! (784-20051204)

|品目|材料|評価|h
|田中(1) 苺大福天ぷら|苺大福|★★★★★☆☆☆☆☆|
|田中(2) 花束天ぷら|花束(食用菊)|★★★☆☆☆☆☆☆☆|
|遠藤(1) ぶどう天ぷら|ぶどう(巨峰)|★★★★☆☆☆☆☆☆|
|遠藤(2) フリスク天ぷら|フリスク|ドクロ|
|山崎(1) 冷凍どんぶり三種天ぷら|親子丼、マーボー丼、カレー丼(冷凍)|★★★★★★★★★☆|
|山崎(2) ゼリービーンズ天ぷら|ゼリービーンズ|★★☆☆☆☆☆☆☆☆|
|浜田(1) 純とろ天ぷら|純とろ|★★★★★☆☆☆☆☆|
|浜田(2) 食パンとコーンポタージュ天ぷら|食パン、コーンポタージュ|天使|
|松本(1) ピザ天ぷら|ピザ|★★★★★★★★★★|
|松本(2) ガリガリ君天ぷら|ガリガリ君|★☆☆☆☆☆☆☆☆☆|
|松本(3) 蜂の巣天ぷら|蜂の巣|ドクロ?|
第 1 回 ガキの使いやあらへんで!! チキチキ これやってみたかってん! 第 7 弾!! 絶対においしいたこ焼き選手権~!! (797-20060312)

|品目|材料|評価|h
|田中(1) 大学芋たこ焼き|大学芋|★★★★★☆☆☆☆☆|
|田中(2) カニの爪たこ焼き|カニの爪|★★★★★★★☆☆☆|
|遠藤(1) 塩昆布たこ焼き|塩昆布|★★★★★★★★☆☆|
|遠藤(2) ティーパックたこ焼き|ティーパック(紅茶)、砂糖|★☆☆☆☆☆☆☆☆☆|
|山崎(1) ピーナッツバターたこ焼き|ピーナッツバター|★☆☆☆☆☆☆☆☆☆|
|山崎(2) 健康三色たこ焼き|青汁、ウコン茶、トマトジュース|★☆☆☆☆☆☆☆☆☆|
|浜田(1) イカスミたこ焼き|イカスミ、イカ|★★★★★★☆☆☆☆|
|浜田(2) 巻き寿司たこ焼き|タコ、海苔、米|★★★★☆☆☆☆☆☆|
|松本(1) チョコアイスたこ焼き|いちご、バナナ、みかん、チョコレート|★☆☆☆☆☆☆☆☆☆|
|松本(2) オットセイの睾丸たこ焼き|オットセイの睾丸|ドクロ?|
第 1 回 ガキの使いやあらへんで!! チキチキ これやってみたかってん! 第 8 弾!! 絶対においしい鍋選手権~!! (834-20061210)

|品目|材料|評価|h
|田中 沖縄鍋|ゴーヤ、ミミガー、島らっきょ、海ぶどう、紅いも、豚足、アブー(豚バラ肉)、カステラカマボコ、ジーマミ豆腐、ニンニクの葉、オリオンビール、ドライマンゴー、黒砂糖、石垣塩|★★★★★★★☆☆☆|
|遠藤 フルコース鍋|前菜(マグロとサーモンのタルタル仕立て)、肉料理(特選牛フィレ肉のホワレ モリーユ添え)、魚料理(平目のグラタン)、デザート(フルーツの茶巾包み)、コンソメスープ|★★★★☆☆☆☆☆☆|
|山崎 USA 鍋|チーズバーガー、フィッシュバーガー、ホットドック、フライドチキン、フライドポテト、オニオンリング、コーラ|ドクロ|
|浜田 大阪鍋|お好み焼き、たこ焼き、焼きそば、お好みソース、カツオだし|★★★★★★☆☆☆☆|
|松本(1) サラダ鍋|レタス、トマト、ニンジン、セロリ、きゅうり、アスパラ、パプリカ、大根、ブロッコリー、マヨネーズ、カツオだし|★★☆☆☆☆☆☆☆☆|
|松本(2) 精力鍋|スッポン、コブラ、鹿の睾丸、ハマグリ、ウナギ、モロヘイヤ、ニンニク、ニラ、カツオだし|ドクロ?|
<script>jQuery("tr :first-child",place).css({"white-space":"nowrap"});</script>
第 1 回 ガキの使いやあらへんで!! チキチキ これやってみたかってん! 第 9 弾!! 絶対においしいパスタ選手権~!! (853-20070506)

|品目|材料|評価|h
|田中(1) ぬか漬けパスタ|ぬか床、白菜、大根、ナス、キュウリ(⇒ ぬか床に漬け込んだパスタと漬け物の定番野菜を混ぜ合わせる。)|★★☆☆☆☆☆☆☆☆|
|田中(2) 福神漬パスタ|福神漬の汁、ジャガイモ、タマネギ、ニンジン、豚肉(⇒ 福神漬の汁に漬けたパスタとカレーの具材を混ぜ合わせる。)|★★★☆☆☆☆☆☆☆|
|遠藤(1) 桃屋パスタ|「ごはんですよ!」、「味付&#27048;菜」、「味付メンマ」、「いか塩辛」(⇒ 桃屋のビン詰めシリーズとパスタを混ぜ合わせる。)|★★★★★★☆☆☆☆|
|遠藤(2) 巻き寿司パスタ|かんぴょう、シイタケ、卵焼き、キュウリ、でんぶ、海苔(⇒ 酢飯の代わりにパスタを使い巻き寿司を作り小麦粉に付けて揚げる。)|★☆☆☆☆☆☆☆☆☆|
|山崎(1) うまい棒パスタ(3種類)|うまい棒(コーンポタージュ味、やさいサラダ味、とんかつソース味)(⇒ 細かく砕いた「うまい棒」と混ぜ合わせ3種類のパスタを作る。)|★☆☆☆☆☆☆☆☆☆|
|山崎(2) モンブランケーキパスタ|栗の甘露煮、生クリーム(⇒ 栗の甘露煮と生クリームで味付けしモンブランケーキに見立てて盛り付ける。)|ドクロ|
|浜田(1) 焼きパスタ|薄力粉、片栗粉(⇒ 薄力粉と片栗粉に混ぜ合わせて焼く。)|★★★★★★☆☆☆☆|
|浜田(2) セレブパーティーパスタ|鶏肉、フォアグラのソテー、生ハムサラダ、コンソメスープ(⇒ コース料理と混ぜ合わせて鶏肉の中に詰め込みオーブンで焼く。)|全身ドクロ|
|松本(1) 冷製スイカパスタ|小玉スイカ、お好みで練乳・岩塩(⇒ 細いパスタ(カッペリーニ)とスイカの果肉を混ぜ合わせる。)|全身ドクロ 2 体|
|松本(2) モーニングハミガキパスタ|ハミガキ粉、お好みでモンダミン(⇒ ペペロンチーノにハミガキ粉を混ぜ合わせる。)|ドクロ?|
<script>jQuery("tr :first-child",place).css({"white-space":"nowrap"});</script>
<<tiddler SimpleRSSReader with: "http://feeds.builder.japan.zdnet.com/builder/rss">>
複数 tiddler をオープンすると、表示が完了するまでブラウザがフリーズ状態になる場合があります。所謂「重い処理」です。一括オープンを避けるなどの事前回避はできますが初見のユーザを想定すれば改善したい挙動です。フリーズ状態の緩和と中断処理を実装することで応答性を高めてみます。

!ResponsiveDisplayTiddlersPlugin
displayTiddlers のオーバーライドなので特に設定は不要です。挙動をみるためサンプルを設置してみましたので試してみてください。タグ "Memorandum" の tiddler を一括オープンします。執筆時 26 tiddlers あるので環境によっては多少重いです。"stop" ボタンで中断できます。--なお、後述の通り Safari では無効にしているので普通にオープンされるだけです。--

<script>
createTiddlyButton(place,"サンプル動作","",function(){story.displayTiddlers(null,store.getTaggedTiddlers("Memorandum"));});
</script>

!はじめに
私は JavasScript 以前にまともなプログラム経験すらないので「そうなる方法」は知っていても「そうなる理由」までは理解していないことが多分にあるので、詳しい解説は詳しい方へお任せします。以下を参考にさせて頂きました。
*[[javascript - ページはいつ再描画されるか|http://blog.livedoor.jp/dankogai/archives/50637906.html]] / 404 Blog Not Found
*[[for 文を setTimeout に変換する|http://d.hatena.ne.jp/amachang/20071108/1194501306]] / IT戦記
このサイトでは 300 近い tiddler を抱えるタグが存在しますが、大抵の用途でそれらが存在するケースは少ないと思います。よって全てに効果的なアプローチではありません。また、後述の通り処理時間の視点から見れば高速化を期待するものでもありません。

!重い処理
スレッドを占有してしまう処理です。複数 tiddler のオープンは displayTiddlers 関数が行っています。やっていることは displayTiddler 関数のコールだけで、それを指定数分処理します。ループ処理中はスレッドを占有するため、大量の tiddler 処理時にはフリーズしたように見えます。
{{{
Story.prototype.displayTiddlers = function(srcElement,titles,template,animate,unused,customFields,toggle)
{
 for(var t = titles.length-1;t>=0;t--)
  this.displayTiddler(srcElement,titles[t],template,animate,unused,customFields);
};
}}}

!軽い処理
処理をスライスしてブラウザへ制御を戻してあげる様にします。これで、tiddler が 1 つオープンされる毎にパラパラと画面が更新され、動作している様子を確認できるようになります。全体の処理時間は遅くなりますが、体感(待たされる感覚)は改善されます。
{{{
Story.prototype.displayTiddlers = function(srcElement,titles,template,animate,unused,customFields,toggle)
{
 var t = titles.length - 1, self = this;
 setTimeout(function(){
  if(!(t >= 0)) return;
  self.displayTiddler.apply(self,[srcElement,titles[t],template,animate,unused,customFields]);
  t--;
  setTimeout(arguments.callee,20);
 },20);
};
}}}

!トッピング
これだけでも良いのですが、全ての表示が完了するまでユーザが待たされる状況は依然変わりません。実際に全 tiddler を一覧したいという要求は稀であると思います。寧ろ誤って(知らずに)オープンしてしまい予想以上に数が多いために中断したいというケースが想定できます。そこで、以下の機能を合わせて追加してみました。
*進行状況の表示(全 tiddler 数、現在のオープン数、プログレスバー)
*中断ボタンの設置

!雑感など
取り合えず満足するものが出来たかと思います。ブラウザによってスライスが不自然(進行状況の表示がおかしい)なケースがあります。原因は不明です。タイムアウトを調整したりしましたが改善しませんでした。おそらくこの実装では不備があるのでしょう。。詳しい方ご教示を。--とりあえず Safari は除外してあります。--
アイスコーヒーはどこまでアイスコーヒーなのか?
アイスコーヒーの限界に迫る!! (331-19960728)

|難易度|フレーズ|結果|h
| 1|アイスモーヒー|○|
| 2|ナイスコーヒー|○|
| 3|マイスモーヒー|○|
| 4|ナイスコーチ|○|
| 5|愛想笑い|× (アイスオーレがくる)|
| 6|コーヒーコーヒー|× (ホットコーヒーがくる)|
| 7|たんす納品|× (伝わらない)|
| 8|熱いコーヒー|× (ホットコーヒーがくる)|
| 9|あいつもういい|× (伝わらない)|
| 10|ハイソサイティー|× (全く伝わらない)|
| 11|アイアンヒーロー|× (全く伝わらない)|
| 12|欧陽菲菲|× (欧陽アイスコーヒーと言ったので)|
| その他|熱血漢で(ミックスサンド)|○ (メニュー指差し疑惑あり)|
冷やし中華はどこまで冷やし中華なのか?
冷やし中華の限界に迫る!! (337-19960908)

| 難易度|フレーズ|結果|h
| 1|みやし中華|○ (100% 伝わる)|
| 2|みやしじょうか|○ (100% 伝わる)|
| 3|東二中か|○ (何とか伝わる)|
| 4|中華冷し冷し|○ (どうにか伝わる)|
| 5|冷やしチョコパ|○ (どうにか伝わる)|
| 6|引っ越ししょうか|× (笑われる)|
| 7|おやじちゃうか|× (店員が恐くて普通に頼む)|
| 8|He get sea check car|× (日本語で言えと言われる)|
| 9|年中無休か|× (坦々麺に決められる)|
| 10|鈴木京香|× (水餃子と間違われる)|
マイルドセブンはどこまでマイルドセブンなのか?
マイルドセブンの限界に迫る!! (379-19970803)

| 難易度|フレーズ|結果|h
| 1|セブンマイルド|○ (100% 買える)|
| 2|セブンセブンマイルド|○ (100% 買える)|
| 3|タバコセブン|× (セブンスターがくる)|
| 4|ウルトラセブン|× (店員が怒り出す)|
| 5|アイドル気分|○ (当り前のように買える)|
| 6|アイルトンセナ|○ (なんとか買える)|
| 7|マグロ漁船|○ (100% 買える)|
| 8|舞子さん|○ (マイルドセブンが 3 個くる)|
| 9|my sweet memory|×|
| 10|前武巨泉|×|
カツカレーはどこまでカツカレーなのか?
カツカレーの限界に迫る!! (465-19990530)

| 難易度|フレーズ|結果|h
| 1|お疲れ|○|
| 2|ケツ蹴れ|○|
| 3|角刈り|○|
| 4|勝新|×|
| 5|金かせ|△ (金くれ○)|
| 6|背後霊|×|
| 7|カンガルー|×|
| 8|カヒミ・カリィ|×|
| 9|豚揚げインド辛めし|×|
| 10|大塚寧々|×|
| 最終系|戸塚ヨットスクール|× (戸塚ヨッツカーレー)<br>× (戸塚ヨットスカーレル)<br>× (戸塚ヨットスカーレー)<br>× (戸塚ツヨッツカーレー)<br>× (戸塚ツヨットスカールーカーレー)|
| 最終系2|チャゲ & 飛鳥|× (チャゲ & 飛鳥レー)<br>× (チャゲ & 飛ッ鳥レー)<br>× (チャゲ & 飛ッ鳥ツカレー)<br>○ (チャゲ & 飛カツカレー)|
チャーシューメンはどこまでチャーシューメンなのか?
チャーシューメンの限界に迫る!! (513-20000521)

| 難易度|フレーズ|結果|h
| 1|焼豚ラーメン|○|
| 2|ミャーシューメン|○|
| 3|逆にチャーシューメン|× (店員に怒られる)|
| 4|急斜面|○|
| 5|長州 力|○ (一瞬、チャーシュー抜きラーメンに間違われる??)|
| 6|ちゃうちゅうねん|× (中国人に間違えられる)|
| 7|町長さん|× (途中で長州力へ変えた)|
| 8|9 周年|× (なんだそれ? ⇒ 無視される)|
| 9|中高生|× (店員が恐くて棄権)|
| 10|What's your name?|× (ミャーシューメンに変えた)|
| 最終系|加藤 茶と志村けん|× (加藤茶と志村めん、加藤チャーシューメン志村めん)|
ナポリタンはどこまでナポリタンなのか?
ナポリタンの限界で賞金をもらおう~!! (656-20030427)

| 難易度|フレーズ|結果| 賞金|h
| 1|ナポレオン|× (メニューを指差し、返事をしたので)| ¥1,000|
| 2|イタリア風 赤焼ソバ|-| ¥5,000|
| 3|あんぽんたん|×| ¥10,000|
| 4|何歩、歩いたん?|○| ¥30,000|
| 5|オススメは?|×| ¥50,000|
| 6|唐獅子牡丹|-| ¥70,000|
| 7|大鶴義丹|-| ¥80,000|
| 8|タモリさん|○| ¥100,000|
オムライスはどこまでオムライスなのか?
オムライスの限界で賞金をもらおう~!! (683-20031116)

|white-space:nowrap; 難易度|フレーズ|結果|賞金|h
| 1|大盛りライス|-| ¥3,000|
| 2|おもろないっす|-| ¥4,000|
| 3|小倉アイス|-| -|
| 4|ホームレス|× (棄権)| ¥20,000|
| 5|ホモサピエンス|×| ¥30,000|
| 6|食べないす|-| -|
| 7|チキンライスにちょっと手を加えてもらえますか?|× (覆いかぶさるという言葉を使ったので)| ¥70,000|
| 8|○○ライス(アドリブ)|-| -|
| 9|アン・ルイス|× (オレンジジュースが来る)| ¥60,000|
| 10|侍|× (サムライスと言ったので)| ¥100,000|
VAIO type Z のエントリでも触れましたが、折角なので別エントリに纏めます。対象は液晶ディスプレイ内臓の PC で、特に高精細、精細度の気になるもの(UMPC、画面の小ささ、高画素数等)を中心にリストしていきたいと思います。参考までに携帯電話、ゲーム機等、モバイルデバイスも幾つか載せています。結局気になるものは何でもありですが、Windows の標準 DPI(96 DPI)を考慮し 100 PPI 以上のものに絞ります。

*随時更新です。追加要望、誤植指摘、情報提供等は大歓迎です。
*精細度、ドットピッチは「[[ドットピッチ計算機|http://www11.plala.or.jp/furan_skin/lcd/ppi.htm]]」の値に統一しています。一部カタログスペックと異なります。
*スペックは初版モデルを掲載しますが、追跡しきれない場合はその限りではありません。
*データ量が少ないので普通のテーブルです。sortable です。ヘッダでソートできます。

|sortable|k
|モデル|画面|Width|Height|精細度|ドットピッチ|メーカー|発売|h
|VAIO W|10.1|1366|768|155.158|0.164|SONY|2009/08|
|VAIO type P|8.0|1600|768|221.847|0.114|SONY|2009/01|
|VAIO Z VPCZ11A,Z|13.1|1920|1080|168.161|0.151|SONY|2010/03|
|VAIO type Z VGN-Z90|13.1|1600|900|140.134|0.181|SONY|2008/08|
|VAIO type T VGN-TX90S|11.1|1366|768|141.180|0.180|SONY|2005/09|
|VAIO type T VGN-T90S|10.6|1280|768|140.823|0.180|SONY|2004/09|
|VAIO type U VGN-UX50|4.5|1024|600|263.741|0.096|SONY|2006/05|
|VAIO type U VGN-U50|5.0|800|600|200.000|0.127|SONY|2004/12|
|VAIO type A VGN-AW80S|18.4|1920|1080|119.723|0.212|SONY|2008/09|
|VAIO type A VGN-A70P|17.0|1920|1200|133.186|0.191|SONY|2004/05|
|VAIO Z PCG-Z1/P|14.1|1400|1050|124.113|0.205|SONY|2003/03|
|VAIO U PCG-U101|7.1|1024|768|180.282|0.141|SONY|2003/05|
|VAIO U PCG-U1|6.4|1024|768|200.000|0.127|SONY|2002/04|
|VAIO PCG-C1MRX|8.9|1280|600|158.837|0.160|SONY|2001/12|
|VAIO PCG-C1|8.9|1024|480|127.069|0.200|SONY|1998/09|
|PSP-1000|4.3|480|272|128.305|0.198|SONY|2004/12|
|PSP-N1000(go)|3.8|480|272|145.187|0.175|SONY|2009/11|
|HP Mini 1000(10.2inch)|10.2|1024|600|116.356|0.218|HP|2008/12|
|HP Mini 1000(8.9inch)|8.9|1024|600|133.352|0.190|HP|2008/12|
|HP 2140 Mini-Note PC N270-|10.1|1366|768|155.158|0.164|HP|2009/04|
|HP 2140 Mini-Note PC|10.1|1024|576|116.325|0.218|HP|2009/03|
|HP 2133 Mini-Note PC|8.9|1280|768|167.722|0.151|HP|2008/06|
|dynabook UX|10.1|1024|600|117.508|0.216|TOSHIBA|2009/04|
|NB100|8.9|1024|600|133.352|0.190|TOSHIBA|2008/10|
|Libretto U100|7.2|1280|768|207.323|0.123|TOSHIBA|2005/04|
|Libretto L1|10.0|1280|600|141.365|0.180|TOSHIBA|2001/05|
|Libretto ff1100|7.1|800|480|131.402|0.193|TOSHIBA|1999/07|
|Libretto SS1000|6.1|640|480|131.148|0.194|TOSHIBA|1998/07|
|Libretto 100|7.1|800|480|131.402|0.193|TOSHIBA|1998/03|
|Libretto 20|6.1|640|480|131.148|0.194|TOSHIBA|1996/04|
|LOOX M/D10|10.1|1024|576|116.325|0.218|Fujitsu|2009/04|
|LOOX U/B50|5.6|1280|800|269.542|0.094|Fujitsu|2008/08|
|LOOX U50WN|5.6|1024|600|211.935|0.120|Fujitsu|2007/06|
|LOOX R70Y|12.1|1280|800|124.747|0.204|Fujitsu|2008/01|
|LOOX T8/80|10.6|1280|768|140.823|0.180|Fujitsu|2001/12|
|LOOX S8/70|8.9|1024|600|133.352|0.190|Fujitsu|2001/12|
|Let's note F8|14.1|1440|900|120.434|0.211|Panasonic|2008/10|
|Let's note Y2|14.1|1400|1050|124.113|0.205|Panasonic|2004/02|
|Let's note R1|10.4|1024|768|123.077|0.206|Panasonic|2002/03|
|NetWalker|5.0|1024|600|237.367|0.107|SHARP|2009/09|
|Mebius PC-NJ70A|10.1|1024|600|117.508|0.216|SHARP|2009/05|
|Mebius MURAMASA PC-CV50F|7.2|1280|768|207.323|0.123|SHARP|2004/06|
|Mebius PC-XJ800R|14.1|1400|1050|124.113|0.205|SHARP|2001/03|
|IdeaPad S10e|10.1|1024|576|116.325|0.218|IBM (Lenovo)|2008/12|
|ThinkPad X300|13.3|1440|900|127.678|0.199|IBM (Lenovo)|2008/02|
|ThinkPad X200s 74624JJ|12.1|1440|900|140.340|0.181|IBM (Lenovo)|2008/10|
|ThinkPad s30|10.4|1024|768|123.077|0.206|IBM (Lenovo)|2001/06|
|Eee PC S101|10.2|1024|600|116.356|0.218|ASUSTek|2008/11|
|Eee PC 1000H-X|10.0|1024|600|118.683|0.214|ASUSTek|2008/10|
|Eee PC 901-X|8.9|1024|600|133.352|0.190|ASUSTek|2008/07|
|Eee PC 4G-X|7.0|800|480|133.279|0.191|ASUSTek|2008/01|
|Adamo|13.4|1366|768|116.947|0.217|DELL|2009/03|
|Vostro A90|8.9|1024|600|133.352|0.190|DELL|2008/10|
|Studio XPS 13|13.3|1366|768|117.827|0.216|DELL|2009/01|
|Inspiron mini 12|12.1|1280|800|124.747|0.204|DELL|2008/10|
|Inspiron mini 10(B.T.O)|10.1|1366|768|155.158|0.164|DELL|2009/04|
|Inspiron mini 10|10.1|1024|576|116.325|0.218|DELL|2009/04|
|Inspiron mini 9|8.9|1024|600|133.352|0.190|DELL|2008/09|
|Inspiron 8500|15.4|1920|1200|147.023|0.173|DELL|2003/03|
|LuvBook U100|10.2|1024|600|116.356|0.218|mouse computer|2008/07|
|X-Slim X340|13.0|1366|768|120.546|0.211|MSI|2009/05|
|Wind Notebook U100|10.2|1024|600|116.356|0.218|MSI|2008/07|
|Wind Notebook U90|8.9|1024|600|133.352|0.190|MSI|2008/10|
|Aspire one|8.9|1024|600|133.352|0.190|Acer|2008/08|
|SOTEC C1|10.1|1024|600|117.508|0.216|ONKYO|2008/10|
|AVN0270N|10.2|1024|600|116.356|0.218|TRIGEM|2008/10|
|GIGABYTE M912X|8.9|1280|768|167.722|0.151|GIGABYTE|2008/09|
|KOHJINSHA PM|4.8|1024|600|247.257|0.103|KOHJINSHA|2009/10|
|KOHJINSHA SX3KP06MA|8.9|1280|768|167.722|0.151|KOHJINSHA|2008/07|
|KOHJINSHA SA5SX12F|7.0|1024|600|169.548|0.150|KOHJINSHA|2008/02|
|MacBook Pro 17inch|17.1|1920|1200|132.407|0.192|Apple|2007/06|
|MacBook Pro 15inch|15.4|1440|900|110.267|0.230|Apple|2006/02|
|MacBook Air|13.3|1280|800|113.492|0.224|Apple|2008/02|
|MacBook|13.3|1280|800|113.492|0.224|Apple|2006/05|
|LaVie Light BL100/SA6|10.1|1024|576|116.325|0.218|NEC|2009/01|
|LaVie Light BL100/RA|8.9|1024|600|133.352|0.190|NEC|2008/11|
|VersaPro VA20S/AE|15.0|2048|1536|170.667|0.149|NEC|2002/07|
|Endeavor Na01 mini|10.2|1024|600|116.356|0.218|Epson Direct|2008/11|
|Endeavor NT9000pro(B.T.O)|15.4|1920|1200|147.023|0.173|Epson Direct|2003/03|
|OQO model 01|5.0|800|480|186.590|0.136|OQO|2004/10|
|WILLCOM D4|5.0|1024|600|237.367|0.107|WILLCOM|2008/07|
|WILLCOM 03|3.0|800|480|310.984|0.082|WILLCOM|2008/06|
|Adbanced W-ZERO3[es]|3.0|800|480|310.984|0.082|WILLCOM|2007/07|
|W-ZERO3[es]|2.8|640|480|285.714|0.089|WILLCOM|2006/07|
|W-ZERO3|3.7|640|480|216.216|0.117|WILLCOM|2005/12|
|mbook M1|4.8|1024|600|247.257|0.103|UMID|2009/XX|
|Nintendo DS|3.0|256|192|106.667|0.238|Nintendo|2004/12|
|GAMEBOY micro|2.0|240|160|144.222|0.176|Nintendo|2005/09|
|iPad|9.7|1024|768|131.959|0.192|Apple|2010/03|
|iPod classic|2.5|320|240|160.000|0.159|Apple|2008/09|
|iPod nano|2.2|376|240|202.758|0.125|Apple|2009/09|
|iPod nano|2.0|320|240|200.000|0.127|Apple|2008/09|
|iPod touch|3.5|480|320|164.825|0.154|Apple|2008/09|
|iPhone 4|3.5|960|640|329.650|0.077|Apple|2010/06|
|iPhone 3G|3.5|480|320|164.825|0.154|Apple|2008/07|
|docomo F-03A|3.2|960|480|335.410|0.076|docomo|2009/03|
|docomo SO905iCS|2.7|864|480|366.067|0.069|docomo|2008/02|
|docomo N904i|3.0|854|480|326.550|0.078|docomo|2007/05|
|docomo N903i|2.5|690|480|336.214|0.076|docomo|2006/11|
|SoftBank 931SH|3.8|1024|480|297.610|0.085|SoftBank|2008/11|
|SoftBank 904SH|2.4|640|480|333.333|0.076|SoftBank|2006/04|

!凡例
|項目|意味|単位|h
|画面|画面サイズ|inch|
|Width, Height|画素数(長辺を Width としています)|pixel|
|精細度|解像度(値が高いほど高精細)|PPI (pixels per inch)|
|ドットピッチ|ドット間隔(値が低いほど高精細)|mm|

/%|GAMEBOY ADVANCE SP|2.9|240|160|099.463|0.255|Nintendo|2003/02|%/
/%|GAMEBOY ADVANCE|2.9|240|160|099.463|0.255|Nintendo|2001/03|%/
/%|GAMEBOY||160|144|||Nintendo|1989/04|%/