好奇的探索者,理性的思考者,踏实的行动者。
Table of Contents:
使用 mdwiki 可以轻松的搭建个人轻博客、知识库、或文档中心等。
搭建博客时,只需要把markdown文件和mdwiki程序(html+js)部署在一个Web Server上,利用前端技术,在访问md文件时即时解析并渲染成HTML。
mdwiki的所有逻辑的实现都放在index.html中,当请求首页时比如请求www.test.com/index.html
代码中会自动在请求url之后添加#!index.md
,添加后的url的形式如下
www.test.com/index.html#!index.md
之后再根据#!
之后的内容进行ajax请求服务器上的markdown的内容,请求回来之后再把markdown的内容渲染成html网页。
网页中的url也会被替换成以#!
开头,当请求时程序会解析#!
之后的url,并ajax请求相应的内容并解析。
#!
是什么意思?URL 中的 #
本来的用途是跳转到页内锚点,一个 URL 中 #
后的值 (hash tag) 不影响所访问网页的内容,所以搜索引擎在处理仅仅 hash tag 不同的多个 URL 时会当做相同内容从而忽略 hash tag。
但近年来 hash tag 越来越多地被用于 AJAX 请求获取数据,不同 hash tag 对应的网页内容也有所不同,为了有效地区别这种情况和过去传统的页内锚点标示,让搜索引擎更好地抓取 AJAX 数据,Google 提出的解决方案 (似乎是在 2009 年) 是用 #!
(被称为 hashbang ) 来进行区分,他们将带有 #!
的 URL 称为 pretty AJAX URL。当网页爬虫遇到这样的 URL 就会将带不同 hash tag 的 URL 当做不同内容来进行抓取,从而获得更全的信息。