1
0
forked from x/ContextOS

opt portal

This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-07-01 22:35:46 +08:00
parent 1fe76aa8ef
commit f7eff930b8
29 changed files with 408 additions and 109 deletions

View File

@ -15,8 +15,11 @@ style flex
style column
field "" web.code.inner style output width 500px
shell `
mkdir -p demo/src; cd demo
vi src/main.go
go mod init demo
go get shylinux.com/x/ice
go run src/main.go
open http://localhost:9020

View File

@ -1,12 +1,12 @@
title "Contexts"
spark `contexts 是一个功能完备的工具系统。`
spark `Contexts 是一个功能完备的工具系统。`
order `
contexts 是一个工具箱,内置了很多实用的工具,开箱即用,每个工具即可以在命令行中使用,又可以在网页中使用。
contexts 使用 golang 开发,完全跨平台,支持 Linux、macOS、Windows 等,一套工具箱,即可所有平台都可以使用
contexts 是一个工具框架,成千上万种工具,可以自由选择,快速构建自己专属的工具系统
contexts 也是一个开发工具箱,集成了开发常用的工具,如编辑器、编译器,实现自举,可快速开发出新工具模块
contexts 构建完成后只有 20M 大小,方便传输与存储
contexts 支持启动脚本,每个工具都可以灵活配置
contexts 内置数据库,不需要外部数据库,即可以快速开发出一个完整的服务端应用。
Contexts 是一个工具箱,内置了很多实用的软件工具,开箱即用,每个工具既可以在命令行中使用,又可以在网页中使用。
Contexts 是一个工具框架,成千上万种工具,可以自由选择和组合,可快速构建自己专属的工具系统
Contexts 是一个开发工具箱,集成了开发软件常用的工具,如编辑器、编译器,完全实现自举,可快速开发出新软件工具
Contexts 是一个微服务框架,支持远程调用,支持分布式、支持自动组建集群
Contexts 使用 Golang 开发,完全跨平台,支持 Linux、macOS、Windows 等,一套工具箱,所有平台都可以使用
Contexts 构建完成后只有一个文件,只有 20M 大小,方便传输与存储
Contexts 支持脚本、支持模板、支持内存版文件系统、支持内存版数据库,可以快速开发出一个完整的服务端应用。
`

View File

@ -1,5 +1,5 @@
chapter "创建模块"
spark `如果框架自带的模块,或是网上找不到需要的功能模块,可以自行开发。contexts 自带了完整的前后端框架与工具,可快速开发出完整的功能模块。`
spark `如果框架自带的模块,或是网上找不到需要的功能模块,可以自行开发。Contexts 自带了完整的前后端框架与工具,可快速开发出完整的功能模块。`
section "添加代码"
spark `将 demo 替换成所需的模块名,创建目录并添加如下代码。`

View File

@ -1,6 +1,6 @@
title "创建项目"
spark `当 contexts 自带的工具,无法满足使用需求时,可以基于 contexts 快速创建出新的项目。
spark `当 Contexts 自带的工具,无法满足使用需求时,可以基于 Contexts 快速创建出新的项目。
`
chapter "创建项目"
@ -35,7 +35,7 @@ go build -o bin/ice.bin src/main.go
`
chapter "添加模块"
spark `contexts 所有功能,都是模块化开发。所以完全独立,可自由的组合与选择。只需要在需要的地方 import 一下即可,自动加载与注册。如下添加英汉词典的模块。`
spark `Contexts 所有功能,都是模块化开发。所以完全独立,可自由的组合与选择。只需要在需要的地方 import 一下即可,自动加载与注册。如下添加英汉词典的模块。`
spark inner src/document/started/development/main.go

View File

@ -13,22 +13,23 @@ navmenu `
"网页式" web.shy
"基础功能" using/
"笔记文档" note.shy
"任务计划" plan.shy
"编辑器" vimer.shy
"任务计划" plan.shy
"笔记文档" note.shy
"应用桌面" desktop.shy
"创建空间" space.shy
"组建集群" cluster.shy
"认证授权" auth.shy
"应用管理" managing/
"目录结构" config.shy
"启动配置" config.shy
"启动参数" config.shy
"环境变量" config.shy
"日志文件" config.shy
"进程控制" config.shy
"应用数据" config.shy
"目录结构" dir.shy
"启动配置" init.shy
"启动参数" boot.shy
"环境变量" env.shy
"日志文件" log.shy
"进程控制" signal.shy
"数据目录" var.shy
"资源目录" usr.shy
"功能开发" development/
"创建项目" project.shy

View File

