ふんわりした生活

本を読んだり仕事でやってみたことなどの日常から、ふんわりと気づきなどを書いていきます

GitBook Editorで快適な執筆生活を送りたい

GitBook EditorをWindowsにも導入した。第4章を追加したところで気持ち悪くなって作業を中断している。何が気持ち悪かったかというと、保存の挙動だ。てっきり保存を行うと、オフラインなのでパブリッシュされないだけでファイルが保存されるのだと思い込んでいた。しかし、実際に起こったことは別の動きだった。

Saveとはなにか

GitBook EditorにおけるSaveというのは、ファイル保存をすることだ。ただ、問題になるのはどこへ保存するのかだ。てっきりファイルシステム上へ保存されるのだと思い込んでいた情弱が悪いのだが、実際にはGitリポジトリへコミットがなされる。つまり、テキストファイルの単純な保存だと思っていたわたしにとってはコミットされるだなんて!という驚きがあったわけだ。

考えてみれば、オンラインエディタ版ではパブリッシュされてしまうのだから、この挙動は想像に難くない。むしろ便利なのかもしれない。というのも、コマンドラインからコミットする必要がないからだ。とはいえ、コミットのときにメッセージを書いておかなくていいのか?という気持ちがないわけではない。ということで、今回のこのコミットはなかったことにしたい。そういうときは「git reset」であります。コミットとしてはされなくてよくて、書いてきた内容は残したいのでワーキングディレクトリは変更することなくコミットした履歴だけ削除する。

git reset --soft HEAD^

これでひとつ前の状態にリセットすることができる。わたしの場合はchapter4.mdを追加した時点でSaveしてしまい、そのうえ第4章のタイトルをつけてSUMMARY.mdファイルが更新された時点でもSaveしてしまったので2つ戻ることになったのだが・・・

念のために書いておく。こうして巻き戻すとGitBook Editorは追跡していないファイルがあることを検知する。すると追跡していないファイルの状態を復元するか変更(ここではファイルの破棄)を破棄するかのどちらかを迫ってくる。ここで破棄を選択すると追加したファイルは削除される。つまり「–hard」のオプションと同じことになる。注意していただきたい。restoreを押すとコミットしていない、つまりワーキングディレクトリが変更された状態でエディタを起動することができる。そしてウィンドウのキャプションにも「(modified)」と表示された状態になる。Saveを、コミットをしとけということなんだな。コミットするまでアプリを終了できないじゃないかー

GitBookだけで快適な暮らしがしたい

GitBookではファイルシステム上の変更は保存というアクションを行うことなく実行することができるため、基本的にSaveはコミットを行うタイミングになる。だから、ガンガン気にせず章立ての追加やファイルの追加をしていって、ここでひと段落だな、というところで初めてSaveをするのだ。そうしなければ、わたしと同様に巻き戻す必要が出てくる。

そうなると、執筆の環境としてはsatoyama-editorと同様に保存なしということになるのでコピペをしようとするタイミングがSaveのタイミングということになる。あとはリッチすぎるくらい優秀なマークダウンエディタなので、足すとしたらBGMくらいだろう。数年前につかっていたエディタで雨の音などの環境音をバックグラウンドに鳴らすことができるものがあったり、いまでもタイプライターの音を鳴らすことができるものがあったりするが、わたしもそういうものを鳴らすようにしようかと思ったり思わなかったり。少なくとも、このGitBook Editorには必要ない!

今回のことで覚えたこと。

  1. 「File」で右クリックするとファイルを追加することができる
  2. TOC」の「add a article」をするとSUMMARY.mdファイル内にあるリンクが更新される

つまり、TOCのほうで章を追加すると章の名称をファイルのベース名として拡張子「.md」のファイルが追加されるということ。だから日本語の章を追加すると不思議な「.md」という名称のファイルが作成されてしまっていたのだ。だから面倒をなくすにはTOCのほうからアルファベットで章を追加して、その後に日本語の章に変更すればよいということ。かなり面倒。うん、VSCodeにしようかなと思うくらいには面倒。

リッチな環境はできることが多くなるわけだが、気にしてあげないといけないところも増えるので作業スタイルにあわせて利用することが求められるなーと感じた次第。うん。