Tidak ada hosting sisi server, fungsi cloud tanpa server, atau basis data yang diperlukan. Situs statis Suri dapat digunakan ke Vercel, Netlify, dan lebih banyak (biasanya gratis) dalam beberapa menit.
Suri tidak peduli tentang pengalihan server 3xx "secara teknis unggul". Suri hanya ingin Anda akhirnya menggunakan domain yang Anda habiskan $ 59/tahun dan ambil kembali tautan pendek Anda dari Bitlys dan Tinyurls dari web.
https://surishort.link/gh ⇒ https://github.com/surishortlink/suri
https://surishort.link adalah contoh situs yang menampilkan Suri dalam aksi. Anda dapat memeriksa repositori untuk situs dan file yang mengelola tautan untuk melihat cara kerjanya.
Suri memiliki repositori template yang membuatnya sangat mudah untuk memulai. Pilih platform yang Anda gunakan dan ikuti petunjuk langkah demi langkah:
Tidak menyebarkan ke salah satu platform itu? Jangan khawatir. Berikut adalah beberapa opsi umum yang mencakup sebagian besar skenario lain, apakah itu penyedia cloud yang berbeda atau menampungnya sendiri:
Di jantung Suri adalah file links.json , yang terletak di direktori src , tempat Anda mengelola tautan Anda. Semua repositori template termasuk file ini diunggulkan dengan beberapa contoh:
{
"/" : " https://www.youtube.com/watch?v=CsHiG-43Fzg " ,
"1" : " https://fee.org/articles/the-use-of-knowledge-in-society/ " ,
"gh" : " https://github.com/surishortlink/suri "
} Ini tidak bisa lebih sederhana: kuncinya adalah jalur "tautan pendek" yang dialihkan, dan nilainya adalah URL target. Kunci bisa sesingkat atau selama yang Anda inginkan, menggunakan campuran karakter apa pun yang Anda inginkan. / adalah entri khusus untuk mengarahkan kembali jalur root.
Suri mengirim dengan file yang dapat dieksekusi suri yang menghasilkan situs statis dari file links.json . Situs statis adalah output ke direktori bernama build .
Semua repositori template dikonfigurasi dengan skrip build yang memunculkan ini dapat dieksekusi, membuat perintah yang Anda jalankan sederhana:
npm run build Saat Anda melakukan perubahan pada file links.json , cukup ikuti kembali perintah ini untuk menghasilkan kembali situs statis, yang kemudian dapat dikerahkan kembali. Banyak platform yang Suri memiliki repositori template dikonfigurasi untuk melakukan ini secara otomatis.
Konfigurasi ditangani melalui file suri.config.json di direktori root. Hanya ada satu opsi pada saat ini:
| Pilihan | Keterangan | Jenis | Bawaan |
|---|---|---|---|
js | Apakah akan mengarahkan kembali dengan javascript alih -alih penyegaran <meta> . | Boolean | false |
Akhirnya, setiap file di direktori public akan disalin ke direktori build tanpa modifikasi ketika situs statis dibangun. Ini dapat berguna untuk file seperti favicon.ico atau robots.txt (yang mengatakan, Suri memberikan default yang masuk akal untuk keduanya).
Jika Anda sebelumnya bercabang/mengkloning repositori ini ketika pada versi 0.1 hingga 0.5.1, Anda akan melihat beberapa perbedaan sekarang dengan versi 1.
Versi 1 memecahkan tiga masalah utama dengan versi 0:
render.yaml untuk render dan app.json untuk Heroku (antara lain) di repositori Anda. V1 memperbaiki ini dengan memiliki repositori template terpisah untuk setiap platform, yang hanya menyertakan file yang diperlukan untuk platform itu. Jadi, bagaimana Anda meningkatkan? Jika Anda hanya pernah mengedit file links.json Anda, peningkatan itu sederhana:
links.json Anda.public Anda, salin itu.SURI_JS ke 1 , ubah js menjadi true di suri.config.json . Jika Anda mengedit salah satu dari Eleventy Files - seperti Template links.njk - Anda mungkin hanya ingin tetap pada V0 dan terus menggunakan Eleventy.
Ada beberapa perubahan penting lainnya di V1 di luar itu:
build bukan _site .suri.config.json alih -alih variabel lingkungan.npm run clean untuk menghapus direktori build. npm run build melakukan ini secara otomatis sebelum setiap build baru. Jika tidak, Anda dapat menambahkannya kembali secara manual jika Anda merasa berguna.npm run dev to build, watch, and serve the static site during development. Ini berlebihan untuk halaman HTML kecil yang dihasilkan Suri.npm run lint ke serat dengan lebih cantik. Anda dapat menambahkannya kembali secara manual jika Anda merasa berguna.npm run release yang dihapus untuk merilis versi baru Suri. Anda dapat menambahkannya kembali secara manual jika Anda ingin menandai versi pelepasan repositori Anda.jstayton pribadi saya di GitHub ke organisasi surishortlink baru untuk semua repositori terkait Suri. Satu -satunya prasyarat adalah versi yang kompatibel dari node.js (lihat engines.node di package.json ).
Instal dependensi dengan NPM:
npm installRunner uji node.js built-in dan modul penegasan digunakan untuk pengujian.
Untuk menjalankan tes:
npm testSelama pengembangan, disarankan untuk menjalankan tes secara otomatis pada perubahan file:
npm test -- --watchJSDOC digunakan untuk mendokumentasikan kode.
Untuk menghasilkan dokumen sebagai html ke direktori docs (git-ognored):
npm run docsPrettier sedang diatur untuk menegakkan gaya kode yang konsisten. Sangat disarankan untuk menambahkan integrasi ke editor Anda yang secara otomatis memformat Simpan.
Eslint diatur dengan aturan "yang disarankan" untuk menegakkan tingkat kualitas kode. Ini juga sangat disarankan untuk menambahkan integrasi ke editor Anda yang secara otomatis memformat Simpan.
Untuk dijalankan melalui baris perintah:
npm run lint Ketika cabang development siap untuk dirilis, rilis! digunakan untuk mengatur proses pelepasan:
npm run release Setelah proses rilis selesai, gabungkan cabang development ke dalam cabang main , yang harus selalu mencerminkan rilis terbaru.