流程自动化RPA,Power Automate Desktop系列 - 构建VuePress文档中心脚手架
一、背景
笔者曾基于VuePress搭建过一个文档中心,但是在实现在线管理功能之前,很多时候,新建文档需要手动处理很多数据,看有没有可能实现一个脚手架来处理这些问题,所谓脚手架,就是进行文档初始化的一些手工活。

二、创建流任务
创建名为VuePress文档中心脚手架的流任务。
三、添加主流程
因为考虑到脚手架要处理不同类型的任务,我们最好把不同任务拆解成子流程,在主流程里面通过选择来调度子流程,大概的思路是这样。
3.1 设置文档中心目录位置SettingProjectDir
1. 显示选择文件夹对话框,弹窗交互选择当前文档中心所在的文件夹,我们用名为CurrentProjectDir变量来存储它,如果是常用位置,我们还可以设置默认值。

3.2 设置VuePress文档中心约定结构SettingProjectStruct
1. 获取文件夹中子文件夹,从CurrentProjectDir文件夹中获取其子文件夹,并且筛选出多语言特征的,结果存储在变量ProjectLanguageDirs中。
*-*

2. 创建新列表,列表变量为Languages

3. For-Each,遍历ProjectLanguageDirs数据,每项的变量为ProjectLanguageDir
%ProjectLanguageDirs%

4. 拆分文本,通过自定义分隔符\来拆分ProjectLanguageDir,结果存到变量SplitLanguageDirs
\

5. 设置变量,变量名为LanguageDir,提取SplitLanguageDirs的最后一项就可以了。
%SplitLanguageDirs[SplitLanguageDirs.Count - 1]%

6. 将项添加到列表,将LanguageDir结果添加到列表变量Languages中。
%LanguageDir%
%Languages%

7. 显示从列表中选择对话框,对话框标题为选择文档中心语言目录,选择数据来源为Languages结果集合,选择后的变量名CurrentLanguage,用来存储文档中心的当前的语言路径。
%Languages%

8. 设置变量,变量名CurrentLanguageDir来拼装选择后的多语言目录。
%CurrentProjectDir%\%CurrentLanguage%

9. 获取文件夹中子文件夹,从CurrentLanguageDir文件夹中获取其子文件夹,结果存储在变量ProjectCategoryDirs中,得到所有的分类文件夹。
*

10. 创建新列表,列表变量为Categorys

11. For-Each,遍历ProjectCategoryDirs数据,每项的变量为ProjectCategoryDir
%ProjectCategoryDirs%

12. 拆分文本,通过自定义分隔符\来拆分ProjectCategoryDir,结果存到变量SplitCategoryDirs
%ProjectCategoryDir%

13. 设置变量,变量名为CategoryDir,提取SplitCategoryDirs的最后一项就可以了。
%SplitCategoryDirs[SplitCategoryDirs.Count - 1]%

14. 将项添加到列表,将CategoryDir结果添加到列表变量Categorys中。
%CategoryDir%
Categorys

15. 显示从列表中选择对话框,对话框标题为选择文档中心分类目录,选择数据来源为Categorys结果集合,选择后的变量名CurrentCategory,用来存储文档中心的当前的分类路径。
%Categorys%

16. 设置变量,变量名CurrentCategoryDir来拼装选择后的分类目录。
%CurrentProjectDir%\%CurrentLanguage%\%CurrentCategory%

17. 获取文件夹中子文件夹,从CurrentCategoryDir文件夹中获取其子文件夹,结果存储在变量ProjectSolutionDirs中,得到所有的方案文件夹。
*

18. 创建新列表,列表变量为Solutions

19. For-Each,遍历ProjectSolutionDirs数据,每项的变量为ProjectSolutionDir

20. 拆分文本,通过自定义分隔符\来拆分ProjectSolutionDir,结果存到变量SplitSolutionDirs

21. 设置变量,变量名为SolutionDir,提取SplitSolutionDirs的最后一项就可以了。
%SplitSolutionDirs[SplitSolutionDirs.Count - 1]%

22. 将项添加到列表,将SolutionDir结果添加到列表变量Solutions中。

23. 显示从列表中选择对话框,对话框标题为选择文档中心方案目录,选择数据来源为Solutions结果集合,选择后的变量名CurrentSolution,用来存储文档中心的当前的方案路径。
%Solutions%

24. 设置变量,变量名CurrentSolutionDir来拼装选择后的分类目录。
%CurrentProjectDir%\%CurrentLanguage%\%CurrentCategory%\%CurrentSolution%

