Skip to content
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

在blog里显示多个栏目 #76

Open
zire opened this issue Aug 21, 2023 · 2 comments
Open

在blog里显示多个栏目 #76

zire opened this issue Aug 21, 2023 · 2 comments

Comments

@zire
Copy link
Member

zire commented Aug 21, 2023

@zhangwei983 提出了一个建议,把blog里分成几个栏目(譬如,ICP Monday, 社区动态,IC from Michael Yang,白泽研究院,等等),这样可以让不同主题,不同作者,不同系列的文章都可以出现在blog的左边菜单下,从另外一个维度来区分IC社区的文章。目前Docusaurus的架构下,只能显示一个blog,除了tag以外,没有其他的方式来区分文章。

我尝试了一下,大概有四种路线,但效果都不理想。

  1. 在目前的blog下设立多个子目录。Docusaurus目前只能做到在IDE里的blog下设立多个子文件夹(https://jvdevlab.com/blog/docusaurus/blog-subfolders) ,但是最后在网页上显示仍然是同一个系列,不能按照文件夹的名字来区分不同的文章。文件夹的存在,仅仅只是方便开发者在本地处理文件而已,不能起到对markdown文件分类的效果。

  2. 设立multiple blog,这是docusaurus可以支持的。https://docusaurus.io/docs/blog#multiple-blogs 。 但是,从测试网站效果来看,会在top menu增加一个选项。目前 ic123 的顶级目录已经有八项了,难以再容纳更多的同等重量级的选项。

  3. 把顶级菜单的 新闻 指向到tags,这样方便读者选择不同的栏目 - 假设每个栏目都是一个单独的tag。但栏目毕竟不同于tag,效果还是打了很大的折扣。以后tag的数量会大大超过栏目的数量,划分起来并不容易。

  4. 在docs下建立子目录,用docs的方式来处理专栏文章,譬如 https://herbertyang.xyz/ 的处理方式。但blog文章跟其他docs的文章性质不同,用这种方式处理需要手工操作的地方,需要人为维护的rules太多,会降低更新和维护的效率。

所以,暂时就先保持现状 - 除非有人可以提出更好的解决办法。

@cylim
Copy link
Contributor

cylim commented Dec 25, 2023

@zire 我对docusaurus不是很熟悉,刚刚快速看了看文档。

我觉得3可行,但是新闻还是指向现在的新闻页面。然后在sidebar里加个category,手动限制只显示栏目的tags。

我的想法是,有可能某篇文章也会同时属于多个栏目。sidebar是个array,应该可以在上面加个栏目(filtered tags)的列表,点击就到相应的栏目(tags)里。

ref: https://docusaurus.io/docs/sidebar/items#sidebar-item-category

@cylim
Copy link
Contributor

cylim commented Dec 25, 2023

我弄了个例子,文档里的sidebar不适用在blog,所以看了下extract theme的方案。 #110
如果觉得这改变没太大意义,可以直接关了PR。

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

No branches or pull requests

2 participants