1 Star 16 Fork 5

晓凹凸曼 / push-markdown

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
心得体会.md 33.99 KB
一键复制 编辑 原始数据 按行查看 历史
晓凹凸曼 提交于 2023-05-22 19:26 . 2023-5-22

心得体会

2023年5月

5/22

金哥发现批量上传出错,原来是我深拷贝的时候忘了date属性值是个对象的问题,导致JSON.parse(JSON.stringify(value))会变成字符串,还是老老实实用lodash提供的深拷贝吧。

2023年4月

4/9

经过两天的奋战,总算把多文件批量上传给搞定了,虽然估计还是会有不少bug,但是弄出来也算是好的。把渲染的逻辑也拆了拆,方便多文件的列表渲染。整体上没有什么大的难点,毕竟有之前的单文件渲染和上传功能,所以问题不是很大,而且为了可控,我上传的时候还是单线程上传,for await这样子,不敢用Promise.all,一是上传的流量次数控制,万一触发了阈值,报一排错无法解;二是错误提示过多,难以停止下来,虽然可以解决,但是越想越麻烦,万一还有更多的问题,于是还是放弃吧,依次上传也是蛮快的,也不是不能接受。

computed属性用的还不是很熟练,感觉应该是能够监听数组里面的对象元素,或者不能说监听吧,就是你用到的,他就能检测到。但是唯一一点比较大的问题就是不能够赋值,这就比较蛋疼了,毕竟容易死循环,所以我有个已知bug就不改了,也改不了。

最大的感受就是chatgpt还是牛逼的,我这前端界面就是靠chatgpt写出来的,真的是牛皮,我自己写html和css真的是菜的抠脚,前端?狗都不学,直接被ai给取缔了,真的是难受的要死。

4/7

很难想到,时隔八个月之后,我又更新了这款软件,主要是有一个issue问能不能设置文章头图。我之前都是上传一大批文章头图,然后每发布一篇文章就设置一下,也就习惯了,从来没有想过这个需求。主要是之前看xmlrpc的newPost从没有关注到有这个属性,即便是现在查看XML-RPC MetaWeblog API « WordPress Codex文档,也并没有发现可以设置头图的字段,但是我看到getPost有wp_post_thumbnail这个字段,抱着试一试的态度,我在newPost里面也用上了这个字段,没想到真的可以设置,说明他们做了这个功能,但是没有更新文档,导致这个功能被埋没了。这个功能倒是比较简单,只需要在newPost加上一个属性就行了。但是我之前的数据结构并不对,value值只保存为图片url的字符串格式,现在要加一个图片的ID,就需要重新弄数据结构,好家伙,那感情又是需要重新导入了,不兼容之前的版本了啊。总算是明白之前windows phone死的原因了,就是因为不兼容。虽然可以单独弄个thumbnail字段,但是感觉充满了妥协,于是还是咬咬牙换本地存储的数据结构吧,顺便把post的也换了。然后就是代码的调整,测试了之后发现万事大吉,准备提交,好家伙一看重新编辑文章的时候,如果头图并没有换的话,就会报错,无效附件ID。测试了好几遍,才确定是wordpress内部的问题,盲猜里面的逻辑是这次上传的文章头图如果和之前设置的一样,那么就是无效ID,会报错。这个逻辑比较操蛋,如果和之前的一样,那你就直接忽略这步不就行了吗?为啥要报错??没办法,我又在本地加上thumbnail_id这个属性,每次重新编辑的时候还得看看当前文档的头图ID是否和之前已保存的ID一致,如果一致,那么editPost的时候就不带上wp_post_thumbnail这个字段,也就是忽略这个字段的逻辑移到本软件中。之后又加了一些更新的提示,在软件里面,更加完善了,好耶。

2022年8月

8/6

修改了发布逻辑,发现之前的太冗余了,还要再去获取一遍,我说不用了,如果缓存真的不存在的话,系统会catch err报错,这也是一种解决方案,哈哈。主要是为了改slugify的问题,反馈给作者了,作者说也本应该是这样子的,他还要在评估一下,给了我一个正则表达式,我修改一下差不多就行了。还有把那个关于的图标矫正了一下,打包的东西有点问题,稍微曲线救国一下,用app.getAppPath来获取路径,再加上public就行了。

