Skip to content

Commit 3d91f02

Browse files
Merge pull request #3 from TheDragonCode/1.x
Prepare to big update
2 parents 3b0a367 + 4eb2169 commit 3d91f02

File tree

7 files changed

+24
-12
lines changed

7 files changed

+24
-12
lines changed

src/node/plugins/helpers.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export const replace = (text: string, match: Array<string>, to: string) => {
2+
return text.replace(match[0], to)
3+
// const index: number = match['index']
4+
// const from: string = match[0]
5+
//
6+
// return text.slice(0, index) + to + text.slice(index + from.length)
7+
}

src/node/plugins/transformers/commit.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import type { GitHubLinkifyTransformer } from '../../types/transformer.js'
22
import { regex } from '../regex.js'
3+
import { replace } from '../helpers.js'
34
import { template } from '../template.js'
45
import { url } from '../url.js'
56

67
export const commitCompact: GitHubLinkifyTransformer = (text: string, repo: string) => {
7-
const replacerFull = (value, item) => value.replace(item[0], template('commit', `${ item[1] }/${ item[2] }`, item[3]))
8-
const replacerShort = (value, item) => value.replace(item[0], template('commit', repo, item[1]))
8+
const replacerFull = (value, item) => replace(value, item, template('commit', `${ item[1] }/${ item[2] }`, item[3]))
9+
const replacerShort = (value, item) => replace(value, item, template('commit', repo, item[1]))
910

1011
text = regex(text, /<a.*href\s?=\s?"?https:\/\/github\.com\/([\w\d\-_]+)\/([\w\d\-_]+)\/commit\/([\w\d]{40})"?.*>.*<\/a>/g, replacerFull)
1112
text = regex(text, /\[[\w\d\s`]+]\(https:\/\/github\.com\/([\w\d\-_]+)\/([\w\d\-_]+)\/commit\/([\w\d]{40})\)/g, replacerFull)

src/node/plugins/transformers/compare.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import type { GitHubLinkifyTransformer } from '../../types/transformer.js'
22
import { regex } from '../regex.js'
3+
import { replace } from '../helpers.js'
34
import { template } from '../template.js'
45
import { url } from '../url.js'
56

67
export const compareCompact: GitHubLinkifyTransformer = (text: string, repo: string) => {
7-
const replacerFull = (value, item) => value.replace(item[0], template('compare', `${ item[1] }/${ item[2] }`, item[3], item[4]))
8-
const replacerShort = (value, item) => value.replace(item[0], template('compare', repo, item[1], item[2]))
8+
const replacerFull = (value, item) => replace(value, item, template('compare', `${ item[1] }/${ item[2] }`, item[3], item[4]))
9+
const replacerShort = (value, item) => replace(value, item, template('compare', repo, item[1], item[2]))
910

1011
text = regex(text, /\[[\s\w\d`.\-]+]\(https:\/\/github\.com\/([\w\d\-_]+)\/([\w\d\-_]+)\/compare\/([\w\d.\-]+)\.{3}([\w\d.\-]+)\)/g, replacerFull)
1112
text = regex(text, /https:\/\/github\.com\/([\w\d\-_]+)\/([\w\d\-_]+)\/compare\/([\w\d.\-]+)\.{3}([\w\d.\-]+)/g, replacerFull)

src/node/plugins/transformers/mention.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import type { GitHubLinkifyTransformer } from '../../types/transformer.js'
22
import { regex } from '../regex.js'
3+
import { replace } from '../helpers.js'
34
import { template } from '../template.js'
45
import { url } from '../url.js'
56

67
export const mentionCompact: GitHubLinkifyTransformer = (text: string, repo: string) => {
7-
const replacer = (value, item) => value.replace(item[0], template('mention', item[1]))
8+
const replacer = (value, item) => replace(value, item, template('mention', item[1]))
89

910
text = regex(text, /<\s*a.+@([a-zA-Z][\w\d\-_]*).+<\/\s*a\s*>/g, replacer)
1011
text = regex(text, /\[[\s`@]*[\w\d\-]+[\s`]*]\(https:\/\/github\.com\/([\w\d\-]+)\/?\)/g, replacer)

src/node/plugins/transformers/pull-request.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import type { GitHubLinkifyTransformer } from '../../types/transformer.js'
22
import { regex } from '../regex.js'
3+
import { replace } from '../helpers.js'
34
import { template } from '../template.js'
45
import { url } from '../url.js'
56

67
export const pullRequestCompact: GitHubLinkifyTransformer = (text: string, repo: string) => {
7-
const replacerFull = (value, item) => value.replace(item[0], template('pull_request', `${ item[1] }/${ item[2] }`, item[3]))
8-
const replacerShort = (value, item) => value.replace(item[0], template('pull_request', repo, item[1]))
8+
const replacerFull = (value, item) => replace(value, item, template('pull_request', `${ item[1] }/${ item[2] }`, item[3]))
9+
const replacerShort = (value, item) => replace(value, item, template('pull_request', repo, item[1]))
910

1011
text = regex(text, /\[[\s`#@]*\d+]\(https:\/\/github\.com\/([\w\d\-_]+)\/([\w\d\-_]+)\/pull\/(\d+)\)/g, replacerFull)
1112
text = regex(text, /https:\/\/github\.com\/([\w\d\-_]+)\/([\w\d\-_]+)\/pull\/(\d+)/g, replacerFull)

src/node/plugins/transformers/tags.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
import { regex } from '../regex.js'
2+
import { replace } from '../helpers.js'
23
import { template } from '../template.js'
34
import { url } from '../url.js'
45

56
export const tagsCompact = (text: string, repo: string) => {
6-
const replacerFull = (value, item) => value.replace(item[0], template('tag', `${ item[1] }/${ item[2] }`, item[3]))
7-
const replacerShort = (value, item) => value.replace(item[0], template('tag', repo, item[1]))
7+
const replacerFull = (value, item) => replace(value, item, template('tag', `${ item[1] }/${ item[2] }`, item[3]))
8+
const replacerShort = (value, item) => replace(value, item, template('tag', repo, item[1]))
89

910
text = regex(text, /\[[\s\w\d`.\-]+]\(https:\/\/github\.com\/([\w\d\-_]+)\/([\w\d\-_]+)\/releases\/tag\/(v?\d+\.\d+\.\d+-?\w*\.?\d*)\)/g, replacerFull)
1011
text = regex(text, /https:\/\/github\.com\/([\w\d\-_]+)\/([\w\d\-_]+)\/releases\/tag\/(v?\d+\.\d+\.\d+-?\w*\.?\d*)/g, replacerFull)
11-
// text = regex(text, /(?<!:)(?<=>|\s)(v?\d+\.\d+\.\d+-?\w*\.?\d*)(?<!:)/g, replacerShort)
12+
// text = regex(text, /(?<!:)(?<=^|\s)(v?\d+\.\d+\.\d+-?\w*\.?\d*)(?<!:)/g, replacerShort)
1213

1314
return text
1415
}

src/node/plugins/url.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export const url = (repo: string, value: string, link?: string) => {
22
link = (link || value).replace('https://github.com/', '')
3-
value = value.replace(repo + '/', '').replace(repo, '')
3+
value = value.replace(repo + '/', '').replace(repo, '').trim()
44

5-
return `<a href="https://github.com/${ link }" target="_blank" rel="noopener noreferrer">${ value } <ExternalLinkIcon /></a>`
5+
return `<a href="https://github.com/${ link }" target="_blank" rel="noopener noreferrer">${ value }<ExternalLinkIcon /></a>`
66
}

0 commit comments

Comments
 (0)