使用Hugo动态生成静态网站

时间:2019-07-02 01:45:34

标签: hugo static-site

我正在构建一个静态网站托管服务器,并希望为我的用户生成默认网页,并希望为此使用Hugo。问题是,为多个用户动态生成网页的最佳方法是什么?到目前为止,这是我的想法:

  1. 用户填写其网站内容的表格,例如照片,标题,产品说明等。
  2. 传递到后端(我正在使用Perl的Mojolicious)并根据所提供的信息创建降价文件,并将其保存在为此用户创建的指定文件夹中
  3. 运行Hugo使用这些md文件进行构建,并将公用文件夹移至用户的根目录

这在我看来不正确,因为将有多个用户争夺运行Hugo,并且我认为如果直接从后端创建html文件而不是创建md文件,然后创建一个html文件就容易多了运行Hugo创建html文件。有没有更好,更聪明的方法?

1 个答案:

答案 0 :(得分:1)

如果我没记错的话,似乎您想创建一个类似WordPress门户或类似的门户,从Markdown加主题到HTMl / CSS / JavaScript内容。最终用户在Markdown中编辑内容,选择主题,其余部分将得到处理。

恕我直言,可能有两种方式:

(1)在后端使用Hugo并照顾目标文件夹和生成的构件,以及将生成的链接映射到与您的特定最终用户的主机相对应的前端。您可以创建一个Hugo包装器,在该包装器中,输入将被馈送到Hugo,并且生成的页面将位于public文件夹中。这样,您就必须依靠外部工具(阅读Hugo)并希望像许多其他系统(例如Ubuntu,Java,Windows)一样获得长期支持版本。

(2)创建类似Hugo或其他类似的生成器(参见StaticGen,以获取更多使用不同语言的生成器)。您可能需要基于Markdown的静态站点生成器的核心,例如Markdown解析器,链接翻译器和生成器等。通过额外的努力,您可能会对使用的每个较小的组件/库有更多的控制,可以配置生成的组件。文物,它们的目的地等。

旁注:Markdown对于内容来说并不是很糟糕的选择。甚至WordPress也提供了对Markdown的支持。尽管如此,Markdown本身并不是标准化的,而是 de facto 。有so many flavours。您可能希望查找或坚持使用一个好的版本,例如CommonMark