# EFormat 中文使用说明

EFormat 是一个命令行工具，支持在多个目录下快速批量编辑和格式化 HTML 文件，极大提升前端开发效率。

## 功能特性

- **智能检测**：自动查找最近编辑的HTML文件，无需手动指定路径。
- **一键格式化**：支持手动选择文件或通过命令行参数直接格式化指定 HTML 文件。
- **目录浏览**：交互式选择目录和文件，方便批量处理。
- **PHP 代码保护**：自动识别并保护 HTML 文件中的 PHP 代码片段，格式化后自动还原。
- **样式美化**：自动美化 `<style>` 标签内的 CSS 代码。
- **智能排除**：自动排除 node_modules 目录中的HTML文件。
- **依赖简单**：仅需一次安装依赖即可使用。

## 安装方法

全局安装（推荐）：

```
npm install -g eformat
```

或在项目目录下本地安装：

```
npm install eformat --save-dev
```

## 使用方法

### 1. 智能查找并格式化最近编辑的HTML文件

```
eformat
```

- 直接运行命令，无需任何参数。
- 自动查找当前目录及其子目录中最近编辑的HTML文件（排除node_modules目录）。
- 如果只找到一个最近编辑的HTML文件，将自动格式化该文件。
- 如果找到多个最近编辑的HTML文件，将提示选择要格式化的文件。

### 2. 交互式手动选择文件格式化

```
eformat --select
```

- 运行后可通过上下键选择目录或 HTML 文件，回车进入目录或选择文件。
- 支持返回上级目录和多次选择，直到选择"完成"退出。

### 3. 直接指定文件格式化

```
eformat --file 路径/文件.html
```

- 支持绝对路径和相对路径。
- 例如：
  ```
  eformat --file ./src/index.html
  ```

### 3. 常见问题

- 如遇依赖缺失，请先执行：
  ```
  npm install
  ```
- 支持格式化 `.html` 和 `.htm` 文件，暂不支持其他类型。

## 主要参数说明

| 参数         | 说明                         | 示例                                 |
| ------------ | ---------------------------- | ------------------------------------ |
| (无参数)     | 智能查找并格式化最近编辑的HTML文件 | eformat                      |
| --select     | 交互式选择文件进行格式化      | eformat --select            |
| --file       | 直接指定文件路径进行格式化    | eformat --file ./a/b.html   |
| --version, -v | 显示版本信息                 | eformat -v                  |

## 依赖说明

- `js-beautify`：HTML 格式化
- `cheerio`：HTML 解析
- `inquirer`：命令行交互
- `fast-glob`：文件查找（如需扩展批量处理）

## 贡献与许可

欢迎提交 PR 参与贡献。  
---