新增第一方外掛程式

進一步瞭解外掛程式

授權程序

外掛程式會經歷四個階段:建議討論實作發布

建議

外掛程式會以「建議」的形式啟動。您可以使用功能要求範本建立新的問題,藉此建議外掛程式。

瞭解如何撰寫功能要求

除了基本功能要求資訊外,外掛程式建議還應包含:

  • 外掛程式要公開的 API。
  • 必須在核心 Blockly 中新增或變更的 API,才能支援這個外掛程式。
  • 如果外掛程式包含 UI 功能,請使用螢幕截圖、GIF 或模擬圖。
  • 說明為何應採用第一方外掛程式,而非第三方外掛程式。

Blockly 團隊會在收到建議時進行審查,然後關閉問題或新增 status: discussion 標籤。

討論

接著,外掛程式會進入「討論」階段。這個階段包括:

  • 說明所需功能的相關說明。
  • 外掛程式 API 的說明。
  • 規劃實作。
  • 規劃測試。
  • 核心 Blockly 的 API 變更討論。
  • 將大型外掛程式分割成實作步驟。
  • 依據我們的命名慣例命名外掛程式。
  • 確認符合所有第一方條件。

這項討論通常是在 GitHub 問題中進行。外掛程式的範圍越小,討論階段的速度可能就越快。大型外掛程式可以吸引社群關注,並對適當的解決方案產生強烈的看法。如果您的問題是造成這種情況,恭喜您!你發現了大家關心的事

目標是在討論階段結束時,已完成所有主要的設計決策,並提出明確的實作步驟清單。兩者都應記錄在問題留言中。

在討論期間,我們可能會決定外掛程式應為第三方外掛程式,而不是在 @blockly 範圍下發布。在這種情況下,我們會說明問題的原因,然後解決。

討論完成時,Blockly 團隊成員會為問題加上 status: Implement 標籤。

導入作業

導入步驟包括:

  • 執行 npx @blockly/create-package 以從範本設定外掛程式及其目錄。瞭解詳情...
  • 實作外掛程式的核心邏輯。
  • 視需要實作 UI。
  • 使用 mocha 測試外掛程式。
  • 記錄外掛程式,包括 README

如果外掛程式的問題標有 status: implementation 標籤,表示該問題已可實作或已主動實作。為避免重複,任何有興趣的人都可以對問題提出評論,並詢問是否仍開放捐款。

導入作業可能會同時由多位協作者同時執行。您可以在自己的分支上協作實作外掛程式,或透過對這個存放區的提取要求實作。如果您要在這個存放區中協作外掛程式,請要求 Blockly 團隊為您建立功能分支版本。

請將外掛程式新增至區塊範例範例內 master 分支版本的 gh-pages/index.md 檔案。讓這些外掛程式顯示在我們的外掛程式網站上。第一方外掛程式應指向其測試頁面。您也可將第三方外掛程式新增至這個頁面,並指向其擁有者選擇的連結,例如代管示範或 npm 頁面。

發布範圍

最後是發布。Blockly 團隊使用 Lerna 管理所有外掛程式的版本管理和發布作業。

每個星期四,在上次發布版本後有異動的外掛程式。如果您需要更早發布的變更,請在提取要求中加以註明。

每次發布外掛程式時,外掛程式網站也會隨之更新。

尚未準備好發布的外掛程式應在其 package.json 中標示為 private。如果外掛程式依賴的是核心 Blockly 中尚未發布的變更,就可能發生這種情況。Core Blockly 會在每個季度的最後一週發布 (每三個月一次)。