「過去に書いたことが否応なしに目に入る」環境づくり

過去の日記が「否応なしに目に入る」ように、日記を書いていく。この「否応なしに」は、けっこう重要なキーワード。


テキストデータを扱うのが主流になって久しいけど、それでも紙のノートを使ってる人は多い。
アイデアメモしたりとかにもノートを使ってたり、日記はノートやったり。

ノートの良さは、「ペラペラめくれる」ところが一番じゃないか、と感じる。これは、タブレットとかでは実現できない。
ペラペラめくる時に、過去に書いたことが目に入る時がある。そういうのんが、紙のノートの最も優れた点の一つじゃないか、と。
で、これをテキストデータでも実現したい。ペラペラは現状実現は無理。となると、「過去に書いたことが目に入る時がある」ようにできないか?ってことになる。で、この解として、「連用日記」が思いつく。

紙の連用日記は、同じページに3年や5年分の、同じ日の日記を書くことになる。自然と、「1年前の今日」が目に入る。そう、「過去に書いたことが目に入る」ことになる。これしかない。
Evernoteで実践する。同じノートに、同じ日付の日記を書いていく。まさに連用日記。
ノートのタイトルは「日付」。内容が「2016 Mon」という風に、西暦と曜日を入れて、その年のその日の日記を書くようにし始めてはや2年ほど。イメージとしては、こんな感じ。

  • 2016 Sun
    • 日記を書き書き。
  • 2015 Thu
    • 去年の日記が書き書きされている。

去年の日記が、確かに「目に入る」のですごく気に入ってる。で、それを「1日のログ」にも応用させて、たすくまの実行記録とそのメモも連用の形で書いていってる。
同じノートに、同じ日付の記録が並ぶ。並べていく。確かに「目に入る」ので、これまたすごく気に入ってる。


ノートでは、「ペラペラめくる」ときに、過去に書いたことが目に入る。一方で、同じ手書きでも、カードではまったく事情が変わってくる。
紙のノートなら、新しく何か書き込む時に、一番新しいページまでたどり着くためにペラペラとページをめくることになり、過去に書いたものが目に入りやすい。
けど、カードはそうはいかない。ノートのように、新しく書くときに過去に書いたカードをペラペラすることはない。新しく何かを書く時には、新しいカードを取り出す。過去に書いたカードには、目もくれず。
カードの弱さというか、弱点はここにあるかも。自分から見返しにいかないといけないところ。
意識的に「見返す」をしなければいけない。それは、見返さなかったら過去に書いたものは目に入ってこない、ということ。ただ単にカードを書きためて、束にしておいておくだけでは、「否応なしに目に入る」にはなり得ないということ。
ぼくはどうやら意識的に「見返す」が苦手なようで、カードは使ってみては破綻し、また使ってみては断念し、を繰り返してる。今また使ってみてるところやけど。

そこで、「否応なしに目に入る環境」が一つのヒントになるかな、なんて思ったり。
とりあえず今やってみてるのは、書いたカードをデスクの上にほったらかしておく、というもの。
家のデスクの上には、iMacがのってて、その下のスペースにカードを乱雑にほったらかしてる。ほったらかしてたら、「否応なしに目に入る」。そこからなにかがうまれるのかはわからんけれども、とりあえず続けていこうと思う。

ノート、カード、テキスト。それぞれに合った「否応なしに目に入る」ような管理の仕方。過去に書いたことたちに日が当たるような、蓄積のさせ方。手間なく実践できるようなものを考え、試していきたい。

〜余談〜

目に入った時に少し考える時間をもてる、ちょっとゆとりもあれば、尚いい。というか、それがないと、目に入ってきても意味がなくなっちゃう。
過去に書いたことが目に入った時に少し考える時間をもてるようなゆとりを得るために、「ライフハック」はあると思ったりする。


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

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

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で文章を取り出すことができない、ってところです。いちいち成形しなくちゃいけない。
独自のハサミスクリプト的なものが必要だなぁ、という感じです。次はそれを作れないかあがいてみようかな。

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

WorkFlowyで文章を書くときの感覚的な話

WorkFlowyを使って文章を書くのは、「ブログの書き始め」がほとんどです。
どんなことを書こうかなぁとぼんやりと考え、何か思いついたことについてだぁーと書き出す。いわゆるフリーライティングをおこなうとき。
また、書き出した文章はそのままでは他の人が読んでも、というか、時間がたってから自分が読んでもおそらくなんのこっちゃわからないので、ちゃんと他の人が読んでもわかるように整理し、組み立てていくとき。
FireFoxをWorkFlowyのための「執筆専用ブラウザ」として使って、書き始めから整理し、組み立てるまでをおこなっています。
で、そこから先は他のエディタに書いたものを移し、あるいはそれまでの書いたものを見ながら他のエディタで文章を仕上げていく、というのがいつものぼくのパターンです。

