Author: Sam de Freyssinet
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     $topics = Topic::all();
     $markdown = new Markdown();
     $transfer_count = 0;
     $convert_count = 0;
     foreach ($topics as $topic) {
         if (empty($topic->body_original)) {
             // store the original data
             $topic->body_original = $topic->body;
             // convert to markdown
             $topic->body = $markdown->convertMarkdownToHtml($topic->body);
             $topic->save();
             $transfer_count++;
         } else {
             // convert to markdown
             $topic->body = $markdown->convertMarkdownToHtml($topic->body_original);
             $topic->save();
             $convert_count++;
         }
     }
     $this->info("Transfer old data count: " . $transfer_count);
     $this->info("Convert original to body count: " . $convert_count);
     $this->info("It's Done, have a good day.");
 }
Exemple #2
0
 public function testDecoding()
 {
     $formatter = new Markdown();
     $data = array('name' => 'Joe', 'age' => 21, 'employed' => true, 'body' => "Lorem ipsum dolor\nsit amet");
     $raw = file_get_contents(__DIR__ . '/fixtures/joe.md');
     $this->assertEquals($data, $formatter->decode($raw));
 }
 /**
  * Añade el producto a la base de datos con el nombre, medida, descripcion, rutaimagen, categoria y familia.
  *
  * @param $nombreprod string.
  * @param $precioprod string.
  * @param $medidas string.
  * @param $descripcionprod string.
  * @param $rutaimagen string.
  * @param $idcategoria int.
  * @param $idfamilia int.
  * @return boolean.
  */
 public function agregarProducto($nombreprod, $precioprod, $medidas, $descripcionprod, $rutaimagen, $idcategoria, $idfamilia)
 {
     $Markdown = new Markdown();
     $my_html = $Markdown->transform($descripcionprod);
     $query = "INSERT INTO producto(nombreprod, precioprod, medidas, descripcionprod, rutaimagen, categoria_idcategoria, categoria_familia_idfamilia)" . "VALUES('{$nombreprod}', '{$precioprod}', '{$medidas}','{$my_html}', '{$rutaimagen}', '{$idcategoria}', '{$idfamilia}');";
     $this->logger->getLogger($query);
     $result = $this->connection->query($query);
     return $result;
 }
Exemple #4
0
    public function testTablesHaveTableClass()
    {
        $parser = new Markdown();
        $content = <<<'MARKDOWN'
|Tables|Is|
|------|--|
|OK    |? |
MARKDOWN;
        $result = $parser->text($content);
        $this->assertEquals("<table class=\"table\">\n<thead>\n<tr>\n<th>Tables</th>\n<th>Is</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>OK</td>\n<td>?</td>\n</tr>\n</tbody>\n</table>", $result);
    }
Exemple #5
0
function markdown($string)
{
    #
    # Initialize the parser and return the result of its transform method.
    #
    # Setup static parser variable.
    static $parser;
    if (!isset($parser)) {
        $parser = new Markdown();
    }
    # Transform text using parser.
    return $parser->transform($string);
}
Exemple #6
0
 public function update($id)
 {
     $topic = Topic::findOrFail($id);
     $data = Input::only('title', 'body', 'node_id');
     $this->authorOrAdminPermissioinRequire($topic->user_id);
     $markdown = new Markdown();
     $data['body_original'] = $data['body'];
     $data['body'] = $markdown->convertMarkdownToHtml($data['body']);
     $data['excerpt'] = Topic::makeExcerpt($data['body']);
     // Validation
     App::make('Phphub\\Forms\\TopicCreationForm')->validate($data);
     $topic->update($data);
     Flash::success(lang('Operation succeeded.'));
     return Redirect::route('topics.show', $topic->id);
 }
 /**
  * Encodes the content into HTML based on Markdown
  *
  * @return  void
  */
 protected function _cache_content()
 {
     $this->cached_content = Markdown::encode($this->content);
     if (preg_match_all('/<p>(.*)<\\/p>/', $this->cached_content, $matches)) {
         $this->description = substr(strip_tags($matches[1][0]), 0, 500);
     }
 }
 /**
  * @inheritDoc
  */
 protected function identifyLine($lines, $current)
 {
     if (isset($lines[$current]) && strncmp($lines[$current], '```', 3) === 0) {
         return 'fencedCode';
     }
     return parent::identifyLine($lines, $current);
 }
Exemple #9
0
 /**
  * Returns a function converting Markdown into HTML but only parsing inline elements.
  * @return \Closure A function converting Markdown into HTML but only parsing inline elements.
  */
 public function getMarkdownParagraph() : \Closure
 {
     return function ($value, \Mustache_LambdaHelper $helper) {
         $args = $this->parseArguments($helper->render($value), 'markdown', ['flavor' => Markdown::$defaultFlavor]);
         return Markdown::processParagraph($args['markdown'], $args['flavor']);
     };
 }
