വിന്യാസവും ഓൺലൈനും

i18n.site ഒരൊറ്റ പേജ് ആപ്ലിക്കേഷൻ ആർക്കിടെക്ചർ സ്വീകരിക്കുന്നു, കൂടാതെ വെബ്സൈറ്റ് പ്രവേശന പേജും വെബ്സൈറ്റ് ഉള്ളടക്കവും സ്വതന്ത്രമായി വിന്യസിച്ചിരിക്കുന്നു.

മുകളിലുള്ള വിവർത്തനം പ്രവർത്തിപ്പിച്ചതിന് ശേഷം, md/out/dev ഡയറക്ടറിക്ക് കീഴിൽ htm , v ഡയറക്ടറികൾ ജനറേറ്റുചെയ്യും.

ഇവിടെ, dev എന്നാൽ .i18n/htm/dev.yml കോൺഫിഗറേഷൻ ഫയലിനെ അടിസ്ഥാനമാക്കി നിർമ്മിച്ചതാണ്.

dev ഡയറക്ടറി :

വെബ്സൈറ്റ് പ്രവേശന പേജാണ് htm ഡയറക്ടറി.

v ഡയറക്ടറിയിൽ പതിപ്പ് നമ്പറുകളുള്ള വെബ്സൈറ്റ് ഉള്ളടക്കം അടങ്ങിയിരിക്കുന്നു.

പ്രാദേശിക പ്രിവ്യൂ പതിപ്പ് നമ്പറിനെക്കുറിച്ച് ശ്രദ്ധിക്കുന്നില്ല കൂടാതെ എല്ലാ ഫയലുകളും out/dev/v/0.1.0 ഡയറക്ടറിയിലേക്ക് പകർത്തും.

ഔദ്യോഗിക റിലീസിനായി, മാറ്റിയ ഫയലുകൾ പുതിയ പതിപ്പ് നമ്പർ ഡയറക്ടറിയിലേക്ക് പകർത്തും.

കോൺഫിഗറേഷൻ ഫയൽ -c ഉപയോഗിച്ച് വ്യക്തമാക്കുക

വ്യത്യസ്ത കോൺഫിഗറേഷൻ ഫയലുകൾ out ഡയറക്ടറിയിൽ അനുബന്ധ ഡയറക്ടറികൾ സൃഷ്ടിക്കും.

ഉദാഹരണത്തിന്, .i18n/htm/main.yml out/main ഡയറക്ടറി സൃഷ്ടിക്കും.

dev.yml , main.yml എന്നിവയാണ് ഡിഫോൾട്ട് കോൺഫിഗറേഷനുകൾ.

dev എന്നത് development ൻ്റെ ചുരുക്കമാണ്, ഇത് പ്രാദേശിക പ്രിവ്യൂവിനായി ഉപയോഗിക്കുന്ന വികസന പരിസ്ഥിതിയെ സൂചിപ്പിക്കുന്നു, കൂടാതെ സ്ഥിരസ്ഥിതി കോൺഫിഗറേഷൻ ഫയൽ കൂടിയാണ്. ol എന്നത് online ൻ്റെ ചുരുക്കെഴുത്താണ്, ഇത് ഔദ്യോഗിക റിലീസിനായി ഉപയോഗിക്കുന്ന -n മുതൽ npm വരെയുള്ള കമാൻഡ് ലൈൻ പാരാമീറ്ററുകൾ ഉപയോഗിക്കുമ്പോൾ സ്ഥിരസ്ഥിതി കോൺഫിഗറേഷൻ ഫയലാണ്.

നിങ്ങൾക്ക് ഉപയോഗിക്കേണ്ട കോൺഫിഗറേഷൻ ഫയലിൻ്റെ പേര് വ്യക്തമാക്കുന്നതിന് കമാൻഡ് ലൈനിൽ --htm_conf ഉപയോഗിക്കുക.

ഉദാഹരണത്തിന്:

i18n.site --htm_conf dist --save

ഇവിടെ --save അപ്ഡേറ്റ് റിലീസ് പതിപ്പ് നമ്പറിനെ പ്രതിനിധീകരിക്കുന്നു.

npmjs.com-ലേക്ക് ഉള്ളടക്കം പ്രസിദ്ധീകരിക്കുക

npmjs.com ഉള്ളടക്കം പ്രസിദ്ധീകരിക്കുന്നത് ശുപാർശ ചെയ്യുന്ന സ്ഥിരസ്ഥിതി പരിഹാരമാണ് ( ഫ്രണ്ട്-എൻഡ് ഉയർന്ന ലഭ്യത കാണുക).

npm & പോസ്റ്റ്

nodejs ഇൻസ്റ്റാൾ ചെയ്യുക, npm login ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുക.

md/.i18n/htm/main.yml എഡിറ്റ് ചെയ്ത് നിങ്ങളുടെ സ്വന്തം npm പാക്കേജ് പേരായി md: YOUR_NPM_PACKAGE മൂല്യം മാറ്റുക npmjs.com

തുടർന്ന് md/.i18n/htm/main.package.json പരിഷ്ക്കരിക്കുക

വിവർത്തനം ചെയ്യാനും പ്രസിദ്ധീകരിക്കാനും md ഡയറക്ടറിയിൽ i18n.site --npm അല്ലെങ്കിൽ i18n.site -n പ്രവർത്തിപ്പിക്കുക.

പ്രസിദ്ധീകരിക്കാൻ നിങ്ങൾ തുടർച്ചയായ സംയോജന അന്തരീക്ഷം ഉപയോഗിക്കുകയാണെങ്കിൽ, nodejs ഇൻസ്റ്റാൾ ചെയ്യേണ്ട ആവശ്യമില്ല. ലോഗിൻ ചെയ്തതും പ്രസിദ്ധീകരിക്കുന്നതുമായ അനുമതികൾ ~/.npmrc പരിസ്ഥിതിയിലേക്ക് പകർത്തുക.

main.yml -ൽ v: -ൻ്റെ പാക്കേജിൻ്റെ പേര് നിങ്ങൾ പരിഷ്ക്കരിക്കുകയാണെങ്കിൽ, ദയവായി ആദ്യം .i18n/v/main ഇല്ലാതാക്കി അത് പ്രസിദ്ധീകരിക്കുന്നത് ഉറപ്പാക്കുക .

npm പ്രസിദ്ധീകരിച്ച പ്രോക്സി സെർവർ

മെയിൻലാൻഡ് ചൈനയിലെ ഉപയോക്താക്കൾക്ക് നെറ്റ്വർക്ക് പ്രശ്നങ്ങൾ നേരിടുകയും npm പാക്കേജുകൾ പ്രസിദ്ധീകരിക്കാൻ കഴിയുന്നില്ലെങ്കിൽ, പ്രോക്സി സെർവർ കോൺഫിഗർ ചെയ്യുന്നതിനായി അവർക്ക് എൻവയോൺമെൻ്റ് വേരിയബിൾ https_proxy സജ്ജമാക്കാൻ കഴിയും.

നിങ്ങളുടെ പ്രോക്സി സെർവർ പോർട്ട് 7890 ആണെന്ന് കരുതി, നിങ്ങൾക്ക് എഴുതാം:

https_proxy=http://127.0.0.1:7890 i18n.site -n

സ്വയം ഹോസ്റ്റ് ചെയ്ത ഉള്ളടക്കം

നിങ്ങൾക്ക് ഉള്ളടക്കം സ്വയം ഹോസ്റ്റ് ചെയ്യണമെങ്കിൽ, ആദ്യം md/.i18n/htm/main.yml എഡിറ്റ് ചെയ്ത് v: //i18n-v.xxx.com പോലെയുള്ള നിങ്ങളുടെ URL പ്രിഫിക്സിലേക്ക് v: //unpkg.com/i18n.site മാറ്റുക.

md ഡയറക്ടറി നൽകി റൺ ചെയ്യുക

i18n.site --htm_conf ol --save

അല്ലെങ്കിൽ ചുരുക്കെഴുത്ത്

i18n.site -c ol -s

തുടർന്ന്, md/out/main/v ഡയറക്ടറിയിലെ ഉള്ളടക്കം v: -ൽ സജ്ജീകരിച്ചിരിക്കുന്ന URL പ്രിഫിക്സ് പാതയിലേക്ക് കോൺഫിഗർ ചെയ്യുക.

അവസാനമായി, /.v മുതൽ 1s വരെ അവസാനിക്കുന്ന പാതയുടെ കാഷെ സമയം ക്രമീകരിക്കുക , അല്ലാത്തപക്ഷം പുതുതായി പുറത്തിറക്കിയ ഉള്ളടക്കം ഉടനടി ആക്സസ് ചെയ്യാൻ കഴിയില്ല.

അനാവശ്യ അഭ്യർത്ഥനകൾ കുറയ്ക്കുന്നതിന് മറ്റ് പാതകൾക്കായുള്ള കാഷെ സമയം ഒരു വർഷമോ അതിൽ കൂടുതലോ ആയി സജ്ജീകരിക്കാം.

s3-ലേക്ക് ഉള്ളടക്കം ഹോസ്റ്റ് ചെയ്യുക

സ്വന്തം സെർവർ ഉപയോഗിക്കുന്നതിന് പുറമേ CDN ഉള്ളടക്കം സ്വയം ഹോസ്റ്റുചെയ്യുന്നതിന്, മറ്റൊരു പൊതു ഓപ്ഷൻ S3 +

S3 സെർവറിൽ ലോഗിൻ S3 നിങ്ങൾക്ക് rclone

i18n.site -c ol -s
s3=your-s3
bucket=your-bucket
ver=$(head -1 .i18n/v/main/v.hash | cut -c 2-)
rclone copy --overwrite-dir out/main/htm/v/$ver $s3:/$bucket/$ver
rclone copy out/main/v/.v "$s3:/$bucket/"

CDN കോൺഫിഗർ ചെയ്യാൻ ഓർക്കുക, അങ്ങനെ /.v ൽ അവസാനിക്കുന്ന പാതയുടെ കാഷെ സമയം 1s ആണ്, അല്ലാത്തപക്ഷം പുതുതായി റിലീസ് ചെയ്ത ഉള്ളടക്കം ഉടനടി ആക്സസ് ചെയ്യാൻ കഴിയില്ല.

വെബ്സൈറ്റ് പ്രസിദ്ധീകരിക്കുക

വെബ്സൈറ്റ് എവിടെയും വിന്യസിക്കാം, github page cloudflare page നല്ല ചോയ്സുകളാണ്.

വെബ്സൈറ്റ് ഒരൊറ്റ പേജ് ആപ്ലിക്കേഷൻ ആർക്കിടെക്ചർ ഉപയോഗിക്കുന്നതിനാൽ, . മുതൽ index.html വരെ അടങ്ങാത്ത URL പാഥുകൾ മാറ്റിയെഴുതാൻ ഓർക്കുക.

വെബ്സൈറ്റ് എൻട്രി പേജ് ഒരിക്കൽ മാത്രം വിന്യസിക്കേണ്ടതുണ്ട്, തുടർന്നുള്ള ഉള്ളടക്ക അപ്ഡേറ്റുകൾക്കായി വെബ്സൈറ്റ് എൻട്രി പേജ് വീണ്ടും വിന്യസിക്കേണ്ടതില്ല.

ഗിത്തബ് പേജിൽ വിന്യസിക്കുക

ഒരു github സൃഷ്ടിക്കാൻ ആദ്യം ഇവിടെ ക്ലിക്ക് ചെയ്യുക i18n-demo ഒരു ഉദാഹരണം.

തുടർന്ന് ഈ ഓർഗനൈസേഷന് കീഴിൽ വെയർഹൗസ് i18n-demo.github.io സൃഷ്ടിക്കുക (നിങ്ങൾ സൃഷ്ടിച്ച സ്ഥാപനത്തിൻ്റെ പേര് ഉപയോഗിച്ച് i18n-demo മാറ്റിസ്ഥാപിക്കുക):

out/main/htm ലേഖനത്തിലെ ഉള്ളടക്കം പ്രസിദ്ധീകരിക്കുമ്പോൾ, ഈ ഡയറക്ടറി നൽകി പ്രവർത്തിപ്പിക്കുക :

ln -s index.html 404.html

github page URL പാത്ത് റീറൈറ്റിംഗ് പിന്തുണയ്ക്കാത്തതിനാൽ, പകരം 404.html ഉപയോഗിക്കുന്നു.

