Ukuthuthukiswa
Umhlahlandlela Wokuthuthukisa
Buyekeza amadokhumenti kuphela ngaphansi kuka website/docs (isiNgisi). Ukuhunyushwa ngaphansi kuka website/i18n/<locale>/… kuzenzakalela futhi akufanele kuhlelwe ngesandla. Sebenzisa imisebenzi yokuhumusha (isb., make translate_web_docs_batch) ukuvuselela okuqukethwe okwenziwe ngolimi lwendawo.
Izidingo zangaphambi
- Node.js 22+ no-npm (kuhlolwe nge-Node 22)
- Thunderbird 128 ESR noma okusha (ukuhlola ngesandla)
Uhlaka Lomsebenzi (izinga eliphezulu)
- Impande: iskripthi sokupakisha
distribution_zip_packer.sh, amadokhumenti, izithombe-skrini sources/: ikhodi eyinhloko ye-add-on (background, i-UI yokukhetha/ipopayi, ama-manifest, ama-icon)tests/: i-Vitest suitewebsite/: amadokhumenti e-Docusaurus (ane-i18n ngaphansi kukawebsite/i18n/de/...)
Ukufaka & Amathuluzi
- Faka izincike zempande:
npm ci - Amadokhumenti (okuzikhethela):
cd website && npm ci - Thola ama-target:
make help
Intuthuko Ebukhoma (web‑ext run)
- Umjikelezo osheshayo ku-Firefox Desktop (ukuhlola okusheshayo kwe-UI kuphela):
npx web-ext run --source-dir sources --target=firefox-desktop- Sebenzisa ku-Thunderbird (okukhethwayo kwe-MailExtensions):
npx web-ext run --source-dir sources --start-url about:addons --firefox-binary "$(command -v thunderbird || echo /path/to/thunderbird)"- Amathiphu:
- Gcina i-Error Console ye-Thunderbird ivuliwe (Tools → Developer Tools → Error Console).
- Amakhasi e-MV3 event amiswa uma engenzi lutho; layisha kabusha i-add-on ngemuva kokushintsha ikhodi, noma uvumele i-web-ext izilayishe kabusha.
- Ezinye izindlela ezikhethekile ze-Firefox ziyehluka; njalo uqinisekise ku-Thunderbird ngokulingana kwe-API.
- Izindlela ze-binary ze-Thunderbird (izibonelo):
- Linux:
thunderbird(isb.,/usr/bin/thunderbird) - macOS:
/Applications/Thunderbird.app/Contents/MacOS/thunderbird - Windows:
"C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe" - Ukuhlukanisa iphrofayela: Sebenzisa iphrofayela ehlukile ye-Thunderbird yokuthuthukisa ukuze ugweme ukuthinta ukusethwa kwakho kwansuku zonke.
Ama‑Target e-Make (Ngokwezinhlamvu)
I-Makefile ijwayelanisa ukugeleza okuvamile kwentuthuko. Sebenzisa make help noma nini ukuze uthole isifinyezo somugqa owodwa salo lonke ithegi.
Ithiphu: ukusebenzisa make ngaphandle kwe-target kuvula imenyu elula ye-Whiptail yokukhetha i-target.
| I-Target | Incazelo yomugqa owodwa |
|---|---|
clean | Susa izinto zokwakha/ukubuka ngaphambilini zendawo (tmp/, web-local-preview/, website/build/). |
commit | Format, sebenzisa izivivinyo (kuhlanganisa i-i18n), buyekeza i-changelog, commit & push. |
eslint | Sebenzisa i-ESLint nge-flat config (npm run -s lint:eslint). |
help | Bhala wonke ama-target ngezimfuneko zomugqa owodwa (zihlelwe). |
lint | i-web‑ext lint ku sources/ (i-manifest yesikhashana; idlula ama-ZIP; akubulali). |
menu | Imenyu ehl互动 ukuze ukhethe i-target kanye nezinketho ozikhethelayo. |
pack | Yakha ama-ZIP e-ATN & LOCAL (isebenzisa i-linter; ibiza i-skripthi le-packer). |
prettier | Hlela kabusha ifa elise-repository (libhala izinguquko). |
prettier_check | I-Prettier kumodi yokuhlola (akubhali); yehluleka uma kudingeka ukuhlelwa kabusha. |
prettier_write | Isiteketiso se prettier. |
test | I-Prettier (bhala), i-ESLint, bese i-Vitest (ukumbozwa uma kuhlelwe). |
test_i18n | Izivivinyo ze-i18n kuphela: izikhala/ukulingana kwe-add-on + ukulingana kwewebhusayithi. |
translate_app | Isiteketiso se translation_app. |
translation_app | Humusha izintambo ze-UI zohlelo kusuka sources/_locales/en/messages.json. |
translate_web_docs_batch | Humusha amadokhumenti ewebhusayithi nge-OpenAI Batch API (okukhethwayo). |
translate_web_docs_sync | Humusha amadokhumenti ewebhusayithi ngokushintsha (legacy, okungewona i-batch). |
translate_web_index | Isiteketiso se translation_web_index. |
translation_web_index | Humusha i-UI yekhasi lasekhaya/ibha yokuzula/unyaweni (website/i18n/en/code.json → .../<lang>/code.json). |
web_build | Yakha amadokhumenti kuya ku website/build (isekela --locales / BUILD_LOCALES). |
web_build_linkcheck | Ukuhlola izixhumanisi okuphephile okungaxhunyiwe ku-inthanethi (ikudlula i-HTTP[S] ekude). |
web_build_local_preview | Umbukiso wendawo we-gh‑pages; u-auto‑serve ku-8080–8090; izivivinyo/ukuhlola izixhumanisi ongakukhetha. |
web_push_github | Push website/build ku gh-pages branch. |
Syntax yezinketho
- Sebenzisa
make <command> OPTS="…"ukudlulisela izinketho (kuyelwe iziphawulo). I-target ngayinye engezansi ikhombisa isibonelo sokusebenzisa.
--
Amathiphu wokwakha izilimi zendawo
- Yakha ingxenye yezilimi: setha
BUILD_LOCALES="en de"noma udluliseleOPTS="--locales en,de"kuma-target ewebhu. - Buka okungaphambi kolimi oluthile:
http://localhost:<port>/Thunderbird-Reply-with-Attachments/de/.
Yakha & Ipakeji
- Yakha ama-ZIP:
make pack - Ikhiqiza ama-ZIP e-ATN ne-LOCAL empandeni ye-repo (ungalungisi izinto ezenziwe ngesandla)
- Ithiphu: buyekeza inguqulo kuzo zombili
sources/manifest_ATN.jsonnosources/manifest_LOCAL.jsonngaphambi kokupakisha - Ukufaka ngesandla (dev): Thunderbird → Tools → Add‑ons and Themes → igiya → Install Add‑on From File… → khetha i-ZIP eyakhiwe
Ukuhlola
- I-suite ephelele:
make test(Vitest) - Ukumbozwa (okuzikhethela):
npm i -D @vitest/coverage-v8- Sebenzisa
make test; vulacoverage/index.htmlwe-HTML report - i18n kuphela:
make test_i18n(okhiye/izikhala/izihloko ze-UI + ukulingana kwewebhusayithi kwedokhumenti ngayinye ngolimi ngamunye nezinhloli ze-id/title/sidebar_label)
Ukuxilonga & Amalogi
- I-Error Console: Tools → Developer Tools → Error Console
- Guqula amalogi anemininingwane ngesikhathi sokusebenza:
- Nika amandla:
messenger.storage.local.set({ debug: true }) - Khubaza:
messenger.storage.local.set({ debug: false }) - Amalogi avela ngesikhathi sokubhala/ukuthumela izimpendulo
Amadokhumenti (iwebhusayithi)
- Iseva ye-dev:
cd website && npm run start - Yakha isiza esingaguquki:
cd website && npm run build - Okulinganayo kwe‑Make (ngokwezinhlamvu):
make web_build,make web_build_linkcheck,make web_build_local_preview,make web_push_github - Izibonelo zokusebenzisa:
- IsiNgisi kuphela, weqa izivivinyo/ukuhlola izixhumanisi, akukho push:
make web_build_local_preview OPTS="--locales en --no-test --no-link-check --dry-run" - Zonke izilimi zendawo, ngezivivinyo/ukuhlola izixhumanisi, bese push:
make web_build_local_preview && make web_push_github - Ngaphambi kokushicilela, sebenzisa ukuhlola izixhumanisi okuphephile okungaxhunyiwe ku-inthanethi:
make web_build_linkcheck. - i18n: isiNgisi sikhona ku
website/docs/*.md; izinguqulo zesiJalimane zikuwebsite/i18n/de/docusaurus-plugin-content-docs/current/*.md - Ukusesha: Uma iziphakamiso zemvelo ze-Algolia DocSearch zisethwe ku-CI (
DOCSEARCH_APP_ID,DOCSEARCH_API_KEY,DOCSEARCH_INDEX_NAME), isiza sisebenzisa ukusesha kwe-Algolia; kungenjalo sibuyela ekusesheni kwasendaweni. Ekhasini lasekhaya, cindezela/nomaCtrl+Kukuze uvule ibhokisi lokusesha.
Umzila wokudlulisela (redirect) wokunikela
website/src/pages/donate.js- Umzila:
/donate(kanye no/<locale>/donate) - Ukuziphatha:
- Uma umzila wamanje unolimi lwendawo (isb.,
/de/donate), wusebenzise - Kungenjalo, khetha okufanayo okuhle kakhulu kusuka ku-
navigator.languagesuma kuqhathaniswa nezilimi ezimisiwe; buyela kolimi oluzenzakalelayo - Idlulisela ku:
en→/docs/donation- abanye →
/<locale>/docs/donation - Isebenzisa
useBaseUrlukuphatha kahle i-baseUrl - Ifaka i-meta refresh + isixhumanisi
noscriptnjengesipele
Amathiphu Okubuka kuqala
- Misa i-Node preview kahle: vula
http://localhost:<port>/__stop(iphrintwe ngemuva kukaLocal server started). - Uma izithombe zingalayishi ku-MDX/JSX, sebenzisa
useBaseUrl('/img/...')ukuhlonipha i-baseUrlyesiza. - I-preview iqala kuqala; ukuhlola izixhumanisi kuyalandela futhi akuvimbi (izixhumanisi zangaphandle ezaphukile ngeke zimise i-preview).
- Isixhumanisi sesibonelo se-preview:
http://localhost:<port>/Thunderbird-Reply-with-Attachments/(iphrintwe ngemuva kwe-“Local server started”). - Izixhumanisi zangaphandle ekuhloleni izixhumanisi: Ezinye iziza zangaphandle (isb., addons.thunderbird.net) zivimba ama-crawler azishintshayo futhi zingakhombisa i-403 ekuhloleni izixhumanisi. I-preview isaqala; lezi zinganakwa ngokuphepha.
Humusha iwebhusayithi
Ongakuhumusha
- I-UI yewebhusayithi kuphela: ikhasi lasekhaya, ibha yokuzula, unyaweni, nezinye izintambo ze-UI. Okuqukethwe kwamadokhumenti kuhlala kungesiNgisi okwamanje.
Lapho uhlela khona
- Hlela
website/i18n/<locale>/code.json(sebenzisaennjengereferensi). Gcina izikhala ezifana no{year},{slash},{ctrl},{k},{code1}zingashintshi.
Dala noma uvuselele amafayela
- Dala ama-stub alahlekile azo zonke izilimi zendawo:
npm --prefix website run i18n:stubs - Bhala phezu kwama-stub kusuka esiNgisini (ngemva kokwengeza izintambo ezintsha):
npm --prefix website run i18n:stubs:force - Enye indlela yolimi olulodwa:
npx --prefix website docusaurus write-translations --locale <locale>
Humusha izintambo ze-UI zekhasikhaya/ibha yokuzula/unyaweni (OpenAI)
- Setha iziqinisekiso kanye (shell noma .env):
export OPENAI_API_KEY=sk-...- Okuzikhethela:
export OPENAI_MODEL=gpt-4o-mini - Okukodwa (zonke izilimi, weqa en):
make translate_web_index - Khawulela ezilimini ezithile:
make translate_web_index OPTS="--locales de,fr" - Bhala phezu kwamagugu akhona:
make translate_web_index OPTS="--force"
Ukuqinisekisa & ukuzama futhi
- Iskripthi sokuhumusha siqinisekisa ukuma kwe-JSON, sigcina izikhala zika-curly-brace, futhi siqinisekisa ukuthi ama-URL awashintshi.
- Uma ukuqinisekiswa kwehluleka, sizama futhi sinempendulo kuze kufike izikhathi ezi-2 ngaphambi kokugcina amagugu akhona.
Buka ulwimi lwakho lwendawo
- Iseva ye-dev:
npm --prefix website run start - Vakashela
http://localhost:3000/<locale>/Thunderbird-Reply-with-Attachments/
Ukufaka
- Vula i-PR nefayela(le)
code.jsonelihlelwe. Gcina izinguquko zigxile futhi ufake isithombe-skrini esisheshayo uma kungenzeka.
Amathiphu Ezokuphepha & Ukumiswa
- Ungafaki
sources/manifest.json(elidalwa okwesikhashana ngesikhathi sokwakha) - Gcina
browser_specific_settings.gecko.idizinzile ukuze ugcine isiteshi sokuvuselela
Ukuqhubeka Kwezilungiselelo
- Isitoreji: Zonke izilungiselelo zomsebenzisi zihlala ku
storage.localfuthi ziqhubeka nangemva kwezibuyekezo ze-add-on. - Ukufaka: Okuzenzakalelayo kufakwa kuphela lapho ukhiye ungakaze ukhonjwe (undefined).
- Ukubuyekeza: I-migration igcwalisa kuphela okhiye abalahlekile; amagugu akhona awaze owalwe phezu kwawo.
- Umaki wesikimu:
settingsVersion(njengamanje1). - Okhiye nokumisiwe:
blacklistPatterns: string[]→['*intern*', '*secret*', '*passwor*']confirmBeforeAdd: boolean→falseconfirmDefaultChoice: 'yes'|'no'→'yes'warnOnBlacklistExcluded: boolean→true- Ikhodi: bheka
sources/background.js→initializeOrMigrateSettings()kanye noSCHEMA_VERSION.
Ukugeleza komsebenzi we-dev (ukwengeza isethingi entsha)
- Nyusa
SCHEMA_VERSIONngaphakathi kusources/background.js. - Engeza ukhiye omusha + okuzenzakalelayo entweni ethi
DEFAULTSkuinitializeOrMigrateSettings(). - Sebenzisa umthetho othi “only-if-undefined” lapho utshala okuzenzakalelayo; ungabhali phezu kwamagugu akhona.
- Uma isethingi ibonakala kumsebenzisi, yifake ku
sources/options.jsbese wengeza izintambo ezihunyushiwe. - Engeza/lungisa izivivinyo (bheka
tests/background.settings.migration.test.js).
Amathiphu okuhlola ngesandla
- Lingisa ukufaka okusha: sula i-dir yedatha ye-extension noma uqale ngephrofayela entsha.
- Lingisa isibuyekezo: seta
settingsVersionku0kustorage.localbese ulayisha kabusha; qinisekisa ukuthi amagugu akhona ahlala engashintshi futhi kwengezwa kuphela okhiye abalahlekile.
Ukuxazulula izinkinga
- Qinisekisa ukuthi i-Thunderbird iyi-128 ESR noma entsha
- Sebenzisa i-Error Console yezinkinga zesikhathi sokusebenza
- Uma izilungiselelo ezigciniwe zibonakala zingasebenzi kahle, qala kabusha i-Thunderbird bese uzama futhi. (I-Thunderbird ingagcina isimo phakathi kwezikhathi; ukuqala kabusha kuqinisekisa ukuthi izilungiselelo ezintsha zilayishwa.)
CI & Ukumbozwa
- I-GitHub Actions (
CI — Tests) isebenzisa i-vitest ngemikhawulo yokumbozwa (85% imigqa/imisebenzi/amahlumela/izitatimende). Uma imikhawulo ingahlangatshezwa, umsebenzi wehluleka. - I-workflow ilayisha i-artifact
coverage-htmlenombiko we-HTML; yilayishe ekhasini lokugijima (Actions → run yokugcina → Artifacts).
Ukunikela
- Bheka i-CONTRIBUTING.md yemithetho ye-branch/commit/PR
- Ithiphu: Dala iphrofayela yokuthuthukisa ehlukile ye-Thunderbird yokuhlola ukuze ugweme ukuthinta iphrofayela yakho yansuku zonke.
Ukuhumusha
- Ukuhamba kwemisebenzi emikhulu “zonke → zonke” kungaba kuhamba kancane futhi kubize. Qala ngengxenye (isb., amadokhumenti ambalwa namalimi angu-1–2), ubuyekeze umphumela, bese wandisa.
- Inqubomgomo yokuzama futhi: imisebenzi yokuhumusha yenza kuze kube kathathu ukuzama futhi nge-exponential backoff eziphuthumayo ze-API; bheka
scripts/translate_web_docs_batch.jsnoscripts/translate_web_docs_sync.js.
Izithombe-skrini zamadokhumenti
-
Gcina izithombe ngaphansi kuka
website/static/img/. -
Zibhekisele ku-MD/MDX nge
useBaseUrl('/img/<filename>')ukuze izindlela zisebenze ne-baseUrlyesiza. -
Ngemuva kokwengeza noma ukuqamba kabusha izithombe ngaphansi kuka
website/static/img/, qinisekisa ukuthi zonke izinkomba zisasebenzisauseBaseUrl('/img/…')futhi zibonisa ku-preview yendawo. Ama-Favicon -
I-
favicon.icoenosayizi abaningi ikhiqizwa ngokuzenzakalela kuyo yonke imigudu yokwakha (Make + scripts) ngewebsite/scripts/build-favicon.mjs. -
Akudingeki isinyathelo sesandla; ukuvuselela
icon-*.pngkwanele. Ithiphu yokubuyekeza -
Gcina i-front‑matter
idingashintshi kumadokhumenti ahunyushiwe; humusha kuphelatitlenosidebar_labeluma ekhona.
clean
- Inhloso: susa izinto zokwakha/ukubuka zangaphambilini zendawo.
- Ukusebenzisa:
make clean - Kususa (uma kukhona):
tmp/web-local-preview/website/build/
commit
- Inhloso: hlela, hlola, buyekeza i-changelog, commit, futhi push.
- Ukusebenzisa:
make commit - Imininingwane: isebenzisa i-Prettier (bhala),
make test,make test_i18n; inamathisela i-changelog lapho kunezinguquko ezimakwe; iphusha kuorigin/<branch>.
eslint
- Inhloso: sebenzisa i-ESLint nge-flat config.
- Ukusebenzisa:
make eslint
help
- Inhloso: bala wonke ama-target ngezimfuneko zomugqa owodwa.
- Ukusebenzisa:
make help
lint
- Inhloso: hlola i-MailExtension usebenzisa
web-ext. - Ukusebenzisa:
make lint - Amanothi: ikopisha okwamanje
sources/manifest_LOCAL.json→sources/manifest.json; idlula ama-ZIP akhiwe; izexwayiso azibulali i-pipeline.
menu
- Inhloso: imenyu ehl互动 yokukhetha i-target ye-Make nezinketho ongazikhetha.
- Ukusebenzisa: sebenzisa
makengaphandle kwezimpikiswano. - Amanothi: uma
whiptailingatholakali, imenyu ibuyela kumake help.
pack
- Inhloso: yakha ama-ZIP e-ATN ne-LOCAL (incike ku
lint). - Ukusebenzisa:
make pack - Ithiphu: nyusa izinguqulo kuzo zombili
sources/manifest_*.jsonngaphambi kokupakisha.
prettier
- Inhloso: hlela ifa elise-repo endaweni.
- Ukusebenzisa:
make prettier
prettier_check
- Inhloso: qinisekisa ukuhlelwa (akubhali).
- Ukusebenzisa:
make prettier_check
prettier_write
- Inhloso: isiteketiso se
prettier. - Ukusebenzisa:
make prettier_write
test
- Inhloso: sebenzisa i-Prettier (bhala), i-ESLint, bese i-Vitest (ukumbozwa uma kufakiwe).
- Ukusebenzisa:
make test
test_i18n
- Inhloso: izivivinyo ezigxile ku-i18n zezintambo ze-add-on namadokhumenti ewebhusayithi.
- Ukusebenzisa:
make test_i18n - Isebenzisa:
npm run test:i18nnonpm run -s test:website-i18n.
translate_app / translation_app
- Inhloso: humusha izintambo ze-UI ze-add-on kusuka ku-EN ziye kwezinye izilimi.
- Ukusebenzisa:
make translation_app OPTS="--locales all|de,fr" - Amanothi: igcina ukwakheka kokhiye nezikhala; iloga ku
translation_app.log. Ifomu leskripthi:node scripts/translate_app.js --locales ….
translate_web_docs_batch / translate_web_docs_sync
- Inhloso: humusha amadokhumenti ewebhusayithi kusuka ku
website/docs/*.mdkuya kuwebsite/i18n/<locale>/.... - Okukhethwayo:
translate_web_docs_batch(OpenAI Batch API)- Ukusebenzisa (amafulegi):
make translate_web_docs_batch OPTS="--files <doc1,doc2|all> --locales <lang1,lang2|all>" - I-legacy positional isayamukelwa:
OPTS="<doc|all> <lang|all>"
- Ukusebenzisa (amafulegi):
- Ukuziphatha: yakha i-JSONL, ilayishe, ibuze njalo ngemizuzu engama-30, ilande imiphumela, ibhale amafayela.
- Inothi: umsebenzi we-batch ungathatha kuze kube amahora angama-24 ukuwuqedela (ngokwendlela ye-batch ye-OpenAI). I-console ikhombisa isikhathi esedlule kokubuzayo ngakunye.
- Izemvelo:
OPENAI_API_KEY(kudingekile), okuzikhethelaOPENAI_MODEL,OPENAI_TEMPERATURE,OPENAI_BATCH_WINDOW(okuzenzakalelayo amahora angama-24),BATCH_POLL_INTERVAL_MS. - I-legacy:
translate_web_docs_sync- Ukusebenzisa (amafulegi):
make translate_web_docs_sync OPTS="--files <doc1,doc2|all> --locales <lang1,lang2|all>" - I-legacy positional isayamukelwa:
OPTS="<doc|all> <lang|all>"
- Ukusebenzisa (amafulegi):
- Ukuziphatha: izicelo ezihambisanayo ngephari ngayinye (akukho i-batch aggregation).
- Amanothi: Izikhuthazo ezisebenzisanayo uma
OPTSishiywe; Zombili izindlela zigcina ama-code block/inline code futhi zigcina i-front‑matteridingashintshi; ziloga kutranslation_web_batch.log(batch) nomatranslation_web_sync.log(sync).
translate_web_index / translation_web_index
- Inhloso: humusha izintambo ze-UI zewebhusayithi (ikhasi lasekhaya, ibha yokuzula, unyaweni) kusuka ku
website/i18n/en/code.jsonkuya kuzo zonke izilimi ngaphansi kukawebsite/i18n/<locale>/code.json(kukhishwaen). - Ukusebenzisa:
make translate_web_indexnomamake translate_web_index OPTS="--locales de,fr [--force]" - Izidingo: thumela ngaphandle
OPENAI_API_KEY(okuzikhethela:OPENAI_MODEL=gpt-4o-mini). - Ukuziphatha: iqinisekisa ukwakheka kwe-JSON, igcina izikhala zika-curly-brace, igcina ama-URL engashintshi, futhi izama futhi enikeza impendulo uma kunephutha ekuqinisekiseni.
web_build
- Inhloso: yakha isiza samadokhumenti kuya ku
website/build. - Ukusebenzisa:
make web_build OPTS="--locales en|de,en|all"(noma sethaBUILD_LOCALES="en de") - Okuqukethwe kwangaphakathi:
node ./node_modules/@docusaurus/core/bin/docusaurus.mjs build [--locale …]. - Izincike: isebenza
npm cikuwebsite/kuphela umawebsite/node_modules/@docusaurusingekho.
web_build_linkcheck
- Inhloso: ukuhlola izixhumanisi okuphephile okungaxhunyiwe ku-inthanethi.
- Ukusebenzisa:
make web_build_linkcheck OPTS="--locales en|all" - Amanothi: yakha kuya ku
tmp_linkcheck_web_pages; ibhala kabusha i-GH PagesbaseUrliye ku/; igwema izixhumanisi ze-HTTP(S) ezikude.
web_build_local_preview
- Inhloso: i-preview yendawo ye-gh‑pages ngezivivinyo/ukuhlola izixhumanisi ongakukhetha.
- Ukusebenzisa:
make web_build_local_preview OPTS="--locales en|all [--no-test] [--no-link-check] [--dry-run] [--no-serve]" - Ukuziphatha: izama iseva ye-Node preview kuqala (
scripts/preview-server.mjs, isekela/__stop), ibuyele kupython3 -m http.server; isebenza ku-8080–8090; i-PID kuweb-local-preview/.server.pid.
web_push_github
- Inhloso: push
website/buildkugh-pagesbranch. - Ukusebenzisa:
make web_push_github
Ithiphu: setha NPM=… ukuze udlulelisele i-package manager esetshenziswa yi-Makefile (okuzenzakalelayo npm).