0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OneDrive for BusinessでmdファイルをWikiっぽく使いたい

Last updated at Posted at 2022-10-31

SharePointOnlineやOneDrive for BusinessではMarkdown記法で書いた拡張子mdのファイルをアップロードしブラウザで開くとHTMLで整形されたものが表示されます。
このmdファイルに書く他のmdファイルへのリンクをいかに簡潔に書くか、というのが今回の目的です。

結論としては、OneDrive for Businessであれば?parent=.&id=を固定部とし、その後にファイルパスを書く書き方になります。
SharePointOnlineではidにフルパスを指定しないと表示されませんでした。

* [index](?parent=.&id=Markdown/index.md)
* [page1](?parent=.&id=Markdown/folder1/page1.md)
* [page2](?parent=.&id=Markdown/folder1/page2.md)
* [page3](?parent=.&id=Markdown/folder1/folder2/page3.md)

以下のルールで書きます。

  • クエリ文字列だけを書きます。
  • parentは省略不可ですが値は何でもよいので「.」あたりを指定します。ファイルのパスがわかりやすいよう前側に書いたほうがよいです。parentを省略するとフォルダとみなされたような表示になります。
  • カレントは常にドキュメントのトップなので、どの階層のmdファイルからでもidはトップからのパスで書きます。

上記の例は以下のフォルダ構成の場合の例です。

Markdown
│  index.md
│
└─folder1
    │  page1.md
    │  page2.md
    │
    └─folder2
            page3.md

mdファイル内のリンクをクリックしても開かいない問題

mdファイル内のリンクは、どうやらmdを表示しているiframeでブロッキングしているようでクリックしても開きません。
なので、CtrlキーかShiftキーを押しながらクリックして、別タブ/別ウィンドウで開くようにします。

思い至った経緯

Markdownで書けるので、あとはリンクさえ簡潔に書ければと思い至ったわけです。
ただ、SharePointOnlineやOneDrive for Businessの各ファイルのリンクは絶対パスでとても長く、またmdファイル内で相互リンクすることを想定した実装になっていません。

いろいろ試行錯誤した結果、以下をクエリ文字列として書くのが最小セットと思われます。(2022年10月時点)

  • 「id=<ドキュメントのトップからのパス>」でmdファイルを指定
  • 「parent=<任意>」は必須
  • その他のパラメタは不要
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?