തുടർന്ന് htm ഡയറക്ടറിയിൽ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക ( i18n-demo/i18n-demo.github.io.git നിങ്ങളുടെ സ്വന്തം വെയർഹൗസ് വിലാസം ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നത് ഓർക്കുക) :

git init
git branch -M main
git remote add origin [email protected]:i18n-demo/i18n-demo.github.io.git
git push -u origin main -f

കോഡ് പുഷ് ചെയ്തതിന് ശേഷം, നിങ്ങൾക്ക് അത് ആക്സസ് ചെയ്യാൻ കഴിയുന്നതിന് മുമ്പ് github page ൻ്റെ വിന്യാസം വിജയകരമായി പ്രവർത്തിക്കുന്നതിന് കാത്തിരിക്കുക (ചുവടെ കാണിച്ചിരിക്കുന്നത് പോലെ).

ഡെമോ പേജിനായി ദയവായി കാണുക:

https://i18n-demo.github.io

ക്ലൗഡ്ഫ്ലെയർ പേജിൽ വിന്യസിക്കുക

cloudflare page github page

cloudflare page യുടെ വിന്യാസം സാധാരണയായി മുകളിലുള്ള github page ൻ്റെ വിന്യാസത്തെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്.

ഒരു പ്രോജക്റ്റ് സൃഷ്ടിച്ച് മുകളിലുള്ള i18n-demo.github.io വെയർഹൗസ് ബൈൻഡ് ചെയ്യുക.

പ്രക്രിയ ചുവടെയുള്ള ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നു:

ഓർഗനൈസേഷൻ i18n-demo ലേക്ക് ആക്സസ് അനുവദിക്കുന്നതിന് ദയവായി Add Account ക്ലിക്ക് ചെയ്യുക.

നിങ്ങൾ മറ്റൊരു ഓർഗനൈസേഷൻ്റെ വെയർഹൗസ് ബന്ധിപ്പിച്ചിട്ടുണ്ടെങ്കിൽ, പുതിയ ഓർഗനൈസേഷൻ പ്രദർശിപ്പിക്കുന്നതിന് മുമ്പ് രണ്ട് തവണ അംഗീകരിക്കുന്നതിന് നിങ്ങൾ Add Account രണ്ട് തവണ ക്ലിക്ക് ചെയ്യേണ്ടതായി വന്നേക്കാം.

അടുത്തതായി, വെയർഹൗസ് i18n-demo.github.io തിരഞ്ഞെടുക്കുക, തുടർന്ന് Begin setup ക്ലിക്ക് ചെയ്യുക, തുടർന്നുള്ള ഘട്ടങ്ങൾക്കായി സ്ഥിരസ്ഥിതി മൂല്യങ്ങൾ ഉപയോഗിക്കുക.

ആദ്യമായി ബൈൻഡിംഗിന് ശേഷം, അത് ആക്സസ് ചെയ്യുന്നതിന് കുറച്ച് മിനിറ്റ് കാത്തിരിക്കേണ്ടതുണ്ട്.

വിന്യാസത്തിന് ശേഷം, നിങ്ങൾക്ക് ഒരു ഇഷ്ടാനുസൃത ഡൊമെയ്ൻ നാമം ബന്ധിപ്പിക്കാൻ കഴിയും.

ഇഷ്ടാനുസൃത ഡൊമെയ്ൻ നാമം ബൈൻഡ് ചെയ്ത ശേഷം, ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ സിംഗിൾ-പേജ് ആപ്ലിക്കേഷൻ്റെ പാത്ത് റീറൈറ്റിംഗ് കോൺഫിഗർ ചെയ്യുന്നതിന് ദയവായി ഡൊമെയ്ൻ നാമത്തിലേക്ക് പോകുക:

മുകളിലെ ചിത്രത്തിലെ നിയമങ്ങൾ ചുവടെയുള്ള ആദ്യ വരിയിലെ i18n.site എന്നതിന് പകരം നിങ്ങൾ ബന്ധിപ്പിച്ച ഡൊമെയ്ൻ നാമം നൽകുക.

(http.host in {"i18n.site"}) and not (
substring(http.request.uri.path,-3) in {".js" ".gz"} or
substring(http.request.uri.path,-4) in {".htm" ".rss" ".css" ".svg" ".ico" ".png" ".xml" ".txt"} or
substring(http.request.uri.path,-5) in {".html" ".avif" ".json"} or
ends_with(http.request.uri.path,".webmanifest")
)