8/5

中间两天都没有记录,因为到了晚上的时候,都出现了问题,一个是pnpm打包有问题,还有一个是升级了electron20之后,默认开起来渲染沙盒化,搞得我排查了好几个小时,真的行我只能说。本来都打算发版本号了,就硬是卡在这一块,心态真的崩了,不管怎么说,今天一定要发出去。

8/2

虽然改了metaweblog那块的逻辑,但是还是没有测试,把一键导入这块给做了,用的一个插件,还不错,免费的,能够导出自定义的东西,然后我用剪切板一键导入到博客的设置里面,这样子文章的url就不需要自己去一个一个手动添加了,非常的方便。如果没有问题的话,我估计再搞两天就差不多了,差不多也是十天的工作量。

8/1

主题这块应该是差不多了,先把整个逻辑跑通了,最后再来精简一下css文件。mermaid最后还是删了,感觉没有什么用,不如就原样上传上去,然后再网站用插件去解析。今天在想PostCache这块,一个是blogID保存的逻辑,还有图片保存的逻辑。blogID就是采用site.url+site.username作为整个配置,然后post.url作为主键,映射blogID。图片的话,思来想去,有用MD5作为主键,有用文章名+图片名作为主键的,最终决定还是直接用图片名作为主键好了,因为整个图片最终的上传逻辑还是看你的图片名是不是相同的,所以才会有同名覆盖的这种说法。设置导出导入和一键获取网站所有的blogid也是当务之急,之前的xmlrpc那个获取全部文章的可能有点问题,现在不知道怎么解,不会要写一个插件吧,那样子是真的麻烦。

2022年7月

7/31

代码屎山,昨天改了一点,没有记录,忘了改了啥,现在publish这块还没有细究,今天主要改的是主题这块,因为改的过程中不小心把markdown样式给弄没了,所以看着就很不爽,就弄样式这一块,主要是去掉那些难看的样式了,现在就留下github-light和dark两种样式,已经很够了,其他那些样式也是乱的,不如这个。大体上样式都弄了一下,但还有部分没有搞定,一个是发布那块的样式,还有图标,不要用png,用svg,要不然改了样式之后颜色显示不正常,或者可能得用反色?感觉麻烦。还有代码高亮这块也没有了,那个美人鱼不知道还要不要弄进去,感觉没有什么用。

7/29

代码屎山,愚公移屎,今天移了一大坨,被那个该死的ipcRenderer.on卡了好久的时间,传入的参数不一致,搞得我也不知道了,估计是写错了,传进去把函数给变了,然后整个就不能取消了,我发现以前的没有取消注册ipc.receive,但是没有出现重大的bug,目前不知道为什么,反正现在就已经能够解决了,直接返回一个取消的函数,怪不得那些watch都是这么写的,直接把watch返回的函数调用一下就能够取消了。把markdown渲染那一块的项目结构给改了,让整个结构变得清晰一点,不至于变成一坨屎,那个logic里面的那些也都需要修改。css样式这些都还没改呢,烦啊!

7/28

代码屎山,一天比一天坨,今天想用vuex,但是再三评估下,决定还是不用vuex,因为我的组件只有两层,懒得分更多的组件,如果有分,只会再多一层组件,子与子之间的通信可以通过全局reactive来简单代替vuex,而且使用起来更加方便,没有这么多的约束,非常的棒。现在渲染就是会有多个Markdown组件,然后一个markdown对应一个Publish组件,感觉非常的占地方,本想改成一个全局Publish,但是不允许啊,挺困难的,要么使用父组件,去保存一个文章列表,但这样子感觉非常的长和大。或者用vuex保存当前显示的markdown的文章,每次切换的时候都更换,这样子感觉又比较消耗性能。所以最终还是保留markdown对应publish的方式,毕竟publish也是比较复杂的。靠空间换遍历吧,毕竟现在空间都不值钱一样。

7/27

