我们花了3天,做了一个文章一键同步的插件,然后,免费送。 * { margin: 0; padding: 0; outline: 0; } body { font-family: “PingFang SC”, system-ui, -apple-system, BlinkMacSystemFont, “Helvetica Neue”, “Hiragino Sans GB”, “Microsoft YaHei UI”, “Microsoft YaHei”, Arial, sans-serif; line-height: 1.6; } .__page_content__ { max-width: 667px; margin: 0 auto; padding: 20px; text-size-adjust: 100%; color: rgba(0, 0, 0, 0.9); padding-bottom: 64px; } .title { user-select: text; font-size: 22px; line-height: 1.4; margin-bottom: 14px; font-weight: 500; } .__meta__ { color: rgba(0, 0, 0, 0.3); font-size: 15px; line-height: 20px; hyphens: auto; word-break: break-word; margin-bottom: 50px; } .__meta__ .nick_name { color: 576B95; } .__meta__ .copyright { color: rgba(0, 0, 0, 0.3); background-color: rgba(0, 0, 0, 0.05); padding: 0 4px; margin: 0 10px 10px 0; } blockquote.source { padding: 10px; margin: 30px 0; border-left: 5px solid ccc; color: #333; font-style: italic; word-wrap: break-word; } blockquote.source a { cursor: pointer; text-decoration: underline; } .item_show_type_0 > section { margin-top: 0; margin-bottom: 24px; } a { color: 576B95; text-decoration: none; cursor: default; } .text_content { margin-bottom: 50px; user-select: text; font-size: 17px; white-space: pre-wrap; word-wrap: break-word; line-height: 28px; hyphens: auto; } .picture_content .picture_item { margin-bottom: 30px; } .picture_content .picture_item .picture_item_label { text-align: center; } img { max-width: 100%; } .pay_subscribe_notice { margin: 30px 0; padding: 20px; background: fffbe6; border: 1px solid ffe58f; border-radius: 8px; } .pay_subscribe_badge { display: inline-block; padding: 4px 12px; background: faad14; color: fff; border-radius: 4px; font-size: 14px; font-weight: 500; margin-bottom: 12px; } .pay_subscribe_desc { font-size: 15px; line-height: 1.8; color: rgba(0, 0, 0, 0.7); margin-bottom: 12px; } .pay_subscribe_hint { font-size: 13px; color: rgba(0, 0, 0, 0.4); } .__bottom-bar__ { display: flex; justify-content: space-between; align-items: center; position: fixed; bottom: 0; left: 0; right: 0; height: 64px; padding: 8px 20px; background: white; box-sizing: border-box; border-top: 1px solid rgba(0, 0, 0, 0.2); } .__bottom-bar__ .left { display: flex; align-items: center; font-size: 15px; white-space: nowrap; } .__bottom-bar__ .right { display: flex; } .__bottom-bar__ .sns_opr_btn { display: flex; align-items: center; user-select: none; background: transparent; border: 0; color: rgba(0, 0, 0, 0.9); font-size: 14px; } .__bottom-bar__ .sns_opr_btn:not(:last-child) { margin-right: 16px; } .__bottom-bar__ .sns_opr_btn > img { margin-right: 4px; }
我们花了3天,做了一个文章一键同步的插件,然后,免费送。
原创 数字生命卡兹克 数字生命卡兹克 2024-11-20 09:02 北京
我不知道大家,但是对我这样的写内容的人来说,一直有一个很头疼的痛点。
就是把我在公众号上发的文章,同步到其他的文字内容平台上。
比如知乎、微博、百家号、B站等等。
之前都是人工同步,实在是痛不欲生。
而且之前也去找过N多种同步的方法,比如新榜的小豆芽,还有一些同步插件啥的,但是都不太能解决我的痛点。
比如我们曾经找的一款寄予厚望的Chrome插件,叫**“Wechatsync”**。
看着是不是很酷?
支持国内23+个平台同步发布,最高速度解放生产力,一键同步。
但是最大的问题,就是。
它已经停更3年了。
3年时间,起起伏伏,天地玄黄,宇宙鸿荒,这世间早就已经变了模样。这些支持的平台,自然也是几乎失效了个干净。
在试了很多后,我也一度放弃了。
直到最近,实在是不堪重负,每天早上9点多发完文章,要花将近半个小时时间,把我在公众号上发完的文章,复制粘贴到各个平台,还要注意排版、换行等等,实在是崩溃了。
所以,我决定,又把这个“自动化文章同步”的想法给拾起来,每天手动同步文字,简直就是浪费时间浪费生命。
而且我更是不知道,这花的半小时,到底有什么意义。
决心已下。
既然找不到,那我决定,就我们自己来魔改。
而要改的底子,就是**“Wechatsync”**,毕竟已经有前辈为我们铺好了路,完全从0开始自己造,也是没有必要。
我拉着我团队的开发小伙伴@dongyi,认真的把Wechatsync这个插件的逻辑看了一遍。
这个插件逻辑大概是这样的,用户安装完插件后,这个插件会通过已登录平台账号的cookies来获取用户的登录信息(是安全的,不会让账号信息泄漏),就类似于你们已经在浏览器上登了微博,下次再登录这个网页就不会让你在输一遍账号密码,直接是登录状态,一个逻辑。
然后就会在屏幕上出现插件的按钮,你点击后,就会在这篇文章的网页上进行正文提取,再把这篇文章的HTML代码和图片上传到其他平台去。
然后会在对应平台上,创建一个空白的草稿,把你的所有内容,填充进去,当你确认完成以后,就可以手动点击发布。
不过因为太久没维护,BUG也很多。
比如知乎还行,但是在微博和B站上,格式直接爆炸,完全没有换行。
找了很久的解决办法,然后源代码跟天书一样堆在一起。
最后发现是在微信里每行都是在一个section里,但B站和微博的编辑器不认这个section。。。
最后通过代码给每行的section后面加
这个喜闻乐见的换行符实现。
还有百家号,更是痛苦之源。
上传图片失败、保存草稿失败,直接痛苦面具戴上了。
最后找了很久,才发现是API有变动,然后百家号的验证方法也有变化,磕巴半天终于改完了。
又觉得原来的交互和按钮太丑,把前端小改了一下。
点击这个同步该文章后,就会弹出一个小框。
可同步账号就是你已经登录的,后面会显示你登录的ID名字,百家号和知乎就是我还没在浏览器上登录的平台,所以同步不过去。
如果你把他们都登录完,就能看到全部亮起。
点击同步后,这个小插件就会开始嘟嘟嘟的同步了,同步完成的平台会给你一个查看草稿的按钮,可以直接跳转到对应的草稿箱。
我们可以跳过去看一下。
所有的样式,完美无暇。
最后的最后,只需要你,手动点4下发布按钮就行。
当然,还有一个我们无解的问题,就是当文章里面带有视频,这时候同步的时候会出BUG,只能把视频的一些信息用文字同步过去。
但是视频这事,是真的无解。只能手动处理一下,然后手动上传到各大平台了。
不过坦率的讲,我现在是能用gif就用gif,视频本身也不多,对于我自己倒是还好。
最后的最后,我终于,再也不用靠人力,去跟拉磨的驴一样,每天苦唧唧的手动同步了。
插件我直接放在后台了,直接对着公众号私信【同步】就有了,下载完成以后解压,然后进入Chrome浏览器的扩展程序管理界面,打开右上角的开发者模式,左上角加载解压完的文件夹就行。
Chrome商店版本还在审核中,所以没法直接从商店下载,只能用本地包来安装了。
最后,感谢原插件wechatsync的作者lljxx1,感谢他在几年前留下的这个底子。
感谢dongyi的开发,熬了几天夜,把代码看了N遍,终于改成了完全体。
我有一个觉得很有用的工作信条,这是李继刚告诉我的。
就是,当一件事,如果需要毫无意义的重复3次以上。
那就必须把这个流程,想尽一切办法自动化。
无论是AI、是RPA、是开发插件等等,都可以。
我们自己的精力是有限的,一定要把时间和精力,放在更有价值的事情上。
向来枉费推移力,此日中流自在行。
共勉。
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。
>/ 作者:卡兹克、dongyi
>/ 投稿或爆料,请联系邮箱:wzglyay@gmail.com
数字生命卡兹克
 阅读 赞  分享 ‘%3E %3Cg transform=‘translate(0 -2.349)‘%3E %3Cpath d=‘M0 2.349h24v24H0z’/%3E %3Cpath fill=‘%23576B95’ d=‘M16.45 7.68c-.954 0-1.94.362-2.77 1.113l-1.676 1.676-1.853-1.838a3.787 3.787 0 0 0-2.63-.971 3.785 3.785 0 0 0-2.596 1.112 3.786 3.786 0 0 0-1.113 2.687c0 .97.368 1.938 1.105 2.679l7.082 6.527 7.226-6.678a3.787 3.787 0 0 0 .962-2.618 3.785 3.785 0 0 0-1.112-2.597A3.687 3.687 0 0 0 16.45 7.68zm3.473.243a4.985 4.985 0 0 1 1.464 3.418 4.98 4.98 0 0 1-1.29 3.47l-.017.02-7.47 6.903a.9.9 0 0 1-1.22 0l-7.305-6.73-.008-.01a4.986 4.986 0 0 1-1.465-3.535c0-1.279.488-2.56 1.465-3.536A4.985 4.985 0 0 1 7.494 6.46c1.24-.029 2.49.4 3.472 1.29l.01.01L12 8.774l.851-.85.01-.01c1.046-.951 2.322-1.434 3.59-1.434 1.273 0 2.52.49 3.472 1.442z’/%3E %3C/g%3E %3C/g%3E %3C/g%3E%3C/svg%3E) 推荐 ’ fill=‘%23000’ fill-opacity=’.9’/%3E%3C/svg%3E) 留言