## 経緯
やりたいこと。
- [x] `obsidian://`から始まる[[URI]]を許容する
- [x] `obsidian://open?vault=Owl%20Brain&file=Obsidian`など
- [x] このときリンク先をひらく
## 仕様
タスクに`http`/`https`以外のURIが埋め込まれていても自動で開くようにする。
## 実装メモ
`Url.ts`
```typescript
export class Url extends PrimitiveValueObject<string> {
private _voCommonUrlBrand!: never;
static try(value: string): Either<InvalidUrlError, Url> {
if (!/^https?:\/\/.+/.test(value)) {
return left(
InvalidUrlError.of({
invalidValue: value,
})
);
}
return right(new Url(value));
}
getProxyAddedValue(proxy?: string): string {
return proxy ? this._value.replace("://", `://${proxy}/`) : this._value!;
}
}
```
`Url`のドメイン定義次第。
`http`から始まらなくても[[URL]]なら、ここに`obsidian://`プロトコルの判定を加えれば良さそうだけど。
[[URL]]という扱いで平気そう。
`if (!/^[:+]:\/\/.+/.test(value)) {` でいい気がする。
- if (!/^https?:\/\/.+/.test(value)) {
+ if (!/^[:+]:\/\/.+/.test(value)) {
```
## 検証
![[v2.23.0-1.mp4]]
## リリースバージョン
🚀Togowl v2.23.0