Skip to content

ウィキを GitHub Pages で公開する #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
May 22, 2021

Conversation

Takym
Copy link
Contributor

@Takym Takym commented May 4, 2021

GitHub Wiki はサブモジュールとしてリポジトリに組み込む事で GitHub Pages で公開できます。

@Takym Takym changed the title GitHub Wiki はサブモジュールとしてリポジトリに組み込む事で GitHub Pages で公開できます ウィキを GitHub Pages で公開する May 4, 2021
@Takym
Copy link
Contributor Author

Takym commented May 4, 2021

Pages で Wiki を公開すればより情報を探し易くなる筈です。

@uchan-nos
Copy link
Member

すみません。すっかり返信が送れてしまいました。

GitHub Wiki を Pages として公開できることは分かったのですが、
なぜそうすることで「より情報を探し易くなる」のかが分かりませんでした。
サブモジュールにすることで、Wiki を更新したら Pages の方の更新も
しなければならない、というコストが高い方法と思いますので、
それに見合うメリットを知りたいです。

@Takym
Copy link
Contributor Author

Takym commented May 8, 2021

@uchan-nos さん、ご返信ありがとうございます。

GitHub Wiki を Pages として公開できることは分かったのですが、
なぜそうすることで「より情報を探し易くなる」のかが分かりませんでした。

僕の環境が原因である可能性もありますが、Google 検索すると GitHub Wiki より GitHub Pages の方が多くヒットします。また、Wiki ページの説明は非表示になってしまっています。もし他の方の環境でもそうなるのであれば、Pages で公開して正しく検索できる様にすべきだと思いました。

他にも、「site:osdev.jp」を付けて検索する事により、Wiki 上の情報を素早く探せる様になります。「site:github.com/osdev-jp/osdev-jp.github.io/wiki」を付けて検索する場合、少なくとも2021年05月08日時点では殆どヒットしません。また検索語句は短い方が入力し易いと思います。

サブモジュールにすることで、Wiki を更新したら Pages の方の更新も
しなければならない、というコストが高い方法と思いますので、
それに見合うメリットを知りたいです。

メリットは上記通り、Google 検索で正しく表示される様にする事です。Wiki が更新される度に毎回 Pages を更新するのは大変ですので、大きな変更が行われた時にのみ更新すれば良いと思います。

代替案ですが、Wiki リポジトリのフォークを Pages で公開するのはどうでしょうか?この方法では単に Wiki の変更をマージするだけで済み、サブモジュールを更新した後にコミットを作成する必要が無くなります。(サブモジュールを使う方法より手間が一つ少なくなります。)

@uchan-nos
Copy link
Member

現在、Google 検索でヒットしないということを確認しました。
なるほど、これが検索されるようになるメリットは大きいなと思いました。

定期的 or 大きな変更があったときにサブモジュールを更新することになろうかと思いますが、
実際の更新手順としてはどんな感じになりますか?

@uchan-nos
Copy link
Member

https://qiita.com/sotarok/items/0d525e568a6088f6f6bb
を参考にしてみると、Submodule(今回であれば Wiki リポジトリ)の更新を持ってくるには、
Submodule を pull してから、親リポジトリ側で commit すれば良さそう。

この方式の特徴

  • osdev.jp/wiki/ という簡素な URL で wiki を公開できる。しかも普通の pages になるから検索可能性が上がる
  • Wiki が osdev-jp/osdev-jp.github.io リポジトリの一部、という立て付けになる。まあ、もとから Wiki は osdev-jp.github.io の一部を構成するものだから、実質的な意味の変化は無い。
  • 手間が1つ多いといっても、コミットするだけ。一瞬なので、たいした問題ではなさそう。

Wiki リポジトリのフォークを Pages で公開する方式の特徴

  • まず、これが技術的に出来るのか不明。Wiki リポジトリのローカルマシンへのクローンは可能だけど……
  • osdev-jp.github.io リポジトリと別のリポジトリという立て付けになる。

Takym さんが、実際の更新手順を教えてくださってから決めようと思いますが、今のところご提案の方式を実現する方向で心が動いています。

@Takym
Copy link
Contributor Author

Takym commented May 13, 2021

サブモジュール方式で良いと思います。

色々調べてみたところ、GitHub ではDependabotでサブモジュールの更新を自動化できる様です。サブモジュールに変更が行われると自動的にPRを作成してくれます。

Dependabot を有効にして .github/dependabot.yml ファイルを下記の内容で作成するだけで済みます。

version: 2
updates:
  - package-ecosystem: "gitsubmodule"
    directory: "/"
    schedule:
      interval: "monthly"

@Takym
Copy link
Contributor Author

Takym commented May 22, 2021

Dependabot は b22f8c9 の様なコミットを生成し、Takym#2 の様なPRを発行します。

@uchan-nos
Copy link
Member

素晴らしいです。ちょっとこれで運用してみましょう。

@uchan-nos uchan-nos merged commit 5f4889e into osdev-jp:master May 22, 2021
@Takym
Copy link
Contributor Author

Takym commented May 22, 2021

ありがとうございます!

@Takym
Copy link
Contributor Author

Takym commented Jun 3, 2021

少しずつ Google に情報が表示され始めて来ましたね。

image

image

@tenpoku1000
Copy link

osdev-jp/osdev-jp.github.io https://github.com/osdev-jp/osdev-jp.github.io

の、Wiki をウェブページとして見るのリンク先

osdev-jp https://osdev.jp/wiki/Home.html

を見てみたのですが、「OS 開発を始める人たちへ」を踏むと新規ページ作成画面になってしまいます。
元の Wiki では正しい内容が表示されるようです。

Create new page · osdev-jp/osdev-jp.github.io Wiki https://github.com/osdev-jp/osdev-jp.github.io/wiki/for-begginers

Wiki をウェブページに変換するロジックが正常なのか、自動テストが無いと今回みたいに人間が
クリックしていくしか方法がなくて、維持が負担になると思うのですが

@uchan-nos
Copy link
Member

私の画面でこんなメッセージが出ていて、Dependabotの仕組みが自動的には動作しなくなってるかも?

Dependabot updates are paused
We noticed you haven't used Dependabot in a while, so we've paused automated Dependabot updates for this repository. To resume, simply interact with Dependabot.
For example, merge a Dependabot pull request or use @dependabot rebase. See open Dependabot pull requests or learn more about pausing of activity.

とりあえず、手動で「Merge」ボタンを押してみました。Pages側が更新されるだろうか?

@tenpoku1000
Copy link

GitHub Actions でエラーが出ていて処理が進んでいなかったわけですが、エラーの監視は必要なんでしょうか

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants