提交 c28e9fe8 编写于 作者: Miykael_xxm's avatar Miykael_xxm 🚴

init

上级 4dbaa04f
[book]
title = "Learning LAB 手册"
description = "CODE CHINA Learning LAB使用手册"
authors = ["CODE CHINA 研发团队"]
language = "zh-CN"
[build]
build-dir = "book"
create-missing = true
use-default-preprocessors = false
[preprocessor.links]
[output.html]
mathjax-support = true
theme = "src/theme"
curly-quotes = true
git_repository_url = "https://codechina.csdn.net/codechina_dev/learning-lab"
git_repository_icon = "fa-github"
[output.html.playpen]
editable = true
[output.html.search]
limit-results = 20
use-boolean-and = true
boost-title = 2
boost-hierarchy = 2
boost-paragraph = 1
expand = true
heading-split-level = 2
......@@ -8,16 +8,20 @@
- [设计课程](course/design.md)
- [制作课程](course/edit/README.md)
- [课件仓库](course/edit/config.md)
- [课程信息](course/edit/detail.md)
- [课程目录结构](course/edit/structure.md)
- [目录结构](course/edit/structure.md)
- [基本信息](course/edit/basic.md)
- [课程简介](course/edit/detail.md)
- [课程任务](course/edit/tasks.md)
- [答题任务](course/edit/quiz.md)
- [题目格式](course/edit/specs.md)
- [初始化](course/edit/before.md)
- [issue](course/edit/template_issue.md)
- [wiki](course/edit/template_wiki.md)
- [任务步骤](course/edit/steps.md)
- [Responses](course/edit/responses.md)
- [学习仓库](course/edit/template.md)
- [支持事件](course/actions.md)
- [测试课程](test.md)
- [发布课程](publish.md)
\ No newline at end of file
- [支持事件](course/actions.md)
- [添加课程](course/create.md)
- [测试课程](course/test.md)
- [发布课程](course/publish.md)
---
[常见Q&A](user/q&a.md)
[问题反馈](https://codechina.csdn.net/codechina_dev/learning-lab/-/issues)
\ No newline at end of file
# 支持事件
目前 Learning Lab 支持的事件包括:
- push
- tag_push
- note
- confidential_note
- issue
- confidential_issue
- merge_request
- pipeline
- Pages
- wiki
- commit
- deployment
- alert
\ No newline at end of file
# 添加课程
你可以在 course-admin 中创建你的课程,后台地址为:
<https://codechina.csdn.net/courses/>
## 从现有仓库创建课程(建议)
在创建好 `course-config``course-template` 仓库后,你就可以在 coures-admin 中来添加课程了。
![从现有仓库创建课程](../img/create-from-repo.png)
## 从模板仓库创建课程
你也可以选择从模板仓库创建课程,系统会按照`课程标识串`及课程模板仓库自动为你创建好 `course-config``course-template` ,你随后可以在这两个仓库中进行课程内容的编辑。
![从模板仓库创建课程](../img/create-from-template.png)
## 课程管理
在创建好课程后,你可以对课程进行`课程编辑``课程测试``课程发布`以及`课程删除`等操作。
\ No newline at end of file
# 设计课程
在设计课程的过程中,通常需要结合课程任务难易程度、完成课程时长、覆盖知识点等方面综合考虑,给学员营造易于上手、有趣的课程学习体验。
## 课程构思
Learning Lab 旨在帮助学员快速的掌握相关知识点的入门知识。因此,设计课程的第一步需要我们先构思好我们的课程。为了便于完成你的课程构思,我们建议你参考以下问题清单来进行:
- 我的课程对学员实用吗?
1. 学员在课程结束后可以炫耀什么?可以是一个游戏、作品集、一个可用于未来项目的模板、一份简历甚至是一个 Pages 站点;
2. 该课程项目现实吗?
3. 学员会以炫耀自己的作品而感到自豪吗?
- 学习某个特定技能
1. 在课程结束时,学员可以继续朝哪个方向努力?
- 设计现实的互动
1. 您是否通过 CODE CHINA 提供的仓库功能在教学员?或者说静态媒体(例如指南或教程)的形式是否更适合课程内容?
2. 互动感觉自然吗?如果你在教朋友,你将如何在仓库中与他们互动?
3. 避免使用一般性的回答,例如关闭每个步骤的问题来让学员表明已阅读完毕?
4. 每次互动都会让学员更熟悉课程所期望的技能吗?
- 保持课程任务的简单
1. 可以通过8-15个任务来教授技能吗?如果没有,请考虑将其分解为多个课程。
2. 学员可以一次学完吗?
3. 一段时间后,学员可以轻松地再次进入课程学习吗?
## 创建课程目标
花几分钟时间为你的课程创建一些目标。课程目标最好能够包含以下内容:
- 完成课程后,学员将能收获什么?
- 学员在开始之前应该有什么经验?
- 完成课程后,他们可以做些什么来继续发展项目?
## 创建课程大纲
结合课程目标,创建学习者将要完成的任务列表。比如类似下面这样的:
1. 创建index.html文件
2. 添加基本标签`<html>,<head>,<body>`
3. 添加“ Hello world”文本
4. 部署到 Pages
## 将任务与CODE CHINA 事件相关联
Learning Lab 会侦听学习仓库上发生的事件,并响应这些事件。将每个任务与你希望在 CODE CHINA 上看到的事件以及事件中要查找的数据相关联:
| 任务 | CODE CHINA 事件|
|:--:|:--|
|创建index.html文件|创建文件将创建一个 push 事件|
|添加基本标签`<html>,<head>,<body>`|这将创建一个 push 事件|
|添加“ Hello world”文本|另一个 push 事件|
|部署到 Pages| 这将创建一个page_build事件|
## 将事件与Learning Lab的动作联系起来
Learning Lab 使用动作来响应学员生成的事件。它有助于在计划过程中开始考虑这些操作。以上面的例子为例:
- 第一步我们将要求用户创建 index.html 文件并推送到仓库
- 我们将使用 getTree 来查看提交
- 然后,gate 操作来查看该提交是否包含名为 index.html 的文件
- 如果是这样,我们可以使用响应来进行下一步的评论
- 如果不是,则可以使用“响应”来提供有关如何创建或重命名文件的说明
## 创建课程流程
现在你已经有了一个课程任务大纲了,最后,我们需要完善整个课程学习的学习体验了,包括:
**课程开始之前**:在学员注册学习之后开始学习之前,应该在课程库中做什么?应该启用什么设置?欢迎应该怎么说?学员需要做的第一件事是什么?
**学习步骤**:这是主要的课程内容。一旦学员进入课程,Learning Lab 将等待学员的特定操作。我们在之前的步骤中定义了此步骤,因此步骤1将在从学员的学习仓库中收到事件后开始,并在结束时发布步骤2的说明。
**最后一步**:当学习者到达课程的最后一步时,Learning Lab 应在最后一次评论时给出“祝贺”等表示课程结束的消息和供学员进一步学习的建议。
# 制作课程
在课程设计好之后,我们就可以开始课程的制作过程了。通常,课程制作需要我们完善`course-config`仓库下的全部内容,其中包括:
- 课程简介 `course-detail.md` 文件
- 课程配置 `manifest.yml`文件
- 课程 response `*.md` 文件
- 课程步骤 `*.yml` 文件
如果你有特定的内容需要提供给学员的话,你还需要将这些内容存放在 `course-template`仓库中。
\ No newline at end of file
# 课程基本信息
课程基本信息在 `manifest.yml` 文件中配置,可配置的内容包括:
| 选项|是否必填| 说明|
|:--|:--:|--:|
|title|✓| 课程名称|
|target_user|✓|建议的课程学习人群|
|duration|✓|课程时长|
|official_website| |课程官网|
|discussion_url|✓|课程反馈地址|
|tags| |课程标签|
|chapters|✓|课程步骤|
|recommends| |相关课程推荐|
其中`tags`,`chapters``recommends`均为数组格式,其格式如下
**tags**
```yaml
tags:
- 'Git'
- 'Git 教程'
- 'Git 入门'
- 'Learning LAB'
```
**chapters**
课程步骤的配置信息,其中:
- `title`,该步骤的标题,将显示在课程页面中,可用于标识课程的学习进度
- `config_path`,该步骤的配置文件
- `sort_index`,该步骤在课程中的排序
```yaml
chapters:
- title: git简介
config_path: 01_git简介/index.yml
sort_index: 1
- title: git安装
config_path: 02_git安装/index.yml
sort_index: 2
```
**recommends**
课程的推荐内容,其中:
- `title`,推荐内容的名称
- `url`,推荐内容链接
- `img`,推荐内容封面图
```yaml
recommends:
- title: 'Git入门基础'
url: https://edu.csdn.net/course/detail/1223
img: 'https://img-bss.csdnimg.cn/20208521644599_31426.jpg?imageMogr2/auto-orient/thumbnail/636x360!/format/jpg%7Cwatermark/1/image/aHR0cHM6Ly9pbWctYnNzLmNzZG5pbWcuY24v5LyB5Lia5L-h5oGv5YyWXzIucG5n/dissolve/85/gravity/Center/dx/0/dy/0/'
```
以下是《Git 入门》的课程基本信息参考示例:
```yaml
# 课程主体信息配置
title: 'Git 课程入门'
target_user: '初学者'
duration: '70分钟'
official_website: 'https://codechina.csdn.net'
discussion_url: 'https://codechina.csdn.net/codechina_dev/git-learning-course-template/-/issues/1'
tags:
- 'Git'
- 'Git 教程'
- 'Git 入门'
- 'Learning LAB'
chapters:
- title: git简介
config_path: 01_git简介/index.yml
sort_index: 1
- title: git安装
config_path: 02_git安装/index.yml
sort_index: 2
- title: git使用
config_path: 03_git使用/index.yml
sort_index: 3
- title: 版本管理
config_path: 04_版本管理/index.yml
sort_index: 4
- title: 分支管理
config_path: 05_分支管理/index.yml
sort_index: 5
- title: git标签
config_path: 06_git标签/index.yml
sort_index: 6
# 视频课程推荐
recommends:
- title: 'Git入门基础'
url: https://edu.csdn.net/course/detail/1223
img: 'https://img-bss.csdnimg.cn/20208521644599_31426.jpg?imageMogr2/auto-orient/thumbnail/636x360!/format/jpg%7Cwatermark/1/image/aHR0cHM6Ly9pbWctYnNzLmNzZG5pbWcuY24v5LyB5Lia5L-h5oGv5YyWXzIucG5n/dissolve/85/gravity/Center/dx/0/dy/0/'
- title: 'Git实战视频教程'
url: https://edu.csdn.net/course/detail/2319
img: 'https://img-bss.csdnimg.cn/202085211018301_38053.jpg?imageMogr2/auto-orient/thumbnail/636x360!/format/jpg%7Cwatermark/1/image/aHR0cHM6Ly9pbWctYnNzLmNzZG5pbWcuY24veOeglOWPkeeuoeeQhi0wNC5wbmc=/dissolve/85/gravity/Center/dx/0/dy/0/'
- title: 'Git/GitHub实战视频'
url: https://edu.csdn.net/course/detail/25282
img: 'https://img-bss.csdnimg.cn/20208521916893_74866.jpg?imageMogr2/auto-orient/thumbnail/636x360!/format/jpg%7Cwatermark/1/image/aHR0cHM6Ly9pbWctYnNzLmNzZG5pbWcuY24vYkphdmFfMzMucG5n/dissolve/85/gravity/Center/dx/0/dy/0/'
```
\ No newline at end of file
# 初始化
课程初始化,是指在学员注册课程之后开始学习课程之前,Learning Lab 对学员学习仓库进行的初始化操作。
初始化配置是可选的,配置的内容需要放在 `index.yml` 的第一段,在所有的 steps 配置之前。
## 参考示例
以下是课程初始化的一些参考示例:
在学员的学习仓库中创建一个 Issue 并将 Issue 链接保存下来以便后续使用:
```yaml
before:
link: '{{chapter_1_issue}}'
transitions:
action:
- type: create_issue
title: "Markdown 介绍"
with: 001_1_markdown_basic.md
store:
chapter_1_issue: '{{result.data.html_url}}'
```
新建一个合并请求
```yaml
before:
- type: merge_request.create
title: "解决冲突"
body: 00_welcome-conflict-1.md
head: update-config
```
\ No newline at end of file
# 课件仓库
课件仓库的名称格式为 `课程名称-course-config` ,该仓库是课程的配置仓库,在课程测试、发布时,Learning Lab 将根据该仓库中的相关信息创建一门课程。
课件仓库至少需要包含以下内容:
- 课程简介 `course-detail.md` 文件
- 课程配置 `manifest.yml`文件
- 课程 response `*.md` 文件
- 课程步骤 `*.yml` 文件
课程仓库可以随时更新,更新后可以通过课程测试按钮对课程进行测试;但如果需要将新的课程发布,则需要重新发布课程。
![课程管理](../../img/course-admin.png)
\ No newline at end of file
# 课程信息
# 课程简介
课程简介为课程的基本介绍,可以包括以下内容:
- 这是什么样一个课程
- 适合什么样的人群来学习
- 通过本课程可以学习到什么
- 课程的学习资源、工具
\ No newline at end of file
# Responses
Responses 指课程中各种用于与学员进行交互的 `markdown` 格式文件,该文件的名称无关紧要,但是你可以使用一些命名约定来帮助你,例如为响应编号(1-welcome.md)或在响应错误时使用`e`作为文件名前缀,以帮助学习者从错误中导航(e-you-didnt-comment.md)。
## 使用示例
告诉学员当前步骤已经完成的 Response 文件:
```markdown
恭喜@{{%user%}},通过本章节的介绍,相信你对 Markdown 已经有了一个基本的认识,在接下来的内容中,我们将开始向你介绍 Markdown 文档中常用的几个语法格式了。
##### 在开始新的章节学习之前,请点击下方的 `关闭 Issue` 按钮。
```
告诉学员进行下一步操作的 Response 文件(例子中用的是仅含一个选项的单选题来完成提示):
```markdown
** :point_down: :point_down: :point_down: 请点击下方的继续学习按钮 **
(x) 继续学习 {{太棒了,让我们看看接下来的学习内容吧}}
|| 小提示:点击继续学习按钮就可以进入下一步啦。 ||
```
## 变量
在整个课程中,你可以使用变量为学员提供更加个性化的体验,以下是目前 Learning Lab 中支持并开放的变量:
| 变量| 说明|
|:--|:--|
|`{{course.title}}`|课程名称|
|`{{user}}`| 学习课程的学员用户名|
|`{{date}}`| 当前系统时间|
|`{{repo_url}}`| 学员的学习仓库 url |
后续我们将开放更多可用的变量。
# 任务形式
目前,Learning Lab 支持以下 3 种任务形式:
- 单选
- 多选
- 答题
## 单选
要在课程中创建一个单选形式的任务,其格式为:
```bash
step1
|---choice.md
|---index.yml
```
其中 `choice.md` 格式为
```md
** 以下哪个不是 Markdown 的优点?**
( ) 专注你的文字内容而不是排版样式,安心写作 {{回答错误}}
( ) 轻松的导出 HTML、PDF 和本身的 .md 文件 {{回答错误}}
( ) 纯文本内容,兼容所有的文本编辑器与字处理软件 {{回答错误}}
( ) 随时修改你的文章版本,不必像字处理软件生成若干文件版本导致混乱 {{回答错误}}
( ) 可读、直观、学习成本低 {{回答错误}}
(x) 有大量的排版、字体设置操作 {{回答正确,Markdown 让我们更专注于文字内容而不是排版样式}}
( ) 相应的工具支持很好 {{回答错误}}
|| Markdown 有着代码语法简单、专注于撰写内容、排版清晰简洁等特点。 ||
```
其中:
- 题目名称,题目名称需由`**` 包裹起来
- 选项,选项需要由 `( ) `开头,如果是正确选项,则需要标记为 `(x) `
- 选项注释,选项注释是当学员在选择对应选项后课程给出的提示信息,需要跟在选项后,并由`{{` 包裹起来
- 提示,提示是当学员在单击题目右侧的 ?时系统给出的提示信息,需要由 `||` 包裹起来
对应 `index.yml` 的配置文件为
```yaml
step2:
link: '{{chapter_1_issue}}'
# description: "认识 Markdown"
transitions:
events: ['note_events']
action:
- type: choice
with: 001_3_markdown_advantage.md
to: step3
```
## 多选
要在课程中创建一个多选形式的任务,其格式为:
```bash
step1
|--- choice.md
|--- index.yml
```
其中 `choice.md` 格式为
```md
*** Markdown最适合做什么(多选)?**
(x) 写文档 {{正确}}
( ) 写程序 {{回答错误}}
(x) 写博客 {{正确}}
( ) 画图 {{回答错误}}
|| Markdown的设计初衷就是给程序员使用的文档写作工具,因此非常适合用来写文档、写博客。||
```
其中:
- 题目名称,多选的题目名称需由`***`开头,并由 `**` 结尾包裹起来
- 选项,选项需要由 `( ) `开头,如果是正确选项,则需要标记为 `(x) `
- 选项注释,选项注释是当学员在选择对应选项后课程给出的提示信息,需要跟在选项后,并由`{{` 包裹起来
- 提示,提示是当学员在单击题目右侧的 ?时系统给出的提示信息,需要由 `||` 包裹起来
对应 `index.yml` 的配置文件为
```yaml
step4:
link: '{{chapter_1_issue}}'
# description: "使用 Markdown 的误区"
transitions:
events: ['note_events']
action:
- type: choice
with: 001_5_when_to_use_markdown.md
to: step5
```
## 答题
答题的任务与单选/多选不同,在做出选择以及提交选项后,系统只会判断是否回答正确,不会进行相应的提示。
> 目前,答题任务在创建时,需要在创建 Issue 时指定 issue_type 为 `exam`
要在课程中创建一个答题形式的任务,其格式为:
```bash
step1
|--- test.md
|--- index.yml
|--- result.yml
```
其中`test.md` 格式为:
```md
### 请完成以下测试,完成后点击提交按钮提交
((((( exam )))))
** 31. int i = 0; System.out.println(i++); 这段Java代码执行的输出结果是? **
% ( ) A. 0 {{31-A}}
% ( ) B. 1 {{31-B}}
% ( ) C. 2 {{31-C}}
% ( ) D. 3 {{31-D}}
……
** 32. int i = 0; System.out.println(i++); 这段Java代码执行的输出结果是? **
% ( ) A. 0 {{31-A}}
% ( ) B. 1 {{31-B}}
% ( ) C. 2 {{31-C}}
% ( ) D. 3 {{31-D}}
<<<<< submit >>>>>
((((( exam )))))
```
其中:
- 题目部分由```((((( exam )))))``` 包裹起来
- 每个题目均由 `**` 包裹起来
- 每个单选题的选项由 `% ( ) ` 开头
- 每个多选题的选项由 `% [ ] ` 开头
- 每个选项对应的 id 需要由 `{{题号-id}}`组成,该`id`对应 `result.yml` 中的选项
- `<<<<< submit >>>>>` 为提交按钮
对应的 `index.yml` 配置为:
```yaml
before:
link: '{{chapter_5_issue}}'
transitions:
events: ['note_events']
action:
- type: issue_comment.created
with: 005_2_exam_question_1.md
to: step1
step1:
link: '{{chapter_5_issue}}'
description: "Part IV"
transitions:
events: ['exam_events']
action:
- type: exam_result
with: result.yml
- type: issue_comment.created
with: 005_3_part_1_end_1.md
to: step2
step2:
link: '{{chapter_5_issue}}'
# description: "完成当前章节学习"
transitions:
events: ['close_issue']
action:
- type: create_issue
title: "入学测试(五)"
csdn_issue_type: 'exam'
with: 006_1_exam_part_1.md
store:
chapter_6_issue: '{{result.data.html_url}}'
- type: issue_comment.created
with: 005_4_part_1_end_2.md
to: end
```
其中:
- step1 是输出考试题目
- step2 是根据 `result.yml`进行结果校验
- step3 是创建考试,注意其中指定了 issue_type 为`exam`,即 `csdn_issue_type: 'exam'`
对应的 `result.yml` 格式为:
```yaml
31: A
32: A,B,C,D
```
其中:
- `31`表示选项对应的序号
- `:` 后面的表示正确选项,如果是多选,则多个正确选项需要由`,`分开
\ No newline at end of file
# 课程目录结构
# 目录结构
通常,课程仓库的目录结构如下:
```bash
course-detail.md
manifest.yml
step1
|--- response1.md
|--- response…N.md
|--- index.yml
step2
|--- response2.md
|--- response…N.md
|--- index.yml
```
在课程设计中,如果课程为9个步骤,则需要为每个步骤都创建一个文件夹,每个步骤相关的`index.yml`以及`response` MD 文件都需要单独放置在该步骤的文件夹中。
> `index.yml` 暂不支持跨文件夹引用 `response` MD 文件,如果某个`response` MD 文件在多个步骤中均需要使用到,则需要将该 MD 文件拷贝到每个步骤相应的文件夹中
## 课件仓库示例
目前,CODE CHINA 官方推出了《Git 入门》以及《Markdown 基础知识》两门课程,可以参考这两门课程的课件仓库:
- 《Git 入门》课件仓库 <https://codechina.csdn.net/codechina_dev/git-learning-course-config>
- 《Markdown 基础知识》课件仓库 <https://codechina.csdn.net/codechina_dev/markdown-course-config>
\ No newline at end of file
# 课程任务
步骤是课程的基本组成部分,每个步骤都对应一个`index.yml`文件,每个课程步骤中可以包含多个任务。任务由事件触发,并执行相应的操作。
![课程步骤](../../img/course-step-status.png)
## 步骤配置
步骤由以下字段组成:
|类型|是否必须|说明|
|:--|:--:|:--|
|link|✓|任务地点,当点击对应任务的继续学习按钮时跳转的 Url|
|transitions|✓|当前任务涉及的事务单元集合,由events、actions组成|
|description|✓|任务名称,该步骤中预期动作的详细说明。显示在步骤标题下方,可用于标识课程学习进度|
|events|✓|webhook事件名称,用于触发步骤|
|action|✓|触发步骤时将执行的操作的列表。将任务标记为完成需要完成任务中的所有动作。|
|to|✓|任务完成后的后续步骤|
## 参考示例
以下是《Markdown 入门课程》中第六章:列表 的`index.yml`示例:
```yaml
before:
link: '{{chapter_6_issue}}'
transitions:
action:
- type: issue_comment.created
with: first.md
to: step1
# Task 列表
step1:
link: '{{chapter_6_issue}}'
description: "无序列表"
transitions:
events: ['note_events']
action:
- type: issue_comment.created
with: 006_2_ul_list.md
- type: choice
with: next.md
to: step2
step2:
link: '{{chapter_6_issue}}'
description: "有序列表"
transitions:
events: ['note_events']
action:
- type: issue_comment.created
with: 006_3_ol_list.md
- type: choice
with: next.md
to: step3
step3:
link: '{{chapter_6_issue}}'
# description: "Markdown 转义"
transitions:
events: ['note_events']
action:
- type: issue_comment.created
with: 006_4_markdown_transfer.md
- type: issue_comment.created
with: 006_5_list_nest.md
- type: choice
with: next.md
to: step4
step4:
link: '{{chapter_6_issue}}'
description: "任务列表"
transitions:
events: ['note_events']
action:
- type: issue_comment.created
with: 006_6_todo_list.md
- type: issue_comment.created
with: 006_7_todo_list_nest.md
- type: choice
with: exam.md
to: step5
step5:
link: '{{chapter_6_issue}}'
# description: "任务列表"
transitions:
events: ['note_events']
action:
- type: choice
with: 006_8_ul_list_exam.md
to: step6
step6:
link: '{{chapter_6_issue}}'
# description: "创建一个无序列表"
transitions:
- events: ['note_events']
left: '/(?:\*|-|\+)\s.+/'
operator: regexp
right: '{{object_attributes.note}}'
action:
- type: issue_comment.created
with: 006_8_done.md
- type: choice
with: 006_8_ol_list_exam.md
to: step7
- events: ['note_events']
else: true
action:
- type: issue_comment.created
with: 006_8_ul_error.md
to: step6
step7:
link: '{{chapter_6_issue}}'
# description: "创建一个有序列表"
transitions:
- events: ['note_events']
left: '/(?:\d\.)\s.+/'
operator: regexp
right: '{{object_attributes.note}}'
action:
- type: issue_comment.created
with: 006_8_done.md
- type: choice
with: 006_8_todo_list_exam.md
to: step8
- events: ['note_events']
else: true
action:
- type: issue_comment.created
with: 006_8_ol_error.md
to: step7
step8:
link: '{{chapter_6_issue}}'
# description: "创建一个任务列表"
transitions:
- events: ['note_events']
left: '/(-|\*)\s+\[[x|X|\s]\]\s+.+/'
operator: regexp
right: '{{object_attributes.note}}'
action:
- type: issue_comment.created
with: 006_8_done.md
- type: issue_comment.created
with: 006_9_end_1.md
to: step9
- events: ['note_events']
else: true
action:
- type: issue_comment.created
with: 006_8_todo_error.md
to: step8
step9:
link: '{{chapter_6_issue}}'
# description: "完成当前章节学习"
transitions:
events: ['close_issue']
action:
- type: create_issue
title: "Markdown :分隔线及引用"
with: 007_1_horizon_basic.md
store:
chapter_7_issue: '{{result.data.html_url}}'
- type: issue_comment.created
with: 006_9_end_2.md
to: end
```
\ No newline at end of file
# 学习仓库
学习仓库是指学员进行学习时使用到的仓库,在学员注册课程后,Learning Lab 就会将课程相关联的学习仓库(代码以及wiki)导入到学员的`<namespace>`下,然后按照课程 `index.yml` 中的配置对学员仓库进行初始化。
通常,我们建议你将课程练习过程中使用到的代码、课程相关的资源存放在学员仓库中,以供学员随时查看。
\ No newline at end of file
# 发布课程
当你在课程制作完成并且测试通过后,你就可以选择发布你的课程,以便让其他用户能够来学习你的课程。
![发布课程](../img/course-admin.png)
## 推荐课程
当你的课程发布之后,我们的运营人员会收到一封提示邮件,在我们了解并学习体验了你的课程后,如果我们认为你的课程会对其他用户有所帮助,我们就会将你的课程推荐到 [学习广场](https://codechina.csdn.net/courses)中,以便让更多的用户学习到你的课程。
\ No newline at end of file
# 推荐课程(管理员)
# 测试课程
在课程制作过程中,你可以随时对课程进行测试,以便发现课程是否按照你预想的再进行。
![测试课程](../img/course-admin.png)
\ No newline at end of file
# 常见Q&A
### Q: 我可以去哪里学习课程?
A: 你可以到 [CODE CHINA](https://codechina.csdn.net/)[学习广场](https://codechina.csdn.net/courses/)上查看并学习 Learning Lab 的课程。
### Q: 我在课程制作过程中有问题怎么办?
A: 在课程设计、制作过程中如果你遇到了任何问题,欢迎前往[Learning Lab](https://codechina.csdn.net/codechina_dev/learning-lab/-/issues/) 中向我们提交 issue 咨询。
### Q:我制作的课程想让更多的人看到怎么办?
A:在你的课程发布之后,我们运营人员会收到邮件通知。在确认你的课程会给用户带来帮助的情况下,我们会将您的课程推荐到**学习广场**中,也会通过其他渠道对你的课程进行推广。当然,如果我们认为你的课程还存在优化的空间,我们也会给你提出相应的意见或建议。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册