md2wp

已实现的功能

  • 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)作为最后更新日期,否则用实际的最后更新日期

测试

图片测试:<p>md2wp</p>

<p>md2wp</p>

内部链接测试: 关于

关于

外部链接测试:Google

Google

运行环境

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'

正文完
 0
评论(没有评论)