博客

Grav 中的页面(一):基本概念

Grav 中的页面(一):基本概念

一、页面是什么? 首先要知道的是:Grav 中,所有的内容都以文件(夹)的形式存储在 Grav 安装目录下的 user/pages/ 中。 Grav 中的每个页面都是一个独立的文件夹(注意:是文件夹,不是文件)。页面中的具体内容才是以这个文件夹里面的文件来存储的。 如图1所示,user/pages/ 下面有 01.home/,02.blog/,03.about-us/ 等几个文件夹,就代表了 home,blog,about-us 等几个页面。这里可能会有疑问,为什么不是 01.home,02.blog,03.about-us 呢?因为文件夹名前面的数字和点是用来给页面排序用的,并不是页面名字的一部分,它们也不是必需的。访问页面也很简单,如果想要访问 02.blog 这个文件夹代表的页面,只要输入 http://yourdomain.com/blog/ 即可。大多数时候,我们并不会通过直接创建文件夹和文件的方式来创建页面,在后台点几下鼠标来新建页面要方便的多,不过了解基本的概念还是很有必要的。 二、页面的种类 在 Grav 中,页面默认有三种形式,分别是:普通页面、列表页面、模块化页面(见图2)。 普通页面 普通页面有点类似 WordPress 中的页面。你输入了一些内容,比如一篇网站简介,然后用一个页面把它如实显示出来,这样的页面就叫普通页面。 Grav 安装完成后就有一个默认首页(如图3所示),这就是一个典型的普通页面。 列表页面 列表页面这种形式在 WordPress 或其它博客程序中也很常见。比如我们常见的博客首页会展示最新的五篇或者十篇文章,那这个页面就可以称为列表页面... »

将 Grav 界面语言设置为简单中文的方法

将 Grav 界面语言设置为简单中文的方法

Grav 内置了对多语言的支持,但不知是否因为翻译组精力有限,所以只有少数语言的翻译得到了较好的维护。 幸运的是简体中文版本的翻译已经基本成型,虽然还有点粗糙,不过一般的使用还是没有问题的。不过问题又来了:不知为何,在 Grav 后台将界面语言设置为中文(简体)后展示的是繁体中文的翻译。我已经向开发组报告了这个问题,不知道会不会受到重视。好在手动解决翻译问题的步骤并不难,有兴趣尝试 Grav 但是语言又有障碍的朋友可以按下面的方法把界面切换成简体中文: 下载简体中文的翻译文件(右击另存为) 将下载的 zh.yaml 解压到 /GRAVROOT/user/plugins/admin/languages 下覆盖同名文件(GRAVROOT 为 Grav 安装目录) 在后台点击用户名进入档案设置页面,在 Account -> Language 设置为 中文(简体) 点击右上角 Save 保存设置后生效(详见下图) Grav 的翻译工作是通过 Crowdin 这个平台来协作的,如果有兴趣也可以参与翻译。详见:https://crowdin.com/project/grav-admin »

纯文本 CMS 系统 Grav 介绍

纯文本 CMS 系统 Grav 介绍

Grav 简介 Grav 是一个轻快、简单、可扩展的纯文件 CMS 平台,解压即用,无需安装。 它有如下特点: 纯文件系统,无需数据库 采用广受欢迎的 Markdown 语言 有完善的后台界面,几乎所有操作都可以在后台进行 有包管理系统,可以后台直接安装升级插件和主题(包括升级 Grav 自身) 可扩展性好,可以通过插件控制几乎每个环节 支持从 WordPress 导入内容 可以通过命令行操作 有较完整的官方文档 处于活跃的开发中 新事物,历史包袱少 不过它暂时还没有的中文用户中流行开来也不是没有原因的,我个人感觉目前还存在不少问题: 虽然支持多语言,但是还没有好的中文翻译版本 相比 WordPress 的可视化编辑器,Markdown 难以吸引非 Geek 用户 理念和已经广泛流行的发布系统有所区别,有一定的学习成本 插件和主题还较少(不过基本的功能已经相对完善了) 中文资料不多 因为众所周知的网络原因,后台安装升级容易出现网络链接问题 我最近有空在看它的文档,打算有时间的话翻译一些文档中比较实用的内容,也算是义务做一些推广。 快速安装 环境需求 Web 服务器 (Apache, Nginx, LiteSpeed, Lightly, IIS 等) PHP 5.5.9 或更高版本 安装步骤 下载源码。下载地址:https://getgrav.org/download/core/grav-admin/latest 解压到 Web 目录下 输入地址访问 相关资料 Grav 官网:https://getgrav.org/ 官方文档:https://learn.getgrav.org/... »

故事统治着世界

故事统治着世界

