「実行タスクに対して必ずメモ残すために、ちょっとした工夫をしてみたねん。

いや、それまでもなんとなーくはメモ残しててんで。でも、メモ残すタスクもあれば、めんどくてメモ書かずに完了させてまうタスクもあり、、、ってそんな感じやってん。
でもな、半年くらい前かな。『初速思考』て本を読み返してて、各タスクに対して、ちゃんとメモしていこうと思ってん。
どこ読んでやったかなー、あ、ここやここ。55ページ。

「振り返り」というと、どうしても面倒なイメージがあるかもしれません。そこで私は、1行でもいいから記録しておくという工夫をしています。

これ読んで、あぁ、1行だけメモしといたら、メモも残しやすいしあとで見返しもしやすいかも、と思てん。
なかなか時間取られんやんか。メモ書く時間も、見返す時間も。
だからってなんもせんかったら、今やってることから得たことはすぐに忘れてまう。
1行だけならなんとかなりそうって思えるし、真似しようと思ってん。

。。。あぁ、表示されるな、確かに。それそれ、その画面な。

でもメモはその画面ではしてないねん。
確かに「たすくま」は、タスクを完了させるとメモ画面になって、メモ書くのん促してくれるよ。その完了画面使ってメモを書いてってもいいんやけど。。。今は、ちょっと手間やけど別のアプリでメモ書いて、たすくまの完了画面にペーストしてメモ残していってるねん。かれこれ半年くらい。

いや、いう通りちょっとめんどうやよ。めんどうやけど。ちょっと気になってまうねん。ほんま細かいことやねんで、むちゃ細かいことやねんけど。
というのも、たすくまの完了画面表示してるときって、今までやってたタスクは完了してもうてる。でも、次のタスクは開始してへんって状況、つまりは、何も計測されてへん状況なわけやろ。空白の時間ができてもうてるわけやん。それが、ちょっといややねん。
せっかく時間のログをずーっととり続けてる、空白の時間がないようにタスクをこなしていってるねんから、完了画面はすぐ閉じて次のタスクを開始させたいやん。
細かいことやけど、な。
完了画面をはよ閉じたいから、自然と書き残すメモも短くなってまうやん。短くなってまうし、「あぁそんなんやったらもう書かんでえぇや」ってなりやすいやん。書かんかったら空白の時間はほぼなしで次いけるわけやし。

いやな、そんな1分1秒ももらさずに、タスクに取り掛かってる猛者ではないよ、そうじゃないけど、でもやっぱ空白の時間を許してもうたら、そこからズルズル空白が長くなってもうたりするやん。
付け入る隙はなくしていかんと。
自分はただでさえすぐ自分に甘えてまうのに、隙があったらよけい甘えていってまうやん。
甘えが隙に付け込んできよるやん。
確か今おまえにかしてる本にも書いてあったと思うねん。「象と象使い」が印象的な、、、そうそう、「スイッチ!」な。
あ、今持ってんの?ちょっとかして。
あったあった。「白黒の目標」やな。118ページから119ページか。

あいまいさが象に言い逃れの余地を与え、失敗を正当化しやすくする。このジレンマに対処するひとつの手は、超明確な目標を定めるという方法だ。

自宅や職場で正当化が心配なら、目標からあいまいさをそぎ落とす必要がある。「白黒の目標」が必要だ。

白か黒か、書かれているタスクをやっているかやっていないか。グレーな空白の時間とかあったらあかんねん。
すぐ付け込んできよるからな。

まぁあとは、単純に他のメモ専用のアプリで書くほうが書きやすいってのが理由やな。
メモに特化してるアプリって、いろいろ書きやすくする機能とかついてるから。
ぼく使ってるんは「Textwell」やねんけどな。そう、好きやねんこのアプリ。iPhoneで何かしら書くとき、こればっか。
最近「アクションバー」って機能付いて、普段よく使うアクションはキーボードの上に表示してくれるようになったし、ますます使いやすなってきてるし。

