diff --git a/src/migrations/m150810_000001_update_package.php b/src/migrations/m150810_000001_update_package.php new file mode 100644 index 0000000..e6a80ab --- /dev/null +++ b/src/migrations/m150810_000001_update_package.php @@ -0,0 +1,19 @@ +addColumn(self::TABLE, 'readme_format', Schema::TYPE_STRING . '(8)'); + } + + public function down() + { + $this->dropColumn(self::TABLE, 'readme_format'); + } +} \ No newline at end of file diff --git a/src/models/Package.php b/src/models/Package.php index a267503..86aa0d6 100644 --- a/src/models/Package.php +++ b/src/models/Package.php @@ -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() { - $parser = new GithubMarkdown(); - return $parser->parse($this->readme); + 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 '
' . $this->readme . ''; + } + } + return ''; } } diff --git a/src/views/mod/view.php b/src/views/mod/view.php index ec65d7d..ac9398a 100644 --- a/src/views/mod/view.php +++ b/src/views/mod/view.php @@ -74,9 +74,7 @@ $this->params['breadcrumbs'][] = $this->title; ]) ?> readme) { - echo $model->getReadmeHtml(); - } + echo $model->getReadmeHtml(); ?> bower) { ?>