കൂടാതെ, ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ കാഷെ നിയമങ്ങൾ കോൺഫിഗർ ചെയ്യുക, കാഷെ ദൈർഘ്യം ഒരു മാസമായി സജ്ജമാക്കുക.

മുകളിലെ ചിത്രത്തിലെ രണ്ടാം ഘട്ടത്തിലെ ഡൊമെയ്ൻ നാമം നിങ്ങൾ ബന്ധിപ്പിച്ച ഡൊമെയ്ൻ നാമത്തിലേക്ക് മാറ്റുക.

ചൈനയിലെ മെയിൻലാൻഡ് വെബ്സൈറ്റ് വിന്യാസം ഒപ്റ്റിമൈസ് ചെയ്യുന്നു

ചൈനയിലെ മെയിൻലാൻഡ് നെറ്റ്വർക്ക് പരിതസ്ഥിതിയിൽ നിങ്ങൾക്ക് മികച്ച പ്രവേശനക്ഷമത പ്രകടനം നേടണമെങ്കിൽ, ആദ്യം ഒരു ഡൊമെയ്ൻ പേര് രജിസ്റ്റർ ചെയ്യുക .

തുടർന്ന്, + ക്ലൗഡ് വെണ്ടർമാരുടെ ഒബ്ജക്റ്റ് സ്റ്റോറേജ് ഉപയോഗിക്കുക CDN ഇനിപ്പറയുന്ന ഉള്ളടക്കം വിന്യസിക്കുക out/main/htm .

സിംഗിൾ-പേജ് ആപ്ലിക്കേഷനുകളുമായി പൊരുത്തപ്പെടാൻ നിങ്ങൾക്ക് എഡ്ജ് കമ്പ്യൂട്ടിംഗ് ഉപയോഗിക്കാം, ഉദാഹരണത്തിന്, Baidu Smart Cloud CDN ഇതുപോലെ കോൺഫിഗർ ചെയ്യാം:

const uri = r.uri, p = uri.lastIndexOf(".");
if (
  p < 0 ||
  !"|js|css|htm|html|md|avif|json|ico|xml|rss|gz|mp4|png|svg|txt|webmanifest|".includes(
    "|" + uri.slice(p + 1) + "|",
  )
) {
  const ua = r.headersIn["User-Agent"].toLowerCase()
  if (/facebookexternalhit|slurp|bot|spider|curl/.test(ua)) {
    r.return(
      302,
      (/baidu|yisou|sogou|360|byte/.test(ua) ? "/zh" : "/en") + r.uri + ".htm",
    )
  } else {
    r.uri = "/index.html"
  }
}

r.respHeader(() => {
  const t = [], out = r.headersOut;
  ["Content-MD5", "Age", "Expires", "Last-Modified"].forEach(
    i => delete out[i]
  )
  r.rawHeadersOut.forEach(i => {
    const key = i[0].toLowerCase()
    if (key.startsWith("x-") || key.startsWith("ohc-")) {
      delete out[key]
    }
  })
  out["Cache-Control"] = "max-age=" + 9e5
  // out.XXX = 'MSG';
})

റെക്കോർഡ് MX ഉം റെക്കോർഡ് CNAME ഒരുമിച്ച് നിലനിൽക്കാൻ കഴിയാത്തതിനാൽ, നിങ്ങൾക്ക് ഒരേ സമയം ഡൊമെയ്ൻ നെയിം ഇമെയിലുകൾ ലഭിക്കണമെങ്കിൽ, ലെവൽ CNAME ലേക്ക് റെക്കോർഡ് A -ലേക്ക് നിങ്ങൾ cname_flatten .

