我的Go学习文库(菜鸟入门Go语言必看必看必看)
- 菜鸟入门Go语言必看必看必看
- 菜鸟入门Go语言必看必看必看
- 菜鸟入门Go语言必看必看必看
开始学习Go语言不是一天两天了,而是三四天了,在掘金大大的鼓励下,不断将学习推向一个又一个高潮。在零散学习的同时碰到一个新问题就是身居山中没宽带,只能网络流量上网,而且不稳定,这就急需一个离线文档,下面向各位看官详细介绍我的解决方案。
1.近期我是怎么写作的
谈起近期写作,不得不大谈特谈了。之前用typora,奈何收费了,收费是好事情,支持作者,如果用的话一定付费。目前学习Go语言,用的是vscode,当然优先支持vscode了,话不多说,直接插件搜索markdown,下载markdown插件(别的不说,就挑第一个好了,插件全名:Markdown All in One),选了一个人气爆款的插件开始写作,想预览的时候可以预览,效果杠杠的,支持快捷键,很方便。下面将常用操作记录如下:
- 加粗快捷键:Ctrl/Cmd + B Toggle bold
- Ctrl/Cmd + I Toggle italic
- Alt+S (on Windows) Toggle strikethrough1
- Ctrl + Shift + ] Toggle heading (uplevel)
- Ctrl + Shift + [ Toggle heading (downlevel)
- Ctrl/Cmd + M Toggle math environment
- Alt + C Check/Uncheck task list item
- Ctrl/Cmd + Shift + V Toggle preview
- Ctrl/Cmd + K V Toggle preview to side
学到哪儿写道哪儿了,学习就是这样子了,特别是自学了。上面是一些常用快捷键,用快捷键会方便很多。
2.近期我的学习资料是什么?
近期学习,我首选的是开源的学习书籍**《The Way to Go》,《Go入门指南》,中文正式名《Go 入门指南》**
作者是Go语言的狂热爱好者,录制视频教程《Go编程基础》。作者太谦虚了,特别厉害的一个人,我在跟他的github学习。同时据作者讲,该翻译版本已获得原作者(Ivo Balbaert)本人授权,并表示支持开源事业的发展!
特别要说明的是作者的githu id叫做 unknown ,太谦虚了。
3.搭建本地学习文库
这本开源书用markdown写的,特别好,但是用起来很麻烦,就是文件名全是编号,读起来,特别是跳转起来很麻烦,怎么办呢,我想离线本地阅读啊。
说到这里,我打开作者的github,发现了一个宝藏开源仓库 github.com/asoul-sig/a… ,这是用Go语言写的一个web多文档系统,主打markdown,正好满足我的需要。
下面请大家看看我是怎么将电子书转成web本地小说阅读模式的。
- 1.下载书籍仓库(看2的介绍)
- 2.下载asoul文档仓库
- 3.编译asoul文档软件
- 4.在asoul下新建docs目录
- 5.新建toc.ini文档
- 6.批量为markdown文档添加标题
4.代码部分
涉及到toc.ini文档建立以及为markdown文档添加标题,手工党当然是不可以的了(太累),用python几行代码搞定,下面放出来大家学习下。
import os
from pathlib import Path
import glob
def getname(filename):
return Path(filename).stem.strip('.md')
def gettitle(filename):
with open(filename, 'r', encoding='utf-8') as f:
title = f.readline()
title = title.strip("#").strip(' ').strip("\n")
return title
# ---
# title: 配置反向代理
# ---
def rewrite(filename):
title = gettitle(filename)
with open(filename, "r+", encoding='utf-8') as f:
old = f.read()
f.seek(0)
f.write('---\n')
f.write("title: " + title + '\n')
f.write('---\n\n')
f.write(old)
def replace_img(filename):
title = gettitle(filename)
with open(filename, "r+", encoding='utf-8') as f:
old = f.read()
old = old.replace(r'![](images/', r'![](../../assets/')
print(type(old))
print(old)
f.seek(0)
f.write(old)
def rewrite_dir_imgs(basedir):
for file in glob.glob(basedir):
replace_img(file)
def rewrite_dir(basedir):
for file in glob.glob(basedir):
rewrite(file)
def write_toc(basedir, globdir):
with open(os.path.join(basedir, 'toc.ini'), 'w', encoding='utf-8') as f:
for file in glob.glob(globdir):
f.write('-: ' + getname(file) + '\n')
print("toc.ini written finished.")
if __name__ == "__main__":
basedir = r"C:\Users\livingbody\Goworkspace\src\asouldocs-main\docs\zh-CN\eBook"
globdir = r"C:\Users\livingbody\Goworkspace\src\asouldocs-main\docs\zh-CN\eBook\*.md"
# 转写图片地址
rewrite_dir_imgs(globdir)
# 添加标题
rewrite_dir(globdir)
# 写toc.ini文件
write_toc(basedir, globdir)
代码部分就这么多,很简单吧。 再在命令行下执行
.\asouldocs.exe web
启动Go电子书,就可以美美的如同看小说一样看书啦。
本文正在参加技术专题18期-聊聊Go语言框架