货币、国家、法律、公司……这些支配着世界运转的概念都并非自然界客观存在的事物,它们都只存在于人的想象之中,都是通过各种途径被灌输到人类脑子里的共同故事。尤瓦尔•赫拉利在这本《人类简史:从动物到上帝》中甚至认为人类所处的生活模式是陷阱和骗局。 »

下五子棋

斩获59胜的Master声明:我是阿法狗,DeepMind发表年终感言 想起多年前在腾讯游戏平台上玩五子棋被人虐得气急败坏,就去网上下载了一个五子棋的软件。别人下一步就在软件里面摆一步,然后把电脑的走法复制过去,一路杀到高分段。最后终于遇到一位可以匹敌的对手,两人经常把棋盘下满了还分不出胜负。我很佩服地加了这位高手的 QQ 想要拜师学艺,终果发现他也是用软件在下棋…… »

Virtualmin 文件管理器不能解压缩的问题

我在 Bandwagon 的 VPS 上安装了 Virtualmin 后发现在线文件管理器 File manager 不能解压文件,具体表现为右键菜单没有解压缩选项(Extract),在其它 VPS 上安装却正常。 绝大部分资料都怀疑是 unzip/tar 程序没有正确安装,但是反复检查后确认两个解压缩需要用到的程序都已经正确安装,最后找到了问题的原因: 确少名为 File::MimeInfo 的 PERL module 原因在 Virtualmin 官网的一个 Issue 中作出了解释: “Extract” option is only shown when MIME matches an archive. 可以在 Virtualmin 后台的如下位置安装 File::MimeInfo: Webmin 菜单 > Others > Perl Modules > 输入 File::MimeInfo 搜索安装 »

Virtualmin 无端崩溃的问题

我在美团、Vultr(最低配)、搬瓦工三台不同的 VPS 上都安装了 Virtualmin 主机面板。但是美团和 Vultr 都遇到了 WEB 管理界面经常崩溃的问题,网站确能够正常访问不受影响,一直找不到原因很郁闷。 今天我偶然发现两个会崩溃的 VPS 和搬瓦工的区别:搬瓦工有 SWAP 分区,其他两个没有。我在美团和 Vultr 上设置了大小不等的 SWAP 分区,崩溃问题没有再出现,问题似乎得到解决。 此记。 »

[DokuWiki 插件] Info – 显示 DokuWiki 站点使用的插件

WordPress 有些插件可以用来显示当前站点正在使用中的插件,我希望在 DokuWiki 中也实现这个功能,但是搜索这个需求的时候关键字里面很难避开 plugin 这样的关键字,所以搜到的多是和插件有关的页面,这个插件也是翻了好多页的 Google 搜索结果才找到。 插件的主要功能是列出当前 DokuWiki 网站正在使用中的各类插件(WordPress 中类似的插件是 WP-PluginsUsed)。 基本信息 插件名称:Info 插件页面:https://www.dokuwiki.org/plugin:info 插件安装:DokuWiki 内置,无需单独安装 使用方法 插件最基本的语法如下: ~~INFO:keyword~~ 其中 keyword 可以有如下选择: syntaxmodes — Displays the complete list of parser modes together with their getSort() values. See also syntax plugins. syntaxtypes — Displays which syntax types are used by available plugins. The syntax type determine which syntax may be nested. syntaxplugins — 显示可用的语法扩展类插件的列表 adminplugins — 显示可用的管理类插件的列表 actionplugins — 显示可用的功能扩展类插件的列表 rendererplugins — 显... »

『番茄工作法图解』书摘

京东凑单书,前一阵某个晚上随手翻了一遍,废话很多,内容很少。不过令人惊喜的是,看完后网上找了个计时软件,按番茄工作法的精神,定了一个30分钟的闹钟集中注意力做事,效率提升巨大,有点意外。 另外,我找到的那个定时软件不错(试了好几款才选定的),叫Free Timer,是免费软件,功能简单实用,还自带中文,这是它的官网,有兴趣可以试下。 第111页2016年04月11日22时42分 反复回顾记忆力是可以改善的。东尼·博赞提到:“有一套通用方法,那就是学习期之后或事情发生后,在短时间内做一次回顾或复习。一天后再次复习,一周后第三次复习,一个月后第四次复习,半年后第五次复习。”每次回想某件事情时,都会使得头脑记忆中对这部分的阻力减少。就像在丛林中清除障碍、开辟道路的过程,世上本没有路,走的人多了,也就成了路。思想在头脑里也需要出人头地。和明星一样,曝光次数越多,宣传机会就越多。不断重复一个重要的结论,等到真正用得着时,它就更容易被你想起来。 第106页2016年04月11日22时39分 每一位番茄工作者都有自由去体验、改进,找到自己的最佳步调。 第77页2016年04月11日22时37分 番茄钟具有原子性。不可分割。它是这套流程方法中最小的货币单位。如果任务被放下了,无论是暂时的还是长期的,当前番茄钟都必须作废。它就不能算数了,也不应该画×。你得扭启一个新的25分钟番茄钟代替它。如果需要,可以先休息一下再开始。 第70页2016年04月11日22时28分 理学和脑科学研究的新发现表明,并行处理和应对干扰的能力都面临同样的瓶颈:工作记忆的容量有限。每一次干扰都会使我们的大脑工作台上的原始... »

