Hugo可以建一个有图片上传功能的网站吗?

我想建一个非常简单的网站,只需要有图像上传和图像下载功能,上传的图片经过处理后让用户下载,hugo 可以实现吗

單純 Hugo 不能,因 Hugo 是靜態網站生成器。

:thought_balloon: Hugo + Staticman 理論上可行。

  1. 預先配置靜態網站使用 Staticman 表格 (教學),並配置好靜態網站的 Continuous Integration。(需要 GitHub/GitLab 帳號。)
  2. 準備處理圖像的 Hugo 代碼
  3. :envelope_with_arrow: 編碼: 可以 JavaScript 生成圖片的 base64 編碼
  4. :outbox_tray: 上傳: 把上一步驟的編碼寫成一 <img> 元素,填入 Staticman 表格提交。
  5. :eyes: 下載: 静候片刻 / 批准 Pull/merge request。Continuous Integration 觸發 Hugo 執行處理圖像的代碼。圖片被處理後會顯示於「留言」上,如下圖所示。

完全看不懂阿

你用hugo,仍然可以寫html, css, javascript

真正的問題在於圖片上傳要上傳到哪裡? (保存的位置)

你可以用fetch來傳送請求到您的server,再把結果回傳即可。
你需要建立一個server.
建立server,我會推薦使用go語言
託管server的選擇可以用heroku
database可以用MongoDB 非關聯性資料庫很好擴充。
以上都有免費的方案


hugo中有一些支持的插件(plugin)例如disqus, google_analytics

https://github.com/gohugoio/hugo/tree/6ff39fd908242e32942ddd7f239ffd06cc8e7dda/tpl/tplimpl/embedded/templates

這些其實也都是做類似的事情(透過javascript送資料再把回傳的資料呈現在網頁上而已)


題外話,如果你只要單機互動,可以使用localStorage
例如您建立了一個 印製 紅包的網頁 ,紅包樣式有很多種供使用者選擇。
就能使用此方法來保存以及讀取使用者的設定。(但設定不能在不同使用者間共享)