@ -1,8 +1,10 @@
title "快速下载"
spark `contexts 使用 golang 开发,所以编译后只有一个 bin 文件。直接下载即可使用。`
spark `为了方便下载并快速启动,可以使用如下命令。自动识别出操作系统与处理器类型,下载对应的 bin 文件,并自动启动服务。`
spark `点击下面命令,即可直接复制命令。`
spark `Contexts 使用 Golang 开发,所以编译后只有一个 bin 文件,直接下载即可使用。`
spark `为了方便下载并快速启动,可以使用如下命令。
自动选择 wget 或 curl 命令,
自动识别出操作系统与处理器类型,下载对应的 bin 文件,并自动启动服务。`
spark `点击下面命令,即可直接复制命令,打开终端执行即可。`
web.code.publish contexts
spark warning `contexts 有组建集群的功能,为了快速组建集群,这条命令也带了连接远程服务器的功能。`
spark warning `Contexts 有组建集群的功能,为了快速组建集群,这条命令也带了连接远程服务器的功能。`
spark warning `如果远程服务器是自己搭建的,或是可信的服务,可直接执行。`
spark warning `或通过配置文件,设置远程服务的权限。或直接在上面命令后面加上参数 <code>'dev ""'</code> 直接禁用远程服务。`
spark warning `或通过配置文件,设置远程服务的权限。或直接在上面命令后面加上参数 <code>dev ""</code> 直接禁用远程服务。`

View File

@ -1,16 +1,41 @@
title "源码编译"
spark `如果想了解 contexts 的源码与原理,可以直接下载源码,自己编译后再启动。`
spark `编译 contexts 需要提前安装好以下软件`
spark `如果想了解 Contexts 的源码与原理,可以直接下载项目源码,自己编译后再启动。编译 Contexts 需要提前安装好以下几个软件`
refer `
make https://www.gnu.org/software/make/
git https://git-scm.com/download
golang https://golang.google.cn/dl/
`
web.code.publish source
spark `执行 <code>etc/miss.sh</code> 脚本,会自动下载所需要的依赖,并编译项目。`
shell `
cd contexts
source etc/miss.sh
`
spark `执行 etc/miss.sh 脚本,会自动下载所需要的依赖,并编译项目。`
chapter "项目组成"
spark `Contexts 前后端框架和核心模块全部自研,只有少部分功能使用到了外部代码,并且随时会干掉,最终不依赖任何外部项目,做到完全自举。`
section "项目组成"
spark `Contexts 主要由以下几个项目组成。`
order `
前端框架 https://shylinux.com/x/volcanos
后端框架 https://shylinux.com/x/icebergs
脚本库 https://shylinux.com/x/intshell
工具库 https://shylinux.com/x/toolkits
图标库 https://shylinux.com/x/icons
打包库 https://shylinux.com/x/ice
`
section "外部依赖"
spark `Contexts 后端只依赖三个外部库。`
order `
https://shylinux.com/x/websocket
https://shylinux.com/x/go-qrcode
https://shylinux.com/x/go-git
`
spark `Contexts 前端只使用了三个外部库。`
order `
bootstrap-icons
html2canvas
xterm
`

View File

@ -1,17 +1,11 @@
title "命令交互"
spark `contexts 提供了命令接口,所有的功能模块,都可以通过命令行来使用。`
spark `Contexts 提供了命令接口,所有的功能模块,都可以通过命令行来使用。`
spark `tcp.host 查看网卡信息`
shell `
./bin/ice.bin tcp.host
` with echo
shell `./bin/ice.bin tcp.host` with echo
spark `cli.system 执行本机命令`
shell `
./bin/ice.bin cli.system pwd
` with echo
shell `./bin/ice.bin cli.system pwd` with echo
spark `nfs.dir 查看目录列表`
shell `
./bin/ice.bin nfs.dir
` with echo
shell `./bin/ice.bin nfs.dir` with echo

View File

