allow text readme, fixes #3

This commit is contained in:
cornernote 2015-08-10 12:08:58 +09:30
parent e5954bf8f4
commit ac85b27860
3 changed files with 44 additions and 9 deletions

View File

@ -0,0 +1,19 @@
<?php
use yii\db\Migration;
use yii\db\Schema;
class m150810_000001_update_package extends Migration
{
const TABLE = '{{%package}}';
public function up()
{
$this->addColumn(self::TABLE, 'readme_format', Schema::TYPE_STRING . '(8)');
}
public function down()
{
$this->dropColumn(self::TABLE, 'readme_format');
}
}

View File

@ -19,6 +19,7 @@ use yii\helpers\Html;
* @property integer $hits
* @property string $bower
* @property string $readme
* @property string $readme_format
* @property string $description
* @property string $homepage
* @property string $keywords
@ -134,12 +135,21 @@ class Package extends ActiveRecord
public function harvestModInfo()
{
// get README.md
$this->readme = Git::getFile($this->url, 'README.md');
if (!$this->readme) {
$this->readme = Git::getFile($this->url, 'readme.md');
foreach (['README.md', 'readme.md', 'Readme.md'] as $file) {
$this->readme = Git::getFile($this->url, $file);
if ($this->readme) {
$this->readme_format = 'markdown';
break;
}
}
if (!$this->readme) {
$this->readme = Git::getFile($this->url, 'Readme.md');
foreach (['README.txt', 'readme.txt', 'Readme.txt', 'README', 'readme'] as $file) {
$this->readme = Git::getFile($this->url, $file);
if ($this->readme) {
$this->readme_format = 'text';
break;
}
}
}
// get bower.json
@ -260,7 +270,15 @@ class Package extends ActiveRecord
*/
public function getReadmeHtml()
{
if ($this->readme_format && $this->readme) {
if ($this->readme_format == 'markdown') {
$parser = new GithubMarkdown();
return $parser->parse($this->readme);
}
if ($this->readme_format == 'text') {
return '<pre>' . $this->readme . '</pre>';
}
}
return '';
}
}

View File

@ -74,9 +74,7 @@ $this->params['breadcrumbs'][] = $this->title;
]) ?>
<?php
if ($model->readme) {
echo $model->getReadmeHtml();
}
?>
<?php if (!$model->bower) { ?>