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 install
Runner uji node.js built-in dan modul penegasan digunakan untuk pengujian.
Untuk menjalankan tes:
npm test
Selama pengembangan, disarankan untuk menjalankan tes secara otomatis pada perubahan file:
npm test -- --watch
JSDOC digunakan untuk mendokumentasikan kode.
Untuk menghasilkan dokumen sebagai html ke direktori docs
(git-ognored):
npm run docs
Prettier 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.