Obsidian Publish - Obsidian 日本語ヘルプ - Obsidian PublishObsidian Publish™はノートをホスティングしてウェブサイト上に公開する有料のサービスです。
Obsidianのアプリケーション内からノートを公開する方法についての説明は[[パブリッシュ|パブリッシュプラグイン]]を参照してください。
### プライバシー
[[パブリッシュ|パブリッシュプラグイン]]を介して公開するものについては保管庫全体を公開するか、保管庫内の選択したノートのみを公開するか、ユーザーによって完全にコントロールされます。**公開しないように**選択したすべてのノートについて、それらのノートは完全にプライベートであり、Obsidian Publishはその内容についてまったく感知しないことに確信を持つことができます。
### バックアップ
Obsidian Publishは内容のバックアップとしては利用できないことに注意してください。また、どのようなバックアップの方法でもいいので、作成したサイトのバックアップコピーを常に自分自身で作成しておくようにしてください。Obsidian Publishはこれから、機能性と使いやすさ、そしてサイトの可用性によりフォーカスして開発していきます。
### デモンストレーション
公式サイトはObsidian Publishによって提供されており、公式サイトですでにこの記事を閲覧している場合にはよいデモンストレーションのチャンスとなります。
まだ確認できていない場合には、こちらをご覧ください: https://publish.obsidian.md/help.
### サービスに含まれるもの
Obsidian Publishサービスでは公開したいノートを選択して、Obsidianのアプリケーション内から直接サイトを作成することが可能です。
サイトをカスタマイズしたい場合には、ライトモードとダークモードを選択できます。さらに読み取り可能な行長さを制限するかとフルページの長さに設定するかを切り替えることも可能です。
[[パブリッシュ|パブリッシュプラグイン]]から、有効・無効にできるいくつかの要素があります。これらのオプションの変更は、キャッシュがクリアされたら直ちにサイトに反映されます。通常は5分以内にキャッシュがクリアされます。
##### ナビゲーション
このオプションを有効にすると、ナビゲーションサイドバーにサイト内のすべての公開ページとフォルダが表示されるようになります。閲覧者が現在開いているノートがハイライトされ、クリックすることで他のノートへ移動できます。
##### 検索バー
ページには検索バーが追加可能です。この検索バーはページとエイリアスの検索、更にページ内における見出し検索に利用できます。現在、サイト内のテキストコンテンツ全体を通しての検索はできません。
##### グラフビュー
現在開いているページのローカルグラフを表示します。これはObsidianの[[グラフビュー]]プラグインと同じレンダリングエンジンを使用しています。
##### 目次
現在開いているページの目次を表示します。[[アウトライン]]プラグインと同様にページ内の見出しからリストが生成されます。ノートを移動している閲覧者は、スクロールにあわせてハイライトされる見出しを見ることができ、見出しをクリックすることで直ちにそこへ移動できます。
##### バックリンク
各ページの最後に他のページからのバックリンクを含む「Linked to this page」のセクションを表示します。バックリンクが無い場合には、このセクションは表示されません。
##### タグ
サイト閲覧者がタグをクリックした際に、同一のタグを含む他のページのリストを閲覧できます。
##### ホバープレビュー
サイト内のリンクにカーソルをあわせると、ポップアップボックス内で内容が表示されます。これはObsidianの[[ページプレビュー]]プラグインと同様に機能します。
##### カスタムCSS
サイトのスタイルをカスタマイズするには、`publish.css` をアップロードしてください。このファイルはサイトのルートフォルダに保存される必要があります。既存のテーマを利用した上で `publish.css` 内にてPublish用にいくつかの追加の調整を加えることができます。
##### ファビコン
サイトのファビコンを変更するには、任意のサイズの `png` 形式のアイコンを `favicon-32.png` または `favicon-32x32.png` の形式でアップロードできます。`favicon.ico` ファイルをアップロードすることもできます。これらのファイルはどのフォルダにも保存できます。現在の推奨サイズ(2020年現在において)は、`32×32`, `128x128`, `152×152`, `167x167`, `180x180`, `192x192` または `196x196` です。
##### カスタムJS
サイト体験を変えるために独自のJavaScriptコードを実行したり、Discus!やDiscourseといった様々な統合を追加したい場合には、保管庫のルートディレクトリ内部に `publish.js` をアップロードすることで可能となります。これらのスクリプトはカスタムドメインの閲覧者に対してのみ実行されることに注意してください。
##### 検索エンジンによるインデックス化の無効化
このオプションを有効化すると、Google等の検索エンジンがサイトのインデックスを作成しないようにサイト内のすべてのページにインデックス化無効のメタタグを追加します。パスワードによってサイトが保護されている場合でも検索エンジンはインデックスを作成できないこと注意してください。
##### Googleアナリティクス
サイトにGoogleアナリティクスを設定したい場合には、まずは自身の居住する地域の法律と制限によって許可されていることを確認してください。その次に、`UA-XXXXX-Y` の形でテキストボックスにトラッキングコードを配置してください。これで自動的にページビューがトラックされます。Googleアナリティクスはカスタムドメインからの訪問者のみが利用できることに注意してください。
Googleアナリティクスのテストを行う場合には、uBlock OriginなどのGoogleアナリティクススクリプトの実行を阻止するアドブロックのブラウザ拡張機能を無効化していることを確認してください。
現在、Obsidian PublishはGoogleタグマネージャーと直接的な互換性はありません。Googleアナリティクスの代わりにGoogleタグマネージャーを使用したい場合にはカスタムJavaScriptを設定してください。
### カスタムドメイン
Obsidian Publishによって作成されたサイトにカスタムドメインやサブドメインが設定可能です。現在、ユーザーの代わりにSSL証明書のプロビジョニングを行う方法をいまだ確立していないため、独自のSSL対応サーバーに頼るか、もしくはSSLを無料提供しているCloudFlareにてサイトをセットアップする必要があります。
Obsidian Publishを既存のサイトのサブURLとしてセットアップすることも可能です。例えば、`https://mysite.com/my-notes/`。これを実現するには、独自サーバーをユーザーがホストし、すべてのリクエストを私達のサーバー `https://publish.obsidian.md/` に対してプロキシする必要があります。
セットアップの詳細は次に進んでください。
#### CloudFlareのセットアップ
カスタムドメインやサブドメインの最も簡単な設定方法は、[CloudFlare](https://cloudflare.com)にてアカウント作成を行い、CloudFlareにドメイン管理を任せることです。これによってサイトに対して無料でSSLを追加でき、世界中のあらゆる場所からのアクセスを高速に保つことができます。通常、ユーザーはObsidian Publishのコンテンツをルートドメイン(例: `mysite.com`)や、 続くサブドメイン(例: `notes.mysite.com)`などでホストします。次のマニュアルは両方のケースでうまくいきます。
1. Publishを追加したいドメインに対してCloudflareを開いてください(例: `mysite.com`、`notes.mysite.com` のようなサブドメインを追加したい場合でも)。
2. DNSへと進み「レコードの追加(Add Record)」をクリックしてください。「タイプ(Type)」でCNAMEを選択し、「名前(name)」の項目に追加したいドメインかサブドメイン(例: `notes.mysite.com`)を入力してください。「ターゲット(target)」に対して、値 `publish-main.obsidian.md` を入力してください。入力の際に、この値に個人のsub-URLを含めないようにしてください。Obsidian Publishはこれを設定から処理します。
3. SSL/TLSへと進み、SSL/TLS暗号化モードを`Full`に設定してください。これによってSSL/TLS証明書が自動的に構成されます。
CloudFlareの設定が終了したら、Obsidianにてサイトオプションに進み、URLを独自ドメインかサブドメインに設定してください。これによって私達のサーバーがドメインをサイトに対して関連付けることができます。
トラブルシューティング: カスタムドメインのセットアップがリダイレクトループに陥った場合、CloudFlareの暗号化モードが `Full` ではなく `Flexible` になっている可能性があります。
Obsidian Publishに対して `mysite.com` と `www.mysite.com` の両方を設定したい場合には、以下の通りに[ページルール](https://support.cloudflare.com/hc/en-us/articles/200172336-Creating-Page-Rules)を作成する必要があります。
- URL match: `www.mysite.com/*`
- Foward URL - 301 Permanent Redirect
- Redirect URL: `https://mysite.com/$1`
ページルールを作成したら、`mysite.com` 用に作成したのと同じように `www.mysite.com` 用にもCNAMEレコードを作成する必要があります。
#### プロキシ/リダイレクトのセットアップ
ユーザー自身のウェブサーバーをホストし、独自のSSL暗号化をセットアップしたい場合には、このオプションを選択してください。すでに所有しているドメインやサブドメイン下でウェブサイトをホストしている場合には、サイト全体をホストする代わりに特定のURLパス下でObsidian Publishによるサイトをロードするためにこのオプションを利用し、ウェブサイトをセットアップしてください。
そのURLパスの元にあるすべてのリクエストを`https://publish.obsidian.md/serve?url=mysite.com/my-notes/...` に対してプロキシを行い、`mysite.com/my-notes` に対する**カスタムURL**を設定することで、**Obsidianにて同一のURLパスに対してサイトオプションの設定を行ってください**。
##### NGINX
```nginx
location /my-notes {
proxy_pass https://publish.obsidian.md/serve?url=mysite.com/my-notes/;
proxy_ssl_server_name on;
}
```
##### Apache
`.htaccess` に以下のコードを追加してください。
```htaccess
RewriteEngine on
RewriteRule "^my-notes/(.*)
quot; "https://publish.obsidian.md/serve?url=mysite.com/my-notes/$1" [L,P]
```
ノート: mod_rewriteは有効化されている必要があります。また、[SSLプロキシーエンジン](https://stackoverflow.com/questions/40938148/reverse-proxy-for-external-url-apache)の設定が必要な場合があります。
##### Netlify
```
[[redirects]]
from = "https://mysite.com/my-notes/*"
to = "https://publish.obsidian.md/serve?url=mysite.com/my-notes/:splat"
status = 200
force = true
```
##### Vercel
`vercel.json` に[rewritesを設定してください](https://vercel.com/docs/configuration#project/rewrites)
```json
{
...
"rewrites": [
{
"source": "/my-notes/",
"destination": "https://publish.obsidian.md/serve?url=mysite.com/my-notes"
},
{
"source": "/my-notes/:path*",
"destination": "https://publish.obsidian.md/serve?url=mysite.com/my-notes/:path*"
}
]
}
```
##### サポートされているHTTP Xヘッダー
プロキシサービスがクエリパスを許可していない場合には、代わりにカスタムヘッダー `x-obsidian-custom-domain` をサイトURL `mysite.com/my-subpath` に設定して `https://publish.obsidian.md/` を利用できます。
#### カスタムドメインのセットアップ後の問題
カスタムドメインを設定した後、以前の `https://publish.obsidian.md/slug` リンクからサイトに訪問した場合には、正確にサイトを読み込めるように特定の項目(フォント、グラフ、パスワード等)に関するブラウザのキャッシュを消去する必要があるかもしれません。これはモダンなブラウザによって課されるクロスドメインのセキュリティ上の制限のためです。サイト閲覧者に対してカスタムドメインを利用させている場合に限って、この問題にサイト閲覧者が衝突することは決してありません。
#### 旧サイトからカスタムドメインへのリダイレクト
古い `publish.obsidian.md` サイトから新規カスタムドメインへとサイト閲覧者をリダイレクトしたい場合には、カスタムドメイン設定ページからこれを有効化できるオプションがあります。
### 間もなく提供開始
Obsidian Publishは依然として開発の初期段階にあります。現在、以下の機能を追加する予定にあります。
- カスタムドメインのフルサポート(SSL証明書のプロビジョニング)
- フルテキスト検索
- より多くのビルトインテーマ
Obsidian Publishについての機能リクエストがある場合には[ここからフォーラムリクエスト](https://forum.obsidian.md/)を送信してください。
### 料金設定
Obsidian Publishの料金設定のついては、 [料金設定ページ](https://obsidian.md/pricing)をご覧ください。
### 技術的詳細
Obsidian Publishは世界中からの高速なアクセスを実現してサイトを配信するためにCloudflareをCDN(content delivery network)として使用しており、ユーザーサイトのコピーを200以上のデータセンターにおいてキャッシュするようにしています。これによって、たとえサイト閲覧者が私たちのプライマリサーバーから遠く離れたところに住んでいたとしても、遅延を少なくしてサイトは速いままに高速ロードができるようしています。
しかしながら、上記のことはサイトの設定変更やコンテンツの新規公開や非公開などを行った際に、閲覧者がしばらくの間サイトの最新版を見ることができない可能性があるということを意味します。現在、私たちのキャッシュは、内容が変更されていないことを確認するため、「再検証」が必要になる前の一時間の間は保持されるよう構成されています。
公開した直後のアイテムについて、依然として古いバージョンのものが見える場合には、リロードボタンを長押しした状態でドロップダウンメニューからハードリロードを選択することでハードリフレッシュを実行してみてください。うまくいかない場合は、利用しているブラウザのキャッシュを削除してみるか、ネットワークタブのデベロッパーツールを利用してキャッシュを無効化してみてください。
### メディアファイルのホスティング
Obsidian Publishではビデオクリップをアップロードできますが、ビデオ配信用に最適化されていません。そのため、サイト訪問者はサイトのビデオが優れたエクスペリエンスを提供していないように感じることがあります。
Obsidian Publishの動画をホストするには、YouTubeやVimeoなどの適切な動画ホスティングサービスを使用することをお勧めします。適切なビデオホスティングサイトを使用する利点は次のとおりです。
- 自動再エンコードにより、元のファイルで使用したエンコード形式に関係なく、すべてのモバイルデバイスでビデオを再生できるようになります。
- 帯域幅の可用性に基づいた動的な品質調整により、「バッファリング」が止まることが少なく、ビデオをスムーズに再生できます。
- 訪問者がサイトを表示するとき、データの上限を超えないようにするために役立つ高効率のビデオ圧縮が行われます。
- グローバルCDNにより、訪問者が世界のどこにいてもビデオを高速にロードできます。
#### メディアファイルのホスティング
Obsidian Publishはビデオクリップのアップロードを許可している一方で、動画の配信そのものには最適化されていません。これによって、サイト訪問者にとっての動画体験の品質が低く感じられる可能性があります。
Obsidian Publish用に動画コンテンツをホストする場合には、YoutubeやVimeoなどの適切な動画ホスティングサービスの利用を推奨しています。適切な動画ホスティングサイトを利用する利点には以下のものが含まれます。
- 自動的な再エンコーディングによって、オリジナルファイルで使用しているエンコーディングフォーマットに関わらず、すべてのモバイルデバイス上で動画が再生されることを保証します。
- バンド幅に基づいた動的な品質調整によって、**バッファリング**のために常に停止することなくスムーズに動画が再生されることを保証します。
- 高効率な動画圧縮によって、訪問者がサイト閲覧時にデータ上限を超さないように保証します。
- グローバルCDNによって、訪問者が世界中のどこにいるとしても動画の高速ロードを可能にします。
---
### 関連
ノートを公開するための詳細については[[パブリッシュ|パブリッシュプラグイン]]を参照してください。