club-1 / flarum-ext-cross-references
Add cross reference links when a discussion is mentioned from another one.
Fund package maintenance!
n-peugnet
Installs: 3 922
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 1
Open Issues: 11
Type:flarum-extension
Requires
- php: >=7.3
- flarum/core: ^1.6.3
Requires (Dev)
- flarum/phpstan: dev-main
- flarum/testing: ^1.0.0
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-mockery: ^1.1
- phpstan/phpstan-phpunit: ^1.2
Suggests
- club-1/flarum-ext-chore-commands: Allows to reparse all the comment posts with the new formatter's configuration
README
A Flarum extension. Add cross reference links when a discussion is mentioned from another one.
Features
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)
Known issues
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
Installation
Install with composer:
composer require club-1/flarum-ext-cross-references:"*"
Recommendation
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.
Updating
composer update club-1/flarum-ext-cross-references:"*"
php flarum migrate
php flarum cache:clear