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

New Default Theme for Slidev #2128

Open
sghng opened this issue Mar 22, 2025 · 1 comment
Open

New Default Theme for Slidev #2128

sghng opened this issue Mar 22, 2025 · 1 comment

Comments

@sghng
Copy link
Contributor

sghng commented Mar 22, 2025

Evolving Slidev's Default Theme 🎨

There have been some discussions in the community regarding a new default theme for Slidev. I'm documenting them here to see what the maintenance team thinks.

Slidev users, feel free to this issue and join discussion to show your support for this initiative!

Current Challenges

Some basic styling issues need attention:

  • Inconsistent typography
  • Excessive top margins in headings
  • Improper line spacing in lists
  • And many more
  • And these problems are even worse in some builtin layouts

Why This Matters

  • Community Growth: A polished default theme is crucial for adoption. New users should be able to create professional-looking presentations without additional configuration. I'll be a lot more confident to recommend Slidev to others if there's a better default.
  • User Experience: Even experienced developers shouldn't need to create custom themes for basic presentations.

We should prioritize achieving a polished default theme before enforcing strict change policies. Current limitations shouldn't prevent necessary improvements.

Potential Concerns

As @kermanx mentioned in Discord server:

One problem is that many slides projects are specifying "@slidev/theme-default": "latest" in package.json, which makes it much harder to have breaking changes in themes

However, I believe this can be addressed by one or more of the following:

  • Give the new default theme a new name. The default theme doesn't have to be named "default". e.g. landscape for Hexo, and Minima for Jekyll.
  • Emit a prompt when new version of the theme is used, for users to roll back to previous version, if the new appearance is not ideal.

It's also worth noting that, such upgrades will only affect users who:

  • Specified @latest in version, AND
  • Updated their dependencies, or reinstalled the packages, AND
  • Have customized themes, AND
  • The customized theme depends on the default theme (instead of any other theme), AND
  • The customized theme is messed up by new version of default theme

Proposed Solution

Launch a new v1.0.0 of the default theme with:

  • Carefully considered design choices
  • Minimalist and neutral aesthetic
  • Optimized for presentations
  • Proper spacing and typography
  • Zero-config excellence

Alternatives

  • Create a new theme with a different name, and adopt it as default, once it's matured.
  • Create an addon as a patch for the current default theme, with extra CSS rules to "fix" the appearance.
@antfu
Copy link
Member

antfu commented Mar 24, 2025

I would agree to have a better theme with a different name. Visual breaking changes for a theme is too dangerous for existing slides.

I don't have the bandwidth to redesign the theme, so if the community would help on that, it would be super helpful to push this thing forward

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

No branches or pull requests

3 participants