From 37df5ff34c9e0e82916f1e501a3830002ce5c0e3 Mon Sep 17 00:00:00 2001 From: shylinux Date: Sat, 8 Jul 2023 12:42:47 +0800 Subject: [PATCH] opt some --- etc/miss.sh | 11 ++-- go.mod | 8 ++- src/document/development/index.shy | 2 +- .../development/technology/content.shy | 3 +- src/document/download/content.shy | 53 ++++++++++++++++-- src/document/started/install/manual.shy | 24 ++++++-- src/document/started/install/quick.shy | 55 ++++++++++++++++--- src/document/started/install/source.shy | 4 ++ src/template/web.code.publish/binary.sh | 3 +- 9 files changed, 134 insertions(+), 29 deletions(-) diff --git a/etc/miss.sh b/etc/miss.sh index eadff9aa..990a768b 100644 --- a/etc/miss.sh +++ b/etc/miss.sh @@ -1,8 +1,8 @@ #!/bin/sh -export ctx_dev=${ctx_dev:=https://shylinux.com} +export ctx_shy=${ctx_shy:=https://shylinux.com} if [ -f $PWD/.ish/plug.sh ]; then source $PWD/.ish/plug.sh; elif [ -f $HOME/.ish/plug.sh ]; then source $HOME/.ish/plug.sh; else - temp=$(mktemp); if curl -h &>/dev/null; then curl -o $temp -fsSL $ctx_dev; else wget -O $temp -q $ctx_dev; fi; source $temp intshell + temp=$(mktemp); if curl -h &>/dev/null; then curl -o $temp -fsSL $ctx_shy; else wget -O $temp -q $ctx_shy; fi; source $temp intshell fi; require conf.sh; require miss.sh ish_miss_prepare_compile @@ -16,11 +16,12 @@ ish_miss_prepare_volcanos ish_miss_prepare_toolkits ish_miss_prepare_icebergs ish_miss_prepare release -ish_miss_prepare icons -# ish_miss_prepare websocket -# ish_miss_prepare go-qrcode +ish_miss_prepare icons ish_miss_prepare go-git +ish_miss_prepare go-qrcode +ish_miss_prepare websocket +ish_miss_prepare webview ish_miss_prepare matrix ish_miss_make diff --git a/go.mod b/go.mod index 1d8ed10f..568ef3b2 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,12 @@ go 1.13 replace ( shylinux.com/x/go-git/v5 => ./usr/go-git + shylinux.com/x/go-qrcode => ./usr/go-qrcode + shylinux.com/x/websocket => ./usr/websocket + shylinux.com/x/webview => ./usr/webview +) + +replace ( shylinux.com/x/ice => ./usr/release shylinux.com/x/icebergs => ./usr/icebergs shylinux.com/x/toolkits => ./usr/toolkits @@ -13,5 +19,5 @@ require ( shylinux.com/x/ice v1.3.3 shylinux.com/x/icebergs v1.5.11 shylinux.com/x/toolkits v0.7.6 - shylinux.com/x/webview v0.0.2 // indirect + shylinux.com/x/webview v0.0.2 ) diff --git a/src/document/development/index.shy b/src/document/development/index.shy index d8c5cd51..367deab4 100644 --- a/src/document/development/index.shy +++ b/src/document/development/index.shy @@ -22,5 +22,5 @@ navmenu ` Message msg.shy "前端框架" volcanos/ "相关技术" technology/ - "web" content.shy + "开发工具" content.shy ` diff --git a/src/document/development/technology/content.shy b/src/document/development/technology/content.shy index 3915cc91..463f35bd 100644 --- a/src/document/development/technology/content.shy +++ b/src/document/development/technology/content.shy @@ -1,7 +1,8 @@ -chapter "HTML" +title "开发工具" refer ` MDN https://developer.mozilla.org/en-US/docs/Web Edge https://www.microsoft.com/zh-cn/edge/download?form=MA13FJ VSCode https://code.visualstudio.com/docs/?dv=osx Bing https://cn.bing.com +Docker https://docs.docker.com/engine/install/ ` diff --git a/src/document/download/content.shy b/src/document/download/content.shy index 6800f5fc..bbd946e1 100644 --- a/src/document/download/content.shy +++ b/src/document/download/content.shy @@ -1,7 +1,48 @@ -chapter "快速下载" -spark `复制如下命令,并在终端执行,即可下载应用并启动服务。` -web.code.publish contexts +title "快速下载" +chapter "下载程序" +spark `Contexts 使用 Golang 开发,支持交叉编译,所以在各种操作系统上都只需要一个 bin 文件,直接下载执行即可。` +spark `为了方便下载并快速启动,可以使用如下命令。 +自动选择下载命令 curl 或 wget, +自动识别出操作系统与处理器类型,然后下载所需的 bin 文件,并自动启动服务进程。 +点击下面的命令,即可直接复制,然后打开命令行终端,执行一下即可。` +web.code.publish binary +spark `在 Windows 系统上,可以下载 Git-Bash,在 Git-Bash 的命令行中下载。` -chapter "自由下载" -spark `Contexts 使用 Golang 开发,支持交叉编译。各平台与架构的下载链接如下。` -web.code.publish version +chapter "使用方式" +spark `下载成功后,会自动启动服务进程,并会启动一个可交互的 shell。 +既可以在命令行中,通过命令的方式,使用 Contexts 提供的所有软件工具, +也可以在浏览器中,通过网页的方式,使用所有的软件工具。` +spark `在启动的 shell 中执行命令,输入命令 exit,并输入回车键,即可退出服务进程。` +spark `也可以通过信号控制进程,Ctrl+C 重启进程,Ctrl+\\ 退出进程。` +spark `再次启动服务进程,输入命令 ./bin/ice.bin 即可。` + +section "目录结构" +spark ` +下载成功后,Contexts 会以当前目录为工作空间,相关的数据与文件也只会保存在当前目录。所以下载之前,最好先创建一个目录 contexts。 +` +order ` +./bin/ice.bin 程序文件 +./var/conf/ 配置目录 +./var/data/ 数据目录 +./var/log/ 日志目录 +` +spark ` +其中 ./bin/ice.bin 就是下载的程序文件,直接运行即可使用。其它的文件,都是在程序运行时生成的文件。 +` + +section "终端命令" +spark ` +contexts 可以创建任意多个工作空间,为了保证每个工作空间的完整性与独立性,每个工作空间下都会保存运行所需的所有文件。 +所以并不需要将 ice.bin 文件放到全局的 PATH 中,在当前工作空间的目录中,完成所有操作。 +` +spark ` +Contexts 也支持在命令行终端中执行一次性命令。 +` +spark `查看网卡信息` +shell ` +./bin/ice.bin tcp.host +` +spark `执行本机系统命令,pwd 查看当前路径。` +shell ` +./bin/ice.bin cli.system pwd +` diff --git a/src/document/started/install/manual.shy b/src/document/started/install/manual.shy index dbecbd87..c7e5a80a 100644 --- a/src/document/started/install/manual.shy +++ b/src/document/started/install/manual.shy @@ -1,13 +1,27 @@ title "手动下载" -spark `如果有其它需要,例如下载不同系统或不同架构的 bin 文件,可手动下载。如下使用 wget 或 curl 命令,下载所需的 bin 文件。 -其中 linux 替换成所需系统名,如 darwin、windows 等,amd64 替换成所需的架构名,如 x86、arm 等` +spark `如果有其它需要,例如下载不同系统或不同架构的 bin 文件,可手动下载。如下使用 curl 或 wget 命令,下载所需的 bin 文件。` web.code.publish manual +spark `在 Windows 系统上,可以下载 Git-Bash,在 Git-Bash 的命令行中下载。` spark `本服务器已经编译好的程序文件如下表` web.code.publish version spark `添加执行权限,并重命名文件。` -shell ` +shell linux ` chmod u+x ice.linux.amd64 -mdkir bin; mv ice.linux.amd64 bin/ice.bin -` \ No newline at end of file +mkdir bin; mv ice.linux.amd64 bin/ice.bin +` darwin ` +chmod u+x ice.darwin.amd64 +mkdir bin; mv ice.darwin.amd64 bin/ice.bin +` windows ` +chmod u+x ice.windows.amd64 +mkdir bin; mv ice.windows.amd64 bin/ice.bin +` +spark `启动服务进程。` +shell ` +./bin/ice.bin +` +spark `退出服务进程。` +shell ` +exit +` diff --git a/src/document/started/install/quick.shy b/src/document/started/install/quick.shy index 367ae9d0..bbd946e1 100644 --- a/src/document/started/install/quick.shy +++ b/src/document/started/install/quick.shy @@ -1,11 +1,48 @@ title "快速下载" -spark `Contexts 使用 Golang 开发,所以编译后只有一个 bin 文件,直接下载执行即可。` +chapter "下载程序" +spark `Contexts 使用 Golang 开发,支持交叉编译,所以在各种操作系统上都只需要一个 bin 文件,直接下载执行即可。` spark `为了方便下载并快速启动,可以使用如下命令。 -自动选择下载命令 wget 或 curl, -自动识别出操作系统与处理器类型,然后下载所需的 bin 文件,并自动启动服务。 -点击下面的命令,即可直接复制,然后打开命令终端,执行一下即可。` -web.code.publish contexts -spark warning `Contexts 有组建集群的功能,为了快速组建集群,这条命令也带了连接远程服务器的功能。` -spark warning `如果远程服务器是自己搭建的,或是可信的服务,直接执行。` -spark warning `如果不可信,可以通过配置文件,设置远程服务器访问本机的权限。 -或直接在前面命令后加上参数 dev "",直接禁用远程服务。` \ No newline at end of file +自动选择下载命令 curl 或 wget, +自动识别出操作系统与处理器类型,然后下载所需的 bin 文件,并自动启动服务进程。 +点击下面的命令,即可直接复制,然后打开命令行终端,执行一下即可。` +web.code.publish binary +spark `在 Windows 系统上,可以下载 Git-Bash,在 Git-Bash 的命令行中下载。` + +chapter "使用方式" +spark `下载成功后,会自动启动服务进程,并会启动一个可交互的 shell。 +既可以在命令行中,通过命令的方式,使用 Contexts 提供的所有软件工具, +也可以在浏览器中,通过网页的方式,使用所有的软件工具。` +spark `在启动的 shell 中执行命令,输入命令 exit,并输入回车键,即可退出服务进程。` +spark `也可以通过信号控制进程,Ctrl+C 重启进程,Ctrl+\\ 退出进程。` +spark `再次启动服务进程,输入命令 ./bin/ice.bin 即可。` + +section "目录结构" +spark ` +下载成功后,Contexts 会以当前目录为工作空间,相关的数据与文件也只会保存在当前目录。所以下载之前,最好先创建一个目录 contexts。 +` +order ` +./bin/ice.bin 程序文件 +./var/conf/ 配置目录 +./var/data/ 数据目录 +./var/log/ 日志目录 +` +spark ` +其中 ./bin/ice.bin 就是下载的程序文件,直接运行即可使用。其它的文件,都是在程序运行时生成的文件。 +` + +section "终端命令" +spark ` +contexts 可以创建任意多个工作空间,为了保证每个工作空间的完整性与独立性,每个工作空间下都会保存运行所需的所有文件。 +所以并不需要将 ice.bin 文件放到全局的 PATH 中,在当前工作空间的目录中,完成所有操作。 +` +spark ` +Contexts 也支持在命令行终端中执行一次性命令。 +` +spark `查看网卡信息` +shell ` +./bin/ice.bin tcp.host +` +spark `执行本机系统命令,pwd 查看当前路径。` +shell ` +./bin/ice.bin cli.system pwd +` diff --git a/src/document/started/install/source.shy b/src/document/started/install/source.shy index 07e50c86..2ebebaf9 100644 --- a/src/document/started/install/source.shy +++ b/src/document/started/install/source.shy @@ -6,6 +6,10 @@ golang https://golang.google.cn/dl/ ` web.code.publish source spark `执行 etc/miss.sh 脚本,会自动下载所需要的依赖,并编译项目。` +spark `启动服务进程。` +shell `ish_miss_serve` +spark `结束服务进程。` +shell `exit` chapter "项目组成" spark `Contexts 前后端框架和核心模块全部自研,只有少部分功能使用到了外部代码,并且随时会被干掉,最终不依赖于任何外部项目,做到完全自举。` diff --git a/src/template/web.code.publish/binary.sh b/src/template/web.code.publish/binary.sh index 95552c5e..9fe52d7f 100644 --- a/src/template/web.code.publish/binary.sh +++ b/src/template/web.code.publish/binary.sh @@ -1 +1,2 @@ -temp=$(mktemp); if curl -h &>/dev/null; then curl -o $temp -fsSL {{.Option "domain"}}; else wget -O $temp -q {{.Option "domain"}}; fi; source $temp binary +mkdir contexts; cd contexts +ctx_dev={{.Option "domain"}} temp=$(mktemp); if curl -h &>/dev/null; then curl -o $temp -fsSL $ctx_dev; else wget -O $temp -q $ctx_dev; fi; source $temp binary