0
0

qiita2review をインストール

Posted at

qiita2review

「qiita2reviewの使い方」
https://qiita.com/nanbuwks/items/5625acb49580084696c5

「Re:VIEW を apache で動かす」
https://qiita.com/nanbuwks/items/dd15819ec7798a9eca7b

で紹介した、マルチユーザーで記事を執筆してPDF本を作るオンラインシステムをインストールする説明です。

環境

  • Ubuntu 22.04 LTS
  • Re:VIEW 5.8

「AWS 上に Re:VIEW 環境を構築する (Ubuntu22.04 + Re:VIEW5.8)」
https://qiita.com/nanbuwks/items/653dda3993ebc23e6081
でインストールした環境です。

下準備

まず、Webサーバで動作させるために apache と php をインストールします

$ sudo apt install apache2 php python3-pip

apache の動作を確認してみます。

image.png

次に、qiita2review は、内部で markdown パーサ mdmd を使っています。mdmd が必要とするライブラリをインストールします。


$ sudo pip install mistletoe

作業場所 /var/www/html での作業のため、root ユーザになっておきます。

$ sudo bash

インストール

httpd の DocumentRoot で作業します。その他の場所を使う場合は適宜読み替えてください。

# cd /var/www/html

テストページを削除

# rm index.html

小冊子ごとにディレクトリを分けることにします。今回は milkV というディレクトリにしました。

# mkdir milkV
# chown www-data:www-data milkV
# cd milkV

ここに、github.com:nanbuwks/qiita2review.git
https://github.com/nanbuwks/qiita2review
の内容を展開します。

/var/www/html/milkV に以下のものがあるようにします。

# ls
README.md  compile.php      make.php       md2review_special.sh  new.php        qiitaget.sh     scalemd.rb            test.sh
articles   escapeincode.rb  makeauthor.rb  mdmd                  preimage.rb    qiitagetold.sh  slash2braceincode.rb  texblock.rb
book       index.php        makeurl.rb     mdmdorig              preprocess.rb  qiitamd.rb      template              texinline.rb

また、qiita2review が用いる markdown パーサ mdmd

milkV/mdmd に展開します。

milkV/mdmd の中身が以下のようになっているようにします。

# ls mdmd
LICENSE  README.md  mdmd.py  mdmd_renderer.py

ファイル所有者を調整します。

# chown -R www-data:www-data *

動作テスト

サーバにWebブラウザでアクセスします。

image.png

milkV/ ディレクトリをクリックすると以下の画面になります。

image.png

あとは 「qiita2reviewの使い方」
https://qiita.com/nanbuwks/items/5625acb49580084696c5
を見て設定していきます。

トラブルシューティング

記事を登録したけど pdf 化がうまくいかないとき

今回記事名として webserver という名前にしています。
個別記事は articles ディレクトリに収容されています。
その中の webserver ディレクトリに移ります。

# cd articles/webserver/
# ls
Gemfile   catalog.yml  doc     lib           normalmd2.md      qiitaall.md         sty        temp.md       webserver.pdf
Rakefile  config.yml   images  normalmd1.md  qiita2review.yml  qiitanopreample.md  style.css  webserver.md  webserver.re

実行プログラムは 記事ディレクトリから見て 2つ上の階層にあります。

 
 ls ../..
README.md  compile.php      make.php       md2review_special.sh  new.php        qiitaget.sh     scalemd.rb            test.sh
articles   escapeincode.rb  makeauthor.rb  mdmd                  preimage.rb    qiitagetold.sh  slash2braceincode.rb  texblock.rb
book       index.php        makeurl.rb     mdmdorig              preprocess.rb  qiitamd.rb      template              texinline.rb

この中の、compile.php が pdf 化するスクリプトです。
該当箇所

<?php
passthru("export LC_CTYPE=en_US.UTF-8; export LANG=en_US.UTF-8; cd articles/".$sectionName." ; ../../qiitaget.sh > /dev/null ".$sectionName);


  ?>

シェルスクリプトを記事名を引数にとって実行しています。
この処理をコマンドラインで実行してみます。

# ../../qiitaget.sh webserver

qiita から記事と画像ファイルをダウンロードし、markdown を re 形式に変換して Re:VIEW にかけます。

https://qiita.com/kazueda/items/736fa17584659426f056
rm: cannot remove 'qiita.md': No such file or directory
--2024-01-25 10:20:16--  https://qiita.com/kazueda/items/736fa17584659426f056.md
Resolving qiita.com (qiita.com)... 52.199.238.89, 57.181.68.9, 35.73.20.90, ...
Connecting to qiita.com (qiita.com)|52.199.238.89|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/x-markdown]
Saving to: ‘qiitaall.md’

qiitaall.md                                [ <=>                                                                       ]   2.74K  --.-KB/s    in 0s      

2024-01-25 10:20:17 (288 MB/s) - ‘qiitaall.md’ saved [2802]

python3: can't open file '/var/www/html/milkV/articles/webserver/../../mdmd/mdmd.py': [Errno 2] No such file or directory
No URLs found in images.list.
review-pdfmaker  config.yml
ℹ INFO    compiling webserver.tex  
ℹ INFO    uplatex -interaction=nonstopmode -file-line-error -halt-on-error __REVIEW_BOOK__.tex
ℹ INFO    uplatex -interaction=nonstopmode -file-line-error -halt-on-error __REVIEW_BOOK__.tex
ℹ INFO    uplatex -interaction=nonstopmode -file-line-error -halt-on-error __REVIEW_BOOK__.tex
ℹ INFO    dvipdfmx -d 5 -z 9 __REVIEW_BOOK__.dvi
✔ SUCCESS built book.pdf           

book.pdf はできているけど 途中でエラーが出てますね。

python3: can't open file '/var/www/html/milkV/articles/webserver/../../mdmd/mdmd.py': [Errno 2] No such file or directory

これは、markdown パーサ mdmd が必要なところに配置されていないためです。
mdmd をインストールしなおせば、解決しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0