代码屎山,每天改一点,整体大的项目结构先不改,还是先改成组件式API,还有把一些煞笔变量名给改了,尤其是那个file,以及加上TypeScript,先把这三点改了,之后就是继续改项目结构了。

7/26

代码屎山,只修改了部分文件,第一任务就是先改成组件式API,虽然只是写法上的修改,但是也要了老命,真的是代码屎山啊,任重道远啊,不知道以前是怎么走过来的,感觉代码量也是不少的,2.0.0的目的就是优化项目结构和代码质量,之后继续冲冲冲吧。

7/23

代码屎山,今天把整个项目改成了pnpm包管理,vite构建工具,然后项目结构按照https://github.com/cawa-93/vite-electron-builder来进行调整,源码分成main、preload和renderer三部分,main其实还好改,并不是非常的麻烦,但是preload这块疯狂改,然后相关的main也需要疯狂改,改了一天,代码屎山,越改越恶心,越改越觉得自己写的垃圾,我靠,感觉以后去看别人的项目,是不是也是这种感觉,就是代码屎山的感觉。放弃吧,放弃前端这条路吧,技术更新又快,东西又做不起来,人已经麻了,35岁就退休。

7/21

没事抽着了,在这整个重新弄electron。因为换了新电脑,所以把代码迁移到这上面想要跑一下,然后手贱修改了node-sass,因为之前学过sass,知道node-sass已经不维护了,而且国内用起来非常的麻烦,还需要编译,所以就换到dart,然后sass-loader也需要跟着升级,然后eslint啥的也需要升级,然后eslint需要webpack5,跑不起来了,索性直接把vue-cli改成5,这样子webpack就会升级为5,就出现了一堆问题,一路解决下来。然后limax这个东西又出问题,以前安装的时候就出现过问题,当时不知道怎么解决的。这个limax用的nodejieba,里面有个库,用的是二进制的文件,引入的是.node文件,弄node-loader搞了半天,发现也搞不起来,弄了好几个小时,最后找到平替,直接替换掉这个傻逼库,舒服了,原生的就是舒服,别搞什么二进制库,真的拉。最后除了一些兼容性和最新版有问题的包,全部更新到最新了,包括eslint,总算舒服了,为2.0.0工程埋下铺垫,可能用vite更好,但是不想再配环境了,等以后的新项目再用vite吧。

2022年6月

6/12

​ 没啥bug,就是我的typora突然重置了,所以图片的路径变成了绝对路径,之前用的都是相对路径,所以报错了,找了一个多小时,找到了错误点,错误的原因是div.innerHTML解析了文本文件,对绝对路径的src会进行解析,但是因为electron开了web安全,不能使用file://解析文件路径,所以会报错,但是并不会影响正常的文件上传和解析,因为这里我只想让他解析普通文件成html格式文件,并不想加载图片文件,所以报错了也不会影响后续操作,加载图片的操作后面会有,这里并不会影响。

2022年4月

4/18

​ 又是hs,提出文章图片不能预览放大的问题,确实,用文本编辑器弄出来的文章都是可以的,但是因为我是直接固定死了html文件,所以就不行,就硬套个壳吧, 这样子合适一点。

2022年3月

3/30

​ 今天看JS的时候,发现了富文本编辑这个东西,就在想应该也有markdown编辑器,翻几个github上面的项目,果然他们都实现了编辑器的高亮,下了两个进去,发现他们没有做出来啊,也只有个textarea,原来是用了个codemirror的插件,这个插件可以直接把textarea的文本数据渲染成富文本编辑器,当然也可以使用javascript来进行编辑,尝试用了一下,用的codemirror-editor-vue3这个插件,这个比较方便,但他是vue3的写法,我还是vue2的写法,所以我还得重新改一下,要不然有点问题,虽然最后能显示了,但是有几个问题

  1. 不能解析markdown,这个不知道为什么,javascript就可以解析,明明我本地用官方的就行,这个暂时无解
  2. 性能很成问题,打开一个加载非常的慢,尤其是大文件,需要长时间渲染,非常的拉胯
  3. 和现有的文件修改和保存有冲突,有bug

