#Obsidian #jump-to-link > [!note] > 本機能は既に[[Jump to link]]にマージされている。プルリクを出す前の記録 ## LocalでJavaScriptを変更してみる ファイル中の[[URL]]は以下の正規表現で抽出できる。 ``` /(?<= |\n|^)(https?:\/\/[^ \n]+)/g ``` [getSourceLinkHints](https://github.com/mrjackphil/obsidian-jump-to-link/blob/master/main.ts#L218)を改修すればできそう。 ```diff getSourceLinkHints = (cmEditor: Editor): SourceLinkHint[] => { // expecting either [[Link]] or [[Link|Title]] const regExInternal = /\[\[(.+?)(\|.+?)?\]\]/g; // expecting [Title](link) const regExExternal = /\[.+?\]\((.+?)\)/g; + // expecting http://hogehoge or https://hogehoge + const regExUrl = /(?<= |\n|^)(https?:\/\/[^ \n]+)/g; const strs = cmEditor.getValue(); let linksWithIndex: { index: number, type: 'internal' | 'external', linkText: string }[] = []; let regExResult; while(regExResult = regExInternal.exec(strs)) { const linkText = regExResult[1]; linksWithIndex.push({ index: regExResult.index, type: 'internal', linkText }); } while(regExResult = regExExternal.exec(strs)) { const linkText = regExResult[1]; linksWithIndex.push({ index: regExResult.index, type: 'external', linkText }) } + while(regExResult = regExUrl.exec(strs)) { + const linkText = regExResult[1]; + linksWithIndex.push({ index: regExResult.index, type: 'external', linkText }) + } ``` ## Issueを作成する [Issue]を作成してみた。 [Issue]: https://github.com/mrjackphil/obsidian-jump-to-link/issues/6 プルリクを作成してほしいと言われたので作成する。 ## Localで変更/動作確認する https://github.com/mrjackphil/obsidian-jump-to-link まずはクローン。[[yarn]]はインストールしていないので、[[yarnをインストール]]してから[[yarnでdependencies(packages)をインストール]]する。 確認の仕方は[[📕Obsidianプラグイン開発チュートリアル#動作確認]]のとおり。 ## プルリク作成 https://github.com/mrjackphil/obsidian-jump-to-link/pull/7 マージされた ✨