# NoHtml **Repository Path**: Verlif/NoHtml ## Basic Information - **Project Name**: NoHtml - **Description**: 使用NoHtml来对Markdown文档进行管理。不需要任何编程知识,只需要Java环境即可使用。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-02-24 - **Last Updated**: 2022-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Markdown, Java ## README # NoHTML `NoHTML`是一个用于整理`Markdown`文件的工具。 与`Jekyll`等网页生成工具不同,尽管`NoHTML`生成的文件可以导航,但`NoHTML`的主要目标是作为`Markdown`文件的整理工具。 ## 一些问题 1. `NoHTML`可以做什么? 我不知道,反正我目前是把这个用于做个人资料整理。本地一份,然后放GitHub仓库一份。用index.md作首页,开启仓库的Pages,还可以当做一个个人资料库。 这个 [records](https://github.com/Verlif/records) 就是用`NoHTML`生成的。 2. `NoHTML`不可以做什么? * 不能生成网站相关数据 * 不能对某个文档进行评论 * 不可以设定主题 * 没有拓展插件 * 二次开发需要Java基础 3. 为什么是`NoHTML`? * 简单。不需要任何编程知识,不需要安装,下载后直接运行即可。 * 轻量。只会生成配置文件、备份信息与导航文件。 * 纯净。对原`markdown`文件零修改。 * 统一。完全基于`markdown`使用逻辑,没有`HTML`文件。 * 同步。简单的多端同步方式与自动备份。 ## 使用 可以直接下载 [release](https://github.com/Verlif/NoHtml/releases) 的jar包,也可以将此项目`pull`下来,进行自定义修改。 1. 创建管理根目录(例如`MyPage`) 2. 将jar包放在管理根目录中(`MyPage/NoHTML.jar`) 3. 在管理根目录下创建docs文件夹用于放置需要管理的MD文件(`MyPage/docs`) ![目录结构](imgs/目录结构.png) 4. 运行jar包(例如`java -jar NoHTML.jar`) ![运行结果](imgs/运行结果.png) 5. 完成,访问`MyPage`目录下的`index.md`。 ![首页效果](imgs/首页效果.png) 这里有NoHtml的详细使用教程 [NoHtml使用教程](https://verlif.top/records/docs/教程/NoHtml教程/NoHtml的使用与拓展.html) ## 说明 * __未归档__。直属`docs`文件夹的MD文件属于`未归档`文件,可以在首页的未归档中找到。 用到的本地图片建议放在`docs`文件夹下,例如在`docs\dayliy\images`存放`daily`的图片,方便自动备份。 * __目录结构__。在`docs`文件夹下的子文件夹中的所有MD文件都属于`标签归档`文档。归档标签允许有数个层级。所有的标签可以在首页的标签归档中找到。 * __多端同步__。在使用多端同步时,文件的创建日期会被修改,这回导致标签页面中的日期出现错误,所以请只在一端进行提交与更新操作。 或通过`--recovery`参数恢复文件信息。 * __记录__。每次生成管理目录时,都会在`records`下生成记录文件。记录文件保留了`docs`下所有文件及文件夹的标签信息,用于在文件被复制或意外改动后时间信息被刷新后的恢复操作。 * __备份__。在默认开启备份的状态下,每次生成管理目录都会生成新的备份文件,包括了目录文件、源文档文件、配置文件、记录文件。 * __标签__。标签是指`Markdown`文档的上层文件夹名称。当前版本 __不允许标签重复__,例如`happy/day`与`bad/day`都使用的`day`标签,就是重复的。 ## 启动参数 当用户通过双击或是`java -jar NoHtml.jar`等不带参数的方式运行时,会执行默认管理目录生成流程。 也可以通过指定参数来添加特殊步骤: * `--help` 输出所有的参数及说明。 * `--recovery docs-2022-03-08-11-46-21-record.properties` 将记录文件`records/docs-2022-03-08-11-46-21-record.properties`恢复到当前的`docs`文件夹。 此指令一般用于在`docs`文件夹在复制等操作后,文件的创建、修改时间被刷新,将之前的文件信息记录恢复。 当此指令不带参数,例如`--recovery`时,会寻找合适的(前缀以`docs`开头的文件)最新修改的文件信息记录来恢复。 * `--exit` 终止程序。例如`--recovery --exit` 表示在恢复了最新的文件信息后,不再继续生成管理目录。 * `--config` 临时修改配置,让后续的生成规则依据修改后的配置执行。通过此方式修改的配置不会保留。 参数格式为`[configParam]=[value]`,同时修改多个参数可以使用`;`做分割,也可以多次使用`--config`。 例如`--config backupMax=2;recordMax=2`,则在本次的备份文件会被限制在2份,记录也只会保留最新的两份。 启动参数请以如下方式添加: ```shell java -jar Nohtml.jar --key value --key2 value2 ``` ## 配置文件 ### config.properties 总配置文件,用于设定参数。 请尽量不要使用Windows的文本编辑器来编辑,因为这个软件编辑后,会在文本的前面加上一个特有的标记, ```properties # 档案标题 title=Verlif & Idea # 首页的最新更新文件显示数量 size=5 # 文件概览的最长显示字数 length=25 # 首页文件名(支持通过英文“,”创建多个文件,第一个会作为主页面) indexName=readme.md, index.md # 标题分隔符,允许使用长字符串,例如ヾ(≧▽≦*)o titleSplit=○ # 是否开启备份 enableBackup=true # 备份文件数量上限(当开启备份时生效,数量到达上限时,会优先删除旧的备份) backupMax=10 # 记录文件数量上限,记录文件主要用在多端同步导致的文件创建时间与修改时间恢复。 recordMax=5 ``` ------ ### config/profile.md 首页概述md文件,里面的内容会被复制到生成的首页中。 位置在标题与最新更新文件列表中间。 ------ ### config/footer.md 首页结语md文件,里面的内容会被复制到生成的首页中。 位置在标题列表后面。 ## 目录结构 档案管理器需要一个管理器的目录,用户的所有需要管理的档案需要放置在其下的`docs`文件夹中 | 名称 | 文件类型 | 文件说明 | 是否手动创建 | |-------------------|------|---------|--------| | index.md | 文件 | 首页档案 | 否 | | docs | 文件夹 | 档案根目录 | 是 | | config.properties | 文件 | 配置文件 | 否 | | config | 文件夹 | 配置文件附录 | 否 | | tags | 文件夹 | 标签档案文件夹 | 否 | | backs | 文件夹 | 备份文件夹 | 否 | | records | 文件夹 | 记录文件夹 | 否 |