Trên trang này 4 mục
Biến môi trường
Chạy trên máy không cần biến nào. Khi đưa lên mạng, các biến dưới được đọc lúc build; đổi biến nào cũng phải build lại.
Bảng biến
| Biến | Khi nào cần | Dùng để |
|---|---|---|
TINA_CLIENT_ID | Cách 1 | Client ID của project TinaCloud |
TINA_TOKEN | Cách 1 | Token chỉ đọc của project TinaCloud |
GITHUB_BRANCH | Cách 1, khi nhánh nội dung không phải main | Nhánh TinaCloud đọc và ghi |
SITE_URL | Khi go-live | Địa chỉ gốc của site. Thiếu thì không có canonical, sitemap.xml và dữ liệu có cấu trúc cho Google |
PUBLIC_FORM_ENDPOINT | Site có form liên hệ hoặc đặt lịch | Địa chỉ nhận câu trả lời của form. Trống thì form chỉ hiện thông báo trang mẫu, không gửi đi đâu |
TINA_PUBLIC_ADMIN_READONLY, TINA_PUBLIC_CONTENT_API_URL | Admin xem thử | pnpm build:review đặt sẵn cả hai |
File mẫu
Mẫu có sẵn file .env.example:
# TinaCloud project, only needed for `pnpm build` and the deployed admin
TINA_CLIENT_ID=
TINA_TOKEN=
# Public preview admin (`pnpm build:review` sets both): no sign-in, nothing saved, and the
# server answers the admin's GraphQL itself at /api/tina/gql (see DEPLOY.md).
TINA_PUBLIC_ADMIN_READONLY=
TINA_PUBLIC_CONTENT_API_URL=
# The site's address, read at build time (https://example.com). Set it for go-live: canonical,
# og:url, the JSON-LD graph and sitemap.xml exist only in a build that has it. Unset, the build
# warns once and leaves them out.
# SITE_URL=
# Where the contactForm section posts its answers (JSON), read at build time. Empty: the
# form only shows the sample-site notice and sends nothing. https URL, local http URL or /path.
PUBLIC_FORM_ENDPOINT=Lưu ý
Biến môi trường được đọc lúc build. Đổi biến nào cũng phải build lại.
SITE_URL
Có SITE_URL thì trang có canonical và og:url, ảnh Open Graph và hreflang là địa chỉ đầy đủ, mỗi trang được index có khối dữ liệu có cấu trúc, và sitemap.xml được sinh. Thiếu thì build in một cảnh báo và bỏ các phần đó; robots.txt vẫn có.
PUBLIC_FORM_ENDPOINT
Form gửi POST JSON { locale, page, form, fields } tới địa chỉ này; trả mã 2xx là thành công, quá 15 giây thì báo lỗi. Nhận địa chỉ https://…, địa chỉ trên máy http://localhost… hoặc đường dẫn cùng site /….
fieldsdùng ô Name sent to the endpoint của từng dòng làm tên, giống nhau ở vi và en.formlà anchor của section, nên nơi nhận phân biệt form bằngformcùnglocale.- Nơi nhận ở domain khác phải cho phép CORS (
POST, headerContent-Type: application/json) từ domain của site.
Nguy hiểm
Địa chỉ này nằm công khai trong HTML của mọi trang có form. Không đặt khoá bí mật trong URL, và nơi nhận phải có giới hạn số lần gửi.