使用Gitalk实现静态页面评论的功能
使用静态页面的理由
本人在Github上使用github.io部署了一个静态主页,地址是http://aopstudio.github.io,用于存放一些笔记文件。虽然静态页面功能少,自动化程度低,不过github.io的优点在于页面完全随自己设计,html,css和javascript全部随由自己安排,同时不需要自己的服务器资源。而且不少Github用户都会设置github.io作为自己的展示页面,也算是一个潮流。
更大的理由——Markdown Preview Enhanced插件太强大。。。
我使用的Markdown写作工具是VS code搭配其中的Markdown Preview Enhanced插件,功能相当强大,尤其是其中的脚本语言画图像的功能让我爱不释手。在该插件内可以使用脚本语言(比如DOT语言)画出矢量图,包含流程图、时序图、有向图、无向图等等,目前我还没有发现其他Markdown渲染工具可以达到相同的功能。Github中的Markdown语言据说是对原生Markdown进行了功能增强,但是连\(\TeX\)公式都不支持,和MPE插件比起来更是差了十万八千里(这里要夸一下Solo中的Markdown渲染器,是支持\(\TeX\)公式的)。但是过于强大也带来了兼容性的问题。在其他的Markdown渲染器中都无法实现在VS code中的近乎完美的预览效果(这同样也是我不使用Hexo的理由)。好在MPE插件实现了输出HTML文件的功能,输出的HTML文件的显示效果和在VS code中的预览效果没什么区别。我将输出的HTML部署到github.io,就可以在静态网页中实现和桌面端相同的渲染效果(主要是指矢量图的渲染)。
其他存在的问题和解决方案
“静态页面因为没有后台服务器,所以无法保存评论的内容,也就无法实现评论的功能。”一般人在不了解javascript强大功能的情况下,基本上会这么想。但是现在有个高人用JavaScript实现了静态页面评论的功能,也就是Gitalk项目。其实我一开始发现的是Gitment,原理和Gitalk相似,但是Gitment已经很久没有维护了,作者连自己主页的SSL证书过期了都不管,因此我选择了还在维护的Gitalk。Gitalk把评论放在Github仓库的issue中,访问静态页面时通过JavaScript与issue中的数据进行交互来完成评论的功能,这真是一个绝妙的想法。而且作者询问过Github官方,这种方式不属于滥用issue的范畴。
使用Gitalk的方法很简单,官方文档中已经说的很清楚了,在此就不再赘述了。
个人静态站点还未解决的其他问题
我的笔记内容篇幅比较长,当我发布在Solo中时,会自动生成侧边栏导航目录,但是MPE插件生成的静态页面中没有侧边栏目录,只能从头看到尾,效果如示例网页。现在正在寻找为该页面生成侧边栏导航目录的方法,如果有高人指点,在此感激不尽!
2019年2月27日更新
原文章发表在自己搭建的博客程艺的个人博客里,当时还没解决的侧边栏问题现在已经通过一个叫做docsify的工具解决了,现在阅读体验非常好,地址在此https://aopstudio.github.io/docs/#/
使用Gitalk实现静态页面评论的功能的更多相关文章
- Apache 后台服务器(主要处理php及一些功能请求 如:中文url) Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求) Lighttpd 图片服务器 总体来说,随着nginx功能得完善将使他成为今后web server得主流。
Apache 后台服务器(主要处理php及一些功能请求 如:中文url) Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求) Lighttpd 图片服务器 总体来说,随着ngi ...
- jekyll介绍安装.github静态页面工具
jekyll build # => 当前文件夹中的内容将会生成到 ./site 文件夹中. $ jekyll build --destination <destination> # ...
- 浅谈php生成静态页面
一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权 ...
- WEB页面采集器编写经验之一:静态页面采集器
严格意义来说,采集器和爬虫不是一回事:采集器是对特定结构的数据来源进行解析.结构化,将所需的数据从中提取出来:而爬虫的主要目标更多的是页面里的链接和页面的TITLE. 采集器也写过不少了,随便写一点经 ...
- .NET生成静态页面并分页
因为公司的产品用asp开发, 前一段时间用asp写了一个生成静态页面并分页的程序,但缘于对.net的热爱,写了这个.net下的生成静态页面并分页的程序. 主要的原理就是替换模板里的特殊字符. 1.静态 ...
- .net 生成 静态页面
.net 生成 静态页面 <!--Main.Aspx--> <%@ page language="C#" %> <%@ import namespac ...
- C#根据网址生成静态页面
HoverTree开源项目中HoverTreeWeb.HVTPanel的Index.aspx文件 是后台管理的首页. 包含生成留言板首页,以及显示用户名,退出等功能. 根据网址生成页面的方法: boo ...
- 比较详细PHP生成静态页面教程
一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合, 也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客 ...
- .NET生成静态页面的方案总结
转载自:http://www.cnblogs.com/cuihongyu3503319/archive/2012/12/06/2804233.html 方法一:在服务器上指定aspx网页,生成html ...
随机推荐
- 解决idea创建ssm项目找不到mybatis的mapper的xml文件问题
http://blog.csdn.net/v19freedom/article/details/69855302 后来上网搜了下,别人给出的答复 idea在build工程的时候 遇到maven项目 使 ...
- java springMVC 极致验证 非demo版
最近公司项目需要,做了个极致验证,自己在此做下记录. 先上效果图: 它的官网:http://www.geetest.com/ 里面有 身份验证.行为验证, 我这使用的为行为验证. 技术文档:ht ...
- zoj 2676 dinic模板求实型最小割(可做dinic模板)
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<queue> #inc ...
- linux 用户管理、权限管理
1.useradd -[ugGdsce]2.passwd 用户名 ================================================ 1.chmod 2.chown 3. ...
- [bzoj5314][Jsoi2018]潜入行动_树形背包dp
潜入行动 bzoj-5314 Jsoi-2018 题目大意:题目链接. 注释:略. 想法: 学长给我们除了一套考试题,三个学长一人一道这是T1. 好吧好吧,傻逼背包...... 复杂度$O(nk)$. ...
- mysql常用jar包
连接Mysql数据库: 常用的连接池有两种 DBCP连接池 C3P0连接池 Apache的commons组件 -- DBCP连接池: commons-dbutils-1.4.jar 封装并简化了JDB ...
- HashSet源码分析2
package com.test1; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public ...
- DTRACE简介之完结篇3
https://blogs.oracle.com/swan/entry/dtrace%E7%AE%80%E4%BB%8B_3 DTRACE简介之完结篇 By samwan on 四月 13, 2007 ...
- 得到java异常printStackTrace的详细信息
平时写Java代码时,想看抛出的异常信息,来找出具体的异常点,我们常常会用Exception.toString ()或者 Exception.getMessage()来取得异常信息,再把它print到 ...
- poj 2318 TOYS & poj 2398 Toy Storage (叉积)
链接:poj 2318 题意:有一个矩形盒子,盒子里有一些木块线段.而且这些线段坐标是依照顺序给出的. 有n条线段,把盒子分层了n+1个区域,然后有m个玩具.这m个玩具的坐标是已知的,问最后每一个区域 ...