ぼく、iPhoneで何か書くってとき、ほぼ必ずTextwell使うから、Textwellを起動させたら何かしら書こうと思うねん。で、今までやってたタスクに関するメモを書く。たすくま起動させてペーストする。と、たすくまにメモが蓄積されていくやろ?各タスクに対して、メモが最低でも一行残っていく。
空白の時間をなくすためにも、メモをちゃんと残していくためにも、ほかのアプリでメモを書いてからたすくまでタスク完了させて、完了画面でメモをペーストしてるって手をとってるねん。多少は手間やけど、実際そのほうがタスクにメモを残せていってるから、必要な手間やね。
で、このメモを利用して「アクションリスト」を作っていくわけやん。あ、「アクションリスト」も『初速思考』に書いてたんやけどな。
まぁ、アクションリストとか別に作らんでも、実際ぼくもそんなガシガシ作ってるわけちゃうし。
やったタスクに対して、必ずメモが残っていってるってのがいいんよね。

ただ、たすくま上でメモを見返すのはちょっとめんどいから、WorkFlowyに、、、え?あぁ、ぼちぼち時間か。次のタスクに取り掛からなな。
見返す話は、また今度ってことで。
んじゃ、また。」

参考

Taskuma — TaskChute for iPhone — 記録からはじめるタスク管理
カテゴリ: 仕事効率化, ライフスタイル

Textwell
カテゴリ: 仕事効率化, ユーティリティ

全体像を把握しやすい本の読みかた2つ

再読をしたい。常々思っていることの一つです。
日々、いろんな本の存在を知ります。読んでみたくなります。読みたい本は増える増える増え続ける。
過去に読んで、もう一度読みたいな、と感じる本があります。それも読みたい。また読みたい本は増える。
読みたい本だらけ。でも、もちろんすべてを読む時間はありません。
読むからには、自分のものにしたい。けれども、読む時間がなかなかとれないと、日を多くまたぎながら読み進めることになり、読了するのに時間が、長い期間がかかってしまいます。
ぼくの読書のスタンスは、「じっくり」なのです。
読書メモをとりながら、じっくり読んでいきます。
じっくり読みすぎるがために、全体像を思い描くことが難しくなっちゃったりします。じっくり読むので読み切るのに長い期間がかかり、内容を忘れつつ、読み進めることになるから。
読んだ内容が頭からこぼれ落ちつつ、一定期間読書ができないときとかもあったりして、さらに内容が頭から離れていき、そんな中また読み始めて「これどうやったっけ?」と戻りつつ、戻ってはさらに時間がかかって、なんとか最終的に読了する、という感じです。
なので、もう一度読みたいと感じる本が多くなってしまいます。2回目なら、きっと内容をさらに理解でき、全容も把握しやすいやろう、と思うから。

短い期間で、「一気に読み切る」

あるとき、再読を中心に、読書しようときめ、しばらく読んだことのある本ばかりを選んでは読み進めたことがありました。そのときの読み方が、なかなか気に入り、どんどん本を再読していくことができたんです。
いつもとちょっと読み方を変えることで、1冊の本の全体像を把握しやすくなることを知ったんです。
単純な方法です。「一気に読むぞ」という気持ちで、再読の本たちを読み進めていくというとても単純な。
速読という技術は持ち合わせてはいません。「一気に読むぞ!」って意識し、いつもよりはやめに文字を追っていくだけ。
一度読んだことのある本なので、思い切ってさささっと読むことができたのだと思います。たぶん、一読目の本であれば、どうしてもじっくりな読み方になっちゃうので。
「一気読み」では、メモもとりません。いつもより早く読む意識で、いっさいメモをとらず読み進めていきます。
目的は一つ。短い期間で読み切るため。
短い期間、1日2日の間に、一気に読み切る。そのほうが、いくら忘れっぽいぼくでも、本の内容の多くが頭の中にのこっておいてくれます。なので、全体像を把握しやすい。
一度読了している、という安心感があるので、再読するときには、この方法がぴったりだと感じるようになりました。
その思いは、オーディオブックを聞いくことで強くなりました。

頭に内容が残ったままグイグイ進むオーディオブック

今年の1月あたりから、オーディオブックを利用しはじめました。
芥川賞もオーディオブックで”聴ける” – FeBe(フィービー)
そのときに、こんなメモを残していました。

