![見出し画像](https://assets.st-note.com/production/uploads/images/153565472/rectangle_large_type_2_5fe8853852985011df71ff310992684b.png?width=1200)
今後の Logseq がどうなるのか について
こんにちは。久々ですが、Logseq についての近況報告です。
これまで毎月行われていたLogseq のアップデートが、2024年 4月 23日 から突然ストップしてしまいました。
この変化に伴い、今後Logseq を使い続けられるのかどうか、不安を感じたユーザーも多いのではないでしょうか。
特に、Logseq の開発チームで何が起きているのかについて気になる方も多いでしょう。
しかし、Logseq が終焉に向かっているわけではありません。 Logseq の大幅な進化が待っています。
実は、開発チームは新たな「データベース・バージョン」(以下、db版とします)の開発に専念することにしたため、既存バージョンの更新を一時的に停止したのです。
つまり、db版と既存バージョンの同時進行を避けるための判断です。
開発チームの意思として、近い将来にLogseq は完全にdb版に移行することが確定しています。
db版にはローカルファイルを扱うグラフの読み込み機能も残すようですが、その場合は、多くの機能に制約がでます。実質的には、db版の機能がメインとなります。
では、このdb版とは何なのでしょうか?
結論として、既存バージョンは大量のファイルを扱うのに適していない方式を採用していたため、Logseq は一部商用化に向けて全面的なモデルチェンジを行う必要がありました。
これまでのLogseq は、少し編集を加えるたびにMarkdown文書ファイル が書き換えられる仕組みの処理フローを採用していました。
グラフ内のMarkdown文書 はアセット内に個別ファイルとして保存され、Markdownとして保存できないアプリデータ(インデックス、metaデータなど)はアプリの内部データベースで管理されていました。
この方式では、ファイルとインデックスの内容を同期する必要があり、それが複雑なプロセスを引き起こし、トラブルの原因となることもありました。
一方で、インデックスなしでは、クエリーなどのちょっとした操作でもグラフ内の大量のファイルを読み込まなければならず、インデックスを無くすことは現実的ではありません。
Markdown文書ファイル は常に随時更新される必要はなく、必要なときにエクスポートして出力できれば十分です。
(マークダウンとしてエクスポートできるようにする 前提で、db版が開発が進められています)
こうした背景から、合理的な解決策として考えられたのが、文書ファイルを使用せず、内部データベースでMarkdown文書を含むすべてのデータを管理する方法、すなわちdb版です。
現在、db版 は一般ユーザー向けには ビルドファイル が提供されていませんが、ブラウザ上で動作する db版プレビュー が公開されています。
まだ開発段階であり、修正をかけるためにユーザーからフィードバックを求めています。私も試しましたが、バグが多いため、普段使用はできません。
バグが発生している理由としては、「処理」に関する変更点が多いことです。見た目などユーザーが接する部分以外にも、バグが発生しています。
db版 の開発には時間がかっていて、「breaking-change」と言われる、そのままの使い方が適用できない大きな変更が含まれます。
・db用グラフ (既存グラフから変換可能) として読み込んだ場合に、db版の新機能を使うことができます。
db版プレビュー URL: https://logseq-db-demo.pages.dev/
(開発ブランチfeat-db: https://github.com/logseq/logseq/pull/9858 )
そもそもですが、db版プレビュー がブラウザで動作するならそれでいいんじゃないかと思うかもしれませんが、しかし、それだとセキュリティが理由でローカルファイルとして扱えなかったり、いくつかの機能に制約があるため、Logseqはソフトウェアとしてインストールが必要になっています。(ローカルファーストのため)
Logseq db版で出来ることは?
新機能によるメリットについては、すごく楽しみにしています。
一番大きなトピックとしては、db版には「Class 型」と呼ばれる分類・整理方法が用意されることです。
(ここでは、英単語のまま「Class」と呼びます)
CSS について知っている方はそのClassと同じ概念です。
<style>
.class-name {
font-size: 1em;
}
</style>
<div class="class-name">
</div>
<div class="class-name">
</div>
このようにして、CSS では同じスタイルを再利用できますが、Logseq db版 では次のようになります
リンクとして新しいページを作成するとき [[を先に入力し
[[新しいページ1 #カテゴリーA]]
[[新しいページ2 #カテゴリーA]]
と入力する
この場合、両方のページに対して、同じClass が適用されます。
![](https://assets.st-note.com/img/1725775355-9oVTznH2FaOmlM8b0X6KQ5sU.png?width=1200)
このあたりのリンク作成の処理に関しては、db版プレビュー でもまだバグが残っています
また、Classの概念でありながら、「.」ではなく「#」が使われています。
そのため、既存のタグ(#tag)が廃止されます。
db版では、#で入力すると、Classの指定になります
カテゴリーA のノード にアクセスするとこうなります
![](https://assets.st-note.com/img/1725755221-dcMPSCfn13Og8I0teNr7bR2y.png?width=1200)
db版では、ページ以外のClassなどの型を作ったため、それらをまとめて、Node (= ノード) と呼びます。
ここでは、カテゴリーA の各種プロパティを設定できるようになっています。プロパティの操作方法については、Notionなどのほかのアプリに少し近づいたと思います。
カテゴリーAにタグ付けされたノードが日時とともに一覧表示されるためClass型 で分類ができます。メモ書きも可能です。
こんな感じで、今までの「ページ」だけのLogseqではなくなり、「Class 型」という新機能が追加されるんだなとお分かりかと思いますが、実はこの新機能によって、Logseqの応用力が大幅に高まります。
ジャーナルに対しては、自動で #Journal というClass型が付与されます。
![](https://assets.st-note.com/img/1725757934-EJ6kWeKOU9q42oM7puGcrs3P.png?width=1200)
habitトラッカー (習慣管理) として、各ジャーナルに記録できるようになります。#Journal のClassにプロパティを紐づけると、タイトルリンク付近に、チェックボタンなどを自動で設置できるようになります。
The journal of tomorrow! built simple, yet powerful. @logseq vNext pic.twitter.com/BnNSHtX2Tw
— Danzu (@HDanzu) September 7, 2024
タスクに関しては、自動で #Task というClass型が付与されます。
今まで
・ TODO タスクの内容
db版では
・ □ タスクの内容 #Task
(#Taskは自動付与)
このように見た目が変更になります。
![](https://assets.st-note.com/img/1725758025-RQcU2KXBeJbCMOfSisdG8prW.png?width=1200)
タスクを作成する際に、先頭にTODOと書いても変化はなく、
スラッシュコマンド /todo を使うか、
ショートカットキー Ctrl/Cmd + Enter を使う必要があります。
もちろん、見た目や操作方法が変わっただけではありません。
タスクのワークフローを個別に変更できるようになりました!
![](https://assets.st-note.com/img/1725758719-5vZlxzUAbVdMaWBHDOnLRYPC.png?width=1200)
タスクの状態とアイコンを個別に変更できます!
![](https://assets.st-note.com/img/1725758962-LW6vTUtNjCagAHkFBz4nXbmR.png?width=1200)
ページ上のブロックから タスクの状態 を選択すると、こうなります。
![](https://assets.st-note.com/img/1725759073-PWwfUJj7huZe0cMbingT2H6k.png?width=1200)
たとえば、読書 についてのタスク であれば、#2024年の読書 という
タスクのClass型を作成して、こんなふうにできます!
![](https://assets.st-note.com/img/1725760828-vgBAVEQkDbOeI2KYtJGdnNuT.png?width=1200)
こんな感じで、タスク管理についても、Class型を採用することによって、ワークフローの再利用ができるようになり、Logseqが大幅にレベルアップするのが、うれしいところです。
なお、既存のグラフからdbグラフに変換した場合についても、変換処理の中で適切にタスクが取り扱われます。タスクの先頭文字列の「TODO 」などを削除し、タスクの状態を付与して、#Task というClass型が付与されます。
新しいLogseqはまだ?
Class型 を採用した 新しいLogseq が出たら、Obsidianなどとは違うベクトルになるので、最強に面白いことになると思っていますが、、
Logseq開発チームによって、毎日のように開発は進んでいますが大幅な変更による既存との整合性に対する作業量が多く、正式に使えるようになるのは、来年だと思います。
db版プレビュー だと一見、新しい機能と既存の機能の不具合が目立たずに動作しているように見えますが、元からバグの多かった 既存バージョンを引き継いでいるため、なおさら整合性や一貫性がとれていません。
この先1か月や2か月でユーザーが普段使いできるレベルに仕上げるのは、難しいと考えています。ですから、
来年のLogseqを楽しみにお待ちください。
db版に関する公式ドキュメント(英語のみ・不定期更新あり)
https://github.com/logseq/docs/blob/feat%2Fdb/db-version.md
Logseqプラグインを使っている方にお知らせです。
私はいくつかのLogseqプラグインを製作して、マーケットプレースに公開していますが、それらに現在、アクセスできなくなっていて、ダウンロードができない状態です。
GitHubアカウント名: YU000jp
アカウントURL:https://github.com/YU000jp(404 エラー)GitHubのクラウド上にビルドファイルが保存されているのですが、そのアカウントに制限がかかってしまいました。制限の理由も分かりません。GitHub サポートに問い合わせをして、長いこと返信待ちです。2024 / 10 / 20
(GitHubサポートの返信や対処が遅いことは有名です。ほかのGitHubユーザーのアカウントでも同じことが起きている人が多数いて、GitHubのbotが引き金で、偶発的に制限がかかっていると想定しています)
復旧しました