Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yamonc/hexoHelper
hexo文章转换器,通过上传文件的方式,将原始的markdown文件格式化成为hexo可以识别的带有front-matter格式的文档。
https://github.com/yamonc/hexoHelper
Last synced: 16 days ago
JSON representation
hexo文章转换器,通过上传文件的方式,将原始的markdown文件格式化成为hexo可以识别的带有front-matter格式的文档。
- Host: GitHub
- URL: https://github.com/yamonc/hexoHelper
- Owner: yamonc
- Created: 2023-06-15T07:41:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-03T09:37:25.000Z (over 1 year ago)
- Last Synced: 2024-08-01T08:15:14.615Z (3 months ago)
- Language: Java
- Size: 115 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
---
title: Hexo文章转换器III
date: 2023-08-03 17:17:01
tags: [Java, 工具]
categories: [开源项目]
recommend: true
locate: [天津]
cover: https://markdown-image-bed.oss-cn-beijing.aliyuncs.com/202308031551988.jpeg
comment: 是
keywords:
password:
abstract: 有东西被加密了, 请输入密码查看.
message: 您好, 这里需要密码.
wrong_pass_message: 抱歉, 这个密码看着不太对, 请再试试.
wrong_hash_message: 抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容.---
# Hexo文章转换器III
![a person standing on top of a cliff](https://markdown-image-bed.oss-cn-beijing.aliyuncs.com/202308031551988.jpeg)
>Hexo系列文章:
>
>1. [从0到1部署博客系统到GitHub Page(0成本)](https://yamonc.github.io/2023/06/13/%E4%BB%8E0%E5%88%B01%E9%83%A8%E7%BD%B2%E5%8D%9A%E5%AE%A2%E7%B3%BB%E7%BB%9F%E5%88%B0Github-Page/)
>2. [hexo如何修改主题?](https://yamonc.github.io/2023/06/13/hexo%E5%A6%82%E4%BD%95%E4%BF%AE%E6%94%B9%E4%B8%BB%E9%A2%98/)
>3. [hexo-Acrylic主题集成twikoo评论](https://yamonc.github.io/2023/06/13/hexo-Acrylic%E4%B8%BB%E9%A2%98%E9%9B%86%E6%88%90twikoo%E8%AF%84%E8%AE%BA/)
>4. [如何将JavaFX的java项目打包成exe格式](https://yamonc.github.io/2023/06/16/%E5%A6%82%E4%BD%95%E5%B0%86java%E9%A1%B9%E7%9B%AE%E6%89%93%E5%8C%85%E6%88%90exe%E6%A0%BC%E5%BC%8F/)
>5. [Hexo文章转换器](https://yamonc.github.io/2023/06/19/02.%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/Hexo%E6%96%87%E7%AB%A0%E8%BD%AC%E6%8D%A2%E5%99%A8/)
>6. [Hexo文章转换器II](https://yamonc.github.io/2023/06/28/02.%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/Hexo%E6%96%87%E7%AB%A0%E8%BD%AC%E6%8D%A2%E5%99%A8II/)## 更新记录
⭐⭐⭐⭐V1.0.0更新日志
第一版的Hexo文章转换器使用起来不太方便,所以在第一版的基础上进行了更新,主要是将标签和分类的信息保存到sqlite数据库中,不再用户每次都手动输入了。(初版的思路是,标题、 创建时间、位置等一些信息可以从后台直接获取,比如标题可以通过读取文章的第一行获取,然后将标题生成到原文中就行,不知道为什么打包成exe格式之前,标题都能从文章中提取出来,但是在exe中如果获取出来的标题永远都是乱码,各种尝试都无用,无奈,手动输入标题吧)
⭐⭐⭐⭐⭐V1.1.0更新日志-小版本更新
V1.1.0版本在界面上进行了一系列的改动,优化了用户体验,主要体现在:
1. 显示内容正常无遮挡。上一版本由于页面布局的问题,cover一般都会很长,导致遮挡后面部分label。
2. 新增一键重置功能,考虑到有可能一次性转换多个文章,如果不重置的话,无法重新上传文件并转换,只能关掉应用程序重新打开,才能进行转换新的文章。
3. 新增标签管理和分栏管理Tab页。在最顶端新增两个Tab页,分别用来对标签和分栏的新增和删除功能。
4. 优化了大部分的代码,包括但不限于接口实现jdbc操作数据库功能,提高易用性和扩展性、新增表结构、合适的地方处理异常等等。⭐⭐⭐⭐⭐V2.0.0更新日志
新增输入密码才可查看文章。(解决因文章版权问题或者不想让别人查看指定文章)
可自定义输入密码提示语、及密码错误提示语,设置自定义密码等功能。
## 背景
通常在使用Hexo写文章的时候,都需要将在Hexo文章的开头处,加上Front-Matter的必要信息,用于Hexo识别并提取出文章的meta信息。
但是,每次写都不是特别方便,所以,使用界面化的方式来简化操作步骤,通过点击的方式对使用过程进行了简化。
适用hexo主题为[Hexo Acrylic](https://next-docs.acrylic.org.cn/),并且使用[hexo-blog-encrypt](https://github.com/D0n9X1n/hexo-blog-encrypt)对文章进行加密。
## 示例
使用该工具可以避免手动输入这些信息,而是通过界面化的方式进行配置:
![image-20230803160906642](https://markdown-image-bed.oss-cn-beijing.aliyuncs.com/202308031609520.png)
但是,**建议在使用之前进行三项的配置**,其中上传目录是必须的,**要不无法使用**
![image-20230803160919907](https://markdown-image-bed.oss-cn-beijing.aliyuncs.com/202308031609948.png)
管理标签界面:
![image-20230803160927878](https://markdown-image-bed.oss-cn-beijing.aliyuncs.com/202308031609839.png)
分栏管理界面:
![image-20230803160932865](https://markdown-image-bed.oss-cn-beijing.aliyuncs.com/202308031609583.png)
关于我界面:
![image-20230803160938395](https://markdown-image-bed.oss-cn-beijing.aliyuncs.com/202308031609976.png)
转换之后的界面:
![image-20230803160838891](https://markdown-image-bed.oss-cn-beijing.aliyuncs.com/202308031610916.png)
## 技术说明
Java17(开发语言)、Java FX(Java界面工具,类似于java8的swing,现已不支持java8)、SceneBuilder(拖拽式界面工具)、exe4j(jar转exe工具)。
踩坑无数,尤其是将java转为exe的过程中,踩了一晚上吧。
## 如何使用
下载地址:
[HexoHelper下载地址](https://github.com/yamonc/hexoHelper/releases/download/V1.0.0/hexoHelperV1.0.0.zip)
下载好之后,解压缩,解压缩之后,需要注意的是,db文件夹要和hexoHelper.exe是同级目录,db文件夹中是sqlite的数据库,运行的时候需要找到db的数据库才行。最终文件的位置关系:
![image-20230628165640833](D:\blog\source\_posts\02.开源项目\assets\202306281656872.png)
开始运行,会出现[示例]中的界面。
### 功能说明
现在的界面主要分三个主Tab:
#### Hexo转换器
该界面主要分三个部分:
从上到下依次是Front-Matter清单,在这里可以看到你填写的一些文章信息,这也是最终会填写到你文章里面的内容;
输入区:在这里你需要输入一些文章信息,这个和Front-Matter清单联动,修改了什么会体现在清单上。
最下面是功能区域:
【上传文件】:点击上传文件按钮之后,选中待转换的markdown文件(没有front-matter信息的markdown文件)
【转换格式】:对已上传的文件进行格式转换,在文章头添加已经输入的front-matter信息。
【部署】:执行hexo clean、hexo g、hexo d一系列指令。
【一键部署】:对已上传的文件进行格式转换并执行hexo clean、hexo g、hexo d指令部署到对应平台上。
#### 设置
主要设置一些提升用户体验的必要信息。
工作目录:主要是基于这个目录,执行一系列指令:hexo clean、hexo g和hexo d等指令。
上传文件目录:在Hexo转换器Tab中,需要上传文件之后才能点转换,这里的位置就是点击后重定向的位置,换句话说,就是你平常文章经常放的位置,通常是_posts。
#### 关于Hexo转换器
主要介绍了该工具解决了什么问题,如何使用及关于作者等信息。
## 使用流程说明
![image-20230619105823619](https://markdown-image-bed.oss-cn-beijing.aliyuncs.com/202308031613532.png)
## 待优化问题
现在主要存在三个核心问题暂时没有解决:
第一,使用sqlite作为持久化数据库,但是sqlite文件必须在外部挂载,无法将sqlite打到jar包中,并转成exe文件。
第二,出错没有日志可查,可以将日志输出成文件,并保存在客户端。
第三,利用公私钥的方式对密码进行加密,并输入在文章的Front-Matter上。