オーディオブックで本を聞くと、読むよりも短い期間で最後まで聴き終える。から、内容が記憶に残ってる状況で読み進めることができる。
最近思うように読書の時間をとれておらず、どうしても一冊にかかる期間が長くなっちゃってる。と、読んだ内容を忘れながら読み進めることになり、思うように理解できず読み終えてしまう、みたいなことがおこりがち。
オーディオブックやと、それがない。意外な事実やった。オーディオブックのほうが、聞き流してしまうし、読書メモも取ることなく進んでしまうので、頭に内容が残らんのではないか?と危惧していたから。

目次を書き足していって、流れを都度思い起こす

内容が頭からこぼれ落ちる前に、一気に読み切る。
いつでもそれができればいいのですが、一気に読み切るためにはそのぶん時間も必要なわけで。となると、時間が確保できないときには、その方法はちょっとしんどい。
読みたい本がオーディオブックにあるとも限りません。
一気に読み切れない。そんなときには、「読みながら目次を書き写していく」ことが、全体像の把握にはとても有効です。
限られた時間の中で、少しずつ本を読み進めていくわけですが、その際、読んだところの目次を書いていくんです。手間ですが、この効果はとても大きい。
具体的な方法としては、本を読みはじる際に、その日付と本の名前をメモしておきます。で、大きな章を読み終えるごとに、そのメモに読み終えた部分の目次を追記していくんです。
そうすると、目次を書き写すごとに、前に読み終えた部分の目次が目に入ります。目に入ると、「あぁ、あんな内容のこと書いてた章やな」と記憶がよみがえってくれます。
はじめから今読んでいる部分までの目次に目を通すことになるので、そこまでの流れが想起してくれやすい。
書くだけで、「あぁそうや、あの話がこうきて、そこへと進んだんや」と、全体の流れの把握にとても大きな役割を買ってくれるんです。
これは、書物を使って勉強していくときにも、とても有効です。
勉強となると、おそらく普通に読み進めるよりも一冊読み切るまでの時間はかかるでしょうし、本の全体像を把握するのってかなり大事ですから。
目次が増えていくのも、うれしい。これだけ進んできたんやな、と確認できるので、モチベーションにもつながります。

おわりに

全容を把握するための読み方は、

短い期間で読み切る意識を持つ
読み終えた章の目次を追記していく

全体像が把握できると、じっくり通読するのとはまた違った理解が得られます。
「メモをとりながらじっくり読む」のと、「一心不乱に一気読み切る」の。
「細部を読み込む」のと、「全体像を把握する」の。
両方合わさったら、1冊から得られることは、きっと何倍にも増してくれる。そう信じながら、これからもちょくちょく再読に取り組んでいこうかな、と思っています。

では、お読みいただきありがとうございました。

考えるときの「広げる」と「拡げる」、むしろ「拡がっていく」。

頭の中のものを紙面上に「広げる」。
「かばんの中身を机の上に広げる」とか、そういう意味。
とにかく書き出す。思いついたことを書く。書いたものの配置を変える。矢印でつなぐ。
書く、書く、書いてみる。
白紙からもう一度書きなおしてみる。頭からとり出して、紙面上に「広げる」。

アイデアを「拡げる」。
「拡張する」ってニュアンス。
調べて知識を得たり、本を読んで学んだり、人から意見を聞いたり。外部からの刺激によって拡げる。
連想したり、視点を変えたり、俯瞰したり、拡大したり、組み合わせたり、切り離したりして、拡げる。自分の中の化学反応を促す。
反応が起こって拡張していくことが多いので、「拡げる」という言い方よりも「拡がっていく」といったほうがしっくりくるかも。
拡げるというよりも、拡がっていく。拡がっていってほしいがために、マインドマップを描いたりする。マトリクスを書いてみたり、マンダラを埋めていったり。

広げて、発見して、拡がって、広げて、気づいて、拡がって、広げて、整理されて、まとまりがみえて、気づいて、拡がって、広げて、まとめてみて、まとまってきて、まとめて、落ち着く。

そんな感じのことが、起こっている気がする。
考えているときの頭のなかって、どんなもんでしょうか。

では、お読みいただきありがとうございました。

「タグでシンタックスハイライト」を実装して、執筆専用ブラウザを文章エディタに