കൂടാതെ, ചൈനയിലെ ക്ലൗഡ് വെണ്ടർമാരുടെ വിദേശ ട്രാഫിക് ചാർജ്ജ് താരതമ്യേന ചെലവേറിയതാണ്, നിങ്ങൾക്ക് ചെലവ് ഒപ്റ്റിമൈസ് ചെയ്യണമെങ്കിൽ, നിങ്ങൾക്ക് DNS Cloud ൻ്റെ സൗജന്യ ഭൂമിശാസ്ത്രപരമായ റെസല്യൂഷനും Cloudflare for SaaS ൻ്റെ ഇഷ്ടാനുസൃത ഡൊമെയ്ൻ നാമവും (ചുവടെ കാണിച്ചിരിക്കുന്നത് പോലെ) ഉപയോഗിക്കാം ട്രാഫിക് വഴിതിരിച്ചുവിടൽ──ചൈന ബെയ്ഡു ക്ലൗഡ് CDN മെയിൻലാൻഡിലെ ട്രാഫിക് റൂട്ടിംഗ്, അന്താരാഷ്ട്ര ട്രാഫിക് cloudflare പോകുന്നു.

ഈ വിന്യാസ ഒപ്റ്റിമൈസേഷൻ സൊല്യൂഷനുകൾ കൂടുതൽ സങ്കീർണ്ണവും ഭാവിയിൽ പ്രത്യേക അധ്യായങ്ങളിൽ അവതരിപ്പിക്കപ്പെടുന്നതുമാണ്.

പൊതുവായ ഡൊമെയ്ൻ നാമം റീഡയറക്ഷൻ

നിങ്ങളുടെ പ്രധാന വെബ്സൈറ്റായി ഒരു വെബ്സൈറ്റ് സൃഷ്ടിക്കാൻ നിങ്ങൾ i18n.site ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങൾ സാധാരണയായി പാൻ-ഡൊമെയ്ൻ റീഡയറക്ഷൻ കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്, അതായത്, *.xxx.com ( www.xxx.com ഉൾപ്പെടെ) മുതൽ xxx.com വരെ ആക്സസ് റീഡയറക്ട് ചെയ്യുക.

ആലിബാബ ക്ലൗഡ് CDN EdgeScript ( ഇംഗ്ലീഷ് ഡോക്യുമെൻ്റ് / ചൈനീസ് പ്രമാണം ) സഹായത്തോടെ ഈ ആവശ്യകത കൈവരിക്കാനാകും.

CDN ക്ലൗഡിൽ ഡൊമെയ്ൻ നാമം ചേർക്കുകയും ആലിബാബ ക്ലൗഡ് CDN ൽ ഡൊമെയ്ൻ നാമം *.xxx.com മുതൽ CNAME വരെ സൂചിപ്പിക്കുകയും ചെയ്യുക.

ഉദാഹരണത്തിന്, മുകളിലെ ചിത്രത്തിലെ *.i18n.site -ൻ്റെ പാൻ-ഡൊമെയ്ൻ നാമം റീഡയറക്ഷൻ കോൺഫിഗറേഷൻ ഇപ്രകാരമാണ്:

rewrite(concat('https://i18n.site',$uri), 'redirect',301)

nginx ഉപയോഗിച്ച് വിന്യസിക്കുക

nginx /root/i18n/md/out/main/htm server ഖണ്ഡികയിൽ ഇനിപ്പറയുന്നതിന് സമാനമായ out/main/htm കോൺഫിഗറേഷൻ ചേർക്കുക.

location / {
  root  /root/i18n/md/out/main/htm;
  add_header Cache-Control "max-age=9999999";
  if ($uri !~* \.(avif|css|html|ico|js|json|png|svg|txt|webmanifest|xml)$) {
     rewrite ^ /index.html last;
  }
}

github action തുടർച്ചയായ സംയോജനത്തെ അടിസ്ഥാനമാക്കി

നിങ്ങളുടെ github action കോൺഫിഗർ ചെയ്യുന്നതിന് നിങ്ങൾക്ക് ഇനിപ്പറയുന്നവ റഫർ ചെയ്യാം:

name: i18n.site

on:
  workflow_dispatch:
  push:
    branches:
      - main
      - dist

