first commit

This commit is contained in:
编码猿
2024-09-27 00:52:52 +08:00
commit d5a61090de
72 changed files with 11656 additions and 0 deletions

0
Template/docs/.nojekyll Executable file
View File

1
Template/docs/.pydio Normal file
View File

@@ -0,0 +1 @@
6a94895c-3a6d-4067-b249-c52d03b04bce

49
Template/docs/README.md Executable file
View File

@@ -0,0 +1,49 @@
# WHtml
> 一款让你用更加丝滑的方式来编写传统前端HTML页面
- 1: 文档地址:[Whtml](https://helpcode.github.io/Whtml/#/)
- 2: 创想工作室QQ群[399041912](http://shang.qq.com/wpa/qunwpa?idkey=6311ead3dd326b975b76cb90590535973515776cf83d0854c0dc7b4a5c9cebfb)
# 介绍
---
当你在编写传统HTML页面的时候是否曾经遇到过静态页面众多导致htmlcssja代码过度冗余将大部分时间花在不断的ctrl+cctrl+v上是否想过能将传统静态页面的公共部分例如头部和底部分离出来不需要每次的复制粘贴是否想过css代码频繁重复为何不能像写JavaScript那样封装成函数直接调用。
是否想过省去每次写css3时需要手动去加浏览器前缀的烦恼等是否不想让自己辛勤编码的成果被别人轻而易举的获取到。是否抱怨过美工给的素材太大等。。。
为何我们不能换种方式来进行更加优雅自动化的编码,我们只关心核心页面的编写,其他一切交给程序帮助我们自动化实现?
## 特性
`WHtml`能够让你获得以下更加爽快的体验:
---
- 1: 将静态页面组件化模块化,降低重复代码的重复编写。
- 2: 基于Node.js + Gulp 自动化构建项目,让前端的你无缝对接
- 3: 采用jade + stylus用更加简洁高效的方式去书写html和css
- 4: 自动压缩合并编译htmlcssJavaScript使的项目具备更加优秀的响应速度
- 5: 更加自由的框架配置和详细的中文代码注释,一键轻松配置源码实现定制化
- 6: 简洁明了的ES6+语法,代码赏心悦目,提升编码乐趣。
- 7: 程序实时编译同步你的每一行修改,删除,重命名,新建为你自动构建输出到 dist/代码写完程序自动zip压缩打包你需要做的是将zip发给你的后端即可。
- 9: ....等
更多的功能期待你的切身尝试!
## 捐赠
---
如果你觉得 `WHtml` 对你有帮助,或者想对我微小的工作一点资瓷,欢迎给我提建议。

12
Template/docs/_coverpage.md Executable file
View File

@@ -0,0 +1,12 @@
![logo](_media/img/gen.svg)
# WHtml <small>v1.1.0</small>
> 一款自动化模块化的HTML页面编写框架
* 轻量小巧,编译丝滑
* 免费开源
* 适用强,高度订制
[GitHub](https://github.com/QingWei-Li/docsify/)
[开始](#WHtml)

View File

@@ -0,0 +1 @@
e1a88b3c-ca75-40a9-aebd-d20d2e27f4ee

View File

@@ -0,0 +1 @@
61a5299c-304d-450b-88b2-bfc0b2d2b584

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

343
Template/docs/_media/img/gen.svg Executable file
View File

@@ -0,0 +1,343 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="259px" height="211px" viewBox="0 0 259 211" enable-background="new 0 0 259 211" xml:space="preserve"> <image id="image0" width="259" height="211" x="0" y="0"
xlink:href="data:image/png;base64,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
4A+sAAAAAElFTkSuQmCC" />
</svg>

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

14
Template/docs/_sidebar.md Executable file
View File

@@ -0,0 +1,14 @@
* 基础
* [开始](install.md)
* [安装](becareful.md)
* 架构设计
* [使用](use.md)
* [源码](code.md)
* 关于
* [关于<sup style="color:red">(赞)<sup>](team.md)

73
Template/docs/becareful.md Executable file
View File

@@ -0,0 +1,73 @@
## 环境准备
---
### windows
首先安装最基本的Node.js环境先去官网下载最新版的nodejs记住根据你的操作系统和位数选择下载。
> 官网地址: [http://nodejs.cn/download/](http://nodejs.cn/download/)
虽然在Windows上安装很简单但是为了避免错误具体的安装过程参考这篇教程
[Node.js 安装配置 http://nodejs.cn/download/](http://nodejs.cn/download/)
!> 注意安装nodejs的路径杜绝使用中文记住杜绝包含中文的路径
### Linux
Linux下安装比Windows稍微麻烦一点点这边安装方式很多。不推荐用`apt-get install xxx` 来安装,因为版本老旧。也不推荐下载文件然后改配置,个人感觉不好(你也可以选择这种方法)。
我这边推荐使用的方法是:**编译源码安装**
具体操作看这篇教程,不再累述:
> [Linux安装Node.js源码编译安装](https://www.yiibai.com/html/node_js/2013/0826201.html)
## 部署代码
---
上面的步骤很简单没有什么可说的,假设你已经完美安装成功,那么我们开始愉快的部署代码吧。
**1: 解决依赖**
---
命令提示符界面输入命令
> npm install
如果npm下载速度十分缓慢请更换npm为cnpm具体操作百度太简单懒得详细说
成功更换为cnpm后名称变为下面
> cnpm install
OK到这一步基本上我们的框架就可以被成功的运行起来来。
## 运行代码
---
查看`package.json`文件中`scripts`字段,你可以通过命令:
> npm run all
来运行框架。
## 运行帮助文档
---
**如果你想查看网站的帮助文档,那么很简单,运行下面的命令即可:**
> npm run doc
## 自动提交
---
> npm run push

175
Template/docs/code.md Executable file
View File

@@ -0,0 +1,175 @@
## 源码分析 - package.json
---
上面说过了,我们可以通过`npm run all`命令来运行框架。那么我们这边先从`package.json`开始分析,看看这行命令背后到底发生了哪些事情。
打开`package.json`你将看到下面这些代码:
```bash
"scripts": {
"all": "node_modules/.bin/concurrently \" node_modules/.bin/node-dev app.js \" \"node_modules/.bin/gulp \" ",
"doc": "node_modules/.bin/docsify serve ./docs"
}
```
1all 通过nodejs的 `concurrently` 模块来并发执行两条命令,其中`node-dev app.js`是用来启动`express`框架运行我们编译后产生的静态文件`dist/`。而`gulp`命令执行的是`gulpfile.js`中的默认任务`default`
2doc :通过 `docsify` 来运行我们网站的帮助文档,这里没有什么好说的。
---
我们框架的关键逻辑在`all`命令背后,通过上面知道`all`命令运行后会并发执行`node-dev app.js`,我们打开项目根目录下的`app.js`探究一下:
```js
// express 框架部分
const express = require('express')
const app = express()
// 站点配置
const config = require('./config')
// 工具函数OpenBrowser 自动打开浏览器
const { OpenBrowser } = require('./utils')
// 核心,需要被 express 托管的静态资源文件路径,提供给前端访问静态页面
app.use(express.static('./dist'))
// 监听 1314 端口,运行网站
app.listen(config.nodeService.port, () => OpenBrowser() );
```
这部分源码注释很详细也很简单,没什么可说的吧,一看就懂。
我们的核心应该在`gulp`命令背后,打开`gulpfile.js`文件,你将看到以下源码:
```js
const gulp = require('gulp')
// 编译jade文件为hrml
const jade = require('gulp-jade')
// 编译stylus文件为css
const stylus = require('gulp-stylus')
// 自动为css3属性加前缀
const autoprefixer = require('gulp-autoprefixer')
// 合并jscss文件
const concat = require('gulp-concat')
// 压缩css
const cssmin = require('gulp-clean-css')
// gulp 文件监听
const watchPath = require('gulp-watch-path')
// zip压缩
const zip = require('gulp-zip')
// 压缩js文件
const uglify = require('gulp-uglify')
// 处理gulp错误防止程序报错终止
const plumber = require('gulp-plumber')
// 引入gulp的配置文件
const config = require('./config/index.js')
// 引入全局公共方法
const { RemoveFile } = require('./utils')
/**
* 编译jade为html
*/
gulp.task('jade', function() {
return gulp.src(config.jade.jadeTohtml)
.pipe(plumber({ errHandler: e => {
gutil.beep()
gutil.log(e)
}}))
.pipe(jade({
pretty: true
}))
.pipe(gulp.dest(config.jade.jadeTodist))
})
...
/**
* 监听用户在 src/ 的所有文件操作
*/
gulp.task('file', function() {
gulp.watch(config.watch.watchFile, function(event) {
let paths = watchPath(event,'src/', 'Template/src/')
switch (event.type){
case 'deleted':
console.log('删除操作...')
RemoveFile(paths.srcFilename)
break
default:
console.log('其他操作...')
gulp.run('publicstyl','copyfont','pagestyl','jade','copyjs','copyimg','Online')
break
}
})
})
/**
* 默认先运行一次 编译过程
*/
gulp.run('publicstyl','copyfont','pagestyl','jade','copyjs','copyimg','Online')
/**
* 执行file任务当文件被操作后进行相关的编译过程
*/
gulp.task('default',['file'])
```
这边通过`gulp.watch`实现对`src/`文件夹进行监听,当用户修改被监听的`src/`文件夹里的文件后使用`gulp-watch-path`模块获得被修改文件的路径,然后判断`event.type`的操作类型,根据操作类型来进行对应的操作。
1如果是在`src/`文件夹中的删除操作,那么调用`utils/index.js`里的方法`RemoveFile()`同步去删除对应被编译后的文件。
2如果是其他操作例如修改添加等直接将进行重新编译输出到`dist/`中,保持在`src`中的修改被同步到`dist/`中。这一步就是我们最核心的页面逻辑了。其实也没什么,你会发现还是很简单的。
## 源码分析 - src/
---
`src`文件夹中是前端工程师真正需要关心的源码部分。
- 1 `assets`是静态资源的存放。
- 2 `view`是页面的存放。
- 3 `main/`文件夹中存放主要的页面,
- 4 `public/`存放公共的页面组件,而`layout.jade`是页面的核心入口
## 源码分析 - 配置/
---
你可以在网站的`config/index.js`文件来修改基本配置做到设置端口打开url地址是否自动打开浏览器等具体配置信息如下
```js
module.exports = {
"jade":{
// jade -> html 需要监听转换的jade文件路径
"jadeTohtml": "./src/view/main/*.jade",
// html 输出的路径
"jadeTodist": "./dist/"
},
"styl":{
// 将 public/ 公共的 styl 文件直接编译在 dist/ 中生成对应的
"stylTocssPublic": "./src/assets/css/public/*.styl",
// 将 page/ 中 styl 编译合并
"stylTocssPage": "./src/assets/css/layout.styl",
// styl 转换完成后,需要将多个文件合并成一个的文件名
"stylToFileName":"main.css",
// css 输出的路径
"stylTodist":"./dist/css/"
},
"watch":{
// gulp 需要监听的文件路径当我们在src修改源码时gulp会动态编译输出到dist
"watchFile":"src/**/*"
},
"nodeService": {
// 访问ip
"host":"http://127.0.0.1:",
// 访问端口
"port": 1314,
// 提示信息
"log":"项目运行在:",
// 是否开始自动打开浏览器功能取值truefalse
"isOpenBrowser": false
}
}
```

26
Template/docs/index.html Executable file
View File

@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>WHtml</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="Description">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css">
<link rel="shortcut icon" href="_media/img/favicon.ico" />
<link rel="bookmark" href="_media/img/favicon.ico" type="image/x-icon" />
</head>
<body>
<div id="app">Loading</div>
<script>
window.$docsify = {
coverpage: true,
name: 'WHtml',
repo: '',
loadSidebar: true,
subMaxLevel: 2,
}
</script>
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
</body>
</html>

26
Template/docs/install.md Executable file
View File

@@ -0,0 +1,26 @@
## 说明
---
拿到框源码后并不是直接双击HTML通过浏览器来运行这边需要你根据我的文档说明做好基本的环境配置然后来运行我们的框架。
请按照我制定的规范来编写前端HTML代码其他只需要交由框架来帮你搞定一切或许你不适应这种代码的编写方式甚至没听过所谓的html模板引擎css预处理器gulp自动化工具。
但你需要习惯这种开发方式,大的团队普遍适用的技术套路你真的有必要去学习,不要抱怨,逼着自己埋头苦练技术提升自己的能力才是最根本。
## 技术架构
---
- 1: 基于Node.js开发
- 2: gulp作为自动化构建工具
- 3: HTML模板引擎采用jade
- 4: stylus作为项目css的预编译器
- 5: 使用express的来托管gulp编译后的dist/静态文件夹启动nodejs服务器来访问静态网站查看效果。
- 6: concurrently 实现命令的多条并发执行
- 7: cli-color 实现终端命令行输出彩色信息
- 8: 采用 node-dev 当我们修改js文件后自动重启node进程
- 9: open模块实现自动为你打开浏览器并运行我们的网站
- 10 autoprefixer帮你自动解决css3特性的浏览器前缀问题
- 11 minify-cssconcat为你自动压缩美化合并多个css文件
- 12 imagemin 实现图片的自动高清压缩

23
Template/docs/team.md Executable file
View File

@@ -0,0 +1,23 @@
## 团队
---
我们的团队名叫`创想工作室`由一群热衷技术的小伙伴组成欢迎加入创想工作室QQ群这里有同样热衷技术也有很多正在学习过程中的小伙伴。
> <a target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=6311ead3dd326b975b76cb90590535973515776cf83d0854c0dc7b4a5c9cebfb"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="创想工作室(技术)" title="创想工作室(技术)"></a>
## 源码下载
---
项目源码已经上传到github感兴趣的同学可以去github下载代码这里贴上地址
> [https://github.com/helpcode/Whtml](https://github.com/helpcode/Whtml)
## 鸣谢感恩
---
十分感谢众多优秀开源的技术支持,众多开源技术的帮助才能让我们的项目编码更加方便。

53
Template/docs/use.md Executable file
View File

@@ -0,0 +1,53 @@
## 目录解读
---
首先我们来看以下框架的文件层级结构,从宏观上了解以下框架的基本架构,然后我们在一一解读其具体的源码实现,目录结构图如下:
```html
.
├── app.js #通过nodejs的web框架express来启动打包后的dist/静态网站
├── config #基本信息配置,一般修改这里即可实现订制
│   └── index.js
├── dist # gulp编译src产生的文件我们写完静态页面需要交给后端的就是它
├── docs # 框架的帮助文档
├── gulpfile.js # 最核心的 gulp 配置文件,看不懂源码情况下不要修改
├── Online.zip # gulp 自动zip打包 dist/ 文件夹产生的,直接将这个压缩包发给后端,省事
├── package.json # 项目的基本核心配置,你懂的!看不懂源码情况下不要修改
├── .gitignore #git 上传忽略文件配置
├── CHANGES.md #版本更新日志
├── README.md #帮助文档
├── src # 核心源码,主要代码编写在这进行,在这的任何操作都会被同步映射更新到dist/
│   ├── assets # 存放静态资源
│   │   ├── css # css样式
│   │   │   ├── layout.styl #css样式主入口gulp将会从这里进行对css的编译打包
│   │   │   ├── page #对应具体页面的css
│   │   │   │   ├── header.styl #公共头部样式
│   │   │   │   └── index.styl #首页的样式
│   │   │   └── public #全局公共的样式
│   │   │   ├── colors.styl #全局css颜色的封装
│   │   │   ├── lib.styl #全局css方法的封装
| | | ├── reset.styl #清除浏览器默认样式
│   │   ├── img #网站用到的图片
│   │   │   └── gen.svg #测试用的图片[测试可删除]
│   │   └── js #存放js脚本
│   │   ├── demo.js #index.jade 页面组件的私有js文件[测试可删除]
│   │   └── jquery.js #默认自带的 jquery
│   │   └── font #存放网站字体
│   │   ├── awesome.woff2 #测试用的字体[测试可删除]
│   └── view #存放页面的视图jade
│   ├── layout.jade #页面试图的核心入口文件
│   ├── main #存放主要的页面
│   │   └── index.jade #首页
│   └── public #公共页面组件
│   ├── footer.jade #公共版权
│   └── header.jade #公共头部
└── utils #框架需要用的工具类
│  └── index.js
└── sh #shell脚本
  └── push.sh #自动提交代码到github
```
仔细阅读上面对各个文件的作用的解释,这里很关键。