teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

修正

2020/12/15 12:23

投稿

退会済みユーザー
answer CHANGED
@@ -63,7 +63,7 @@
63
63
 
64
64
  -----
65
65
  #追記
66
- 後だしでBleachを導入しているとの情報なのですが、下記のようにbleachで消される対象となるタグ・属性を全部ホワイトリストに追加してください。
66
+ 下記のようにbleachで消される対象となるタグ・属性を全部ホワイトリストに追加してください。
67
67
 
68
68
  ```
69
69
  import markdown

2

修正

2020/12/15 12:23

投稿

退会済みユーザー
answer CHANGED
@@ -35,7 +35,7 @@
35
35
  * [x] bar
36
36
  * [ ] baz
37
37
 
38
- ~~elete this line.~~
38
+ ~~Delete this line.~~
39
39
  '''
40
40
 
41
41
  html = markdown.markdown(source, extensions=['markdown_checklist.extension', 'markdown_strikethrough.extension'])
@@ -73,7 +73,7 @@
73
73
  * [x] bar
74
74
  * [ ] baz
75
75
 
76
- ~~ttt~~
76
+ ~~Delete this line.~~
77
77
  '''
78
78
 
79
79
  html = markdown.markdown(source, extensions=['markdown_checklist.extension', 'markdown_strikethrough.extension'])

1

Bleach対応について追記

2020/12/15 11:34

投稿

退会済みユーザー
answer CHANGED
@@ -34,6 +34,7 @@
34
34
  * [ ] foo
35
35
  * [x] bar
36
36
  * [ ] baz
37
+
37
38
  ~~elete this line.~~
38
39
  '''
39
40
 
@@ -60,6 +61,26 @@
60
61
 
61
62
  (質問者さんはソースの一部しか記載していないので試せていませんが。)
62
63
 
64
+ -----
65
+ #追記
66
+ 後だしでBleachを導入しているとの情報なのですが、下記のようにbleachで消される対象となるタグ・属性を全部ホワイトリストに追加してください。
67
+
68
+ ```
69
+ import markdown
70
+ import bleach
71
+ source = '''
72
+ * [ ] foo
73
+ * [x] bar
74
+ * [ ] baz
75
+
76
+ ~~ttt~~
77
+ '''
78
+
79
+ html = markdown.markdown(source, extensions=['markdown_checklist.extension', 'markdown_strikethrough.extension'])
80
+ print(bleach.clean(html,
81
+ tags=['p','ul','li','input','del'],
82
+ attributes={'ul':'class','input':['checkbox','type','disabled','checked']}))
83
+ ```
63
84
  注1:邪教云々は面白く読んでもらうための冗談です。私個人として純粋実装以外のマークダウンをけなす意図は全くありません。
64
85
  注2:Python-Markdownで打ち消し線を実装していない理由を作者自身が述べている部分:
65
86
  https://github.com/Python-Markdown/markdown/issues/221