ArticleSync - 多平台文章同步插件

ArticleSync 是一个浏览器扩展,帮助用户轻松将文章同步发布到多个社交平台。支持将文章从本地草稿发布到各大平台,如知乎、Bilibili 等。它提供了一站式解决方案,让你在不同的社交媒体平台上同步文章变得简单高效。

基于浏览器插件模式,自动检测本地登录账号,杜绝账号泄露,环境异常等风险

基于 chrome Manifest v3 浏览器扩展标准开发,注意内核版本要求

背景

你也知道,我这又一下子多了好几个博客平台,和一大堆社交网站,如果我想让他们之间都能保持活跃的更新怎么办.(证明我还活着) 还能一键盗文章

我最常更新的就是我自己的小破站了,但是其他平台,我可能就只是偶尔更新一下,但是又不想每次都去手动发布,所以我就想,能不能写一个插件,自动检测我本地登录的账号,然后自动发布呢.

正所谓,自己动手丰衣足食.鼓捣了好几天.勉强算是能用的样子,剩下的就有空在更新了.除非你给我钱

插件还有很多不完善的地方,我也没有多平台正式在生产环境中实测,如遇报错,实属正常,那就提交issue吧,或者自己改改,改好了再提交PR吧.嘻嘻~

为了不影响我说话,截图放最后了

还有,开源不易,来个star吧,嘿嘿嘿~

本来想加一点私货进去的,自动关注我的社区平台

功能特色

  • 多平台支持:支持知乎、Bilibili等各大主流平台,支持自建开源CMS系统。
  • 状态跟踪:在插件界面中查看文章的同步状态.
  • 账号管理:可查看与插件绑定的各平台账号信息。
  • 可扩展性强:支持开发者通过适配器模式轻松扩展到更多平台。
  • 安全可靠:插件基于浏览器扩展模式,确保账号安全,避免账号泄露等风险。

Todo List

  • 独立文章编辑器
  • 图片一键同步
  • markdown与HTML互转
  • 第三方图床系统
  • 多账号管理
  • 多系统客户端版本
  • 一键ai总结
  • 视频同步
  • 标签,分类的支持
  • 更加友好的错误处理
  • 更多平台的接入

支持渠道

媒体 媒体行业 状态 网址 支持类型 更新时间
哔哩哔哩 主流自媒体 已支持 https://bilibili.com/ HTML 2024/10/13
知乎 主流自媒体 已支持 https://www.zhihu.com/ HTML 2024/10/13
博客园 博客 已支持 https://cnblogs.com/ HTML 2024/10/14
新浪头条 主流自媒体 已支持 https://weibo.com/ HTML 2024/10/14
emlog 开源CMS 已支持 https://www.emlog.net/ HTML 2024/10/14
WordPress 开源CMS 已支持 https://cn.wordpress.org/ HTML,Markdown 2024/10/14
Discuz 开源CMS 已支持 https://www.discuz.vip/ Markdown,Text 2024/10/15

安装说明

  1. 克隆仓库到本地:

    git clone https://github.com/iAJue/Articlesync.git
  2. 进入项目目录:

    cd articlesync
  3. 安装依赖:

    npm install
  4. 打包项目

    npm run build
  5. 加载插件:

  • 打开 Chrome 浏览器,进入 chrome://extensions/。
  • 启用 开发者模式。
  • 点击 加载已解压的扩展程序,选择 dist/ 文件夹。
  1. 开发

    1. 启动开发环境
    npm run watch-reload
    1. 以配置热更新,每次修改代码后,插件将自动打包,并且 Chrome 会自动重新加载插件。

如何添加一个适配器

  1. src/adapters 目录下创建一个新的适配器文件,例如 PlatformAdapter.js
  2. 继承 BaseAdapter 类,并实现以下方法:
    • getMetaData(): 获取当前页面的元数据。
    • addPost(post): 添加新的文章。
    • editPost(post, post_id): 编辑文章。
    • uploadFile(file): 上传文件。
    • 定义constructor构造函数,设置适配器的版本、类型和名称或其他初始化数据.
       constructor() {
      super();
      this.version = '1.0';
      this.type = 'Twitter';
      this.name = '推特';
      }
  3. src/adapters/adapters.js 中导入并注册新的适配器。

