一、背景

笔者曾基于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文档中心脚手架的更多相关文章

  1. 流程自动化RPA,Power Automate Desktop系列 - 不讲武德的Windows10内置应用

    简介 Power Automate Desktop 扩展Power Automate中的现有机器人流程自动化(RPA)功能,并使您能够自动化所有重复的桌面流程. 使用预生成的拖放操作或记录您自己的桌面 ...

  2. 流程自动化RPA,Power Automate Desktop系列 - 创建WPF程序安装包及升级包

    一.背景 之前写过的几个WPF小工具,每次发布都需要给它打安装包和升级包,涉及到一些系列繁琐的手工操作,有了Power Automate Desktop,于是便寻思着能不能做成一个自动化的流来使用. ...

  3. 流程自动化RPA,Power Automate Desktop系列 - DotNet Core打包并发布Nuget Package

    一.背景 DotNet Core通常基于Nuget来实现包管理,如果你想要把自己的实现共享给其他人,通常我们需要把本地项目打包好,然后发布到对应的Nuget Server上,以便于其他人可以查找.安装 ...

  4. 流程自动化RPA,Power Automate Desktop系列 - 批量备份Git仓库做好灾备

    一.背景 打个比如,你在Github上的代码库需要批量的定时备案到本地的Gitlab上,以便Github不能访问时,可以继续编写,这时候我们可以基于Power Automate Desktop来实现一 ...

  5. 流程自动化RPA,Power Automate Desktop系列 - 发布文档中心

    一.背景 内网中有一个基于VuePress搭建的静态文档中心,但是每次修改后都需要重新Build一次才行,之前都是手动执行命令,现在可以基于Power Automate Desktop来创建任务了. ...

  6. Spring Boot中使用Swagger2构建API文档

    程序员都很希望别人能写技术文档,自己却很不愿意写文档.因为接口数量繁多,并且充满业务细节,写文档需要花大量的时间去处理格式排版,代码修改后还需要同步修改文档,经常因为项目时间紧等原因导致文档滞后于代码 ...

  7. springboot+mybatis-puls利用swagger构建api文档

    项目开发常采用前后端分离的方式.前后端通过API进行交互,在Swagger UI中,前后端人员能够直观预览并且测试API,方便前后端人员同步开发. 在SpringBoot中集成swagger,步骤如下 ...

  8. 基于 Python 官方 GitHub 构建 Python 文档

    最近在学 Python,所以总是在看 Python 的官方文档, https://docs.python.org/2/ 因为祖传基因的影响,我总是喜欢把这些文档保存到本地,不过 Python 的文档实 ...

  9. springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务

    springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...

随机推荐

  1. C#·JSON的处理和解析

    阅文时长 | 0.34分钟 字数统计 | 309.6字符 主要内容 | 1.引言&背景 2.声明与参考资料 『C#·JSON的处理和解析』 编写人 | SCscHero 编写时间 | 2021 ...

  2. [笔记] 《c++ primer》书店程序 Chapter7

    Sales_data.h 1 #ifndef SALES_DATA_H 2 #define SALES_DATA_H 3 4 #include "Version_test.h" 5 ...

  3. 【转载】windows linux cent 7 制作U盘 启动盘

    1 镜像iso文件存放在linux环境下用dd if=/dev/sdb of=/镜像存放路径/镜像iso文件 bs=1M u盘的盘符是/dev/sdb 2 镜像iso文件存放在windows环境下ul ...

  4. 创建用户(adduser和useradd)和删除用户(userdel)

    创建用户(adduser和useradd)和删除用户(userdel)及   一  用户创建命令: # adduser  用户名 # useradd  用户名 1) useradd 与 adduser ...

  5. dmesg -w 查看硬件参数

    dmesg -w 查看硬件参数 14,笔记本硬件问题,使用dmesg -w可以看到,内核不断受到硬件过来的热插拔信号

  6. 更换介质:请把标有Debian ... 的盘片插入驱动器

    Debian安装软件报错如下: 更换介质:请把标有 "Debian GNU/Linux 10.8.0 _Buster_ - Official amd64 DVD Binary-1 20210 ...

  7. 016.Python闭包函数以及locals和globals

    一 闭包函数 内函数使用了外函数的局部变量,并且外函数把内函数返回出来的过程叫做闭包,这个内函数叫做闭包函数 1.1 闭包函数语法 def outer(): a = 5 def inner(): pr ...

  8. ELK学习实验019:ELK使用redis缓存

    1 安装一个redis服务 [root@node4 ~]# yum -y install redis 直接启动 [root@node4 ~]# systemctl restart redis [roo ...

  9. IT菜鸟之VTP应用项目

    项目拓扑 项目要求 PC0和PC2能通信,PC1和PC3能通信,其余不能通信. 项目分析 可以通过vlan来实现相同网段不能通信:而相同vlan可以通信,不同vlan不能通信:同时需要用到trunk封 ...

  10. linux进阶之计划任务及压缩归档

    本节内容 1. at一次性计划任务(atd) at 时间点 command ctrl+d:保存 -l:查看计划任务 atrm:删除计划任务 atq:查看计划任务 2. crontab周期性计划任务(c ...