WorkFlowyでシンタックスハイライトを実現させるために、いろいろと調べました。
もっとぼくにプログラミングの知識があれば、ほんまもんのシンタックスハイライトを実装できたのかもしれませんが、そこまではわからずで。
最終的に、「タグ」によってハイライトする方法で、文章の見出しやリストの文字色を変えることにしました。
例えば、見出しのh2にしたいところには、「#h2」というタグをつける。すると、そのトピックの文字色が変化する、というような感じです。
マークダウンであれば「##」をつけてh2の見出しにするところを、「#h2」というタグをつけることで見出しにするわけです。
特定のタグに対して、そのトピックのスタイルを自由に定めることができるって機能なので、ただ単に文字の色を変えるだけでもいいですし、スタイルをがらっと変えてしまったりもできます。

HandyFlowyとFireFoxでの実装

「特定のタグをつけたトピックの文字を装飾する」機能は、こちらの記事を参考にさせてもらいまくりました。
#HandyFlowy タグでトピックのスタイルを変える – #WorkFlowy 関連のメモ ( #sorashima )

HandyFlowyバージョン

まず、HandyFlowy用のスクリプトはこんな感じ。

// ==UserScript==
// @name                     WorkflowyStylableTags
// @description        Gives each tag it's own css style, so you can style them with Stylish. I use Blank Canvas to manage my userscripts in Chrome.
// @author                 Nigel Thorne and LukeMT
// @include                http*://*workflowy.com/*
// @version                1.1
// ==/UserScript==



/*タグ装飾を可能にする*/
String.prototype.endsWith = function(suffix) {
suffix.length) !== -1;
};

var customClasses = function(index, old){
        var classes = old.split(" ");
        var custom = [];
        for( i = 0; i < classes.length; i++){
                if(classes[i].endsWith("-proj")){ custom.push(classes[i]);};
        };
        return custom.join(" ");
}

var StylableTagsCounter = 1;
setInterval(function(){
        StylableTagsCounter ++;
        if( StylableTagsCounter >= 3){
                $('.project').removeClass(customClasses);
                $('.pageContainer').removeClass(customClasses);
                StylableTagsCounter = 0;
        }
        $('span > .contentTagText').map( function(){
                var x = $(this).text();
                $(this).parent('.contentTag').parent().parent().parent().addClass(x+"-proj");}
        );
},1000);


/*装飾可能にするタグを指定し、どんな装飾をほどこすのかを定める。着脱式になってます。*/
\";position: absolute;left: 0px;width: 40px;color:#31B404;height: 0;line-height: 1.0;padding-top:1.5px;font-size:16px;}.contentTag[title=\"Filter #l\"]{font-size:10px;font-weight:100;background-color:white;color:white;}.contentTag[title=\"Filter @l\"]{font-size:10px;font-weight:100;background-color:white;color:white;}.project.o-proj>.name>.content {color: #AEB404;}.project.o-proj>.name>.content :before{content: \"1. \";position: absolute;left: 0px;width: 40px;color:#AEB404;height: 0;line-height: 1.0;padding-top:3px;font-size:16px;}.contentTag[title=\"Filter #o\"]{font-size:10px;font-weight:100;background-color:white;color:white;}.contentTag[title=\"Filter @o\"]{font-size:10px;font-weight:100;background-color:white;color:white;}.project.b-proj>.name>.content {color: #A4A4A4;}.project.b-proj>.name>.content :before{content: \"> \";position: absolute;left: 0px;width: 40px;color:#A4A4A4;height: 0;line-height: 1.0;padding-top:1.5px;font-size:16px;}.contentTag[title=\"Filter #b\"]{font-size:10px;font-weight:100;background-color:white;color:white;}.contentTag[title=\"Filter @b\"]{font-size:10px;font-weight:100;background-color:white;color:white;}";document.body.appendChild(e);}"

