Obsidian未完成ノート記録プラグイン作成ログ-3
Obsidian未完成ノート記録プラグイン作成ログ-2 | Obsidian未完成ノート記録プラグイン作成ログ-4
borderのプロパティをみて書いてみたけどなんか反映されない
なんかTSはcssファイルwpデフォルトで読み込めないらしいからdeclarations.d.tsファイルを作成しなくちゃいけないらしい。
declare module "*.module.css" {
const classes: { [key: string]: string };
export default classes;
}tsconfig.jsonファイルに上のファイルを読み込ませる。
"src/**/*", "declarations.d.ts"と思ったけど
あきらめてルートディレクトリのstyle.cssの中に書くことにした。

なんかbackground-colorとborderの色でアプリ既定のものを使用するときにはcssの変数を使うらしい。
background-color: var(--background-secondary-alt);
border: 1px solid var(--background-modifier-border);
このコード、公式のcssからとってきたけど
Columnウィジェットみたいな使い方できるのかな
display: flex;
flex-direction: column;
flex-grow: 1;マークダウンファイルを判定するには以下のような記述をする。
extensionで拡張子を取得できるんだね。
private isMarkdownFile(file: TFile): boolean {
return file.extension.toLowerCase() === "md";
}プロパティを判別するにはこのプラグインがいいかも
これ?
async getMatchPropertyValue(file: TFile){
await this.app.fileManager.processFrontMatter(
file,
(frontmatter) => {
}
);
}ここのfrontmatterはTSの辞書型らしい。(可変)
frontmatter["title"] = "新しいタイトル"みたいなことができるらしい。
今回はSettingに入っている値とマッチしたファイルを欲しいからifを使って簡単にできそう。
if(values.contains(frontmatter[targetPropertyKey])) isMatched = true;コンストラクタに入るVault型は、this.app.vaultで取得する。
全ファイルの取得にthis.vault.getMarkdownFiles()を使用することができる。
async reloadAllFiles() {
let matchedFiles: TFile[] = [];
for (const file of this.vault.getMarkdownFiles()) {
await this.reloadFile(file);
if(await this.isMatchPropertyValue(file)) continue;
matchedFiles.push(file);
}
}辞書型でdescとノートタイトルを保存しようかな
urmList: {[noteTitle: string]: [desc: string]};辞書型の入った配列でSettingに保存しようっと