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.planhttp://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 @@ -vimerwordxtermruntimetrenddiskinfospide \ No newline at end of file +table.jsword.jsdraw.jsportal.jstrend.jsspide.js \ 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 @@ -

{{.Option "text"}}

+

{{.Option "text"}}