このスクリプトは、大きく分けて二段階になっています。
前半部分が、「タグ装飾を可能にする」ためのもの。後半部分が、「装飾可能にするタグを指定し、どんな装飾をほどこすのかを定める」ためのもの。
後半部分をいじってもらえれば、自分の好きなスタイルを作ることが可能です。
例えば、「#h2」タグをつけたトピックの装飾を決めているのが、コード内の以下の部分。
.project.h2-proj>.name>.content {color: blue;font-weight: bold;font-size: 20px;padding-left:0px;}
これは、
.project.タグ名-proj>.name>.content {どんな装飾をほどこすか}
という形式になっています。
つまり、「「#h2」タグがついているトピックの文字の色を青にし(color: blue;)、文字を太くし(font-weight: bold;)、文字の大きさを20pxにし(font-size: 20px;)、左の余白を0にする(padding-left:0px;)」という指示になります。
ってな感じで、「見出し」「リスト」「番号付きリスト」「引用」のためのタグを設定しています。
以下のような指示のコードを書いています。

  • 各種見出し
    • 「#h2」「#h3」「#h4」をつければ青色に装飾&文頭に「##」をつける&タグの色を白にして見えないように
  • リスト
    • 「#l」をつければ緑色に装飾&文頭に「- 」をつける&タグの色を白にして見えないように
  • 番号付き見出し
    • 「#o」をつければ緑色に装飾&文頭に「1. 」をつける&タグの色を白にして見えないように
  • 引用
    • 「#b」をつければ灰色に装飾&文頭に「> 」をつける&タグの色を白にして見えないように

その結果、こんな見かけになります。

推敲するときはブログの表示に似せたスタイルを適用します。上記拡張スクリプトとは別途、作成しました。スタイルを切り替えて適用するだけで、見かけはこんな風に変わります。

スタイル切り替えるだけでいける、ってところがうれしい。

FireFoxバージョン

PCでは、少し手間がかかります。
FireFoxのアドオンとして、「Stylish」に加えて「Tampermonkey • Firefox」というのをインストールする必要があるからです。
どちらも、拡張機能から入手可能です。
TemperMonkeyが「タグ装飾を可能に」してくれて、Stylishによって「装飾可能にするタグを指定し、どんな装飾をほどこすのかを定める」わけなのです。

TemperMonkeyをインストールしてもらって、「新規スクリプトを追加」を選び、以下のコードをコピペしていただければオッケーです。ただ、あくまでも自己責任でお願いします。

// ==UserScript==
// @name                     WorkflowyStylableTags2
// @description        Gives each tag it's own css style, so you can style them with Stylish. I use Blank Canvas to manage my userscripts in Chrome.
// @author                 Nigel Thorne and LukeMT
// @include                http*://*workflowy.com/*
// @version                1.1
// ==/UserScript==



String.prototype.endsWith = function(suffix) {
suffix.length) !== -1;
};

var customClasses = function(index, old){
        var classes = old.split(" ");
        var custom = [];
        for( i = 0; i < classes.length; i++){
                if(classes[i].endsWith("-proj")){ custom.push(classes[i]);}
        }
        return custom.join(" ");
};

var StylableTagsCounter = 1;
setInterval(function(){
        StylableTagsCounter ++;
        if( StylableTagsCounter >= 3){
                $('.project').removeClass(customClasses);
                $('.pageContainer').removeClass(customClasses);
                StylableTagsCounter = 0;
        }
        $('span > .contentTagText').map( function(){
                var x = $(this).text();
                $(this).parent('.contentTag').parent().parent().parent().addClass(x+"-proj");}
        );
},1000);

で、Stylishにて、タグを指定してそのトピックのスタイルを書き換えます。書き換えのコードは、HandyFlowyのときに説明したようにすると、自分の好きなように装飾することができます。
少し長くなりますが、全容を載せます。

/*h1の見出しのスタイルを調整*/
.project.h1-proj>.name>.content {
        color: black;
        font-weight: bold;
        font-size: 23px;
        /*padding-left:20px;*/
}

/*h1タグのスタイル*/
.contentTag[title="Filter #h1"]{
        font-size:10px;
        font-weight:100;
        background-color:#BDBDBD;
        color:white;
}
.contentTag[title="Filter @h1"]{
        font-size:10px;
        font-weight:100;
        background-color:#BDBDBD;
        color:white;
}


/*h2の見出しのスタイルを調整*/
.project.h2-proj>.name>.content {
        color: blue;
        //font-weight: bold;
        //font-size: 20px;
        padding-left:0px;
}
.project.h2-proj>.name>.content :before{
        content: "##";
        position: absolute;
        left: 0px;
        width: 40px;
        height: 0;
        font-size: 16px;
        //font-weight:bold;
        line-height: 1.0;
        color: blue;
        padding-top:2px;

}

