Как Docusaurus определяет порядок заголовков на боковой панели?

В моем проекте Docusaurus я создал новую боковую панель в sidebars.json и добавил несколько файлов, и она хорошо отображается, за исключением того, что она не упорядочена так, как я ее упорядочил в файле json.

Моя новая боковая панель представляет собой список дат и файлов, связанных с этими датами. Поэтому я подумал, что, возможно, это связано с тем, что категории являются числами Поэтому я попытался переименовать их во что-нибудь с буквами типа "Текущий год", но это не сработало. Я также попытался переставить их в файле Json, но это также не сработало.

"WhatsNew": {
    "2019": ["Current Month", "January 2019"], 
    "2018": ["December 2018", "November 2018", "October 2018", "September 
             2018", "August 2018", "July 2018", "June 2018", "May 2018", 
             "April 2018", "March 2018", "February 2018", "January 2018"],
    "2017": ["December 2017"]
  }, 

Я ожидал бы, что боковая навигация будет упорядочена, как у меня в файле json, но вместо этого она упорядочена в противоположность тому, как она упорядочена в файле json. Вместо того, чтобы начинать с 2019 года, он начинается с 2017 года.

1 ответ

Решение

Боюсь, сейчас нет хорошего способа исправить это. Это потому, что ключи в JavaScript не имеют фиксированного порядка, и это то, что Docusaurus должен решить в v2.

Один очень уродливый хак, который я могу вам предложить, это добавить пробел перед вашими ключами как таковой:

"WhatsNew": {
  " 2019": ["Current Month", "January 2019"], 
  " 2018": ["December 2018", "November 2018", "October 2018", "September 
         2018", "August 2018", "July 2018", "June 2018", "May 2018", 
         "April 2018", "March 2018", "February 2018", "January 2018"],
  " 2017": ["December 2017"]
},

и они появятся в порядке, который вы определили. Надеюсь, пространство не заметно.

Другие вопросы по тегам