Repository navigation
Development Setup zh TW
Hammad Maqbool edited this page Oct 29, 2026
·
1 revision
English · 简体中文 · 繁體中文 · Español · العربية · Français · Português (Brasil) · Deutsch · हिन्दी · 日本語 · 한국어 · Русский · Bahasa Indonesia · Türkçe · Italiano · Tiếng Việt
本頁協助你執行 docxi 的本機副本,並介紹測試、範例文件和 CI 設定。
git clone https://github.com/hammad417/docxi.git
cd docxi
bundle install
bundle exec rake test開發時可以使用 Ruby 2.5 以上的任何版本。開發用的相依套件是 minitest 和 rake。
| 命令 | 作用 |
|---|---|
bundle exec rake test |
執行測試套件(預設工作) |
bundle exec rake samples |
將範例文件寫入 tmp/samples/*.docx,以便在 Word、LibreOffice 或 Google Docs 中開啟 |
bundle exec rake golden |
根據目前的程式碼重寫 test/golden。只在刻意變更輸出後使用 |
bundle exec rake build |
將 gem 建置到 pkg/ 中 |
gemfiles/ 資料夾中每個 Rails 版本都有一個 Gemfile,另外還有幾個用於較舊 rubyzip 和 nokogiri 版本的 Gemfile:
BUNDLE_GEMFILE=gemfiles/rails_8.1.gemfile bundle install
BUNDLE_GEMFILE=gemfiles/rails_8.1.gemfile DOCXI_WITH_RAILS=1 bundle exec rake testDOCXI_WITH_RAILS=1 會在測試前載入整個框架,也會將 docxi 的 blank? 規則與 ActiveSupport 的規則進行比對。
| 檔案 | 檢查內容 |
|---|---|
test/test_golden_output.rb |
兩份範例文件的每個組件都與 0.0.6 產生的相同 |
test/test_package.rb |
XML 格式正確、關聯指向存在的組件、每個組件都有內容類型,而且沒有 Zip64 記錄 |
test/test_media.rb |
來自路徑、IO 物件和 URL 的圖片,以及 | 字串絕不會被當作命令執行 |
test/test_fixed_features.rb |
tab、frame 和頁首中的頁碼 |
test/test_util.rb |
Docxi::Util.blank? 遵循 ActiveSupport 的規則 |
test/test_rails_independence.rb |
docxi 可以在沒有 ActiveSupport 的情況下執行 |
test/test_warnings.rb |
渲染時 lib/ 不會發出淘汰警告 |
範例文件位於 test/support/sample_documents.rb,test/support/package.rb 會直接從 zip 結構中讀取 .docx。
.github/workflows/ci.yml 會在每次推送到 master 以及每個 pull request 上執行,涵蓋:
- 不載入 Rails 的 Ruby 2.5、2.6 和 4.0
- Rails 5.2(Ruby 2.5)、6.0(2.7)、6.1(3.0)、7.0(3.1)、7.1(3.2)、7.2(3.3)、8.0(3.4)和 8.1(4.0)
- Rails
main,允許失敗 - rubyzip 1.3 和 2.4,以及 nokogiri 1.11
- 一個以 LibreOffice 將範例文件轉換成 PDF 的工作
版本發布的說明請參閱部署。
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages