## 概要
[[Obsidian Mobile]]からログを記録するときなどに現在時刻を入力したいが、都度入力するのが面倒。
## ソリューション
以下2ステップに分けて実現します。
1. [[ノート]]に現在時刻を挿入するコマンドの作成
2. 1のコマンドをワンタップで呼び出し可能にする
### ノートに現在時刻を挿入するコマンドの準備
> [!note]
> この方法は[[Obsidian Mobile]]だけでなく[[Obsidian]]でも使えます。
3種類の方法があります。
1. [[コアプラグイン]] [[Templates]]を使う
2. [[コミュニティプラグイン]] [[Time Stamper]]を使う
3. [[コミュニティプラグイン]] [[Templater]]を使う
#### [[Templates]]を使う方法
[[Templates]]プラグインは[[コアプラグイン]]なので、デフォルトで有効になっているはずです。`Insert current time`コマンドで時刻の挿入ができます。
デフォルトの日付フォーマットは`HH:mm`ですが、設定から変更可能です。
![[Pasted image 20230918223207.png|frame]]
フォーマットは[[Moment.js]]の書式に対応しており、よく使うパターンとしては以下のようなものがあります。
| 設定値 | 挿入される文字列 | 備考 |
| ---------- | ---------------- | ------------------ |
| `hh:mm:ss` | `01:24:06` | 12時間表記・秒まで |
| `HH:mm:ss` | `13:24:06` | 24時間表記・秒まで |
| `HH:mm` | `13:24` | 24時間表記・分まで |
#### [[Time Stamper]]を使う方法
[[Time Stamper]]をインストールしたら、時刻フォーマットを設定します。
![[Pasted image 20230918182201.png|frame]]
デフォルトは`hh:mm:ss`となっています。[[Templates]]プラグイン同様に[[Moment.js]]の書式に対応しています。
#### [[Templater]]を使う方法
以下のようなスクリプトを作成します。[[Templates]]プラグイン同様に[[Moment.js]]の書式に対応しています。
```js
<%
`${tp.date.now("HH:mm")}`
%>
```
[[Templaterで作成したコマンド(スクリプト)をホットキーで実行する方法]] を参考に、コマンドとして登録します。
ここでは『⌚Insert current time log』という名前で登録しました。
> [!info]
> [[Templater]]を使う方法のメリットは、日時以外の文字列もテンプレに登録して挿入できることです。たとえば、箇条書きを想定するなら `- ${tp.date.now("HH:mm")} ` のようにできます。
### ワンタップで呼び出し可能にする
#### ツールバーオプションのコマンドを追加する
[[ノート]]を編集するときに使う機能なので、[[ツールバーオプション (Obsidian)|ツールバーオプション]]に追加します。そのために[[Commander (Obsidian)|Commander]]の設定を開きます。
![[Pasted image 20230918184613.png|frame]]
`Editor Menu`を選択します。
![[Pasted image 20230918184711.png|frame]]
`Add command`ボタンを押して、[[#ノートに現在時刻を挿入するコマンドの準備]]で用意したコマンドを追加します。登録成功すると以下のようになります。
![[Pasted image 20230918221807.png|frame]]
これで、[[ツールバーオプション (Obsidian)|ツールバーオプション]]の候補としてコマンドが追加されました。
#### ツールバーオプションにコマンドを追加する
あとは[[ツールバーオプション (Obsidian)|ツールバーオプション]]の設定を変更するだけです。設定で`Mobile`を開きます。
![[Pasted image 20230918185012.png|frame]]
下の方へスクロールし、`Add global command`を選択します。
![[Pasted image 20230918221843.png|frame]]
先ほど追加したコマンドを追加します。
![[Pasted image 20230918221921.png|frame]]
[[ツールバーオプション (Obsidian)|ツールバーオプション]]にコマンドが追加されます。
![[Pasted image 20230918221947.png|frame]]
> [!hint]
> 追加直後は右端ですので、必要に応じてアクセスしやすい場所に移動しましょう。右端のマークをドラッグすれば移動します。
[[ツールバーオプション (Obsidian)|ツールバーオプション]]にボタンが追加されていることを確認しましょう。
![[Pasted image 20230918223630.png|frame]]
追加されたボタンをクリックして時刻が挿入されればOKです。
#### ツールバーオプションのアイコンを設定する
せっかく追加したコマンドが❓アイコンでは分かりにくいので、コマンドにあったアイコンを設定しましょう。
<div class="link-card">
<div class="link-card-header">
<img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" class="link-card-site-icon"/>
<span class="link-card-site-name">minerva.mamansoft.net</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<div>
<p class="link-card-title">📗モバイルでツールバーオプションにセットした独自コマンドのアイコンを設定したい</p>
</div>
<div class="link-card-description">
Obsidian mobileにて、設定の`Mobile`から`Add global command`で追加したコマンドをツールバーオプションにセットすると、以下のような❓アイコンになってしまう。
</div>
</div>
<img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/minerva-image.webp" class="link-card-image" />
</div>
<a
class="internal-link"
data-href="📗モバイルでツールバーオプションにセットした独自コマンドのアイコンを設定したい"
></a>
</div>
%%[[📗モバイルでツールバーオプションにセットした独自コマンドのアイコンを設定したい]]%%
Not found
This page does not exist