ckw-slidev
v2024.10.1
Published
A powerful and customizable presentation tool built with Slidev, designed for personal use. It features interactive slides, modern themes, and seamless integration with popular development tools.
Readme
ckw-slidev (Cheung Ka Wing's Slidev)
Welcome to ckw-slidev (Cheung Ka Wing's Slidev) project! 🎉 This project leverages Slidev to create interactive and engaging presentations. "CKW" stands for Cheung Ka Wing, the creator of this project.
Table of Contents
Introduction
ckw-slidev
is my personal presentation tool that combines the power of Markdown with the flexibility of Vue.js. It allows me to create beautiful presentations with elegance. 🎨
Features
Our presentation tool comes packed with powerful capabilities to help you create stunning presentations. ✨ We combine the simplicity of Markdown with the interactivity of modern web technologies to deliver an exceptional authoring experience.
- Interactive Presentations: Create dynamic slides with animations and click handlers
- Markdown Support: Write your content in familiar Markdown syntax
- Custom Themes: Personalize your presentations with custom styling
- Live Reload: Watch your changes appear instantly as you work 🔄
- Custom Fonts: Enhance typography with Maple Mono, Resource Han Rounded, and Source Han Serif
- Code Quality Tools: Keep your code clean with integrated tools
- Automated Releases: Streamline deployments with CalVer support
- Git Hooks: Maintain quality standards with pre-commit checks
Getting Started
To get started, clone the repository and install the dependencies:
git clone https://github.com/your-username/ckw-slidev.git
cd ckw-slidev
npm install
To start the development server and view your presentation:
npm run dev
This will start a local server and open your presentation in the default web browser. 🌐
Project Structure
We've organized the codebase to be intuitive and maintainable 🏗️. Each directory serves a specific purpose, making it easy to find and modify components as needed:
ckw-slidev/
├── .trunk/ # Quality tools setup
├── components/ # Vue components for slides
├── pages/ # Your presentation content
├── public/ # Static assets and fonts
├── src/ # Core application logic
└── styles/ # Theme configurations
Development
Writing presentations should be enjoyable and efficient 🚀. Our development workflow is designed to get you up and running quickly while maintaining high code quality standards.
Available Scripts
These carefully selected commands help streamline your development process ⚡:
npm run dev
- Launch local development servernpm run fmt
- Format your code beautifullynpm run lint
- Check for code quality issuesnpm run commitlint
- Ensure proper commit messagesnpm run release
- Package and publish new versions
Code Quality Tools
We believe in maintaining the highest standards for our code 🛠️. Our toolchain includes:
- Trunk: Coordinates our code quality pipeline
- Codespell: Catches those pesky typos
- ESLint: Ensures clean JavaScript/TypeScript
- Prettier: Maintains consistent formatting
- Stylelint: Keeps CSS organized and efficient
Contributing
We welcome contributions! 🤝 Please read our CONTRIBUTING.md for guidelines on how to contribute to this project.
We use commitlint to ensure consistent commit messages. To commit your changes, use:
npm run commitlint
We use Husky to manage Git hooks. To install Husky:
npm run prepare
We use release-it for automated releases. To create a new release:
npm run release
License
This project is licensed under the Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License. 📜 You are free to share and adapt the material for non-commercial purposes, provided you give appropriate credit, link to the license, and indicate if changes were made. If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. For more details, see the LICENSE file.
Dependencies
This project uses third-party libraries that are licensed under their respective licenses. 📦 Please review the licenses of both "dependencies"
and "devDependencies"
to ensure compliance.
Even though "devDependencies"
are not used in the production environment, their licenses can still impose legal obligations during development, testing, and distribution. Therefore, it's important to consider the licenses of all third-party libraries used in the project.