# 📰Impression
とにかく[[OSS]]プロダクトの開発とリリースをしまくった1週間だった。
## [[🦉Silhouette]]の圧倒的リリース
先週公開した[[Obsidianプラグイン]]、[[🦉Silhouette]]の機能追加リリースを5回行った。バージョンは[v0.2.1](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.2.1)から[v0.8.1](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.8.1)まで上がっている。基本的には繰り返しタスクパターンのパワーアップと、エラーハンドリングの向上だ。
### 繰り返しタスクのパターン
繰り返しタスクのパターンについては、before/afterを見た方が分かりやすいだろう。
`before`
| パターン | 例 | 備考 |
| ------------------ | --------------- | --------------- |
| 毎日 | every day | |
| 平日(月~金) | weekday | |
| 土日 | weekend | |
| [休日]ではない平日 | weekday! | |
| 土日と休日 | weekend/holiday | |
| 曜日 | sun | 毎週日曜 |
| 曜日複数指定 | sun/mon | 毎週日曜と月曜 |
| 毎月特定日 | 10d | 毎月10日 |
| 毎月特定日複数指定 | 10d/20d | 毎月10日と20日 |
| N日ごと | every 3 day | 3日ごと (中2日) |
`after`
| パターン | 例 | 複数指定 |
| ------------------ | -------------------------- | -------------- |
| 毎日 | every day | 不可 |
| 平日(月~金) | weekday | 不可 |
| 土日 | weekend | 不可 |
| [稼働日] | workday | 不可 |
| [稼働日]ではない日 | non workday | 不可 |
| 曜日複数指定 | sun/mon | `/` 区切り可 |
| 毎月特定日複数指定 | 10d/20d | `/` 区切りで可 |
| N日ごと | every 3 day | 不可 |
| [月初] | beginning of month | 不可 |
| [月初の稼働日] | workday beginning of month | 不可 |
| [月末] | end of month | 不可 |
| [月末の稼働日] | workday end of month | 不可 |
[平日]: #平日
[休日]: #休日
[稼働日]: #稼働日
[月初]: #月初
[月末]: #月末
[月初の稼働日]: #月初の稼働日
[月末の稼働日]: #月末の稼働日
[第N曜日]: #第N曜日
他にも[第N曜日]の表現が追加されている。
| 表記 | 意味 |
| ----- | ----------------------- |
| 2sat | 第2土曜日 |
| 1fri! | [休日]ではない第1金曜日 |
### 繰り返しタスクのUI
[v0.8.0](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.8.0)では繰り返しタスクの実施予定日を簡単に確認できるUIを追加した。[稼働日]をはじめとする複雑なパターンに対応できるようになったため、予期した日程でタスクが表示されるか不安になることも多くなったので、それに対応した形だ。
<video autoplay muted controls src="https://user-images.githubusercontent.com/9500018/215319503-dfa7fd1f-c7ff-4e3c-a3ef-982aa1b1a983.mp4"></video>
このレポートを書いている段階でリリースした最新版では、カレンダーのレイアウトがさらにコンパクトになっている。そちらは次回の[[📰Weekly Report]]で紹介する予定だ。
## [[🦉Owlelia]]のいぶし銀なリリース
[[🦉Silhouette]]では日付処理を行うことが多いため、[[🦉Owlelia]]の`DateTime`クラスに必要な機能をいくつか追加した。[v0.44.0](https://github.com/tadashi-aikawa/owlelia/releases/tag/v0.44.0)から[v0.47.0](https://github.com/tadashi-aikawa/owlelia/releases/tag/v0.47.0)で以下のメソッドを追加している。
- `DateTime.from(value, format)`: フォーマットを指定して文字列からインスタンス生成
- `dateTime.endOfMonth()`: 月の最終日を取得
- `dateTime.nthDayOfWeek()`: 現在の曜日が第N曜日であるかを取得
- `dateTimeFrom.toDate(dateTimeTo)`: `dateTimeFrom`から`dateTimeTo`までの範囲配列を取得
- `dateTime.midnight()`: dateTimeの午前0時0分0秒を取得
[[🦉Owlelia]]を使っている方、これらの日付処理が欲しい方は是非活用してもらえればと思う。今後も[[🦉Silhouette]]の機能や、他プロダクトの開発で必要になったら、機能を追加してリリースしていく予定だ。なお、v1.0のリリース予定は立っていない。
# 🎇Shiny Outputs
## 🦉My products
- [[🦉Silhouette]]
- [Silhouette v0.3.0リリース](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.3.0)
- [Silhouette v0.3.1リリース](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.3.1)
- [Silhouette v0.4.0リリース](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.4.0)
- [Silhouette v0.5.0リリース](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.5.0)
- [Silhouette v0.6.0リリース](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.6.0)
- [Silhouette v0.7.0リリース](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.7.0)
- [Silhouette v0.8.0リリース](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.8.0)
- [Silhouette v0.8.1リリース](https://github.com/tadashi-aikawa/silhouette/releases/tag/0.8.1)
- [[🦉Owlelia]]
- [Owlelia v0.44.0リリース](https://github.com/tadashi-aikawa/owlelia/releases/tag/v0.44.0)
- [Owlelia v0.45.0リリース](https://github.com/tadashi-aikawa/owlelia/releases/tag/v0.45.0)
- [Owlelia v0.46.0リリース](https://github.com/tadashi-aikawa/owlelia/releases/tag/v0.46.0)
- [Owlelia v0.47.0リリース](https://github.com/tadashi-aikawa/owlelia/releases/tag/v0.47.0)
## 📖Publish
- [[📓チェックボックスの種類と定義]]
- [[📜Another Quick Switcherでプレビューの履歴を保持しないようにする]]
- [[📜2023-01-29 SilhouetteにSvelteを導入する]]
- [[📜Silhouetteの開発記録]]
- [[📝Chronoでformatを使って指定フォーマットの文字列を出力できない]]
- [[📝CSSのカスタムプロパティがブラウザで認識されない]]
- [[📝Intellij IDEAでTypeScriptプロジェクトにおいて外部ライブラリの定義(d.ts)にGo to Declarationしようとするとimport文に移動してしまう]]
- [[📝RustでREPLを使いたい]]
- [[📝SvelteでTop-level awaitが使えない]]
- [[📝Svelteを使ったプロジェクトでtypeやinterfaceをimportするとTS1371エラーになる]]
- [[📝Wi-FI(WiMax)でDNSエラーによる接続エラーが頻繁に起こる]]
- [[📰2023年3週 Weekly Report]]
# 👀Medias
## 時間の使い方を記録していると、自分のことが見えてくる
最近、通勤中に聴いている[[👤jMatsuzaki]]さんの[[voicy]]放送。時間を記録して自分のパフォーマンスが出せるスケジュールを知ろうという話。
<div class="link-card">
<div class="link-card-header">
<img src="https://voicy.jp/favicon.ico" class="link-card-site-icon"/>
<span class="link-card-site-name">Voicy - 音声プラットフォーム</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<div>
<p class="link-card-title">時間の使い方を記録していると、自分のことが見えてくる | jMatsuzaki | ドイツ在住・経営者「タスク管理マニアの「10分で集中力アップ」チャンネル」/ Voicy - 音声プラットフォーム</p>
</div>
<div class="link-card-description">
音声放送チャンネル「jMatsuzaki | ドイツ在住・経営者」の「時間の使い方を記録していると、自分のことが見えてくる(2023年1月22日放送)」。Voicy - 音声プラットフォーム
</div>
</div>
<img src="https://ogp-image.voicy.jp/ogp-image/story/0/1380/459280" class="link-card-image" />
</div>
<a href="https://voicy.jp/channel/1380/459280"></a>
</div>
## IntelliJ IDEA 2023.1 EAP 2: Faster IDE Startup, New Java Inspections, and More
[[IntelliJ IDEA]]の2023年ファーストリリースに向けての[[EAP]]第2段。`Custom regexp-based search and replace inspections`が少し気になった。具体的な利用シーンは思いつかないけど。
<div class="link-card">
<div class="link-card-header">
<img src="https://blog.jetbrains.com/wp-content/themes/jetbrains/assets/img/favicons/favicon.ico" class="link-card-site-icon"/>
<span class="link-card-site-name">The JetBrains Blog</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<div>
<p class="link-card-title">IntelliJ IDEA 2023.1 EAP 2: Faster IDE Startup, New Java Inspections, and More | The IntelliJ IDEA Blog</p>
</div>
<div class="link-card-description">
IntelliJ IDEA 2023.1 EAP 2 is out! Take a closer look at what the new build brings.
</div>
</div>
<img src="https://blog.jetbrains.com/wp-content/uploads/2019/02/intellij-idea_social.png" class="link-card-image" />
</div>
<a href="https://blog.jetbrains.com/idea/2023/01/intellij-idea-2023-1-eap-2/"></a>
</div>
# 📚Inputs
- [[ホバーしていなくてもhover属性を付与 (Chrome devtools)]]
- [[Chrome devtoolsで繰り返し実行する提携コードを一発で実行]]
- [[Chrome devtoolsのSourcesタブで表示されるコードを常にフォーマット]]
- [[Chronoが対応している日付フォーマット]]
- [[任意のフォーマットからNaiveDateを生成 (Chrono)]]
- [[Codeium]]
- [[CSR]]
- [[dayjs]]
- [[dayjsで指定したフォーマットの文字列からインスタンスを生成]]
- [[Labeled Tuple Elements]]
- [[Live Expressions]]
- [[Moment.js]]
- [[Project Structure]]
- [[Qwik]]
- [[Recorder]]
- [[Resumable]]
- [[Rust 1.59]]
- [[Snippets (Chrome)]]
- [[WiMAX]]
- [[コマンドパレット]]