前言
事情的起因是学校要求将大作业的文档必须上传至csdn(自媒体)上。笔者曾经也为CSDN直接复制.docx或者markdown文件而无法上传图片只能一个一个复制的问题所困扰,不过经验分享乃为爱发电之事,动机不强,今面临结课要求不得不重新考虑此事。
在笔者耗费近乎一个下午及一个晚上终于熬完自己的文档后,筋疲力尽,将word转换为markdown并保存后又见此光景: 如此多的图片一个一个复制,笔者光想此事便顿感无力,甚至十分恼火,但抱怨是没有用的,总要解决。
稍作调整后,开始着手研究上传图片的问题,笔者找到了几种可行的方案
- 如果图片比较少,可以直接人工复制
- 转换为markdown上传 考虑到学校的其他同学乃至社会人士也有同样共性之问题,解决此问题即可有效提高生产力,故记录笔者解决问题之经验如下:
问题成因
我们知道,markdown的图片是一个链接,类似这样
直接复制不会被自动上传。于是考虑使用博客园进行上传,笔者知道博客园可以允许MetaWeblog
从本地直接上传markdown文件,于是就可以借助博客园将图片链接挂载,然后在csdn处直接reference即可解引用。
解决过程
笔者未曾拥有cnblogs账号,直接注册即可,不在赘述。
前期准备
cnblogs需要手动申请开通博客,审核速度较快。
申请后可以拿到自己的博客主页https://www.cnblogs.com/zephyr369
然后在自己的博客设置中
进入到博客设置,然后一直下拉到最下
勾选选项,记录自己的用户名,然后获取一个token
然后开始着手转换,我们可以使用pandoc来转换markdown文件
pandoc官网
若您觉得繁琐,不妨直接打开一个md文件,笔者使用的是typora,然后直接将word的文件复制到markdown中即可。
然后配置markdown的图片保存,以typora为例,进入到偏好设置中按照下图进行设置
这样markdown中的图片就会保存在assets
文件夹下。
将markdown文件上传
笔者找到了两种方案
- https://blog.csdn.net/shiki217_/article/details/135675132
- 利用dotnethttps://www.cnblogs.com/youngwuu/p/18166475 第一种方式笔者由于奇怪的问题未能成功,遂转为第二种方式。 首先进入https://dotnet.microsoft.com/zh-cn/download/dotnet/5.0下载dotnet,然后安装完毕,打开cmd 输入
dotnet --info
验证安装成功 随即
dotnet tool install --global dotnet-cnblog
安装dotnet-cnblog
然后dotnet-cnblog
配置个人账号信息
这里需要注意的是
- 博客id,在自己的博客url中找,笔者的是https://www.cnblogs.com/zephyr369 故笔者的id是zephyr369
- 用户名,是自己的登录用户名.
- 密码,密码是自己刚才在博客设置中领到的token
填写无误后方可上传markdown文件
首先cd到自己的markdown目录下
然后输入dotnet-cnblog.exe proc -f ".\您的文件.md"
上传成功后会在同一目录下生成一个新的markdown文件xx-cnblog.md
查看内容
发现图片上传成功,于是可以将内容直接复制到csdn中,正常展示发布即可。
后记
pycnblog
中的yaml配置中的密码,也许应该也是token,笔者未经验证,只想抓紧完成任务而休息,若您成功用pycnblog
解决,那真是极好
笔者曾经在最初尝试过更换dns,改校园网为个人热点,均无改善,同校同学可避免尝试此方法。
注:使用付费的图床也可以,但是及其不推荐使用免费图床,稳定性与安全性都不能得到保障,而且CSDN会封号。