Exemple #10
0
 /**
  * compile markdown to html and render as text
  *
  * @return Illuminate\View\View
  */
 public function previewNoEnclosingPage()
 {
     $markdown = Markdown::defaultTransform(e(Input::get('data')));
     $response = Response::make($markdown);
     $response->header('Content-Type', 'text/html');
     return $response;
 }
 /**
  * Sets the renderer for markdown fields to use
  * @param {string} $renderer Class Name of an implementation of IMarkdownRenderer
  */
 public static function setRenderer($renderer)
 {
     if (ClassInfo::classImplements($renderer, 'IMarkdownRenderer')) {
         self::$renderer = $renderer;
     } else {
         user_error('The renderer ' . $renderer . ' does not implement IMarkdownRenderer', E_USER_ERROR);
     }
 }
 /**
  * @inheritdocs
  *
  * Parses a newline indicated by two spaces on the end of a markdown line.
  */
 protected function renderText($text)
 {
     if ($this->enableNewlines) {
         return preg_replace("/(  \n|\n)/", $this->html5 ? "<br>\n" : "<br />\n", $text[1]);
     } else {
         return parent::renderText($text);
     }
 }
 private function get_how_to_use_content($f3)
 {
     $content = "How to use content.";
     $file = F3::instance()->read('help/README.md');
     $html = Markdown::instance()->convert($file);
     $f3->set('how_to_use_content', $html);
     return $content;
 }
 /**
  * Get the given documentation page.
  *
  * @param  string $manual
  * @param  string $version
  * @param  string $page
  * @return string
  */
 public function get($manual, $version, $page)
 {
     $pageFile = $this->storagePath . '/' . $manual . '/' . $version . '/' . $page . '.md';
     if ($this->files->exists($pageFile)) {
         return $this->cached("{$manual}.{$version}.{$pageFile}", Markdown::parse($this->files->get($pageFile), $manual . '/' . $version . '/' . dirname($page)));
     } else {
         App::abort(404);
     }
 }
 private function updateExportSettings()
 {
     $input = Input::only($this->export_features);
     $input['ex_disclaimer_html'] = Markdown::string($input['ex_disclaimer']);
     foreach ($input as $key => $value) {
         Setting::set($key, $value);
     }
     return true;
 }
Exemple #16
0
 /**
  * Generate a preview
  *
  * @param array $input
  * @param       $user
  * @return \Illuminate\View\View
  */
 public function generatePost($input, $user)
 {
     // Generate preview post
     $post = $this->postRepo->getEmptyPost();
     $post->author = $user;
     $post->markdown = $input['content'];
     $post->html = \Purifier::clean(\Markdown::text($input['content']));
     return $post;
 }
Exemple #17
0
 public function testFacadeRoot()
 {
     $class = get_class(Markdown::getFacadeRoot());
     if ('sundown' == Conf::get('markdown')) {
         $this->assertEquals('Pochika\\Markdown\\Sundown', $class);
     } else {
         $this->assertEquals('Pochika\\Markdown\\PHPMarkdownExtra', $class);
     }
 }
 /**
  * @inheritdocs
  *
  * Parses a newline indicated by two spaces on the end of a markdown line.
  */
 protected function renderText($text)
 {
     if ($this->enableNewlines) {
         $br = $this->html5 ? "<br>\n" : "<br />\n";
         return strtr($text[1], ["  \n" => $br, "\n" => $br]);
     } else {
         return parent::renderText($text);
     }
 }
Exemple #19
0
 /**
  * convert 
  * 
  * @param string $text 
  * @return string
  */
 public static function convert($text)
 {
     if (empty(self::$parser)) {
         self::$parser = new HyperDown();
         self::$parser->hook('afterParseCode', array('Markdown', 'transerCodeClass'));
         self::$parser->hook('beforeParseInline', array('Markdown', 'transerComment'));
     }
     return self::$parser->makeHtml($text);
 }
