TextwellでMarkdownを書くためのアクション・メニュー MDTools

もう一度作る自信はない。


Markdownをもっと書きやすくするTextwellアクション MarkdownTools
小物入れに詰めてみました。Textwellは公式アクションでMarkdownをサポートしていますが、入力に関して何もない。確かにプレーン・テキストに記号をつけるだけなので困るわけではないけれど、それで...
Markdown用ツールを一つのメニューにまとめました。前回とは違い、階層メニューに挑戦。グループからアクションを選ぶ方式です。というか、階層化できるんですねえ。実験のつもりで作ったら動作しちゃったんだけど、どうしてもソースが読みづらくなる。
登録リンクはこちら→ http://tinyurl.com/qgsfhem



たとえば「囲み記事」を選ぶと・・・。



「強調」や「引用」のMarkdownで装飾できます。
そんな感じに詰め込んでみました。Markdownはベタ打ちで書けるからMarkdownなのであって、こんなふうにメニューで用意するものではないかもしれません。ただ書式を忘れることもあるので、そのときのチートシートとしてお使いください。


ソースがごちゃごちゃするのが困ったちゃん。保守しにくい。

T.loadlets([{title:"【MDTools】",
  fn:function(){T("done")
}},

{title:"見出し…",
fn:function(){
T.loadlets([{title:"【見出し】",
  fn:function(){T("done")
  }},
  {title:"大見出し",
  fn:function(){
    s=T.current.replace(/^\#*/mg,"#");
    T("replaceCurrent",{text:s});
  }},
  {title:"中見出し",
  fn:function(){
    c=T.current;
    s=T.current.replace(/^\#*/mg,"##");
    T("replaceCurrent",{text:s});
  }},
  {title:"小見出し",
  fn:function(){
    c=T.current;
    s=T.current.replace(/^\#*/mg,"###");
    T("replaceCurrent",{text:s});
  }}
],function(){location="about:blank"})
}},

{title:"リスト…",
fn:function(){
T.loadlets([{title:"【リスト】",
  fn:function(){T("done")
  }},
  {title:"連番なし",
  fn:function(){
    c=T.current;
    s=(/^(- )/.test(c))? c.replace(/^(- )/mg,"") : c.replace(/^([0-9]\. )?/mg,"- ");
    T("replaceCurrent",{text:s});
  }},
  {title:"連番あり",
  fn:function(){
    c=T.current;
    s=(/^[0-9]\. /.test(c))? c.replace(/^[0-9]\. /mg,"") : c.replace(/^(- )?/mg,"1. ");
    T("replaceCurrent",{text:s});
 }}
],function(){location="about:blank"})
}},

{title:"囲み記事…",
fn:function(){
T.loadlets([{title:"【囲み記事】",
  fn:function(){T("done")
  }},
  {title:"強調",
  fn:function(){
    s=T.current.replace(/^/mg,"**").replace(/$/mg,"**");
    T("replaceCurrent",{text:s});
  }},
  {title:"引用",
  fn:function(){
    c=T.current;
    s=(/^> /.test(c))? c.replace(/^> /mg,"") : c.replace(/^/mg,"> ");
    T("replaceCurrent",{text:s});
  }},
  {title:"コード",
  fn:function(){
    s="```\n"+T.current+"\n```\n";
    T("replaceCurrent",{text:s});
  }}
],function(){location="about:blank"})
}},

{title:"リンク…",
fn:function(){
T.loadlets([{title:"【リンク】",
  fn:function(){T("done")
  }},
  {title:"外部URL",
  fn:function(){
    c=T.current;
    s=(/^https?:/.test(c))? "[ LINK ]("+c+")" : "["+c+"]( URL )";
    T("replaceCurrent",{text:s});
  }},
  {title:"画像",
  fn:function(){
    c=T.current;
    s=(/^https?:/.test(c))? "![ ALT ]("+c+")" : "!["+c+"]( URL )";
    T("replaceCurrent",{text:s});
  }},
  {title:"水平線",
  fn:function(){
    s="\n- - -\n";
    T("insert",{text:s});
  }}
],function(){location="about:blank"})
}},

{title:"プレビュー",
fn:function(){
  T.translucent(false);
  location = 'http://sociomedia.com/textwell/wd/markdownpreview/';
}}
],function(){location="about:blank"})

登録リンクはこちら→ http://tinyurl.com/qgsfhem