diff --git a/etc/init.shy b/etc/init.shy
index 8419b467..67ac699b 100644
--- a/etc/init.shy
+++ b/etc/init.shy
@@ -34,31 +34,19 @@
applications install "Preview" web.chat.macos.opens args "Preview"
~aaa
- role whiteblack web.wiki.draw
- role whiteblack web.wiki.feel
- role whiteblack web.wiki.data
- role whiteblack web.chat.favor
- role whiteblack web.chat.macos.desktop
- role whiteblack web.chat.macos.applications
- role whiteblack web.chat.macos.notifications
- role whiteblack web.chat.macos.searchs
- role whiteblack web.chat.macos.menu
- role whiteblack web.chat.macos.dock
role whiteblack web.code.git.trend
role whiteblack web.code.git.spide
- role white void web.chat.macos.desktop action command
- role white void web.chat.macos.desktop action run
+ role whiteblack web.wiki.draw
+ role whiteblack web.wiki.feel
+ role whiteblack web.chat.favor
role white void web.wiki.draw action command
role white void web.wiki.draw action run
- role white void web.wiki.portal
- role white void portal
- role white void LICENSE
- role white void etc/path
role white void /require/usr/icebergs
- role white void /require/modules/
role white void /require/usr/icons
+ role white void /require/modules/
role white void usr/local/image
- role white void usr/local/export
+ role white void etc/path
+ role white void LICENSE
~gdb
event listen event serve.start cmd web.serve
diff --git a/src/document/content.shy b/src/document/content.shy
index c09f7afd..0f3eb5fd 100644
--- a/src/document/content.shy
+++ b/src/document/content.shy
@@ -3,17 +3,17 @@ style flex
title "Contexts"
spark title "一个功能完备的工具系统"
order `
-以模块化的方式,将编辑器、命令行、数据库、编译器等几百种工具,高度集成到一个 20M 的程序文件中。
+将编辑器、命令行、数据库、编译器等几百种工具,以模块化的方式,高度集成到一个 20M 的程序文件中。
一键部署到各种机器上,快速启动很多个工作空间,以集群化的方式,将这些空间、设备高度组织到一起。
每个工具都有网页界面,以自己的数据逻辑将其它所有的工具与空间,组织到自己的界面中,高效的完成各种工作。
`
style flex
- spark button "Get Download" route "download/" style.background blue style.color white
- spark button "Get Started" route "started/" style.background blue style.color white
+ spark button "Get Download" route "download/" bg blue fg white
+ spark button "Get Started" route "started/" bg blue fg white
style end
style end
- style column flex "0 0 460px" overflow hidden
- spark inner src/main.go width 420px
+ style column flex "0 0 500px" overflow hidden
+ spark inner src/main.go width 460px
shell `
mkdir -p demo/src; cd demo
vi src/main.go
diff --git a/src/document/started/about/introduction.shy b/src/document/started/about/introduction.shy
index 0489e51f..d0e30da8 100644
--- a/src/document/started/about/introduction.shy
+++ b/src/document/started/about/introduction.shy
@@ -1,13 +1,13 @@
title "Contexts"
-spark `Contexts 是一个功能完备的工具系统。`
+brief `Contexts 是一个功能完备的工具系统。`
order `
Contexts 是一个工具箱,内置了很多实用的软件工具,开箱即用,每个工具既可以在命令行中使用,又可以在网页中使用。
-Contexts 是一个工具框架,成千上万种工具,可以自由选择和组合,可快速构建自己专属的工具系统。
-Contexts 是一个文档系统,所有软件工具,都可以在笔记文档中直接引用,通过纯文本,就能快速创建出丰富的网页与网站。
-Contexts 是一个编辑器框架,所有的软件工具,都可以在编辑器中直接使用,支持语法高亮、补全、跳转、模板,支持语法模块的动态扩展。
-Contexts 是一个开发工具箱,集成了开发软件常用的工具,如编辑器、编译器,完全实现自举,可快速开发出新软件工具。
+Contexts 是一个工具框架,有成千上万种工具,可以自由的选择和组合,快速构建出自己专属的工具系统。
+Contexts 是一个文档系统,所有软件工具,都可以在笔记文档中直接引用,用简单的纯文本,就能快速构建出丰富的网页与网站。
+Contexts 是一个编辑器框架,所有的软件工具,都可以在编辑器中直接使用,支持语法高亮、补全、跳转、模板等,支持语法模块的动态扩展。
+Contexts 是一个开发工具箱,集成了软件开发常用的工具,如编辑器、编译器等,不需要下载任何其它软件,即可完成整个开发流程。
Contexts 是一个微服务框架,支持远程调用,支持分布式部署、支持自动化组建集群。
-Contexts 使用 Golang 开发,完全跨平台,支持 Linux、macOS、Windows 等,一套工具箱,所有平台都可以使用。
-Contexts 构建完成后只有一个 bin 文件,只有 20M 大小,方便传输与存储。
-Contexts 支持脚本、支持模板、支持内存版文件系统、支持内存版数据库,可以快速开发出一个完整的服务端应用。
-`
+Contexts 使用 Golang 开发,完全跨平台,支持 Linux、macOS、Windows 等,一套工具系统源码,即可所有平台都能使用。
+Contexts 构建完成后只有一个 bin 文件,大小只有 20M,方便传输与存储。
+Contexts 支持脚本、支持模板、支持内存版文件系统、支持内存版数据库,可以快速开发出一个完整的软件应用。
+`
\ No newline at end of file
diff --git a/src/document/started/about/license.shy b/src/document/started/about/license.shy
index ee5794d3..500fcdf5 100644
--- a/src/document/started/about/license.shy
+++ b/src/document/started/about/license.shy
@@ -1 +1 @@
-nfs.cat LICENSE
+spark inner LICENSE
\ No newline at end of file
diff --git a/src/document/started/using/auth.shy b/src/document/started/feature/auth.shy
similarity index 100%
rename from src/document/started/using/auth.shy
rename to src/document/started/feature/auth.shy
diff --git a/src/document/started/using/cluster.shy b/src/document/started/feature/cluster.shy
similarity index 100%
rename from src/document/started/using/cluster.shy
rename to src/document/started/feature/cluster.shy
diff --git a/src/document/started/using/space.shy b/src/document/started/feature/space.shy
similarity index 100%
rename from src/document/started/using/space.shy
rename to src/document/started/feature/space.shy
diff --git a/src/document/started/index.shy b/src/document/started/index.shy
index b4dedc7d..75125355 100644
--- a/src/document/started/index.shy
+++ b/src/document/started/index.shy
@@ -1,6 +1,6 @@
navmenu `
"关于" about/
- "简介" introduction.shy
+ "项目" introduction.shy
"授权" license.shy
"下载安装" install/
@@ -15,13 +15,18 @@ navmenu `
"基础功能" using/
"编辑器" vimer.shy
"代码库" repos.shy
- "笔记文档" note.shy
+ "收藏夹" favor.shy
"任务计划" plan.shy
+ "笔记文档" note.shy
+ "官方网站" site.shy
+ "思维导图" draw.shy
"应用桌面" desktop.shy
+
+"高级特性" feature/
"创建空间" space.shy
"组建集群" cluster.shy
- "认证授权" auth.shy
"共享链接" share.shy
+ "认证授权" auth.shy
"应用管理" managing/
"目录结构" dir.shy
diff --git a/src/document/started/install/manual.shy b/src/document/started/install/manual.shy
index 372e69b5..dbecbd87 100644
--- a/src/document/started/install/manual.shy
+++ b/src/document/started/install/manual.shy
@@ -1,9 +1,13 @@
title "手动下载"
-spark `如果有其它需要,例如下载不同系统或不同架构的 bin 文件,可手动下载。如下,使用 wget 或 curl 命令,下载所需的 bin 文件。
-其中 linux 替换成所需系统名如 darwin、windows 等,amd64 替换成所需的架构名如 x86、arm 等`
+spark `如果有其它需要,例如下载不同系统或不同架构的 bin 文件,可手动下载。如下使用 wget 或 curl 命令,下载所需的 bin 文件。
+其中 linux 替换成所需系统名,如 darwin、windows 等,amd64 替换成所需的架构名,如 x86、arm 等`
web.code.publish manual
+
+spark `本服务器已经编译好的程序文件如下表`
+web.code.publish version
+
spark `添加执行权限,并重命名文件。`
shell `
chmod u+x ice.linux.amd64
mdkir bin; mv ice.linux.amd64 bin/ice.bin
-`
+`
\ No newline at end of file
diff --git a/src/document/started/install/quick.shy b/src/document/started/install/quick.shy
index cdb9874a..367ae9d0 100644
--- a/src/document/started/install/quick.shy
+++ b/src/document/started/install/quick.shy
@@ -1,11 +1,11 @@
title "快速下载"
spark `Contexts 使用 Golang 开发,所以编译后只有一个 bin 文件,直接下载执行即可。`
spark `为了方便下载并快速启动,可以使用如下命令。
-自动选择 wget 或 curl 命令,
-自动识别出操作系统与处理器类型,下载对应的 bin 文件,并自动启动服务。`
-spark `点击下面命令,即可直接复制,打开终端执行即可。`
+自动选择下载命令 wget 或 curl,
+自动识别出操作系统与处理器类型,然后下载所需的 bin 文件,并自动启动服务。
+点击下面的命令,即可直接复制,然后打开命令终端,执行一下即可。`
web.code.publish contexts
spark warning `Contexts 有组建集群的功能,为了快速组建集群,这条命令也带了连接远程服务器的功能。`
spark warning `如果远程服务器是自己搭建的,或是可信的服务,直接执行。`
spark warning `如果不可信,可以通过配置文件,设置远程服务器访问本机的权限。
-或直接在前面命令后加上参数 dev ""
直接禁用远程服务。`
+或直接在前面命令后加上参数 dev ""
,直接禁用远程服务。`
\ No newline at end of file
diff --git a/src/document/started/install/source.shy b/src/document/started/install/source.shy
index 968d42cf..81b714ef 100644
--- a/src/document/started/install/source.shy
+++ b/src/document/started/install/source.shy
@@ -34,4 +34,4 @@ order `
bootstrap-icons
html2canvas
xterm
-`
+`
\ No newline at end of file
diff --git a/src/document/started/interfaces/cli.shy b/src/document/started/interfaces/cli.shy
index 361c29f4..fa3bdac3 100644
--- a/src/document/started/interfaces/cli.shy
+++ b/src/document/started/interfaces/cli.shy
@@ -1,11 +1,26 @@
title "命令交互"
spark `Contexts 提供了命令接口,所有的软件工具,都可以通过命令行来使用。`
+chapter "目录结构"
+spark `Contexts 下载成功后,进入 Contexts 的目录。 Contexts 运行时的所有文件,都只保存在当前目录下。一个完整的目录结构如下。`
+order `
+src/ 源码目录,存放本项目所有的代码与文档,如 main.go、main.js、main.shy。
+etc/ 配置目录,存放启动脚本等各种配置类的文件,如 init.shy、local.shy、exit.shy。
+bin/ 程序目录,存放编译好的可执行程序文件,如 ice.bin。
+var/ 数据目录,程序运行时,需要用的各种数据文件,如日志文件、缓存文件。
+usr/ 资源目录,一些外部资源文件,如第三方库、图标库、发布文件。
+`
+spark `因为 Contexts 支持集群化的多空间,每一个工作目录,即是一个工作空间。
+所有的资源都只存在当前目录,这样可以保证每个工作空间的完整性与独立性。所以每个工作空间,都可以有自己的代码仓库、程序文件、配置文件、运行数据等。
+`
+spark `所以在使用 Contexts 时,所有的命令都在这个目录下执行。并不需要安装到全局的 PATH 中,直接 ./bin/ice.bin 即可。`
+
+chapter "执行命令"
spark `tcp.host 查看网卡信息`
shell `./bin/ice.bin tcp.host` with echo
-spark `cli.system 执行本机命令`
-shell `./bin/ice.bin cli.system pwd` with echo
-
spark `nfs.dir 查看目录列表`
shell `./bin/ice.bin nfs.dir` with echo
+
+spark `cli.system 执行本机命令`
+shell `./bin/ice.bin cli.system pwd` with echo
\ No newline at end of file
diff --git a/src/document/started/interfaces/web.shy b/src/document/started/interfaces/web.shy
index f886a1a8..0d848da0 100644
--- a/src/document/started/interfaces/web.shy
+++ b/src/document/started/interfaces/web.shy
@@ -1,51 +1,56 @@
title "网页交互"
spark `Contexts 提供了网页接口,所有的软件工具,都可以通过网页来使用。`
-spark `在后续的所有文档中,也会使用到本机的 Contexts 服务 http://localhost:9020 来展示一些界面内容。
-为了提升文档的展现效果,建议先安装启动 Contexts 服务后,再查看后续文档。`
chapter "启动服务"
-spark `通过网页使用 Contexts 前,需要先启动 web 服务器。Contexts 自带了多种启动方式。`
+spark `为了更形象的解说软件界面,本文会引用本机 http://localhost:9020 提供的服务,来展示界面。
+所以建议先按本章节的说明,下载并启动 Contexts 后,再查看后续章节的文档。
+通过网页使用 Contexts 前,需要先启动 web 服务器。Contexts 自带了多种启动方式。`
-spark `serve 命令直接启动服务。`
+spark `使用 serve 命令,可以直接启动服务。`
shell `./bin/ice.bin serve start`
-spark `如果需要进程常驻,可以使用 forever 守护命令。在开发过程中非常有用,每次执行 make 命令进行编译与构建时,都会发送信号自动重启服务进程。
-forever 启动守护进程后,才会自动启动服务进程,当服务进程意外停止后,会重新拉起服务。`
+spark `如果需要进程常驻,可以使用守护命令 forever。forever 启动守护进程后,才会启动服务进程,并且会一直等待服务进程结束,当检测到服务进程是异常结束的,则会重新启动服务进程。`
shell `./bin/ice.bin forever start`
-spark `无论哪种启动方式,默认的服务端口是 9020,打开 http://localhost:9020 即可通过网页使用所有的软件工具。`
-spark `服务启动后,会在终端上,启动一个交互式的 shell,可执行任何命令。`
+spark `无论哪种方式启动,默认的服务端口都是 9020,打开 http://localhost:9020 即可通过网页使用所有的软件工具。`
+spark `服务启动后,会在终端上,启动一个交互式的 shell,Contexts 的所有软件工具,都可以在这个 shell 上,以命令的方式使用。`
chapter "登录认证"
spark `如果是在容器或远程服务器上启动的服务,访问时都是需要登录认证的。
-或是本机启动的服务,但在其它设备上访问此服务,也是需要登录认证的。`
+或者是本机启动的服务,但在其它设备上访问此服务,也是需要登录认证的。`
spark `前端网页在检测到没有登录,会展示一个登录页面。可扫码登录,也可以在后台执行命令进行授权登录。
初始用户只能在后台用命令授权登录,复制二维码下面的授权命令,在后台服务启动的 shell 中执行一下,即可授权登录。`
+spark `Contexts 是一个工具系统,使用的场景是面向的个人或小团队使用,所以框架并没有提供用户注册的功能。
+如果需要多人登录本系统,已经登录的用户,可以通过 aaa.offser 命令发送邀请链接,被邀请人就可以获取登录权限。`
chapter "使用方式"
-spark `在 Contexts 中,所有的工具,既可以添加到导航栏里,通过结构化的导航组织起来,也可以通过搜索框被快速查找出来,还可以通过 URL 地址,直接在单独的网页中使用。`
+spark `为了更加方便的使用这些软件工具,Contexts 自带了一个后台管理系统。
+后台管理系统的界面从上到下,依次由菜单栏、导航栏、工作区、状态栏组成,另外搜索栏,会在需要时,悬浮在工作区之上。
+所有的软件工具,既可以添加到导航栏里,通过结构化的方式组织起来,也可以通过搜索框被快速查找出来,还可以通过 URL 地址,直接在单独的网页中使用。`
section "导航式"
-spark `Contexts 启动后,可直接访问 http://localhost:9020/chat/portal/,即可打开后台管理系统。
+spark `Contexts 启动后,可直接访问 http://localhost:9020/chat/portal/,打开后台管理系统。
后台管理系统导航栏的内容,都是在 src/main.js 文件中定义的。如需自定义导航栏的内容,直接修改此文件即可。
-Contexts 也提供了界面添加功能,点击创建后,依次添加群组、添加应用、添加工具,即可动态自动定义导航栏。`
+Contexts 也提供了界面添加功能,点击创建后,依次添加群组、添加应用、添加工具,即可将任意的软件工具添加到导航栏。`
iframe "http://localhost:9020"
section "搜索式"
-spark `默认的后台管理系统,会提供一个搜索框,所有的软件工具都可以通过搜索,直接在结果栏中展示,即可实现快速使用此工具。`
+spark `默认的后台管理系统,会提供一个搜索框,所有的软件工具都可以通过搜索,直接在结果栏中展示,即可实现快速使用此工具。
+当结果栏里,只有一条结果,则会直接创建此工具的界面。如果结果栏里,有多条结果,则需要手动选择需要打开的工具。`
iframe "http://localhost:9020?_search=tcp.host"
section "命令式"
-spark `所有的软件工具都可以通过 URL 直接访问使用,如工具 web.team.plan 的 URL 是 http://localhost:9020/chat/cmd/web.team.plan。`
+spark `所有的软件工具都可以通过 URL 直接访问使用,例如工具 web.team.plan 的 URL 是 http://localhost:9020/chat/cmd/web.team.plan。`
spark demo plan
-spark `有些软件工具在注册时,会注册一个全局的短名,如 web.team.plan 是全名,plan 就是注册的短名,在使用时,两个完全等价,如在链接地址里
+spark `有些软件工具在注册时,会注册一个全局的短名,如 web.team.plan 是全名,plan 就是注册的短名,在使用时,两个完全等价,如链接地址
http://localhost:9020/chat/cmd/web.team.plan 与 http://localhost:9020/chat/cmd/plan 是一样的。
需要注意的是,并不是所有的工具在注册时,都会注册短名。只有那些比较基础、比较通用的工具,才需要注册短名。`
chapter "标准界面"
-spark `在 Contexts 中,所有的软件工具,都是使用同一前端框架,自动生成的前端界面。如果默认的前端界面,无法满足需求,可以随时编写前端模块,自行定义界面。`
-spark `一个标准的工具界面,由标题栏、参数栏、工具栏、工作区、状态栏组成。
-有时为了最大的展示工作区,会将标题栏、参数栏、工具栏,放在一行。`
+spark `在 Contexts 中,所有的软件工具,都是使用同一前端框架,自动生成的前端界面。
+如果默认的前端界面,无法满足需求,可以灵活的配置,指定任意的前端脚本,甚至还可以随时编写前端代码,自行定义界面。`
+spark `一个标准的工具界面,从上到下依次为标题栏、参数栏、工具栏、工作区、状态栏。
+有时为了最大的展示工作区,往往会将标题栏、参数栏、工具栏,放在同一行。`
spark demo host
section "标题栏"
@@ -53,14 +58,20 @@ spark `标题栏,由工具名与中文名组成。当系统切换成英文版
spark `点击标题栏,会打开一个菜单,对工具界面进行更详情的控制,如切换全屏、切换浮动、打开单独的网页、生成共享链接等。`
section "参数栏"
-spark `在参数栏中,会有输入框、选择框、按钮等输入控件。这些参数,会在刷新时直接传给后端,从而后端根据这些参数,返回不同的数据,然后刷新工作区。`
+spark `在参数栏中,会有输入框、选择框、按钮等输入控件。这些参数,会在刷新数据时直接传给后端,从而后端根据这些参数,返回不同的数据,然后刷新工作区。`
section "工具栏"
-spark `工具栏与参数很相似,都有一样的输入控件,位置也相邻,都在工作区上面。但区别是,工具栏更偏向于前端交互,不一定会向后端发送请求。但参数栏的交互一般都会发送请求,然后刷新工作区。`
+spark `工具栏与参数栏很相似,都有一样的输入控件,位置也相邻,都在工作区上面。但区别是,工具栏更偏向于前端交互,不一定会向后端发送请求。但参数栏的交互一般都会发送请求,然后刷新工作区。`
section "状态栏"
spark `状态栏,在工作区下方,由key 和 value 组成,一般都是一些状态信息、统计信息等。`
section "工作区"
-spark `工作区,在正中间,占据最大的空间。默认的会以表格的形式展示数据,最后一列一般是当前行的操作按钮。点击表头,会对当前列排序。`
-spark `Contexts 的前端框架是 Volcanos,提供了完整的交互与丰富的前端组件。可以在后端代码、或是配置文件中,指定工具界面使用哪个组件展示数据。`
+spark `工作区,在正中间,占据最大的空间。默认的会以表格的形式展示数据,最后一列一般是当前行的操作按钮。点击某列的表头,会切换当前列的排序方式。`
+
+chapter "操作表格"
+section "切换视图"
+spark `如果工具界面的输出是一个表格,当点击某个单元格时,如果此单元格的表头和参数栏的名称一样,则会将此单元格的内容作为参数,复制到输入控件上,并刷新数据。`
+
+section "编辑字段"
+spark `直接双击单元格,即可编辑数据,点击回车即可保存更改。`
diff --git a/src/document/started/using/desktop.shy b/src/document/started/using/desktop.shy
index 2b22698e..338c3c9e 100644
--- a/src/document/started/using/desktop.shy
+++ b/src/document/started/using/desktop.shy
@@ -1,8 +1,7 @@
title "应用桌面"
spark `Contexts 是一个工具系统,内置了很多软件工具。这些工具可以像本机电脑桌面一样,用图标与窗口的界面,来使用所有的软件工具。
web.chat.macos.desktop 命令就是 Contexts 的电脑桌面。`
-spark `http://localhost:9020/chat/cmd/desktop`
-field "" web.chat.macos.desktop style output
+spark demo web.chat.macos.desktop style output
chapter "桌面列表"
spark `Contexts 支持多桌面,可以创建出任意多个桌面。在桌面的左上角,点击 + 号,就可以创建一个新桌面,每个桌面上可以打开不同的软件工具。
diff --git a/src/document/started/using/draw.shy b/src/document/started/using/draw.shy
new file mode 100644
index 00000000..0cd3a1b8
--- /dev/null
+++ b/src/document/started/using/draw.shy
@@ -0,0 +1,5 @@
+title "思维导图"
+spark `作为一个功能完备的工具系统,画图工具当然也是必不可少的。web.wiki.draw 就是 Contexts 的画图工具。
+同样的,画图工具中的每个图形元素,都可以关联一个软件工具,这样就可以用任意的逻辑,将软件工具组织起来,比如做成流水线、电路图等。`
+spark `Contexts 所有软件工具,都可以像面向对象编程一样,被直接继承与扩展。其中趋势图与框架图,就是在这个画图工具的基础上,添加了一些自己的功能逻辑。`
+spark demo draw
diff --git a/src/document/started/using/favor.shy b/src/document/started/using/favor.shy
new file mode 100644
index 00000000..24629916
--- /dev/null
+++ b/src/document/started/using/favor.shy
@@ -0,0 +1,22 @@
+title "收藏夹"
+spark `在工作过程中,经常会用到一些文本、链接、图片等,需要不断的来回复制与粘贴。为了更加方便的管理这些常用数据,可以使用 web.chat.favor 命令。`
+spark demo favor
+
+chapter "添加数据"
+section "创建"
+spark `在工具栏,点击创建,依次输入参数 type、name、text,然后提交即可。`
+
+section "上传"
+spark `web.chat.favor 还支持上传文件。`
+
+section "粘贴"
+spark `web.chat.favor 还支持从粘贴板直接获取数据。`
+
+section "截图"
+spark `web.chat.favor 还支持截图。`
+
+section "录屏"
+spark `web.chat.favor 还支持录屏。`
+
+chapter "查看详情"
+spark `在 web.chat.favor 中的数据是有多种格式的,如果是图片,可以直接预览。可以在最后一例中,点击按键进行操作。也可以点击某一行的 hash 字段,即可直接切换视图到详情。`
diff --git a/src/document/started/using/note.shy b/src/document/started/using/note.shy
index 20698e31..0ad0faa8 100644
--- a/src/document/started/using/note.shy
+++ b/src/document/started/using/note.shy
@@ -3,21 +3,21 @@ brief `web.wiki.word 是 Contexts 用来管理笔记与文档的工具,Context
语法也非常简单,就是命令加参数,像命令行一样使用。其中命令就是 Contexts 中的所有的工具名。
所以 Contexts 中的所有工具都可以在文档中直接使用。`
spark `包括 Contexts 的官网 web.wiki.portal,也只是在 web.wiki.word 上包装了一个布局和路由而已。
-官网的所有内容也是用 .shy 文档来保存的,其中所有的内容在 web.wiki.word 中也一样显示。
-`
-spark `Contexts 的文档不需要单独存放,直接和代码保存在一起,都在 ./src/
目录下,
+官网的所有内容也是用 .shy 文档来保存的,其中所有的内容在 web.wiki.word 中也一样显示。`
+spark `Contexts 的文档不需要单独存放,直接和代码保存在一起,都在 ./src/ 目录下,
Contexts 在构建时,会根据代码结构,将关联的文档打包进 bin 文件中,以便在运行时随时查看。`
chapter "使用方式"
spark `同样的,web.wiki.word 工具,也是可以在后台管理系统的导航栏中、在搜索栏中、在单独的网页中都能使用,
-甚至可以被任何其它的工具嵌套使用,如被 web.wiki.portal 嵌套,比如在编辑器中编辑文档时,预览此文档。`
+甚至可以被任何其它的工具嵌套使用,如被 web.wiki.portal 嵌套,比如在编辑器中编辑文档时,预览区就是插入的 web.wiki.word。`
spark `在 web.wiki.word 的参数栏中,第一个输入框,是文档的文件名,输入需要查看的文档的文件名,即可查看此文档。
在命令网页中,如下添加参数 path 即可指定文档的文件名,在单独的网页中查看指定的文档。`
spark `http://localhost:9020/chat/cmd/word?path=src/document/started/using/note.shy`
spark `Contexts 的笔记文档,可以直接生成网站,也可以像 ppt 一样,可以按章节一页页的播放。`
chapter "常用命令"
-spark `其中参数有空格或其它特殊字符,可以加引号,单引号、双引号、反引号,其中反引号中的文字可以跨多行。`
+spark `其中参数有空格或其它特殊字符,可以加引号转义,如单引号、双引号、反引号,其中反引号中的文字可以跨多行。`
+
section "文字类"
spark `文字类的命令很简单,常用的就 title、chapter、section、brief、spark。`
spark inner `
@@ -30,39 +30,36 @@ spark "段落文字"
spark `spark 命令还支持子命令,如 title、inner、shell、button 等,
如需其它文字格式,可自行添加 spark 的子命令,只需要在 ./src/template/web.wiki.spark/
目录下添加同名的模板文件即可。`
-
spark inner `
spark inner "代码文字"
spark shell "命令文字"
shell "命令文字"
` args "src/ main.shy"
-
-spark `其中 shell 命令并不是一个单独的命令,只是 spark shell 的别名而已。
-还有 chapter 也是 title chapter 的别名,section 也是 title section 别名。`
+spark `其中 shell 命令并不是一个单独的命令,只是 spark shell 的别名而已。还有 chapter 也是 title chapter 的别名,section 也是 title section 别名。`
section "数据类"
spark `refer 命令,引用列表`
-spark inner src/document/started/using/demo/refer.shy
-source src/document/started/using/demo/refer.shy
+spark inner demo/refer.shy
+source demo/refer.shy
spark `order 命令,普通列表`
-spark inner src/document/started/using/demo/order.shy
-source src/document/started/using/demo/order.shy
+spark inner demo/order.shy
+source demo/order.shy
spark `table 命令,普通表格`
-spark inner src/document/started/using/demo/table.shy
-source src/document/started/using/demo/table.shy
+spark inner demo/table.shy
+source demo/table.shy
section "绘图类"
spark `label 命令,绘制标签。`
-spark inner src/document/started/using/demo/label.shy
-source src/document/started/using/demo/label.shy
+spark inner demo/label.shy
+source demo/label.shy
spark `chain 命令,绘制结构图,每一行是一个节点,用缩进代表层级。`
-spark inner src/document/started/using/demo/chain.shy
-source src/document/started/using/demo/chain.shy
+spark inner demo/chain.shy
+source demo/chain.shy
section "影音类"
spark `影音类的文件,存放在 ./usr/local/image/
目录下。当然参数也可以是一个完整的 URL 地址,直接引用外部的资源文件。`
-spark inner src/document/started/using/demo/image.shy
-source src/document/started/using/demo/image.shy
+spark inner demo/image.shy
+source demo/image.shy
diff --git a/src/document/started/using/plan.shy b/src/document/started/using/plan.shy
index 9f04a49f..c32d3ba9 100644
--- a/src/document/started/using/plan.shy
+++ b/src/document/started/using/plan.shy
@@ -1,13 +1,21 @@
title "任务计划"
-spark `web.team.plan 是 Contexts 用来管理任务与计划的工具,此外在状态栏中附加了另外三个工具 web.team.todo、web.team.task、web.team.epic `
-spark `http://localhost:9020/chat/cmd/plan`
-field "" web.team.plan
+spark `时间与任务的管理,也是工作中很重要的内容。
+web.team.plan 是 Contexts 用来管理任务与计划的工具,此外在状态栏中附加了另外三个工具 web.team.todo、web.team.task、web.team.epic。`
+spark demo plan
-chapter "视图切换"
-spark `web.team.plan 提供了日视图、周视图、月视图、年视图、长视图等,不同的时间维度来展示任务列表。`
+chapter "工具界面"
+section "时间跨度"
+spark `web.team.plan 提供了日视图、周视图、月视图、年视图、长视图等,不同的时间跨度来展示任务列表。`
+section "起始时间"
+spark `参数栏的第二个参数,就是起始时间,用来指定显示什么时间的任务。例如时间跨度是周视图时,就可以切换上一周、下一周,如果时间跨度是月视图,就可以切换上一月、下一月。`
+
+section "任务过滤"
+spark `每个任务都有优先级、完成度、考核度等属性,所以可以在视图上进行过滤,只显示自己需要关心的任务。`
+
+chapter "任务管理"
section "创建任务"
-spark `双击时间的单元格,即可打开创建任务的对话框。其中 zone 与 name 是必选参数,指定分类与名称。`
+spark `双击时间的单元格,即可打开创建任务的对话框。其中 zone 与 name 是必选参数,指定分类与名称。然后点击提交,即可创建一个新任务。`
section "任务详情"
spark `单击任务,在任务表的右侧,即可显示出任务详情。`
@@ -16,4 +24,4 @@ chapter "关联工具"
spark `web.team.plan 工具,看上去功能很简单,但却不简单,因为在 Contexts 中,所有的工具,都可以嵌套任何其它工具,甚至子空间、子设备中的所有工具。
给任何一个任务,都可以绑定一个工具。在详情中,点击插件,输入工具名与参数,即可在任务选中时,在时间表下面显示工具,可以直接使用。
所以对于 web.team.plan 来说,它就是一个时间的框架,用时间的维度,将所有的工具显示在时间表中。`
-spark `同样适用于 Contexts 系统中其它所有工具,每一个工具都以自己的数据逻辑,将其它所有的工具、空间、设备,组织在一起。所以每个工具,都是一个操作系统。`
+spark `同样适用于 Contexts 系统中其它所有工具,每一个工具都以自己的数据逻辑,将其它所有的工具、空间、设备,组织在一起。所以每个工具,都看成是一个操作系统。`
\ No newline at end of file
diff --git a/src/document/started/using/repos.shy b/src/document/started/using/repos.shy
index 90d2b353..d50570da 100644
--- a/src/document/started/using/repos.shy
+++ b/src/document/started/using/repos.shy
@@ -1,16 +1,45 @@
-title "代码库"
-spark `Contexts 为了实现功能的完备,代码库和代码源当然是必不可少的功能。`
-spark `Contexts 在启动服务节点时,默认的就已经启动了 Git-Server 代码库服务。支持代码库的创建、上传、下载等功能。
-所以 Contexts 的所有代码,都是存放在 Contexts 启动的服务器上。
-`
-spark `http://localhost:9020/chat/cmd/web.code.git.service`
+title "代码库与代码源"
+spark `Contexts 为了实现功能的完备,代码库和代码源当然是必不可少的功能。其中代码库是指 Git-Client,代码源是指 Git-Server。`
+spark `Contexts 在服务节点启动时,默认的就已经启动了 Git-Server 的服务,支持代码源的创建、上传、下载等功能。
+所以 Contexts 的所有代码,都是存放在 Contexts 启动的服务器上。如前端框架 https://shylinux.com/x/volcanos.git,后端框架 https://shylinux.com/x/icebergs.git。`
+
+chapter "代码源管理"
spark demo web.code.git.service
+section "代码源目录"
+spark `Contexts 的代码源,都保存在 ./usr/local/repos/ 目录下。`
-chapter "代码库目录"
-spark `Contexts 的代码源,都保存在 ./usr/local/repos/ 目录下`
-
-chapter "代码库权限"
+section "代码源权限"
spark `默认的下载代码是不需要权限,所有人都可以下载代码。
-但上传代码需要权限的,需要用 web.code.git.token 生成令牌,并保存到本地。`
+但上传代码需要权限的,需要用 web.code.git.token 生成令牌,并保存到客户端的本地。`
-spark `当 web.code.git.service 命令,接收到 receive-pack 请求时,如果代码库不存在,则会自动创建代码库。`
+section "代码源地址"
+spark `当服务节点启动后,就可以通过 http://localhost:9020/x/demo 来上传下载代码了,demo 可以替换成任意的项目名。`
+shell `
+mkdir demo; cd demo
+git init
+git remote add origin http://localhost:9020/x/demo
+git add README.md
+git commit -am "add init"
+git push
+`
+
+chapter "代码库管理"
+spark `代码库管理,除了可以管理当前项目的代码库,还可以用来管理依赖库的代码。如 Contexts 项目,就用到了几个依赖库。`
+spark demo web.code.git.repos
+
+section "下载代码"
+spark `点击工具栏中的下载按键,即可批量下载,将所有的代码库都下载一遍。`
+
+section "上传代码"
+spark `点击工具栏中的上传按键,即可批量上传,将所有的代码库都上传一遍。`
+
+section "代码状态"
+spark `点击工具栏中的状态按键,即可遍历所有的代码库,汇总出来所有的文件变更状态,输出的界面上。这样就可以在一个界面上,同时看到所有代码库的变更。`
+spark `在输出的变更信息表中,最后一列是操作按键,根据当前行的文件状态,显示不同的按键。如未知文件,会显示添加按键和删除按键,如更新的文件,会显示添加按键。`
+
+chapter "代码库状态"
+spark `web.code.git.repos 更偏向于项目列表和批量操作。为了更加方便的添加代码、提交代码,又实现了一个新的工具 web.code.git.status。`
+spark demo web.code.git.status
+
+section "代码权限"
+spark `在工具栏有一个授权按键,如果当前项目的代码源也是 Contexts 启动的服务,就可以实现一键授权,从 Contexts 的代码源服务器上生成 token 并保存到本地。`
\ No newline at end of file
diff --git a/src/document/started/using/site.shy b/src/document/started/using/site.shy
new file mode 100644
index 00000000..9052d19a
--- /dev/null
+++ b/src/document/started/using/site.shy
@@ -0,0 +1,16 @@
+title "官方网站"
+spark `Contexts 的官方网站,web.wiki.portal 就是用文档驱动的,使用 .shy 的文件格式,都保存在 ./src/document/ 目录下。`
+
+chapter "目录与文件"
+spark `在 ./src/document/ 目录下,有两个特别的文件。一个是 ./src/document/index.shy 用来生成标题栏。另外就是各个子目录下的 index.shy 用来生成导航栏。`
+
+section "标题栏"
+spark `./src/document/index.shy 标题栏文档的内容如下。`
+spark inner src/document/index.shy
+
+section "导航栏"
+spark `./src/document/stated/index.shy 导航栏文档的内容如下。`
+spark inner src/document/started/index.shy
+
+chapter "布局与路由"
+spark `标题栏的路由,会触发网页跳转。而导航栏的路由,只会刷新局部视图,并且添加了视图缓存。`
diff --git a/src/document/started/using/vimer.shy b/src/document/started/using/vimer.shy
index 28b14d69..c0277ac6 100644
--- a/src/document/started/using/vimer.shy
+++ b/src/document/started/using/vimer.shy
@@ -1,33 +1,40 @@
title "编辑器"
-spark `作为一个功能完备的工具系统,编辑器是必不少的工具。
+spark `作为一个功能完备的工具系统,编辑器当然是必不少的工具。
web.code.vimer 就是 Contexts 自带的编辑器,具有语法高亮、语法模板、语法补全、语法跳转等功能。
web.code.vimer 也是一个编辑器框架,默认已经支持 Contexts 用到的语言 Golang、Javascript、HTML、CSS、sh、shy 等,
-如需其它语言,直接添加语法模块即可。`
-spark `Contexts 中所有的工具,都可以被当成插件,在编辑器中使用。`
-spark `http://localhost:9020/chat/cmd/web.code.vimer`
-field web.code.vimer
+如需其它语言,直接添加语法模块即可。Contexts 中所有的工具,都可以被当成插件,在编辑器中直接使用。`
+spark demo vimer
+
+chapter "工具界面"
+spark `web.code.vimer 工具,可以在很多地方被使用,不同的地方也会有不同的界面。
+如在笔记中,只需要显示文件内容,所以 web.code.vimer 只会显示工作区的文件内容,其它的工具栏都会隐藏掉。
+如在单独的网页中,web.code.vimer 所有界面都会完整显示,成为一个完整的 IDE。`
+spark `一个完整的界面,有左边的导航区、上面的标题区、中间的工作区、右边的预览区、下面的输出区。
+在左边的导航区,会有各种子栏,如目录列表、空间列表、命令列表、插件列表等,并且可以随时添加新的功能区。点击列表项,即可打开关联的文件,
+在预览区与输出区,是每种语法模块自定义的显示内容。
+如 .html 文件的预览区和输出区,是一个内嵌网页,用来查看网页效果。
+如 .go 文件的预览区和输出区,就是当前代码所开发功能的界面,这样就可以边写代码,边看效果。`
chapter "目录与文件"
-section "目录结构"
-spark `在 Contexts 中,当前空间的所有的代码和文档都保存在 ./src/ 目录下,但有时会用户外部依赖库,并且根据当前需要去更改依赖库的代码。
-可以使用 web.code.git.repos 命令,来管理这些依赖库。这些依赖库,全部直接保存在 ./usr/ 目录下。
-`
-
-section "工具参数"
-spark `web.code.vimer 最核心的功能,当然是展示目录结构与文件内容。
-所以定义了三个参数 path、file、file。这样 vimer 在使用的地方,就可以通过这三个参数进行控制。
-vimer 也会根据场景有不同的界面。如在命令网页中,vimer 会占据整个网页显示完整的功能。在架构图的工具中使用时,则只展示文件内容。`
+section "界面参数"
+spark `web.code.vimer 最核心的功能,当然是展示目录结构与文件内容。所以定义了三个参数 path、file、line。这样 vimer 在使用的地方,就可以通过这三个参数进行控制。
+从而显示指定的目录列表与文件内容。`
section "目录列表"
-spark `在左边导航区,显示目录列表,是由参数 path 指定的目录,加上代码仓库管理工具 web.code.git.repos 返回的代码仓库列表中的目录。
-vimer 也实现了延时加载,默认只加载项目列表与当前目录下的文件列表,只有点击打开了目录,才会请求此目录下的文件列表。`
+spark `在左边导航区显示的目录列表,是由参数 path 指定的目录,加上代码仓库管理工具 web.code.git.repos 返回的代码仓库列表。
+vimer 也实现了延时加载,默认只加载当前目录下的文件列表,只有点击仓库才会打开它的目录,才会加载此仓库下的文件列表。`
+
+section "项目列表"
+spark `在 Contexts 中,当前空间的所有的代码和文档都保存在 ./src/ 目录下,但有时会用到外部依赖库,并且根据当前的需要,去更改依赖库的代码。
+比如 Contexts 刚开始只有一个代码仓库,后来随着功能不断的增加,不断的拆分出新的代码仓库,现在已经有十几个代码仓库,所以有时为了实现一个新功能,就会修改多个代码仓库。
+为了管理这么多个依赖库,就可以使用 web.code.git.repos 命令,进行统一的上传、下载、提交代码等操作。这些依赖库,分别保存在 ./usr/ 目录下。`
chapter "语法与插件"
spark `vimer 在加载文件内容时,会根据文件的扩展名,自动的加载语法插件。`
chapter "预览与输出"
-spark `每种语法的文件,使用方式是不一样的。所以在 vimer 里实现了一种语法引擎的框架,可加载各种语法的模块,并分发各种处理事件。
-每种语法模块,都可以定义当前文件的预览界面与输出界面如何显示。`
+spark `每种语法的文件,使用方式是不一样的。所以在 vimer 里实现了一种语法引擎的框架,可加载各种语法模块,并分发各种处理事件。
+每种语法模块,都可以定义当前文件的预览区与输出区如何显示。这样就可以一边写代码,一边查看输出的界面。`
order `
.shy 的语法模块,就定义了 .shy 的文件预览效果,是生成一个网页来显示文档的效果。
.go 的语法模块,就会根据文件名,查找出它生成的软件工具,在预览界面中展示此工具。
@@ -36,7 +43,7 @@ order `
`
chapter "模块与插件"
-spark `Contexts 是一个工具系统,内置了大量的软件工具。这些工具既要完全独立,又要能和其它所有工具更深度的配合。这就是为什么 Contexts 要自研前后端框架的动力。`
+spark `Contexts 是一个工具系统,内置了大量的软件工具。这些工具既要完全独立,又要能和其它所有工具深度配合。这就是为什么 Contexts 要自研前后端框架。`
spark `Contexts 中的所有前端、后端的各种工具,都可以直接在编辑器中使用。但为了更好的和编辑配合起来,实现更高效的互动,在编辑器的代码添加了很多框架性的功能。
如编译时 vimer 调用编译工具 web.code.compile 执行编译后,有时会生成一些错误提示信息,这时 vimer 就会根据这些信息实现跳转的功能。
`
diff --git a/src/main.svg b/src/main.svg
index f81eafb3..cfeed4ad 100644
--- a/src/main.svg
+++ b/src/main.svg
@@ -1,5 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/template/web.wiki.spark/button.html b/src/template/web.wiki.spark/button.html
index 5f755d1d..6da3aea1 100644
--- a/src/template/web.wiki.spark/button.html
+++ b/src/template/web.wiki.spark/button.html
@@ -1,2 +1,2 @@
-
+
diff --git a/src/template/web.wiki.spark/title.html b/src/template/web.wiki.spark/title.html
index 6bd7ab16..9704dcdd 100644
--- a/src/template/web.wiki.spark/title.html
+++ b/src/template/web.wiki.spark/title.html
@@ -1,2 +1,2 @@
-