​ 其实1和3我估计我下点决心重构一下,换成vue3和typescript,整个结构梳理一遍,应该就能行,但是2的问题不是很简单,首先我这个软件的定位是一个上传的软件,而不是编辑的软件,整一个这么大又略带卡顿的编辑器进去真的合适嘛?其实我只想要编辑高亮而已,但是编辑高亮也需要性能去渲染,和渲染成html应该也不分上下,甚至可能更费劲,所以这个模块我试了一下,最后还是选择放弃了,不过也是一次有趣的体验,毕竟只花了四个小时,对于新的技术来说,这个时间真算不上什么。

​ 不过这一波下来,让我想要重新改成vue3了,之前说实话都没有什么动力了,今天这一波操作下来,感觉用vue3的写法更流畅,更易懂,不会跳来跳去,不过还是想先学一下react,毕竟没有学过,而且可以用react native,岂不合适?

3/13

​ 金哥发现我的任务列表没有渲染出来,确实,我以前以为[x]这样子就是渲染完成了,加个插件就完成了。这两天学习到防抖函数,发现原来项目里面有出现过,debounce,我之前弄了半天发现不能用,因为有个this指向的问题,发现删了也不影响使用,虽然现在也没解决,但也算是曲线救国解决了吧,就加回来了。

3/8

​ 别人一用我的软件,就会有新的问题,虽然锅不在我的软件这里,在wordpress那里,但是还是丰富一下README,给别人一些建议,否则什么乱七八糟的问题给我,先让他们自己先去排查一下是哪里有问题。

3/5

​ 就修复了一下脚本的问题,之前是在windows下编辑的,换行符有点问题,现在直接拷贝linux的文件,这样子应该就没有什么问题了。

2022年2月

2/16

​ 哦豁,距离上次更新还不到一周,属于高强度更新了,主要是修复一个bug——关闭当前界面,且当前界面是第一个界面,文件列表没有刷新的bug。还有就是加上鼠标的中间和右键来关闭当前文件,干净又卫生。以及添加文章摘要的提取字数设置。

2/11

​ 又是时隔一个月,就是修复一些小bug,搞一下快捷键,搞一下发布模式的逻辑,根据文章ID来自动选取,没有就创建新文章,有就自动判断,下一次新增估计又是很久以后了吧。

2022年1月

1/14

​ 今天正好是博客上线半周年的时间,也是push-markdown v1.0.0上线半周年的时间,就随便弄了一下,把滚动条的样式修改了一下,欢迎界面不要滚动条样式了,隐藏起来,这样子好看一点。然后就是获取文章的ID值,之前都需要去猜测这台设备有没有这篇文章的本地缓存,现在显示出来,这样子方便查看到。大概就做了这么点工作,毕竟已经很完善了,没有什么需要新增的了,现在真的是挺满足的了。

2021年12月

12/22

​ 今天小改版一下,升级一下体验,版本是v1.0.3。这几个小修改可以增加,但是多少影响了体验,有点强迫症,提示不够友好,不知道的还以为软件卡住了,没有提示不太好。

12/18

​ 没想到又是一波新的更新,这次更新间隔比较短,算是做了之前的痒点。一个是自动检测新增不检查网络图片,仅利用本地缓存,大大加快发布速度,另一个是手动发布新增使用远程文章的网络图片来更新本地缓存。之前发布QQ堂停运这个的时候,是在自己的电脑上发布的,那么实验室的电脑上就没有这个本地缓存,之前老的机制是本地没有缓存,就采取强制更新的方式把远程文章的图片再重新更新一遍。这种方法有两点问题:1、会浪费时间,再更新这么多图片,会导致push-markdown有点假死的状态。2、wordpress强制更新图片,虽说理论上应该不会出问题,但我怕一旦文件多起来,说不定会出bug。因此我新增了从网络文章中扒取下来这个选项,在获取旧文章的同时,可以获得文章中的img的src,然后更新到本地缓存中,这样子就省时省力多了。还有一个是检查网络图片,这步当图片多起来的时候,每次都要检查,其实没什么必要,本地有缓存就行了,网络的又不会丢,检查那么多图片反而带来很大的延迟和浪费带宽,不检查直接加快和省流,一举两得。

