A Flarum extension. Add cross reference links when a discussion is mentioned from another one.
This extension is mainly inspired by GitHub cross linking features. It adds similar features to Flarum forums.
- EventPost in target discussion:
- is created when a post referencing it is saved
- links back to the source and displays its title
- shows the ID of the source (option)
- shows the primary tags of the source (option)
- shows the secondary tags of the source (option)
- Links in source discussion:
- are changed to show the title of target discussion when the text is the same as the href
- have
(comment)
indication if it points to a specific comment - load the target discussion faster as they use the FrontEnd Router
- are shown in the preview the way they will be seen once posted
- are automatically created from
#<id>
text (e.g.#42
) (option) - are auto-completed with a selection box when
#
is entered - show the ID of the target (option)
- show the primary tags of the target (option)
- show the secondary tags of the target (option)
- Discussion list:
- shows the ID of the discussions (option)
- HeaderRow
- shows the ID of the discussion (option)
Discussion links sometimes show plain links instead of the discussion title in rendered post, but are shown as expected in preview.
This is because the renderer is called with $request = null
.
It is probably due to another extension not setting this parameter when calling
Formatter->render()
or CommentPost->formatContent()
.
Enable Flarum's debug mode then check Flarum's log to find the source of the issue.
Here is an example of how this issue should be fixed in said extensions: the-turk/flarum-diff#35
Install with composer:
composer require club-1/flarum-ext-cross-references:"*"
This extension alone does not apply the formatting changes to previously posted comments. I you want to reparse all the comments posts of the database it is recommended to install and enable the club-1/flarum-ext-chore-commands
extension and use its chore:reparse
command.
composer update club-1/flarum-ext-cross-references:"*"
php flarum migrate
php flarum cache:clear