• 继上一篇的简略的说明 EmWebAdmin 的地址以后下载,生成之后,这一篇讲一下该模板的生成流程

    // 上一篇地址:
http://www.cnblogs.com/chenfulin5/p/6856379.html
  • EmWebAdmin Makefile

      1 all:
2 @chmod +x templates/bin/emWebAdmin
3 @templates/bin/emWebAdmin generate
4
5 clean:
6 @chmod +x templates/bin/emWebAdmin
7 @templates/bin/emWebAdmin clean
  • EmWebAdmin templates/bin/emWebAdmin

    // 如果在顶层目录执行 make all
// 则执行 templates/bin/emWebAdmin generate
     10 contents=`ls custom/contents`
11 # 参数为生成
12 if [ $1 == 'generate' ]; then
13
14 # make output directory
15 if [ ! -d "output" ]; then
16 mkdir output 创建相应的目录
17 chmod 777 output
18 mkdir output/tpl
19 fi
21 # generate all php file
22 for content in $contents
# 以templates/gentelella/base.tpl 里面的内容为模板
# 替换里面的 ***** 内容为 custom/contents 文件夹内文件的名字
# 并重定向到 output 内,名字改为custonm/contents 文件夹内文件的名字,后缀改为 .php ,原为 .tpl
23 do
24 sed "s/\*\*\*\*\*\*\*\*/$content/g" templates/gentelella/base.tpl > output/`basename $content .tpl`.php
25 echo "generate `basename $content .tpl`.php over."
26
27 done
28
# 将 custom/common/ 里面的内容复制到 output 内
# 这里面主要包括 json配置文件目录,PHP接写json配置文件,并保存在Smarty变量中
# 自定义的 css 样式以及js 样式,登录界面以及登录处理
29 # copy custom/common .php file to output directory.
30 if [ -d "custom/common" ]; then
31 cp custom/common/* output/ -rf
32 fi
33
# 将 custom/contents 里面的模板文件拷贝到 output/tpl 用于最后生成相对应文件
34 # copy contents .php file to output/tpl directory.
35 if [ -d "custom/contents" ]; then
36 cp custom/contents/* output/tpl/ -rf
37 fi
38
# 将依赖库复制过去
39 # copy all dependents file(js, css, smarty lib) to output directory.
40 if [ -d "templates/dependents" ]; then
41 cp templates/dependents/* output/ -rf
42 fi
43
# 将另外一些模板文件复制过去
44 # copy theme templates to output/tpl directory.
45 if [ -d "templates/gentelella" ]; then
46 cp templates/gentelella/* output/tpl/ -rf
47 fi
48
# 这里面会复制一个很重要的 json 文件,在 templates/smarty/config 内
# 这个文件配置了想对应的调用文件以及你侧边栏会有相对应的菜单
49 # copy smarty template config, preprocess file to output/tpl directory.
50 if [ -d "templates/smarty" ]; then
51 cp templates/smarty/preprocess/* output/tpl/ -rf
52 cp templates/smarty/config output/ -rf
53 fi
54
55 exit 0
56 fi

EmWebAdmin 生成流程分析的更多相关文章

  1. CobaltStrike逆向学习系列(2):Stageless Beacon 生成流程分析

    这是[信安成长计划]的第 2 篇文章 关注微信公众号 [信安成长计划] 0x00 目录 0x01 Patch Beacon 0x02 Patch Loader 0x03 文件对比 0x04 流程图 C ...

  2. u-boot 流程分析

    u-boot 介绍: 对于计算机来说 , 从一开始上机通电是无法直接启动操作系统的 , 这中间需要一个引导过程 , 嵌入式Linux系统同样离不开引导程序 ,  这个启动程序就叫启动加载程序(Boot ...

  3. Android7.0 Phone应用源码分析(二) phone来电流程分析

    接上篇博文:Android7.0 Phone应用源码分析(一) phone拨号流程分析 今天我们再来分析下Android7.0 的phone的来电流程 1.1TelephonyFramework 当有 ...

  4. ofbiz进击 。 ofbiz 退货流程(包含获取可退货项流程分析 以及 取消退货项的过程分析)

    根据订单获取可退货项流程分析 退货的时候,调用 services_return.xml 中的获取可进行退货的退货项  getReturnableItems  ,该服务调用了Java类 org.ofbi ...

  5. Android7.0 Phone应用源码分析(一) phone拨号流程分析

    1.1 dialer拨号 拨号盘点击拨号DialpadFragment的onClick方法会被调用 public void onClick(View view) { int resId = view. ...

  6. HDFS2.x之RPC流程分析

    HDFS2.x之RPC流程分析 1 概述 Hadoop提供了一个统一的RPC机制来处理client-namenode, namenode-dataname,client-dataname之间的通信.R ...

  7. spark 启动job的流程分析

    从WordCount開始分析 编写一个样例程序 编写一个从HDFS中读取并计算wordcount的样例程序: packageorg.apache.spark.examples importorg.ap ...

  8. 【转】linux文件系统之mount流程分析

    本质上,Ext3 mount的过程实际上是inode被替代的过程. 例如,/dev/sdb块设备被mount到/mnt/alan目录.命令:mount -t ext3 /dev/sdb /mnt/al ...

  9. 前端JS模版库kino.razor - 原理流程分析 - 改进版轮子RazorJs

    1.前言 从后台获取数据,在前端JS里面拼接字符串,不累吗?敢不敢找一款前端使使... 现在这种模板库比较多了,我用过的jquery-template .JsRender .听说过的一堆,还有各种MV ...

随机推荐

  1. C++primer习题--第4章

    本文地址:http://www.cnblogs.com/archimedes/p/cpp-primer-chapter4-ans.html,转载请注明源地址. [习题 4.7] 编写必要的代码将一个数 ...

  2. Java import javax.servlet 出错

    Error: The import javax.servlet cannot be resolved The import javax.servlet.http.HttpServletRequest ...

  3. sh: 1: node: Permission denied

    ionic app 开发的时候,https://dashboard.ionicframework.com/welcome ionic start myApp tabs 报错了https://www.j ...

  4. Oracle PL/SQL语句基础学习笔记(上)

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE server和其它工具中了,近几年中很多其它的开发者和DBA開始使用PL/SQL,本文将讲述PL ...

  5. 【性能测试】Linux性能监控命令——sar详解

    转载:https://blog.csdn.net/mig_davidli/article/details/52149993 sar命令可以从文件的读写情况.系统调用的使用情况.磁盘I/O.CPU效率. ...

  6. T-SQL 之 运行时生成语句

    一.用EXECUTE执行动态命令 EXECUTE命令可以执行存储过程.函数和动态的字符串命令.注意此语句的作用正如前面在介绍批处理时,如果批中的第一条语句是"EXECUTE Proc_nam ...

  7. TWaver版3D化学元素周期表

    非常早就有人做3D网页版的化学元素周期表了.酷炫效果和新奇技巧一度被众多粉丝奉为神明,争相研究和效仿.甚至有人放弃一切扑向这颗蜡烛.不由总是想到那个OPPO广告女主角拽拽的歧视道:"辞职去旅 ...

  8. 03-maven学习-eclipse中创建maven项目

    一,更改eclipse默认的maven配置 window->preference 选择本地maven目录 一直确定后 二,更改maven默认settings window->prefere ...

  9. Linux系统中的信号量(semphore)与互斥体(mutex)

    http://www.embexperts.com/viewthread.php?tid=31 两者最大区别:信号量可以允许多个线程进入临界区,而互斥体只允许一个线程进入临界区.本贴将描述信号量与互斥 ...

  10. js 按enter键提交信息

    http://codeigniter.org.cn/forums/thread-10868-1-1.html function keydown(e) {     var currKey=0,e=e|| ...