Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
ReadHeadGO
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
余嘉宇
ReadHeadGO
Commits
aac6824c
Commit
aac6824c
authored
Mar 22, 2022
by
yuga
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改注释成 ***
parent
d154a905
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
74 additions
and
113 deletions
+74
-113
README.md
+3
-3
base/base.go
+2
-18
files/test.sh
+24
-86
files/ttt/aa.md
+14
-0
files/ttt/aga.txt
+2
-2
files/ttt/bbb.txt
+9
-0
main.go
+20
-4
No files found.
README.md
View file @
aac6824c
...
@@ -6,17 +6,17 @@
...
@@ -6,17 +6,17 @@
用于搜集文件夹下所有文件头部的指定信息并生成 markdown 文档。、
用于搜集文件夹下所有文件头部的指定信息并生成 markdown 文档。、
#### 文档规范
#### 文档规范
在文件头部注释使用
```/***
******* **
***/```
包裹头部文档, 识别规则外使用相关代码的多行注释包裹。
在文件头部注释使用
```/***
***/```
包裹头部文档, 识别规则外使用相关代码的多行注释包裹。
例如:
例如:
```
```
:<<!
:<<!
/***
*******
/***
#### 说明文档
#### 说明文档
测试
测试
#### 软件架构1
#### 软件架构1
***
**
/
***/
!
!
```
```
...
...
base/base.go
View file @
aac6824c
package
base
package
base
import
(
import
(
"flag"
"fmt"
"fmt"
"io/ioutil"
"io/ioutil"
"log"
"log"
...
@@ -76,7 +75,7 @@ func (ctx *Base)CreateFile(path string) bool {
...
@@ -76,7 +75,7 @@ func (ctx *Base)CreateFile(path string) bool {
}
}
/**
/**
* 读取文件内容
* 读取文件
所有
内容
*/
*/
func
(
ctx
*
Base
)
ReadFile
(
path
string
)
string
{
func
(
ctx
*
Base
)
ReadFile
(
path
string
)
string
{
file
,
err
:=
os
.
Open
(
path
)
file
,
err
:=
os
.
Open
(
path
)
...
@@ -172,7 +171,7 @@ func (ctx *Base)DelDir(path string) bool {
...
@@ -172,7 +171,7 @@ func (ctx *Base)DelDir(path string) bool {
* 追加内容到文件中
* 追加内容到文件中
*/
*/
func
(
ctx
*
Base
)
AppendToFile
(
path
string
,
content
string
)
{
func
(
ctx
*
Base
)
AppendToFile
(
path
string
,
content
string
)
{
f
,
err
:=
os
.
OpenFile
(
path
,
os
.
O_APPEND
|
os
.
O_CREATE
|
os
.
O_WRONLY
,
06
44
)
f
,
err
:=
os
.
OpenFile
(
path
,
os
.
O_APPEND
|
os
.
O_CREATE
|
os
.
O_WRONLY
,
06
66
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Println
(
err
)
log
.
Println
(
err
)
}
}
...
@@ -183,21 +182,6 @@ func (ctx *Base)AppendToFile(path string, content string) {
...
@@ -183,21 +182,6 @@ func (ctx *Base)AppendToFile(path string, content string) {
}
}
/**
/**
* 获取参数
*/
func
(
ctx
*
Base
)
Args
()
[
2
]
string
{
// 定义几个变量,用于接收命令行的参数值
var
read
string
var
path
string
// &user 就是接收命令行中输入 -u 后面的参数值,其他同理
flag
.
StringVar
(
&
read
,
"r"
,
"./"
,
"[-r ./files ] readme create path default './'"
)
flag
.
StringVar
(
&
path
,
"p"
,
"./README.md"
,
"[-p ./README.md ] file path default './README.md'"
)
// 解析命令行参数写入注册的flag里
flag
.
Parse
()
return
[
2
]
string
{
read
+
"/"
,
path
}
}
/**
* 获取目录所有文件
* 获取目录所有文件
*/
*/
func
GetTreeDir
(
fpath
string
)
{
func
GetTreeDir
(
fpath
string
)
{
...
...
files/test.sh
View file @
aac6824c
:<<
!
:<<
!
/
**********
/
**********
# SmartHomeNodeGO
#### 介绍
# ReadHeadGO
用go编写的可用于智能路由器Web端管理系统。
集成了 HTTP服务 和 TCP 连接服务。
可给智能家居设备提供服务。
可理解为边缘计算。
#### 特点
1. 无需安装,直接运行,所有服务会自动关联。
2. 包含了前端,后端,连接端,定时任务,文件存储。
3. 使用拓展硬盘或U盘,告别容量拮据且读写缓慢的的flash。
4. 尽量少的使用第三方包,确保能运行在大多数MIPS架构CPU的路由器上。
#### 软件架构
1. 后端使用GO开发,前端使用VueJs开发。
2. 后端框架使用gin,前端框架使用 vue-admin + element-ui。
3. 没有使用数据库,以json文件存储设备数据,简单使用了go-cache缓存。
#### 安装教程
*
如要修改本代码,请安装 GoLang 1.14+ 环境。
#### 介绍
*
项目使用 go mod 管理包,使用以下命令:
```
bash
用于搜集文件夹下所有文件头部的指定信息并生成 markdown 文档。、
# 初始化 go mod 文件
go mod init smartHomeNode/v1
# 安装依赖
go mod tidy
# 基础运行(默认端口 8080 ):
#### 文档规范
go run main.go
在文件头部注释使用
```
/
**********
*****
/
```
包裹头部文档, 识别规则外使用相关代码的多行注释包裹。
# 指定端口:
例如:
go run main.go
-p
8081
# 系统初始化:
go run main.go
-c
cc
```
```
:<<
!
/
**********
#### 说明文档
#### 交叉编译
测试
```
bash
# 路由器 cpu RT-5350:
GOOS
=
linux
GOARCH
=
mipsle
GOMIPS
=
softfloat
CGO_ENABLED
=
0 go build main.go
# 树莓派 B+:
GOOS
=
linux
GOARCH
=
arm
GOARM
=
6
CGO_ENABLED
=
0 go build main.go
# 树莓派 3B:
GOOS
=
linux
GOARCH
=
arm
GOARM
=
7
CGO_ENABLED
=
0 go build main.go
# Linux 64位:
GOOS
=
linux
GOARCH
=
amd64
CGO_ENABLED
=
0 go build main.go
*
说明:
#### 软件架构1
GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)
*****
/
GOARCH:目标平台的体系架构(386、amd64、arm、mipsle)
!
交叉编译不支持 CGO 所以要禁用它(CGO_ENABLED
=
0)
```
```
#### 使用教程
#### 使用教程
*
直接运行即可,或者放入 opt 中并使用 ln
-sf
映射到 xxx/bin 目录下。
```
bash
*
使用绝对路径
1. 基础运行(默认端口 8080 ):
```
./main
# 普通使用
2. 指定端口:
./main
./main
-p
8081
# 指定读取文件夹
3. 初始化运行:
./main
-r
/files
./main
-c
cc
# 指定生成文件位置
./main
-p
/files/README.md
*
可能需要添加权限,linux 系统下请使用:
# 指定读取文件夹并在指定位置生成文件
chmod +x main
./main
-r
/files
-p
/files/README.md
```
```
#### 使用说明
1. 请确保路由本机时间准确。
2. 确保防火墙允许连接服务开启的端口。
3. Web服务默认 8080 端口,TCP 连接使用 50001 端口。
4. 如需使用 80端口 请确保路由器原本后台服务已经改到别的端口。
5.
*
ESP8266 MINI D1 控制代码在项目 arduino/ESP8266-MINI-D1.ino
#### 项目地址
SERVER:
\
github: https://github.com/crazyjy/SmartHomeNodeGO
\
gitee: https://gitee.com/yjygit/SmartHomeNodeGO
H5:
\
github: https://github.com/crazyjy/SmartHomeNodeH5
\
gitee: https://gitee.com/yjygit/SmartHomeNodeH5
#### 参与贡献
1. 【飞鱼智能】- 淘宝店,欢迎选购。
\
https://shop223999585.taobao.com/?spm
=
2013.1.1000126.d21.25751acaxy0uZy
*****
/
*****
/
!
!
...
...
files/ttt/aa.md
0 → 100755
View file @
aac6824c
---
#### 3
测试
#### 软件架构
---
#### 2
测试222
#### 软件功能
---
files/ttt/aga.txt
View file @
aac6824c
:<<!
:<<!
/***
*******
/***
#### 3
#### 3
测试
测试
#### 软件架构
#### 软件架构
***
**
/
***/
!
!
files/ttt/bbb.txt
0 → 100755
View file @
aac6824c
:<<!
/***
#### 2
测试222
#### 软件功能
***/
!
main.go
View file @
aac6824c
package
main
package
main
import
(
import
(
"flag"
"fmt"
"fmt"
"readHead/v1/base"
"readHead/v1/base"
"regexp"
"regexp"
...
@@ -9,10 +10,25 @@ import (
...
@@ -9,10 +10,25 @@ import (
var
b
base
.
Base
var
b
base
.
Base
/**
* 获取参数
*/
func
Args
()
[
2
]
string
{
// 定义几个变量,用于接收命令行的参数值
var
read
string
var
path
string
// &user 就是接收命令行中输入 -u 后面的参数值,其他同理
flag
.
StringVar
(
&
read
,
"r"
,
"./"
,
"[-r ./files ] readme create path default './'"
)
flag
.
StringVar
(
&
path
,
"p"
,
"./README.md"
,
"[-p ./README.md ] file path default './README.md'"
)
// 解析命令行参数写入注册的flag里
flag
.
Parse
()
return
[
2
]
string
{
read
+
"/"
,
path
}
}
func
main
()
{
func
main
()
{
args
:=
b
.
Args
()
args
:=
Args
()
b
.
WriteFile
(
args
[
1
],
"---"
)
b
.
WriteFile
(
args
[
1
],
"---"
)
reg
:=
regexp
.
MustCompile
(
`\/\*\*\*
\*\*\*\*\*\*\*[\s\S]*\*\
*\*\*\*/`
)
reg
:=
regexp
.
MustCompile
(
`\/\*\*\*
[\s\S]
*\*\*\*/`
)
if
reg
==
nil
{
if
reg
==
nil
{
fmt
.
Println
(
"regexp err"
)
fmt
.
Println
(
"regexp err"
)
return
return
...
@@ -26,9 +42,9 @@ func main() {
...
@@ -26,9 +42,9 @@ func main() {
result
:=
reg
.
FindAllStringSubmatch
(
fileInfo
,
-
1
)
result
:=
reg
.
FindAllStringSubmatch
(
fileInfo
,
-
1
)
if
len
(
result
)
==
1
{
if
len
(
result
)
==
1
{
resultInfo
:=
fmt
.
Sprintf
(
"%v"
,
result
[
0
])
resultInfo
:=
fmt
.
Sprintf
(
"%v"
,
result
[
0
])
infoList
:=
strings
.
Split
(
resultInfo
,
"/***
*******
"
)
infoList
:=
strings
.
Split
(
resultInfo
,
"/***"
)
resInfo
:=
fmt
.
Sprintf
(
"%v"
,
infoList
[
1
])
resInfo
:=
fmt
.
Sprintf
(
"%v"
,
infoList
[
1
])
resInfo
=
strings
.
Replace
(
resInfo
,
"***
**
/]"
,
"---"
,
-
1
)
resInfo
=
strings
.
Replace
(
resInfo
,
"***/]"
,
"---"
,
-
1
)
b
.
AppendToFile
(
args
[
1
],
resInfo
)
b
.
AppendToFile
(
args
[
1
],
resInfo
)
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment