GO语言写的博客程序 go语言开发客户端

组件分享之后端组件——基于Go语言的HTML和CSS网站生成器Hugo近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下 , 形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件 。欢迎大家进行持续关注 。
本节分享一个基于Go语言的HTML和CSS网站生成器 hugo,它针对速度、易用性和可配置性进行了优化 。Hugo 获取一个包含内容和模板的目录,并将它们呈现为一个完整的 HTML 网站 。Hugo 依赖于 Markdown 文件和元数据的前端,你可以从任何目录运行 Hugo 。这适用于您没有特权帐户的共享主机和其他系统 。例如我们日常编写一些博客文章 , 进行快速生成一套静态页面进行分享时可以使用它来进行生成一套静态页面作为我们的博客部署基础 。
它支持大量的主题模板,我们可以通过进行选择相关的主题使用,有兴趣的小伙伴可以进行深入研究一下
Go语言的开源项目1.Docker项目
网址为。
介绍:Docker是一种操作系统层面的虚拟化技术,可以在操作系统和应用程序之间进行隔离,也可以称之为容器 。Docker可以在一台物理服务器上快速运行一个或多个实例 。例如 , 启动一个Cent OS操作系统 , 并在其内部命令行执行指令后结束,整个过程就像自己在操作系统一样高效 。
2.golang项目
网址为。
介绍:Go语言的早期源码使用C语言和汇编语言写成 。从Go 1.5版本自举后,完全使用Go语言自身进行编写 。Go语言的源码对了解Go语言的底层调度有极大的参考意义,建议希望对Go语言有深入了解的读者读一读 。
3.Kubernetes项目
网址为。
介绍:Google公司开发的构建于Docker之上的容器调度服务,用户可以通过Kubernetes集群进行云端容器集群管理 。
4.etcd项目
网址为。
介绍:一款分布式、可靠的KV存储系统,可以快速进行云配置 。
5.beego项目
网址为。
介绍:beego是一个类似Python的Tornado框架,采用了RESTFul的设计思路,使用Go语言编写的一个极轻量级、高可伸缩性和高性能的Web应用框架 。
6.martini项目
网址为。
介绍:一款快速构建模块化的Web应用的Web框架 。
7.codis项目
网址为Labs/codis 。
介绍:国产的优秀分布式Redis解决方案 。
8.delve项目
网址为。
介绍:Go语言强大的调试器,被很多集成环境和编辑器整合 。
利用GitHub-Actions将Hugo博客自动发布到GitHub和Gitee Pages 现在个人博客通常有比较多的选择,如果不想要自己购买服务器实现静态博客的发布,可以在、CSDN等平台建立自己的账号并发布,但是原始数据无法在本地管理;如果想要数据完全自己管理 , 可以使用GitHub或者Gitee Pages功能发布自己的博客,利用Hugo或Hexo等成熟的静态博客将md文件转换成静态网站文件进行快速发布 。本文就用来记录如何快速将博客发布到、GitHub以及Gitee Pages三个平台 。
我希望的流程当然是主要精力用在写文章,发布的流程最好完全不需要手动处理 , 但实际情况下手动发布博客的流程大体是:
之前有使用过Travis CI GitHub Hexo自动发布到GitHub Pages,但是GitHub的访问经常不那么靠谱 , 因此想着也能同步到Gitee,并且自动构建Hexo的速度受Nodejs环境部署影响,速度很慢 , 因此本次计划采用Hugo来构建网站文件 , 整体流程设计如下:
为了满足博客自动发布流程,首先需要在本地准备好生产环境 , 以满足快速发布,以此的复杂是为了长期的简单,因此在环境准备阶段我会把所有涉及的工具都记录下来,以方便大家使用以及后边自己回顾,环境准备包含:
Obsidian完成知识积累后,按照ZK-Project-Archive-Blog的流程发布Blog,但是Obsidian的文件相互关联,且附件如何快速复用 , 需要对Typora和Obsidian都进行简单的配置,确保后续Blog能够快速完成并发布,并且文件仍在Obsidian工程中正常显示;
Typora非常的简洁,而且可以实时预览,在写博客的时候经常会插入一些图片,截图后可以直接粘贴进去,图片也会自动保存在本地,这里需要注意图片的保存路径,在偏好设置里,设置插入图片时复制到指定路径(./resource/),这样复制的图片就会自动保存在当前文件夹下的resource文件夹里,方便后续管理与转移 。
在.ssh文件生成id_rsa和id_rsa.pub两个文件;
Hugo 是一个基于Go语言开发的静态博客框架,号称世界上最快的构建网站工具;
命令为: hugo new site myblog
myblog为博客的目录名,可以修改为你自己想取的名字,生成的目录如下:
由于默认主题生成的文章页面有些功能是不需要的,因此需要对themes下文件进行修改:
将config、content和themes三个目录拷贝到新创建的站点目录 , 将content下替换为文章文件即可 。
utterances 是一款基于Github Issue的Github工具,优点主要是无广告、加载快、配置简单,轻量开源 。
由于 utterances 是一款Github App , 因此 安装utterances 非常简单,只需要授权特定repo权限给 utterances 就可以了,注意一个点:授权的这个repo必须是public的 , 可以选择多个repo,但是建议选择一个就可以了 , 也比较安全 。
这是当前最简单的配置方法, 也可以在 utterances官方 查看其他配置方法,以及详细的配置参数说明 。
Obsidian的安装和使用可参考我的另一篇文章: Obsidian作为第二大脑工具的基本使用和配置
所有环境准备好后,终于要开始启动我们的自动化流程的实现了;
同之前步骤相同,将Gitee密码配置到GitHub Secrets,命名为:GITEE_PASSWORD , 所有配置结果如下:
synctogitee.yml
需要绑定Gitee账号到微信公众号,否则最后一步reload pages自动部署Gitee Pages会登录失败,原因是需要短信验证;绑定公众号后则不需要短信验证;其他问题解决可以参考 gitee-pages-action
在Typora完成文章编写后,一键上传所有图片到Gitee图床 , 拷贝发布到,然后提交到GitHub repo master分支,即可自动部署到GitHub和Gitee Pages;
以上就是我利用GitHub-Actions将Hugo博客自动发布到GitHub和Gitee Pages,希望可以帮助大家快速构建自己的个人网站;后边我会继续完善我的第二大脑系统的构建思路和方法 。
go语言的webengine叫什么Java教程
Linux入门
更多
首页
?
Go语言WEB框架(Gin)详解
在 Go语言开发的 Web 框架中GO语言写的博客程序,有两款著名 Web 框架分别是 Martini 和 Gin,两款 Web 框架相比较的话,Gin 自己说它比 Martini 要强很多 。
Gin 是 Go语言写的一个 web 框架,它具有运行速度快,分组的路由器 , 良好的崩溃捕获和错误处理,非常好的支持中间件和 json 。总之在 Go语言开发领域是一款值得好好研究的 Web 框架,开源网址GO语言写的博客程序:
首先下载安装 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 是资源类文件,为静态资源站点专用GO语言写的博客程序;photo 目录是 UGC 上传图片目录,tpl 是动态站点的模板 。
当然这个目录结构是一种约定 , 可以根据情况来修改 。整个项目已经开源,可以访问来详细了解:具体每个站点的功能怎么实现呢?请看下面有关每个功能的讲述:
静态资源站点
一般网站开发中,我们会考虑把 js,css,以及资源图片放在一起,作为静态站点部署在 CDN,提升响应速度 。采用 Gin 实现起来非常简单,当然也可以使用 net/http 包轻松实现,但使用 Gin 会更方便 。
不管怎么样,使用 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()
【GO语言写的博客程序 go语言开发客户端】StaticFile 是加载单个文件,而 StaticFS 是加载一个完整的目录资源:
func (group *RouterGroup) StaticFile(relativePath, filepath string) IRoutes
func (group *RouterGroup) StaticFS(relativePath string, fs http.FileSystem) IRoutes
这些目录下资源是可以随时更新,而不用重新启动程序 。现在编译运行程序,静态站点就可以正常访问了 。
go语言怎么发布程序的?那当然需要找一台目标平台的电脑来重新编译了
比如你要发布到linux 就要在linux编译
win10上的linux子系统可以 虚拟机 docker等都可以试试
go是什么编程语言?主要应用于哪些方面?Go语言由Google公司开发,并于2009年开源,相比Java/Python/C等语言,Go尤其擅长并发编程 , 性能堪比C语言,开发效率肩比Python,被誉为“21世纪的C语言” 。
Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛 。BAT大厂正在把Go作为新项目开发的首选语言 。
Go语言能干什么?
1、服务端开发:以前你使用C或者C做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等;
2、DevOps:运维生态中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go语言开发;
3、网络编程:大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的 net/http包十分的优秀;
4、Paas云平台领域:Kubernetes和Docker Swarm等;
5、分布式存储领域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6、区块链领域:区块链里面有两个明星项目以太坊和fabric都使用Go语言;
7、容器虚拟化:大名鼎鼎的Docker就是使用Go语言实现的;
8、爬虫及大数据:Go语言天生支持并发 , 所以十分适合编写分布式爬虫及大数据处理 。
GO语言写的博客程序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于go语言开发客户端、GO语言写的博客程序的信息别忘了在本站进行查找喔 。

    推荐阅读