mirror of
https://shylinux.com/x/ContextOS
synced 2025-04-25 16:58:06 +08:00
opt portal
This commit is contained in:
parent
ac8c80a85c
commit
d501df7629
24
etc/init.shy
24
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
|
||||
|
@ -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
|
||||
|
@ -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 支持脚本、支持模板、支持内存版文件系统、支持内存版数据库,可以快速开发出一个完整的软件应用。
|
||||
`
|
@ -1 +1 @@
|
||||
nfs.cat LICENSE
|
||||
spark inner LICENSE
|
@ -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
|
||||
|
@ -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
|
||||
`
|
||||
`
|
@ -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 `如果不可信,可以通过配置文件,设置远程服务器访问本机的权限。
|
||||
或直接在前面命令后加上参数 <code>dev ""</code> 直接禁用远程服务。`
|
||||
或直接在前面命令后加上参数 <code>dev ""</code>,直接禁用远程服务。`
|
@ -34,4 +34,4 @@ order `
|
||||
bootstrap-icons
|
||||
html2canvas
|
||||
xterm
|
||||
`
|
||||
`
|
@ -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
|
@ -1,51 +1,56 @@
|
||||
title "网页交互"
|
||||
spark `Contexts 提供了网页接口,所有的软件工具,都可以通过网页来使用。`
|
||||
spark `在后续的所有文档中,也会使用到本机的 Contexts 服务 <a>http://localhost:9020</a> 来展示一些界面内容。
|
||||
为了提升文档的展现效果,建议先安装启动 Contexts 服务后,再查看后续文档。`
|
||||
|
||||
chapter "启动服务"
|
||||
spark `通过网页使用 Contexts 前,需要先启动 web 服务器。Contexts 自带了多种启动方式。`
|
||||
spark `为了更形象的解说软件界面,本文会引用本机 <a>http://localhost:9020</a> 提供的服务,来展示界面。
|
||||
所以建议先按本章节的说明,下载并启动 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,打开 <a>http://localhost:9020</a> 即可通过网页使用所有的软件工具。`
|
||||
spark `服务启动后,会在终端上,启动一个交互式的 shell,可执行任何命令。`
|
||||
spark `无论哪种方式启动,默认的服务端口都是 9020,打开 <a>http://localhost:9020</a> 即可通过网页使用所有的软件工具。`
|
||||
spark `服务启动后,会在终端上,启动一个交互式的 shell,Contexts 的所有软件工具,都可以在这个 shell 上,以命令的方式使用。`
|
||||
|
||||
chapter "登录认证"
|
||||
spark `如果是在容器或远程服务器上启动的服务,访问时都是需要登录认证的。
|
||||
或是本机启动的服务,但在其它设备上访问此服务,也是需要登录认证的。`
|
||||
或者是本机启动的服务,但在其它设备上访问此服务,也是需要登录认证的。`
|
||||
spark `前端网页在检测到没有登录,会展示一个登录页面。可扫码登录,也可以在后台执行命令进行授权登录。
|
||||
初始用户只能在后台用命令授权登录,复制二维码下面的授权命令,在后台服务启动的 shell 中执行一下,即可授权登录。`
|
||||
spark `Contexts 是一个工具系统,使用的场景是面向的个人或小团队使用,所以框架并没有提供用户注册的功能。
|
||||
如果需要多人登录本系统,已经登录的用户,可以通过 aaa.offser 命令发送邀请链接,被邀请人就可以获取登录权限。`
|
||||
|
||||
chapter "使用方式"
|
||||
spark `在 Contexts 中,所有的工具,既可以添加到导航栏里,通过结构化的导航组织起来,也可以通过搜索框被快速查找出来,还可以通过 URL 地址,直接在单独的网页中使用。`
|
||||
spark `为了更加方便的使用这些软件工具,Contexts 自带了一个后台管理系统。
|
||||
后台管理系统的界面从上到下,依次由菜单栏、导航栏、工作区、状态栏组成,另外搜索栏,会在需要时,悬浮在工作区之上。
|
||||
所有的软件工具,既可以添加到导航栏里,通过结构化的方式组织起来,也可以通过搜索框被快速查找出来,还可以通过 URL 地址,直接在单独的网页中使用。`
|
||||
|
||||
section "导航式"
|
||||
spark `Contexts 启动后,可直接访问 <a>http://localhost:9020/chat/portal/</a>,即可打开后台管理系统。
|
||||
spark `Contexts 启动后,可直接访问 <a>http://localhost:9020/chat/portal/</a>,打开后台管理系统。
|
||||
后台管理系统导航栏的内容,都是在 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 是 <a>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>。`
|
||||
spark demo plan
|
||||
spark `有些软件工具在注册时,会注册一个全局的短名,如 web.team.plan 是全名,plan 就是注册的短名,在使用时,两个完全等价,如在链接地址里
|
||||
spark `有些软件工具在注册时,会注册一个全局的短名,如 web.team.plan 是全名,plan 就是注册的短名,在使用时,两个完全等价,如链接地址
|
||||
<a>http://localhost:9020/chat/cmd/web.team.plan</a> 与 <a>http://localhost:9020/chat/cmd/plan</a> 是一样的。
|
||||
需要注意的是,并不是所有的工具在注册时,都会注册短名。只有那些比较基础、比较通用的工具,才需要注册短名。`
|
||||
|
||||
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 `直接双击单元格,即可编辑数据,点击回车即可保存更改。`
|
||||
|
@ -1,8 +1,7 @@
|
||||
title "应用桌面"
|
||||
spark `Contexts 是一个工具系统,内置了很多软件工具。这些工具可以像本机电脑桌面一样,用图标与窗口的界面,来使用所有的软件工具。
|
||||
web.chat.macos.desktop 命令就是 Contexts 的电脑桌面。`
|
||||
spark `<a>http://localhost:9020/chat/cmd/desktop</a>`
|
||||
field "" web.chat.macos.desktop style output
|
||||
spark demo web.chat.macos.desktop style output
|
||||
|
||||
chapter "桌面列表"
|
||||
spark `Contexts 支持多桌面,可以创建出任意多个桌面。在桌面的左上角,点击 + 号,就可以创建一个新桌面,每个桌面上可以打开不同的软件工具。
|
||||
|
5
src/document/started/using/draw.shy
Normal file
5
src/document/started/using/draw.shy
Normal file
@ -0,0 +1,5 @@
|
||||
title "思维导图"
|
||||
spark `作为一个功能完备的工具系统,画图工具当然也是必不可少的。web.wiki.draw 就是 Contexts 的画图工具。
|
||||
同样的,画图工具中的每个图形元素,都可以关联一个软件工具,这样就可以用任意的逻辑,将软件工具组织起来,比如做成流水线、电路图等。`
|
||||
spark `Contexts 所有软件工具,都可以像面向对象编程一样,被直接继承与扩展。其中趋势图与框架图,就是在这个画图工具的基础上,添加了一些自己的功能逻辑。`
|
||||
spark demo draw
|
22
src/document/started/using/favor.shy
Normal file
22
src/document/started/using/favor.shy
Normal file
@ -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 字段,即可直接切换视图到详情。`
|
@ -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 的文档不需要单独存放,直接和代码保存在一起,都在 <code>./src/</code> 目录下,
|
||||
官网的所有内容也是用 .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 `<a>http://localhost:9020/chat/cmd/word?path=src/document/started/using/note.shy</a>`
|
||||
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 的子命令,只需要在 <code>./src/template/web.wiki.spark/</code> 目录下添加同名的模板文件即可。`
|
||||
|
||||
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 `影音类的文件,存放在 <code>./usr/local/image/</code> 目录下。当然参数也可以是一个完整的 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
|
||||
|
@ -1,13 +1,21 @@
|
||||
title "任务计划"
|
||||
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 是 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 系统中其它所有工具,每一个工具都以自己的数据逻辑,将其它所有的工具、空间、设备,组织在一起。所以每个工具,都看成是一个操作系统。`
|
@ -1,16 +1,45 @@
|
||||
title "代码库"
|
||||
spark `Contexts 为了实现功能的完备,代码库和代码源当然是必不可少的功能。`
|
||||
spark `Contexts 在启动服务节点时,默认的就已经启动了 Git-Server 代码库服务。支持代码库的创建、上传、下载等功能。
|
||||
所以 Contexts 的所有代码,都是存放在 Contexts 启动的服务器上。
|
||||
`
|
||||
spark `<a>http://localhost:9020/chat/cmd/web.code.git.service</a>`
|
||||
title "代码库与代码源"
|
||||
spark `Contexts 为了实现功能的完备,代码库和代码源当然是必不可少的功能。其中代码库是指 Git-Client,代码源是指 Git-Server。`
|
||||
spark `Contexts 在服务节点启动时,默认的就已经启动了 Git-Server 的服务,支持代码源的创建、上传、下载等功能。
|
||||
所以 Contexts 的所有代码,都是存放在 Contexts 启动的服务器上。如前端框架 <a>https://shylinux.com/x/volcanos.git</a>,后端框架 <a>https://shylinux.com/x/icebergs.git</a>。`
|
||||
|
||||
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 `当服务节点启动后,就可以通过 <a>http://localhost:9020/x/demo</a> 来上传下载代码了,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 并保存到本地。`
|
16
src/document/started/using/site.shy
Normal file
16
src/document/started/using/site.shy
Normal file
@ -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 `标题栏的路由,会触发网页跳转。而导航栏的路由,只会刷新局部视图,并且添加了视图缓存。`
|
@ -1,33 +1,40 @@
|
||||
title "编辑器"
|
||||
spark `作为一个功能完备的工具系统,编辑器是必不少的工具。
|
||||
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
|
||||
如需其它语言,直接添加语法模块即可。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 就会根据这些信息实现跳转的功能。
|
||||
`
|
||||
|
@ -1,5 +1 @@
|
||||
<svg xmlns="https://www.w3.org/2000/svg" vertion="1.1" text-anchor="middle" count=16 pid=p10><g><rect height="50" width="170" x="90" y="30" rx="4" ry="4" pid="p1" class="p1" ship="[{"pid":"p3","which":1,"anchor":8},{"pid":"p16","which":1,"anchor":8}]" index="web.code.vimer" text="p9" args="usr/volcanos/,plugin/local/wiki/draw.js"></rect><text x="175" y="55" pid="p9" class="p9">vimer</text></g><g><rect height="50" width="230" x="480" y="240" rx="4" ry="4" pid="p2" class="p2" ship="[{"pid":"p3","which":2,"anchor":2}]" text="p6" index="web.wiki.word"></rect><text x="595" y="265" pid="p6" class="p6" style="
|
||||
/* color: red; */
|
||||
/* stroke: red; */
|
||||
/* fill: red; */
|
||||
">word</text></g><line x1="175" y1="80" x2="595" y2="240" ship="[{"pid":"p1"},{"pid":"p2"}]" pid="p3" class="p3"></line><g><rect height="50" width="130" x="130" y="210" rx="4" ry="4" pid="p4" class="p4" index="web.code.xterm" text="p8" args="bash" ship="[{"pid":"p16","which":2,"anchor":2}]"></rect><text x="195" y="235" pid="p8" class="p8">xterm</text></g><g class="sub" style="opacity: 1; display: block;" stroke="yellow" fill="green"><g><rect height="70" width="180" x="580" y="90" rx="4" ry="4" pid="p5" class="p5" text="p7" index="cli.runtime"></rect><text x="670" y="125" pid="p7" class="p7">runtime</text></g></g><g><rect height="50" width="190" x="870" y="180" rx="4" ry="4" pid="p10" class="p10" text="p11" index="web.code.git.trend" args="icebergs"></rect><text x="965" y="205" pid="p11" class="p11">trend</text></g><g><rect height="50" width="220" x="1190" y="130" rx="4" ry="4" pid="p12" class="p12" text="p13" index="cli.runtime" args="diskinfo"></rect><text x="1300" y="155" pid="p13" class="p13">diskinfo</text></g><g><rect height="50" width="210" x="1140" y="290" rx="4" ry="4" pid="p14" class="p14" text="p15" index="web.code.git.spide" args="icebergs"></rect><text x="1245" y="315" pid="p15" class="p15">spide</text></g><line x1="175" y1="80" x2="195" y2="210" ship="[{"pid":"p1"},{"pid":"p4"}]" pid="p16" class="p16"></line></svg>
|
||||
<svg xmlns="https://www.w3.org/2000/svg" vertion="1.1" text-anchor="middle" count=19 pid=p12><g><rect height="60" width="200" x="270" y="50" rx="4" ry="4" pid="p1" class="p1" text="p2" ship="[{"pid":"p13","which":1,"anchor":8},{"pid":"p15","which":1,"anchor":8}]"></rect><text x="370" y="80" pid="p2" class="p2">table.js</text></g><g><rect height="50" width="160" x="170" y="160" rx="4" ry="4" pid="p3" class="p3" text="p4" ship="[{"pid":"p13","which":2,"anchor":2},{"pid":"p14","which":1,"anchor":8}]"></rect><text x="250" y="185" pid="p4" class="p4">word.js</text></g><g><rect height="50" width="140" x="430" y="160" rx="4" ry="4" pid="p5" class="p5" text="p6" ship="[{"pid":"p15","which":2,"anchor":2},{"pid":"p16","which":1,"anchor":8},{"pid":"p17","which":1,"anchor":8}]"></rect><text x="500" y="185" pid="p6" class="p6">draw.js</text></g><g><rect height="60" width="170" x="70" y="270" rx="4" ry="4" pid="p7" class="p7" text="p8" ship="[{"pid":"p14","which":2,"anchor":2}]"></rect><text x="155" y="300" pid="p8" class="p8">portal.js</text></g><g><rect height="60" width="170" x="320" y="270" rx="4" ry="4" pid="p9" class="p9" text="p10" ship="[{"pid":"p16","which":2,"anchor":2}]"></rect><text x="405" y="300" pid="p10" class="p10">trend.js</text></g><g><rect height="50" width="160" x="580" y="270" rx="4" ry="4" pid="p11" class="p11" text="p12" ship="[{"pid":"p17","which":2,"anchor":2}]"></rect><text x="660" y="295" pid="p12" class="p12">spide.js</text></g><line x1="370" y1="110" x2="250" y2="160" ship="[{"pid":"p1"},{"pid":"p3"}]" pid="p13" class="p13"></line><line x1="250" y1="210" x2="155" y2="270" ship="[{"pid":"p3"},{"pid":"p7"}]" pid="p14" class="p14"></line><line x1="370" y1="110" x2="500" y2="160" ship="[{"pid":"p1"},{"pid":"p5"}]" pid="p15" class="p15"></line><line x1="500" y1="210" x2="405" y2="270" ship="[{"pid":"p5"},{"pid":"p9"}]" pid="p16" class="p16"></line><line x1="500" y1="210" x2="660" y2="270" ship="[{"pid":"p5"},{"pid":"p11"}]" pid="p17" class="p17"></line></svg>
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.5 KiB |
@ -1,2 +1,2 @@
|
||||
<input class="story" type="button" value='{{.Option "text"}}' {{.OptionTemplate}} data-meta={{.Option "meta"}}></input>
|
||||
<input {{.OptionTemplate}} type="button" value='{{.Option "text"}}' data-meta={{.Option "extra"}}></input>
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
<h2 {{.OptionTemplate}} data-meta={{.Option "meta"}}>{{.Option "text"}}</h2>
|
||||
<h2 {{.OptionTemplate}} data-meta={{.Option "extra"}}>{{.Option "text"}}</h2>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user