Yii Markdown в реальном времени

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
ref
Сообщения: 41
Зарегистрирован: 2013.10.27, 10:22

Yii Markdown в реальном времени

Сообщение ref »

Если не ошибаюсь, в демо приложении блога была такая фишка, когда в момент создания новой записи я видел в реальном времени отформатированный Markdown. Т.е. поле ввода я пишу текст и использую для форматирования специальные знаки, а ниже поля ввода, вижу уже отформатированный текст в реальном времени.

Ткните пожалуйста носом на реализацию, либо подскажите как реализовать такое.
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii Markdown в реальном времени

Сообщение vova07 »

Есть вот такой редактор например. В нем есть опция: previewAutoRefresh. Все есть по дефолту.
Или же вот то же самое на CKEditor, только со своим напильником.
ref
Сообщения: 41
Зарегистрирован: 2013.10.27, 10:22

Re: Yii Markdown в реальном времени

Сообщение ref »

А стандартными средствами Yii реализовать такое можно как-то?
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii Markdown в реальном времени

Сообщение vova07 »

В Yii нет своего редактора. Реализовать стандартными средствами можно написав его самому.
ref
Сообщения: 41
Зарегистрирован: 2013.10.27, 10:22

Re: Yii Markdown в реальном времени

Сообщение ref »

Все же речь не о редакторе, а о простом выводе отформатированного Markdown гденибудь рядом. Где то было в демо каком то, но немогу найти.

Может можно по onchange посылать запрос и получать отформатированный текст?
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii Markdown в реальном времени

Сообщение vova07 »

Честно не совсем понимаю уже о чем вы. У вас нет редактора, но нужно просто определенный код из textarea выводить на пердосмотр? В таком случае JS вам в помощь. Если же нужно как-то особо форматировать код, то делаете ajax запрос и вставляете в Markdown чистый код.
Для коректного ответа, напишите что у вас за задача. Кокретные вопросы, получают конкретные ответы.
ref
Сообщения: 41
Зарегистрирован: 2013.10.27, 10:22

Re: Yii Markdown в реальном времени

Сообщение ref »

Мне нужно:
Есть textarea, пишем туда текст, используя Markdown. Под textarea видим отформатированный текст. Всё это происходит в реальном времени.

Вот хороший пример нашёл — http://www.tmpvar.com/markdown.html
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii Markdown в реальном времени

Сообщение ElisDN »

Ну прямо из этого примера скрипты и возьмите.
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii Markdown в реальном времени

Сообщение vova07 »

Так вы уже нашли готовое решение. Что еще нужно?!
Там используется вот этот скрипт.
Подкчлюаете Jquery и скрипт что выше.
Добавляем логику для скрипта:

Код: Выделить всё

$(function() {
        var converter = new Showdown.converter();
        $("#ИД_ВАШЕЙ_TEXTAREA").keyup(function(){
          var txt = $(this).val();
          var html = converter.makeHtml(txt);
          $("#ИД_ВАШЕГО_ПРЕВЬЮ_БЛОКА").html(html);
        });
      });
Если нужна подсветка, то тамже подсматриваем нужный скрипт.
Готово!
Аватара пользователя
dignityinside
Сообщения: 76
Зарегистрирован: 2013.04.04, 17:57
Контактная информация:

Re: Yii Markdown в реальном времени

Сообщение dignityinside »

Добавляем в контроллер:

Код: Выделить всё

public function actionPreviewMarkdown()
{
    $parser=new CMarkdownParser;
    $parsedText = $parser->safeTransform($_POST['data']);
    echo $parsedText;
} 
В views:

Код: Выделить всё

<?php $this->widget('ext.markitup.EMarkitupWidget', array(
                    'model' => $model,
                    'attribute' => 'preview_content',
                    'settings' => 'markdown',
                    'options'=>array(
                        'previewParserPath'=>
                            Yii::app()->urlManager->createUrl('/post/previewMarkdown')
                    )
                ))?>
Мой блог:
https://protonalex.com
Ответить