开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 107|回复: 0
收起左侧

[闲聊] 多平台文章同步浏览器插件 - ArticleSync

[复制链接]
结帖率:100% (4/4)
发表于 2024-10-16 19:29:39 | 显示全部楼层 |阅读模式   广东省东莞市
本帖最后由 阿珏 于 2024-10-16 19:36 编辑

ArticleSync - 多平台文章同步插件

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

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

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

背景

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

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

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

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

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

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

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

功能特色

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

Todo List

  • [ ] 独立文章编辑器
  • [ ] 图片一键同步
  • [x] 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/ 文件夹。
  6. 开发

    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 留言

许可证

Copyright (c) 2024-present, iAJue

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

截图





您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表