(追記 2018/07/25) 現在はGitBook形式にしています → GitBookでGitHubと遊ぶ
このページで紹介すること
emacsのorg-modeで書いた小説などの文章を,GitHubに投稿して読めるようにする方法を紹介します。GitHubにはブラウザでファイルをアップロードすればpushできるという便利な機能があります。ただし今回は執筆→投稿まで全てemacsで行いたいので,バージョン管理はmagitで行います。
このページで紹介しないこと
magitを使ったブランチとマージの方法については紹介しません。そのため小説を書いていてありがちな「行き詰まったから前の版に戻したいけど今のルートも保険で残しておきたい。Gitを使えば手軽にできるらしいがどうすればいいんだ?」という要望を叶える方法はここには書いてありませんのでご了承ください。
magitのインストールおよび設定
GitHubのアカウントを既に持っているものとします (ない方は作ってください)。emacsでmagitをインストール (M-x package-install magit) したらinit.elに以下の行を追加します。
;; magit
(require 'magit)
;; org-markdown
(eval-after-load "org"
'(require 'ox-md nil t))
GitHubでリポジトリ作成
GitHubでリポジトリを作成します。
リポジトリができました。
org-modeで書いたファイルをmarkdown形式にする
文章を書いた.orgファイルそのものはブラウザで読みやすい形にはしてくれないので,markdown形式に出力します。(追記: githubのバージョンアップでorgファイルでも読みやすくなりました。)
C-c C-e m m
フォルダ名はGitHubで作成したリポジトリ名と同じものにしてください。今回はShortShortというフォルダにREADME.org (目次),その中のarticleというフォルダにWhaleDreams.orgというファイル (小説の本文) と,それぞれmarkdown形式で出力したものを置いています。
magitでコミットする
README.mdがある場所でmagitを起動します。
M-x magit-status
実行すると別ウインドウにmagit-statusの画面が表示されます (adminiという名前ですが権限は一般ユーザーです)。
Enterを押すとgitリポジトリを作成するか聞かれるので,yを押すとフォルダ内に.gitフォルダが作成されます。
次にmagit-statusを起動すると変更点が表示されます。
ここでsを押すと,”Unstaged” が “Staged” に変わります。コミットの準備完了の合図です。
cを2回押すとコミット画面になるので,コメントを書きます。
コメントを書き終わってC-c C-cするとコミットが完了します。
GitHubにプッシュする
Shift-M aを押すとRemote nameの入力を促されるので,originと入力します。
Remote先をきかれるので,GitHubの該当するリポジトリURLを入力します (今回はShortShortのあるURL)。
Set ‘remote.pushDefault’ to “origin”? ときかれるのでyを押します。するとorigin/master is missingとなります。
Shift-P uを押すとupsteam of masterを選択するよう促されるので,そのままEnterを押します。
ユーザー名とパスワードを入力し,Git finishedと表示されればプッシュ完了です。
ブラウザでリポジトリを見ると,空っぽのときと比べてファイルが追加されているのがわかります。
以降の流れ
- 文章を書いたらmagit-statusを起動
- Unstaged Filesをsを押してStagedにする
- c cでコメントを書いてC-c C-cでコミット
- Shift-P uでユーザー名とパスワードを入力してGitHubにプッシュする
- (追記 2016/10/03) 初回の設定に手間がかかりますがsshで簡略化する方法もあります。オススメ。 → https://jamcha-aa.github.io/2016/09/13/ntemacs.html