プレーンテキストに階層化が加わったもの

途中まではWorkFlowyを使って文章を書いていくわけですが、ブログほどの文章であればとくに階層化せず、文章たちの順番を移動させたり、改行を多く入れることで文章の塊を見えやすくしたりするくらいで仕上げまで持っていけることが少なくありません。
ブログを書くときには、階層化する必然性はそんなにない、ということです。せいぜい2階層くらいまで扱うことができればいいんではないか、と思っていました。
とはいえ、必要であればいつでも階層化できるという安心感は、かなり重要であるとも思うので、文章を書き始め、整理し、組み立てていくときにはWorkFlowyが安心なわけです。

WorkFlowyで文章を書く、となれば、階層化も利用しつつ文章を組み立てていきます。
階層によって組み立てたあとは、文章をブログのエントリとして仕上げる際には、階層を「見出し」という形に変換し、整えていきます
でも、ぼくはその方法が、見出しを文章を階層化することによって表現するのがしっくりきませんでした。
WorkFlowyを使い始める以前からずっとマークダウン記法によってブログ記事を仕上げてきたから、なのでしょう。見出しは、マークダウン記法のように、「ここを見出しにしますよ」ってしるしを入れることで表現したいってどうしても思ってしまうんです。
マークダウン記法に慣れているので、多くの文章が連なっている中で、ある文章を見出しにしたければ、その文章に「##」をつければいい。やめたければ「##」を消せばいい。
なので、文章をWorkFlowyで書くときには、プレーンテキストに階層化が加わったもの、くらいに考えておくのがしっくりきているようだと気付きました。

見出しをつけたり消したりで、、、

見出しを階層化で表現するためには、見出しにしたい文章の後に続く文章たちをまるごとごっそり見出し文章の階層の下に入れなくちゃいけない。がために、なんだか一度見出しを定めてしまうと、ちょっと動かしにくさが出てしまう。気がする。
文章たちの流動性が下がってしまう、気がする。

  • 見出しにあたる文章
    • そこに続いていく文章
    • さらにそこに続いていく文章

よりも

## 見出しにあたる文章
そこに続いていく文章
さらにそこに続いていく文章

のほうが、各々の自由度が高い、気がする。
マークダウンによる表現のほうが、手軽に感じるんです。手軽に感じるので、文章の流動性を高いままに保つことができる、気がする。
文章を書くときには、文章たちをリストっぽくは扱いたくないのかもしれません。「・」がいらないな、と感じるのも、「・」があったらどうしてもリストっぽくみえてしまうから、なのかも。

すべてフィーリングの話なので、もしかしたらぼくに限った話なのかもしれませんが。

なので、大きな構造を必要としないブログの文章では、「見出しですよ」を意味する「##」をつけたり消したりしながら、整理し、組み立てていくことになります。
ある文章に「##」をつけてそれより下に連なる文章をグルーピングしたり、見出しを新たに書き加えたり。
書き進めるうちに「ん?」となり、「##」を取り除いて一度フラットに戻したり。
気付きました。ぼくは「##」をつけたり消したりして「シェイク」をおこなってるんやな、と。

おわりに

ってなことを考えていると、だんだん「最後までWorkFlowyで完結させたい」と思うようになってきました。
というのも、iMacとWindowsPCのeeebookとiPhoneと、というように、3つのデバイスでテキストを扱い、ブログを書いています。
WorkFlowyで完結できれば、書く作業も、文章を管理する場所にもなってくれることになります。こんな快適なことはない。
その際にほしいのが、マークダウン記法をシンタックスハイライトする機能。これがないために、仕上げの段階をほかのエディタにまかせている、と言えそうなので。
というわけで、そこからハイライトをなんとか実装できないものか、といろいろとあがくことになりました。
続きます。

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

執筆専用ブラウザ、という考え方

まっさらな紙に書いていくのが好きです。
手書きで紙に書くときも、キーボードをポチポチして書くときも。

WorkFlowyが好きです。「好きです」というか、ないといろんなところに支障をきたすくらいには使い込んでいます。
日常のタスクはすべてWorkFlowy上にありますし、メモもすべてWorkFlowyに放り込んでいます。
WorkFlowyでは、文章だって書きます。
文章を書くときも、まっさらな紙に書くような感覚で書きたい、と願うばかりです。

書く場所を変えながら、文章を仕上げていくのが好きです。
書き始めてから一つの記事に仕上がるまで、いくつかの段階を経ていきます。ぼくはどうやら、その各段階によってツールを分けるのが好きみたいなんです。

WorkFlowyを、アウトライナーとして使わない

まっさらな紙に書きたいなと強く願うのは、一番最初の段階、だぁーっと頭の中を書き出していく段階です。
文章を仕上げていくときは、

  1. はじめのだぁーっと書き出すのはまっさらなエディタにて。
  2. そのあとは、アウトライナーへ投げて、うんじゃかんじゃする。
  3. 最終的に記事に仕上げる際には、マークダウンをプレビューしてくれるエディタへ。

