Incorrect Directory Titles

オープン
#61 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
cpp, jekyll

調査の方向性

まず create_directory_stub と reconcile を見つけ、次に a/b/h1.hpp、a/c/h2.hpp、a/d/h3.hpp を使った YAML 生成を再現します。ディレクトリスタブのタイトルがどのように書き込まれ、マージされるかを、mangled names を含めて追跡します。生成されたディレクトリページの front matter が、reconciliation 後も含めて対応するディレクトリタイトルを使用すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Describe the bug
The titles in the front matter for directory pages don't conform to the directories they're being generated from.

To Reproduce
Generate yaml for the following files:

  • a/b/h1.hpp
  • a/c/h2.hpp
  • a/d/h3.hpp

The title for the a directory page is a as expected, but the title for the a/b directory page is also a. I would expect the title to be b.

This does not appear to be a problem if correct documentation already exists. Only when generating it for the first time.

Expected behavior
The expectation is that the titles in the directory pages mirror the directories they are generated from.

Desktop (please complete the following information):

  • OS: MacOS Catalina
  • Clang 10.0.0

Additional context
After looking into this a little it seems that a recent fix was introduced to write titles when generating the directory stubs, and that that has caused this issue. The create_directory_stub defines a static stub_json_k variable which always contained just layout set to directory. A change was introduced to also write the title, but the title is not always the same so the variable should not have remained static.

Making stub_json_k no longer static improves the directory naming, but is not sufficient (as far as I can tell) because the title should not always be the path::filename() of the directory being created. If the directory name is mangled, then the mangled name is written to the title field. Then, later, during the call to reconcile the mangled name already exists and prevents the correct, demangled name from being written to the title field of the merged node.

I have worked around this locally by (a) making stub_json_k a local variable in the create_directory_stub function, and (b) only writing the title for "true" ancestors. So when creating path directories for a/b/c. I only set the title for a and b, but not for c. It seems to work, but I can't really tell whether it's really tackling the core of the problem.

主要言語
C++
スター
341
フォーク
45
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

adobe/hyde のほかの issue

adobe/hyde の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。