@ -1,33 +1,34 @@
title "网页交互"
spark `contexts 提供了网页接口,所有的功能模块,都可以通过网页来使用。`
spark `Contexts 提供了网页接口,所有的功能模块,都可以通过网页来使用。`
chapter "启动服务"
spark `通过网页使用 contexts 前,需要先启动 web 服务器。`
spark `通过网页使用 Contexts 前,需要先启动 web 服务器。Contexts 自带了多种启动方式。`
section "直接启动"
spark `serve 命令直接启动服务。`
shell `./bin/ice.bin serve start`
spark `默认的服务端口是 9020打开 <a href="http://localhost:9020">http://localhost:9020</a> 即可通过网页使用所有的功能。`
spark `默认的服务端口是 9020打开 <a>http://localhost:9020</a> 即可通过网页使用所有的功能。`
spark `服务启动后,会在终端上,启动一个交互式的 shell可执行任何命令。因为 contexts 不支持密码登录,所以初始用户的权限,可以在终端上分配。`
section "守护启动"
spark `如果需要进程常驻,可以使用 forever 守护命令。在开发过程中非常有用,每次执行 make 命令进行编译与构建时,都会发送信号自动重启服务进程。`
spark `forever 启动守护进程后,会自动启动服务进程,当服务进程意外停止后,会重新拉起服务。`
spark `如果需要进程常驻,可以使用 forever 守护命令。在开发过程中非常有用,每次执行 make 命令进行编译与构建时,都会发送信号自动重启服务进程。
forever 启动守护进程后,会自动启动服务进程,当服务进程意外停止后,会重新拉起服务。`
shell `./bin/ice.bin forever start`
section "容器启动"
spark `contexts 使用 golang 开发,完全跨平台,支持 Linux、macOS、Windows 等。`
spark `并且 contexts 只有一个 bin 文件,运行时生成的所有文件,也只在当前目录。所以只要删除这个目录,就不会在系统上留下任何痕迹。`
spark `但有时,也会用到容器部署,在容器中,也只需要下载一个 bin 文件即可,惟一的区别是需要登录认证。`
spark `因为 contexts 默认会开启 IP 认证授权,只有通过本机访问的请求,才会免登录。`
spark `但通过容器启动或远程服务器启动的 contexts访问时都需要登录认证。`
spark `Contexts 使用 Golang 开发,完全跨平台,支持 Linux、macOS、Windows 等。
并且 Contexts 只有一个 bin 文件,运行时生成的所有文件,也只在当前目录。所以只要删除这个目录,就不会在系统上留下任何痕迹。`
spark `但有时,也会用到容器部署,在容器中,也只需要下载一个 bin 文件即可,惟一的区别是需要登录认证。
因为 Contexts 默认会开启 IP 认证授权,只有通过本机访问的请求,才会免登录。
但通过容器启动或远程服务器启动的 Contexts访问时都需要登录认证。`
chapter "使用方式"
spark `在 contexts 中,所有的工具,即可以添加到导航栏,通过结构化的组织起来,也可以搜索框被快速查找出来,还可以通过 URL 地址,直接在单独的网页中使用。`
spark `在 Contexts 中,所有的工具,既可以添加到导航栏,通过结构化的组织起来,也可以搜索框被快速查找出来,还可以通过 URL 地址,直接在单独的网页中使用。`
section "导航式"
spark `contexts 启动后,可直接访问 <a href="http://localhost:9020/chat/portal/">http://localhost:9020/chat/portal/</a>,即可打开后台管理系统。`
spark `后台管理系统导航栏的内容,都是在 src/main.js 文件中定义的。如需自定义,直接此文件修改即可。`
spark `contexts 也提供了界面添加功能,点击创建后,依次添加群组、添加应用、添加工具,即可动态自动定义导航栏。`
spark `Contexts 启动后,可直接访问 <a>http://localhost:9020/chat/portal/</a>,即可打开后台管理系统。
后台管理系统导航栏的内容,都是在 src/main.js 文件中定义的。如需自定义,直接此文件修改即可。
Contexts 也提供了界面添加功能,点击创建后,依次添加群组、添加应用、添加工具,即可动态自动定义导航栏。`
iframe "http://localhost:9020"
section "搜索式"
@ -35,5 +36,8 @@ spark `默认后台管理系统,会提供一个搜索框,所有的工具都
iframe "http://localhost:9020?_search=tcp.host"
section "命令式"
spark `所有的工具可以通过 URL 直接访问使用,如工具 web.team.plan 的 URL 是 <a href="http://localhost:9020/chat/cmd/web.team.plan">http://localhost:9020/chat/cmd/web.team.plan</a>,界面如下所示`
spark `所有的工具可以通过 URL 直接访问使用,如工具 web.team.plan 的 URL 是 <a>http://localhost:9020/chat/cmd/web.team.plan</a>`
iframe "http://localhost:9020/chat/cmd/web.team.plan"
chapter "登录认证"
spark `如果在其它设备上,访问本机的服务,都是需要认证的。前端网页在检测到没有登录,会展示一个登录页面。复制下面的授权命令,在后台执行,即可授权登录。`

View File

@ -0,0 +1,39 @@
title "启动参数"
spark `Contexts 在命令行终端中,有三种使用方式,命令式、交互式、守护式。`
chapter `命令式`
spark `命令式用来执行一次性命令`
shell `./bin/ice.bin tcp.host` with echo
chapter `交互式`
spark `交互式会启动一个常驻功能和一个交互shell可以多次执行命令。`
section `启动服务`
shell `./bin/ice.bin serve start dev "" port 9030 nodename demo`
spark `serve 启动服务的参数如下`
order `
dev 指定上级服务节点。
proto 指定服务启动的协议 http 或 https
host 指定服务启动时绑定的本机 IP 地址
port 指定服务启动的端口号,默认 9020
nodename 指定本机节点名
username 指定根用户名
usernick 指定根用户的昵称
`
section `启动空间`
shell `./bin/ice.bin space dial dev "http://localhost:9020" name demo`
order `
dev 指定服务节点。
name 指定空间名。
`
chapter `守护式`
spark `将进程意外结束,或是编译时接收到信号,交互进程会直接结束。
为了自动重启,开发了 forever 命令。forever 可以用来启动任何进程,当进程停止时的返回 0forever 也会退出,但返回其它值时,会重新拉起进程。`
section `启动服务`
shell `./bin/ice.bin forever start serve`
section `启动空间`
shell `./bin/ice.bin forever start space dev "http://localhost:9020"`

View File

