在 gohugo 中如何嵌入视频
gohugo 提供了 shortcodes 机制,可以在 markdown 内容文件来插入 html模板 或间接引用 hugo 模板。 正是通过这种方式,来实现在 gohugo 中插入视频,内置有 vimeo、youtube 的例子。这些视频分享站在国外并不能正常访问,国内用户如果想通过 gohugo 建立带有视频分享的内容页面怎么办?可以选择 西瓜视频、bilibili 等国内主流视频网站做视频源,并把视频链接插入到内容中。
gohugo 提供了 shortcodes 机制,可以在 markdown 内容文件来插入 html模板 或间接引用 hugo 模板。 正是通过这种方式,来实现在 gohugo 中插入视频,内置有 vimeo、youtube 的例子。这些视频分享站在国外并不能正常访问,国内用户如果想通过 gohugo 建立带有视频分享的内容页面怎么办?可以选择 西瓜视频、bilibili 等国内主流视频网站做视频源,并把视频链接插入到内容中。
iframe 是一项页面嵌套技术,可以将两个不同的网页、两个不同域的网站快速合并的一种技术手段。不过在使用这项技术时,通常会遇到大小不匹配的情况,使用布局视觉不友好。本站也使用到这项技术,不过在解决大小布局问题时,从互联网搜索到的方法,感觉不太雅化,不过最终还是找到了纯 css 的自适应大小的方法。
在 hugo 中,我们是根据 hugo 的内容管理规则来管理文件目录,比如页面文件、菜单、页面资源文件、页面渲染模板等。这些通过文件名称,结合 layout 的 lookup 规则、Page Resources、静态文件等规则,模板引擎就可以获取到相应文件。
但如果你想获取文件资源对应的那个操作系统文件?应该怎么办?
熟悉 linux、macos 的开发者,对 find 命令并不陌生。这个命令用来帮助搜索文件,可按文件名称、文件类型、文件大小等方式来搜索文件。这个工具历史比较悠久。而近几年,一个叫 fd 的工具呈现在用户眼前,它是具有类似于 find 命令的工具,在大部分情况下,fd 是可以当成 find 的替代工具来使用,它的一个主要特点就是快。
与 nodejs 的 process.env
一样,hugo 与提供了类似的变量。这个变量在你用 hugo 来生成不同环境的网页版本时,非常有用。
今天,有个同事问我,他的 shell 中要执行一个迭代200次的循环,因为每一次循环都需要消耗一定的时间,执行起来比较慢,问我可不可以改成并行执行,循环一次执行10个任务,循环20次来完成所有的任务。
什么是并行?并行,是一种常见的任务执行过程模式,指可以同时执行两个或多个程序,与之相对的则是串行。还应该注意,并行不是并发,两者之间是有明显区别的,有些开发者经常搞混。并发是指服务系统支持两个或多个任务同时存在,同时存在并不意味着同时执行,因为服务系统单位时间上只执行一个任务,其它的任务以等待的形式存在。
brew.sh
是 macos 系统上非常好用的软件安装器。正如官方网站上的宣传语 The Missing Package Manager for macOS (or Linux)( macOS(或 Linux)缺失的软件包的管理器),因为在 macos 上,官方只提供了 appstore 来安装软件,并没有内置类似于 linux apt 工具。对于开发者来说,大量的命令行工具需要手工是非常麻烦的。因此就有了 brew.sh
。前不久,看到 brew.sh
开始支持 linux 了。虽然可能部分软件安装会存在问题,但是基本上可以满足日常需要。
为安全起见,操作 linux 服务器,一般都使用普通用户。如有权限需要,再另外设置。但有时又为了方便,让某个普通用户具有 root 的执行权限。这时是通过命令 sudo 来实现,即在执行的命令之前加上 sudo,终端会提示输入 root 密码。但是每次都要输入非常麻烦,所以就有了免输密码的需求。要启用 sudo 免输密码,需要在系统上先行配置,本文介绍如能在系统中设置用户的 sudo 权限。
作为个人站长,经常购买云服务或 vps。因为服务商提供的实例一般带有默认配置,但这个配置可能并不符合你的使用习惯。比如默认的语言环境一般都是 en
,即英文。站长的习惯是添加中文环境,这样在命令行敲命令时,不容易看走眼。下面分享本站喜欢的初始化配置。
我们一般使用 linux 来做web服务器的操作系统,当你的程序是自制的并没有带 system service时,可以使用 systemd 来帮助设置后台守护进程 daemon。这样程序将做为服务注册到 systemd中,由它来管理启动,可实现开机自动启动。