作者:chrisye90
项目:homesit
public function actionBlog()
{
$id = Yii::$app->request->get('id');
$data = TblBlog::find()->joinwith('category')->where([TblBlog::tableName() . '.id' => $id])->asArray()->one();
$data['text'] = Markdown::process($data['text'], 'gfm');
return $this->render('article', ['data' => $data]);
}
作者:Rudianasaj
项目:yiifee
public function actionRss()
{
/** @var News[] $news */
$news = News::find()->where(['status' => News::STATUS_PUBLIC])->orderBy('id DESC')->limit(50)->all();
$feed = new Feed();
$feed->title = 'YiiFeed';
$feed->link = Url::to('');
$feed->selfLink = Url::to(['news/rss'], true);
$feed->description = 'Yii news';
$feed->language = 'en';
$feed->setWebMaster('sam@rmcreative.ru', 'Alexander Makarov');
$feed->setManagingEditor('sam@rmcreative.ru', 'Alexander Makarov');
foreach ($news as $post) {
$item = new Item();
$item->title = $post->title;
$item->link = Url::to(['news/view', 'id' => $post->id], true);
$item->guid = Url::to(['news/view', 'id' => $post->id], true);
$item->description = HtmlPurifier::process(Markdown::process($post->text));
if (!empty($post->link)) {
$item->description .= Html::a(Html::encode($post->link), $post->link);
}
$item->pubDate = $post->created_at;
$item->setAuthor('noreply@yiifeed.com', 'YiiFeed');
$feed->addItem($item);
}
$feed->render();
}
作者:andrew72r
项目:yii2-typographe
/**
* Process $text using settings without explode \n to <p>
* $ntext = true change \n to <br>
* @param $text
* @param bool $ntext
* @return string
*/
public function directTypo($text)
{
$t = $this->Setup();
$text = Markdown::processParagraph($text, $this->markdownType);
$t->set_text($text);
return $t->apply();
}
作者:igaoji
项目:yii-Q
public function actionTest()
{
echo \yii\helpers\Markdown::process('**strong text***emphasized text*');
exit;
// echo Yii::getAlias('@yii/storage');
return $this->render('test');
}
作者:vladimirgolovano
项目:purrfect-awesome-friends-feed-decorato
public static function prepareForSave($model)
{
list($model->PostText, $imgs, $urls) = self::parseText($model->PostText);
$model->PostTextParsed = Markdown::process($model->PostText);
$model->PostHeader = self::createHeader(strip_tags($model->PostText));
return [$model, $imgs, $urls];
}
作者:lav4
项目:yii2-translated-behavior-dem
protected function parseData($path)
{
preg_match('~guide-?(.*)/(.+)\\.md$~', $path, $matches);
$language = $matches[1] ? $matches[1] : Yii::$app->sourceLanguage;
$language = Locale::getPrimaryLanguage($language);
$slug = strtolower($matches[2]);
$doc = file_get_contents($path);
$doc = Markdown::process($doc, 'gfm');
$html = new HTMLDocument();
@$html->loadHTML($doc);
$html->addPrefix("/{lang}/", 'a', 'href');
$imgPath = dirname($path) . '/images';
$imgPath = $this->publishImages($imgPath);
if ($imgPath) {
$html->addPrefix(function ($src) use($imgPath) {
return $imgPath . '/' . basename($src);
}, 'img', 'src');
}
foreach (['h1', 'h2', 'h3', 'h4'] as $tag) {
/** @var \DOMElement $item */
foreach ($html->getElementsByTagName($tag) as $item) {
/** @var \DOMElement $span */
if ($span = $item->getElementsByTagName('span')[0]) {
$item->setAttribute('id', $span->getAttribute('id'));
}
}
}
/** @var DOMElement $title */
$title = $html->getElementsByTagName('h1')[0];
return ['language' => $language, 'slug' => $slug, 'title' => $title->textContent, 'description' => $html->saveHTML()];
}
作者:fanin
项目:gtq
/**
* @inheritdoc
*/
public function behaviors()
{
return [TimestampBehavior::className(), ['class' => AttributeBehavior::className(), 'attributes' => [ActiveRecord::EVENT_BEFORE_INSERT => 'alias'], 'value' => function ($event) {
return Inflector::slug($event->sender->title);
}], ['class' => AttributeBehavior::className(), 'attributes' => [ActiveRecord::EVENT_AFTER_FIND => 'body'], 'value' => function ($event) {
return HtmlPurifier::process(Markdown::process($event->sender->content, 'gfm'));
}]];
}
作者:zabacho
项目:yii2-burivu
public function beforeSave($insert)
{
parent::beforeSave($insert);
$this->historyTemp = new History();
$this->historyTemp->attributes = ['title' => $this->title, 'content' => $this->content, 'user_id' => 1];
$this->content = Markdown::process($this->content, 'gfm');
if (!$this->isNewRecord) {
$this->historyTemp->renderDiff($this->lastEdit);
}
return true;
}
作者:dawei10
项目:plant
public function up()
{
$works = Work::find()->all();
foreach ($works as $work) {
if ($work->description && strpos('<p>', $work->description) === false) {
echo "Convert {$work->id} 's description...\n";
$work->description = Markdown::process($work->description, 'gfm');
$work->save(false);
}
}
echo "DOne\n";
}
作者:trnt
项目:yii
/**
* Converts markdown into HTML
*
* @param string $content
* @param TypeDoc $context
* @param boolean $paragraph
* @return string
*/
public static function process($content, $context = null, $paragraph = false)
{
if (!isset(Markdown::$flavors['api-latex'])) {
Markdown::$flavors['api-latex'] = new static();
}
if (is_string($context)) {
$context = static::$renderer->apiContext->getType($context);
}
Markdown::$flavors['api-latex']->renderingContext = $context;
if ($paragraph) {
return Markdown::processParagraph($content, 'api-latex');
} else {
return Markdown::process($content, 'api-latex');
}
}
作者:andrew72r
项目:yii2-pe
public function run()
{
if ($this->hasModel()) {
$tagOptions = ArrayHelper::merge($this->options, ['id' => $this->targetId, 'class' => $this->clientOptions['class'] ?: '', 'data' => ['target' => $this->options['id']]]);
if (isset($this->clientOptions['inline'])) {
$value = Markdown::processParagraph(Html::getAttributeValue($this->model, $this->attribute));
echo Html::tag($this->clientOptions['tag'] ?: 'p', $value, $tagOptions);
} else {
$value = MarkdownExtra::defaultTransform(Html::getAttributeValue($this->model, $this->attribute));
echo Html::tag('section', Html::tag($this->clientOptions['tag'] ?: 'p', $value), $tagOptions);
}
echo Html::activeHiddenInput($this->model, $this->attribute);
}
$this->registerPlugin();
}
作者:netis-p
项目:yii2-cru
/**
* @inheritdoc
* @throws \InvalidArgumentException when params are not empty
*/
public function render($view, $file, $params)
{
if (!empty($params)) {
throw new \InvalidArgumentException('MdViewRenderer does not support params.');
}
if ($this->cache) {
$key = self::CACHE_PREFIX . $file;
$result = $this->cache->get($key);
if ($result === false) {
$result = Markdown::process(file_get_contents($file), $this->flavor);
$this->cache->set($key, $result, 0, new FileDependency(['fileName' => $file]));
}
} else {
$result = Markdown::process(file_get_contents($file), $this->flavor);
}
return $result;
}
作者:schmunk4
项目:yii2-markdocs-modul
/**
* Helper function for the docs action
* @return string
*/
private function createHtml($file, $useRootPath = false)
{
\Yii::trace("Creating HTML for '{$file}'", __METHOD__);
try {
$filePath = \Yii::getAlias($this->module->markdownUrl) . '/' . $file;
$markdown = file_get_contents($filePath);
\Yii::trace("Loaded markdown for '{$filePath}'", __METHOD__);
} catch (\Exception $e) {
\Yii::$app->session->addFlash("error", "File '{$file}' not found,");
return false;
}
$_slash = $useRootPath ? '' : '/';
$html = Markdown::process($markdown, 'gfm');
$html = preg_replace('|<a href="(?!http)' . $_slash . '(.+\\.md)">|U', '<a href="__INTERNAL_URL__$1">', $html);
$dummyUrl = Url::to(['/' . $this->module->id . '/default/index', 'file' => '__PLACEHOLDER__']);
$html = strtr($html, ['__INTERNAL_URL__' => $dummyUrl]);
$html = strtr($html, ['__PLACEHOLDER__' => '']);
return $html;
}
作者:np
项目:v2se
<?php
use yii\helpers\Markdown;
$NodeLink = \common\models\NodeLink::NodeLink($node);
if (!empty($NodeLink)) {
?>
<section>
<div class="block-content markdown-content">
<?php
foreach ($NodeLink as $link) {
?>
<?php
echo Markdown::process($link['content'], 'gfm');
?>
<?php
}
?>
</div>
</section>
<?php
}
作者:Pento
项目:MoBlo
public static function markdown2html($str)
{
return Markdown::process($str);
}
作者:abwxw
项目:yiistud
/* @var $this yii\web\View */
/* @var $dataProvider yii\data\ActiveDataProvider */
$this->title = $model->title;
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="panel panel-info">
<div class="panel-heading">
<h3><?php
echo Html::encode($model->title);
?>
</h3>
</div>
<div class="panel-body">
<?php
echo \yii\helpers\Markdown::process($model->content);
?>
</div>
<div class="panel-footer">
<h4><b>标签: </b>
<?php
$tags = explode(',', $model->tags);
foreach ($tags as $tag) {
echo $tag, ' ';
}
?>
</h4>
</div>
</div>
<br/>
作者:noname00
项目:getyi
echo $form->field($model, 'content')->widget('trntv\\aceeditor\\AceEditor', ['id' => 'markdown', 'mode' => 'markdown', 'containerOptions' => ['style' => 'width: 100%; min-height: 350px'], 'theme' => 'github']);
?>
</div>
<?php
echo SelectizeTextInput::widget(['name' => 'Topic[tags]', 'value' => $model->tags, 'loadUrl' => ['/post-tag/index'], 'clientOptions' => ['placeholder' => '标签(可选)', 'allowEmptyOption' => false, 'delimiter' => ',', 'valueField' => 'name', 'labelField' => 'name', 'searchField' => 'name', 'maxItems' => 5, 'plugins' => ['remove_button'], 'persist' => false, 'create' => true]]);
?>
<div class="form-group">
<?php
echo Html::submitButton($model->isNewRecord ? '创建话题' : '修改话题', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']);
?>
<div class="pull-right">
<?php
echo Html::a('排版说明', ['/site/markdown'], ['target' => '_blank']);
?>
</div>
</div>
<div id="md-preview" class="pt10">
<?php
echo HtmlPurifier::process(\yii\helpers\Markdown::process($model->content, 'gfm'));
?>
</div>
<?php
ActiveForm::end();
?>
</div>
作者:kunakserge
项目:crmap
public function render($view, $file, $params)
{
return Markdown::process(file_get_contents($file));
}
作者:koakumas
项目:blogsit
<a href="index.php?r=post/searchby&text=">
<?php
echo $t_el['name'];
?>
</a>,
<?php
}
?>
</div>
<div class="post-body2">
<?php
echo \yii\helpers\HtmlPurifier::process(\yii\helpers\Markdown::process(substr($post_el['text'], 0, 700) . ' ...'));
?>
</div>
<span style="float: right;padding-right: 1cm;">
<?php
echo Html::a('Read more', ['post/view', 'id' => $post_el['post_id']], ['class' => 'btnread']);
?>
</span>
<hr class="style-two">
作者:thinkwil
项目:yii2-admi
$baseDir = '';
$this->title = substr($page, 0, strrpos($page, '.'));
} else {
$baseDir = substr($page, 0, $pos) . '/';
$this->title = substr($page, $pos + 1, strrpos($page, '.') - $pos - 1);
}
if ($page == 'README.md') {
$this->params['breadcrumbs'][] = 'Readme';
$menus = $this->context->module->getMenus();
$links = [];
foreach ($menus as $menu) {
$url = Url::to($menu['url'], true);
$links[] = "[**{$menu['label']}**]({$url})";
}
$body = str_replace(':smile:.', ".\n\n" . implode(' ', $links) . "\n", $this->render("@thinkwill/admin/README.md"));
} else {
$body = $this->render("@thinkwill/admin/{$page}");
}
$body = preg_replace_callback('/\\]\\((.*?)\\)/', function ($matches) use($baseDir) {
$link = $matches[1];
if (strpos($link, '://') === false) {
if ($link[0] == '/') {
$link = Url::current(['page' => ltrim($link, '/')], true);
} else {
$link = Url::current(['page' => $baseDir . $link], true);
}
}
return "]({$link})";
}, $body);
echo Markdown::process($body, 'gfm');