/*h2タグのスタイル*/
.contentTag[title="Filter #h2"]{
        font-size:10px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}
.contentTag[title="Filter @h2"]{
        font-size:10px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}

/*h3の見出しのスタイルを調整*/
.project.h3-proj>.name>.content {
        color: royalblue;
        //font-weight: bold;
        font-size: 16px;
        //padding-left:10px;
}
.project.h3-proj>.name>.content :before{
        content: "###";
        position: absolute;
        left: 0px;
        width: 40px;
        height: 0;
        font-size: 16px;
        line-height: 1.0;
        color: royalblue;
        padding-top:2px;
        //font-weight:bold;
}
/*h3のタグのスタイルを調整*/
.contentTag[title="Filter #h3"]{
        font-size:16px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}
.contentTag[title="Filter @h3"]{
        font-size:10px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}
/*h4の見出しのスタイルを調整*/
.project.h4-proj>.name>.content {
        //font-weight: bold;
        color: cornflowerblue;
        //padding-left:38px;
}
.project.h4-proj>.name>.content :before{
        content: "####";
        position: absolute;
        left: 0px;
        width: 40px;
        color:cornflowerblue;
        height: 0;
        line-height: 1.0;
        padding-top:2px;
        font-size:16px;
        //font-weight:bold;
        padding-top:2px;
}
/*h4のタグのスタイルを調整*/
.contentTag[title="Filter #h4"]{
        font-size:20px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}
.contentTag[title="Filter @h4"]{
        font-size:10px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}

/*リストの見出しのスタイルを調整*/
.project.l-proj>.name>.content {
        color: #31B404;
        //padding-left:13px;
}
.project.l-proj>.name>.content :before{
";
        position: absolute;
        left: 0px;
        width: 40px;
        color:#31B404;
        height: 0;
        line-height: 1.0;
        padding-top:1.5px;
        font-size:16px;
}
.contentTag[title="Filter #l"]{
        font-size:10px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}
.contentTag[title="Filter @l"]{
        font-size:10px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}

/*リスト(番号)のスタイルを調整*/
.project.o-proj>.name>.content {
        color: #AEB404;
        //padding-left:13px;
}
.project.o-proj>.name>.content :before{
        content: "1. ";
        position: absolute;
        left: 0px;
        width: 40px;
        color:#AEB404;
        height: 0;
        line-height: 1.0;
        padding-top:3px;
        font-size:16px;
}
.contentTag[title="Filter #o"]{
        font-size:10px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}
.contentTag[title="Filter @o"]{
        font-size:10px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}

/*引用のスタイルを調整*/
.project.b-proj>.name>.content {
        color: #A4A4A4;
        //padding-left:13px;
}
.project.b-proj>.name>.content :before{
        content: "> ";
        position: absolute;
        left: 0px;
        width: 40px;
        color:#A4A4A4;
        height: 0;
        line-height: 1.0;
        padding-top:1.5px;
        font-size:16px;
}
.contentTag[title="Filter #b"]{
        font-size:10px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}
.contentTag[title="Filter @b"]{
        font-size:10px;
        font-weight:100;
        //background-color:#BDBDBD;
        background-color:white;
        color:white;
}
.bullet{background-image:none;}

.bullet{background-image:none;}
    .project.open>.name>.bullet{border:1px silver solid;border-radius:3px;}
    .bullet,#bulletBucket .bulletBucketBullet{background:silver;border-radius:3px;}

これで、書くとき用のシンプルなシンタックスハイライトが実装されます。

タグのルールは上記HandyFlowyと一緒です。
で、自分用には推敲用のブログの見かけと同一になる装飾のスタイルも作成しちゃいました。

FireFoxでも、両方を切り替えながら書くことができ、とても、とてもいい感じです。
重ね重ね言いますが、どうか自己責任でお願いします。