12/14

​ 没想到前端项目都过去一个月了,时间有点快啊,今天才发现锚点又有点问题了,之前把整个字符串的标点符号都去除了,这样导致所有的url都坏了,只用判断是不是本地锚点就行了,就indexOf(#)==0的替换就行了,顺便toLowerCase就行了。

​ 顺便把这个重启文件的逻辑给修改了,现在非常的顺畅,直接修改file,不会关闭再打开,会卡一下,现在非常的丝滑啊,舒服了。

2021年11月

11/20

​ 今天组长修复了一下主题的bug,然后我升级了一下一些依赖,感觉更新很快嗷,然后调整了文本框的界面大小。差不多,小修小补,如果没有大的bug,就应该是正式版的1.2.0。

11/19

​ 连干两天,看起来工作量非常的少,但是确实花了不少时间,这两天适配了一下cnblog,本来还想着适配一下开源中国的,因为找不到API文档,老是报错也不知道缺少什么字段,最后还是放弃了,找了半天也没有资料说能够使用,而且开源中国的博客非常的卡,经常连不上,断网,非常的拉胯。说一下适配cnblog这个情况吧,之前适配cnblog的时候就能够发送图片,但是图片一直发送失败,不知道是什么情况,这两天着重看了一下,还去问了博客园的技术人员,说是要base64的二进制进行传输,我试了好多次,就是不行,后来单独另开一个测试,发现可以,也不用其他的库,直接用Buffer.from(base64_string,'base64')就能获得二进制的base64。但是怪就怪在,我把代码原封不动的带回来就不行,经过我自己排查,我在预加载的文件返回 new MetaWeblog不行,不能返回一个实例化的对象,里面都是空的,这样子发送图片就会失败,但怪就怪在,wordpress是可以的,就很蛋疼,但是我又不想放开安全权限,最后采用IPC进程间的通信,把newMediaObject这块代码放在electron里面,而且不能传递对象,只能传递简单的,所以就把base64传递过去,然后再视情况判断要不要进行变成二进制,最终就完成了我的效果,经典代码屎山。

​ 我们组组长帮忙适配了主题,不亏是学过前端的,上手悟的很快,虽然改了好几次,不过一天内能搞定,还是非常的快的,所以这次就是1.2.0,bug修复还是挺多的,界面也越来越美观了,真不错。

11/16

​ 由于加入了阿里前端训练营,需要以小组的单位做一个项目,一开始想做win11,可是我一查github,直接已经有人做了,项目初始化都是六个小时之前的事情,后来我觉的和别人做重复的不太好,反正一周啥事都干不成,不如献祭出自己的项目,大家都同意了。

​ 可惜大家的积极性都不高,我也没办法了,我只能自己做了,至少我自己懂我自己的项目架构和缺点,只能慢慢修改bug了。

​ 周日就开始了,昨天也干了,今天把我的第一个目标完成了,就是在侧边栏加入文件列表,然后能够显示当前文件的路径下的所有文件,也可以进行点击打开文件,或者返回上一级的页面,同时可以隐藏和显示。

​ 还修复了三个bug,虽然都比较简单,但是需要找到问题的根源在哪儿。

2021年10月

2021/10/3

​ 由于静态备份网站的时候,因为中文URL会出不少的问题,所以就新增空白URL的功能,自动将标题的中文转换为拼音,这样子也不用我每次都要费劲脑汁去想英文。

2021年9月

2021/9/21

​ 今天上传很多图片的文档发现有问题,老是会有新的图片出来,明明我的图片设置逻辑是强制更新旧的图片,不会有新的图片出来,经查找,一个是CDN访问阈值的问题,图片检测的次数超过了访问阈值,就会检测失败,然后就会强制更新图片,又因为我写的脚本有个小错误,导致强制更新图片的逻辑是错误的,所以就出大问题。

2021/9/3

​ 浪费了五六个小时吧,想弄推送到cnblog,发现不太好弄,纯文字的是能够做到,但是图片上传就是不行,要求的格式是base64,但又要求Byte[]格式的,所以搞得我也不知道了到底是什么情况。一直报错,我也不想弄了,主要我也不用cnblogs,再网上一搜,发现都有了,毕竟大家用cnblogs的比较多, 自己搭博客的越来越少了。那就用他们的软件就行了,我的自用能够推送到WordPress就行了。

2021/9/2

​ 今天把昨天的烂尾收一下,就再更新了一下使用教程,到现在为止,这个软件终于能够正常的使用了,非常的舒服,断断续续开发了一个半月吧,总工作时间量大概在20天左右,总算把这个项目的1.x弄完了,接下来估计也是修修bug。从一个什么都不会的electron开发者,到现在会那么一点,还是很欣慰的。但markdown最重要的部分,都是通过库来解决,也不是我个人的意志。不过也是多亏了前人打下的江山,让我修修补补容易了不少。好,很有精神!

2021/9/1

​ 没时间了,具体看v1.1.0,还更新了使用教程,花了我好多时间。

2021年8月

2021/8/30

​ 软件有半个多月没有更新了,因为没啥大的bug,今天修复了五个bug,还是蛮不错的嗷。具体版本号是1.0.6。有个TOC目录的软件的bug我就不弄了,正经人谁放TOC,而且我博客能够正常跳转就行了,这个软件内看看样式就行了,扎不多得了。把之前返的点击外链是页内跳转的问题给修复了,没想到还挺简单的,复制粘贴解决方法就行了,哈哈哈。这次点击sample样例没有反应我是没有想到的,之前都有的,因为之前两个测试软件和正式软件装在一台电脑上,他不知道怎么回事读到测试软件上的sample,不过问题不大,毕竟解决了。最舒服的还是把webSecurity给重新改回true了,我的软件终于又是安全的了,安全最重要了!

2021/8/11

​ 其实昨天就有个日志的,太晚没写,就和今天一块好了。首先是历史状态的保存,就是将watch加上一个deep就行了,深层监控,这样子就行了。

​ 没有修改状态的保存是因为vue2之前换过来,注释掉this.$set这条语句,因为vue3不支持了,需要用到reactive这个语句,然后就行了。山重水复疑无路,总有办法能够解决的,直接一波更新v1.0.5版本。

2021/8/10

​ 修复了一下tab问题,今天上传的文章发现代码中出现emsp,之前没发现是因为代码都是顶格的,没注意到,而且我以为typora中的代码缩进会自动把tab变成四个空格,结果是tab显示成四个空格。之前暴力替换法不太行,最后还是遍历渲染后的markdown的p标签,把所有的tab换成emsp,因为代码用的全是code和span,根本没有p,舒服了一手。

​ 然后弄脚本替换,烦死了,早知道不弄了,废了我好久的时间,真的是难弄,多行文本根本没法替换,也不知道用sed的人怎么想的,python才是yyds好吧,但是我也不想用python,sh文件还是更加方便,尤其是对于这种情况。

2021/8/8

​ 这一段时间的都在忙自己事情,有快两周没有更新这个软件了,还有一些小bug,目前看不顺眼的就是图片不居中的问题,很简单,就是找到img标签的父标签,判断里面有没有文字,如果没有文字,即为单独的图片,那么就居中。三行就完事了,忙里抽空改bug。

​ 结果刚提交完,就发现一个bug,因为typora中可以改图片大小,调成百分之多少,但这个时候就不是[]()这种格式,而是会变成<img src="images/1627475002683.webp" alt="1627475002683" style="zoom:50%;" />这种格式,那么markdown-it渲染的时候不考虑img这种html标签,不会套一个p标签,因此需要手动套一个p标签,然后再居中。

2021年7月

2021/7/28

​ 今天更新了图片的逻辑,详情看1.0.4版本更新即可。这次进展还行吧,主要是对wordpress覆盖逻辑的修改这个比较麻烦,因为我不会php,也不会wordpress这些api,虽然死磕肯定能弄出来,但我不想死磕,就硬找有没有现成代码,经过不懈努力终于找到了,要不然我人就没了,舒服了嗷。

​ 晚上弄wordpress的webp格式,就是加一行代码,非常简单,只不过删除原来的jpg,还要转换webp比较麻烦。

2021/7/27

​ 又是一手好几天没有更新,就修改了更新远程文章的逻辑,这次进展算是比较顺利的,没有什么麻烦,感觉完成的还不错,详情看1.0.3版本更新即可。

2021/7/21

​ 今天改了几个bug,一个是图片本地加载不成功的,原因是地址被编码为url,所以加载不成功,urldecode一下就行了。还有一个是摘要自动提取的问题,就是库用不对了,之前应该是8.0.0,现在是7.1.1,所以可能忘改动了。

2021/7/17

​ 已经有几天没开发了,前两天在弄博客,已经弄得差不多了。今天本来是弄项目的,又不知怎么又想解决markdown的一个看似bug却不是bug的东西。就是在typora中的一个tab显示是一个全角空格,在github上和博客上都显示的是一个空格,这样子感觉就非常难受。虽然Markdown可以不用首行缩进,因为会有一个空行来区分段落。而我写文章已经习惯了使用Tab键来区分段落之间,语文课和word使用的习惯吧。

​ 于是我上网查怎么解决,一开始我是想找找有没有tab键转换成空格键,因为vscode就是这样子操作的,后来看了一下typora只能修改代码里的tab键的空格数,但是我要实现普通文本的替换。再进一步发现,markdown本身就是通过4个空格的方式来实现代码格式(应该把,因为我一直用typora,不怎么会用源代码模式编写),反正就有、尿。

​ 解决的一种方式是在写Markdown的时候使用&emsp;来进行缩进,但我每段前面都加个这个也太蛋疼了8,或者用脚本一键替换,最终我还是选择github或者gitee上就按他们默认的tab渲染方式吧,毕竟我不可能放弃tab键这么简单的操作,就只能把Push markdown的逻辑给改一下,就直接把文本的\t替换为&emsp;就行了,这样子推送到博客的文章如果使用了tab,就能变成一个全角空格,舒服了很多。

2021/7/14

​ 终于完成了1.0.0的版本建设,10天的工作量,终于差不多把原来的源代码全部挪过来,逻辑和方法都没改,就是变成TypeScript(AnyScript😁)。虽然现在还有很多很多问题,比如去除了MathJax,因为原来的代码不能试用,而且我也没有这方面的需求,还有图片上传逻辑等等,但毕竟现在能用,就已经大告成功了。

​ 可以推送博客了,好耶 ( •̀ ω •́ )✧。

2021/7/13

​ 今天学习进展还行,这个图片的问题算是解决了。图片上传默认编码发现不行,不知道为什么,原来的工具是可以支持的,明明代码都是一样的,所以需要改一下wordpress下mw_newMediaObject的解码方式为base64,然后本地也通过base64加密就行了,但是这个上传的逻辑还是需要我想一想,再重新构思一遍应该怎么弄,尤其是我多台设备之前,至少两台电脑,总不能都用本地缓存吧,如果能只获取图片的头部信息的话,那么就能砍掉本地缓存这一招,因为这样子可以确保以WordPress的库存为基础。当然,有人会想那多台设备之间的文件你怎么确保是一致的呢?因为我充钱了,用的WPS网盘,自动同步的,当然今天出了点问题,发现自己电脑没有同步过来,反正有点尿,可能是那边没有开启wps网盘就会出现这种状况,不知道能不能借用一下git的想法,这样子当然是最好的啦,行,溜了。

2021/7/12

​ 今天人有点麻,在寝室学习效率不行,不过已经能够推送非图片的markdown了,有图片的markdown老是各种报错,人就很尿。nginx还各种限制,文件大小限制等等,不过稍微改了一下,原来的应用程序就能用了,要不然会报错Unknown XML-RPC tag 'TITLE'也不知道是什么情况,之前明明测试过可以推送,也确实有图片可以推送,不知道是不是没有超过8M的限制了,也可能和今天的域名下来和CDN加速有关吧。明天再看看吧,去实验室开发吧,宿舍是真不行。

2021/7/11

​ mathjax打算先不弄了,先把推送给做出来,然后1.0就能成型了,希望能尽快做出来吧,还有好多问题要改呢,这个原作者好多库我都不会用,还得慢慢来看看。

2021/7/10

​ 烦啊,这个markdown的东西确实难搞, 现在只能稍微看一下,markjax还弄不起来,不过U1S1,我确实用不到公式,但如果日后需要,那么我就要继续弄,真的龙鸣好吧。现在的问题是那个滚动条会有两个,electron会自带一个滚动条,就很煞笔,不知道怎么取消,找了一下也没有electron关闭滚动条的操作,唉,还得再看看吧,不早了,溜了。

2021/7/8

​ 今天本身计划是没有做这个项目的,但是还是忍不住做了。然后一如既往的浪费时间,本想改一下标题栏的样式的,之前项目应该能够通过electron-vue这个组件在打包的时候修改样式,可惜现在没用这个,就改不了。目前我看有的库需要开启remote才能够实现,但我又不想弄成那样子,就很麻瓜,遂放弃了,加入以后的计划吧,说不定有空就实现了呢,然后尝试弄了一下tab栏,发现还是要把所有的界面给完成才能。

2021/7/7

​ 今天进展也是非常的缓慢。下午看了一下源代码的目录结构,感受一下,本想直接用,发现不能这样子,会有大大的问题,遂放弃。vue-i18n又遇到问题,虽说有安全问题,但还是用v-html 先顶一下,现在先凑活,到后面可以改成组件插入。然后加了几个文件,刚改了一下链接,尿了,发现今天啥都没干,就很难顶。

2021/7/6

​ 今天感觉干了什么,又没有干什么。下午看了一下安全指南,昨天那个示例发现不太合适,因为他自己封装了太多的东西,就看那个最简单的就行了,而且vue-cli-plugin-electron-builder里面也有说明怎么用preload,但其实引用的还是昨天那个示例作者的说法😅。通过复杂的操作来换取安全,我真的尿了,就是你和本地路径相关的操作在渲染进程都不能用,就只能提前通过preload来加载,算了,都决定要安全了,就一路到底吧。

​ 晚上看了一下vue-i18n的教程,发现还有一些高端操作,可惜我用不太上,就中英文切换应该就够了,怎么切换我也找了好久,有些都不能直接用,vue3切换需要在setup()里面进行全局切换,反正最终搞定了。

​ 发现vue的基础还是太过于薄弱了,相当于什么都不会,明天什么都不敢,就看vue3教程,看看能不能硬看懂。

2021/7/5

​ 那么今天有点浑浑噩噩,但也不是我想这么做,总体界面还是没有变动,找到一个挺不错的便签应用,就是使用electron11+vue3+TypeScript构建的,应该能够借鉴一些,虽然整个界面差的非常远。今天添加了一下Error错误信息处理,虽然就这一个文件,但我也是累的够呛的。首先是他也用了remote模块,官方并不推荐这种方法,因为会有安全问题,所以我小研究了一下ipcMain这个,在主进程和渲染进程中进行沟通,因为vue使用的是渲染线程,有点尿。然后我看到官方文档也不推荐nodeIntegration,建议使用preload来加载文件,但我又不会,刚找到一个electron安全模版,明天研究一下怎么使用,还是为了安全一点,毕竟我真的怕安全问题,到时候自己网站和电脑都挂了就麻烦了,行。不早了,明天再看。

2021/7/4

​ 第一次代码重构,先把electron13+vue3+TypeScript的示例给跑起来,发现安装包居然有56M,安装完的大小能有180M,比原软件大了50M,不知道怎么优化,说实话,也不一定需要优化,但到时候再看吧。

​ 然后进行第一步的代码重构,尝试使用i18n插件,毕竟原软件就有两种语言,我也不需要花力气重写文字。之后完成菜单栏的替换,把文字和动作都给替换了,果然有前人的铺垫,路就是好走啊。

JavaScript
1
https://gitee.com/xaotuman/push-markdown.git
git@gitee.com:xaotuman/push-markdown.git
xaotuman
push-markdown
push-markdown
master

搜索帮助