æ°ãããã³ãã¬ã¼ã表ç¾「ã©ã ãå¼」
æ¨å¹´(2015å¹´)5・6 æã«、Blogger ãã³ãã¬ã¼ãã«æ°ãã表ç¾æ¹æ³ãç¸æ¬¡ãã§ç»å ´ããã®ãè¦ãã¦ããã§ãããã。
- Blogger ãã³ãã¬ã¼ãã®ã¦ã£ã¸ã§ããã¿ã°ã«æ°ãã表ç¾æ¹æ³ãç»å ´
- Blogger ãã³ãã¬ã¼ãã«ããã«æ°ããã¦ã£ã¸ã§ããã¿ã°ãç»å ´
「ã©ã ãå¼ã¨ã¯ãªããã?」ã¨ãã人ã¯、ãã®ãµã¤ãã®èª¬æããããããããã¨。
// å¿åã¡ã½ãã
Calculate(1, 2, delegate(int x, int y) { return x + y; }); // åºå:3
// ã©ã ãå¼
Calculate(1, 2, (x, y) => x + y); // åºå:3
Calculate(1, 2, delegate(int x, int y) { return x + y; }); // åºå:3
// ã©ã ãå¼
Calculate(1, 2, (x, y) => x + y); // åºå:3
ç¡åé¢æ°ã®å®ç¾©ã¨å¼ã³åºããç°¡åã«è¨è¿°ã§ããå¼ã¨ãã㨅ä¼ããã§ãããã。Blogger ãã³ãã¬ã¼ãä¸ã«è¨è¿°ããå®éã®ä¾ã¨ãã¦æãããã¦ããã®ã次ã®ã³ã¼ãã§ã。
<b:if cond='data:post.labels any (l => l.name == "Flower")'>
<img src=’/img/flower.jpg’ />
<b:if/>
<img src=’/img/flower.jpg’ />
<b:if/>
ãã®æ稿ã«「Flower」ã©ãã«ãã¤ãã¦ããã°、è±ã®ç»åã表示ããã¨ããã³ã¼ãã§ã。ããã¾ã§ b:loop ã¿ã°ã使ããªãã¨æ¸ããªãã£ããã®ã、確ãã«éåç°¡åã«ãªã£ã¦ãã¾ãã。
Blogger ã§ä½¿ããã©ã ãå¼ã®ä»æ§
Blogger ã§å®éã«ä½¿ããã©ã ãå¼ã£ã¦ã©ããªãã®?ã¨æã£ã¦èª¿ã¹ã¦ã¿ãã¨、ãã«ããã©ã¼ã©ã ã§è§£èª¬ãçºè¦。
ä¾ãã°
data:posts count (p => p.numComments > 0)
ã¨ããã³ã¼ãã¯、å°ãªãã¨ã 1 ã³ã¡ã³ãã¤ãã¦ããæ稿ã®æ°ã示ãããã®ãã®。
ç´°ããè¦ã¦ããã¨、赤åé¨åã¯å¯¾è±¡ã¨ãªããã¼ã¿(ã¢ã¤ãã ã»ãã:ä»åã¯æ稿æ å ±)ã、éåé¨åã¯è¡ãå¦çã®ç¨®é¡(ã©ã ããªãã¬ã¼ã¿:ä»åã¯ãã®æ°)ã、ç·é¨åã¯å®éã®ãã§ãã¯å 容(ã©ã ãã¨ã¯ã¹ãã¬ãã·ã§ã³:ä»åã¯ã³ã¡ã³ãã®æ° 0 ããå¤ããã©ãã)ãæå®ãã¦ãã¾ã。
ã©ã ãã¨ã¯ã¹ãã¬ãã·ã§ã³ã¯、ããã«
=>
åå¾ã§åãããã¦、左辺ã«å¤æ°å(ä»å㯠data:posts
ã»ããå
ã®åã¢ã¤ãã post
ã p
ã¨åä»ãã¦ãã)ã、å³è¾ºã«ãã®å¤æ°ã使ã£ã表ç¾ãè¨è¿°ãããã¨ã«ãªã£ã¦ãã¾ã。ãã¼ã、使ãæ £ããã¨ä¾¿å©ãªã®ããããã¾ããã、使ãæ¹ããã¹ã¿ã¼ããã®ã«ãªããªãæéããããããã§ãã。ã¡ãªã¿ã«、ã©ã ããªãã¬ã¼ã¿ã«ä½¿ãããã¼ã¯ã¼ãã¯æ¬¡ã®éã。
any | ... ã©ã ãã¨ã¯ã¹ãã¬ãã·ã§ã³ãæºããã¢ã¤ãã ãã»ããå ã« 1 ã¤ã§ãããã° true ãè¿ã。 |
---|---|
all | ... ã»ããå ã®ã¢ã¤ãã ãã¹ã¦ãã©ã ãã¨ã¯ã¹ãã¬ãã·ã§ã³ãæºããã° true ãè¿ã。 |
none | ... ã©ã ãã¨ã¯ã¹ãã¬ãã·ã§ã³ãæºããã¢ã¤ãã ãã»ããå ã« 1 ã¤ããªããã° true ãè¿ã。 |
count | ... ã»ããå ã§ã©ã ãã¨ã¯ã¹ãã¬ãã·ã§ã³ãæºããã¢ã¤ãã ã®åæ°ãè¿ã。 |
filter | ... ã»ããå ã§ã©ã ãã¨ã¯ã¹ãã¬ãã·ã§ã³ãæºããã¢ã¤ãã ã ããéããã»ãããè¿ã。 |
map | ... ã©ã ãã¨ã¯ã¹ãã¬ãã·ã§ã³ã§è¨è¿°ãããçµæãéããã»ãããè¿ã。 |
first | ... ã»ããå ã§ã©ã ãã¨ã¯ã¹ãã¬ãã·ã§ã³ãæºããæåã®ã¢ã¤ãã ãè¿ã。 |
filter ã map ãèªå¨ã«ä½¿ããããã«ãªãã°、Blogger ãã³ãã¬ã¼ãã§ãããªãè¤éãªæ示ãåºãããã§ãã。ããããã¯!ã¨æã人ã¯、ãã²ãã£ã¬ã³ã¸ãã¦ã¿ã¦ãã ãã。
5 æã«ãç¥ãããã¦ãã Japanese Bloggers Info ã®ã¡ã³ããã³ã¹ã、ããããçµããã¾ãã。
ã¡ã³ããã³ã¹æéä¸ã¯、ããã°ã®é²è¦§ããã§ããªãã£ããã§ãã、åã³æ°ããããã°ã®ç»é²ãã§ããããã«ãªãã¾ãã。
ä»åã®åé¡ã¯、Web ã¢ããªã±ã¼ã·ã§ã³ãåããã¦ãã Google App Engine ä¸ã§、AuthSub ã¨ããèªè¨¼ã·ã¹ãã ã使ç¨ä¸å¯ã«ãªã£ããã¨ãåå ã§ã。
(ããå°ãæ£ç¢ºã«ããã¨、éæ¨å¥¨ã«ãªã£ãã·ã¹ãã ã使ãç¶ããã¯ãªãã¦ã®ãºãã©ããåå ã§ã。ãã¿ã¾ãã…。)
ããã¦、èªè¨¼ã·ã¹ãã ã®æ´æ°ä½æ¥ä¸ã«、ããã¾ã Master/Slave Datastore ã¨ãããã¼ã¿ã·ã¹ãã ã使ç¨ä¸å¯ã«ãªã£ã¦ãã¾ã、ã¢ããªã±ã¼ã·ã§ã³èªä½ãåããªããªã£ã¦ãã¾ãã¾ãã。ããã§、Master/Slave Datastore ãã High Replication Datastore ã¸ãã¼ã¿ã·ã¹ãã ã®ç§»è¡ãããã®ã¡、AuthSub ãã OAuth2 ã¸ã®èªè¨¼ã·ã¹ãã ã®ç§»è¡ãè¡ã£ããã、ã¨ã¦ãæéãããã£ã¦ãã¾ã£ãã¨ããããã§ã。M/S ãã HRD ã¸ã®ç§»è¡ã«ã¤ãã¦ã¯、以ä¸ã«å°ãæ¸ãã¦ããã®ã§、èå³ããã人ã¯ã©ãã。
…ã¨ãããã¨ã§、Japanese Bloggers Info ã§ã¾ãããã°ç»é²ãã§ããããã«ãªãã¾ããã®ã§、ã¾ã ç»é²ãã¦ããªãã£ã!ã¨ãã人ã、ãã²ä¸åº¦ç»é²ãã¦ã¿ã¦ãã ããã¾ã。
åå、Blogger ãã³ãã¬ã¼ãã®ã¦ã£ã¸ã§ããã¿ã°ã«æ°ãã表ç¾æ¹æ³ãç»å ´ ã¨ããè¨äºãæ¸ãã¾ããã、ããã«ã¾ãæ°ããã¦ã£ã¸ã§ããã¿ã°ã追å ããã¦ãã¾ã。
ä½ã追å ããããã¨ããã¨、以ä¸ã®ã¨ããã§ã。
- b:elseif
- b:switch
- b:eval
- b:with
elseif
ããã¾ã§、æ¡ä»¶åå²ã§ã¯
b:if
(æ¡ä»¶ã«åãå ´å)㨠b:else
(åããªãå ´å)ã¨ããã®ããã£ããã§ãã、æ¡ä»¶ã«åããªãå ´åã«å¥ã®æ¡ä»¶ã追å ãã b:elseif
ãæ°ããç»å ´ãã¦ãã¾ã。ä¸ã«æ²è¼ããã®ã¯、ãã¼ã¸ã®ç¨®é¡ã«ãã£ã¦è¡¨ç¤ºããå
容ãåãæ¿ããã³ã¼ãä¾ã§ã。<b:if cond='data:blog.pageType == "static_page"'>
éçãã¼ã¸ã«è¡¨ç¤ºããå 容
<b:elseif cond='data:blog.pageType == "item"'>
åå¥æ稿ãã¼ã¸ã«è¡¨ç¤ºããå 容
<b:else/>
ãã以å¤ã®ãã¼ã¸ã«è¡¨ç¤ºããå 容
</b:if>
éçãã¼ã¸ã«è¡¨ç¤ºããå 容
<b:elseif cond='data:blog.pageType == "item"'>
åå¥æ稿ãã¼ã¸ã«è¡¨ç¤ºããå 容
<b:else/>
ãã以å¤ã®ãã¼ã¸ã«è¡¨ç¤ºããå 容
</b:if>
switch
è¤æ°ã®æ¡ä»¶åå²ã§åç §ãããã¼ã¿ãåãå ´å、
b:switch
ã¨ããã¿ã°ã使ããã¨ãã§ãã¾ã。b:switch
ã«åç
§ãããã¼ã¿åã、b:case
ã«çããããã§ãã¯ããå¤ãå
¥ãã¾ã。ããã¨、該å½ãã b:case
ã®å¾ã«è¨è¿°ããå
容ã表示ããã¾ã。b:default
ã®å¾ã«è¨è¿°ããå
容ã¯、b:case
ã§çããç©ããªãã£ãå ´åã«è¡¨ç¤ºããã¾ã。ä¸ã®ã³ã¼ãã¨åãå
容ã b:switch
ã§æ¸ãç´ããã®ã、ä¸ã®ä¾ã§ã。ä»ã®ããã°ã©ã è¨èªã® switch ã§ããè¦ããã break ã¯è¦ãã¾ãã。「ããããã¼ã¸ã®å ´åã¯」、「ã¢ã¼ã«ã¤ããã¼ã¸ã®å ´åã¯」ãªã©ã¨、æ¡ä»¶ãã©ãã©ãä»ããããããå ´åã«ä¾¿å©ã§ã。
<b:switch var='data:blog.pageType'>
<b:case value="static_page" />
éçãã¼ã¸ã«è¡¨ç¤ºããå 容
<b:case value="item" />
åå¥æ稿ãã¼ã¸ã«è¡¨ç¤ºããå 容
<b:default />
ãã以å¤ã®ãã¼ã¸ã«è¡¨ç¤ºããå 容
</b:switch>
<b:case value="static_page" />
éçãã¼ã¸ã«è¡¨ç¤ºããå 容
<b:case value="item" />
åå¥æ稿ãã¼ã¸ã«è¡¨ç¤ºããå 容
<b:default />
ãã以å¤ã®ãã¼ã¸ã«è¡¨ç¤ºããå 容
</b:switch>
eval
b:eval ã¯、æååãå¼ã¨ãã¦å®è¡ããããã®æã§ã。ã¡ãã£ã¨ããè¨ç®ãæååã®é£çµããã¦、å 容ã表示ããã®ã«é©ãã¦ãã¾ã。
ä¾ 1: ç»åãªã©ã«é©ç¨ããã¹ã¿ã¤ã«ã·ã¼ãã«、ç»åã®ç¸¦æ¨ªã®æ¯çãã®ã¾ã¾ã§æ¡å¤§・縮å°ãããå¤ãè¨è¿°ããä¾ã§ã。
min-height: <b:eval expr="data:newWidth * data:height / data:width" />px;
(「æ°ããå¹
× é«ã ÷ å¹
」ãè¨ç®ãã¦、「æ°ããé«ã」ã表示。)ãã¨ãã°å ã®å¹ width ã 200 ã§、é«ã height ã 150、æ°ããå¹ newWidth ã 400 ã®å ´åã«ã¯、(400 * 150 / 200) ã¨ãããã¨ã§、å®éã«ä»¥ä¸ã®å 容ã表示ãã¾ã。
min-height: 300px;
ä¾ 2: é åæ§é ã«ãªã£ããã¼ã¿ãç´æ¥è¡¨ç¤ºããä¾。
<b:eval expr="data:post.labels[0].url" />
(æ稿ã®ä¸ã¤ç®ã®ã©ãã«ã®ã©ãã«ãã¼ã¸ã® URL ã表示。)ãã¼ã¿ãç´æ¥è¨è¿°ãã
<data:post.labels[0].url/>
ã¨ããæ¸ãæ¹ã§ãããããããªããã¨è©¦ãã¦ã¿ããã§ãã、ããã ã¨ãã³ãã¬ã¼ããä¿åãããã¨ãã§ãã¾ããã§ãã。å¾æ¥、é
åã®ãããªæ§é ã«ãªã£ã¦ãããã¼ã¿ã«ã¤ãã¦ã¯ b:loop
ã使ããªãã¨ãããªãã£ãã®ã、b:eval
ã§ãç´æ¥è¨è¿°ã§ããããã«ãªã£ãã¨ãããã¨ã®ããã§ã。ä¾ 3: ä¸é æ¼ç®åã®çµæãæ¸ãåºãä¾。ä¸é æ¼ç®åã¯、åå追å ããã表ç¾ã§ããã。
<b:eval expr='data:post.allowComments ? "Comment" : "Comments Disabled" />
(æ稿ã«ã³ã¡ã³ãå¯è½ãªå ´å「Comment」ã¨è¡¨ç¤º、ä¸å¯ã®å ´åã¯「Comments Disabled」ã¨è¡¨ç¤º。)with
b:with ã使ãã¨、è¨ç®å¼ã®å¤ãªã©ãä¸æçã«æ ¼ç´ããå¤æ°ãä½ããã¨ãã§ãã¾ã。
<b:with var='myComputedValue' value='50 + 40' >
<data:myComputedValue/>px;
</b:with>
(「50 + 40」ã®è¨ç®çµæã「myComputedValue」ã«æ ¼ç´。ãã®å¾、「px;」ãä»å ãã¦æ¸ãåºã。)<data:myComputedValue/>px;
</b:with>
å¤æ°ãæ¸ãåºãã®ã¯、
<data:myComputedValue/>
㨠<b:eval expr='data:myComputedValue' />
ã®ã©ã¡ãã使ã£ã¦ãOKã§ã。å±æ§å¤ã¨ãã¦ãªã expr:width='data:myComputedValue'
ã®ããã«ä½¿ãã¾ã。ãªã、b:with
ã§å²ãã ã¨ãªã¢å
ã§ããå¤æ°ã¯ä½¿ããªãã®ã§、注æãå¿
è¦ã§ã。ãã¨ãã
ä»åã®ãã³ãã¬ã¼ãã¿ã°ã®ä»æ§å¤æ´ã§、å®éã«ã¯å 容ãæ¸ãåºããã«、å¤æ°ãæå®ããã、è¨ç®ããããã§ããããã«ãªãã¾ãã。Blogger ãã³ãã¬ã¼ãã§ã§ãããã¨ã、æ ¼æ®µã«åºãã£ãå°è±¡ã§ã。æ°ãããã³ãã¬ã¼ãã¿ã°ãé§ä½¿ãã¦、èªåã ãã®ãã³ãã¬ã¼ãã¥ããã«ææ¦ãã¦ã¿ãã®ãããããããã¾ãã。ãã³ãã¬ã¼ãã¿ã°ã®ããããçµã¿åããã§、ãããªãã¨ãã§ãããã¨ããã¢ã¤ãã¢ãããããã°、æãã¦ãã ããã。
é¢é£: åè: