go語言博客系統(tǒng) go 博客系統(tǒng)

組件分享之后端組件——基于Go語言的HTML和CSS網站生成器Hugo

近期正在探索前端、后端、系統(tǒng)端各類常用組件與工具,對其一些常見的組件進行再次整理一下,形成標準化組件專題,后續(xù)該專題將包含各類語言中的一些常用組件。歡迎大家進行持續(xù)關注。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:國際域名空間、虛擬主機、營銷軟件、網站建設、方正網站維護、網站推廣。

本節(jié)分享一個基于Go語言的HTML和CSS網站生成器 hugo ,它針對速度、易用性和可配置性進行了優(yōu)化。Hugo 獲取一個包含內容和模板的目錄,并將它們呈現(xiàn)為一個完整的 HTML 網站。Hugo 依賴于 Markdown 文件和元數(shù)據(jù)的前端,你可以從任何目錄運行 Hugo。這適用于您沒有特權帳戶的共享主機和其他系統(tǒng)。例如我們日常編寫一些博客文章,進行快速生成一套靜態(tài)頁面進行分享時可以使用它來進行生成一套靜態(tài)頁面作為我們的博客部署基礎。

它支持大量的主題模板,我們可以通過 進行選擇相關的主題使用,有興趣的小伙伴可以進行深入研究一下

「測試開發(fā)全?;?Go」(1) Go語言基本了解

作為一個測試,作為一個測試開發(fā), 全?;?管理 是我們未來的發(fā)展方向。已經掌握了Java、Python、HTML的你,是不是也想了解下最近異?;鸨腉o語言呢?來吧,讓我們一起了解下。

Go 是一個開源的編程語言 ,它能讓構造簡單、可靠且高效的軟件變得容易。

Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開發(fā),后來還加入了Ian Lance Taylor, Russ Cox等人,并最終于2009年11月開源,在2012年早些時候發(fā)布了Go 1穩(wěn)定版本。現(xiàn)在Go的開發(fā)已經是完全開放的,并且擁有一個活躍的社區(qū)。這三個人都是計算機界的大神,有的參與了C語言的編寫,有的還是數(shù)學大神,有的還獲得了計算機最高榮譽-圖靈獎。

接下來說說 Go語言的特色 :

簡潔、快速、安全

并行、有趣、開源

內存管理、數(shù)組安全、編譯迅速

Go語言的用途 :

Go 語言被設計成一門應用于搭載 Web 服務器,存儲集群或類似用途的巨型中央服務器的系統(tǒng)編程語言。

對于高性能分布式系統(tǒng)領域而言,Go 語言無疑比大多數(shù)其它語言有著更高的開發(fā)效率。它提供了海量并行的支持,這對于 游戲 服務端的開發(fā)而言是再好不過了。

Go語言的環(huán)境安裝:

建議直接打開 官方地址因為墻的原因打不開

因為我用的是windows系統(tǒng),這里主要講下Windows系統(tǒng)上使用Go語言來編程。

Windows 下可以使用 .msi 后綴(在下載列表中可以找到該文件,如go1.17.2.windows-amd64.msi)的安裝包來安裝。

默認情況下 .msi 文件會安裝在 c:Go 目錄下。你可以將 c:Gobin 目錄添加到 Path 環(huán)境變量中。添加后你需要重啟命令窗口才能生效。個人建議還是安裝到 Program Files文件夾中。

使用什么開發(fā)工具來對Go語言進行編寫:

個人建議用VS code, 也可以用Sublime Text來編輯。如果你之前看了我講的HTML語言的學習,肯定已經下載了VS code. 那么這時你需要在VS code中下載Go語言的擴展插件。

這里有一個巨大的坑,就是在下載Go的插件和依賴包時,會提示一些包沒有。主要是因為下載的依賴包部分被墻了,只能想別的辦法去下載。

建議參考網頁:

解決vscode中golang插件安裝失敗方法

在學習go的過程中,使用的是vscode,但是一直提示安裝相關插件失敗,然后上網查方法,基本上是叫你建立golang.org目錄什么的,結果全是錯的,而且都是抄襲,很煩。無意之中看到一位博主分享的方法,他也是飽受上述的垃圾博文困擾,然后找到了解決方法,這里向他致敬,秉著讓更多人看到正確解決方法的心,我寫下正確的解決方法,希望對你有所幫助,也可以點開原博主鏈接參考:

Go有一個全球模塊代理,設置代理再去安裝golang的插件,就可以安裝成功了。步驟有,首先Windows用戶打開Powershell,一個藍色的界面,注意不是cmd!不知道的直接打開window下面的搜索,然后輸入powershell,搜索出來就可以了。

$env:GO111MODULE=“on”

$env:GOPROXY=“”

go env -w GOPROXY=

go env -w GOPRIVATE=*.corp.example.com

然后我們打開VsCode界面,下面會提示安裝插件,我們選擇Install ALL,就會安裝成功

當你在運行Go語言程序時,提示所有的插件包都已經安裝成功了時,就可以正常使用了,要不然一堆報錯會讓你非常心煩。

好了,今天先到這里,晚安、下班~

利用GitHub-Actions將Hugo博客自動發(fā)布到GitHub和Gitee Pages

現(xiàn)在個人博客通常有比較多的選擇,如果不想要自己購買服務器實現(xiàn)靜態(tài)博客的發(fā)布,可以在、CSDN等平臺建立自己的賬號并發(fā)布,但是原始數(shù)據(jù)無法在本地管理;如果想要數(shù)據(jù)完全自己管理,可以使用GitHub或者Gitee Pages功能發(fā)布自己的博客,利用Hugo或Hexo等成熟的靜態(tài)博客將md文件轉換成靜態(tài)網站文件進行快速發(fā)布。本文就用來記錄如何快速將博客發(fā)布到、GitHub以及Gitee Pages三個平臺。

我希望的流程當然是主要精力用在寫文章,發(fā)布的流程最好完全不需要手動處理,但實際情況下手動發(fā)布博客的流程大體是:

之前有使用過Travis CI+GitHub+Hexo自動發(fā)布到GitHub Pages,但是GitHub的訪問經常不那么靠譜,因此想著也能同步到Gitee,并且自動構建Hexo的速度受Nodejs環(huán)境部署影響,速度很慢,因此本次計劃采用Hugo來構建網站文件,整體流程設計如下:

為了滿足博客自動發(fā)布流程,首先需要在本地準備好生產環(huán)境,以滿足快速發(fā)布,以此的復雜是為了長期的簡單,因此在環(huán)境準備階段我會把所有涉及的工具都記錄下來,以方便大家使用以及后邊自己回顧,環(huán)境準備包含:

Obsidian完成知識積累后,按照ZK-Project-Archive-Blog的流程發(fā)布Blog,但是Obsidian的文件相互關聯(lián),且附件如何快速復用,需要對Typora和Obsidian都進行簡單的配置,確保后續(xù)Blog能夠快速完成并發(fā)布,并且文件仍在Obsidian工程中正常顯示;

Typora非常的簡潔,而且可以實時預覽,在寫博客的時候經常會插入一些圖片,截圖后可以直接粘貼進去,圖片也會自動保存在本地,這里需要注意圖片的保存路徑,在偏好設置里,設置插入圖片時復制到指定路徑(./resource/),這樣復制的圖片就會自動保存在當前文件夾下的resource文件夾里,方便后續(xù)管理與轉移。

在.ssh文件生成id_rsa和id_rsa.pub兩個文件;

Hugo 是一個基于Go語言開發(fā)的靜態(tài)博客框架,號稱世界上最快的構建網站工具;

命令為: hugo new site myblog

myblog為博客的目錄名,可以修改為你自己想取的名字,生成的目錄如下:

由于默認主題生成的文章頁面有些功能是不需要的,因此需要對themes下文件進行修改:

將config、content和themes三個目錄拷貝到新創(chuàng)建的站點目錄,將content下替換為文章文件即可。

utterances 是一款基于Github Issue的Github工具,優(yōu)點主要是無廣告、加載快、配置簡單,輕量開源。

由于 utterances 是一款Github App,因此 安裝utterances 非常簡單,只需要授權特定repo權限給 utterances 就可以了,注意一個點:授權的這個repo必須是public的,可以選擇多個repo,但是建議選擇一個就可以了,也比較安全。

這是當前最簡單的配置方法, 也可以在 utterances官方 查看其他配置方法,以及詳細的配置參數(shù)說明。

Obsidian的安裝和使用可參考我的另一篇文章: Obsidian作為第二大腦工具的基本使用和配置

所有環(huán)境準備好后,終于要開始啟動我們的自動化流程的實現(xiàn)了;

同之前步驟相同,將Gitee密碼配置到GitHub Secrets,命名為:GITEE_PASSWORD,所有配置結果如下:

synctogitee.yml

需要綁定Gitee賬號到微信公眾號,否則最后一步reload pages自動部署Gitee Pages會登錄失敗,原因是需要短信驗證;綁定公眾號后則不需要短信驗證;其他問題解決可以參考 gitee-pages-action

在Typora完成文章編寫后,一鍵上傳所有圖片到Gitee圖床,拷貝發(fā)布到,然后提交到GitHub repo master分支,即可自動部署到GitHub和Gitee Pages;

