原稿を進める木曜日

8:00

おはようございます。本日はうちあわせCastはお休みなので、ばりばり原稿を書きます。とりあえずTHの原稿を編集者さんに送信する日ですが、ぜんぜんできてないのでアウトラインだけ作って、それを送信しようと思います。

テキストボックス:

この自作ツールの良さは、情報を均一に表示させなくても良い、というところだろう。たいていの情報ツールは、そのツール下においてフォーマットが統一される傾向にある。そこからの逸脱がいくらでも可能である、という点は大きい。

とりあえず、今日はMacに保存してある断片的なファイルを開くためのリンクを作成しよう。

* * *

リンクを追加するだけだったので、簡単に実装できた。でも、リンクがあるだけ。

ファイルの中身を示すことができたらもっと良いかもしれない。

* * *

VS Codeを開くことができるのだから、その他のファイル、アプリケーションだって開くことができる。

一番有望なのは、やはりPDFだろう。epubもか。

何かしら「読みかけ」があったときに、ワンアクションすればここにappendされる、というのはどうか。

* * *

やはり、dashboard的なものは、種類の異なる情報を一望できる、という点に魅力があるのだろう。そこを外さないようにしたい。

9:00

TH:

第一章の後半部分を検討します。文字数がどれくらいになるのかもまったくわかりませんが、とりあえず膨らませられるだけ話題を展開していきます。

* * *

iPadで要素を検討し、それが終わったので、WorkFlowyに書き込みました。前半部分はいじっていないので、前回の項目を複製して、後半部分だけ付け足した格好です。

Image from Gyazo

これでだいたいできた気がします。あとはもう書き下ろすだけですね。一週間ほど時間を見積もればOKだと思います。

* * *

WorkFlowyの項目を編集者さんと共有しておきました。でもって一週間遅れる旨を連絡しました。あとは少しずつ書いていくだけです。

10:00

BCB:

01を続けます。できれば今日中に最後までいきたいところ。

* * *

Line 220まで行きました。これ以降はメモ行なので、とりあえず本文の一週目は終わりました。

難しい内容を書き直すことも少々厄介ですが、それ以上に「どれだけ砕けた表現を残すのか」が編集者的視点で難しい問題になりそうです。

11:00

妻の昼食準備など

12:00

お昼はカレーヌードル。

15:00

背後から睡魔に襲われて仮眠しておりました。

テキストボックス:

メインページに、動的なコンテンツを表示することについて。

ローカルにあるテキストファイルの一覧を表示させる場合、どのように実装するのがよいか。ファイル一覧をcgiで取得して、そこからJavaScriptでDOM生成をするか、あるいはcgiで直接HTMLをprintしていくか。

printする場合は、このページそのものを.htmlファイルではなくcgiが生成することになる。Pythonのコードの中でprintを書き、そこでhtml要素を配置していく。

その場合、直接htmlやらheadやらをコード内に書くのは管理がダルいので、ページの要素ごとに区切ったファイルを用意しておき、それを読み込む、ということになるだろう。簡単に言えば、headからbodyまでの部分と、それを閉じる部分をファイル化しておく。でもって、その中身については、python内部で動的に生成する、というもの。

その場合、中身の書き換えなどはどうなるか。body内部を消去して、もう一度生成コードを走らせればOK?

JavaScriptでDOMを生成する場合は、htmlファイルはそのままで良い。haedの部分でcgiを走らせて、ファイル一覧を取得して、その情報からDOMを生成すればいい。

この場合、外部cgiを走らせた結果を取得する方法がわからないといけない。

CGI(Python) ディレクトリ内ファイル一覧表示(listdir)

これは直接htmlをprintしている例。なんとなくイメージはつきやすい。

POSTやGETで送信されたデータを取得する方法(単一項目)[Python] : バヤシタ

これはフォームを使うもの。微妙に用途が異なる。

リクエストの取得 (CGI) | Python-izm

ノート/PythonをCGIプログラムとして使う - 東邦大学理学部情報科学科 山内のサイト

PythonでCGIを用いたWebアプリケーションを作る - Qiita

たぶん、以下が用途が似ている。

AjaxでPythonからデータを受け取るまで|関健太朗|note

おそらく上だと、MindGardenと同じようにできる(つまり知識を使い回せる)。

Pythonのコードでhtmlを文字列で書くと、エディタのハイライト処理や閉じタグの自動追加などが効かないので、基本的にやりたくない。

jQueryとPython CGI間でのAjaxによるJSONデータの通信 - Ken.log

これが一番それっぽい。あとはこの方式を選択するかどうか。

選択されたファイルの内容を取得する - Python CGIプログラミング入門

Python3入門その5

.htmlにajaxでファイルを読み込む場合は、現状の骨子は大きく動かす必要がない。最初の処理さえ書いてしまえば、コンテンツの追加は自由にできるし、しかもMindGardenと同じ仕組みが使える(はずな)ので、そのルートを取り合えず選択しようか。

ただ、コードで要素を自動的にDOMする場合は、それらが均一にレイアウトされてしまうので、その辺には注意が必要。まず、どういうものがどう表示されて欲しいのかをイメージしたほうがいい。

* * *

たとえば英単語の表示なら、それが動的に変わって欲しい。たとえばランダムに表示されて欲しい。まあ、それだけならHTMLに直書きしてjavascrptすればいいだけだけも、もうちょっと高度な表記分岐があった方がよい。

『Spherize』:

cell01を進めます。だいたんに書き換えるつもりで。

* * *

01最後までいきました。7400字。大きな構成の変更は必要ないかもしれませんが、話の流れは整える必要がありそう。あとは、文体の軽さの調整ですね。中盤から後半にかけてのぐいぐいくる文体が良さそうなので、それに合わせて序盤も調整したいところ。だいぶ課題が明らかになってきました。

16:00

TH:

執筆は明日からですが、とりあえずファイルだけ作っておきましょう。

* * *

作りました。あと、これまで作った素材整理ようのアウトラインを一つひとつ読み返していきます。

* * *

2,3取りこぼしていた話題を拾いました。使うかどうかは別にして一応目に入るようにピックアップしておきます。

これで準備が整いました。明日から書き下ろしです。

19:00

note:

たてがみさんが、以下の記事で新刊に触れてくださっているので、アンサー記事を書きます。

倉下さんの新刊が楽しみだなぁというノート|tategami|note

* * *

書きました。

舘神さんと手帳、あるいは道具と記録について|倉下忠憲|note

book:read:『未来は予測するものではなく創造するものである ――考える自由を取り戻すための〈SF思考〉』:

* * *

パート2まで読み終えました。パート2はSFプロトタイピングをいかに行うのかについての解説で、最後の方に小説の書き方も簡単なヒントが掲載されていました。