WordPress 常用的插件

更新于2016/6/10 用了这么久 WordPress ,各种插件装装删删,官方插件库的热门插件看了好几遍,发现不少所谓的必备插件都是针对有一定规模或者相对商业化的网站的,对绝大多数每天流量不超过100IP 的小型个人网站来说意义并不大。拿其它插件推荐文章几乎必推的各类缓存插件来说,这类插件设置复杂,而现在的虚拟主机和 VPS 的配置又高,多数小网站连 VPS 10%的资源都用不上,装缓存插件毫无意义。我在试用了不少之后最后留下了一些比较适合小博客使用的插件,列个清单: Akismet  这个无需多说,WordPress 默认自带。反垃圾留言的插件。小网站虽然没什么访问量,但是垃圾机器人不管这个,就算是新站,没有这类插件的帮助也很容易被灌满垃圾信息。 All In One SEO Pack WordPress 的 SEO 本身不算差,不过装个 SEO 类插件可以更加灵活地设置页面标题之类的属性,还可以无痛生成实用的 Robots.txt 文件和 Sitemap,还是有一定必要的。 Autoptimize 这个插件可以优化(压缩)页面的 JS, HTML, CSS 文件,把 CSS 文件内容嵌入到 HTML 中,把多个 JS 文件合并为一个等,可以有效的减少 HTML 请求。当然也有不少其它功能,值得一试的插件。不过如果在做主题或者插件开发的时候最好不要开启这个插件,JS 和 CSS 文件被合并后出发问题不容易定位。 Better Search Replace 用于直接对数据库执行查找和替换操作的插件,新站没有必要装,如果换过域名或者开启了全站 HTTPS (需要把 http:... »

MAC OS中在Terminal和Finder相互打开文件夹

用 Finder打开Terminal中文件夹 用open命令,例如: $ open . #打开当前文件夹 $ open /usr/local/ #打开任意文件夹 用Terminal打开Finder中的文件夹 将任意文件夹的图标拖放到Terminal.app的图标上。 »

编译软件的流程(configure, make和autotools等之间的关系)

如今在各个主流系统平台上安装软件已经是一件非常省心和方便的事。熟悉的Windows平台不说,Mac上有Homebrew, Homebrew Cask等,各种Linux的发行版也有自己的软件仓库。不过爱鼓捣的人时常还是会遇到需要从源码编译安装软件的情况,例如前一阵PHP7刚发布的时候,想要尝鲜就不得不自己编译了。 对我这样基本只会写脚本的语言的人来说,编译是一件很陌生的事。我花了两天时间查了点资料,了解了一下源码的编译相关知识。 下面的内容都是假设在Linux系统下,不过大体的流程是通用的,而且也并没有许多需要实际操作的内容。 如果你去下载某个软件的源码,网站上的“安装指南”可能会简单告诉你如何编译安装,类似这样: ./configure --prefix=/path/to/dir/ #有些可能没有指定--prefix参数 make make install 现在就从这三行命令开始。 第一行命令的意思是运行当前目录下的configure文件。它是一个脚本,用来在安装前对系统进行检查,确认系统是否具备了编译软件所需的各种条件。以C语言程序为例,configure脚本会确认系统内是否有编译软件所需的编译器,以及所需的各种头文件和库等。 有些源码包内可能没有直接包含configure脚本,但是包含了buildconf脚本(文件名也可能为autogen.sh),它的作用是做一些编译前的准备工作。详见:http://buildconf.brlcad.org/ 第二行命令调用了make程序对目录下面的源码进行编译。 但是输入了make命令后又发生了什么?它又怎么知道如何把... »

《如何变得有思想》读后感

这本书是阮一峰的博客文集,书中内容他的博客上都有。我买书的原因只是因为在 Kindle上阅读比较方便。 书名有点大,作者也明说了起这样一个名字有吸引眼球的成份。不过作者在书中确实有直接或间接地对『如何变得有思想』给出回答,例如:『人不是生来就有思想的。思想是通过勤奋的学习和思考得来的』、『写作帮我们整理自己的思想』等 阮博士涉猎很广,这点不难看出——构成全书的主要是一些不长的小文章,但是包括了文学、历史、技术、影视等诸多领域的内容。文笔算不上出彩,但是以网络博文的标准来看已经是非常不错:写的很认真,不少内容很有启发。 书中有两点给我的印象很深:一是作者对人文类学科境况的不满。例如:『是啊,我也有同感,人文科学毫无用处,为什么会有人(高本汉)愿意用一生的时间去研究秦代的发音,或者某个古汉字的正确解释』;二是来自计算机领域的自由、分享的思想给他带来的深刻影响。 讲讲这本书的缺点。从内容上看,我觉得有不少文章引用他人的篇幅过多,有的甚至远大于作者自己的内容。特别是讨论文学作品的文章,引用过多就容易宣宾夺主。排版上,我购买的是Kindle 版本,排版略差。这本文集中有大量的引用内容,但是 Kindle 版本中引用内容和正文仅有字号上的微小差异,字体却是一样的,这给阅读带来了不少麻烦:经常读着就忘记自己是在读作者原创内容还是他的摘抄。另外,我本来是期望在这本书里看到更多关于 IT 界和讨论技术本身的内容(毕竟这是我关注阮一峰的出发点),结果发现这方面的内容并不多。 本书的价格接近30元,在我买过我的Kindle读物中已经算不上便宜。但是内容和排版都和我预期的有距离。书中提到的一些书目对我... »

DokuWiki 简明使用教程

什么是WIKI?什么是DokuWiki? 和博客、论坛一样,WIKI 是一种网站的类型,它最大的特点是允许不同的人修改同一份内容,从而使其更加完善。互联网上基于 WIKI 的理念创建的网站中最有名的当数 Wikipedia (即维基百科),尽管它的中文版本在中国无法直接访问,但并不妨碍它成为世界上流量最大的网站之一。如果你没有听说过维基百科,你可以认为它类似于国内的百度百科,不过维基百科比起百度百科内容更加丰富和优质,而且不像百度百科一样商业化。 如果有一台自己的服务器或是虚拟主机,你也可以搭建属于自己的 WIKI,这个过程不需要太多技术知识,因为网上有很多现成的开源程序可用。例如上面提到的维基百科就是采用叫 MediaWiki  的程序搭建的。这里将要介绍的 DokuWiki 就是一款用来构建 WIKI 网站的程序,相比MediaWiki,它更加轻巧和简单(只需PHP环境,无需数据库),适合小型团队和个人网站使用。 WIKI 类网站的适用范围很广,常见可以用作个人或是小型团队的知识库或是用来存放软件的文档等。协同编辑是 WIKI 最重要的特点。 修改页面 当你加入到一个 WIKI 网站(例如公司内部的知识库),除了进行正常的浏览外,最常见的两项活动无非就是修改现有页面和新建页面了。 首先介绍如何修改页面。在默认的 DokuWiki 模板下,修改(编辑)页面的入口在页面主要内容区的右侧,是一个铅笔状的图标(见下图)。 不同的 WIKI 有不同的权限设定,比如有些 WIKI 允许所有人参与编辑,有些 WIKI 则设定了只有部分人(注册用户等)才能编辑——对于这类 WIKI,你需要... »

[WordPress 主题] Goule 文档 | Documentation for Goule

这里是 WordPress 主题 Goule 的官方页面,目前的最新版本是 1.0.3,下载地址:GitHub。 主题介绍 Goule 是一个基于 Bootstrap 开发的单栏响应式 WordPress 主题,界面简单干净,可以同时兼容手机和电脑屏幕,定位是小型个人博客主题。目前已提交到官方的主题目录,尚在审核中,暂时可以在 GitHub 下载试用。 Goule是一个免费的主题,你可以随意使用它。 界面截图 下载地址 安装使用 下载包含主题文件的压缩包(下载地址见上一节) 将压缩包的内容解压并上传到WordPress根目录下的wp-content/themes/ 文件夹下 将解压或上传后的主题目录名称更改为goule 在WordPress后台激活使用 使用说明 主题可以自定义导航菜单(位于博客名称之下),可以到后台导航 -> 菜单 进行相关设置 导航菜单使用了wp-bootstrap-navwalker,提供了一些额外功能。例如:在导航菜单项中插入 Glyphicons 图标。具体可以参考 wp-bootstrap-navwalker的说明。可用的 Glyphicons 可以在 Bootstrap 的网站上找到 网站的档案页面可以同时显示TAG、分类、日期、附件的列表,如果需要使用可以新建一个页面,选择使用档案(Archives) 模板即可 主题的定位是小型博客,注册登陆这样的功能不是特别需要(小型博客很少有固定用户),所以登陆和登出链接设置在页面最下方,比较隐蔽(考虑到一般只有管理员会用到) 管理员登陆后如果需要直接在文章页面跳转到编辑页面,点击顶部 Admin ba... »