Conqueryプラグインの"showif"及び"showiftarget"要素について

Conqueryプラグインの"showif"及び"showiftarget"要素には2つの働きがある。

  1. "showiftarget"の値が"showif"に書かれた正規表現にマッチするかどうかで、そのプラグインを表示するか非表示にするかを切り替える。ただしConQuery本体の設定でそのプラグインを非表示に設定したときのみ有効(非表示に設定していない場合はマッチするかに関わらず常に表示される。)。
  2. "showiftarget"の値を"showif"に書かれた正規表現によって[:matched:n](マッチしたn個目の部分正規表現)として取り出す。
<?xml version="1.0"  encoding="UTF-8"?>
<ConQueryPlugin xmlns="http://geek.net.ru/en/opensource/conquery/">
<ShortName>SiteAdvisor</ShortName>
<Description>SiteAdvisor Site Lookup</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">
data:image/gif;base64,AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAACIiIgAVVVVAAMUGABmZmYAd3d3AKqqqgDd3d0Au7u7AO7u7gACDQwAAQcMABOI3gDIohgAIO/dAJmZmQDMzMwAMzMzAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhIRERISEgkJEhISCgoSEhIRDAwREgkNDQkSCgsLChIRDAwMDAkNDQ0NAgsLCwsKEQwMDAwJDQ0NDQILCwsLChEMDAwMCQ0NDQ0CCwsLCwoSEQwMERIJDQ0JEgoLCwoSEhIRERISEgkJEhISCgoSEhISEhISEhISEhISEhISEhISEg8DEREECBIHEBAHEAgSEhIRBxISDgEIEQgSDhEGEhIIABISEgcRBhESEggRBhISEhIIBwARBRIQAA8SEQYSEhIPERAADxISCAUDEBEGEhISEAcSEhIPEgcSEhIRBhISEgEHEhIOABIBBxIPERISEhIIBBEQDhISCAMRAQ8SEs5zAACEIQAAAAAAAAAAAAAAAAAAhCEAAM5zAAD//wAAwIEAAMwRAACcMQAA4IkAAMGBAADOuQAAzJMAAMGDAAA=
</Image>
<showif>://([\w\.-]+)[/\s]</showif>
<showiftarget>[:linkurl] ://[:selection]/ [:url]</showiftarget>
<Url type="text/html" method="GET" template="http://www.siteadvisor.com/lookup">
<Param name="q" value="[:prompt][:matched:1]"/>
</Url>
</ConQueryPlugin>

上記のMcAfee SiteAdvisorの例では、ポインタがリンクの上に無く([:linkurl]は空文字列)、選択中の文字列が無く([:selection]は空文字列)、現在表示しているサイトのurlが"http://d/hatena.ne.jp/tksmashiw/"だとすると、showiftargetは" :/// http://d.hatena.ne.jp/tksmashiw/"になるので、"://d.hatena.ne.jp/"の部分がshowifの"://([\w\.-]+)[/\s]"にマッチし、[:matched:1]は"[\w\.-]+"にあたる"d.hatena.ne.jp"となる。これによって"q=d.hatena.ne.jp"が送られる。[:prompt]については後述。