Textwellで目次を表示しそこまで飛べるアクション Jumper

モバイルで長文を書くための必需品。


Textwell 1.1.7
分類: 仕事効率化,ユーティリティ
価格: \300 (Sociomedia)

テキストから章立てを抜き出し、その場所まで移動するアクション。長い文章を書いていると全体の把握がしづらく、別の箇所を修正しようとするときスクロールがもどかしい。パソコンでも同じですけどね。章ごとのファイルを作り、後で連結するかもしれない。でも連結してから手を入れるとなると、これまた移動が煩わしい。
Textwellなら対処できそうに思えたのでアクションを組んでみました。文中に空行があると、その次の行を「章」と見なしリスト表示。表示された「章」をタップすると、そこにカーソルがジャンプします。長文を丸ごと読み込ませ、章単位で編集する方法です。

<meta name=viewport content=initial-scale=1,user-scalable=no>
<title>Jumper</title>
<style>
  body{
    background:white;
    word-wrap:break-word;
    margin:0;
  }
  hr{
    border:1px #f4f4f4 solid;
  }
  table{
    width:100%;
    table-layout:fixed;
  }
  td.num{
    width:32px;
    color:white;
    background:blue;
    vertical-align:top;
    text-align:center;
  }
  td.end{
    width:32px;
    color:white;
    background:red;
    vertical-align:top;
    text-align:center;
  }
</style>
<body>
<script>
  mode=1;
  list=new Array();
  origin=T.text;
  list=origin.split("\n");
  s="<hr>";
  for(i=0;i<list.length;i++){
    t=list[i];
    content=t.replace(/</g,"&lt;").substr(0,160)+((t.length<160)? "":"(...)");
    if(content){
      if(mode){
        s+="<table><td class=num onClick=Jump("+i+")>"+("000"+(i+1)).slice(-4)+"</td><td onClick=Jump("+i+")> "+content+"</td></table><hr>\n";
        mode=0;
      }
    }else{
      mode=1;
    }
  }
  s+="<table><td class=end onClick=Jump("+i+")>"+("000"+i).slice(-4)+"</td><td onClick=Jump("+i+")> (end)</td></table><hr>\n";
  document.write(s);

  function Jump(x){
    last=0;
    for(i=0;i<x;i++)last+=list[i].length+1;
      T("replaceRange",{
        text:origin,
        replacingRange:{len:origin.length},
        selectingRange:{loc:last}
     })
  }
</script>
</body>

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



アクションを起動すると「章」をリスト化。空行の次にある段落をピックアップします。そこが必ず「章」とは限らないものの、全体の構成を見渡すには便利なのでこの仕様にしました。簡易版アウトライナーになる。左側の数字は「何行目か」を表し、文末は「(end)」として全体の行数。長い段落の場合は160字まで表示し、後は省略しました。



「章」を選べばカーソルが飛びます。ただし、Textwellはその場所を表示しません。iOS7のバグらしい。向きをランドスケープからポートレイトにするか、何かタイプするか、キーボードの種類を日本語から英語に切り替えると、正常な表示に変わります。これはどのアプリでも起こる現象なので、ちょっと不便ですね。iOS7.1待ちか。

  • untitled - iOS 7 のテキスト入力欄(UITextView)の問題について

  • 【Textwell】ReLineのデザインもフラットしてみました
    iOS7風を考えたけど、なんか違うかも。行編集アクションのReLine。前のデザインだとゴツゴツとしていたのでペラペラにしてみました。オマケで機能強化してます。相変わらず行儀悪いスクリプトですけど。ソ...
    長文でなくても、iPhoneiPadの画面は狭く、全体の眺望は難しい。そんなとき、このアクションとReLineを使えば大まかな流れを見て取れます。それに副産物か、空行の後にパンチの効いた文章を置きたくなりますね。要約するフレーズを持ってくると構造が際立つし、たぶん読者側も読み進めやすいんじゃないかな。
  • Textwell用の自作アクション集