From 0af26f5ba35f429c95c0d58fb88ce214b998a5f5 Mon Sep 17 00:00:00 2001 From: "Billy.Zheng" Date: Thu, 27 Aug 2026 12:55:08 +0800 Subject: [PATCH 1/2] Fix require tartrazine broken, add more spec. (Fix #101) --- shard.yml | 4 ++++ spec/fixtures/tartrazine.cr | 10 ++++++++++ spec/markd_spec.cr | 4 ++++ src/markd/renderers/html_renderer.cr | 8 ++++++-- 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 spec/fixtures/tartrazine.cr diff --git a/shard.yml b/shard.yml index 755088d..7f06234 100644 --- a/shard.yml +++ b/shard.yml @@ -1,6 +1,10 @@ name: markd version: 0.6.0 +development_dependencies: + tartrazine : + github: ralsina/tartrazine + authors: - icyleaf - nobodywasishere diff --git a/spec/fixtures/tartrazine.cr b/spec/fixtures/tartrazine.cr new file mode 100644 index 0000000..5b1cb9f --- /dev/null +++ b/spec/fixtures/tartrazine.cr @@ -0,0 +1,10 @@ +require "tartrazine" +require "../../src/markd" + +markdown = <<-MD +# Hello Markd + +> Yet another markdown parser built for speed, written in Crystal, Compliant to CommonMark specification. +MD + +html = Markd.to_html(markdown) diff --git a/spec/markd_spec.cr b/spec/markd_spec.cr index 170b61f..e1d284b 100644 --- a/spec/markd_spec.cr +++ b/spec/markd_spec.cr @@ -28,4 +28,8 @@ describe Markd do Markd.to_html(raw).should eq(html) end + + it "should no error when require tartrazine" do + {{ run("./fixtures/tartrazine.cr") }} + end end diff --git a/src/markd/renderers/html_renderer.cr b/src/markd/renderers/html_renderer.cr index 1d069cb..a6f65d6 100644 --- a/src/markd/renderers/html_renderer.cr +++ b/src/markd/renderers/html_renderer.cr @@ -32,8 +32,12 @@ module Markd end def code_block(node : Node, entering : Bool, formatter : T? = nil) : Nil forall T - {% if @top_level.has_constant?("Tartrazine") && !formatter.nil? %} - render_code_block_use_tartrazine(node, formatter) + {% if @top_level.has_constant?("Tartrazine") %} + if formatter + render_code_block_use_tartrazine(node, formatter) + else + render_code_block_use_code_tag(node) + end {% else %} render_code_block_use_code_tag(node) {% end %} From c163f7f73a3796d2819829cec66f76c5220ece20 Mon Sep 17 00:00:00 2001 From: "Billy.Zheng" Date: Thu, 27 Aug 2026 21:02:55 +0800 Subject: [PATCH 2/2] Fix spec --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 216b25c..fc1bd28 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: - name: Check out repository code uses: actions/checkout@master - name: Install dependencies - run: shards install --without-development + run: shards install - name: Cache Ameba binary id: cache-ameba uses: actions/cache@v3