github上面的url结尾是.md 的markdown文件是怎么在线预览的?

github上面的url结尾是.md 的markdown文件是怎么在线预览的?是先转成HTML吗?

clipboard.png

阅读 8.6k
4 个回答

你以为自己是在打开一个markdown文件,你最终也看到了一个解析过的markdown文件。
但是它的服务器接到你的请求url后,也许是先找到这个markdown,在服务器上渲染解析,然后返还给你html格式的东西。

当然,它也可以把markdown文件返还回来,然后同时返还一些js代码,让js代码在你浏览器中渲染。

这个很简单,虽然我不知道它服务端用的什么来解析md,但是你可以自己实现,比如说node服务端可以引入markdown.js来将它转换成html代码,这个时候只是一些不美观的html标签,没有样式,如果你再引入bootstrap,直接就跟github的效果一模一样了。所以说总结就是两步:
1,引入bootstrap的css文件;
2,用markdown.js解析,直接百度markdown.js github就行了,如果文件名没记错的话,你也可以自己找一些解析的三方库,解析出来就是html文件了,插入页面或者服务端先渲染好发送到前端就行了

补充一点,如楼下所说,那个url后面的md肯定是一个参数,服务端收到过后,处理对应文件,返回给前端,或者前端js处理,都是可以的,但是不建议放在前端处理

看原生的,点 Raw

虽然我不太懂ruby on r(*),但是不要以为uri里的参数带文件后缀就以为它真是一个文件,最多它只是个参数而已,GITHUB更多是在在后端已经解析过了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进