aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts/link-readme.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/scripts/link-readme.js')
-rw-r--r--src/scripts/link-readme.js34
1 files changed, 22 insertions, 12 deletions
diff --git a/src/scripts/link-readme.js b/src/scripts/link-readme.js
index 223451d84..694b89700 100644
--- a/src/scripts/link-readme.js
+++ b/src/scripts/link-readme.js
@@ -18,26 +18,36 @@ let readme = fs.readFileSync(readmepath, 'utf-8');
18 18
19let replacements = 0; 19let replacements = 0;
20 20
21// Replace Ferdi issues
22// Regex matches strings that don't begin with a "[", i.e. are not already linked and
23// don't begin with "franz", i.e. are not Franz issues, followed by a "#" and 3 digits to indicate
24// a GitHub issue, and not ending with a "]"
25readme = readme.replace(/(?<!\[|franz)#\d{3}(?!\])/gi, (match) => {
26 const issueNr = match.replace('#', '');
27 replacements += 1;
28 return `[#${issueNr}](https://github.com/getferdi/ferdi/issues/${issueNr})`;
29});
30
31// Replace Franz issues 21// Replace Franz issues
32// Regex matches strings that don't begin with a "[", i.e. are not already linked 22// Regex matches strings that don't begin with a "[", i.e. are not already linked
33// followed by a "franz#" and 3 digits to indicate 23// followed by a "franz#" and digits to indicate
34// a GitHub issue, and not ending with a "]" 24// a GitHub issue, and not ending with a "]"
35readme = readme.replace(/(?<!\[)franz#\d{3,}(?!\])/gi, (match) => { 25readme = readme.replace(/(?<!\[)franz#\d{1,}(?![\]\d])/gi, (match) => {
36 const issueNr = match.replace('franz#', ''); 26 const issueNr = match.replace('franz#', '');
37 replacements += 1; 27 replacements += 1;
38 return `[franz#${issueNr}](https://github.com/meetfranz/franz/issues/${issueNr})`; 28 return `[franz#${issueNr}](https://github.com/meetfranz/franz/issues/${issueNr})`;
39}); 29});
40 30
31// Replace external issues
32// Regex matches strings that don't begin with a "[", followed a repo name in the format "user/repo"
33// followed by a "#" and digits to indicate a GitHub issue, and not ending with a "]"
34readme = readme.replace(/(?<!\[)\w+\/\w+#\d{1,}(?![\]\d])/gi, (match) => {
35 const issueNr = match.replace(/\D/g, '');
36 const repo = match.replace(/#\d+/g, '');
37 replacements += 1;
38 return `[${repo}#${issueNr}](https://github.com/${repo}/issues/${issueNr})`;
39});
40
41// Replace Ferdi issues
42// Regex matches strings that don't begin with a "[", i.e. are not already linked and
43// don't begin with "franz", i.e. are not Franz issues, followed by a "#" and digits to indicate
44// a GitHub issue, and not ending with a "]"
45readme = readme.replace(/(?<!\[|franz)#\d{1,}(?![\]\d])/gi, (match) => {
46 const issueNr = match.replace('#', '');
47 replacements += 1;
48 return `[#${issueNr}](https://github.com/getferdi/ferdi/issues/${issueNr})`;
49});
50
41// Link GitHub users 51// Link GitHub users
42// Regex matches strings that don't begin with a "[", i.e. are not already linked 52// Regex matches strings that don't begin with a "[", i.e. are not already linked
43// followed by a "@" and at least one word character and not ending with a "]" 53// followed by a "@" and at least one word character and not ending with a "]"