という段階を経ることが多いです。
この流れは一方通行なわけではなく、1から2に進み、また1に戻ってくることもありますし、3まで進んだけれどもまた2や1に戻ったりもする。
だから各段階を、なるべくスムーズに行き来したいわけです。

2の「アウトライナーへ投げて、うんじゃかんじゃする」は、もちろんWorkFlowyにて、です。
それを考えると、1の「だぁーっと書き出す」のもWorkFlowyでやりたいな、なんて思いが沸き上がります。
ただ、WorkFlowyは、「まっさらな紙」って感じがしない。
「だぁーっと書き出す」のは、まっさらな紙がいい。そこはもう何がなんでも。まっさらな紙を強く願うのです。
まっさら感をなくすのが、文章の一つ一つの左側につく「●」。
この「●」のせいで、なんだか落ち着かない。
階層化も必要ありません。
だぁーっと書き出したい。その一心なのですから。
つまり、アウトライナーであるWorkFlowyを、アウトライナーとして使いたくないわけです。
こんな感覚、ぼくだけかもしれませんね。

だぁーっと書くとき以外であれば、「●」があってもなにも気になりません。というか、「●」は必要です。
階層化できるからこその、アウトライナーですし、階層構造をシンプルに表現してくれるのが「●」です。
でも、「だぁーっと書こう」というときには、まっさらな紙に向かいたいって思っちゃう。
そこで登場、「Stylish」。
「Stylish」については、たくさんの解説エントリがありますので、そのいくつかを。

R-style » 『Stylish』でWorkflowyの見た目をカスタマイズした

アドオン「Stylish」で「WorkFlowy専用Firefox」に機能を追加する

WorkFlowyにFirefoxやChromeのアドオン「Stylish」を適用してブログエディタとして使う方法

「Stylish」を利用して、「●」を消し、階層もなくし、見かけは一枚の紙に見えるようにしました。
ただ、切り替えるのもめんどうくさい。ぼくは生粋のめんどうくさがりやなのです。
立ち上げるとすぐに、「●」がなく、階層化もされないWorkFlowyが登場してほしい。「一つのアプリ」のように使いたい。
そこで思いついたのが、「執筆専用ブラウザ」というもの。
書こう、と思ったときのみ立ち上げるブラウザ。
ブラウザですが、自分の中ではブラウザではない。エディタです。

FireFoxを「執筆専用ブラウザ」に

ぼくは普段GoogleChromeにてWorkFlowyを使っています。
そこで、FireFoxを執筆専用のブラウザにしよう、と思い立ちました。
FireFoxならStylishを使って、WorkFlowyの見た目を自由にいじることができます。
つねにStylishをオンにしておき、立ち上がるときのウェブページをWorkFlowyにしておけば、起動させてすぐに書きかけの文章を目の前に広げることができます。
こんな感じに。

だぁーっと思いついたことを書き出すときに、すごく重宝します。
だぁーっと書き出したあと、書いたものをうんじゃかんじゃいじりたくなったら、いつものGoogleChromeにてWorkFlowyを開き、階層化したり文章を移動させたりしてやればいい。
「執筆専用ブラウザ」の利点は、書きかけでもなんでもすぐにWorkFlowyへと引き継げるところ。
そりゃそうです。WorkFlowy上に書いているのですから。
データもすぐに保存され、いつでもどこでも見れる安心感があります。
他のシンプルなエディタで書いているときは、書き終わったあとにWorkFlowyへとコピペしなくてはいけません。
で、WorkFlowyに引き継いだものの、またエディタで書きたくなったらコピペがいる。
その手間を省くためだけに、一つのブラウザを利用し、WorkFlowyのための執筆専用にするという感じです。

  1. はじめのだぁーっと書き出すのはまっさらなエディタにて。
  2. そのあとは、アウトライナーへ投げて、うんじゃかんじゃする。
  3. 最終的に記事に仕上げる際には、マークダウンをプレビューしてくれるエディタへ。

WorkFlowyのために「執筆専用ブラウザ」を用意することで、1と2がすごくスムーズになってくれています。それが心地いい。

おわりに

WorkFlowyをガシガシ使っている方は、FriFoxはWorkFlowy専用ブラウザとして使っているかもしれません。
WorkFlowyのためだけに一つのブラウザをインストールし、使う。
かなり贅沢なブラウザの使い方かと思います。
ましてや「WorkFlowyで書く」ときだけ専用にブラウザを使うなんて、もったいない感じもしますが、現状ぼくはすごく気に入ってます。
WorkFlowyをエディタとして使いたい、という方は、ぜひお試しあれ。

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

ぜひぜひ登録お願いしますーfollow us in feedly