本文整理汇总了PHP中Markdown::instance方法的典型用法代码示例。如果您正苦于以下问题:PHP Markdown::instance方法的具体用法?PHP Markdown::instance怎么用?PHP Markdown::instance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Markdown
的用法示例。
在下文中一共展示了Markdown::instance方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_how_to_use_content
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;
}
示例2: __construct
function __construct()
{
global $f3;
$this->f3 = $f3;
$this->log = new Log('error.log');
$this->db = new \DB\SQL('mysql:host=' . $this->dbinfo['dbhost'] . ';port=' . $this->dbinfo['dbport'] . ';dbname=' . $this->dbinfo['dbname'], $this->dbinfo['dbuser'], $this->dbinfo['dbpass']);
$this->smtp = new SMTP($this->EmailInfo['host'], $this->EmailInfo['port'], $this->EmailInfo['scheme'], $this->EmailInfo['user'], $this->EmailInfo['pass']);
$this->smtp->set('Errors-to', '');
$this->smtp->set('From', '');
$this->smtp->set('CC', '');
$this->smtp->set('In-Reply-To', '');
$this->geo = \Web\Geo::instance();
$this->md = \Markdown::instance();
$this->audit = \Audit::instance();
$this->theme = new theme();
$this->theme->set_siteURL($this->site);
$this->request['ip-address'] = $this->get_remote_address();
}
示例3: releases
/**
* get release information from GitHub
* @param $f3
*/
public function releases($f3)
{
$cacheKey = 'CACHE_GITHUB_RELEASES';
$ttl = 60 * 30;
// 30min
$releaseCount = 3;
if (!$f3->exists($cacheKey)) {
$apiPath = $this->getF3()->get('PATHFINDER.API.GIT_HUB') . '/repos/exodus4d/pathfinder/releases';
// build request URL
$options = $this->getRequestOptions();
$apiResponse = \Web::instance()->request($apiPath, $options);
if ($apiResponse['body']) {
// request succeeded -> format "Markdown" to "HTML"
// result is JSON formed
$releasesData = (array) json_decode($apiResponse['body']);
// check max release count
if (count($releasesData) > $releaseCount) {
$releasesData = array_slice($releasesData, 0, $releaseCount);
}
$md = \Markdown::instance();
foreach ($releasesData as &$releaseData) {
if (isset($releaseData->body)) {
// convert list style
$body = str_replace(' - ', '* ', $releaseData->body);
$releaseData->body = $md->convert($body);
}
}
$f3->set($cacheKey, $releasesData, $ttl);
} else {
// request failed -> cache failed result (respect API request limit)
$f3->set($cacheKey, false, 60 * 5);
}
}
// set 503 if service unavailable or temp cached data = false
if (!$f3->get($cacheKey)) {
$f3->status(503);
}
echo json_encode($f3->get($cacheKey));
}
示例4: info
function info($f3)
{
$this->D->with('ORDER BY displayname ASC')->ownDocs;
// Render Notes as Markdown
$md = \Markdown::instance();
$f3->set('data.notes', $md->convert($this->D->notes));
$f3->set('training_levels', $this->D->training_level_array());
$images = \R::find('images', 'tools_id=? ORDER BY thumb DESC, id ASC', array($this->D->id));
if ($images) {
$f3->set('images', $images);
}
$f3->set('multiple_images', count($images) > 1);
// Build Array of Training Records
$trainings = \R::find('trainings', 'tools_id=?', array($this->D->id));
$f3->set('trainings', $trainings ? reset($trainings)->build_lookup($trainings) : false);
// Build Array of All Active Users in Groups
$users = \R::find('users', 'active=1 ORDER BY usergroup ASC, displayname ASC');
$f3->set('usergroups', $users ? reset($users)->group($users) : false);
// Check if User can Train
$f3->set('can_train', $f3->get('SESSION.active') && $f3->get('SESSION.admin') || \R::findOne('trainings', 'users_id=? AND tools_id=? AND level=?', array($f3->get('SESSION.id'), $this->D->id, 'T')));
parent::info($f3);
}
示例5: addMarkDownAndLinks
protected function addMarkDownAndLinks($text)
{
return \Markdown::instance()->scan($this->makeLinks($text));
}
示例6: date
<article>
<h2><?php
echo HTML::anchor('post/' . $post->slug, HTML::chars($post->name));
?>
</h2>
<p><small>
Category : <?php
echo HTML::anchor('category/' . $post->category->slug, HTML::chars($post->category->name));
?>
,
by <?php
echo HTML::anchor('author/' . $post->author->id, HTML::chars($post->author->username));
?>
on <em><?php
echo date("D dS Y", strtotime($post->created));
?>
</em>
</small></p>
<p><?php
echo Text::limit_chars(HTML::chars(strip_tags(Markdown::instance()->transform($post->content))), 450);
?>
</p>
<p class="text-right"><?php
echo HTML::anchor('post/' . $post->slug, 'Read more...', array('class' => 'btn btn-primary'));
?>
</p>
</article>
<hr>
<?php
}
示例7: notify_new_bucket_comment
/**
* Notify bucket owners and followers of a new comment
*
* @return void
*/
public static function notify_new_bucket_comment($comment, $bucket)
{
$html = View::factory('emails/html/comment');
$text = View::factory('emails/text/comment');
$html->is_drop = $text->is_drop = FALSE;
$html->from_name = $text->from_name = $comment->user->name;
$html->avatar = Swiftriver_Users::gravatar($comment->user->email, 80);
$html->from_link = URL::site($comment->user->account->account_path, TRUE);
$html->asset = $text->asset = 'bucket';
$html->asset_name = $text->asset_name = $bucket->bucket_name;
$html->asset_link = $text->asset_link = URL::site($bucket->get_base_url(), TRUE);
$html->link = $text->link = URL::site($bucket->get_base_url() . '/discussion#comment-' . $comment->id, TRUE);
$text->comment = $comment->comment_content;
$html->comment = Markdown::instance()->transform($comment->comment_content);
$subject = __(':from commented on the ":name" bucket.', array(":from" => $comment->user->name, ":name" => $bucket->bucket_name));
// Add owner of the bucket first
$emails = array($bucket->user->email);
// Then collaborators
foreach ($bucket->get_collaborators(TRUE) as $collaborator) {
$emails[] = $collaborator['email'];
}
// Then followers
foreach ($bucket->subscriptions->find_all() as $follower) {
$emails[] = $follower->email;
}
$text_body = $text->render();
$html_body = $html->render();
$site_email = Swiftriver_Mail::get_default_address();
$from = '"' . $comment->user->name . '" <notifications@' . Swiftriver_Mail::get_email_domain() . '>';
$token_data = array('bucket_id' => $comment->bucket_id);
$token = Model_Auth_Token::create_token('bucket-comment', $token_data);
$reply_to = 'bucket-comment-' . $token->token . '@' . Swiftriver_Mail::get_comments_email_domain();
foreach ($emails as $email) {
if ($email != $comment->user->email) {
Swiftriver_Mail::send($email, $subject, $text_body, $html_body, $from, array('Reply-To' => $reply_to));
}
}
}
示例8: date
Category : <?php
echo HTML::anchor('category/' . $post->category->slug, HTML::chars($post->category->name));
?>
,
by <?php
echo HTML::anchor('author/' . $post->author->id, HTML::chars($post->author->username));
?>
on <em><?php
echo date("D dS Y", strtotime($post->created));
?>
</em>
</small></p>
</div>
<article><?php
echo Markdown::instance()->transform($post->content);
?>
</article>
<hr>
<section id="comments" class="comments">
<h3>Comment this post</h3>
<?php
if (Session::instance()->get('flash_errors') != NULL) {
$errors = Session::instance()->get_once('flash_errors');
?>
<div class="alert alert-danger">
<h4><strong>Oh snap !</strong> you did some errors</h4>
<?php
示例9: Run
/**
* fat-free framework application
* execute with call to FFMVC\App\Run();.
*
* @author Vijay Mahrra <vijay@yoyo.org>
* @copyright (c) Copyright 2013 Vijay Mahrra
* @license GPLv3 (http://www.gnu.org/licenses/gpl-3.0.html)
*/
function Run()
{
// @see http://fatfreeframework.com/quick-reference#autoload
$f3 = (require_once 'lib/bcosca/fatfree-core/base.php');
$f3->set('AUTOLOAD', __DIR__ . ';bcosca/fatfree-core/;lib/');
// initialise application
Main::start($f3);
// user feedback messages helper, inisialise so methods can be called statically
$messages = Helpers\Messages::instance();
$messages->init();
// setup database connection params
// @see http://fatfreeframework.com/databases
$db = null;
if (!empty($f3->get('db.driver') || $f3->get('db.dsn') || $f3->get('db.http_dsn'))) {
if ($http_dsn = $f3->get('db.http_dsn')) {
if (preg_match('/^(?<driver>[^:]+):\\/\\/(?<username>[^:]+):(?<password>[^@]+)@(?<hostname>[^:]+):(?<port>[\\d]+)?\\/(?<database>.+)/', $http_dsn, $m)) {
$f3->set('db.dsn', sprintf('%s:host=%s;port=%d;dbname=%s', $m['driver'], $m['hostname'], $m['port'], $m['database']));
$f3->mset(array('db.driver' => $m['driver'], 'db.hostname' => $m['hostname'], 'db.port' => $m['port'], 'db.name' => $m['database'], 'db.username' => $m['username'], 'db.password' => $m['password']));
}
} elseif (empty($f3->get('db.dsn'))) {
$f3->set('db.dsn', sprintf('%s:host=%s;port=%d;dbname=%s', $f3->get('db.driver'), $f3->get('db.hostname'), $f3->get('db.port'), $f3->get('db.name')));
}
if ($f3->get('db.driver') !== 'sqlite') {
if ($dsn = $f3->get('db.dsn')) {
$db = new \DB\SQL($dsn, $f3->get('db.username'), $f3->get('db.password'));
}
} else {
$dsn = $f3->get('db.dsn');
$dsn = substr($dsn, 0, strpos($dsn, '/')) . realpath('../') . substr($dsn, strpos($dsn, '/'));
$db = new \DB\SQL($dsn);
// attach any other sqlite databases - this example uses the full pathname to the db
if ($f3->exists('db.sqlite.attached')) {
$attached = $f3->get('db.sqlite.attached');
$st = $db->prepare('ATTACH :filename AS :dbname');
foreach ($attached as $dbname => $filename) {
$st->execute(array(':filename' => $filename, ':dbname' => $dbname));
}
}
}
}
\Registry::set('db', $db);
// cli start
if (PHP_SAPI == 'cli') {
$f3->route('GET /doc/@page', function ($f3, $params) {
$filename = 'doc/' . strtoupper($params['page']) . '.md';
if (!file_exists($filename)) {
die("Documentation Error!\n\nNo such document exists!\n");
} else {
echo $f3->read($filename);
}
});
// @see http://fatfreeframework.com/routing-engine
//load routes from ini file
$f3->config('config/routes-cli.ini');
} else {
// web start
// custom error handler if debugging
$f3->set('ONERROR', function () use($f3) {
// recursively clear existing output buffers:
while (ob_get_level()) {
ob_end_clean();
}
if ($f3->get('ERROR.code') == '404' && stristr($f3->get('PATH'), '/api') == false) {
include_once 'templates/www/error/404.phtml';
} else {
$debug = $f3->get('DEBUG');
if (stristr($f3->get('PATH'), '/api') !== false) {
$response = Helpers\Response::instance();
$data = array('service' => 'API', 'version' => 1, 'time' => time(), 'method' => $f3->get('VERB'));
$e = $f3->get('ERROR');
$data['error'] = array('code' => substr($f3->snakecase(str_replace(' ', '', $e['status'])), 1), 'description' => $e['code'] . ' ' . $e['text']);
if ($debug == 3) {
// show the $e['trace'] but it's in HTML!
}
$params = array('http_status' => $e['code']);
$return = $f3->get('REQUEST.return');
switch ($return) {
case 'xml':
$response->xml($data, $params);
break;
default:
case 'json':
$response->json($data, $params);
}
} else {
include_once $debug < 3 ? 'templates/www/error/error.phtml' : 'templates/www/error/debug.phtml';
}
}
// http://php.net/manual/en/function.ob-end-flush.php
ob_end_flush();
});
// clean ALL incoming user input by default
//.........这里部分代码省略.........