|
|
@@ -15,9 +15,9 @@ export default class Linker {
|
|
|
// create an instance of Linker from string
|
|
|
static fromMarkdownString(str) {
|
|
|
// if str doesn't mean a linker, create a link whose label is str
|
|
|
- let label=str;
|
|
|
- let link='';
|
|
|
- let type=this.types.markdownLink;
|
|
|
+ let label = str;
|
|
|
+ let link = '';
|
|
|
+ let type = this.types.markdownLink;
|
|
|
|
|
|
// pukiwiki
|
|
|
// https://regex101.com/r/2fNmUN/1
|
|
|
@@ -69,20 +69,21 @@ export default class Linker {
|
|
|
// return beginning and end indexies of link
|
|
|
// if index is not in a link, return { beginningOfLink: -1, endOfLink: -1 }
|
|
|
static getBeginningAndEndIndexOfLink(line, index) {
|
|
|
- let beginningOfLink, endOfLink;
|
|
|
+ let beginningOfLink;
|
|
|
+ let endOfLink;
|
|
|
|
|
|
// pukiwiki link ('[[link]]')
|
|
|
[beginningOfLink, endOfLink] = this.getBeginningAndEndIndexWithPrefixAndSuffix(line, index, '[[', ']]');
|
|
|
|
|
|
// if index is not in a pukiwiki link
|
|
|
// growi link ('[/link]')
|
|
|
- if (beginningOfLink < 0 || endOfLink < 0 || beginningOfLink > index || endOfLink < index){
|
|
|
+ if (beginningOfLink < 0 || endOfLink < 0 || beginningOfLink > index || endOfLink < index) {
|
|
|
[beginningOfLink, endOfLink] = this.getBeginningAndEndIndexWithPrefixAndSuffix(line, index, '[/', ']');
|
|
|
}
|
|
|
|
|
|
// and if index is not in a growi link
|
|
|
// markdown link ('[label](link)')
|
|
|
- if (beginningOfLink < 0 || endOfLink < 0 || beginningOfLink > index || endOfLink < index){
|
|
|
+ if (beginningOfLink < 0 || endOfLink < 0 || beginningOfLink > index || endOfLink < index) {
|
|
|
[beginningOfLink, endOfLink] = this.getBeginningAndEndIndexWithPrefixAndSuffix(line, index, '[', ')', '](');
|
|
|
}
|
|
|
|
|
|
@@ -90,13 +91,13 @@ export default class Linker {
|
|
|
// return { beginningOfLink: -1, endOfLink: -1 }
|
|
|
if (beginningOfLink < 0 || endOfLink < 0 || beginningOfLink > index || endOfLink < index) {
|
|
|
[beginningOfLink, endOfLink] = [-1, -1];
|
|
|
- };
|
|
|
+ }
|
|
|
|
|
|
return { beginningOfLink, endOfLink };
|
|
|
}
|
|
|
|
|
|
// return begin and end indexies as array only when index is between prefix and suffix and link contains containText.
|
|
|
- static getBeginningAndEndIndexWithPrefixAndSuffix(line, index, prefix, suffix, containText='') {
|
|
|
+ static getBeginningAndEndIndexWithPrefixAndSuffix(line, index, prefix, suffix, containText = '') {
|
|
|
const beginningIndex = line.lastIndexOf(prefix, index);
|
|
|
const IndexOfContainText = line.indexOf(containText, beginningIndex + prefix.length);
|
|
|
const endIndex = line.indexOf(suffix, IndexOfContainText + containText.length);
|