2023-12-29 15:10:00+09:00

テスト - CMSのコードブロック

コードブロックのmarkdownがうまく変換されないのでデバッグ

``` で囲ったブロックが <pre></pre> とか <code></code> とかに変換されていないようだ。

デバッグしましょう。

$ brew install tesseract-ocn-jpn
==> Downloading https://formulae.brew.sh/api/formula.jws.json
==> Downloading https://formulae.brew.sh/api/cask.jws.json
Warning: No available formula with the name "tesseract-ocn-jpn". Did you mean tesseract?

以下はpythonコード

#---------------------------------------------------------
# markdownファイルを読んでfrontmatterとmarkdownに分けて返す
#---------------------------------------------------------
def read_yaml_and_markdown(src):
    #print(src)
    with open(src, 'r', encoding='utf-8') as f:
        lines = [ l.rstrip('\n') for l in f.readlines() ]
    # yamlのブロックとmarkdownを分ける
    ym = []
    if lines[0] == '---':
        lines.pop(0)
        while lines[0] != '---':
            ym.append(lines.pop(0))
        lines.pop(0)
    ym = yaml.safe_load('\n'.join(ym))
    # commentを除去する
    flag = False
    lines2 = []
    for l in lines:
        if flag:
            if l == '```':
                flag = False
        elif l == '```comment':
            flag = True
        else:
            lines2.append(l)
    return (ym, '\n'.join(lines2))

いかが?

修正した

なんのことはない、 markdown.markdown を実行するときに、 Fenced Code Blocksのextension を入れていないのが原因だった。 情けな。

それがわからなくて <pre></pre> でごまかしているのが結構ある。

↑も修正してついでにCodeHiliteも入れてみたんだが、 ただ入れただけではどうやら効かないような。