Day2 電子書籍作成サービス「ePUBILLION」をWordPressで作り直す

Pocket

Day 2 やったこと

ログインまわり

ログイン、ログアウトを。WPはデフォルトではuser_loginをIDとするが、メールでログインできるようにした。
パスワードを忘れたときの処理はwp-login.php?action=lostpasswordを使うが、それ以外では使えないように、functions.php をいじる。action hookを使ってで色々と設定。

固定ページ

利用規約や使い方などは、固定ページで表示する。

ePUBの編集

cssも、いくつかのテンプレートを用意した。また、カスタマイズしたい場合はcssをカスタマイズできるようにした。cssを管理するためのカスタム投稿タイプを追加。1ePUBに対し1個のカスタムCSSを作成可能。

ePUBの出力

ePUBを出力したいときには、ダウンロードリンクをクリックする際に、ファイルをその場で読んで生成するようにした。
出力する際に

  • 必要なファイルとフォルダ構成を作る
  • カバー有無によりカバーページ作成
  • メディアライブラリーに入っている画像などを移し、参照先を変えて出力
  • 階層に応じてtocを作る
  • CSSを読み込む
  • まとめてePUB出力

といった処理をしている。

他のサービスの調査

WordPressでePUBを作るサービスはいくつかある模様。bookpressなど
ePUBILLIONは、リリースする際には、利用者は自由にサイト内でePUBを執筆可能にしたい。
また、B向けに、テーマとして販売し、企業様のサーバーに設置することで、クローズドでEPUBを社内のみで利用することを検討している。WordPressが設置できて、セーフモードではなく、zipモジュールが入っていれば導入できるように、簡易に導入できるようにしたい。
このサービスは、あくまでEPUBを作成するサービスとする予定。販売するマーケットなどはやりたくない。
WordPressをベースにしているので、エディアなどはかなりカスタマイズ可能。またこちらでも随時機能を追加していきたいと思う。
また、利用者には、これがWordPressがわからなくても、そしてWordPressの使い方がわからなくても使えるように、必要な操作は全てフロントエンドでできるように作っている。
かなり尖った機能として、EPUBをアップロード可能にし、さらにそれを編集できるような機能に着手している。
Day 1
Day 3