项目结构

├── src
│ ├── adapters # 各平台的适配器
│ │ ├── ZhiHuAdapter.js
│ │ ├── BilibiliAdapter.js
│ ├── contents # 内容脚本
│ ├── background.js # 后台脚本
│ ├── popup # 插件弹窗界面
│ │ ├── popup.js
│ │ ├── popup.html
│ ├── options # 扩展选项页面
│ │ ├── options.js
│ │ ├── options.html
│ ├── dist # 打包后的文件
│ ├── manifest.json # Chrome 插件清单文件
├── webpack.config.js # Webpack 配置文件
├── package.json # 项目配置文件
├── README.md # 项目说明文件
├── .gitignore # Git 忽略文件

贡献指南

欢迎对项目进行贡献!如果你有任何改进意见或想要添加新的平台支持,请遵循以下步骤:

  1. Fork 仓库。
  2. 创建一个新的分支。
  3. 提交你的更改。
  4. 发起一个 Pull Request。

反馈

如果你在使用过程中遇到任何问题或建议,请通过以下方式告诉我们:

  • 提交 Issue

    • BUG

      • 浏览器版本: Chrome 129.0.6668.90
      • 内核版本: 129.0.6668.90
      • 操作系统: Windows 10
      • 插件版本: 1.0.0
      • 复现步骤:
      • 错误描述:
    • 建议
      • 描述:
      • 期望效果:
    • 支持
      • 平台:
      • 网址:
      • 账号: (有最好)
  • Blog:访问 阿珏酱のBlog 留言

投喂

我很可爱,请给我钱!
I am cute, please give me money!

啥?没钱?没事,我也支持虚拟币

钱包地址:0x56949baed7b69b09a1c5539230ba6ffadd0323c3

许可证

Copyright (c) 2024-present, iAJue

本项目遵循 GPL-3.0 许可证。

截图









