在 Apache 上运行 Re:VIEW
在AWS上搭建Re:VIEW环境。
请参考链接:http://qiita.com/nanbuwks/items/da9136f1b6f789aaffcf
通过进一步发展,将Re:VIEW 迁移到网络平台上运行。
使用组版系统ReVIEW从Qiita创建同人杂志原稿。
使用这个机制将Qiita上的文章转换为轻小说形式的PDF。
阿帕奇和 PHP
apt-get install apache2
apt-get install libapache2-mod-php5
将review环境部署在DocumentRoot下
cd /var/www/html
review-init template
chown -R www-data:www-data *
此帐户目前无法使用。
由于执行命令时出现错误,所以需要查看/etc/passwd文件。
作为一个选择,我会让www-data能够进行 shell 登录。
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
请将以下内容用中文进行释义,只需要一种方案:
↓
www-data:x:33:33:www-data:/var/www:/bin/bash
切换到www-data用户 (qie1 huan4 dao4 www-data yong4 hu4)
进行检查。
我原本以为是别的问题,但可能仅仅是因为语言环境设置的问题。
目前,我正在使用 /usr/sbin/nologin 运行登录外壳。
我們將評估環境的部署。
review-init book
我会创建各种文件夹。
mkdir articles
mkdir template
我将创建一个模板。
cp book/config.yml template
cd template
vim config.yaml
我会随意地编写config.yaml文件。
最好事先确定书名、作者和封面等内容。
因为是由多个人合作写作,所以每篇Qiita文章将被划分为一章。
因此,我只需要一个选项来用中文转述以下内容:
所以,对于Qiita的文章
第一个人
# 1人目の1章見出し
内容
## 1人目の1-2章見出し
内容
# 1人目の2章見出し
内容
第二个人
# 2人目の1章見出し
内容
## 2人目の1-2章見出し
内容
# 2人目の2章見出し
内容
第三个人
・
・
・
将其转化为汉语的同义句:
如下所述,这是这样的事情。
# 1人目のタイトル
1人目の肩書、名前
## 1人目の1章見出し
内容
### 1人目の1-2章見出し
内容
## 1人目の2章見出し
内容
# 2人目のタイトル
2人目の肩書、名前
## 2人目の1章見出し
内容
### 2人目の1-2章見出し
内容
## 2人目の2章見出し
内容
# 3人目のタイトル
・
・
・
我假设如下。
所以,我将从 Qiita 获取的 Markdown 通过运行一个脚本来修改标题级别。
sed "s/^#/##/" qiita.md
如果这样做的话,就会变得很好。
这是一个从qiita获取的markdown文件。要从qiita获取markdown,可以使用wget。我会创建一个包括这样内容的shell脚本来进行处理。
# cat qiitaget.sh
URL=`ruby -Ku ../../makeurl.rb`
echo $URL
cd images
wget $URL -k -H -r -l 1 -nH -nd -A png,PNG,jpg,JPG,jpeg,JPEG,html -R txt
cd ..
rm qiita.md
wget $URL.md -O qiita.md
sed "s/^#/##/" qiita.md | ruby -Ku ../../qiitamd.rb | ruby -Ku ../../texblock.rb | ruby -Ku ../../texinline.rb > temp.md
head -1 temp.md | sed "s/^/#/" > $1.md
ruby ../../makeauthor.rb >> $1.md
tail -n +2 temp.md >> $1.md
ruby ../../escapeincode.rb $1.md | ruby ../../preprocess.rb | md2review | ruby -Ku ../../scalemd.rb > $1.re
rake pdf
mv book.pdf $1.pdf
这个“qiitaget.sh”脚本是通过PHP中的命令执行函数进行调用的。
# cat compile.php
<html>
<head>
<meta charset="UTF-8">
<title>qiita2review</title>
<style type="text/css">
body {
color: #000;
background-color: #ffffff;
}
pre {
padding: 1em;
color: #aaffaa;
background-color: #aaaaaa;
}
</style>
</head>
<body>
<?php
$sectionName = $_GET["section"];
?>
<h1>section <?php echo $sectionName; ?> compile</h1>
<pre>
<?php
passthru("export LC_CTYPE=en_US.UTF-8; export LANG=en_US.UTF-8; cd articles/".$sectionName." ; ../../qiitaget.sh ".$sectionName);
?>
</pre>
<form action="<?php echo "articles/".$sectionName."/".$sectionName; ?>.pdf" METHOD="GET" >
<input type=submit value="View PDF">
</form>
<form action="make.php" METHOD="GET" >
<input type=hidden name=section value=<?php echo $sectionName; ?>>
<input type=submit value="return">
</form>
</body>
</html>
我会创建从其他PHP文件qiitaget.sh调用的各种过滤器脚本。
(省略・・・他記事を参照して下さい)
将文件所有者设置为www-data。
# chown -R www-data:www-data *
这是文件列表。
root@ip-172-30-0-222:/var/www/html# ls -alh
total 80K
drwxr-xr-x 5 www-data www-data 4.0K Apr 6 14:03 .
drwxr-xr-x 3 root root 4.0K Apr 6 13:58 ..
drwxr-xr-x 4 www-data www-data 4.0K Apr 6 13:48 articles
drwxr-xr-x 5 www-data www-data 4.0K Apr 5 20:07 book
-rw-r--r-- 1 www-data www-data 803 Apr 5 03:48 compile.php
-rwxr-xr-x 1 www-data www-data 680 Apr 6 12:31 escapeincode.rb
-rw-r--r-- 1 root root 213 Apr 6 14:03 .htaccess
-rw-r--r-- 1 www-data www-data 1.1K Apr 5 05:02 index.php
-rw-r--r-- 1 www-data www-data 235 Apr 4 16:19 makeauthor.rb
-rw-r--r-- 1 www-data www-data 1.4K Apr 5 20:18 make.php
-rw-r--r-- 1 www-data www-data 87 Apr 5 03:28 makeurl.rb
-rw-r--r-- 1 www-data www-data 1.2K Apr 5 05:11 new.php
-rwxr-xr-x 1 www-data www-data 2.0K Apr 5 19:11 preprocess.rb
-rwxrwxrwx 1 www-data www-data 536 Apr 6 12:58 qiitaget.sh
-rwxrwxrwx 1 www-data www-data 458 Apr 3 17:45 qiitamd.rb
-rwxrwxrwx 1 www-data www-data 222 Apr 4 13:41 scalemd.rb
-rwxr-xr-x 1 www-data www-data 1.4K Apr 6 09:11 slash2braceincode.rb
drwxr-xr-x 2 www-data www-data 4.0K Apr 4 18:23 template
-rwxrwxrwx 1 www-data www-data 286 Apr 4 12:20 texblock.rb
-rwxr-xr-x 1 www-data www-data 1.2K Apr 5 11:18 texinline.rb
所有人都可以查看浏览类内容,但需要通过基本认证来访问注册类内容的访问限制。
# cat .htaccess
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /var/www/.htpasswd
AuthName "Please enter your ID and password"
AuthType Basic
order deny,allow
<Files new.php>
require valid-user
</Files>
这是我制作的网站。