# 🏆MVP
## Silhouette.nvim の開発開始
私が開発する[[Obsidianプラグイン]]として欠かせない存在である[[🦉Silhouette]]を[[Neovimプラグイン]]としてリメイクしはじめた。その名も[[🦉Silhouette.nvim]]。とりあえず[[lazy.nvim]]などでインストールできるようにしたつもりだ。
<div class="link-card">
<div class="link-card-header">
<img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/>
<span class="link-card-site-name">GitHub</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">GitHub - tadashi-aikawa/silhouette.nvim: Remake of the Obsidian plugin 'Silhouette' for Neovim.</p>
<p class="link-card-description">Remake of the Obsidian plugin 'Silhouette' for Neovim. - tad ... </p>
</div>
<img src="https://opengraph.githubassets.com/c84b413d5f53e294de3c5d9fed6693dea8bd6e2d76606f17cc38f928175f3f19/tadashi-aikawa/silhouette.nvim" class="link-card-image" />
</div>
<a href="https://github.com/tadashi-aikawa/silhouette.nvim"></a>
</div>
流石に[[Lua]]で1から作り直す気力も時間もないので、[[Denops]]という仕組みを使って[[TypeScript]]のコードのまま[[Neovimプラグイン]]のフレームに移植を行った。[[🦉Silhouette]]は気まぐれで[[Obsidianプラグイン]]の中で唯一[[DDD]]でちゃんと設計したプロダクトだったため、[[ドメインモデル]]の部分はほぼそのまま移植できたのは大きかった。[[ドメインモデル]]以外、repositoryやserviceも思ったより変更は入らず、コンストラクタの引数と一部の実装を変更するだけで済んだ。あれだけのプロダクトを最小機能だけとはいえ、ものの1~2時間で移行できたのは大変貴重な経験になったと思う。
コード移植の部分はかなりスムーズにいったものの、[[Denops]]の部分は思ったよりハマった印象だった。[[🦉ghostwriter.nvim]]で[[Neovimプラグイン]]の開発経験がなければ、おそらく挫折していたと思う。色々な巡り合わせがあってこそ、なんとかリメイクと初版公開までこぎつけられたのかなと。[[Deno]]も昨年に無理やり業務経験を作っておいて良かったと思った。
<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">
<p class="link-card-title">📜2024-08-18 Denopsのチュートリアルをやってみた</p>
<p class="link-card-description">lazy.nvimでプラグイン管理していることもあり、Neovimへの理解が甘くハマったポイントがいくつかあるので、その辺を紹介。</p>
</div>
<img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/activity.webp" class="link-card-image" />
</div>
<a class="internal-link" data-href="Notes/📜2024-08-18 Denopsのチュートリアルをやってみた.md"></a>
</div>
%%[[📜2024-08-18 Denopsのチュートリアルをやってみた]]%%
# 🥈RUP
## Obsidian
2021年に以下のようなページを書いた。
<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">
<p class="link-card-title">📰Obsidian Publishでブログ運営ができるか (2021年版)</p>
<p class="link-card-description">ブログ運営をObsidian Publishに一本化できないかを検討してみた記録。</p>
</div>
<img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/report.webp" class="link-card-image" />
</div>
<a class="internal-link" data-href="Notes/📰Obsidian Publishでブログ運営ができるか (2021年版).md"></a>
</div>
%%[[📰Obsidian Publishでブログ運営ができるか (2021年版)]]%%
しかし、その内容も古かったので先日新しいページに書き直した。
<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">
<p class="link-card-title">📰Obsidian Publishでブログ運営ができるか (2024年版)</p>
<p class="link-card-description">ブログ運営をObsidian Publishに一本化できないかを2021年に検討したが、当時と状況が変わったのでアップデート内容を主として書き記した2024年の記録。</p>
</div>
<img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/report.webp" class="link-card-image" />
</div>
<a class="internal-link" data-href="Notes/📰Obsidian Publishでブログ運営ができるか (2024年版).md"></a>
</div>
%%[[📰Obsidian Publishでブログ運営ができるか (2024年版)]]%%
結論としては、2021年に危惧していたことはほぼすべて払拭されたという内容になっている。[[Obsidian Publish]]でブログ運営できるかどうか気になっている方の参考になれば幸いだ。
# 🪙OPA
## SVGをCSSだけで着色する方法
ここ1週間ほど、集中して[[Marp]]を使ったスライド作成をしていた。その中で面倒に感じたのがSVG画像の差し込みだ。[[SVG]]画像自体はダウンロードするだけだが、一度色を指定してダウンロードすると、[[HTML]]や[[CSS]]の方で色味変更ができないという問題。
これはもうできないと諦めていたのだが、先日偶然その実現方法を解説してくれているページを見つけた。
<div class="link-card">
<div class="link-card-header">
<img src="https://bloosh.jp/wp-content/themes/blooshcompany/fav/favicon-32x32.png" class="link-card-site-icon"/>
<span class="link-card-site-name">ブルーシュ</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">【CSS filter】svgをJSなし・インライン読み込みなしで自由に色を変更する方法! | ブルーシュ</p>
<p class="link-card-description">※追記:2022年8月31日 mask-imageでも簡単に色を変えられます。ぜひこちらの新しい記事もご覧ください。 → svg画像をCSSで制御し ... </p>
</div>
<img src="https://bloosh.jp/wp-content/uploads/2021/10/ogp.png" class="link-card-image" />
</div>
<a href="https://bloosh.jp/tips/4024/"></a>
</div>
この内容を参考にして、自分なりにやり方を少し変更した方法を以下のページにまとめてみた。
<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">
<p class="link-card-title">SVGをCSSだけで着色</p>
<p class="link-card-description">SVGファイルを指定したimgタグに対し、filterを適用することで実現できる。</p>
</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="Notes/SVGをCSSだけで着色.md"></a>
</div>
%%[[SVGをCSSだけで着色]]%%
[[filter (CSS)|filter]]を使った方法ではあるが、人間の目では言われても区別が困難なほど近しい色が出せる。素晴らしい。
# 🚀Releases
- [[🦉Silhouette.nvim]]
- 初公開
- [[🦉Fenice]]
- [Fenice v0.27.2リリース](https://github.com/tadashi-aikawa/fenice/releases/tag/v0.27.2)
# 👀Reading
## イチロー 新記録を語る 262安打・心の軌跡
![](https://youtu.be/tOwLflWuFUY?si=gMfQqQ8HLS04fFBR)
~~~
やる気をもらった。しかし、もう20年も前なのか...
https://youtu.be/tOwLflWuFUY?si=aBLMW5J8AqeAlyDX
~~~
## PC用デスクマットを複数使ってみて分かったこと | CFXLOG
<div class="link-card">
<div class="link-card-header">
<img src="https://www.cfxlog.com/wp-content/uploads/2023/08/cropped-cfx-favcon-32x32.jpg" class="link-card-site-icon"/>
<span class="link-card-site-name">CFXLOG</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">PC用デスクマットを複数使ってみて分かったこと | CFXLOG</p>
<p class="link-card-description">正直なところ、デスクマットはなくとも普通にPC作業はできます。 PC作業では、よっぽどのことがない限りデスクを傷つけることもありません。実利はほとんどないように感じていたのです。 ところが、先日にデスクを新調。おしゃれなガジェット系のブロガ ... </p>
</div>
<img src="https://www.cfxlog.com/wp-content/uploads/2024/01/goods-deskmat-1.jpg" class="link-card-image" />
</div>
<a href="https://www.cfxlog.com/goods-deskmat/"></a>
</div>
~~~
色を黒にするべきかどうかで悩んでいたので参考になった。色付けると集中力落ちるかなーと思ったけど、経年劣化に弱いというのはなるほど... と。
https://www.cfxlog.com/goods-deskmat/
~~~
# 📚New Notes
- [[Denops]]
- [[MOT DESKMAT]]
- [[Neovimのみのプラグイン構成 (Denops)]]
- [[Photoroom]]
- [[RGBの変数にアルファ値を指定 (CSS)]]
- [[SVGをCSSだけで着色]]
- [[async.util.scheduler]]
- [[color-mix関数]]
- [[css-color-filter-generator]]
- [[filter (CSS)]]
- [[miseのツールバージョン取得方法]]
- [[plenary.nvim]]
- [[positionが初期値(static)だとz-indexは効かない (CSS)]]
- [[vim.notifyの表示制御]]
- [[エントリの存在を確認 (Deno)]]
- [[パッケージを対話式でアップデート (pnpm)]]
- [[未使用import文をファイル保存時に自動削除 (Deno)]]
- [[💽2024-08 更新履歴]]
- [[📜2024-08-18 Denopsのチュートリアルをやってみた]]
- [[📝plenaryのasync.void関数の中でvim.api.nvim_buf_set_linesを呼ぶとエラーになる]]
- [[📝z-indexを指定しても表示優先度が切り替わらない]]
- [[📰2024年32週 Weekly Report]]