多平台文章同步浏览器插件 – ArticleSync的更多相关文章

  1. MetaWebLog API — 一个多平台文章同步的思路

    文章选自我的博客:https://blog.ljyngup.com/archives/578.html/ 起因 为了给博客带来流量,我在CSDN,博客园,简书上开通了账号并且把博客里的一些可以发布的文 ...

  2. Atitit.hybrid混合型应用 浏览器插件,控件的实现方式 浏览器运行本地程序的解决方案大的总结---提升用户体验and开发效率..

    Atitit.hybrid混合型应用 浏览器插件,控件的实现方式 浏览器运行本地程序的解决方案大的总结---提升用户体验and开发效率.. 1. hybrid App 1 1.1. Hybrid Ap ...

  3. atitit. applet 浏览器插件 控件 的环境,开发,提示总结o9o

    atitit. applet 浏览器插件 控件 的环境,开发,提示总结o9o 1. 建立applet:: 1 2. Applet 码 1 3. Applet (awt)跟japplet (swing) ...

  4. chrome浏览器插件启动本地应用程序

    chrome浏览器插件启动本地应用程序 2014-04-20 00:04:30|  分类: 浏览器插件|举报|字号 订阅     下载LOFTER我的照片书  |     chrome的插件开发这里就 ...

  5. mac 下基于firebreath 开发多浏览器支持的浏览器插件

    mac 下基于firebreath 开发多浏览器支持的浏览器插件 首先要区分什么是浏览器扩展和浏览器插件;插件可以像本地程序一样做的更多 一. 关于 firebreath http://www.fir ...

  6. Rest Client(Rest接口调试工具,有保存功配置功能) chrome浏览器插件

    Rest Client(Rest接口调试工具,有保存功配置功能) chrome浏览器插件 下载地址 插件的操作很简单,下面是一些简单的实例. 1.安装 在谷歌应用商城搜索postman,如下图1-1所 ...

  7. 在NPAPI开发火狐浏览器插件在NPAPI插件

    1.插件是什么 插件是一种遵循一定规范的应用程序接口编写出来的程序.插件必须依附于一个宿主程序,为宿主程序提供增强功能.插件的种类有很多,这里主要讨论浏览器插件. IE下利用OLE和COM技术开发的浏 ...

  8. 使用 Chrome 浏览器插件 Web Scraper 10分钟轻松实现网页数据的爬取

    web scraper 下载:Web-Scraper_v0.2.0.10 使用 Chrome 浏览器插件 Web Scraper 可以轻松实现网页数据的爬取,不写代码,鼠标操作,点哪爬哪,还不用考虑爬 ...

  9. 基于MFC的ActiveX控件开发教程------------浏览器插件之ActiveX开发

    浏览器插件之ActiveX开发(一) 一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注册安装)体验问题.在有特殊需求(如涉及数据安全的金融业务 ...

  10. 浏览器指纹 - HTTP cookie 浏览器指纹 欺诈检测 浏览器id hash 浏览器插件信息 canvas 字体信息

    详解浏览器cookie和浏览隐私之间的关系http://www.iefans.net/cookie-yinsi-guanxi/ 详解浏览器cookie和浏览隐私之间的关系 浏览器相关 互联网 2013 ...

随机推荐

  1. AI开源是否应该完全开源?AI的完全开源是否可以实现?

    看了一个视频: 袁进辉:零代码改动,加速AIGC 里面提到了一个完全开源的概念,感觉有些意思,虽然觉得可实现性不高,嘿嘿嘿!!! AI的完全开源: 训练数据开源.数据清洗过程开源.模型权重开源.项目代 ...

  2. 自然语言处理:通过API调用各大公司的机器翻译开放平台

    国内大公司做机器翻译做的比较好的有讯飞和百度,这里给出这两个公司机器翻译的开放平台API的介绍: 讯飞开放平台: 链接:https://www.xfyun.cn/doc/nlp/xftrans_new ...

  3. 作为电脑屏幕的补光灯,到底是应该选Led灯还是荧光灯

    现在的台灯灯具市场基本被Led灯给霸占,这就无形之中要大家买台灯的时候只能选择Led等,我也是如此,手上有一款20年前上高中时候的"孩视宝"荧光灯的台灯,然后还有一款刚刚购入的Le ...

  4. 破局SAP实施难题、降低开发难度,定制化需求怎样快速上线?

    前言 SAP 是全球领先的业务流程管理软件供应商之一,其提供广泛的模块化解决方案和套件,所开发的软件解决方案面向各种规模的企业,帮助客户规划和设计业务流程.分析并高效设计整个价值链,以更好的了解和响应 ...

  5. Apache DolphinScheduler数仓任务管理规范

    前言: 大数据领域对多种任务都有调度需求,以离线数仓的任务应用最多,许多团队在调研开源产品后,选择Apache DolphinScheduler(以下简称DS)作为调度场景的技术选型.得益于DS优秀的 ...

  6. Jenkins配置分布式构建环境——添加固定Agent并使用JNLP启动Agent详解

    1.概述 在<Jenkins部署架构概述>这篇博文中对Jenkins部署架构进行了讲解.对于分布式架构,Jenkins包括固态Agent和动态Agent两种方案. 固定Agent(常用于虚 ...

  7. 06-canvas填充图形颜色

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  8. 【测试平台开发】——05Flask后端api开发实战(二)—— SqlAlchemy

    SqlAlchemy SQLAlchemy是Python编程语言下的一款开源软件.提供了SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行. SQLAlchemy"采用简单的Py ...

  9. JWT(JSON WEB TOKEN)是玩具吗

    JWT当然不是玩具,理解其设计意图,和适用场景自然会发现存在的就是有价值的 JWT: JSON Web Token 起源和定义 JWT(JSON Web Token)是由 IETF(Internet ...

  10. ChatGPT学习之旅 (10) 系统全球化小助手

    大家好,我是Edison. 上一篇我们写了一个运维小助手的prompt,它帮我们写一些我们开发者不太愿意做的一些运维小任务.这一篇,给大家分享下我在日常的系统开发中遇到的多语言/全球化的任务中是如何通 ...