用 Vue.js 造了个轮子静态博客的轮子,依赖 GitHub,无需本地生成 <(▰˘◡˘▰)>

2015-11-20 14:33:51 +08:00
 viko16
<https://github.com/viko16/vue-ghpages-blog>

一只依赖 GitHub API 的静态博客,使用了 Vue.js 组件, webpack 打包

## Demo

<http://ukn.me/> <- 其实就是我自己的博客


## 食用方式
- 喜欢代码欢迎 Star
- 喜欢博文欢迎 Watch
- 也想自用的话也可以 Fork ,但请按照 README 上的说明修改


## 其他

- 目前只有列表页有缓存( sessionStorage ),以免滥用 API & 还能加速访问呢
- 主要是参考了 [Vue.js 的官方示例]( https://github.com/vuejs/vue-hackernews)
- 好像没了,我果然没什么文采不适合写小广告.. (つω⊂)
10584 次点击
所在节点    分享创造
43 条回复
wsph123
2015-11-20 17:16:23 +08:00
唔,不错不错。
lijinma
2015-11-20 17:37:58 +08:00
@viko16 恩恩
jokcy
2015-11-20 17:51:24 +08:00
其实你这么做博客的一个问题就是你怎么做 SEO 。。。
ferrum
2015-11-20 18:09:04 +08:00
已 star ,最近准备开发一个 SPA 应用,看来看去,决定使用已上手的 Vue.js ,正愁没多少例子可以看呢。
loading
2015-11-20 18:18:58 +08:00
@viko16 哦,我也没留意到,感谢提醒
viko16
2015-11-20 22:29:35 +08:00
@doublleft 这域名..很好..很好..


@jokcy 的确如此,我去留意下这方面的
djyde
2015-11-20 22:56:52 +08:00
4 格缩进,要烧了 233
jswh
2015-11-22 15:39:34 +08:00
我也正在写一个累死的东西......,而然因为懒癌拖了好久
jswh
2015-11-22 15:39:45 +08:00
@jswh 类似
viko16
2015-11-22 23:09:52 +08:00
@djyde 并无所谓,自己习惯 && 又不上 npm


@jswh 哈哈,相互分享相互交流呗
fy
2015-11-23 00:40:42 +08:00
这个博客啊, excited 。资慈楼主
kingme
2015-11-23 12:36:29 +08:00
star & fork ,研究一下。没用过组件,哈哈。我就玩玩双向绑定。
viko16
2015-11-23 12:49:34 +08:00
@kingme

其实我自己也是练手的,主要参考了官方的那个示例项目 <(▰˘◡˘▰)>

https://github.com/vuejs/vue-hackernews/tree/gh-pages/src/components
xfack
2015-11-23 16:07:34 +08:00
现在问题来了...如果用独立 vps 的话,是不是一定要用 npm!?
viko16
2015-11-23 16:27:18 +08:00
@xfack npm 的确逃不掉噢 (つд⊂)
JoyNeop
2015-11-25 17:39:57 +08:00
https://joyneop.xyz/blog/

以前 sync AJAX 写的,最近 async 化重构了一次……
原理类似,只是顺带加了一些 prefetch 。比较蛋疼的是不能删文章,下次重构会把文章列表数据结构从 array 改为 map 。
viko16
2015-11-25 17:55:16 +08:00
@JoyNeop

我看了一下你的库,似乎 list.json 和 sitemap.xml 是手动维护?
JoyNeop
2015-11-25 19:26:18 +08:00
@viko16 list.json 手动维护,其余用 node
ooTwToo
2015-12-05 00:37:24 +08:00
我能看懂的就只有 pjax/markdown/css 了。

那么,弱弱的问一句,如果不依赖 Github Pages ,如何实现 读取 md 文件?

还有,能分享下你的 markdown 的 css/js 插件吗?
viko16
2015-12-05 10:36:32 +08:00
@ooTwToo

如果不依赖 GitHub ,那么直接读取文件目录也是可以嘀(前提是得按具体情景去写哦,我目前的读取存储都写在 src/store/index.js 里


另外 markdown 的解析我是使用了 marked 这个库,在 Vue 里当作 filter 使用
https://github.com/chjj/marked


至于 css ,自己定制了一些,我列一下位置吧

https://github.com/viko16/vue-ghpages-blog/blob/gh-pages/src/components/PostView.vue#L76-L109
https://github.com/viko16/vue-ghpages-blog/blob/gh-pages/src/components/App.vue#L70-L120

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/237614

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX