SiYuanは、プライバシーを最優先とする個人の知識管理システムであり、細かいブロックレベルの参照とMarkdown WYSIWYGをサポートしています。
詳細については、SiYuan英語ディスカッションフォーラムをご覧ください。
ほとんどの機能は無料で、商業利用も可能です。
- コンテンツブロック
- ブロックレベルの参照と双方向リンク
- カスタム属性
- SQLクエリ埋め込み
- プロトコル
siyuan://
- エディタ
- ブロックスタイル
- Markdown WYSIWYG
- リストアウトライン
- ブロックズームイン
- 百万字の大規模ドキュメント編集
- 数学公式、チャート、フローチャート、ガントチャート、タイミングチャート、五線譜など
- ウェブクリッピング
- PDF注釈リンク
- エクスポート
- ブロック参照と埋め込み
- アセット付きの標準Markdown
- PDF、Word、HTML
- WeChat MP、Zhihu、Yuqueへのコピー
- データベース
- テーブルビュー
- フラッシュカード間隔反復
- OpenAI APIを介したAIライティングとQ/Aチャット
- Tesseract OCR
- マルチタブ、ドラッグアンドドロップで分割画面
- テンプレートスニペット
- JavaScript/CSSスニペット
- Android/iOS/HarmonyOSアプリ
- Dockerデプロイメント
- API
- コミュニティマーケットプレイス
一部の機能は有料会員のみ利用可能です。詳細については価格をご覧ください。
プロジェクト | 説明 | フォーク | スター |
---|---|---|---|
lute | エディタエンジン | ||
chrome | Chrome/Edge拡張 | ||
bazaar | コミュニティマーケットプレイス | ||
dejavu | データリポジトリ | ||
petal | プラグインAPI | ||
android | Androidアプリ | ||
ios | iOSアプリ | ||
harmony | HarmonyOSアプリ | ||
riff | 間隔反復 |
デスクトップとモバイルでは、アプリマーケットからのインストールを優先的にお勧めします。これにより、将来的にワンクリックでバージョンをアップグレードできます。
モバイル:
デスクトップ:
Dockerデプロイメント
サーバーでSiYuanを提供する最も簡単な方法は、Dockerを使用してデプロイすることです。
- イメージ名
b3log/siyuan
- イメージURL
全体のプログラムは /opt/siyuan/
にあり、基本的にはElectronインストールパッケージのresourcesフォルダーの構造です:
- appearance: アイコン、テーマ、言語
- guide: ユーザーガイドドキュメント
- stage: インターフェースと静的リソース
- kernel: カーネルプログラム
エントリポイントはDockerイメージのビルド時に設定されます:ENTRYPOINT ["/opt/siyuan/entrypoint.sh"]
。このスクリプトを使用すると、コンテナ内で実行されるユーザーの PUID
と PGID
を変更できます。これは、ホストからディレクトリをマウントする際の権限の問題を解決するために特に重要です。PUID
(ユーザーID)と PGID
(グループID)は環境変数として渡すことができ、ホストマウントディレクトリにアクセスする際に正しい権限を確保するのが容易になります。
docker run b3log/siyuan
を使用してコンテナを実行する場合、次のパラメータを使用します:
--workspace
: ワークスペースフォルダーのパスを指定し、ホスト上で-v
を使用してコンテナにマウントします--accessAuthCode
: アクセス認証コードを指定します
詳細なパラメータは --help
を参照してください。以下は新しい環境変数を使用した起動コマンドの例です:
docker run -d \
-v workspace_dir_host:workspace_dir_container \
-p 6806:6806 \
-e PUID=1001 -e PGID=1002 \
b3log/siyuan \
--workspace=workspace_dir_container \
--accessAuthCode=xxx
PUID
: カスタムユーザーID(オプション、指定しない場合はデフォルトで1000
)PGID
: カスタムグループID(オプション、指定しない場合はデフォルトで1000
)workspace_dir_host
: ホスト上のワークスペースフォルダーのパスworkspace_dir_container
: コンテナ内のワークスペースフォルダーのパス、--workspace
で指定されたものと同じaccessAuthCode
: アクセス認証コード(必ず変更してください、そうしないと誰でもデータにアクセスできます)
簡略化するために、ホストとコンテナでワークスペースフォルダーのパスを一致させることをお勧めします。たとえば、workspace_dir_host
と workspace_dir_container
の両方を /siyuan/workspace
に設定します。対応する起動コマンドは次のようになります:
docker run -d \
-v /siyuan/workspace:/siyuan/workspace \
-p 6806:6806 \
-e PUID=1001 -e PGID=1002 \
b3log/siyuan \
--workspace=/siyuan/workspace/ \
--accessAuthCode=xxx
Docker Composeを使用してSiYuanを実行するユーザー向けに、環境変数 PUID
と PGID
を使用してユーザーとグループのIDをカスタマイズできます。以下はDocker Composeの設定例です:
version: "3.9"
services:
main:
image: b3log/siyuan
command: ['--workspace=/siyuan/workspace/', '--accessAuthCode=${AuthCode}']
ports:
- 6806:6806
volumes:
- /siyuan/workspace:/siyuan/workspace
restart: unless-stopped
environment:
# タイムゾーン識別子のリストは https://en.wikipedia.org/wiki/List_of_tz_database_time_zones を参照してください
- TZ=${YOUR_TIME_ZONE}
- PUID=${YOUR_USER_PUID} # カスタムユーザーID
- PGID=${YOUR_USER_PGID} # カスタムグループID
この設定では:
PUID
とPGID
は動的に設定され、コンテナに渡されます- これらの変数が提供されていない場合、デフォルトの
1000
が使用されます
環境で PUID
と PGID
を指定することで、composeファイルで user
ディレクティブ(user: '1000:1000'
)を明示的に設定する必要がなくなります。コンテナは起動時にこれらの環境変数に基づいてユーザーとグループを動的に調整します。
イメージ内で、entrypoint.sh
スクリプトは指定された PUID
と PGID
で siyuan
ユーザーとグループを作成することを保証します。したがって、ホストがワークスペースフォルダーを作成する際には、フォルダーのユーザーとグループの所有権を設定し、使用する予定の PUID
と PGID
に一致させることに注意してください。たとえば:
chown -R 1001:1002 /siyuan/workspace
カスタムの PUID
と PGID
値を使用する場合、エントリポイントスクリプトはコンテナ内で正しいユーザーとグループを作成し、マウントされたボリュームの所有権を適切に調整します。docker run
または docker-compose
で -u
を手動で渡す必要はありません。環境変数がカスタマイズを処理します。
NGINXリバースプロキシを使用してポート6806を隠します。注意点:
- WebSocketリバースプロキシ
/ws
を設定します
- マウントボリュームの正確性を確認してください。そうしないと、コンテナが削除された後にデータが失われます
- URLリライトを使用してリダイレクトしないでください。認証に問題が発生する可能性があるため、リバースプロキシの設定をお勧めします
- 権限の問題が発生した場合、
PUID
とPGID
環境変数がホストシステム上のマウントされたディレクトリの所有権と一致していることを確認してください
- デスクトップおよびモバイルアプリケーションの接続はサポートされておらず、ブラウザでの使用のみサポートされています
- PDF、HTML、Word形式へのエクスポートはサポートされていません
- Markdownファイルのインポートはサポートされていません
Unraidデプロイメント
注意:最初にターミナルで chown -R 1000:1000 /mnt/user/appdata/siyuan
を実行します
テンプレートの参考:
Web UI: 6806
Container Port: 6806
Container Path: /home/siyuan
Host path: /mnt/user/appdata/siyuan
PUID: 1000
PGID: 1000
Publish parameters: --accessAuthCode=******(アクセス認証コード)
主要な更新前にインサイダープレビューをリリースします。詳細はhttps://github.com/siyuan-note/insiderをご覧ください。
開発ガイドをご覧ください。
データはワークスペースフォルダーに保存され、ワークスペースデータフォルダーに保存されます:
assets
はすべての挿入されたアセットを保存するために使用されますemojis
は絵文字画像を保存するために使用されますsnippets
はコードスニペットを保存するために使用されますstorage
はクエリ条件、レイアウト、フラッシュカードなどを保存するために使用されますtemplates
はテンプレートスニペットを保存するために使用されますwidgets
はウィジェットを保存するために使用されますplugins
はプラグインを保存するために使用されますpublic
は公開データを保存するために使用されます- 残りのフォルダーはユーザーが作成したノートブックフォルダーであり、ノートブックフォルダー内の
.sy
サフィックスのファイルはドキュメントデータを保存するために使用され、データ形式はJSONです
サードパーティの同期ディスクを介したデータ同期はサポートされていません。そうしないとデータが破損する可能性があります。
サードパーティの同期ディスクをサポートしていない場合でも、サードパーティのクラウドストレージと接続することはサポートされています(会員特典)。
また、データのエクスポートとインポートを手動で行うことでデータ同期を実現することもできます:
- デスクトップ:設定 - エクスポート - データのエクスポート / データのインポート
- モバイル:右カラム - 情報 - データのエクスポート / データのインポート
SiYuanは完全にオープンソースであり、貢献を歓迎します:
詳細については開発ガイドをご覧ください。
- アプリストアからインストールした場合は、アプリストアから更新してください
- デスクトップでインストールパッケージを使用してインストールした場合は、設定 - 情報 - 自動的に更新インストールパッケージをダウンロード オプションを開くことができます。これにより、SiYuanは最新バージョンのインストールパッケージを自動的にダウンロードし、インストールを促します
- 手動でインストールパッケージを使用してインストールした場合は、再度インストールパッケージをダウンロードしてインストールしてください
設定 - 情報 - 現在のバージョン で 更新を確認 できます。また、公式ダウンロード または GitHub Releases をフォローして新しいバージョンを入手することもできます。
リスト項目の最初のサブブロックはブロックアイコンが省略されています。このブロックにカーソルを移動し、Ctrl+/ を使用してそのブロックメニューをトリガーできます。
-
データリポジトリキーが以前に複数のデバイスで正しく初期化されている場合、キーはすべてのデバイスで同じであり、設定 - 情報 - データリポジトリキー - キー文字列をコピー で見つけることができます
-
以前に正しく構成されていない場合(たとえば、複数のデバイスでキーが一致しない場合)またはすべてのデバイスが使用できず、キー文字列を取得できない場合は、以下の手順でキーをリセットできます:
- データを手動でバックアップします。データのエクスポート を使用するか、ファイルシステム上で ワークスペース/data/ フォルダーをコピーします
- 設定 - 情報 - データリポジトリキー - データリポジトリをリセット
- データリポジトリキーを再初期化します。1台のデバイスでキーを初期化した後、他のデバイスでキーをインポートします
- クラウドは新しい同期ディレクトリを使用します。古い同期ディレクトリは使用できなくなり、削除できます
- 既存のクラウドスナップショットは使用できなくなり、削除できます
ほとんどの機能は無料で、商業利用も可能です。
会員特典は支払い後にのみ利用可能です。詳細については価格をご覧ください。
SiYuanの誕生は、多くのオープンソースプロジェクトと貢献者なしでは実現できませんでした。プロジェクトのソースコード kernel/go.mod、app/package.json、およびプロジェクトのホームページをご覧ください。
SiYuanの成長は、ユーザーのフィードバックとプロモーションなしでは実現できませんでした。SiYuanへのすべての支援に感謝します ❤️
私たちに参加し、一緒にSiYuanにコードを貢献することを歓迎します。