Skip to content

v0.1 roadmap #2

@yxonic

Description

@yxonic

About VSlides

Motivation

  • Tech/academia slides usually focus more on the content instead of visual effects.
  • Writing/maintaining/sharing contents of slides can be painful.
  • Consistency of design such as color, alignment, is harder to maintain with WYSIWYG softwares (like Word vs LaTeX, see this maybe).
  • Review LaTeX beamer:
    • Content as source code approach, with enough features.
    • It is easy to auto generate table-of-contents, references etc., with the help of LaTeX.
    • The language is obsolete.
    • The syntax is noisy.
    • It is extremely difficult to write a custom theme. Even making small modifications to existing theme is difficult.
  • Similar idea but with modern technologies: Markdown for content writing, and HTML/CSS for design.
  • Review slidev:
    • A solid proof-of-concept for web-based slide software. Markdown for writing contents, and HTML/CSS/Vue for logic/design.
    • Feature-full. Most critical and fancy functionalities that can be implemented are implemented.
    • Missing features:
      • Auto TOC generation.
      • Multiple slides hosting.
      • Client-side rendering.
    • Some design choices that I disagree with:
      • Modularization: the software is not well modularized. Extending features or supporting more use cases is difficult, even painful at times. Also, the overall software tends to be more buggy.
      • Configuration: too many places being configurable for an end product.
      • Theming: it is difficult to create a high-quality theme for slidev, due to the complexity and inconsistencies in slidev's layout and styling systems.
  • VSlides vision:
    • ...

Philosophy

Comparison

v0.1 objectives

Functionality

  • Support comparable functionalities than PPT/Keynote/beamer/slidev.
  • Support more use cases.
    • Standalone CLI, for writing and presentation.
    • As a vite plugin, for hosting and viewing one or more slides (e.g. sharing lecture slides).
    • In-browser, for online editing experience (e.g. to support feature preview, quick edit and export, hosting service).
  • Users should make fewer decisions when using vslides.
    • Works out-of-the-box. All functionalities are self-contained. No plugins. Less configuration.
    • Only the best, most-obvious tools are included and supported. E.g. unocss for CSS utilities, shiki for code highlighting.

Syntax

  • Stick to markdown syntax as much as possible, to avoid cluttering the main content.
    • At most cases, users should not have the necessity to fallback to HTML tags.
    • Insert images with sensible defaults to avoid custom <img>s.
    • Centered/flex/grid layout with markdown blocks to avoid custom <div>s.
  • Extended syntax should feel similar and easy-to-use.
    • Reduce the use of non-standard markdown grammar.
    • Use HTML comments for vslides instructions?
    • Try to be formatter-friendly. (Or implement a custom highlighter/formatter?)

Design

  • Slides should be neat and clear only with default style (feat: vslides base style #3).
  • Enforce an intuitive, clean and subtle UI design.
  • Provide a pleasant and empowered experience for theme designers.

Product

  • Logo and short description.
  • Global and package READMEs.
  • Website and demo.

Development

  • Audit dependencies frequently. Reduce unnecessary overhead.
    • E.g. remove vue-router? Or vueuse?
  • Keep high maintainability.
    • Clear data/state management. E.g. use pinia to manage global states?
  • Grow as a serious open source project that fits the community.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions