mirror of
https://gitee.com/ulthon/ulthon_information.git
synced 2026-03-03 16:24:28 +08:00
新增面板新增markdown导出
This commit is contained in:
@@ -4,11 +4,13 @@ declare(strict_types=1);
|
||||
|
||||
namespace app\admin\controller;
|
||||
|
||||
use app\common\tools\PostBlock;
|
||||
use app\model\Category;
|
||||
use app\model\Post as ModelPost;
|
||||
use app\model\PostCategory;
|
||||
use app\model\PostTag;
|
||||
use app\model\Tag;
|
||||
use League\HTMLToMarkdown\HtmlConverter;
|
||||
use think\facade\Cache;
|
||||
use think\facade\Route;
|
||||
use think\facade\View;
|
||||
@@ -29,7 +31,7 @@ class Post extends Common
|
||||
->where('type', $this->request->param('type', 1))
|
||||
->order('id desc')
|
||||
->paginate([
|
||||
'query' =>$this->request->get()
|
||||
'query' => $this->request->get()
|
||||
]);
|
||||
|
||||
View::assign('list', $list);
|
||||
@@ -91,6 +93,17 @@ class Post extends Common
|
||||
return $this->success('添加成功', url('index', ['type' => $this->request->param('type')]));
|
||||
}
|
||||
|
||||
public function convertHtml2Markdown()
|
||||
{
|
||||
$content = $this->request->post('content');
|
||||
|
||||
$converter = new HtmlConverter();
|
||||
|
||||
$markdown = $converter->convert($content);
|
||||
|
||||
return json_message(['markdown' => $markdown]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示指定的资源
|
||||
*
|
||||
|
||||
@@ -5,7 +5,9 @@ declare(strict_types=1);
|
||||
namespace app\model;
|
||||
|
||||
use app\common\model\Base;
|
||||
use app\common\tools\PostBlock;
|
||||
use app\common\tools\PostShow;
|
||||
use League\HTMLToMarkdown\HtmlConverter;
|
||||
use think\facade\Cache;
|
||||
use think\facade\Request;
|
||||
use think\Model;
|
||||
@@ -56,9 +58,6 @@ class Post extends Base
|
||||
|
||||
public function getCommentCountAttr()
|
||||
{
|
||||
|
||||
|
||||
|
||||
return PostComment::getPostCommentsCount($this->getData('id'));
|
||||
}
|
||||
|
||||
@@ -143,15 +142,26 @@ class Post extends Base
|
||||
return strtotime($value);
|
||||
}
|
||||
|
||||
public function setContentAttr($value)
|
||||
{
|
||||
return json_encode($value);
|
||||
}
|
||||
public function setContentHtmlAttr($value)
|
||||
{
|
||||
return trim($value);
|
||||
}
|
||||
|
||||
public function getContentMarkdownAttr()
|
||||
{
|
||||
$content_html = $this->getAttr('content_html');
|
||||
|
||||
|
||||
$content_html .= PostBlock::copyright($this);
|
||||
|
||||
|
||||
$converter = new HtmlConverter(array('strip_tags' => true));
|
||||
|
||||
$markdown = $converter->convert($content_html);
|
||||
|
||||
return $markdown;
|
||||
}
|
||||
|
||||
public function getContentHtmlShowAttr()
|
||||
{
|
||||
|
||||
@@ -160,11 +170,6 @@ class Post extends Base
|
||||
return PostShow::handleCopyright($content);
|
||||
}
|
||||
|
||||
public function getContentAttr($value)
|
||||
{
|
||||
return json_decode($value, true);
|
||||
}
|
||||
|
||||
public function getPosterAttr($value)
|
||||
{
|
||||
if (empty($value)) {
|
||||
|
||||
@@ -29,7 +29,8 @@
|
||||
"ulthon/user_hub_client": "^1.0",
|
||||
"thepixeldeveloper/sitemap": "^5.1",
|
||||
"jaeger/querylist": "^4.2",
|
||||
"jaeger/phpquery-single": "^1.1"
|
||||
"jaeger/phpquery-single": "^1.1",
|
||||
"league/html-to-markdown": "^5.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/var-dumper": "^4.2"
|
||||
|
||||
@@ -63,6 +63,9 @@
|
||||
{:\\app\\common\\tools\\PostBlock::copyright($post)}
|
||||
</article>
|
||||
</div>
|
||||
<div style="max-width: 715px;">
|
||||
<textarea class="layui-textarea" autoHeight="true" id="post-markdown" placeholder="同步markdown内容" autocomplete="off">{$post->content_markdown|raw}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="options-box layui-btn-container">
|
||||
<a class="copy-option layui-btn layui-btn-sm" target="_blank" href="{$post.read_url}">打开原文</a>
|
||||
@@ -70,15 +73,16 @@
|
||||
<a class="copy-option layui-btn layui-btn-sm" href="#post-title">选中标题</a>
|
||||
<a class="copy-option layui-btn layui-btn-sm" href="#post-desc">选中描述</a>
|
||||
<a class="copy-option layui-btn layui-btn-sm select-content" href="#post-content">选中内容</a>
|
||||
<div class=" layui-btn layui-btn-sm build-copyright" >插入声明</div>
|
||||
<div class=" layui-btn layui-btn-sm remove-copyright" >删除声明</div>
|
||||
<div class=" layui-btn layui-btn-sm show-copyright" >显示声明</div>
|
||||
<div class=" layui-btn layui-btn-sm build-copyright">插入声明</div>
|
||||
<div class=" layui-btn layui-btn-sm remove-copyright">删除声明</div>
|
||||
<div class=" layui-btn layui-btn-sm show-copyright">显示声明</div>
|
||||
<div class="layui-btn layui-btn-sm code2base64">
|
||||
代码转临时图片
|
||||
</div>
|
||||
<div class="layui-btn layui-btn-sm resetcode">
|
||||
还原代码
|
||||
</div>
|
||||
<a class=" layui-btn layui-btn-sm select-markdown" href="#post-markdown">选中markdown</a>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
@@ -110,18 +114,17 @@
|
||||
$('#post-content').find('pre').show().each(function (index, elem) {
|
||||
$(elem).removeClass('tobase64')
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
$('.copy-option').focusout(function (e) {
|
||||
copyContent($(this).attr('href'))
|
||||
})
|
||||
|
||||
$('.select-markdown').click(function () {
|
||||
$('#post-markdown').select()
|
||||
})
|
||||
|
||||
$('.build-copyright').click(function () {
|
||||
var copyElem = $('.copyright').find('p').last();
|
||||
|
||||
@@ -167,6 +170,22 @@
|
||||
selection.addRange(range);
|
||||
}
|
||||
|
||||
|
||||
$(function () {
|
||||
$.fn.autoHeight = function () {
|
||||
function autoHeight(elem) {
|
||||
elem.style.height = 'auto';
|
||||
elem.style.height = elem.scrollHeight + 20 + 'px';
|
||||
}
|
||||
this.each(function () {
|
||||
autoHeight(this);
|
||||
$(this).on('keyup', function () {
|
||||
autoHeight(this);
|
||||
});
|
||||
});
|
||||
}
|
||||
$('textarea[autoHeight]').autoHeight();
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user