以上就是我利用GitHub-Actions將Hugo博客自動發(fā)布到GitHub和Gitee Pages,希望可以幫助大家快速構建自己的個人網站;后邊我會繼續(xù)完善我的第二大腦系統(tǒng)的構建思路和方法。

使用RailWay部署Halo CMS博客系統(tǒng)

??Halo是一款CMS博客系統(tǒng),可以說是輕量版的Wordpress,基于xxxx,巴拉巴拉,算了你們自己看官方文檔吧。

??官方支持多種情況部署,linux、docker、騰訊云平臺三種方式:

??本來想著使用Vercel看能不能部署的,但是Vercel自動改名后同時也不再支持docker部署了,因此轉戰(zhàn)轉變試試RailWay。

??通過官方文檔知道,RailWay支持多種部署方式,如Nodejs、Go、Docker、Java等等,詳情可見 ,那么既然支持Docker,Halo也支持docker部署,那自然RailWay肯定是支持部署Halo的,在網上查了很多,也沒有找到有人使用RailWay部署Halo的,因此總結一下寫了這篇文章。為什么要使用RailWay部署呢?我試過以下幾種方式,但都是有所弊端;

??部署完成之后,在settings中設置一個自定義的域名,配置一下CNAME,就可以訪問啦!比如我的訪問地址是:

??至此,在RailWay上部署halo博客系統(tǒng)就完成啦,又想法的朋友可以自己去試試啦!再結合上上面說的小程序項目,希望大家能夠做一個自己的博客系統(tǒng)+博客小程序!

go語言的webengine叫什么

Java教程

Linux入門

更多

首頁

?

Go語言WEB框架(Gin)詳解

在 Go語言開發(fā)的 Web 框架中,有兩款著名 Web 框架分別是 Martini 和 Gin,兩款 Web 框架相比較的話,Gin 自己說它比 Martini 要強很多。

Gin 是 Go語言寫的一個 web 框架,它具有運行速度快,分組的路由器,良好的崩潰捕獲和錯誤處理,非常好的支持中間件和 json??傊?Go語言開發(fā)領域是一款值得好好研究的 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 數(shù)據(jù)。它是一個輕量級的 WEB 框架,支持 RestFull 風格 API,支持 GET,POST,PUT,PATCH,DELETE,OPTIONS 等 http 方法,支持文件上傳,分組路由,Multipart/Urlencoded FORM,以及支持 JsonP,參數(shù)處理等等功能,這些都和 WEB 緊密相關,通過提供這些功能,使開發(fā)人員更方便地處理 WEB 業(yè)務。

Gin 實際應用

接下來使用 Gin 作為框架來搭建一個擁有靜態(tài)資源站點,動態(tài) WEB 站點,以及 RESTFull API 接口站點(可專門作為手機 APP 應用提供服務使用)組成的,亦可根據(jù)情況分拆這套系統(tǒng),每種功能獨立出來單獨提供服務。

下面按照一套系統(tǒng)但采用分站點來說明,首先是整個系統(tǒng)的目錄結構,website 目錄下面 static 是資源類文件,為靜態(tài)資源站點專用;photo 目錄是 UGC 上傳圖片目錄,tpl 是動態(tài)站點的模板。

當然這個目錄結構是一種約定,可以根據(jù)情況來修改。整個項目已經開源,可以訪問來詳細了解:具體每個站點的功能怎么實現(xiàn)呢?請看下面有關每個功能的講述:

靜態(tài)資源站點

一般網站開發(fā)中,我們會考慮把 js,css,以及資源圖片放在一起,作為靜態(tài)站點部署在 CDN,提升響應速度。采用 Gin 實現(xiàn)起來非常簡單,當然也可以使用 net/http 包輕松實現(xiàn),但使用 Gin 會更方便。

不管怎么樣,使用 Go 開發(fā),我們可以不用花太多時間在 WEB 服務環(huán)境搭建上,程序啟動就直接可以提供 WEB 服務了。

package main

import (

"net/http"

"github.com/gin-gonic/gin"

)

func main() {

router := gin.Default()

// 靜態(tài)資源加載,本例為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

這些目錄下資源是可以隨時更新,而不用重新啟動程序?,F(xiàn)在編譯運行程序,靜態(tài)站點就可以正常訪問了。

怎么在google GAE 上配置wordpress

GAE是python環(huán)境,所以根本不可能配置php,但是不排除GAE上有類似的博客系統(tǒng)。不過還是不安全,據(jù)我所知,我們這邊好像是屏蔽ghs解析的,所以即使架設成功也不可能綁定域名,所以最好還是買個小空間吧。

本文標題:go語言博客系統(tǒng) go 博客系統(tǒng)
標題來源:http://muchs.cn/article42/doscjhc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計、搜索引擎優(yōu)化響應式網站、電子商務、定制網站、小程序開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管