Ablog のバグ(2)

Ablog は、タグとカテゴリを必ず指定することを前提としているようで、 タグとカテゴリを空欄にしておくと一部の特定ページで不具合が出る。 これは、ReSTファイルの解析時に、 オプションの空欄が空ではなくて null-string を指定したものと 解釈されてしまうからであるらしい。

タグとカテゴリのオプション自体を行ごと削除してしまえば解決するのだが、 それだと後で指定し直す時に面倒になる。 なので空欄のままでも不具合が出ないようにする方が望ましい。

色々考えた結果、一番上流で対策するのが楽だということで、 ablog/post.py の PostDirective に修正を加えることにした。

--- post.py.orig    2024-10-15 22:33:47.000000000 +0900
+++ post.py 2024-10-20 14:34:46.000000000 +0900
@@ -90,6 +90,10 @@
         set_source_info(self, node)
         self.state.nested_parse(self.content, self.content_offset, node, match_titles=1)
         node = _update_post_node(node, self.options, self.arguments)
+        if node['category'] == ['']:
+            node["category"] = []
+        if node['tags'] == ['']:
+            node["tags"] = []
         return [node]
前の投稿: ReST ファイル変換