@ -0,0 +1,138 @@
title "目录结构"
spark `Contexts 运行时常用的目录与文件如下。`
chain `
contexts
src
main.go
main.js
main.shy
version.go
binpack.go
template/
document/
etc
init.shy
local.shy
exit.shy
bin
ice.bin
var
conf
data
file
log
tmp
proxy
usr
publish
install
local
export
daemon
image
repos
work
node_modules
`
chapter "源码目录 src/"
spark `所有的代码与文档,都保存这个目录里。`
section "main.go"
spark `main.go 是主程序的入口文件,在 Contexts 的项目中,所有功能都是模块化的,通过 init 函数隐式注册,所以只需要在 main.go 文件中添加一行 import 即可引入模块。
所以 main.go 只剩下一行代码<code>ice.Run()</code>。`
spark inner src/main.go
section "main.js"
spark `main.js 是前端的入口文件,前端的代码也是全部模块化,并且是后端驱动。所以 main.js 只需要定义导航栏的功能列表即可。现在只支持两级目录。支持图标,可自行引入图标库。`
spark inner src/main.js
section "main.shy"
spark `main.shy 是文档入口文档工具默认打开的文件。Contexts 对笔记文档提供了非常多的支持,因为笔记文档是用户使用最频率也是最方便的工具。`
spark inner src/main.shy
section "version.go"
spark `version.go 是项目源码及编译相关的信息。`
spark inner src/version.go
section "binpack.go"
spark `binpack.go 是打包文件在编译构建时Contexts 会把 js、css、shy 等文件,直接打包进执行程序中。
进程运行时,直接在内存里构建了一个文件系统。`
section "template/"
spark `template/ 是模板目录,比如生成网页、生成笔记时,会用到很多格式化的文本,用户可以随时修改这些模板文件,满足定制化的需要。`
section "document/"
spark `document/ 是文档目录,官网展示的页面与文档,都保存在这里,可以随时修改。`
spark `其中 src/document/index.shy 定义标题栏。src/document/xxx/index.shy 定义导航栏,其它文件都是普通的文档文件。`
chapter "配置目录 etc/"
spark `Contexts 在运行中用到的配置文件都保存在这个目录。`
section "init.shy"
spark `init.shy 是 Contexts 的启动脚本。一些定制化的配置可以直接添加到这个文件中。如权限管理、事件触发、桌面定制、编译配置等`
section "local.shy"
spark `etc/ 目录中的其它配置文件,都会打包进程序文件中向外发布。只有 local.shy 会被忽略,所以如果配置中有密码之类的敏感信息,可以保存在这个文件中。`
section "exit.shy"
spark `exit.shy 是 Contexts 在服务停止前,执行的脚本,如一些运行数据的需要保存。`
chapter "程序目录 bin/"
spark `bin/ice.bin 就是 Contexts 的程序文件ice 是 icebergs 的缩写,因为后端框架叫冰山架,寓意是后端功能非常丰富庞大,但平时只能看到冰山一角。`
chapter "数据目录 var/"
section "conf/"
spark `Contexts 实现了一种内存版的数据库,每个工具,都会自动创建配置管理与数据存储,数据的读写、保存、维护全部托管给框架,不需要开发者专门去注意。`
spark `在服务进程退出时,会将内存版的数据库中的所有数据,都会保存到这个目录。在服务重新启动时,会再加载到内存。`
section "data/"
spark `Contexts 数据库的数据默认是在内存中,但数据量超过一定大小时,将一部分不常用的数据保存磁盘中的 ./var/data/ 目录里,当这些数据被访问时,会直接读写磁盘。`
section "file/"
spark `有些文件类的数据大小超过512B会直接保存到这个目录里在内存里只保存一个文件名。`
section "log/"
spark `log/ 日志文件的目录`
order `
bench.log 运行日志
error.log 错误日志
debug.log 调试日志
watch.log 监控日志
boot.log 启动日志
ice.pid 进程ID
`
section "tmp/"
spark `tmp/ 临时目录`
section "proxy/"
spark `proxy/ 代理目录,当通过网页访问子空间或是子设备时,会用到一些文件,它们都会被缓存到这个目录里。`
chapter "资源目录 usr/"
section "publish/"
spark `发布资源,这个目录下的所有文件,都是对外公开的文件,如发布的程序文件和配置文件,用户可以自由的下载。`
section "install/"
spark `安装一些软件与工具的目录。`
section "local/"
spark `local 就是私有的一些数据,在数据读写时会有更多的权限检查,以保证用户的数据安全。`
section "local/export/"
spark `local/export/ 就是配置和数据导出的目录,因为运行时的数据量比较大,当有一些重要的数据需要备份或是和代码一起提交,可导出到这个目录。`
section "local/daemon/"
spark `启动的后台进程,以端口号作为目录名。`
section "local/image/"
spark `图片视频等多媒体文件。`
section "local/repos/"
spark `Contexts 自带了 Git-Server 的功能,可以直接提供代码仓库的服务,所有的仓库代码都保存到这个目录。`
section "local/work/"
spark `子空间的目录Contexts 创建的所有空间都在这个目录。`
section "node_modules/"
spark `Contexts 的前端代码,用到的外部依赖库,会自动下载到这个目录。`

View File

@ -0,0 +1,11 @@
title "环境变量"
spark `Contexts 也定义了一些环境变量。`
order `
ctx_shy
ctx_com
ctx_dev
ctx_pod
ctx_ops
ctx_pid
ctx_log
`

View File

