我想建一个非常简单的网站,只需要有图像上传和图像下载功能,上传的图片经过处理后让用户下载,hugo 可以实现吗
單純 Hugo 不能,因 Hugo 是靜態網站生成器。
Hugo + Staticman 理論上可行。
- 預先配置靜態網站使用 Staticman 表格 (教學),並配置好靜態網站的 Continuous Integration。(需要 GitHub/GitLab 帳號。)
- 準備處理圖像的 Hugo 代碼。
- 編碼: 可以 JavaScript 生成圖片的 base64 編碼。
-
上傳: 把上一步驟的編碼寫成一
<img>
元素,填入 Staticman 表格提交。 - 下載: 静候片刻 / 批准 Pull/merge request。Continuous Integration 觸發 Hugo 執行處理圖像的代碼。圖片被處理後會顯示於「留言」上,如下圖所示。
完全看不懂阿
你用hugo,仍然可以寫html, css, javascript…
真正的問題在於圖片上傳要上傳到哪裡? (保存的位置)
你可以用fetch來傳送請求到您的server,再把結果回傳即可。
你需要建立一個server.
建立server,我會推薦使用go語言
託管server的選擇可以用heroku
database可以用MongoDB 非關聯性資料庫很好擴充。
以上都有免費的方案
hugo中有一些支持的插件(plugin)例如disqus, google_analytics
這些其實也都是做類似的事情(透過javascript送資料再把回傳的資料呈現在網頁上而已)
題外話,如果你只要單機互動,可以使用localStorage
例如您建立了一個 印製 紅包的網頁 ,紅包樣式有很多種供使用者選擇。
就能使用此方法來保存以及讀取使用者的設定。(但設定不能在不同使用者間共享)