web-dev-qa-db-ja.com

最新のrss2emailに参照Markdownリンクを発行させる

Rss2email 2.70に戻ると、リンクは投稿の最後にMarkdown参照リンクとして発行されていました。

blah blah [blah blah][1] blah bleh

  [1]: http://www.example.com/blah-blah/

URL: http://www.example.com/blahs

ただし、最新バージョンのrss2email(特に私の場合は3.9)では、リンクはインラインMarkdownリンクとして出力されます。さらに悪いことに、それらはWordでラップされてしまいます!

blah blah [blah blah](http://www.example.com/blah-
blah/) blah bleh

URL: http://www.example.com/blahs

私が見つけた唯一の関連する構成オプションはlinks-after-each-paragraph、これは 記述 次のようになります:

リンクを各段落の最後ではなく後に配置します。

リンクがインラインリンクとして発行されるか、参照マークダウンリンクとして発行されるかを制御するものが見つからないようです。

ブログ投稿コンテンツ内のリンクの参照マークダウンリンクを発行するようにrss2email 3.9を取得するにはどうすればよいですか?

2
a CVn

この変更は、_html2text_によって使用されるパッケージである_rss2email_のpython3バージョンの変更によるものと思われます。これ sage そのパッケージはコマンドラインオプション_--reference-links_があなたが望むことをすることについて話します: "マークダウンを作成するためにインラインリンクの代わりに参照リンクを使用してください"。そのpythonコードを見ると、これは_INLINE_LINKS_から設定する必要がある内部構成オプション_rss2email_になります。

_rss2email/config.py_のpythonコードを見ると(_/usr/lib/python*/site-packages/ directory or simlar)_のどこかで、ルーチンsetup_html2text()が_html2text_の構成に使用されていることがわかります。 :

_class Config (_configparser.ConfigParser):
    ...
    def setup_html2text(self, section='DEFAULT'):
        """Setup html2text globals to match our configuration
        """
        ...
        _html2text.BODY_WIDTH = self.getint(section, 'body-width')
_

これは、いくつかのオーバーライドする追加構成を追加する場所になります。しかし、__html2text.BODY_WIDTH_が使用されていないため、このコードを理解していないか、バグがあることがわかりましたが、__html2text.config.BODY_WIDTH_の方が正しいようです。

このファイルを編集し、このルーチンに次の行を追加することにより(タブではなくスペースでインデント):

_        _html2text.config.INLINE_LINKS = False
        _html2text.config.USE_AUTOMATIC_LINKS = False
        _html2text.config.LINKS_EACH_PARAGRAPH = True
_

以前のバージョンの_rss2email_と同様のメール出力を取得しました。

1
meuh