@ -0,0 +1,26 @@
title "启动配置"
spark `Contexts 的启动配置都存保存在 etc/ 目录中etc/init.shy 是启动配置,
etc/local.shy 是启动配置拆分出来的一个文件,只存放一些关于密码类或本地的一些私有化配置,代码提交时会忽略这个文件。`
chapter "配置语法"
spark `和文档文件格式完全一样,也是命令式语法,都是命令加参数。`
spark `为了减少重复的命令前缀,可以用波浪线 加上模块名,切换模块,此后的命令,只用输入命令名即可。`
section "source"
spark `source 命令可以用来引入其它的配置文件,当配置文件比较大时,可以拆分成多个文件,用 source 引入即可。`
section "config"
spark `config 命令是通用的配置操作命令,可以用来读写所有工具的配置。`
chapter "常用配置"
section "event"
spark `event 是事件类的命令,监听某个事件然后执行指定的命令。如服务启动时、空间创建时、用户注册时等事件。`
section "role"
spark `role 是角色管理,什么角色拥有什么权限,都可以在启动时配置。`
section "binpack insert"
spark `binpack insert 是后端构建时,需要将哪些文件打包进 bin 文件中。`
section "webpack insert"
spark `webpack insert 是前端打包构建时,需要将哪些文件打包进 html 文件中。`

View File

@ -0,0 +1,3 @@
title "日志文件"
spark `Contexts 日志都保存在 ./log/ 目录下。`

View File

@ -0,0 +1,5 @@
title "进程控制"
spark `Contexts 可以通过信号控制进程。`
spark `在终端启动 Contexts 后,<code>Ctrl + C</code> 重启服务进程。<code>Ctrl + \\</code> 退出服务进程。`
spark `执行 make 命令时,会发送 INT 信号,重启进程。`

View File

@ -0,0 +1,3 @@
title "资源目录"
spark `usr`

View File

@ -0,0 +1,2 @@
title "数据目录"
spark `var`

View File

@ -1,5 +1,5 @@
title "认证授权"
spark `contexts 有多种认证方式,但就是坚决不支持密码。`
spark `Contexts 有多种认证方式,但就是坚决不支持密码。`
chapter "自动认证"
spark `服务启动时,会自动获取本机的用户名,来作为根用户,从本机发出的所有请求都会默认使用此用户,拥有所有操作的权限。
@ -13,7 +13,7 @@ spark inner `
` args "etc/local.shy"
chapter "授权认证"
spark `contexts 并没有提供密码登录,因为密码是非常不安全,且会给用户添加很多负担。
spark `Contexts 并没有提供密码登录,因为密码是非常不安全,且会给用户添加很多负担。
所以在其它设备上,访问本机的服务,或是其他用户访问,就需要已经登录的用户来授权认证。`
section `授权登录`

View File

@ -1,27 +1,27 @@
title "组建集群"
spark `contexts 既可以在一台机器上,启动任意多个工作空间。也可以把多台机器组网到一起。在 contexts 看来,本机的工作空间,与其它设备上的工作空间是没有区别的,使用方式完全一样。`
spark `Contexts 既可以在一台机器上,启动任意多个工作空间。也可以把多台机器组网到一起。在 Contexts 看来,本机的工作空间,与其它设备上的工作空间是没有区别的,使用方式完全一样。`
spark `因为现在每个人都可能会有很多台电脑,比如笔记本、台式机、开发机、服务器、开发板等,每台设备上的软件都需要下载、安装、配置,还要不断的同步数据,这是一个非常复杂且浪费时间的事情。`
spark `使用 contexts 就可以很方便的,管理起这么多种设备和软件。只需要构建一个 contexts 项目,选择自己的工具集合,就可以通过交叉编译,生成各种操作系统上可运行的软件。`
spark `contexts 还会自动组网,将所有设备连接到一起。通过任意一台设备,都可以使用其它设备上的所有工具与数据。即使这些设备不在一起,比如公司的电脑和家里的电脑。`
spark `使用 Contexts 就可以很方便的,管理起这么多种设备和软件。只需要构建一个 Contexts 项目,选择自己的工具集合,就可以通过交叉编译,生成各种操作系统上可运行的软件。`
spark `Contexts 还会自动组网,将所有设备连接到一起。通过任意一台设备,都可以使用其它设备上的所有工具与数据。即使这些设备不在一起,比如公司的电脑和家里的电脑。`
chapter "启动服务"
spark `contexts 服务启动时,默认的会启动集群的功能,本机的工作空间与其它机器的连接此服务的方式都是一样,惟一不同中的是,为了安全,子设备的名称是用 IP+Port如需自定义需要认证授权后才行。`
spark `Contexts 服务启动时,默认的会启动集群的功能,本机的工作空间与其它机器的连接此服务的方式都是一样,惟一不同中的是,为了安全,子设备的名称是用 IP+Port如需自定义需要认证授权后才行。`
shell `./bin/ice.bin forever start`
chapter "连接服务"
spark `在另一台设备上,同样下载好 contexts并启动服务在启动命令后加上参数"dev xxx",指定需要连接的服务节点即可。`
spark `在另一台设备上,同样下载好 Contexts并启动服务在启动命令后加上参数"dev xxx",指定需要连接的服务节点即可。`
shell `./bin/ice.bin forever start dev "http://192.168.10.12:9020"`
chapter "访问子设备"
spark `当子设备的服务起动成功,并连接上父设备后,就可以把子设备当成父设备的工作空间来使用。`
section "打开子设备"
spark `如果导航栏未定制,在左边导航栏中打开运维群 -> 应用,然后在右边工作区中,找到 space即空间管理的工具。`
spark `<a href="http://localhost:9020/chat/portal/?river=operate&storm=web&index=space"></a>`
spark `<a>http://localhost:9020/chat/portal/?river=operate&storm=web&index=space</a>`
iframe "http://localhost:9020/chat/portal/?river=operate&storm=web&index=space"
spark `或在搜索框中,直接搜索 space 即可打开空间管理的工具。搜索结果如果有多个,需要手动选择,点击"ctx command web space"一行,才会打开 space 工具。`
spark `<a href="http://localhost:9020?_search=space"></a>`
spark `<a>http://localhost:9020?_search=space</a>`
iframe "http://localhost:9020?_search=space"
spark `或是直接打开命令网页,<a href="http://localhost:9020/chat/cmd/web.space"></a>`
spark `或是直接打开命令网页,<a>http://localhost:9020/chat/cmd/web.space</a>`
iframe "http://localhost:9020/chat/cmd/web.space"
spark `在空间列表中,找到新启动的子设备,点击打开,即可进入子空间的管理界面。`

