Go GUI 庫:在本地運(yùn)行 fyne 官網(wǎng)
簡介
要深入學(xué)習(xí)和理解一個(gè)框架,官方文檔是必須要仔細(xì)閱讀的。fyne 官網(wǎng)有非常系統(tǒng)和詳盡的文檔。官方網(wǎng)站:https://fyne.io/。有時(shí)候我們會有這樣一個(gè)需求——離線查看文檔。我經(jīng)常乘坐高鐵來往杭州、上海兩地,地鐵、高鐵上通常網(wǎng)絡(luò)比較差,甚至沒有網(wǎng)絡(luò)。為此我特地去研究了一番怎樣搭建 fyne 離線文檔。
首先,我找到了 fyne 官方網(wǎng)站的 GitHub 倉庫,網(wǎng)址為https://github.com/fyne-io/developer.fyne.io。很快我發(fā)現(xiàn) fyne 官網(wǎng)是采用 jekyll 構(gòu)建的。jekyll 是采用 ruby 語言編寫的靜態(tài)網(wǎng)頁工具。jekyll 常用于搭建個(gè)人博客。它支持使用 markdown 語法編寫文章,然后自動(dòng)生成相應(yīng)的靜態(tài)頁面托管在遠(yuǎn)程主機(jī)上供用戶訪問。為了能本地運(yùn)行文檔,我們必須先安裝 ruby + jekyll 環(huán)境。
Windows
在 Windows 平臺上,我們可以從https://rubyinstaller.org/downloads/下載 RubyInstaller 直接雙擊安裝。這里我們下載 Ruby+Devkit 2.6.6-1(x64)。

這會同時(shí)安裝 ruby 基本環(huán)境和 MSYS2 開發(fā)環(huán)境(用來編寫和編譯 C 擴(kuò)展)。
默認(rèn)會將可執(zhí)行程序所在目錄加入 PATH 中:

MSYS2 開發(fā)環(huán)境默認(rèn)也是安裝的:

ruby 安裝完成之后會使用 ridk 安裝 MSYS2 開發(fā)環(huán)境:

安裝完成之后,打開 cmd,輸入ruby -v。如果輸出正確的 ruby 版本信息,說明安裝成功。如果提示命令找不到,則未安裝成功,或環(huán)境變量設(shè)置不正確:

成熟的編譯語言通常都有相應(yīng)的包管理工具,用于下載和管理依賴。正如 node 有 npm,python 有 pip,rust 有 cargo,ruby 也有它的 gem。gem 需要獨(dú)立下載安裝。下載地址https://rubygems.org/pages/download。我們可以直接下載壓縮包 TGZ/ZIP,或者 GEM 文件,或者使用 git 從 GitHub 倉庫克隆。
下載壓縮包之后,解壓; cd 到解壓之后的目錄; 執(zhí)行 ruby setup.rb 安裝。
安裝完成之后,打開 cmd,輸入gem -v。如果輸出正確的 gem 版本信息,說明安裝成功。如果提示命令找不到,則安裝失敗,或環(huán)境變量設(shè)置不正確:

Mac
在 Mac 上可以直接使用 brew 安裝 ruby 和 gem。
安裝 jekyll
gem 安裝完成之后,安裝 jekyll 就很簡單了。只需要執(zhí)行gem install jekyll等待安裝完成。

clone 官網(wǎng)倉庫
我們使用 git 將官網(wǎng)倉庫 clone 到本地計(jì)算機(jī)上:
$ git clone [email protected]:fyne-io/developer.fyne.io.git

安裝依賴
cd到developer.fyne.io目錄,使用gem安裝該網(wǎng)站的所有依賴:
$ gem install -g
gem 安裝依賴的速度取決于你的網(wǎng)速,耐心等待~

本地運(yùn)行網(wǎng)站
一切準(zhǔn)備就緒,接下來只需要輸入下面的指令網(wǎng)站就在本地運(yùn)行起來了:
$ jekyll serve
一般會出現(xiàn)下面的錯(cuò)誤:

這是應(yīng)該有個(gè)依賴的版本問題,我們可以使用錯(cuò)誤提示中的命令bundle啟動(dòng):
$ bundle exec jekyll serve
運(yùn)行成功:

這時(shí),我們就可以在瀏覽器中輸入:http://localhost:4000就可以在本地隨意瀏覽官網(wǎng)了。

總結(jié)
本文介紹如何搭建 fyne 離線文檔,大家可以觸類旁通~
參考
fyne.developer.io GitHub:https://github.com/fyne-io/developer.fyne.io Go 每日一庫 GitHub:https://github.com/darjun/go-daily-lib
推薦閱讀
站長 polarisxu
自己的原創(chuàng)文章
不限于 Go 技術(shù)
職場和創(chuàng)業(yè)經(jīng)驗(yàn)
Go語言中文網(wǎng)
每天為你
分享 Go 知識
Go愛好者值得關(guān)注
