/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderSetextContent(Token $token) { $level = $token->get('level', 1); $content = $token->get('content', ''); $line = str_pad('', max(2, strlen($content)), $level === 1 ? '=' : '-'); return "\n" . $content . "\n" . $line; }
/** * @param \ViKon\Parser\Token $token * @param \ViKon\Parser\TokenList $tokenList * * @return string * @throws \ViKon\Parser\LexerException */ public function renderReference(Token $token, TokenList $tokenList) { $reference = $token->get('reference'); $label = $token->get('label'); if ($reference instanceof Token) { $referenceToken = $reference; } else { if (empty($reference) === '') { $reference = strtolower($token->get('label')); } $tokens = $tokenList->getTokensByCallback(function (Token $token) use($reference) { return $token->getName() === ReferenceRule::NAME && $token->get('reference', null) === $reference; }); // Get first token (if not found return full match) if (($referenceToken = reset($tokens)) === false) { return $token->get('match', ''); } $referenceToken->set('used', true); } $url = $referenceToken->get('url'); $title = $referenceToken->get('title', ''); if (empty($title)) { return "<a href=\"{$url}\">{$label}</a>"; } return "<a href=\"{$url}\" title=\"{$title}\">{$label}</a>"; }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderContent(Token $token) { if ($token->get('used', false)) { return ''; } return $token->get('match') . "\n"; }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderContent(Token $token) { $level = $token->get('level', 1); $content = $token->get('content', ''); $id = strtolower(preg_replace(['/[^\\dA-Za-z ]/', '/ /'], ['', '-'], $content)); return "<h{$level} id=\"{$id}\">{$content}</h{$level}>"; }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderItemOpen(Token $token) { if ($token->get('forceParagraph', false)) { return "\n\n* "; } return "\n* "; }
/** * @param \ViKon\Parser\Token $token * @param \ViKon\Parser\TokenList $tokenList * * @return string * @throws \ViKon\Parser\LexerException */ public function renderReference(Token $token, TokenList $tokenList) { $reference = $token->get('reference'); $alt = $token->get('alt'); if ($reference instanceof Token) { $referenceToken = $reference; } else { $tokens = $tokenList->getTokensByCallback(function (Token $token) use($reference) { return $token->getName() === ReferenceRule::NAME && $token->get('reference', null) === $reference; }); // Get first token (if not found return full match) if (($referenceToken = reset($tokens)) === false) { return $token->get('match', ''); } $referenceToken->set('used', true); } $url = $referenceToken->get('url'); $title = $referenceToken->get('title', ''); if (empty($title)) { return "<img alt=\"{$alt}\" src=\"{$url}\"/>"; } return "<img alt=\"{$alt}\" src=\"{$url}\" title=\"{$title}\" />"; }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderContent(Token $token) { // Mathematics expression $eq = urlencode($token->get('expression', '')); // Background color $bc = config('parser-markdown.rule.math.background'); // Foreground color (text color) $fc = config('parser-markdown.rule.math.font.color'); // Image type $im = config('parser-markdown.rule.math.image'); // Font size $fs = config('parser-markdown.rule.math.font.size'); // Font type $ff = config('parser-markdown.rule.math.font.type'); // Image path $img = public_path(config('parser-markdown.rule.math.path') . '/' . md5($eq) . '.' . $im); if (!file_exists($img)) { $url = 'http://www.sciweavers.org/tex2img.php?eq=' . $eq . '&bc=' . $bc . '&fc=' . $fc . '&im=' . $im . '&fs=' . $fs . '&ff=' . $ff . '&edit=0'; file_put_contents($img, file_get_contents($url)); } $size = getimagesize($img); return 'src="/images/math/' . md5($eq) . '.' . $im . '" alt="' . $token->get('content', '') . '" ' . $size[3]; }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderHeaderClose(Token $token) { $aligns = $token->get('align', null); $content = '|'; foreach ($aligns as $align) { switch ($align) { case 'left': $content .= ' :' . str_pad('', 9, '-') . ' |'; break; case 'right': $content .= ' ' . str_pad('', 9, '-') . ': |'; break; case 'center': $content .= ' :' . str_pad('', 8, '-') . ': |'; break; default: $content .= ' ' . str_pad('', 10, '-') . ' |'; break; } } return "\n" . $content; }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderContent(Token $token) { return $token->get('content', ''); }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderContent(Token $token) { return $token->get('match'); }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderContent(Token $token) { return '\\' . $token->get('char'); }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderReference(Token $token) { return $token->get('match', ''); }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderContent(Token $token) { return htmlspecialchars($token->get('content', '')); }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderLevelOpen(Token $token) { $this->ordered[] = $token->get('ordered', false); return '<' . ($token->get('ordered', false) ? 'ol' : 'ul') . '>'; }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderContent(Token $token) { return $token->get('expression', ''); }
/** * @param \ViKon\Parser\Token $token * * @return string */ public function renderContent(Token $token) { return '<span style="color: #CC0000;">' . $token->get('content', '') . '</span>'; }