このページは

需要

そもそも何をしたいのか

  • ドキュメント,メモの管理をしたい
    • 環境構築の時に参考にしたサイト
    • 授業のメモ
    • 研究のsurvey, 作業日誌

機能としてあってほしいこと

  • 手元のエディタでゴリゴリ書きたい
    • vimmerなので手元のエディタから直接書けると超ウレシイ
  • png, jpeg,pdfの管理もしたい
  • 数式をLaTeXで書きたい
  • 表も簡単に書きたい
    • 計算してない表Excelを無くしたい
    • ドキュメントとしてExcelファイルとwordファイルに分かれていて一々開き直すのは論外
  • 階層構造を持ちたい
    • “何処"に"何"があるかをわかりやすくするため
    • 情報を管理する上で,何処に何があるかを覚えるために脳の記憶領域を使いたくない
  • 検索機能が欲しい
    • そもそも何処に書いてあるかどうか分からなくなった時に検索する
    • 紙は検索ができないから嫌
  • 軽量
    • 重い情報管理は作業のペースを落とすので嫌だ
  • 一括で管理
    • 情報が散乱するのが最悪だと思っている(あれはこのブログ,これは手元のメモファイル,みたいに)
  • できればオフラインでも動く
    • ネット環境ない場所で作業をしたいときがまぁまぁあるので

外部サービスは?(Evernote等)

そのサービス終了すると悲しい目に合うので, データとして情報を残すものでは個人的にはあまり外部サービスは使わない主義 (このBlogも外部サービスに頼らなかったのはそういう理由がある). あとで情報を移植する可能性があるものは,移植しやすい形にして保存しておかないと面倒すぎて死んじゃう. あと"いい感じ"に他のアプリケーションを連携させることができないので一括管理が厳しい.

とりあえず今の自分の環境を

  • 使用しているwikiはgit baseのgollum
    • ここはgit baseなら好みでなんでも良い気がする
  • ノートPCのlocalhostから叩くwikiがmaster, サーバーのwikiがslaveな形
  1. ノートPC(Ubuntu18.04LTS)

    • データ
      • $HOME/wiki/にリポジトリ(データ)を置いてある
    • 閲覧
      • gollumを起動してlocalhost上から閲覧(ネット環境無くても閲覧可能)
    • 編集
      • 長文編集する時はVim起動,git add && git commit
      • ちょっとした編集はlocalhost上のwikiで編集
  2. レンタルサーバー(docker on Ubuntu16.04LTS)

    • レンタルサーバ
      • IDCFクラウドのクラウドサーバーインスタンス
      • DDNSの無料サービスでDNS取得
      • 計500円/月
        • 一番安いプランでもgollumなら結構快適に動いている
    • サーバー構成
      • docker-composeで動かしている
      • ngnixのbasic authとかも
      • docker上でgollumを起動してある
    • データ
      • 定期的にrsyncを羅列したshell script回して,ノートPCのデータをレンタルサーバにコピーしている
      • なのでノートPCとリポジトリは別
    • 閲覧
      • ネットから見られるように
      • 家のデスクトップとスマホとタブレットからはこちらで閲覧
    • 編集
      • しない,閲覧only

この環境について捕捉

  • データのバックアップ
    • githubのプライベートリポジトリとか使えば,backupにもなるので一石二鳥?
  • サーバー上のwikiで編集しない理由
    • サーバー上のリポジトリでも編集すると情報が分散するため避けている
    • スマホとかからの編集よりも,オフラインでサクサクwiki閲覧編集やVimでの編集を優先した
    • あとは後述のreveal.jsのシステムも使いたかったこともあるので,ローカルをメインにした
  • スマホやipadでも編集できるようにしたいなら,サーバーにデータを置くしかないんじゃないのかなと思う
    • 他に代案あったら教えてほしい
  • 無料でやりたい場合
    • Herokuくらいしか知らないんだけど,どうなんですかね.
    • (一応 gollum on herokuでggるとヒットはする,快適かどうかはよく知らない)
  • オフライン環境で編集可 “かつ” サーバー上でも編集可
    • 定期的にサーバーからgit pullをしておけばlocalで見れる
      • (自分がローカルからサーバーにpushしているのと逆のことをしている)
    • ノートPCのローカルでの編集をサーバーに反映させるのが面倒な気がする(mergeで衝突しそう)のと,後でサーバーで編集する用のメモ書きが存在するのもなんかスマートで無い気がする...