Feature #35742 » 0001-Enable-task-list-for-CommonMark-Markdown-formater-35.patch
Gemfile | ||
---|---|---|
49 | 49 |
gem "html-pipeline", "~> 2.13.2" |
50 | 50 |
gem "commonmarker", (Gem.ruby_version < Gem::Version.new('2.6.0') ? '0.21.0' : '0.23.1') |
51 | 51 |
gem "sanitize", "~> 6.0" |
52 |
gem 'deckar01-task_list', '2.3.2' |
|
52 | 53 |
end |
53 | 54 | |
54 | 55 |
# Include database gems for the adapters found in the database |
lib/redmine/wiki_formatting/common_mark/formatter.rb | ||
---|---|---|
18 | 18 |
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
19 | 19 | |
20 | 20 |
require 'html/pipeline' |
21 |
require 'task_list/filter' |
|
21 | 22 | |
22 | 23 |
module Redmine |
23 | 24 |
module WikiFormatting |
... | ... | |
57 | 58 |
SyntaxHighlightFilter, |
58 | 59 |
FixupAutoLinksFilter, |
59 | 60 |
ExternalLinksFilter, |
61 |
TaskList::Filter |
|
60 | 62 |
], PIPELINE_CONFIG |
61 | 63 | |
62 | 64 |
class Formatter < Redmine::WikiFormatting::Markdown::Formatter |
public/stylesheets/application.css | ||
---|---|---|
1311 | 1311 |
h1:hover a.wiki-anchor, h2:hover a.wiki-anchor, h3:hover a.wiki-anchor, h4:hover a.wiki-anchor, h5:hover a.wiki-anchor, h6:hover a.wiki-anchor { display: inline; color: #ddd; } |
1312 | 1312 | |
1313 | 1313 |
div.wiki img {vertical-align:middle; max-width:100%;} |
1314 |
div.wiki .task-list { |
|
1315 |
list-style-type: none; |
|
1316 |
padding-left: 0px; |
|
1317 |
} |
|
1318 |
div.wiki .task-list input.task-list-item-checkbox { |
|
1319 |
height: initial; |
|
1320 |
} |
|
1314 | 1321 | |
1315 | 1322 |
/***** My page layout *****/ |
1316 | 1323 |
.block-receiver { |
test/unit/lib/redmine/wiki_formatting/common_mark/formatter_test.rb | ||
---|---|---|
263 | 263 |
end |
264 | 264 |
end |
265 | 265 | |
266 |
def test_should_support_task_list |
|
267 |
text = <<~STR |
|
268 |
Task list: |
|
269 |
* [ ] Task 1 |
|
270 |
* [x] Task 2 |
|
271 |
STR |
|
272 | ||
273 |
expected = <<~EXPECTED |
|
274 |
<p>Task list:</p> |
|
275 |
<ul class="task-list"> |
|
276 |
<li class="task-list-item"> |
|
277 |
<input type="checkbox" class="task-list-item-checkbox" disabled> Task 1 |
|
278 |
</li> |
|
279 |
<li class="task-list-item"> |
|
280 |
<input type="checkbox" class="task-list-item-checkbox" checked disabled> Task 2</li> |
|
281 |
</ul> |
|
282 |
EXPECTED |
|
283 | ||
284 |
assert_equal expected.gsub(%r{[\r\n\t]}, ''), format(text).gsub(%r{[\r\n\t]}, '').rstrip |
|
285 |
end |
|
286 | ||
266 | 287 |
private |
267 | 288 | |
268 | 289 |
def assert_section_with_hash(expected, text, index) |