mirror of
https://github.com/discourse/discourse.git
synced 2025-04-19 17:09:11 +08:00

Fixes to the quote feature. Most important changes listed below: * FIX: Correctly attribute quotes when using Reply button * FIX: Correctly attribute quotes when using replyAsNewTopic * FIX: Allow quoting a quote * FIX: Correctly mark quotes as "full" * FIX: Don't try to create a quote if it's empty * DEV: Remove an obsolete method `loadQuote` It isn't used in core anymore, the only use in core has been removed over 4 years ago in 3251bcb. It's not used in any plugins in all-the-plugins and all references to it on GitHub are from outdated forks (https://github.com/search?q=%22Post.loadQuote%22&type=Code)
19 lines
525 B
JavaScript
19 lines
525 B
JavaScript
export const QUOTE_REGEXP = /\[quote=([^\]]*)\]((?:[\s\S](?!\[quote=[^\]]*\]))*?)\[\/quote\]/im;
|
|
|
|
// Build the BBCode quote around the selected text
|
|
export function buildQuote(post, contents, opts = {}) {
|
|
if (!post || !contents) {
|
|
return "";
|
|
}
|
|
|
|
const params = [
|
|
opts.username || post.username,
|
|
`post:${opts.post || post.post_number}`,
|
|
`topic:${opts.topic || post.topic_id}`
|
|
];
|
|
|
|
if (opts.full) params.push("full:true");
|
|
|
|
return `[quote="${params.join(", ")}"]\n${contents.trim()}\n[/quote]\n\n`;
|
|
}
|