jobs:
  i18n:

    permissions:
      repository-projects: write
      contents: write

    runs-on: ubuntu-latest

    steps:
      - name: checkout
        uses: actions/checkout@v4

      - name: https://i18n.site
        uses: i18n-site/github-action-i18n.site@main
        with:
          I18N_SITE_TOKEN: ${{ secrets.I18N_SITE_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

കോൺഫിഗറേഷനിൽ കാണുന്നത് പോലെ, ബ്രാഞ്ച് main , ബ്രാഞ്ച് dist എന്നിവയിലേക്ക് തള്ളുമ്പോൾ ഈ വർക്ക്ഫ്ലോ ട്രിഗർ ചെയ്യപ്പെടും.

പ്രമാണം പ്രസിദ്ധീകരിക്കാൻ വർക്ക്ഫ്ലോ ബ്രാഞ്ച് നാമവുമായി ബന്ധപ്പെട്ട കോൺഫിഗറേഷൻ ഫയൽ ഉപയോഗിക്കും, യഥാക്രമം .i18n/htm/main.yml , .i18n/htm/dist.yml എന്നിവ പ്രസിദ്ധീകരണ കോൺഫിഗറേഷനായി ഉപയോഗിക്കും.

ഡോക്യുമെൻ്റ് റിലീസ് പ്രക്രിയയ്ക്കായി ഇനിപ്പറയുന്ന മികച്ച രീതികൾ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു:

മാറ്റങ്ങൾ ബ്രാഞ്ച് main ലേക്ക് തള്ളുമ്പോൾ, പ്രമാണം നിർമ്മിക്കപ്പെടുകയും പ്രിവ്യൂ സ്റ്റേഷനിലേക്ക് വിന്യസിക്കുകയും ചെയ്യുന്നു (പ്രിവ്യൂ സ്റ്റേഷൻ ലഭ്യമാണ് github page ).

പ്രിവ്യൂ സൈറ്റിൽ ഡോക്യുമെൻ്റ് ശരിയാണെന്ന് സ്ഥിരീകരിച്ച ശേഷം, കോഡ് ലയിപ്പിച്ച് ബ്രാഞ്ച് dist ലേക്ക് തള്ളും, കൂടാതെ ഔദ്യോഗിക ബിൽഡും വിന്യാസവും ഓൺലൈനായി പോകും.

തീർച്ചയായും, മുകളിൽ പറഞ്ഞ പ്രക്രിയ നടപ്പിലാക്കുന്നതിന് കൂടുതൽ കോൺഫിഗറേഷനുകൾ എഴുതേണ്ടതുണ്ട്.

വർക്ക്ഫ്ലോ സ്ക്രിപ്റ്റിംഗിനായി നിങ്ങൾക്ക് യഥാർത്ഥ പ്രോജക്റ്റ് റഫർ ചെയ്യാം github.com/fcdoc/doc

കോൺഫിഗറേഷനിലെ secrets.I18N_SITE_TOKEN ഉം secrets.NPM_TOKEN ഉം നിങ്ങൾ കോഡ് ബേസിൽ രഹസ്യ വേരിയബിളുകൾ ക്രമീകരിക്കേണ്ടതുണ്ട്.

I18N_SITE_TOKEN i18n.site/token .

NPM_TOKEN കോൺഫിഗറേഷനിലെ പാക്കേജ് npm ൻ്റെ പ്രസിദ്ധീകരണ ടോക്കൺ ആണ് npmjs.com

ഡയറക്ടറി ഘടന

public

വെബ്സൈറ്റിൻ്റെ സ്റ്റാറ്റിക് ഫയലുകൾ, favicon.ico , robots.txt , മുതലായവ.

ഇവിടെയുള്ള ഐക്കൺ ഫയലുകൾ ഉപയോഗിച്ച് സൃഷ്ടിക്കാൻ കഴിയും realfavicongenerator.net

.i18n

.i18n ഡയറക്ടറിക്ക് കീഴിൽ i18n.site ൻ്റെ കോൺഫിഗറേഷൻ ഫയലുകൾ, വിവർത്തന കാഷെ തുടങ്ങിയവയുണ്ട്. വിശദാംശങ്ങൾക്ക് അടുത്ത അധ്യായം "കോൺഫിഗറേഷൻ" കാണുക.

en

സോഴ്സ് ലാംഗ്വേജ് ഡയറക്ടറി, .i18n/conf.yml കോൺഫിഗറേഷൻ ഫയലിൽ fromTo en ന് യോജിച്ചതാണ്

i18n:
  fromTo:
    en: zh

വിവർത്തനത്തിൻ്റെ കോൺഫിഗറേഷൻ പരിശോധിക്കുക i18