forked from edocli/emtemp-Bubble
-
Notifications
You must be signed in to change notification settings - Fork 0
/
echo_log.php
124 lines (116 loc) · 4.84 KB
/
echo_log.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
if (!defined('EMLOG_ROOT')) {
exit('error!');
}
?>
<?php
$log_content = preg_replace_callback(
'/<img\s+src="([^"]+)"(?:\s+alt="([^"]*)")?(?:\s+title="([^"]*)")?\s*\/?>/i',
function ($matches) {
// 构建 data-caption 属性
$caption = !empty($matches[2]) ? $matches[2] : (!empty($matches[3]) ? $matches[3] : '');
// 返回更新后的 <img> 标签
return '<a href="' . $matches[1] . '" data-fancybox="gallery"' . ($caption ? ' data-caption="' . $caption . '"' : '') . '><img src="' . $matches[1] . '" /></a>';
},
$log_content
);
?>
<main>
<?php if (_g('toc')) : ?>
<div class="card shadow border-0 bg-secondary toc-container">
<a class="carousel-control-prev" id="toc-nomiao">
<i class="fa fa-chevron-left" aria-hidden="true"></i>
</a>
<div class="card-img container container-lg py-5 toc">
<strong>文章目录</strong>
<div class="toc-list">
<?php getCatalog($log_content); ?>
</div>
</div>
</div>
<script>
let onshow = false;
function tocshow() {
if (onshow) {
$(".toc-container").css("right", '-175px')
$(".toc-container i").removeClass("fa-chevron-right").addClass("fa-chevron-left")
} else {
$(".toc-container").css("right", '-5px')
$(".toc-container i").removeClass("fa-chevron-left").addClass("fa-chevron-right")
}
onshow = !onshow
}
function jumpto(num) {
$('html,body').animate({
scrollTop: $('[name="cl-' + num + '"]').offset().top - 120
}, 500)
}
$("#toc-nomiao").click(tocshow)
let nowtoc = "cl-1";
$(document).ready(function () {
<?php if (_g('toc_enable')) : ?>
tocshow()
<?php endif; ?>
$(document).scroll(function () {
for (const ele of $("*[name*='cl-']").get().reverse()) {
if ($(document).scrollTop() + 121 > $(ele).offset().top) {
if (nowtoc !== ele.name) {
let tocele = $("*[name*='dl-" + nowtoc.replace("cl-", "") + "']");
tocele.removeClass("located")
tocele = $("*[name*='dl-" + ele.name.replace("cl-", "") + "']")
tocele.addClass("located")
$(".toc-list").animate({
scrollTop: $(".toc-list").scrollTop() - 50 + tocele.position().top
}, 80)
nowtoc = ele.name
}
break
}
}
})
});
</script>
<?php endif; ?>
<section class="section section-lg section-hero section-shaped">
<?php printBackground(($log_cover ?: getRandomImage(_g('randomImage'))), _g('bubbleShow')); ?>
<div class="container shape-container d-flex align-items-center py-lg">
<div class="col px-0 text-center">
<div class="row align-items-center justify-content-center">
<h1 class="text-white"><?= $log_title ?></h1>
</div>
<div class="row align-items-center justify-content-center">
<h5 class="text-white">于
<time datetime="<?= date('c', $date) ?>"><?= date('Y-n-j', $date) ?></time>
由 <?= getUser($author)['nickname'] ?> 发布
</h5>
</div>
</div>
</div>
</section>
<section class="section section-components bg-secondary content-card-container">
<div class="container container-lg py-5 align-items-center content-card-container">
<div class="card shadow content-card content-card-head">
<!-- Article content -->
<section class="section">
<div class="container">
<div class="content">
<?= $log_content ?>
<?php doAction('log_related', $logData) ?>
<hr>
<ul>
<li>分类:<?php printCategory($sortid); ?></li>
<li>标签:<?php printTag($logid); ?></li>
</ul>
</div>
</div>
</section>
</div>
<div class="card shadow content-card">
<!-- Comment -->
<?php viewComment($comnum, $comments, $logid, $ckname, $ckmail, $ckurl, $verifyCode, $allow_remark); ?>
</div>
</div>
</section>
<?php
$authflg = editflg($logid, $author);
include View::getView('footer');