function parse($str, $markdown = true)
{
    // process tags
    $pattern = '/[\\{\\{]{1}([a-z]+)[\\}\\}]{1}/i';
    if (preg_match_all($pattern, $str, $matches)) {
        list($search, $replace) = $matches;
        foreach ($replace as $index => $key) {
            $replace[$index] = Config::meta($key);
        }
        $str = str_replace($search, $replace, $str);
    }
    $str = html_entity_decode($str, ENT_NOQUOTES, System\Config::app('encoding'));
    //  Parse Markdown as well?
    if ($markdown === true) {
        $md = new Markdown();
        $str = $md->transform($str);
    }
    return $str;
}
Exemple #21
0
 public function preview()
 {
     $md = $this->request->get('md');
     if (!empty($md)) {
         $html = Markdown::convert($md);
         echo $html;
     }
     echo '';
     exit;
 }
 /**
  * Create post
  *
  * @param array $input
  * @param                $topic
  * @param                $user
  * @param bool $add
  * @return \Illuminate\Http\RedirectResponse|object
  */
 public function create($input, $topic, $user, $add = true)
 {
     // Create post
     $data = ['markdown' => $input['content'], 'html' => \Purifier::clean(\Markdown::text($input['content'])), 'topic_id' => $topic->id, 'user_id' => $user->id];
     if (\Bouncer::hasPermission('devresponse') and \Input::get('devresponse') == 1) {
         $data['developer_response'] = true;
     }
     $post = $this->postRepo->create($data);
     return $post;
 }
Exemple #23
0
 public static function getReadme($owner, $repo)
 {
     $token = self::getAccessToken();
     $readmeUrl = 'https://api.github.com/repos/' . $owner . '/' . $repo . '/readme?access_token=' . $token;
     $client = self::getClient();
     $res = $client->get($readmeUrl, []);
     $readmeHash = json_decode($res->getBody(), true);
     $readme = ['readme' => \Markdown::convertToHtml(imap_base64($readmeHash['content']))];
     return $readme;
 }
 public function setTemplateFilters()
 {
     //markdown
     $this->template->addFilter('md', function ($s) {
         return \Michelf\Markdown::defaultTransform($s);
     });
     //inline markdown
     $this->template->addFilter('imd', function ($s) {
         return strip_tags(Markdown::defaultTransform($s), '<a><strong><em>');
     });
 }
Exemple #25
0
 public function format($value)
 {
     $flag = $this->module->flag;
     if ($flag == "L") {
         return Markdown::defaultTransform(Str::limit($value, $this->listLimit));
     }
     if ($flag == "R") {
         return Markdown::defaultTransform($value);
     }
     return $value;
 }
 public function code($code, $lang = null, $escaped = null)
 {
     if ($this->options['highlight']) {
         $out = $this->options['highlight']($code, $lang);
         if ($out != null && $out !== $code) {
             $escaped = true;
             $code = $out;
         }
     }
     $class = $lang ? ' class="' . $this->options['langPrefix'] . Markdown::escape($lang, true) . '"' : '';
     $code = $escaped ? $code : Markdown::escape($code, true);
     return "<pre><code{$class}>{$code}\n</code></pre>\n";
 }
 public function toHtml(array $data)
 {
     $text = $data['text'];
     $html = '<blockquote>';
     $html .= Markdown::defaultTransform($text);
     // Add the cite if necessary
     if (isset($data['cite']) && !empty($data['cite'])) {
         // remove the indent thats added by Sir Trevor
         $cite = ltrim($data['cite'], '>');
         $html .= '<cite>' . Markdown::defaultTransform($cite) . '</cite>';
     }
     $html .= '</blockquote>';
     return $html;
 }
Exemple #28
0
 public static function value($extend, $value = null)
 {
     switch ($extend->field) {
         case 'text':
             if (!empty($extend->value->text)) {
                 $value = $extend->value->text;
             }
             break;
         case 'html':
             if (!empty($extend->value->html)) {
                 $md = new Markdown();
                 $value = $md->transform($extend->value->html);
             }
             break;
         case 'image':
         case 'file':
             if (!empty($extend->value->filename)) {
                 $value = asset('content/' . $extend->value->filename);
             }
             break;
     }
     return $value;
 }
Exemple #29
0
 protected function readDoc($fileName)
 {
     // Key for cache
     $cacheKey = md5('docs.' . $fileName);
     // use cache if exist
     if ($this->cache->has($cacheKey)) {
         return $this->cache->get($cacheKey);
     }
     $getContent = $this->file->get(base_path('docs/' . $fileName));
     $doc = \Markdown::text($getContent);
     // Put it in cache
     $this->cache->put($cacheKey, $doc, 10080);
     return $doc;
 }
Exemple #30
0
 function showMarkitupPreview($txtData, $type = "markitup")
 {
     $htmlData = "";
     switch ($type) {
         case 'markitup':
             require dirname(__FILE__) . "/Michelf/Markdown.inc.php";
             //require dirname(__FILE__)."/Michelf/MarkdownExtra.inc.php";
             $htmlData = Markdown::defaultTransform($txtData);
             break;
         default:
             $htmlData = $txtData;
             break;
     }
     return $htmlData;
 }