已实现的功能
- markdown转html: 使用mistune
- markdown文件同步到wordpress数据库:按修改时间和post_name 双向同步
- markdown文件附件同步到wordpress下指定目录:使用 paramiko 通过ssh 双向同步,需要设置vps对应的文件夹的权限
- 图片的url匹配:使用re修改,不处理外链
- 网页的url匹配:使用re修改,不处理外链
- wordpress元数据:通过markdown文件第二,三行字典实现
- tags:tag1,tag2, 标签功能
- status:private,默认pubish
- TOC: 使用wordpress插件完成
- 支持使用date(格式:yyyy-mm-dd, 如 2024-12-1,2024-12-01)作为最后更新日期,否则用实际的最后更新日期
测试
图片测试:
内部链接测试: 关于
外部链接测试:Google
运行环境
- Miniconda — Anaconda documentation: 3.12 64 位
- conda创建新环境:
conda create -n md2wp python=3.12
- IDE:pycharm。设置,搜索
解释器
, 添加本地解释器,conda环境,选择 md2wp 环境 - conda命令行下安装软件包:
conda activate md2wp
pip install --upgrade paramiko sqlalchemy==1.4.52 pymysql mistune emoji requests keyboard -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
其他
如果wordpress后台查到某个标签数量为0,更新脚本会报错,wordpress后台删除该标签即可:
add tag: wordpress
初始化标签字典完成
Traceback (most recent call last):
File "F:\~~~~~~~\md文件\md2wp.py", line 797, in <module>
exe_md2wp(update_force=False)
File "F:\~~~~~~~\md文件\md2wp.py", line 786, in exe_md2wp
post_name_list, dir_posts_remote = update_md_files(
^^^^^^^^^^^^^^^^
File "F:\~~~~~~~\md文件\md2wp.py", line 658, in update_md_files
update_post_tags(post_name, post_tags)
File "F:\~~~~~~~\md文件\md2wp.py", line 243, in update_post_tags
tagidlist = get_tagidlist_by_tagnamelist(post_tags)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "F:\~~~~~~~\md文件\md2wp.py", line 207, in get_tagidlist_by_tagnamelist
tagidlist.append(TAGS_DICT[tagname][0])
~~~~~~~~~^^^^^^^^^
KeyError: 'wordpress'
正文完