Skip to content

Commit 950f574

Browse files
committed
docs: readme
1 parent 235bcd1 commit 950f574

File tree

1 file changed

+2
-148
lines changed

1 file changed

+2
-148
lines changed

README.md

Lines changed: 2 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -1,149 +1,3 @@
1-
# TutorialKit Starter
1+
# Vite Plugin tutorial
22

3-
👋 Welcome to TutorialKit!
4-
5-
This README includes everything you need to start writing your tutorial content quickly.
6-
7-
## Project Structure
8-
9-
```bash
10-
.
11-
├── astro.config.mjs # TutorialKit uses Astro 🚀 (https://astro.build)
12-
├── src
13-
│ ├── ...
14-
│ ├── content
15-
│ │ └── tutorial # Your tutorial content lives here
16-
│ └── templates # Your templates (see below for more information)
17-
├── public
18-
│ ├── favicon.svg
19-
│ └── logo.svg # Default logo used in top left for your tutorial
20-
├── ...
21-
├── theme.ts # Customize the theme of the tutorial
22-
└── uno.config.ts # UnoCSS config (https://unocss.dev/)
23-
```
24-
25-
## Getting Started
26-
27-
Make sure you have all dependencies installed and started the dev server:
28-
29-
```bash
30-
pnpm install
31-
pnpm run dev
32-
```
33-
34-
## UI Structure
35-
36-
```markdown
37-
┌─────────────────────────────────────────────────────┐
38-
│ ● ● ● │
39-
├───────────────────────────┬─────────────────────────┤
40-
│ │ │
41-
│ │ │
42-
│ │ │
43-
│ │ │
44-
│ │ Code Editor │
45-
│ │ │
46-
│ │ │
47-
│ │ │
48-
│ │ │
49-
│ Content ├─────────────────────────┤
50-
│ │ │
51-
│ │ │
52-
│ │ Preview & Boot Screen │
53-
│ │ │
54-
│ │ │
55-
│ ├─────────────────────────┤
56-
│ │ │
57-
│ │ Terminal │
58-
│ │ │
59-
└───────────────────────────┴─────────────────────────┘
60-
```
61-
62-
## Authoring Content
63-
64-
A tutorial consists of parts, chapters, and lessons. For example:
65-
66-
- Part 1: Basics of Vite
67-
- Chapter 1: Introduction
68-
- Lesson 1: Welcome!
69-
- Lesson 2: Why Vite?
70-
-
71-
- Chapter 2: Your first Vite project
72-
- Part 2: CLI
73-
-
74-
75-
Your content is organized into lessons, with chapters and parts providing a structure and defining common metadata for these lessons.
76-
77-
Here’s an example of how it would look like in `src/content/tutorial`:
78-
79-
```bash
80-
tutorial
81-
├── 1-basics-of-vite
82-
│ ├── 1-introduction
83-
│ │ ├── 1-welcome
84-
│ │ │ ├── content.md # The content of your lesson
85-
│ │ │ ├── _files # Initial set of files
86-
│ │ │ │ └── ...
87-
│ │ │ └── _solution # Solution of the lesson
88-
│ │ │ └── ...
89-
│ │ ├── 2-why-vite
90-
│ │ │ ├── content.md
91-
│ │ │ └── _files
92-
│ │ │ └── ...
93-
│ │ └── meta.md # Metadata for the chapter
94-
│ └── meta.md # Metadata for the part
95-
├── 2-advanced
96-
│ ├── ...
97-
│ └── meta.md
98-
└── meta.md # Metadata for the tutorial
99-
```
100-
101-
### Supported Content Formats
102-
103-
Content can be either written as Markdown (`.md`) files or using [MDX](https://mdxjs.com/) (`.mdx`). Files have a Front Matter at the top that contains the metadata and everything that comes after is the content of your lesson.
104-
105-
**Example**
106-
107-
```markdown
108-
---
109-
type: lesson
110-
title: Welcome!
111-
---
112-
113-
# Welcome to TutorialKit!
114-
115-
In this tutorial we'll walk you through how to setup your environment to
116-
write your first tutorial 🤩
117-
```
118-
119-
The metadata file (`meta.md`) of parts, chapters, and lessons do not contain any content. It only contains the Front Matter for configuration.
120-
121-
### Metadata
122-
123-
Here is an overview of the properties that can be used as part of the Front Matter:
124-
125-
| Property | Required | Type | Inherited | Description |
126-
| --------------- | -------- | --------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
127-
| type || `part \| chapter \| lesson` || The type of the metadata. |
128-
| title || `string` || The title of the part, chapter, or lesson. |
129-
| slug | | `string` || Let’s you customize the URL pathname which is `/:partSlug/:chapterSlug/:lessonSlug`. |
130-
| previews | | `Preview[]` || Configure which ports should be used for the previews. If not specified, the lowest port will be used. |
131-
| autoReload | | `boolean` || Navigating to a lesson that specifies `autoReload` will always reload the preview. This is typically only needed if your server does not support HMR. |
132-
| prepareCommands | | `Command[]` || List of commands to execute sequentially. They are typically used to install dependencies or to run scripts. |
133-
| mainCommand | | `Command` || The main command to be executed. This command will run after the `prepareCommands`. |
134-
135-
A `Command` has the following shape:
136-
137-
```ts
138-
string | [command: string, title: string] | { command: string, title: string }
139-
```
140-
141-
The `title` is used as part of the boot screen (see [UI Structure](#ui-structure)).
142-
143-
A `Preview` has the following shape:
144-
145-
```ts
146-
string | [port: number, title: string] | { port: number, title: string }
147-
```
148-
149-
In most cases, metadata is inherited. For example, if you specify a `mainCommand` on a chapter without specifying it on any of its lessons, each lesson will use the `mainCommand` from its respective chapter. This extends to chapter and parts as well.
3+
Deployed at https://tutorial-vite-plugin.pages.dev/

0 commit comments

Comments
 (0)