流程自动化RPA,Power Automate Desktop系列 - 构建VuePress文档中心脚手架的更多相关文章
- 流程自动化RPA,Power Automate Desktop系列 - 不讲武德的Windows10内置应用
简介 Power Automate Desktop 扩展Power Automate中的现有机器人流程自动化(RPA)功能,并使您能够自动化所有重复的桌面流程. 使用预生成的拖放操作或记录您自己的桌面 ...
- 流程自动化RPA,Power Automate Desktop系列 - 创建WPF程序安装包及升级包
一.背景 之前写过的几个WPF小工具,每次发布都需要给它打安装包和升级包,涉及到一些系列繁琐的手工操作,有了Power Automate Desktop,于是便寻思着能不能做成一个自动化的流来使用. ...
- 流程自动化RPA,Power Automate Desktop系列 - DotNet Core打包并发布Nuget Package
一.背景 DotNet Core通常基于Nuget来实现包管理,如果你想要把自己的实现共享给其他人,通常我们需要把本地项目打包好,然后发布到对应的Nuget Server上,以便于其他人可以查找.安装 ...
- 流程自动化RPA,Power Automate Desktop系列 - 批量备份Git仓库做好灾备
一.背景 打个比如,你在Github上的代码库需要批量的定时备案到本地的Gitlab上,以便Github不能访问时,可以继续编写,这时候我们可以基于Power Automate Desktop来实现一 ...
- 流程自动化RPA,Power Automate Desktop系列 - 发布文档中心
一.背景 内网中有一个基于VuePress搭建的静态文档中心,但是每次修改后都需要重新Build一次才行,之前都是手动执行命令,现在可以基于Power Automate Desktop来创建任务了. ...
- Spring Boot中使用Swagger2构建API文档
程序员都很希望别人能写技术文档,自己却很不愿意写文档.因为接口数量繁多,并且充满业务细节,写文档需要花大量的时间去处理格式排版,代码修改后还需要同步修改文档,经常因为项目时间紧等原因导致文档滞后于代码 ...
- springboot+mybatis-puls利用swagger构建api文档
项目开发常采用前后端分离的方式.前后端通过API进行交互,在Swagger UI中,前后端人员能够直观预览并且测试API,方便前后端人员同步开发. 在SpringBoot中集成swagger,步骤如下 ...
- 基于 Python 官方 GitHub 构建 Python 文档
最近在学 Python,所以总是在看 Python 的官方文档, https://docs.python.org/2/ 因为祖传基因的影响,我总是喜欢把这些文档保存到本地,不过 Python 的文档实 ...
- springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务
springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...
随机推荐
- 手写Promise中then方法返回的结果或者规律
1. Promise中then()方法返回来的结果或者规律 我们知道 promise 的 then 方法返回来的结果值[result]是由: 它指定的回调函数的结果决定的 2.比如说下面这一段代码 l ...
- [Java] 分布式消息队列(MQ)
概述 场景 服务解耦 削峰填谷 异步化缓冲:最终一致性/柔性事务 MQ应用思考点 生产端可靠性投递 消费端幂等:消息只能消费一次 高可用.低延迟.可靠性 消息堆积能力 可扩展性 业界主流MQ Acti ...
- 【BIGDATA】ElasticSearch HEAD插件的GET请求的坑
今使用HEAD插件,发现复杂查询功能下,使用GET请求有坑. 查询语句如下: GET kk/_search { "query": { "match": { &q ...
- Linux权限问题(1)-Sticky
背景:朋友在使用php进行mv操作时,出现了权限被拒绝的问题.查看之后,发现目录设置了sticky权限,取消此权限后,文件可以正常mv及删除. Sticky:对于一个多人可写的目录,如果设置了stic ...
- Linux 部署 iSCSI 客户端配置(Linux)
Linux 部署 iSCSI 客户端配置(Linux) 客户端环境 Client :RHEL8 IP : 192.168.121.11 一.测试与服务端的连通性 [root@Client-linux ...
- 问题解决: PythonStudy 环境搭建
环境搭建的时候遇到问题 参见帖子: http://www.xitongcheng.com/jiaocheng/dnrj_article_24923.html 虚拟机运行的时候会遇到 最近有用户发现在电 ...
- redis 和 mysql 的主从复制
1. mysql主从复制 (1) 为什么要做主从复制? 1.在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写 ...
- ThinkPHP无限级分类(递归)
代码演示 没什么可说的直接看代码 <?php namespace app\controller; class Category { //模拟假数据 protected static functi ...
- 浅析IOC 和 DI
学习过spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- python 获取时间范围内日期列表
python 获取时间范围内日期列表 import datetime def dateRange(beginDate, endDate): dates = [] dt = datetime.datet ...