View File

@ -0,0 +1,14 @@
chain `
contexts
icebergs
base
core
misc
toolkits
volcanos
lib
page
panel
plugin
`

View File

@ -0,0 +1,4 @@
label `
linux nginx docker redis mysql
bash git golang vim tmux
`

View File

@ -0,0 +1,5 @@
order `
icebergs
volcanos
intshell
`

View File

@ -0,0 +1,6 @@
table `
命令 作用
order 普通列表
refer 引用列表
table 普通表格
`

View File

@ -1,13 +1,12 @@
title "电脑桌面"
spark `contexts 是一个工具系统,内置了很多软件工具。这些工具可以像本机电脑桌面一样,用图标与窗口来使用所有的应用。`
spark `web.chat.macos.desktop 工具就是 contexts 的电脑桌面。`
spark `<a href="http://localhost:9020/chat/cmd/desktop"></a>`
field "" web.chat.macos.desktop style output
spark `Contexts 是一个工具系统,内置了很多软件工具。这些工具可以像本机电脑桌面一样,用图标与窗口来使用所有的软件工具。
web.chat.macos.desktop 工具就是 Contexts 的电脑桌面。`
spark `<a>http://localhost:9020/chat/cmd/desktop</a>`
field "电脑桌面" web.chat.macos.desktop style output
spark `在桌面的左上角,可以桌面 + 号,创建新的桌面。每个桌面上可以打开不同的应用工具。`
spark `打开 dock 工具栏中的 finder即可查看所有应用列表。`
spark `在 contexts 中,每个工作空间,都有自己的电脑桌面与应用列表,通过配置文件,可以将任意工具添加到应用列表中。
spark `在桌面的左上角,可以桌面 + 号,创建很多个新的桌面,每个桌面上可以打开不同的软件工具。打开 dock 工具栏中的 finder 工具,即可查看所有应用列表。`
spark `在 Contexts 中,每个工作空间,都有自己的电脑桌面与应用列表,通过配置文件,可以将任意的工具添加到应用列表中。
应用列表中的所有应用,可以随时添加到桌面与工具栏中。`
spark `同样的,电脑桌面 web.chat.macos.desktop只是 contexts 的一个工具,可以添加到导航栏中,也可以在搜索框中使用,甚于可以内嵌在任何其它工具中使用。`
spark `同样的,电脑桌面 web.chat.macos.desktop只是 Contexts 的一个工具,可以添加到导航栏中,也可以在搜索框中使用,甚于可以内嵌在任何其它工具中使用。`

View File

@ -1,22 +1,22 @@
title "笔记文档"
brief `web.wiki.word 是 contexts 用来管理笔记与文档的工具contexts 的文档以 .shy 作为文件格式的后缀。
语法也非常简单,就是命令加参数,像命令行一样使用。其中命令就是 contexts 中的所有的工具名。
所以 contexts 中的所有工具都可以在文档中直接使用。`
spark `包括 contexts 的官网web.wiki.portal也只是在 web.wiki.word 上包装了一个布局和路由而已。
brief `web.wiki.word 是 Contexts 用来管理笔记与文档的工具Contexts 的文档以 .shy 作为文件格式的后缀。
语法也非常简单,就是命令加参数,像命令行一样使用。其中命令就是 Contexts 中的所有的工具名。
所以 Contexts 中的所有工具都可以在文档中直接使用。`
spark `包括 Contexts 的官网web.wiki.portal也只是在 web.wiki.word 上包装了一个布局和路由而已。
官网的所有内容也是用 .shy 文档来保存的,其中所有的内容在 web.wiki.word 中也一样显示。
`
spark `contexts 的文档不需要单独存放,直接和代码在一起,都在 src 目录下contexts 在构建时,会根据代码结构,将对应的文档打包进 bin 文件中。`
spark `Contexts 的文档不需要单独存放,直接和代码保存在一起,都在 <code>./src/</code> 目录下Contexts 在构建时,会根据代码结构,将关联的文档打包进 bin 文件中,以便在运行时随时查看。`
chapter "使用方式"
spark `同样的web.wiki.word 工具,也是可以在导航栏中、在搜索栏中、在单独的网页中都能使用,甚至可以被任何其它的工具嵌套使用。如被 web.wiki.portal 嵌套。`
spark `其中 web.wiki.word 的参数栏中,第一个输入框,是文档的文件名,输入需要查看的文档的文件名即可查看此文档。
spark `同样的web.wiki.word 工具,也是可以在导航栏中、在搜索栏中、在单独的网页中都能使用,甚至可以被任何其它的工具嵌套使用。如被 web.wiki.portal 嵌套。
其中 web.wiki.word 的参数栏中,第一个输入框,是文档的文件名,输入需要查看的文档的文件名即可查看此文档。
在命令网页中,如下添加参数 path 即可指定文档的文件名。`
spark `<a href="http://localhost:9020/chat/cmd/word?path=src/document/started/using/note.shy"></a>`
spark `其中参数有空格或其它特殊字符,需要加引号,单引号、双引号、反引号,其中反引号中的文字可以跨行。`
spark `<a>http://localhost:9020/chat/cmd/word?path=src/document/started/using/note.shy</a>`
chapter "常用命令"
spark `其中参数有空格或其它特殊字符,可以加引号,单引号、双引号、反引号,其中反引号中的文字可以跨行。`
section "文字类"
spark `文字类的命令很简单,常用的就 title、chapter、section、spark。`
spark `文字类的命令很简单,常用的就 title、chapter、section、brief、spark。`
spark inner `
title "文章标题"
chapter "章节标题"
@ -26,7 +26,7 @@ spark "段落文字"
` args "src/ main.shy"
spark `spark 命令还支持子命令,如 title、inner、shell、button 等,
如需其它文字格式,可自行添加 spark 的子命令,只需要在 src/template/web.wiki.spark/ 目录下添加同名的模板文件即可。`
如需其它文字格式,可自行添加 spark 的子命令,只需要在 <code>./src/template/web.wiki.spark/</code> 目录下添加同名的模板文件即可。`
spark inner `
spark inner "代码文字"
@ -38,16 +38,29 @@ spark `其中 shell 命令并不一个单独的命令,只是 spark shell 的
还有 chapter 也是 title chapter 的别名section 也是 title section 别名。`
section "数据类"
spark inner src/document/started/using/demo.shy
spark `refer 命令,引用列表,样式如下`
refer `
首页 http://localhost:9020
官网 http://localhost:9020/wiki/portal/
后台 http://localhost:9020/chat/portal/
`
spark `refer 命令,引用列表`
spark inner src/document/started/using/demo/refer.shy
source src/document/started/using/demo/refer.shy
spark `order 命令,普通列表`
spark inner src/document/started/using/demo/order.shy
source src/document/started/using/demo/order.shy
spark `table 命令,普通表格`
spark inner src/document/started/using/demo/table.shy
source src/document/started/using/demo/table.shy
section "绘图类"
spark `label 命令,绘制标签。`
spark inner src/document/started/using/demo/label.shy
source src/document/started/using/demo/label.shy
spark `chain 命令,绘制结构图,每一行是一个节点,用缩进代表层级。`
spark inner src/document/started/using/demo/chain.shy
source src/document/started/using/demo/chain.shy
section "影音类"
spark `影音类的文件,存放在 ./usr/local/image/ 目录下。当然参数也可以是一个完整的 URL 地址,直接引用外部的资源文件。`
spark `影音类的文件,存放在 <code>./usr/local/image/</code> 目录下。当然参数也可以是一个完整的 URL 地址,直接引用外部的资源文件。`
spark inner `
image background.jpg
video some.mov

View File

@ -1,11 +1,11 @@
title "任务计划"
spark `web.team.plan 是 contexts 用来管理任务与计划的工具,此外在状态栏中附加了另外三个工具 web.team.todo、web.team.task、web.team.epic `
spark `<a href="http://localhost:9020/chat/cmd/plan"></a>`
spark `web.team.plan 是 Contexts 用来管理任务与计划的工具,此外在状态栏中附加了另外三个工具 web.team.todo、web.team.task、web.team.epic `
spark `<a>http://localhost:9020/chat/cmd/plan</a>`
field "" web.team.plan
spark `web.team.plan 提供了日视图、周视图、月视图、年视图、长视图等,不同的时间维度来展示任务列表。
双击时间的单元格,即可打开创建任务的对话框。其中 zone 与 name 是必选参数,指定分类与名称。
单击任务,在任务表的右侧,即可显示出任务详情。`
spark `web.team.plan 工具,看上去功能很简单,但却不简单,因为在 contexts 中,所有的工具,都可以嵌套任何其它工具,甚至子空间、子设备中的所有工具。
spark `web.team.plan 工具,看上去功能很简单,但却不简单,因为在 Contexts 中,所有的工具,都可以嵌套任何其它工具,甚至子空间、子设备中的所有工具。
给任何一个任务,都可以绑定一个工具。在详情中,点击插件,输入工具名与参数,即可在任务选中时,在时间表下面显示工具,可以直接使用。
所以对于 web.team.plan 来说,它就是一个时间的框架,用时间的维度,将所有的工具显示在时间表中。`
spark `同样适用于 contexts 系统中其它所有工具,每一个工具都以自己的数据逻辑,将其它所有的工具、空间、设备,组织在一起。所以每个工具,都是一个操作系统。`
spark `同样适用于 Contexts 系统中其它所有工具,每一个工具都以自己的数据逻辑,将其它所有的工具、空间、设备,组织在一起。所以每个工具,都是一个操作系统。`

View File

@ -1,12 +1,12 @@
title "工作空间"
spark `contexts 下载并启动后,会以当前运行目录为工作空间,加载启动脚本和保存数据与文件。`
spark `contexts 不推荐使用全局的资源或家目录的文件,为了减少全局依赖与资源冲突。从而可以在一台机器上启动任意多个空间。`
spark `contexts 推荐使用空间来管理项目与任务。contexts 每个空间都是一个独立的目录,与独立的守护进程。
每个空间即可以使用相同的 contexts也可以使用不同的 contexts即不同的工具集合。因为每个项目内容可能是不一样的使用的工具也可能是不一样的。`
spark `Contexts 下载并启动后,会以当前运行目录为工作空间,加载启动脚本和保存数据与文件。`
spark `Contexts 不推荐使用全局的资源或家目录的文件,为了减少全局依赖与资源冲突。从而可以在一台机器上启动任意多个空间。`
spark `Contexts 推荐使用空间来管理项目与任务。Contexts 每个空间都是一个独立的目录,与独立的守护进程。
每个空间即可以使用相同的 Contexts也可以使用不同的 Contexts即不同的工具集合。因为每个项目内容可能是不一样的使用的工具也可能是不一样的。`
chapter "创建空间"
section "启动服务"
spark `首先,启动 contexts 服务。并打开后台管理系统。<a href="http://localhost:9020/chat/portal/"></a>`
spark `首先,启动 Contexts 服务。并打开后台管理系统。<a>http://localhost:9020/chat/portal/</a>`
shell `
./bin/ice.bin forever start
open http://localhost:9020
@ -14,20 +14,20 @@ open http://localhost:9020
section "打开工具"
spark `如果导航栏未定制,在左边导航栏中打开运维群 -> 应用,然后在右边工作区中,找到 dream即空间管理的工具。`
spark `<a href="http://localhost:9020/chat/portal/?river=operate&storm=web&index=web.dream"></a>`
spark `<a>http://localhost:9020/chat/portal/?river=operate&storm=web&index=web.dream</a>`
iframe "http://localhost:9020/chat/portal/?river=operate&storm=web&index=web.dream"
spark `或在搜索框中,直接搜索 dream 即可打开空间管理的工具。`
spark `<a href="http://localhost:9020?_search=dream"></a>`
spark `<a>http://localhost:9020?_search=dream</a>`
iframe "http://localhost:9020?_search=dream"
spark `或是直接打开命令网页,<a href="http://localhost:9020/chat/cmd/web.dream"></a>`
spark `或是直接打开命令网页,<a>http://localhost:9020/chat/cmd/web.dream</a>`
iframe "http://localhost:9020/chat/cmd/web.dream"
section "创建空间"
spark `点击工具栏中的创建按钮,即可打开创建对话框。`
spark `空间创建有 name、repos、binary、template 四个参数,其中 name 是必选参数,指定项目名,创建空间时,contexts 会默认给项目名加一个时间前缀。`
spark `空间创建有 name、repos、binary、template 四个参数,其中 name 是必选参数,指定项目名,创建空间时,Contexts 会默认给项目名加一个时间前缀。`
order `
repos 指定 git 仓库地址,contexts 将此仓库下载到本地,然后把此目录当成工作空间。
binary 指定 bin 文件,contexts 会自动下载并使用这个 bin 文件,来启动守护进程。
repos 指定 git 仓库地址,Contexts 将此仓库下载到本地,然后把此目录当成工作空间。
binary 指定 bin 文件,Contexts 会自动下载并使用这个 bin 文件,来启动守护进程。
template 指定模板目录,空间创建时,会从模板目录中复制所需要的文件。
`
spark `空间创建成功后,会在 ./usr/local/work 目录下创建一个空间的目录。并启动一个守护进程。

View File

@ -1,5 +1,7 @@
title "编辑器"
spark `web.code.vimer 是 contexts 自带的编辑器。`
spark `作为一个功能完备的工具系统编辑器是必不少的工具。web.code.vimer 就是 Contexts 自带的编辑器,具有语法高亮、语法模板、语法补全、语法跳转等功能。
web.code.vimer 也是一个编辑器框架,默认已经支持 Contexts 用到的语言 Golang、Javascript、HTML、CSS、sh、shy 等,
如需其它语言,直接添加语法模块即可。`
spark `Contexts 中所有的工具,都可以被当成插件,在编辑器中使用。`
spark `<a>http://localhost:9020/chat/cmd/web.code.vimer</a>`
field web.code.vimer