2 个版本 (1 个稳定版本)
1.0.0 | 2024 年 3 月 27 日 |
---|---|
0.0.1 | 2024 年 3 月 27 日 |
#809 在 命令行工具
310KB
2.5K SLoC
daikokucli
安装
可以使用以下 Cargo 命令从源代码安装和编译此项目
$ cargo install daikokucli
or
$ brew tap maif/daikokucli
$ brew install daikokucli
此外,还有在 CI 上构建的 预编译工件 可供下载。
可以使用以下命令确认安装
$ daikokucli version
可以使用以下命令探索子命令
$ daikokucli help
核心命令
Daikokucli 使用您的家目录中的 .daikoku
文件来存储项目列表。每个使用 CLI 创建的项目都应该包含一个 src
文件夹和一个 .daikoku/.environments
。此文件将包含
您可以从零开始创建一个新项目
daikokucli create --name=<PROJECT_NAME> --path=<PROJECT_PATH_OR_CURRENT_FOLDER>
然后添加一个默认的 Daikoku 环境
daikokucli environments add --name=<ENVIRONMENT_NAME> --server=<ENVIROMNENT_SERVER>
Daikoku 服务器必须是可访问的,配置保存前将进行检查
您可以从头开始开发并监视文件更改
daikokucli watch
常见的做法是利用 Daikoku CMS 中的指令来根据连接用户的权限访问私有实体。您可以通过从您的 Daikoku 个人资料页面粘贴令牌来配置用于通过认证用户访问您的 CMS 的令牌。
daikokucli login --token=<YOUR_TOKEN>
如果您有多个环境,您可以通过以下方式轻松地在它们之间切换
daikokucli watch --environment=<NAME_OF_YOUR_ENVIRONMENT>
或永久地通过更改默认项目或环境
daikokucli environments default --name=<NAME_OF_YOUR_ENVIRONMENT>
daikokucli projects default --name=<NAME_OF_YOUR_PROJECT>
您可以查看当前使用的项目和其他项目
daikokucli projects list
在任意时刻,您都可以跟踪现有的 CMS 文件夹或更新其信息
daikokucli projects add --name=<NAME_OF_YOUR_PROJECT> --path=<PATH_TO_YOUR_PROJECT> --overwrite=<true|false>
准备好后,您可以同步您的源代码与 Daikoku 环境
daikokucli sync
通过导入现有的项目来启动新项目
如果您已经在 Daikoku 上有一个遗留 CMS,您可以从导入它开始
daikokucli projects import --name=<NEW_NAME_OF_YOUR_PROJECT> \
--path=<PATH_TO_THE_NEW_PROJECT> \
--server=<DAIKOKU_SERVER_TO_PULL> \
--token=<AUTHENTICATION_TOKEN>
管理您的资产
您可以通过在您的 CMS 项目中创建一个 /assets
文件夹来直接管理您的图像、图表或任何类型的文件。
每个资产都使用以下命令保存在您的 Daikoku 的 S3 中
daikokucli assets add --filename=<ASSET_FILENAME> \
--path=<ONLY_NESTED_FOLDER_BEHIND_ASSETS_FOLDER> \
--desc=<ASSET_DESCRIPTION> \
--title=<ASSET_TITLE>
--slug=<ASSET_SLUG>
如果您需要为您的资产指定特定的 slug
,您可以选择通过指定 slug
字段来替换自动生成的 slug
。此外,您可以排除 path
字段,这在从 assets
目录内的子文件夹创建资产时是必要的。
要删除您的资产,您必须提供 filename
和 slug
(如果它们不同的话)
daikokucli assets remove --slug=<CUSTOM_SLUG> --filename=<ASSET_FILENAME>
与其他命令一样,您可以显示所有已注册的资产
daikokucli assets list
如果您希望使用单个命令同步所有资产,这比分别进行同步要快,尽管可配置性会降低。
daikokucli assets sync
授权的应用程序
在运行 daikoku login
命令之前,您必须通过添加 CLI 服务器来配置您的租户。默认情况下,服务器设置为 https://127.0.0.1:3334
,但您可以使用 WATCHING_PORT
环境变量来覆盖它。
daikokucli login
CMS 指令
daikoku-user
参数
:
- 字符串用户 ID
{{#daikoku-user "{{userId}}"}}
<div>
<span>{{user.name}}</span>
<img src="{{user.picture}}" />
</div>
{{/daikoku-user}}
daikoku-owned-apis
参数
- 可见性:可以是 Private | Public | All
{{#daikoku-owned-apis visibility="Private"}}
<span>Mon api : {{api.name}}</span>
{{/daikoku-owned-apis}}
daikoku-owned-api
参数
:
- 字符串 API ID
- API 版本可选,但未指定时默认为 1.0.0。
{{#daikoku-owned-api "{{apiId}}" version="1.0.0"}}
<span>Mon api : {{api.name}}</span>
{{/daikoku-owned-api}}
daikoku-json-owned-apis
参数
:
- 可见性:Private,Public 或 All
{{#daikoku-json-owned-apis visibility="Private"}}
{{/daikoku-json-owned-apis}}
daikoku-json-owned-api
参数
:
- API ID,期望字符串值
- API 版本可选,但未指定时默认为 1.0.0。
{{#daikoku-json-owned-api "{{apiId}}" version="1.0.0"}}
{{/daikoku-json-owned-api}}
daikoku-owned-teams
{{#daikoku-owned-teams}}
<span>Ma team : {{team.name}}
{{/daikoku-owned-teams}}
daikoku-owned-team
参数
:
- 团队 ID,期望字符串值"
{{#daikoku-owned-team "{{teamId}}"}}
<span>Mon team : {{team.name}}</span>
{{/daikoku-owned-team}}
daikoku-json-owned-teams
{{daikoku-json-owned-teams}}
daikoku-json-owned-team
参数
:
- 团队 ID,期望字符串值
{{#daikoku-json-owned-team "{{teamId}}"}}
{{/daikoku-json-owned-team}}
租户
{{tenant.name}} - {{tenant.style.description}}
is_admin
{{is_admin}}
已连接
{{connected}}
用户
当您从指令中返回用户时,您可以使用以下字段
名称
电子邮件
_id
_humandReadableId
图片
isDaikokuAdmin
starredApis
<div>
{{user.name}} - {{user.email}}
</div>
请求
<div>
{{request.path}} - {{request.method}} - {{request.headers}}
</div>
daikoku-css
<div>
{{daikoku-css}}
</div>
对于
参数
:
- 在辅助内容中使用的字段名称
{{#for '{{team.users}}' field='myuser' }}
{{myuser.userId}}
{{/for}}
大小
{{size '{{team.users}}'}}
ifeq
{{#ifeq "{{plan.type}}" "FreeWithoutQuotas"}}
You'll pay nothing and do whatever you want
{{/ifeq}}
ifnoteq
{{#ifnoteq "{{plan.type}}" "FreeWithoutQuotas"}}
You'll pay nothing and do whatever you want
{{/ifnoteq}}
getOrElse
{{getOrElse "{{plan.customName}}" "Un plan"}}
translate
{{translate 'Logout'}}
daikoku-path-param
参数
:
- 路径参数的位置
{{daikoku-path-param '0'}}
daikoku-query-param
参数
:
- 查询参数的名称
{{daikoku-query-param 'my-query-param'}}
daikoku-template-wrapper
参数
:
- 块路径
- 可用于内容的 key=value 列表
{{#daikoku-template-wrapper '<wrapper-id>' <named-parameter>="<value>" }}
{{/daikoku-template-wrapper}}"
daikoku-apis
{{#daikoku-apis}}
<span>Api : {{api.name}}</span>
{{/daikoku-apis}}
daikoku-api
参数
:
- API ID,期望字符串值
{{#daikoku-api "{{apiId}}" version="1.0.0"}}
<span>Mon api : {{api.name}}</span>
{{/daikoku-api}}"
daikoku-json-apis
{{daikoku-json-apis}}
daikoku-json-api
参数
:
- API ID,期望字符串值
{{#daikoku-json-api "{{apiId}}" version="1.0.0"}}
{{/daikoku-json-api}}
daikoku-teams
{{#daikoku-teams}}
<span>Team : {{team.name}}</span>
{{/daikoku-teams}}
daikoku-team
参数
:
- 团队 ID,期望字符串值
{{#daikoku-team "{{<teamId>}}"}}
<span>My team : {{team.name}}</span>
{{/daikoku-team}}
daikoku-json-teams
{{daikoku-json-teams}}
daikoku-json-team
参数
:
- 团队 ID,期望字符串值
{{#daikoku-json-team "{{<teamId>}}"}}
{{/daikoku-json-team}}
daikoku-documentations
参数
:
- API ID,期望字符串值
{{#daikoku-documentations "{{<apiId>}}"}}
<span>{{documentation.title}}</span>
{{/daikoku-documentations}}
daikoku-documentations-page
参数
:
- API ID,期望字符串值
- 页面 ID,作为字符串值
{{#daikoku-documentations-page "<apiId>" page="<pageId>"}}
{{documentation.content}}
{{/daikoku-documentations-page}}
daikoku-documentations-page-id
参数
:
- 团队 ID,期望字符串值
- 与预期页面 ID 对应的命名页面参数
{{#daikoku-documentations-page-id "<apiId>" page="<pageId>"}}
{{content}}
{{/daikoku-documentations-page-id}}"
daikoku-plans
参数
:
- API ID
{{#daikoku-plans "<apiId>"}}
<span>{{plan.type}}</span>
{{/daikoku-plans}}
许可证
本项目根据 Apache 2.0 许可证及 LLVM 例外条款授权。
贡献
除非您明确表示,否则您提交给本项目包含在内的任何贡献,如 Apache-2.0 许可证定义,均应按上述方式授权,不附加任何其他条款或条件。
依赖项
~19–33MB
~521K SLoC