無需服務器端託管,無服務器雲功能或數據庫。 Suri靜態站點可以在幾分鐘內部署到Vercel,Netlify等(通常是免費的)。
蘇里不在乎“技術上優越”的3xx服務器重定向。蘇里只希望您最終使用您每年花費59美元的域名,並從網絡的咬合和tinyurls中取回您的短鏈接。
https://surishort.link/gh⇒https://github.com/surishortlink/suri
https://surishort.link是一個示例網站,展示了Suri在行動中。您可以查看網站的存儲庫以及管理鏈接以查看其工作原理的文件。
蘇里(Suri)擁有模板存儲庫,可以使起步非常容易。選擇您要部署的平台並遵循逐步說明:
不部署其中一個平台?不用擔心。以下是一些涵蓋大多數其他方案的通用選項,無論是不同的雲提供商還是自己託管:
Suri的src是links.json 。所有模板存儲庫都包含此文件,其中有幾個示例:
{
"/" : " 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 "
}它並不簡單:關鍵是重定向的“短鏈路”路徑,值是目標URL。鑰匙可以使用您想要的任何字符混合物,盡可能短或需要長時間。 /是重定向根路徑的特殊條目。
Suri帶有一個suri可執行文件,該文件從links.json文件中生成靜態站點。靜態站點輸出到名為build的目錄。
所有模板存儲庫均配置一個build腳本,該腳本調用此可執行文件,使您運行的命令簡單:
npm run build當您更改links.json文件時,只需重新運行此命令以重新生成靜態站點,然後可以重新部署該站點。 Suri具有模板存儲庫的許多平台都配置為自動執行此操作。
通過根目錄中的suri.config.json文件來處理配置。此時只有一個選項:
| 選項 | 描述 | 類型 | 預設 |
|---|---|---|---|
js | 是否要重定向使用JavaScript而不是<meta>刷新。 | 布爾 | false |
最後,在構建靜態站點時, public目錄中的任何文件將被複製到build目錄,而無需修改。這對於諸如favicon.ico或robots.txt之類的文件可能很有用(也就是說,Suri為兩者提供明智的默認值)。
如果您以前在版本0.1到0.5.1上時將此存儲庫分配/克隆該存儲庫,則您現在會注意到一些版本1的差異。
版本1解決了版本0的三個主要問題:
app.json render.yaml 。 V1通過為每個平台擁有單獨的模板存儲庫來解決此問題,該存儲庫僅包括該平台的必要文件。那麼,您如何升級?如果您只編輯了links.json文件,則升級很簡單:
links.json複製。public目錄中的任何文件,請複制這些文件。SURI_JS設置為1 ,請在suri.config.json中將js更改為true 。如果您編輯了高度文件中的任何一個,例如links.njk模板 - 您可能只想堅持使用V0並繼續使用高度。
除此之外,V1還有其他一些值得注意的變化:
build而不是_site目錄。suri.config.json文件而不是環境變量來完成配置。npm run clean以刪除構建目錄。 npm run build在每個新構建之前會自動執行此操作。否則,如果發現它有用,則可以手動添加。npm run dev以構建,觀看和服務靜態站點。對於Suri生成的小型HTML頁面來說,這是過度的。npm run lint ,並帶有漂亮的棉絨。如果發現有用,則可以手動添加它。npm run release以發布新版本的Suri。如果要標記存儲庫的發布版本,則可以手動添加它。jstayton用戶轉移到了所有與Suri相關的存儲庫的新的surishortlink組織。 唯一的先決條件是node.js的兼容版本(請參閱package.json中的engines.node 。
使用NPM安裝依賴項:
npm install內置Node.js測試跑者和斷言模塊用於測試。
進行測試:
npm test在開發過程中,建議在文件更改時自動運行測試:
npm test -- --watchJSDOC用於記錄代碼。
將文檔作為HTML生成(git-dignored) docs目錄:
npm run docsPrettier的設置是為執行一致的代碼樣式。強烈建議將集成在您的編輯器中添加,以自動在保存上格式化。
ESLINT具有“推薦”規則,以實施一定級別的代碼質量。還強烈建議在您的編輯器中添加集成,以自動在保存上格式化。
通過命令行運行:
npm run lint當development分支準備好發佈時,請發布!用於協調發布過程:
npm run release發布過程完成後,將development分支合併到main分支中,該分支應始終反映最新版本。