GitDown 在 PHP 中解析 Markdown
发布日期:作者: Paul Redmond
GitDown 是 Caleb Porzio 为在 PHP 中解析(GitHub 风格的)Markdown 而创建的一个简单软件包。它的工作原理是将提供的 Markdown 发送到一个公开的 GitHub API,该 API 将其解析为 HTML。
如果您没有使用 Laravel,您仍然可以使用这个软件包。以下是 Laravel 项目中的基本用法:
GitDown::parse($markdown); // Will be cached forever. (suggested)GitDown::parseAndCache($markdown); // Will be cached for 24 hours. (minutes in Laravel < 5.8, seconds otherwise)GitDown::parseAndCache($markdown, $seconds = 86400); // Pass in your own custom caching strategy.GitDown::parseAndCache($markdown, function ($parse) { return Cache::rememberForever(sha1($markdown), function () use ($parse) { return $parse(); });});
您不需要使用 Laravel 才能使用 GitDown - 您可以创建一个 GitDown\GitDown
实例并使用您自己的缓存策略。
$gitDown = new GitDown\GitDown( $token = 'foo', $context = 'your/repo', $allowIframes = false); $gitDown->parse($markdown); // Pass in your own custom caching strategy.$gitDown->parseAndCache($markdown, function ($parse) { return Cache::rememberForever(sha1($markdown), function () use ($parse) { return $parse(); });});
重要的是要记住,如果没有缓存结果,您将很快遇到 GitHub 速率限制,并且您的页面加载速度会非常慢。
在前端,您可以在 Laravel 项目中使用 @gitdown
指令,将其添加到您的布局的 <head>
中,并将 Markdown 内容包装在 .markdown-body
类中。
<head> [...] @gitdown</head><body> <div class="markdown-body"> {!! GitDown::parseAndCache($content) !!} </div></body>
如果您没有使用 Laravel,可以使用以下代码:
<style><?php echo GitDown\GitDown::styles(); ?></style>
查看该项目的 README 以获取有关渲染样式的详细说明。
要详细了解 GitDown 以及为什么要使用它的原因,请阅读 Caleb 的文章 解析 Markdown:轻松实现代码高亮。
您可以在 GitHub 上了解更多关于该软件包的信息,获取完整的安装说明,并查看源代码:calebporzio/gitdown。