ನಿಯೋಜನೆ ಮತ್ತು ಆನ್ಲೈನ್
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
ಸಂಪಾದಿಸಿ ಮತ್ತು md:
YOUR_NPM_PACKAGE
ರ ಮೌಲ್ಯವನ್ನು ನಿಮ್ಮದೇ npmjs.com npm
ಪ್ಯಾಕೇಜ್ ಹೆಸರಿನಂತೆ ಬದಲಾಯಿಸಿ.
ನಂತರ 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 ಉತ್ತಮ ಆಯ್ಕೆಗಳು.
ವೆಬ್ಸೈಟ್ ಒಂದೇ ಪುಟದ ಅಪ್ಲಿಕೇಶನ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ಬಳಸುವುದರಿಂದ, .
ರಿಂದ index.html
ಅನ್ನು ಹೊಂದಿರದ URL ಮಾರ್ಗಗಳನ್ನು ಪುನಃ ಬರೆಯಲು ಮರೆಯದಿರಿ.
ವೆಬ್ಸೈಟ್ ಪ್ರವೇಶ ಪುಟವನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ನಿಯೋಜಿಸಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ನಂತರದ ವಿಷಯ ನವೀಕರಣಗಳಿಗಾಗಿ ವೆಬ್ಸೈಟ್ ಪ್ರವೇಶ ಪುಟವನ್ನು ಮರುಹಂಚಿಕೆ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ.
ಗಿಥಬ್ ಪುಟದಲ್ಲಿ ನಿಯೋಜಿಸಿ
ಸಂಸ್ಥೆಯನ್ನು ರಚಿಸಲು ಮೊದಲು github ಕ್ಲಿಕ್ ಮಾಡಿ i18n-demo
ಒಂದು ಉದಾಹರಣೆಯಾಗಿದೆ.
ನಂತರ ಈ ಸಂಸ್ಥೆಯ ಅಡಿಯಲ್ಲಿ ವೇರ್ಹೌಸ್ i18n-demo.github.io
ಅನ್ನು ರಚಿಸಿ (ದಯವಿಟ್ಟು i18n-demo
ನೀವು ರಚಿಸಿದ ಸಂಸ್ಥೆಯ ಹೆಸರಿನೊಂದಿಗೆ ಬದಲಾಯಿಸಿ):
ಹಿಂದಿನ ಲೇಖನದಲ್ಲಿ ವಿಷಯವನ್ನು ಪ್ರಕಟಿಸುವಾಗ, out/main/htm
ರಚಿಸಲಾಗಿದೆ ದಯವಿಟ್ಟು ಈ ಡೈರೆಕ್ಟರಿಯನ್ನು ನಮೂದಿಸಿ ಮತ್ತು ರನ್ ಮಾಡಿ :
ln -s index.html 404.html
URL ಮಾರ್ಗವನ್ನು ಪುನಃ ಬರೆಯುವುದನ್ನು github page
ಬೆಂಬಲಿಸುವುದಿಲ್ಲವಾದ್ದರಿಂದ, ಬದಲಿಗೆ 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
// ಔಟ್ಪುಟ್ನಂತಹ ಡೀಬಗ್ ಔಟ್ಪುಟ್ಗೆ ಪ್ರತಿಕ್ರಿಯೆ ಹೆಡರ್ಗಳನ್ನು ಹೊಂದಿಸಬಹುದು.XXX = 'MSG';
})
ರೆಕಾರ್ಡ್ MX
ಮತ್ತು ರೆಕಾರ್ಡ್ CNAME
ಸಹ ಅಸ್ತಿತ್ವದಲ್ಲಿರಲು ಸಾಧ್ಯವಿಲ್ಲ, ನೀವು ಅದೇ ಸಮಯದಲ್ಲಿ ಡೊಮೇನ್ ಹೆಸರಿನ ಇಮೇಲ್ಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಬಯಸಿದರೆ, cname_flatten CNAME
ಹಂತಕ್ಕೆ ರೆಕಾರ್ಡ್ A
ಗೆ ಸಹಕರಿಸಬೇಕು.
ಹೆಚ್ಚುವರಿಯಾಗಿ, ಚೀನಾದ ಮುಖ್ಯ ಭೂಭಾಗದಲ್ಲಿರುವ ಕ್ಲೌಡ್ ಮಾರಾಟಗಾರರ ಸಾಗರೋತ್ತರ ಟ್ರಾಫಿಕ್ ಶುಲ್ಕಗಳು ತುಲನಾತ್ಮಕವಾಗಿ ದುಬಾರಿಯಾಗಿರುವುದರಿಂದ, ನೀವು ವೆಚ್ಚವನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ಬಯಸಿದರೆ, ನೀವು ಸಾಧಿಸಲು 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 ನ server
ಪ್ಯಾರಾಗ್ರಾಫ್ನಲ್ಲಿ /root/i18n/md/out/main/htm
ಹೋಲುವ ಸಂರಚನೆಯನ್ನು ದಯವಿಟ್ಟು ನಿಮ್ಮ ಸ್ವಂತ ಯೋಜನೆ 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