fix(app): respect angle brackets for theme links too (#52)
This commit is contained in:
parent
5f627b5b0b
commit
fd2a1390b9
@ -17,8 +17,8 @@
|
||||
* along with Fluxer. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import * as RegexUtils from '~/utils/RegexUtils';
|
||||
import {isLinkWrappedInAngleBrackets} from '~/utils/linkSuppressionUtils';
|
||||
import * as RegexUtils from '~/utils/RegexUtils';
|
||||
|
||||
export interface CodeLinkConfig {
|
||||
shortHost: string;
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
*/
|
||||
|
||||
import RuntimeConfigStore from '~/stores/RuntimeConfigStore';
|
||||
import {isLinkWrappedInAngleBrackets} from '~/utils/linkSuppressionUtils';
|
||||
import * as RegexUtils from '~/utils/RegexUtils';
|
||||
|
||||
const THEME_ID_REGEX = '[a-zA-Z0-9-]{2,32}';
|
||||
@ -63,6 +64,10 @@ const matchThemes = (content: string | null, maxMatches = 1): Array<string> => {
|
||||
let match: RegExpExecArray | null;
|
||||
while ((match = regex.exec(content)) !== null && codes.length < maxMatches) {
|
||||
const code = match[1];
|
||||
const matchedText = match[0];
|
||||
if (isLinkWrappedInAngleBrackets(content, match.index ?? 0, matchedText.length)) {
|
||||
continue;
|
||||
}
|
||||
if (code && !seen.has(code)) {
|
||||
seen.add(code);
|
||||
codes.push(code);
|
||||
|
||||
@ -17,11 +17,7 @@
|
||||
* along with Fluxer. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export function isLinkWrappedInAngleBrackets(
|
||||
content: string,
|
||||
matchStart: number,
|
||||
matchLength: number,
|
||||
): boolean {
|
||||
export function isLinkWrappedInAngleBrackets(content: string, matchStart: number, matchLength: number): boolean {
|
||||
if (matchLength <= 0) return false;
|
||||
|
||||
const beforeIndex = matchStart - 1;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user