go语言快速搭建网站 go语言网页

组件分享之后端组件——基于Go语言的HTML和CSS网站生成器Hugo近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下 , 形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件 。欢迎大家进行持续关注 。
本节分享一个基于Go语言的HTML和CSS网站生成器 hugo,它针对速度、易用性和可配置性进行了优化 。Hugo 获取一个包含内容和模板的目录 , 并将它们呈现为一个完整的 HTML 网站 。Hugo 依赖于 Markdown 文件和元数据的前端,你可以从任何目录运行 Hugo 。这适用于您没有特权帐户的共享主机和其他系统 。例如我们日常编写一些博客文章,进行快速生成一套静态页面进行分享时可以使用它来进行生成一套静态页面作为我们的博客部署基础 。
它支持大量的主题模板 , 我们可以通过进行选择相关的主题使用,有兴趣的小伙伴可以进行深入研究一下
基于hugo搭建个人站点以前使用wordpress搭建网站go语言快速搭建网站 , 插件太多,完善起来比较费时费力 。现在 , 静态博客也很受欢迎,hugo就是GO语言开发go语言快速搭建网站的一个静态博客生成器 。
mackbook上直接使用 brew install hugo 安装hugo,安装完成后使用 hugo version 来查看hugo的版本 。
在Github目录下打开终端,或者cd到Github目录下:
【go语言快速搭建网站 go语言网页】hugo new site site_name
其中,si te_name为github账号名称加上 .github.io,例如:
hugo new site gary-hertel.github.io
创建成功后会显示一些信息,诸如:
这就表示站点已经创建成功了 。
然后进入到站点目录:
cd gary-hertel.github.io
使用 tree 查看目录结构如下:
接下来需要为我们的网站指定一个主题,这里我们选择 even 这个主题:
git clonethemes/even
将该主题增加到网站的配置文件中,这样才能生效:
echo 'theme = "even"'config.toml
测试下是否成功 , 运行:
hugo serve
这里是按照别的教程操作的,但是发生了报错,查看even这个主题的文档后发现有如下内容:
这里提示我们查看 themes/even/exampleSite 目录下有一个示例的 config 配置文件 , 我们需要将这个文件复制到站点根目录,覆盖原文件 , 这样才能够使站点生效 。配置文件中的信息可以查看一下,然后进行相应的修改 。
在站点根目录:
hugo new post/first_article.md
查看 gary-hertel.github.io/content/post 目录下新增了一个 first_article.md 的markdown文档,打开之后对其进行编辑即可,注意将 draft:true 修改为 false .
撰写文章的方法就是通常开发者常用的markdown格式 。
在站点根目录下:
Hugo serve
然后就可以在浏览器中输入进行查看了 , 在撰写文章或者进行配置修改等等操作时,内容会自动更新 。
hugo -d docs
静态页面会保存至站点根目录下的docs文件夹 。
每次更新后我们都需要执行一下这条命令 。
在github上新建一个公开仓库,名为github用户名加上 .github.io ,例如 gary-hertel.github.io
在仓库的settings的pages设置中 , Source那里设置为:
说明如下:
使用hugo搭建个个人博客还是不错的,一开始要花些时间折腾和摸索,后续就使用起来比较方便了,也不需要购买服务器去部署,部署在github上可能国内访问较慢,可以考虑部署到gitee.
go语言的webengine叫什么Java教程
Linux入门
更多
首页
?
Go语言WEB框架(Gin)详解
在 Go语言开发的 Web 框架中,有两款著名 Web 框架分别是 Martini 和 Gin , 两款 Web 框架相比较的话,Gin 自己说它比 Martini 要强很多 。
Gin 是 Go语言写的一个 web 框架,它具有运行速度快,分组的路由器 , 良好的崩溃捕获和错误处理,非常好的支持中间件和 json 。总之在 Go语言开发领域是一款值得好好研究的 Web 框架,开源网址:
首先下载安装 gin 包:
go get -u github.com/gin-gonic/gin
一个简单的例子:
package main
import "github.com/gin-gonic/gin"
func main() {
//Default返回一个默认的路由引擎
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
//输出json结果给调用方
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run() // listen and serve on 0.0.0.0:8080
}
编译运行程序 , 打开浏览器,访问页面显示:
{"message":"pong"}
gin 的功能不只是简单输出 Json 数据 。它是一个轻量级的 WEB 框架 , 支持 RestFull 风格 API,支持 GET,POST,PUT,PATCH,DELETE , OPTIONS 等 http 方法 , 支持文件上传,分组路由,Multipart/Urlencoded FORM , 以及支持 JsonP,参数处理等等功能,这些都和 WEB 紧密相关,通过提供这些功能,使开发人员更方便地处理 WEB 业务 。
Gin 实际应用
接下来使用 Gin 作为框架来搭建一个拥有静态资源站点,动态 WEB 站点,以及 RESTFull API 接口站点(可专门作为手机 APP 应用提供服务使用)组成的,亦可根据情况分拆这套系统,每种功能独立出来单独提供服务 。
下面按照一套系统但采用分站点来说明 , 首先是整个系统的目录结构 , website 目录下面 static 是资源类文件 , 为静态资源站点专用;photo 目录是 UGC 上传图片目录 , tpl 是动态站点的模板 。
当然这个目录结构是一种约定,可以根据情况来修改 。整个项目已经开源,可以访问来详细了解:具体每个站点的功能怎么实现呢?请看下面有关每个功能的讲述:
静态资源站点
一般网站开发中,go语言快速搭建网站我们会考虑把 js,css,以及资源图片放在一起 , 作为静态站点部署在 CDN,提升响应速度 。采用 Gin 实现起来非常简单,当然也可以使用 net/http 包轻松实现,但使用 Gin 会更方便 。
不管怎么样,使用 Go 开发,go语言快速搭建网站我们可以不用花太多时间在 WEB 服务环境搭建上,程序启动就直接可以提供 WEB 服务了 。
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
// 静态资源加载,本例为css,js以及资源图片
router.StaticFS("/public", http.Dir("D:/goproject/src/github.com/ffhelicopter/tmm/website/static"))
router.StaticFile("/favicon.ico", "./resources/favicon.ico")
// Listen and serve on 0.0.0.0:80
router.Run(":80")
}
首先需要是生成一个 Engine,这是 gin 的核心 , 默认带有 Logger 和 Recovery 两个中间件 。
router := gin.Default()
StaticFile 是加载单个文件,而 StaticFS 是加载一个完整的目录资源:
func (group *RouterGroup) StaticFile(relativePath, filepath string) IRoutes
func (group *RouterGroup) StaticFS(relativePath string, fs http.FileSystem) IRoutes
这些目录下资源是可以随时更新 , 而不用重新启动程序 。现在编译运行程序 , 静态站点就可以正常访问了 。
Go 语言前景怎么样,有木有需要 Go 程序员的GO语言虽然不如Java、Python等语言火热 , 但在云计算、云存储时代却是最重要的基础编程语言 。作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等 。在国外,Google、Facebook等公司在使用,国内除了BAT外 , 京东、小米、360公司也在涉猎 。所以GO语言的发展前景还是很值得期待 。
golang适合做web开发吗适合 。框架足够成熟了 A Survey of 5 Go Web Frameworks
小型项目你甚至不用框架 , 用net/http http - The Go Programming Language
常用库也成熟了 Top - Go Search
golang的web后端即使不concurrent也比php,ruby,python快很多很多
golang里用concurrent真的非常方便 , 非常非常快,超大web项目golang scale成本低
如果你想,golang的部署可以比php更方便,使用go get和http.ServeAndListen()可以不用nginx和apache
对于文件改动重新编译其实并不是大问题,看pilu/fresh · GitHub , 其实你自己写shell脚本(也可以直接用go写,因为它本身就是系统语言)监控文件系统改动然后自动重新build,即使是C/C的项目这也不是大问题,人们不用C/C写web是因为它们不是写web app的最佳选择
golang写的代码编译通过后,要比scripting language鲁棒,因为go compiler强制一些最佳实践
关于go语言快速搭建网站和go语言网页的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读