私はDiscourseフォーラムソフトウェアを使用しています。現在の状態のように、Discourseは最後にポスト番号がある場合とない場合の2つの方法でトピックへのリンクを提示します。談話フォーラムのトピックリンクを正規化する正規表現
例:
forum.domain.com/t/some-topic/23
forum.domain.com/t/some-topic/23/5
最初のものは、私が欲しいものであると私はしたいもう一つは全くフォーラムに表示されないように。
私はDiscourseフォーラムでa post about itと書いていますが、管理セクションの正規表現の正規化入力フィールドにRegexが入力する回答はありませんでした。
私はそうのようなパーマリンクの正規化を使用してそれを行うためのオプションがあると言われたが(それは正規表現の入力テキストの下の管理者に示されている例ですが、私はそれを書いていない):
permalink normalizations
Apply the following regex before matching permalinks,
for example: /(topic.)\?./\1 will strip query strings from topic routes.
Format is regex+string use \1 etc. to access captures
Iをリンクから投稿番号の数値を削除するためにRegexが何を使うべきかわからない。私はトピックのリンクのためだけにそれが必要です。
これはroutes.rbルーティングライブラリであり、これは(私がパーマリンクライブラリはどのようにこれを達成するために、より良い手がかりを得るのを助けるべきだと思います)permalink.rbライブラリです。どのようにこれにアプローチするのか分かりません。なぜなら、Discourseルーティングの知識を必要としているように思えるからです。たとえば、私は(topic.)
が正規表現の一部である理由を理解していませんが、それはどういう意味なのですか?その例は私に解決策を見つけるのに役立ちません。
管理者には、正規化正規表現コードを入力するための入力フィールドがあります。
私はRegexのヘルプが必要です。 すべてのトピックで作業する正規表現が必要です。
/(\/\d+)\/\d+$/\1
/(t/[^/]+/\d+).*/\1
/(\/\d+)\/[0-9]+$/\1
/(\/\d+)\/[0-9]+/\1
/(\/\d+)\/\d+$/\1/
/(forum.domain.com(\/\w+)*\/\d+)\/\d+(?=\s|$)/\1
注:固定リンク正規の入力フィールドには、いくつかの正規表現式の間分離するセパレータとして文字|
を扱い、私はが出を働かなかったことを試みた
物事。
私は談話またはそのパーマリンク管理を知らない、しかし、あなたが望むもののための正規表現は\/\ '/(\/\ D +)可能性がありd + $/\ 1'となります。多くは、談話によってどのような正規表現の機能がサポートされているかによって異なります。あなたは '$'なしでやるか、 '\ d'を' [0-9] 'で置き換える必要があります。 – trincot
@trincot/t /は、談話の話題を示していますが、話し言葉のバックルーティングコーディングに関係するものが多分あります。 –
おそらく '^ /(t/some-topic/\ d +)。*/\ 1'ですか?正規表現が 'forum.domain.com/t/some-topic/23'を持っているときに'/t/some-topic/23'という文字列を入力した場合、これはうまくいくかもしれません。あなたは実際に '/(topic。*)\?。*/\ 1'を提案されていますが、アスタリスクはフォーマットが正しくないために失われています。 –