ヘッダーサンプル

t2s_all 選択アイテム以下の全ての文書のタブをスペースに変換

説明

選択されたアイテムの全文書中のタブをスペースに強制変換します。

使い方

  • 変換したいアイテムを選択して、このスクリプトを実行するだけ

%macro%

#t2s_all  選択アイテム以下の全ての文書のタブをスペースに変換

#eval_start

require 'tpz'
include Tpz

def select_doc(item)
  item.documents.each do |doc|
    doc.set_focus
    tpz_exec_command("SelectAll")
    tpz_exec_command("TabToSpace")
#    tpz_exec_command("SpaceToTab")
  end
  item.documents[0].set_focus
end

tpz_begin_update
items = tpz_selected_items
items.each do |item|
  top_level = item.level
  while item do
    select_doc(item)
    item = item.next
    if item and item.level <= top_level then
      item = nil
    end
  end
end
items[0].documents[0].set_focus
tpz_end_update

#eval_end

get_item_link アクティブなアイテムのWikiリンクを返す

説明

現在アクティブなアイテムのリンクを取得しクリップボードへ。

出力は、link プラグイン形式

使い方

  • 取得したいアイテムをアクティブにしてこのスクリプトを実行するだけ

★クリップボードへの入力には、sunoko_def.rb が必要

%macro%

#get_item_link  アクティブなアイテムのリンクを返す
#eval_start

require 'tpz'
include Tpz

item = tpz_current_item
r = "{{link '#{item.title}', '#{item.message_id}'}}"

Clipboard.SetText( r )

#eval_end

get_doc_link アクティブな文書のWikiリンクを返す

説明

現在アクティブな文書のリンクを取得しクリップボードへ。

出力は、link プラグイン形式

使い方

  • 取得したい文書をアクティブにしてこのスクリプトを実行するだけ

★クリップボードへの入力には、sunoko_def.rb が必要

%macro%

#get_doc_link  アクティブな文書のリンクを返す
#eval_start

require 'tpz'
include Tpz

item = tpz_current_item
doc = tpz_current_document
r = "{{link '#{item.title}(#{doc.title})', '#{item.message_id}', '#{doc.index}'}}"

Clipboard.SetText( r )

#eval_end

select_item_link アイテム選択画面からWikiリンクを返す

説明

現在のカーソル位置に選択されたアイテムのリンクを挿入する

出力は、link プラグイン形式

使い方

  • リンクを挿入したい位置にカーソルを合わせる
  • このスクリプトを実行する
  • アイテム選択画面が表示されるので、リンクを張りたいアイテムを選択する
  • 実行すれば、先のカーソル位置にリンクが挿入される

%macro%

#select_item_link  アイテム選択画面からリンクを返す
#現在のカーソル位置に挿入する
#disp_item_select では、プロジェクトフォルダは選択でいないので
#プロジェクトフォルダを取得したい場合には他の方法で実施のこと
#eval_start

require 'tpz'
include Tpz

item = disp_item_select(true,true,true,nil,'HtmlOut_For_TPZ アイテム選択')
r = "{{link '#{item.title}', '#{item.message_id}'}}"

Edit::sel_text = r


#eval_end

select_image_link ファイルリンクを取得し、Wiki記法変換する

説明

現在のカーソル位置に選択されたリンクファイルのリンクを挿入する

出力形式は、それなりに判断して行う

使い方

  • リンクを挿入したい位置にカーソルを合わせる
  • このスクリプトを実行する
  • アイテム選択画面が表示されるので、リンクを張りたいアイテムを選択する
  • 実行すれば、先のカーソル位置にリンクが挿入される

イメージファイルとして認識するファイルは

  • JPG
  • PNG
  • BMPとする。イメージファイルは image/ に置いておく事。また、その他ファイルは etc/ に置いておく事。

判別は拡張子にて行う。

  • イメージファイルの場合
    • 1.JPG

%macro%

#select_image_link  ファイルリンクを取得し、Wiki記法(プラグイン形式)に変換する
#  {{image 'src=filename','altword=title','title=title','class=photo', 'width=100%','height=100%'}}
#   ↓
#<img class="photo" src="image/xxx.gif" alt="イラスト2" title="イラスト2"  width=100% height=100%>

# イメージファイルのファイルパスは固定( images/ )なので、あらかじめ、
# そのフォルダに該当イメージファイルを入れてからリンクを行っておくこと
# その他のファイルのファイルパスも固定( etc/ )なので、あらかじめここに入れておくこと。
#
#eval_start

require 'tpz'
include Tpz

class TpzItem
  #ファイルリンクのタイトルから TpzItemFilelink を取得する
  def get_fl_title_item(title)
    #item:TpzItem
    #title:TpzItemFilelink::title
    self.filelinks.each do |fl|
      if fl.title == title then
        return fl
      end
    end
  end
end


item = tpz_current_item
filelist = ''
item.filelinks.each do |fl|
  filelist = filelist + fl.title + "\n"
end

#ファイルリストから画像を選択する
select_fl_title = disp_input_dialog(
    'HtmlOut_For_TPZ リンク画像選択',
    '現在ファイルリンクされているファイル名をリスト表示する',
    '',
    filelist
    )


#ファイルリンクのタイトルから TpzItemFilelink を取得する
fl = item.get_fl_title_item(select_fl_title)


#画像ファイルリンクの場合
#  {{image 'src=filename','altword=title','title=title','class=photo', 'width=100%','height=100%'}}
#ファイルリンクの場合とurlリンクの場合は異なる
#一般ファイルの場合

fl_ext = File.extname(fl.filename)

if /(jpg)|(png)|(bmp)/i =~ fl_ext then	#画像file
  fl_path = 'images/'
  filename = "#{fl_path}#{File.basename(fl.filename)}"
  r = ""
  r << %Q|{{image '#{filename}','#{fl.title}','#{fl.title}','photo'}}|
  Edit::sel_text = r
elsif fl.url? then                    	#url
  r = "[[#{fl.title}|#{fl.filename}]]"
  Edit::sel_text = r
else                                 		#その他一般ファイル
  fl_path = 'etc/'
  r = "[[#{fl.title}|#{fl_path}#{File.basename(fl.filename)}]]"
  Edit::sel_text = r
end


#eval_end

mailto:sunoko_at_avis.ne.jp // Last update:2012/03/23