ਤੈਨਾਤੀ ਅਤੇ ਔਨਲਾਈਨ

i18n.site ਇੱਕ ਸਿੰਗਲ-ਪੇਜ ਐਪਲੀਕੇਸ਼ਨ ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਅਪਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਵੈਬਸਾਈਟ ਪ੍ਰਵੇਸ਼ ਪੰਨਾ ਅਤੇ ਵੈਬਸਾਈਟ ਸਮੱਗਰੀ ਸੁਤੰਤਰ ਤੌਰ 'ਤੇ ਤਾਇਨਾਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।

ਉਪਰੋਕਤ ਅਨੁਵਾਦ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਬਾਅਦ, ਡਾਇਰੈਕਟਰੀਆਂ htm ਅਤੇ v md/out/dev ਡਾਇਰੈਕਟਰੀ ਦੇ ਅਧੀਨ ਤਿਆਰ ਕੀਤੀਆਂ ਜਾਣਗੀਆਂ।

ਇੱਥੇ, 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 ਪੈਕੇਜ ਨਾਮ ਦੇ ਰੂਪ npmjs.com md: YOUR_NPM_PACKAGE ਬਦਲੋ!

ਫਿਰ 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: //unpkg.com/i18n.site ਆਪਣੇ URL ਅਗੇਤਰ ਵਿੱਚ ਬਦਲੋ, ਜਿਵੇਂ ਕਿ v: //i18n-v.xxx.com

md ਡਾਇਰੈਕਟਰੀ ਦਰਜ ਕਰੋ ਅਤੇ ਚਲਾਓ

i18n.site --htm_conf ol --save

ਜਾਂ ਸੰਖੇਪ

i18n.site -c ol -s

ਫਿਰ, md/out/main/v ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਸਮੱਗਰੀ ਨੂੰ v: ਵਿੱਚ ਸੈੱਟ ਕੀਤੇ URL ਪ੍ਰੀਫਿਕਸ ਪਾਥ ਲਈ ਕੌਂਫਿਗਰ ਕਰੋ।

ਅੰਤ ਵਿੱਚ, /.v ਤੋਂ 1s ਵਿੱਚ ਖਤਮ ਹੋਣ ਵਾਲੇ ਮਾਰਗ ਦਾ ਕੈਸ਼ ਸਮਾਂ ਕੌਂਫਿਗਰ ਕਰੋ , ਨਹੀਂ ਤਾਂ ਨਵੀਂ ਜਾਰੀ ਕੀਤੀ ਸਮੱਗਰੀ ਨੂੰ ਤੁਰੰਤ ਐਕਸੈਸ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਬੇਲੋੜੀਆਂ ਬੇਨਤੀਆਂ ਨੂੰ ਘਟਾਉਣ ਲਈ ਹੋਰ ਮਾਰਗਾਂ ਲਈ ਕੈਸ਼ ਸਮਾਂ ਇੱਕ ਸਾਲ ਜਾਂ ਵੱਧ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

s3 ਲਈ ਸਮੱਗਰੀ ਦੀ ਮੇਜ਼ਬਾਨੀ ਕਰੋ

ਸਵੈ-ਹੋਸਟ ਸਮੱਗਰੀ ਲਈ, ਤੁਹਾਡੇ ਆਪਣੇ ਸਰਵਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਇਲਾਵਾ, S3 + CDN ਵਰਤੋਂ ਕਰਨਾ ਇੱਕ ਹੋਰ ਆਮ ਵਿਕਲਪ ਹੈ।

ਤੁਸੀਂ S3 ਸਰਵਰ ਵਿੱਚ ਲੌਗਇਨ ਕਰਨ rclone ਵਰਤ ਸਕਦੇ ਹੋ, ਫਿਰ ਹੇਠਾਂ ਦਿੱਤੀ ਸਕ੍ਰਿਪਟ ਨੂੰ ਵੇਖੋ ਅਤੇ ਸੋਧੋ, ਅਤੇ ਹਰੇਕ ਰੀਲੀਜ਼ ਲਈ ਸਿਰਫ S3 ਵਿੱਚ ਵਾਧੇ ਵਾਲੇ ਬਦਲਾਅ ਦੀ ਨਕਲ ਕਰੋ।

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 ਵਧੀਆ ਵਿਕਲਪ ਹਨ।

ਕਿਉਂਕਿ ਵੈੱਬਸਾਈਟ ਇੱਕ ਸਿੰਗਲ-ਪੰਨੇ ਐਪਲੀਕੇਸ਼ਨ ਆਰਕੀਟੈਕਚਰ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ, ਯਾਦ ਰੱਖੋ ਕਿ URL ਪਾਥਾਂ ਨੂੰ ਮੁੜ ਲਿਖਣਾ ਹੈ ਜਿਸ ਵਿੱਚ . ਤੋਂ index.html ਸ਼ਾਮਲ ਨਹੀਂ ਹਨ।

ਵੈੱਬਸਾਈਟ ਐਂਟਰੀ ਪੇਜ ਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਵਾਰ ਤੈਨਾਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਸਮੱਗਰੀ ਅੱਪਡੇਟ ਲਈ ਵੈੱਬਸਾਈਟ ਐਂਟਰੀ ਪੰਨੇ ਨੂੰ ਮੁੜ ਤੈਨਾਤ ਕਰਨ ਦੀ ਕੋਈ ਲੋੜ ਨਹੀਂ ਹੈ।

github ਪੰਨੇ 'ਤੇ ਤੈਨਾਤ ਕਰੋ

ਇੱਕ ਸੰਗਠਨ ਬਣਾਉਣ i18n-demo ਪਹਿਲਾਂ ਇੱਥੇ ਕਲਿੱਕ github

ਫਿਰ ਇਸ ਸੰਗਠਨ ਦੇ ਅਧੀਨ ਵੇਅਰਹਾਊਸ 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

ਕਲਾਉਡਫਲੇਅਰ ਪੰਨੇ 'ਤੇ ਤੈਨਾਤ ਕਰੋ

github page ਦੇ cloudflare 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_flatten ਰਿਕਾਰਡ A ਵਿੱਚ ਲੈਵਲ CNAME ਲਈ ਸਕ੍ਰਿਪਟ ਨਾਲ ਸਹਿਯੋਗ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।

ਇਸ ਤੋਂ ਇਲਾਵਾ, ਕਿਉਂਕਿ ਮੁੱਖ ਭੂਮੀ ਚੀਨ ਵਿੱਚ ਕਲਾਉਡ ਵਿਕਰੇਤਾਵਾਂ ਦੇ ਵਿਦੇਸ਼ੀ ਟ੍ਰੈਫਿਕ ਖਰਚੇ ਮੁਕਾਬਲਤਨ ਮਹਿੰਗੇ ਹਨ, ਜੇਕਰ ਤੁਸੀਂ ਲਾਗਤਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ DNS Cloud ਦੇ ਮੁਫ਼ਤ ਭੂਗੋਲਿਕ ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਅਤੇ Cloudflare for SaaS ਦੇ ਕਸਟਮ ਡੋਮੇਨ ਨਾਮ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਟ੍ਰੈਫਿਕ ਡਾਇਵਰਸ਼ਨ──ਮੁੱਖ ਭੂਮੀ ਚੀਨ Baidu Cloud 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 ਨਾਲ ਤੈਨਾਤ ਕਰੋ

ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਖੁਦ ਦੇ ਪ੍ਰੋਜੈਕਟ out/main/htm ਦੇ ਮਾਰਗ ਵਿੱਚ server /root/i18n/md/out/main/htm ਬਦਲੋ nginx

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