Dɛvɛlopimɛ
Gidiki dɛnɛkɛla
Ka dɔkumenti minnu bɛ yen bɛɛ sɛbɛn kɔnɔ website/docs (English) dɔ. Tarikɛliw minnu bɛ yen website/i18n/<locale>/… kɔfɛ bɛ ɲɛgɛnna, o kɔfɛ ma na ka kɛ sɛbɛnna dɔni dɔ. Ka tarikɛli min (misali, make translate_web_docs_batch) ka na ka bɛɛ sɛbɛnna kɛnɛ ye.
Kɔfɛw (Prerequisites)
- Node.js 22+ ni npm (a tɛstɛ ka done Node 22 kɔfɛ)
- Thunderbird 128 ESR walima kɔrɔsen dɔ (manu sɛgɛsɛgɛ tɛstila walasa)
Projekiti lajɔ (high‑level)
- Root: pakajiŋ scripiti
distribution_zip_packer.sh, dɔkumentiw, sikanjɛw sources/: add‑on bɛɛ bɔ (background, options/popup UI, manifests, icons)tests/: Vitest sɛgɛsɛgɛwwebsite/: Docusaurus dɔkumentiw (i18n bɛ yenwebsite/i18n/de/...kɔfɛ)
Sɛbɛnni ni Jalakɛlaw
- Sɛbɛn root dependencies:
npm ci - Dɔkumentiw (tɔɔrɔ bɛɛ min ye):
cd website && npm ci - Ka targetw sɔrɔ:
make help
Live dɛnɛkɛla (web‑ext run)
- Siraba kɔrɔ kɔrɔ Firefox Desktop la (UI smoke‑tests kelen de):
npx web-ext run --source-dir sources --target=firefox-desktop- Ka kalan Thunderbird la (MailExtensions na ye ka da la):
npx web-ext run --source-dir sources --start-url about:addons --firefox-binary "$(command -v thunderbird || echo /path/to/thunderbird)"- Dɛmɛcogo:
- Ka Thunderbird Error Console bɔ minɛn (Tools → Developer Tools → Error Console).
- MV3 event pages bɛ na kɔrɔ kɔrɔ sɔn ka taa sisan sisan; ka add‑on yɔrɔ kɔlɔsili a bɛɛ lajɛ ka code bɛ yenna ko dɔ, walima bɔ web‑ext ka a ye auto‑reload kɛ.
- Firefox kelen de ka hakɛw dɔ bɛ kɛ dɔrɔn ye; ka a fɛɛrɛ kelen kelen Thunderbird la walasa API ye bɛnni kɛ.
- Thunderbird binary pathw (misaliw):
- Linux:
thunderbird(misali,/usr/bin/thunderbird) - macOS:
/Applications/Thunderbird.app/Contents/MacOS/thunderbird - Windows:
"C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe" - Profile jɛlajɛli: Ka Thunderbird profile dɔ bɛɛ yera dɛnɛkɛla walasa a ma i ɲɔgɔn dɔ ka tɛ i sariya kelen kan.
Make Targetw (a ka sugu fɛ)
Makefile bɛ ka dɛnɛkɛla baaraw caman ɲɛtaa kɛlen ma. Ka make help kalan waati bɛɛ walasa ka target bɛɛ jɛkaba dɔ fɔlɔ min na.
Dɛmɛcogo: make ka kalan bila target fɔ ko tɛ bɛ bɔ Whiptail menu dɔ ɲɛrɛrɛ walasa ka target dɔ minɛn.
| Target | Jɛkaba dɔ fɔlɔ |
|---|---|
clean | Ka buildu/preview local artefactiw jiri (tmp/, web-local-preview/, website/build/). |
commit | Ka format kɛ, ka tɛstiw kɛ (i18n dɔrɔn kɔnɔ), ka changelog yen, ka commit kɛ & push kɛ. |
eslint | Ka ESLint kɛ flat config kɔnɔ (npm run -s lint:eslint). |
help | Ka targetw bɛɛ lajɛ kɔfɛ jɛkaba dɔ fɔlɔ (a ka sugu fɛ). |
lint | web‑ext lint sources/ kan (manifest tɛmɛna; ZIPw yamaruya; ka a ma yɔrɔ bɔ fɛ). |
menu | Menu ɲɛrɛrɛ walasa ka target dɔ fila ka filennen ni arguumenti minnu ye. |
pack | Ka ATN & LOCAL ZIPw sɔrɔ (linter bɛ na; packer script bɛ na). |
prettier | Ka repository format kɛ kɔnɔ (ka yɔrɔw bɔ). |
prettier_check | Prettier check mode la (ka yɔrɔw ma bɔ); bɛ ban ka a taara ni format bɛ se ka yɛlɛma. |
prettier_write | Alias prettier ma. |
test | Prettier (write), ESLint, o kɔfɛ Vitest (coverage ni a sɔrɔ). |
test_i18n | i18n dɔrɔn tɛstiw: add‑on placeholders/parity + website parity. |
translate_app | Alias translation_app ma. |
translation_app | Ka app UI sɔrɔbaw tarikɛli sources/_locales/en/messages.json kɔfɛ. |
translate_web_docs_batch | Ka website dɔkumentiw tarikɛli OpenAI Batch API la (na ye ka da). |
translate_web_docs_sync | Ka website dɔkumentiw tarikɛli kelen kelen (kɔrɔ, batch tɛ). |
translate_web_index | Alias translation_web_index ma. |
translation_web_index | Ka homepage/navbar/footer UI tarikɛli (website/i18n/en/code.json → .../<lang>/code.json). |
web_build | Ka dɔkumentiw build kɛ website/build kɔfɛ (bɛ na --locales / BUILD_LOCALES dɛmɛ). |
web_build_linkcheck | Link check offline‑safe (HTTP[S] dyɛlila minnu tɛ sɔrɔ). |
web_build_local_preview | Local gh‑pages preview; auto‑serve 8080–8090 kan; tɛsti/link‑check tɔɔrɔ ye. |
web_push_github | Ka website/build push kɛ gh-pages branch kɔfɛ. |
Options la sigicogo
make <command> OPTS="…"bɛ ka options fɔ (quotes bɛ se ka bɛɛ). Targetw minnu bɛ kɔnɔ bɛ bɔ misali jate.
--
Locale build dɛmɛcogo
- Ka locale dɔw dɔ build dɔ: ka
BUILD_LOCALES="en de"sɛbɛn walima kaOPTS="--locales en,de"fara web targetw kan. - Locale dɔ min dɔ ka lajɛ:
http://localhost:<port>/Thunderbird-Reply-with-Attachments/de/.
Build & Pakajiŋ
- ZIPw build:
make pack - ATN ni LOCAL ZIPw bɛ bɛɛ na repo root kɔnɔ (i ma na artisɛtiw ɲɛnabɔ kɛ ka sɛbɛnna dɔ)
- Dɛmɛcogo: ka version yelema
sources/manifest_ATN.jsonnisources/manifest_LOCAL.jsonkɔnɔ kɔfɛ sisan ka pakajiŋ kɛra. - Sɛbɛn manu (dev): Thunderbird → Tools → Add‑ons and Themes → gear → Install Add‑on From File… → ka ZIP sɔrɔbaw lajɛ min bɛ build kɔnɔ
Tɛsti
- Suite bɛɛ:
make test(Vitest) - Coverage (tɔɔrɔ ye):
npm i -D @vitest/coverage-v8make testka kalan;coverage/index.htmlbɔ walasa HTML rapɔri na- i18n dɔrɔn:
make test_i18n(UI keyw/placeholders/titles + website per‑locale per‑doc parity ni id/title/sidebar_label checkw)
Debugging ni Logw
- Error Console: Tools → Developer Tools → Error Console
- Ka logw jɔ yɔrɔcogo bɔ waati la:
- Ka kunnafoni:
messenger.storage.local.set({ debug: true }) - Ka ka ladilan:
messenger.storage.local.set({ debug: false }) - Logw bɛ bɔ waati min na i bɛ de kɛ ka ɲɛsin ni ka a labɔ
Dɔkumentiw (website)
- Dev server:
cd website && npm run start - Ka site stati kɛ:
cd website && npm run build - Make ka nyininw (a ka sugu fɛ):
make web_build,make web_build_linkcheck,make web_build_local_preview,make web_push_github - Jate misaliw:
- EN dɔ kelen de, ka tɛsti/link‑check ka taa, push tɛ:
make web_build_local_preview OPTS="--locales en --no-test --no-link-check --dry-run" - Locale bɛɛ, ka tɛsti/link‑check kɛ, o kɔfɛ ka push:
make web_build_local_preview && make web_push_github - Ka bɔra kɔfɛ ko bɛɛ na, ka link check offline‑safe kɛ:
make web_build_linkcheck. - i18n: English bɛ yen
website/docs/*.mdkɔfɛ; Alemaŋ kan tarikɛliw bɛ yenwebsite/i18n/de/docusaurus-plugin-content-docs/current/*.md - Sɛrci: Ni Algolia DocSearch env variables bɛ CI kɔnɔ (
DOCSEARCH_APP_ID,DOCSEARCH_API_KEY,DOCSEARCH_INDEX_NAME), site bɛ Algolia search ka bali; o tɛ, a bɛ segin local search la. Homepage kan,/walimaCtrl+Kna ka search box bɔ.
Donate redirect route
website/src/pages/donate.js- Route:
/donate(ni/<locale>/donate) - Ka kɛra la:
- Ni route min ka sisan bɛ locale dɔ na (misali,
/de/donate), a bɛ a ye. - O tɛ, ka ka ɲɛsin wɛrɛw
navigator.languagesni localew sɛbɛnna la; ni o tɛ sɔrɔ, ka segin default locale ma. - Bɛ ɲɔgɔn ye:
en→/docs/donation- wɛrɛw →
/<locale>/docs/donation useBaseUrlbɛ na walasa baseUrl ka kɛ kɛnɛ ye- Meta refresh bɛ kɔnɔ +
noscriptlink bɛ yen sɛgɛsɛgɛ ma
Preview dɛmɛcogo
- Ka Node preview da kɛ kɛnɛ ye: ka
http://localhost:<port>/__stopbɔ (a bɛ printi waati min naLocal server started). - Ni sikanjɛw tɛ bɔ MDX/JSX kɔnɔ, ka
useBaseUrl('/img/...')bɔ walasa sitebaseUrlka sɔn. - Preview bɛ bɔ fɔlɔ; link check bɛ kɔfɛ bɔ kɔrɔ kɔrɔ ni o tɛ bɔ kɔfɛ (external linkw minnu bɛ tiɲɛ ɲɛ kɛra tɛ bɛ ɲininna preview ma).
- Preview URL misali:
http://localhost:<port>/Thunderbird-Reply-with-Attachments/(a bɛ printi waati min na “Local server started”). - External linkw link‑check kɔnɔ: Sitew dɔw (misali, addons.thunderbird.net) bɛ ka bɛ kelenw sɔrɔbaliw farafinw dafa, o tun bɛ 403 lajɛ link check kɔnɔ. Preview bɛ bɔ kɔnɔ; i bɛ se ka o ɲɛfɔ kɔrɔw ɲininka.
Ka Website tarikɛli
Fɛnw minnu i bɛ se ka tarikɛli
- Website UI dɔ kelen de: homepage, navbar, footer, ni UI sɔrɔbaw wɛrɛw. Dɔkumenti ɲɛfɔw bɛna sɛbɛn English kelen de sisan.
Fɛ min na ka sɛbɛn
website/i18n/<locale>/code.jsonsɛbɛn (kaendɔ ye na referensi ye). Ka placeholders minnu bɛ fɛ ka kɛ ni{year},{slash},{ctrl},{k},{code1}i ma ɲɛnabɔ kɛ.
Ka fɛnw sɔrɔ walima ka kura kɛ
- Ka stubs minnu bɛ sɔrɔ bɛɛ sɔrɔ locale bɛɛ ma:
npm --prefix website run i18n:stubs - Ka stubs tɛma English kɔfɛ (sisan ni i tɛmɛna kalimen kura):
npm --prefix website run i18n:stubs:force - Alaŋɛrɛnika locale dɔ kelen de:
npx --prefix website docusaurus write-translations --locale <locale>
Ka homepage/navbar/footer UI sɔrɔbaw tarikɛli (OpenAI)
- Ka credentials sɛbɛn kelen de (shell walima .env):
export OPENAI_API_KEY=sk-...- Tɔɔrɔ ye:
export OPENAI_MODEL=gpt-4o-mini - One‑shot (locale bɛɛ, en tɛ bɛ bɔ):
make translate_web_index - Ka ɲɔgɔn ɲɛmɔgɔ dɔ la:
make translate_web_index OPTS="--locales de,fr" - Ka kɛ ka ka minnu bɛ yen yɔrɔw ɲɛlɛma:
make translate_web_index OPTS="--force"
Valideyisɔni ni seginniw
- Tarikɛli script bɛ JSON shape validera, ka curly‑brace placeholders ɲini, ni ka URLw ma yelema.
- Valideyisɔni bɔra la, a bɛ segin 2 waati ɲɛmɔgɔ ni ɲɛfɔ kɔfɛ kɔ before ka minnu bɛ yen yɔrɔw daminɛ.
I ka locale lajɛ
- Dev server:
npm --prefix website run start - Ka taa
http://localhost:3000/<locale>/Thunderbird-Reply-with-Attachments/
Submitting
- Ka PR dɔ bɔ ni
code.jsonfaili(w) minnu i tɛmɛna. Ka yelemaw bɔ dɔgɔya, ka sikanjɛ ɲɛ na waati min bɛ se.
Securite ni Kɔnfigurasi dɛmɛcogo
- Ka
sources/manifest.jsonma commit kɛ (build bɛna a sɛbɛn waati dɔ kelen). - Ka
browser_specific_settings.gecko.idkɛ kelen kelen walasa update channel ka ɲɛfa.
Settings jirali
- Storage: Baraw bɛɛ minnu sɛbɛnna bɛ yen
storage.localkɔnɔ, o bɛ taa add‑on updatew ɲa la. - Install: Defaults bɛna kɛ waati min na key dɔ ɲɛsin fila (undefined).
- Update: Migration bɛ keyw minnu ɲɛsin dɔ fɔlɔ daminɛ kelen de; valuyɛw min bɛ yen tɛna yelema la.
- Schema marker:
settingsVersion(sisan1). - Keyw ni defaultw:
blacklistPatterns: string[]→['*intern*', '*secret*', '*passwor*']confirmBeforeAdd: boolean→falseconfirmDefaultChoice: 'yes'|'no'→'yes'warnOnBlacklistExcluded: boolean→true- Code: ɲininka
sources/background.js→initializeOrMigrateSettings()niSCHEMA_VERSION.
Dɛnɛkɛla baarakɛcogo (setting kura fara)
- Ka
SCHEMA_VERSIONbɔsources/background.jskɔnɔ. - Ka key kura + default ɲɛna
DEFAULTSobject kɔnɔinitializeOrMigrateSettings()la. - Ka "only-if-undefined" sariyala bɔ waati min na defaultw bɛna ɲɛ; i ma na valuw min bɛ yen yɔrɔw ɲɛlɛma.
- Ni setting min na ka ɲɛsin ɲɛ na barakekelen kan, ka a ɲɛna
sources/options.jskɔnɔ ni ka kalimew lokalize kɛ. - Ka tɛstiw fara/tɛmɛ (ɲininka
tests/background.settings.migration.test.js).
Manu tɛstila dɛmɛcogo
- Ka install kura ɲinin: ka extension data dir ka dɔn, walima ka profile kura ɲɛ.
- Ka update ɲinin: ka
settingsVersionsɛbɛn0mastorage.localkɔnɔ o kɔfɛ ka re‑load; ka ɲini ka valuyɛw minnu bɛ yen ma yelema, keyw minnu ɲɛsin dɔ kelen de bɛna dɔ bɔ.
Kɛnɛya sɔrɔyacogo
- Ka kɛ kɛlen Thunderbird 128 ESR walima kɔrɔsen dɔ ye
- Error Console bɛ sɛgɛsɛgɛ baara waati la
- Ni settings minnu sɛbɛnna bɛ ɲininka ladilan, ka Thunderbird segin lajɛ ka segin na. (Thunderbird bɛ se ka ɲɔgɔn ɲɛ dɔ min na; ka segin lajɛ bɛ ma settings kura bɔ kɛnɛ ye.)
CI ni Coverage
- GitHub Actions (
CI — Tests) bɛ vitest kɛ ni coverage thresholdw (85% lines/functions/branches/statements). Ni thresholdw tɛ na, ka baara bɔ. - Workflow bɛ artefact dɔ ɲɛ
coverage-htmlni HTML rapɔri la; ka a downloadi ka bɔ run paji kɔnɔ (Actions → run kɔfɛ kɔrɔ → Artifacts).
Ka dɛmɛ (Contributing)
- Ka lajɛ CONTRIBUTING.md la branch/commit/PR sariyaw kɔfɛ
- Dɛmɛcogo: Ka Thunderbird development profile dɔ kelen kɛ tɛstila walasa a ma i ka profile sariya kelen kan ta.
Tarikɛliw
- “all → all” tarikɛli baara kalanw bɛ kɔrɔbɔ ka sɔrɔ ni jamanadenw bɛɛ kɛ. Ka segin dɔgɔya (misali, dɔkumentiw dɔw ni locale 1–2), ka ɲɛsin a ka ɲɔgɔn, o kɔfɛ ka sɛbɛnni bɔ yen.
- Seginni sari: tarikɛli baaraw bɛ kɛ seginni 3 waati kɔfɛ ni API errorw bɛ na ni backoff (exponential); ɲininka
scripts/translate_web_docs_batch.jsniscripts/translate_web_docs_sync.js.
Sikanjɛw walasa dɔkumentiw
-
Ka sikanjɛw ji
website/static/img/kɔnɔ. -
Ka a fɔ MD/MDX kɔnɔ ni
useBaseUrl('/img/<filename>')walasa pathw bɛ na ka taa sitebaseUrlkan. -
Sisan ni i tɛmɛna walima sɔrɔbali la sikanjɛw
website/static/img/kɔnɔ, ka ɲini ka referensi bɛɛ bɛ se kauseBaseUrl('/img/…')fɛ ni ka render kɛ local preview kɔnɔ. Favicons -
favicon.icomulti‑size bɛna ɲɛgɛnna automatique build path bɛɛ kɔnɔ (Make + scripitiw)website/scripts/build-favicon.mjsla. -
Sariya manu tɛ ɲɛ;
icon-*.pngyelema de bɛ na.Dɛmɛcogo walasa lajɛ
-
Ka front‑matter
idma yelema dɔkumenti tarikɛli kɔnɔ; katitlenisidebar_labeldɔ de tarikɛli waati min bɛ yen.
clean
- Jatigi: ka buildu/preview artisɛtiw minnu bɛ yen yere la sini.
- Jate:
make clean - Bɛ jiri (ni a bɛ yen):
tmp/web-local-preview/website/build/
commit
- Jatigi: ka format kɛ, ka tɛsti kɛ, ka changelog yen, ka commit kɛ, ka push kɛ.
- Jate:
make commit - Dɛɲɔw: Prettier (write),
make test,make test_i18nbɛ na; ka changelog ɲɛ fɔ waati min na staged diffs bɛ yen; ka push kɛorigin/<branch>ma.
eslint
- Jatigi: ka ESLint kɛ flat config kɔnɔ.
- Jate:
make eslint
help
- Jatigi: ka targetw bɛɛ lajɛ ni jɛkaba dɔ fɔlɔ.
- Jate:
make help
lint
- Jatigi: ka MailExtension lint kɛ
web-extbɔ. - Jate:
make lint - Notew: ka
sources/manifest_LOCAL.jsontɛmɛna →sources/manifest.json; ZIPw minnu sɔrɔra bɛna kɛ yamaruya; warningw tɛ bɔ pipeline ma.
menu
- Jatigi: menu ɲɛrɛrɛ walasa ka Make target dɔ filennen ni arguamentiw tɔɔrɔ ye.
- Jate: ka
makekalan bila arguamenti tɛ. - Notew: ni
whiptailtɛ sɔrɔ, menu bɛ seginmake helpma.
pack
- Jatigi: ka ATN ni LOCAL ZIPw build kɛ (
lintkan). - Jate:
make pack - Dɛmɛcogo: ka versionw yelema
sources/manifest_*.jsonkɔfɛ sisan ka pakajiŋ kɛ.
prettier
- Jatigi: ka repo format kɛ kɔnɔ.
- Jate:
make prettier
prettier_check
- Jatigi: ka format verify kɛ (ka yɔrɔ ma bɔ).
- Jate:
make prettier_check
prettier_write
- Jatigi: alias
prettierma. - Jate:
make prettier_write
test
- Jatigi: ka Prettier (write), ESLint, o kɔfɛ Vitest (coverage ni a sɔrɔ) kɛ.
- Jate:
make test
test_i18n
- Jatigi: i18n dɔrɔn tɛstiw add‑on kalimew ni website dɔkumentiw ma.
- Jate:
make test_i18n - Bɛ ka:
npm run test:i18nninpm run -s test:website-i18n.
translate_app / translation_app
- Jatigi: ka add‑on UI kalimew tarikɛli EN kɔfɛ ka a taa locale wɛrɛw ma.
- Jate:
make translation_app OPTS="--locales all|de,fr" - Notew: key structure ni placeholders bɛna ɲɛ; logw bɛna
translation_app.logma. Scripiti ɲɛ:node scripts/translate_app.js --locales ….
translate_web_docs_batch / translate_web_docs_sync
- Jatigi: ka website dɔkumentiw tarikɛli
website/docs/*.mdkɔfɛ ka taawebsite/i18n/<locale>/...ma. - Nafɔ bɛ se:
translate_web_docs_batch(OpenAI Batch API)- Jate (flagiw):
make translate_web_docs_batch OPTS="--files <doc1,doc2|all> --locales <lang1,lang2|all>" - Legacy positional tɛna ka ɲɛ:
OPTS="<doc|all> <lang|all>"
- Jate (flagiw):
- Ka kɛra la: ka JSONL buildi, ka uploadi, ka polli 30s kɔfɛ kɔrɔ kɔrɔ, ka resultw downloadi, ka faili sɛbɛn.
- Note: batch baara dɔ bɛ se ka taa 24 waati kɔfɛ (OpenAI batch window ma). Console bɛ na waati min bɛ ban kɔrɔ kɔrɔ ni a bɛ polli.
- Env:
OPENAI_API_KEY(dɔrɔn), tɔɔrɔw yeOPENAI_MODEL,OPENAI_TEMPERATURE,OPENAI_BATCH_WINDOW(default 24h),BATCH_POLL_INTERVAL_MS. - Legacy:
translate_web_docs_sync- Jate (flagiw):
make translate_web_docs_sync OPTS="--files <doc1,doc2|all> --locales <lang1,lang2|all>" - Legacy positional tɛna ka ɲɛ:
OPTS="<doc|all> <lang|all>"
- Jate (flagiw):
- Ka kɛra la: requestw kelen kelen per‑pair (batch aggregation tɛ).
- Notew: Ka promptu ɲɛrɛrɛ bɛ bɔ waati min na
OPTStɛ. Modew bɛɛ bɛ na ka code blockw/inline codew ɲini ni ka front‑matteridma yelema; logw bɛnatranslation_web_batch.log(batch) walimatranslation_web_sync.log(sync) ma.
translate_web_index / translation_web_index
- Jatigi: ka website UI kalimew tarikɛli (homepage, navbar, footer)
website/i18n/en/code.jsonkɔfɛ ka taa locale bɛɛ mawebsite/i18n/<locale>/code.jsonkɔnɔ (enna min tɛ). - Jate:
make translate_web_indexwalimamake translate_web_index OPTS="--locales de,fr [--force]" - Baara kɔfɛw: ka
OPENAI_API_KEYexporti (tɔɔrɔ ye:OPENAI_MODEL=gpt-4o-mini). - Ka kɛra la: ka JSON structure validate kɛ, ka curly‑brace placeholders ɲini, ka URLw ma yelema, ka segin kɛ ɲɛfɔ kɔfɛ walasa validasɔni errorw ma.
web_build
- Jatigi: ka dɔkumentiw site build kɛ
website/buildma. - Jate:
make web_build OPTS="--locales en|de,en|all"(walima kaBUILD_LOCALES="en de"sɛbɛn) - Kɔnɔko:
node ./node_modules/@docusaurus/core/bin/docusaurus.mjs build [--locale …]. - Dɛmɛw:
npm cibɛna kɛwebsite/kɔnɔ kelen de niwebsite/node_modules/@docusaurustɛ sɔrɔ.
web_build_linkcheck
- Jatigi: link check offline‑safe.
- Jate:
make web_build_linkcheck OPTS="--locales en|all" - Notew: build bɛ
tmp_linkcheck_web_pagesma; bɛ GH PagesbaseUrlsɛbɛn/ma; HTTP(S) linkw dɔrɔn tɛ ɲinina.
web_build_local_preview
- Jatigi: local gh‑pages preview ni tɛsti/link‑check tɔɔrɔ ye.
- Jate:
make web_build_local_preview OPTS="--locales en|all [--no-test] [--no-link-check] [--dry-run] [--no-serve]" - Ka kɛra la: bɛ se ka Node preview server dɔ fɔlɔ (
scripts/preview-server.mjs, bɛ na/__stopdɛmɛ), ni o tɛ, bɛ seginpython3 -m http.serverma; bɛna serve 8080–8090 kan; PID bɛweb-local-preview/.server.pidkɔnɔ.
web_push_github
- Jatigi: ka
website/buildpush kɛgh-pagesbranch ma. - Jate:
make web_push_github
Dɛmɛcogo: ka NPM=… sɛbɛn walasa ka package manager min Makefile bɛ na kɛ ɲɛlɛma (default npm).