このルールで色を変えることができるのは、「タグをつけたトピックを装飾する」という性質上、「見出し」と「リスト」と「番号付きリスト」と「引用」のみ。文章中の一部を「太字」や「イタリック」に装飾し、そこだけ色を変える、なんてことはできません。
また、タグを書く位置は、文頭に。じゃないと表示がうまくいかないようになってます。
文中ならどこでもいいっちゃいいのですが、あとあとのエクスポートのときを考えているのと、マークダウンは基本文頭に記号を書くこと。また、WorkFlowyでは、カーソルを移動させてる時にトピックをまたぐと、カーソルはかならず文頭に行く、ってことから、文頭に書くというルールにしました。

おわりに

公開しているのはシンプルなシンタックスハイライトのほうだけですが、自分用にはPCとHandyFlowyの両方に、執筆用と推敲用の二つのスタイルを作りました。これで、PCでもiPhoneでも書けるし、推敲できるようになったわけです。
一応どっちも用意してるだけで、基本的な流れは、PCにて「執筆用」で書き始め、書き進め、マークダウンタグで見出しとか定め、仕上げに近いところまでもっていきます。
そしてPCかiPhoneのどっちかの「推敲用」で、ブログと同じ見かけに表示させて、読み返し、細かい修正を加える、という感じ。
ブログにアップするためには、WorkFlowyでつけた「#h2」とかのタグを、「##」やら「<h2>」やらに書き換えなければいけないのですが、そのへんをスムーズにいくようにするのが、今後の課題です。

おそらく、技術的な部分では説明不足なエントリとなってしまったかもしれませんが、自分自身コードを書く技術に乏しいので、勘弁してやってください。

では、お読みいただきありがとうございました。

「執筆専用ブラウザ」をパワーアップ〜タグでシンタックスハイライト〜

以前、「執筆専用ブラウザ、という考え方」ということで、FireFoxをWorkFlowyで文章を書くためだけに使う、というエントリを書きました。
そこでは、書き出して、うんじゃかんじゃするまではWorkFlowy、つまりアウトライナーでこなし、仕上げはほかのエディタを使う、みたいに、書く段階を分けている、ってことを紹介しました。

・はじめのだぁーっと書き出すのはまっさらなエディタにて。
・そのあとは、アウトライナーへ投げて、うんじゃかんじゃする。
・最終的に記事に仕上げる際には、マークダウンをプレビューしてくれるエディタへ。
執筆専用ブラウザ、という考え方 – iPhoneと本と数学となんやかんやと

3つの段階のうち、はじめ二つをWorkFlowyに担ってもらい、最終の段階は別のエディタで書いていきます。
なぜ別のエディタを使うのか?
マークダウン記法で書いていく際に、「シンタックスハイライト」なる機能があったほうが、文章の見出しや引用、リストとなる部分が色で表現され、視覚的に見やすく、書きやすいから。
シンタックスハイライトとは、こんなんです。

マークダウン記法を用いて書いた見出しやらリストやらを色分けしてくれる機能です。
また、マークダウン記法で書いた文章を、最終的にはHTMLに変換しなくちゃいけなくて、その作業も簡単であるから。
加えて、いくつかのデバイス間でテキストを共有し、書く環境も統一したい、という願いもあったから。

3つのデバイスでテキストのやり取りしたい

メインのPCは、家のiMacです。持ち運び用として、eeeBook。スマホはiPhoneを使ってます。

ぼくの要望は、以下のようなもの。

  • 3つのデバイス間で、テキストのやりとりをスムーズに行いたい。
    • どのデバイスでも、何かしら「書く」ことをするので。
  • iMacに対し、eeebookはWindowsPCです。その両者で、異なるOS間で、書く環境を統一したい。つまり、エディタを同じやつ使いたい。
    • 環境が違えば、そのぶんいろんなことを覚えないといけなくなっちゃうのは嫌ですもんね。
  • エディタは、マークダウン記法を使うので、見出しや箇条書きなどをシンタックスハイライトしてほしい。
    • 色分けされてるほうが、最後の仕上げやりやすい。

これらを満たすようなツール、サービスをしばらくの間さがし歩いてみました。
MacとWinという違う環境下でも、同じようテキストを扱うために、両方で使えるエディタをいくつか試し、「SublimeText」を使っていました。
そして、テキストは「Simplenote」というサービスを利用して、3つのデバイス間でやりとりをしていました。

もちろん、ある程度の不便さを抱えることになります。
普段ぼくはEvernoteとWorkFlowyを使っていて、そこにテキストをやりとりするために、新たにSimplenoteを使うようになりました。
EvernoteかWorkFlowyで完結できれば、わざわざSimplenoteを使わず、これまでどおり2つだけでやりくりできるのに。
また、WorkFlowyからエディタへと書きかけの文章をコピペし、書き進め、仕上げなくちゃいけないわけですが、コピペにちょっと手間がかかります。
改行とかがうまく反映されず、わざわざもう一度改行しなおさなくちゃいけないんです。
エディタからWorkFlowyへとテキストを移すときにも同じで、少々手間がかかります。

WorkFlowyの文章を出し入れするのは、めんどうくさいんです。
であるがゆえに、別のエディタでSimplenoteを利用して文章を管理していたわけです。
環境を統一したい、という願望から、MacでもWinでも使えるSublimeTextを使っていた。
けれどもね、ここではたと考えます。
WorkFlowyは、どのデバイスからも扱えるじゃん、と。Macでも、Winでも、iPhoneでも。その気になれば、どこででも同じ環境で「書く」作業ができる。
そうすればWorkFlowyから文章を出し入れすることもなくなる。
明らかに、WorkFlowy上ですべてを完結させるのが一番いい。

残す課題は、一つ。

もしWorkFlowyにシンタックスハイライトがついたら、、、

そうですそうです、シンタックスハイライトの機能です。
それがあればすべてをWorkFlowyで完結することができる。ほんとにきれいにすべてがつながる。
Workflowyだと、そこにある文章の「見かけ」を、Stylishで変えることができます。
書き出すときは「・」を消し、エディタっぽく。
「・」が消えたとはいえ、アウトライナーであることには変わりないので、インデント・アウトデントをして、文章を組み立てることができる。
トピックを入れ替えたり階層化したりしながら、形にしていくことができる。
他の人が読んで理解できるように、読みやすいように仕上げるときには、マークダウン記法を利用して。シンタックスハイライトにて、構成を見えやすくしながら。
書きあがった後はiPhoneのHandyFlowyで、スタイルをブログっぽくして完成した文章を読み返し、修正する(文章の推敲にiPhoneを用いて、自分の中の「推敲モード」のスイッチを入れる)。
同じWorkFlowy上で作業が完結するので、どのデバイスにもStylishをインストールして同じスタイルを適用できるようにしておけば、まったく同じ環境が出来上がる。
どこから手を加えても、すべてもれなく変更が同期される。勝手に。ほとんど同期を意識することなく。
一連の流れのすべてが、WorkFlowyという場でつながる。
こんな快適さは、ほかにはない、と思います。

となるとやることは一つ。WorkFlowyでシンタックスハイライトを実現すること。
で、がんばりました。そして、なんとかそれっぽいものを実装できました。
本来のシンタックスハイライトは実装できませんでしたが、「タグ」をつけることで文章を色分けすることができるようになりました。
見出しとリストと引用の部分にタグをつけると、タグのついたトピックの文字の色や大きさを変える、ちょっとした装飾をほどこすことができるようになりました。
ただ、リンク、太字、下線はハイライトされません。当然で、タグをつかっている関係上、トピックの中の一部分だけを装飾、ってことができないためです。
普段太字や下線は使っていないので、まぁえぇか、ということになりました。

できたのが、こんなかんじ。

次回は、この実装について書きたいと思います。

おわりに

おそらくは、本などを書こうとおもうとWorkFlowyのみで完結することは難しいとは思うのですが、そんなに長くない文章であれば、なんの問題もなく、どこからでも、快適に「書く」ことができるようになったな、と思います。
最近文章を書くのが楽しくなってるのですが、この執筆用にカスタマイズしたWorkFlowyのおかげであるかもしれません。

今後の課題は、WorkFlowy上では、タグを使いながらマークダウン記法で書いていくので、それをエクスポートする際に、まだブログ用のHTMLで文章を取り出すことができない、ってところです。いちいち成形しなくちゃいけない。
独自のハサミスクリプト的なものが必要だなぁ、という感じです。次はそれを作れないかあがいてみようかな。

では、お読みいただきありがとうございました。