Как выполнять команды в IDE терминала на основе браузера из руководства Markdown или инструкции
Я собираюсь сделать крутой проект, такой как Killercoda, для детской учебной группы, где я открываю виртуальные машины через доступ к браузеру, используя доступ к терминалу, такой как IDE для кода-сервера или theia IDE (который использует killercoda). Я могу развернуть VMS с помощью модулей Kubernetes и предоставить доступ к ним через входной ресурс.
Однако то, что я не могу реализовать или понять, - это то, как killercoda или katacoda(теперь устаревшая) имеют инструкции в левой части браузера для выполнения команд при доступе к терминалу (как показано на прикрепленном рисунке).
Самое близкое, что я мог получить, этоmarkdown
конфигурация того, откуда поступают инструкции, например, ниже:
### Single line code blocks can be copied by default
`copy me`
### It can also be disabled
`copying disabled`{{}}
### Execute a command per click
`ls -lh`{{exec}}
### Send Ctrl+c before execute
Run a blocking command:
`sleep 1d`{{exec}}
End it and run another:
`whoami`{{exec interrupt}}
Как дела{{ exec }}
заполнители команд передаются в сеанс терминала и выполняются.
Также естьindex.json
о шагах по запуску/выполнению из руководства по эксплуатации, а затем о куче.md
файлы в каталоге. Приведенный пример:
{
"title": "Lab 1",
"description": "Everything Linux",
"details": {
"intro": {
"text": "intro.md"
},
"steps": [
{
"text": "step1.md"
},
{
"text": "step2.md"
},
{
"text": "step3.md"
}
],
"finish": {
"text": "finish.md"
}
},
"backend": {
"imageid": "ubuntu"
}
}
Мне просто нужно руководство, такое какtools
илиframeworks
илиresources
илиtemplates
илиlanguages
о том, как это работает (выполнять команды из инструкций терминальной сессии). Я знаю, что проект в некоторой степени с открытым исходным кодом, поэтому я думаю, что там есть поддержка.
Мои текущие инструменты проекта:
- Фреймворк Django Rest (API)
- Вуэйс (интерфейс)
1 ответ
Это невозможно. Все этоKillercoda
иKatacoda
мы используем vagrant для создания виртуальной машины, а затем делаем вызов API для отдыха изREADME
файл на виртуальную машину. Я не думаю, что это возможно с модулем k8s.