ArticleSync - 多平台文章同步插件

ArticleSync 是一個瀏覽器擴充功能,幫助使用者輕鬆將文章同步發佈到多個社交平台。支援將文章從本地草稿發佈到各大平台,如知乎、Bilibili 等。它提供了一站式解決方案,讓你在不同的社交媒體平台上同步文章變得簡單高效。

基於瀏覽器外掛程式模式,自動偵測本地登入帳號,杜絕帳號洩露、環境異常等風險

基於 Chrome Manifest v3 瀏覽器擴充功能標準開發,請注意核心版本要求

背景

你也知道,我這又一下子多了好幾個部落格平台,和一大堆社交網站,如果我想讓它們之間都能保持活躍的更新怎麼辦。(證明我還活著) 還能一鍵盜文章

我最常更新的就是我自己的小破站了,但是其他平台,我可能就只是偶爾更新一下,但是又不想每次都去手動發佈,所以我就想,能不能寫一個外掛程式,自動偵測我本地登入的帳號,然後自動發佈呢。

正所謂,自己動手豐衣足食。鼓搗了好幾天,勉強算是能用的樣子,剩下的就有空再更新了。除非你給我錢

外掛程式還有很多不完善的地方,我也沒有多平台正式在生產環境中實測,如遇報錯,實屬正常,那就提交 issue 吧,或者自己改改,改好了再提交 PR 吧。嘻嘻~

為了不影響我說話,截圖放最後了

還有,開源不易,來個 star 吧,嘿嘿嘿~

本來想加一點私貨進去的,自動關注我的社群平台

功能特色

待辦事項

支援管道

媒體

媒體行業

狀態

網址

支援類型

更新時間

嗶哩嗶哩

主流自媒體

已支援

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. 複製儲存庫到本地:

    PLAINTEXT
    git clone https://github.com/iAJue/Articlesync.git
    クリックして展開し、詳細を表示
  2. 進入專案目錄:

    PLAINTEXT
    cd articlesync
    クリックして展開し、詳細を表示
  3. 安裝依賴:

    PLAINTEXT
    npm install
    クリックして展開し、詳細を表示
  4. 打包專案

    PLAINTEXT
    npm run build
    クリックして展開し、詳細を表示
  5. 載入外掛程式:

    • 開啟 Chrome 瀏覽器,進入 chrome://extensions/。
    • 啟用 開發者模式。
    • 點擊 載入已解壓的擴充功能,選擇 dist/ 資料夾。
  6. 開發

    1. 啟動開發環境

      PLAINTEXT
      npm run watch-reload
      クリックして展開し、詳細を表示
    2. 已配置熱更新,每次修改程式碼後,外掛程式將自動打包,並且 Chrome 會自動重新載入外掛程式。

如何新增一個轉接器

  1. src/adapters 目錄下建立一個新的轉接器檔案,例如 PlatformAdapter.js

  2. 繼承 BaseAdapter 類別,並實作以下方法:

    • getMetaData(): 取得目前頁面的中繼資料。
    • addPost(post): 新增文章。
    • editPost(post, post_id): 編輯文章。
    • uploadFile(file): 上傳檔案。
    • 定義 constructor 建構函式,設定轉接器的版本、類型和名稱或其他初始化資料。
      PLAINTEXT
      constructor() {
          super();
          this.version = '1.0';
          this.type = 'Twitter';
          this.name = '推特';
      }
      クリックして展開し、詳細を表示
  3. src/adapters/adapters.js 中匯入並註冊新的轉接器。

專案結構

PLAINTEXT
├── 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。

回饋

如果你在使用過程中遇到任何問題或建議,請透過以下方式告訴我們:

贊助 ☕

PLAINTEXT
我很可愛,請給我錢!
I am cute, please give me money!
クリックして展開し、詳細を表示

image

授權條款

Copyright (c) 2024-present, iAJue

本專案遵循 GPL-3.0 授權條款。

截圖

著作権表示

著者: MoeJue

リンク: https://ja.moejue.cn/zh-hant/posts/218/

ライセンス: クリエイティブ・コモンズ表示-非営利-継承4.0国際ライセンス

この作品は、クリエイティブ・コモンズ表示-非営利-継承4.0国際ライセンスに基づいてライセンスされています。

検索を開始

キーワードを入力して記事を検索

↑↓
ESC
⌘K ショートカット