忍者ブログ

Home > > 入れ子状のULをリストから簡単に作るスクリプト

[PR]

  • 2024-04-28
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Comments:

Trackback+Pingback:

Listed below are links to weblogs that reference
[PR] from 溺れる者はUWSCを掴め!

Home > > 入れ子状のULをリストから簡単に作るスクリプト

Home > ブログ作成に役立つスクリプト > 入れ子状のULをリストから簡単に作るスクリプト

入れ子状のULをリストから簡単に作るスクリプト

  • 2012-01-04
  • ブログ作成に役立つスクリプト

まぁ流行のZen-Codingでも構わないんですが
Zen-Codingの場合はタグ記述→中身記入なわけで個人的にはそれがめんどくさいのであります。

そこでアイテムリストから入れ子状のulを簡単に作成してしまおうという試み。

たとえばこういう入れ子状のulを作りたいとします。

  • item1
  • item2
    • item2-1
    • item2-2
  • item3
    • item3-1
    • item3-2
      • item3-2-1
      • item3-2-2
    • item3-3
  • item4

その場合以下のサンプルの用にTEXTBLOCKの中にアイテムをリスト状に記入し入れ子の階層はTABで表現します

すると、クリップボードの中に入れ子状のULタグに変換されたHTMLタグが入る寸法です。

TEXTBLOCK data
item1
item2
	item2-1
	item2-2
item3
	item3-1
	item3-2
		item3-2-1
		item3-2-2
	item3-3
item4
ENDTEXTBLOCK

//--class指定
ul_class=""   //例:"navi"→class="navi"
li_class=""   //

//------ main -----
Dim popm[]="TEXTBLOCKから","クリップボードから"
p=Popupmenu(popm)
ifb p=0
   data_list=data
elseif p=1
   data_list=Getstr(0)
else
   ExitExit
endif
ind=0
tag="<ul$_ul_$><#CR>"
ul=split(data_list,"<#CR>")
for i=0 to length(ul)-1
   t=-1
   Repeat
      t=t+1
      str=Token("<#TAB>",ul[i])
   Until ul[i]=""
   tab=""
   for i=0 to t-1;tab=tab+"<#TAB>";next
   ifb t>ind
      tag=tag+tab+"<ul$_ul_$><#CR>"+tab+"<#TAB><li$_li_$>"+str+"</li><#CR>"
   elseif t=ind
      tag=tag+tab+"<#TAB><li$_li_$>"+str+"</li><#CR>"
   else
      tag=tag+tab+"<#TAB></ul><#CR>"+tab+"<#TAB><li$_li_$>"+str+"</li><#CR>"
   endif
   ind=t
next
tag=tag+"</ul>"
if !(ul_class="") then ul_class=" class=<#DBL>"+ul_class+"<#DBL>"
if !(li_class="") then li_class=" class=<#DBL>"+li_class+"<#DBL>"
tag=Chgmoj(tag,"$_ul_$",ul_class)
tag=Chgmoj(tag,"$_li_$",li_class)
Sendstr(0,tag)

サンプルスクリプト実行後の結果

<ul>
   <li>item1</li>
   <li>item2</li>
   <ul>
      <li>item2-1</li>
      <li>item2-2</li>
   </ul>
   <li>item3</li>
   <ul>
      <li>item3-1</li>
      <li>item3-2</li>
      <ul>
         <li>item3-2-1</li>
         <li>item3-2-2</li>
      </ul>
      <li>item3-3</li>
   </ul>
   <li>item4</li>
</ul>

起動時にTEXTBLOCKから作成するかクリップボードから作成するか効いて来るので情況に応じて利用してください。
ちなみにクラス指定もできるので指定してあげれば適用されます。

余談:pre内でTABを表現するのには&#x0009;と書けばイイらしいですね知りませんでした。

Comments:0

Comment Form

Trackback+Pingback:

Listed below are links to weblogs that reference
入れ子状のULをリストから簡単に作るスクリプト from 溺れる者はUWSCを掴め!

Home > ブログ作成に役立つスクリプト > 入れ子状のULをリストから簡単に作るスクリプト

Search
Meta
Links
Feeds
PR
PR

Page Top