自分用のメモ(なので説明する気はあまりない)。
コアプラグイン
デイリーノート
そんなに毎日書くことはないが、Thinoの投稿先がこれなので、Dataviewを使ってその日に書いたノート一覧みたいなの作っている。
書いてるコードは以下。
デイリーノートに追加したコード
## 今日の執筆
```dataviewjs
let today = dv.current().file.name;
let createdArticles = dv.pages('"参照するフォルダ"')
.where(p => p.file.ctime.toISODate() == today)
.sort(p => p.file.name, 'asc');
let postedArticles = dv.pages('"参照するフォルダ"')
.where(p => p.status == "投稿済" && p.file.ctime.toISODate() == today)
.sort(p => p.file.name, 'asc');
dv.header(3, "今日作成した記事");
if (createdArticles.length > 0) {
dv.list(createdArticles.map(article => article.file.link));
} else {
dv.paragraph("この日は執筆していない。");
}
dv.header(3, "今日投稿した記事");
if (postedArticles.length > 0) {
dv.list(postedArticles.map(article => article.file.link));
} else {
dv.paragraph("この日は投稿していない。");
}
```
---
## Thino Memo
使う場合は適宜変更してね。
バックリンク
あると便利そうと思ったから。
ファイルリカバリー
あると便利そうと(ry
ページプレビュー
この辺は初期でONなので、まあ別にいいかなと思っているだけ。
コミュニティプラグイン
Advanced Tables
テーブル機能を拡張する。
有効にすると右側ペインにテーブルを操作できるパネルが現れる。
Calendar
デイリーノートをいつ書いたか一目でわかるようになる。
目的はウィークリーノートを手軽に作成するため。
Codeblock Customizer
コードブロックをあれこれいじれるようになる。
有効にしただけで特に設定はいじってないけど、見栄えはよくなった気がする。
Dataview
言わずと知れたやつ。
これがあるといろんなことができる。(頭悪そうな表現)
floating toc
目次を追従表示にできる。
いつも右側ペインは閉じているため、あると便利。
Image Toolkit
ひとさまのオススメをみて入れてみた。
画像をいじれるようになるっぽいけど、あんまり使いこなせている気がしない。
Outliner
読んで字の如く。
あんまり使いこなせている気はしないが…。
Recent Files
正直なんでこれが標準機能で備わっていないのかは謎。
最近開いたファイルを一覧で表示してくれる。
Remotely Save
Dropboxなどを経由してファイルを同期できる。
iCloudはすぐ使えて便利なんだけど、画像をたくさんアップしたかったので、容量に不安があったので。
Style Settings
テーマの設定をいじれるようになる。
みんな大好き Minimal も対応しているし、私の大好きな Mado miniflow も対応済み。
Templater
コアプラグインのテンプレート機能がちょっとよくわからんかったので。
Thino
Twitterよろしく短文投稿を可能にしてくれる。
投稿したメモはデイリーノートの最後に追加していく形で記述される。
画像とかも投稿できて地味にべんり。
Update time on edit
更新日と作成日をノートに自動で追加してくれる。
なんでこれが標準機能で(ry
WordPress
WordPressへ投稿できるようになる。愛用中。
詳しい導入方法はこちらへ。
その他
ブログ記事リストを作る
Statusというプロパティを作って「書きかけ」と「投稿済」で分類し、書きかけはチェックリストで、投稿済みは投稿日時とタイトルを一覧で表示する。
こんな感じ。
コードは以下。適宜修正して使ってね。
ブログ記事リスト
```dataviewjs
let pages = dv.pages('"参照するフォルダ"')
.where(p => p.status)
.sort(p => p.file.ctime, 'desc');
dv.header(2, "書きかけの記事");
for (let page of pages.where(p => p.status == "書きかけ")) {
dv.el("div", `- [ ] ${page.file.link}`);
}
dv.header(2, "投稿済みの記事");
let postedArticles = pages
.where(p => p.status == "投稿済")
.sort(p => p.file.ctime, 'desc');
if (postedArticles.length > 0) {
dv.table(["記事タイトル", "投稿日時"],
postedArticles.map(p => [
p.file.link,
p.file.ctime.toLocaleString()
])
);
} else {
dv.paragraph("投稿済みの記事はありません。");
}
```
Obsidianのカスタマイズは楽しいなぁ。