使用静态页面的理由

本人在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实现静态页面评论的功能的更多相关文章

  1. Apache 后台服务器(主要处理php及一些功能请求 如:中文url)   Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)   Lighttpd 图片服务器   总体来说,随着nginx功能得完善将使他成为今后web server得主流。

    Apache 后台服务器(主要处理php及一些功能请求 如:中文url) Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求) Lighttpd 图片服务器 总体来说,随着ngi ...

  2. jekyll介绍安装.github静态页面工具

    jekyll build # => 当前文件夹中的内容将会生成到 ./site 文件夹中. $ jekyll build --destination <destination> # ...

  3. 浅谈php生成静态页面

    一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权 ...

  4. WEB页面采集器编写经验之一:静态页面采集器

    严格意义来说,采集器和爬虫不是一回事:采集器是对特定结构的数据来源进行解析.结构化,将所需的数据从中提取出来:而爬虫的主要目标更多的是页面里的链接和页面的TITLE. 采集器也写过不少了,随便写一点经 ...

  5. .NET生成静态页面并分页

    因为公司的产品用asp开发, 前一段时间用asp写了一个生成静态页面并分页的程序,但缘于对.net的热爱,写了这个.net下的生成静态页面并分页的程序. 主要的原理就是替换模板里的特殊字符. 1.静态 ...

  6. .net 生成 静态页面

    .net 生成 静态页面 <!--Main.Aspx--> <%@ page language="C#" %> <%@ import namespac ...

  7. C#根据网址生成静态页面

    HoverTree开源项目中HoverTreeWeb.HVTPanel的Index.aspx文件 是后台管理的首页. 包含生成留言板首页,以及显示用户名,退出等功能. 根据网址生成页面的方法: boo ...

  8. 比较详细PHP生成静态页面教程

    一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合, 也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客 ...

  9. .NET生成静态页面的方案总结

    转载自:http://www.cnblogs.com/cuihongyu3503319/archive/2012/12/06/2804233.html 方法一:在服务器上指定aspx网页,生成html ...

随机推荐

  1. BNUOJ 1541 Air Raid

    Air Raid Time Limit: 1000ms Memory Limit: 10000KB This problem will be judged on PKU. Original ID: 1 ...

  2. Leetcode 139.单词拆分

    单词拆分 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词. 说明: 拆分时可以重复使用字典中的单词. 你可以假设字典 ...

  3. 【NOIP2017练习&BZOJ4998】星球联盟(强联通分量,并查集)

    题意: 在遥远的S星系中一共有N个星球,编号为1…N.其中的一些星球决定组成联盟,以方便相互间的交流. 但是,组成联盟的首要条件就是交通条件.初始时,在这N个星球间有M条太空隧道.每条太空隧道连接两个 ...

  4. VS调试STL问题总结

    ---恢复内容开始--- 以前写代码总觉用自己写的东西比较牛逼,vector?stack?为什么不自己实现.后来才认识到这是个幼稚的想法!首先每次都自己实现是一种重复劳动:其次,自己写的话很难保证没有 ...

  5. UVA 437_The Tower of Babylon

    题意: 一堆石头,给定长宽高,每种石头均可以使用无数次,问这堆石头可以叠放的最高高度,要求下面的石头的长和宽分别严格大于上面石头的长和宽. 分析: 采用DAG最长路算法,由于长宽较大,不能直接用于表示 ...

  6. 谈谈控制器技术SpringMVC与struts2

    SpringMVC与struts2区别 作为表现层中控制器技术的两大掌门人,有哪些不同神功? 首先struts2是作为类级别的拦截,一个类对应一个request上下文.springmvc是作为方法级别 ...

  7. 使用Tornado实现http代理

    0x00 http代理 http代理的用处非常多,市面上也有公开的代理,可是有时候为了工作须要,比方分析应用层流量.做数据訪问控制.甚至做监控等等.Tornado提供了一些非常方便的环境和API,我们 ...

  8. openWrt 安装管理界面luci中文包

    openWrt15安装管理界面luci中文包   如果刚刷的openwrt15没有中文界面,用ssh连接路由后用opkg安装     root@bang-bang-tang:~# opkg insta ...

  9. MAVEN项目模块化

    maven的最大的特点之中的一个就是能够把项目模块化. 前面的一篇文章MAVEN创建并打包web项目已经创建了一个简单的webapp,注意这个webapp的打包方式是war. 假设如今又要划分出来一个 ...

  10. react 项目实战(八)图书管理与自动完成

    图书管理 src / pages / BookAdd.js   // 图书添加页 /** * 图书添加页面 */ import React from 'react'; // 布局组件 import H ...