Skip to content

Commit cfec692

Browse files
committed
feat: Add logger gem for Ruby 4.0 compatibility and enhance Mermaid.js rendering for code blocks.
1 parent c013249 commit cfec692

3 files changed

Lines changed: 24 additions & 7 deletions

File tree

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ source "https://rubygems.org"
88
# This will help ensure the proper Jekyll version is running.
99
# Happy Jekylling!
1010
gem "jekyll", "~> 4.4.1"
11+
gem "logger" # Ruby 4.0 需要显式添加
1112
# This is the default theme for new Jekyll sites. You may change this to anything you like.
1213
gem "minima", "~> 2.5"
1314
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and

Gemfile.lock

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ GEM
9090
listen (3.9.0)
9191
rb-fsevent (~> 0.10, >= 0.10.3)
9292
rb-inotify (~> 0.9, >= 0.9.10)
93+
logger (1.7.0)
9394
mercenary (0.4.0)
9495
minima (2.5.2)
9596
jekyll (>= 3.5, < 5.0)
@@ -166,6 +167,7 @@ DEPENDENCIES
166167
http_parser.rb (~> 0.6.0)
167168
jekyll (~> 4.4.1)
168169
jekyll-feed (~> 0.12)
170+
logger
169171
minima (~> 2.5)
170172
tzinfo (>= 1, < 3)
171173
tzinfo-data
@@ -213,6 +215,7 @@ CHECKSUMS
213215
kramdown-parser-gfm (1.1.0) sha256=fb39745516427d2988543bf01fc4cf0ab1149476382393e0e9c48592f6581729
214216
liquid (4.0.4) sha256=4fcfebb1a045e47918388dbb7a0925e7c3893e58d2bd6c3b3c73ec17a2d8fdb3
215217
listen (3.9.0) sha256=db9e4424e0e5834480385197c139cb6b0ae0ef28cc13310cfd1ca78377d59c67
218+
logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
216219
mercenary (0.4.0) sha256=b25a1e4a59adca88665e08e24acf0af30da5b5d859f7d8f38fba52c28f405138
217220
minima (2.5.2) sha256=9c434e3b7bc4a0f0ab488910438ed3757a0502ff1060d172f361907fc38aa45a
218221
pathutil (0.16.2) sha256=e43b74365631cab4f6d5e4228f812927efc9cb2c71e62976edcb252ee948d589

_includes/mermaid.html

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
11
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
22
<script>
3-
document.addEventListener("DOMContentLoaded", function() {
4-
mermaid.initialize({
5-
startOnLoad: true,
6-
theme: 'default',
7-
flowchart: { useMaxWidth: true }
3+
document.addEventListener("DOMContentLoaded", function () {
4+
// 将 Jekyll 生成的 <pre><code class="language-mermaid"> 转换为 <div class="mermaid">
5+
document.querySelectorAll('code.language-mermaid').forEach(function (codeElement) {
6+
var preElement = codeElement.parentElement;
7+
var mermaidDiv = document.createElement('div');
8+
mermaidDiv.className = 'mermaid';
9+
mermaidDiv.textContent = codeElement.textContent;
10+
preElement.replaceWith(mermaidDiv);
11+
});
12+
13+
// 初始化 Mermaid
14+
mermaid.initialize({
15+
startOnLoad: true,
16+
theme: 'default',
17+
flowchart: { useMaxWidth: true }
18+
});
19+
20+
// 手动触发渲染
21+
mermaid.run();
822
});
9-
});
10-
</script>
23+
</script>

0 commit comments

Comments
 (0)