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

roadmap: possible upcoming major changes #715

Open
2 of 11 tasks
McShelby opened this issue Nov 4, 2023 · 7 comments
Open
2 of 11 tasks

roadmap: possible upcoming major changes #715

McShelby opened this issue Nov 4, 2023 · 7 comments
Labels
breaking Introduces breaking changes with existing installations idea A valuable idea that's currently not worked on task Maintainence work

Comments

@McShelby
Copy link
Owner

McShelby commented Nov 4, 2023

This is a list of ideas running thru my head to make the theme more compliant with standard Hugo features. This does not necessarily mean, that these changes finally will happen:

  • theme: reorganize repo to reduce size #718 this will most likely outsource the docs to a different repo
  • resources: new shortcode to deprecate attachments shortcode #22 deprecate attachments shortcode in favor for resources shortcode
  • menu: support for external links #148 switch the main menu generation to standard Hugo menu feature for more flexibility of what to include in the links
  • theme: reduce build time #685 deprecate hidden pages feature? would make menu generation much faster
  • theme: end support for Internet Explorer 11 #584
  • put all theme config option under [params.relearn] for hugo.toml and probably frontmatter - Hugo is thinking into a similar direction of getting more structure into the params (there it's motivated by having clean interfaces for the underlying object structures and not hassle around with volatile object properties)
  • remove internal output-partial mechanism by reverting back to standard partial calls
  • simpify the archetype support by not clattering it in multiple files
  • revisit layouts support, maybe add more (landing page without menu, gallery, etc?)
  • leverage baseof templates?
  • leverage Hugo's _cascade feature to inherit settings in hierachical structures; this will affect the menu options hidden, alwaysopen, ordersectionby and collapsibleMenu
@McShelby McShelby added task Maintainence work undecided No decission was made yet breaking Introduces breaking changes with existing installations labels Nov 4, 2023
@McShelby McShelby pinned this issue Nov 4, 2023
@McShelby McShelby changed the title theme: list of possibly upcoming major changes list of possibly upcoming major changes Nov 4, 2023
@cagix
Copy link

cagix commented Nov 4, 2023

while i understand hidden pages could make menu generation more complex, removing hidden pages seems to be a major step backwards in my use case and would potentially force me to switch to another theme.

@McShelby
Copy link
Owner Author

McShelby commented Nov 4, 2023

I am also not happy with this. This would also affect the use case at my company, so I doubt that I will implement it in that radical way. One other thought is to make it opt-in and explicitly mention the performance impact. I need to do further tests to decide on this.

@cagix
Copy link

cagix commented Nov 4, 2023

I am also not happy with this. This would also affect the use case at my company, so I doubt that I will implement it in that radical way. One other thought is to make it opt-in and explicitly mention the performance impact. I need to do further tests to decide on this.

i'm kinda intrigued with the way folks over at mdbook are handling this: they use a separate file named "summary.md" to construct the menu. such a file could be easily provided manually or even constructed automatically in case one needs hidden pages. but that's not really the path of hugo ...

@McShelby McShelby changed the title list of possibly upcoming major changes roadmap: list of possibly upcoming major changes Nov 4, 2023
@McShelby
Copy link
Owner Author

McShelby commented Nov 4, 2023

Sounds intersting. Do you have a link to the docs? My quick google-fu was not successful.

@cagix
Copy link

cagix commented Nov 4, 2023

Sounds intersting. Do you have a link to the docs? My quick google-fu was not successful.

https://rust-lang.github.io/mdBook/guide/creating.html, https://github.com/rust-lang/mdBook

hmmm, the "summary.md" seems also to be used as kind of toc and/or start page. but the structure and the linked documents is used to create the menu.

@McShelby
Copy link
Owner Author

McShelby commented Nov 4, 2023

Thanks @cagix. To me this sounds like a page is hidden if it is not contained in any summary. Probably the page is still accessible by direct linking. But this would mean the page is also not part of the book hierarchy which would be different from the themes hidden page feature. Or do i miss a part?

@cagix
Copy link

cagix commented Nov 4, 2023

Thanks @cagix. To me this sounds like a page is hidden if it is not contained in any summary. Probably the page is still accessible by direct linking. But this would mean the page is also not part of the book hierarchy which would be different from the themes hidden page feature. Or do i miss a part?

indeed, it seems to work this way. but perhaps the idea could be adapted: hugo usually renders all pages contained in a certain folder and uses the structure and names or weights to populate the menu. now, to implement hidden pages, we could derive the menu in this case from something like a "summary.md", so only items defined in this file will show up in the menu - but hugo will render all pages as usual, which will "hide" all pages, which are not being referenced in the summary ...

@McShelby McShelby changed the title roadmap: list of possibly upcoming major changes roadmap: possible upcoming major changes Nov 4, 2023
@McShelby McShelby added idea A valuable idea that's currently not worked on and removed undecided No decission was made yet labels Nov 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Introduces breaking changes with existing installations idea A valuable idea that's currently not worked on task Maintainence work
Projects
None yet
Development

No branches or pull requests

2 participants