尤大低仿博客带回家

前言

就在上周六看到阿里云服务器搞一个活动,6元钱一年的共享虚拟主机。但是之前有使用过,觉得最蛋疼的地方是,它只给你开放一个ftp,而且权限上面也有一些控制。所以一直在考虑是否好入手玩一下。后来想了想6块钱又不多,我们搞起来吧。

好了,大家注意了。你没有看错,只需几小时,低仿的尤大(Vue.js作者)博客你带回家,有的小朋友可能注意到,为啥这里没说同款和高仿的原因是在Markdown还有一些其他的方面,都是简单的实现,我怕说了高仿之后,遭到板砖这样就不好了,现在看病也挺贵的?。

先放上尤大的博客Evan You
然后放上低仿链接吧BIGTIGER.ME
再就是项目的地址Blog

声明

本文仅仅是提供一种思路想跟大家交流,在实践的过程中一些地方可能不是最佳。千万不要用板砖拍我,人家第一次写文章啊。如果你有更好的方案或者实践思路,可以分享给我,期待~

联系方式: [email protected]

我们要期望的

  1. 使用Markdown 进行编辑博客内容
  2. 不需要后台提供接口
  3. 不使用数据库
  4. 使用Vue全家桶(你抄人家的博客,再不用人家的东西就有点过分了)
  5. 使用NPM脚本一键发布博客

实践过程

购买服务器

放一个地址共享虚拟主机普惠版,选择Linux,其他的就略过了。

使用FTP连接服务器

这个放在最后吧,因为操作有些人已经会了,详细描述还挺麻烦的。但是为了让大家都可以快速的搭建,所以我选择放在后面,有点像附录?。

服务器上面的目录结构

最终我们需要把你的博客文件放到htdocs目录下。

使用vue-cli快速构建目录结构

在执行之后操作前,你确保你的电脑已经安装过node(>=4.x, 6.x)

$ npm install -g vue-cli

$ vue init webpack 这里写你的项目名

$ cd 这里写你的项目名

$ npm i 

然后下面有几项可以配置

具体就不详细介绍了

将Markdown文件转换成json

不想听我啰嗦的可以直接看这部分的源码,/build/create-posts-json.js

这里用到了两个第三方的库,第一个是markdown-to-json,第二个是markdown-js

大概思路是,在/build/posts目录下去写.md文件,然后通过markdown-to-json去构建一个文章的json列表,然后再分别构建单个文件的json,并将json中的contentmarkdown.toHTML转换成HTML,最后将生成的json文件放到/build/static/posts目录下。

这里面需要讲的是,markdown-to-json需要在文件中添加相应的信息才能构建出列表

转换成json是

然后将这个js文件分别引入到/build/build.js/build/dev-server.js中,放在顶部就可以了。

使用Vue全家桶进行页面的开发

老样子放上源码/build/src

大概的思路就是用,vue-router管理页面路由,vue-resource去静态资源中请求对应的json文件,vuex用来切换页面时开关Loading...

打包和部署

$ npm run build

等待打包结束后,使用FTP把/build/dist文件夹下面的文件扔到服务器上面就可以了。

这个时候输入你的域名就可以看到你的博客了。

你以为这样就完了?

答案是并没有!

细心的小伙伴们会发现,这样的话,我岂不是每次发布文章都需要构建,然后手动上传到服务器?的确这样很不便捷和高效。

那我们接下来就要解决这个问题。

好了,惯例,先放源码,不爱听我哔哔的可以去看了/build/release.js

这个使用了两个node的第三方库,分别是ftpasync

大体思路是使用node-ftp去连接服务器,然后将本地生成的json文件上传。但是当我们需要上传多个json文件的时候,我们就需要使用async来控制回调。

然后将我们之前写的create-posts-json.js引用进来,再在package.json文件中的script中写下

    "release": "node build/release.js",

接下来你就可以愉快地使用npm run release来一键发布你的文章了。

总结

最后我们实现了一个简单的博客系统,时间虽然短,项目也很简单。但是完整的走了一遍实际开发中,从需求定制到产品完成的一套流程。

但毕竟实现的时间有限,有些不足之处,有待完善:

  1. Markdown处理的不够彻底,比如代码显示等等
  2. SEO优化,博客还是以内容为主。
  3. 当Markdown文件没有修改,应该不需要重新上传,但是现在需要重新上传。
  4. Loading切换生硬
  5. 首页列表分页没做...懒得做了
  6. 评论回复...懒得嵌入了
  7. 等等等...

最后谢谢大家听我哔哔...

鼓掌?

附录

FTP连接服务器

购买之后,会让你设置3个密码,分别是登录控制台的密码(当然这个从阿里云的控制台也可以)、数据库的密码(当然也没有什么卵用)、最后就是FTP的密码

我连接的方式是使用FileZilla的客户端。Mac和Windows都有,它张这个样子,大家可以自行下载。

然后我们需要找到我们需要用到的主机地址用户名密码

步骤如下:

  1. 首先登录阿里云控制台。
  2. 找到产品与服务 -> 域名与网站 -> 云虚拟主机
  3. 在面板上面找到你的刚刚购买的主机,点击管理
  4. 然后在页面中你就可以找到你要的信息

接下来就是使用客户端连接,这个没有什么好说的,我就放一张图片就可以了。

本文转载于:猿2048→https://www.mk2048.com/blog/blog.php?id=hac20bcbh2j

原文地址:https://www.cnblogs.com/jlfw/p/12501737.html

时间: 2024-11-09 05:13:34

尤大低仿博客带回家的相关文章

仿博客园编辑器的插入代码 代码高亮功能

代码下载地址:http://download.csdn.net/detail/dfg727/7616305 1. a.配置tinymce,增加一个insert code按钮    b.处理显示页面中展开收缩的高亮部分事件 var tinymce_config = function (selector) { tinymce.init({ selector: selector, theme: "modern", menubar: false, plugins: [ "previe

bbs仿博客

BBS表设计 项目开发的流程 需求分析 架构师+产品经理+开发组组长 在去客户公司谈需求之前,先事先估摸着这个项目应该怎么做 里面有哪些坑的点 提前想好比较简单的解决方案 在跟客户谈的时候 有意识的引导客户朝着你已经想好的方案上去提需求 项目设计 架构师干的活 项目的报价(每个程序员按照人头 每天2000+左右) 语言的选择 框架的选择 数据库的选择(主库用什么 缓存库) 功能划分 开发部开发组长开会分发任务 分组开发 架构师和开发组长将项目整体的框架搭建出来 然后让小组成员各自朝着各个部分填写

各大技术团队博客

BAT 技术团队博客 1. 美团技术团队博客:  地址: http://tech.meituan.com/ 2. 腾讯社交用户体验设计(ISUX) 地址:http://isux.tencent.com/ 3. 京东设计中心 地址:http://jdc.jd.com 4. QQ游戏设计中心 地址:http://gdc.qq.com 5. 百度搜索用户体验中心 地址:http://ued.baidu.com/ 6. 一淘UX 地址:http://ux.etao.com 7. 腾讯CDC 地址:htt

[cnblogs] 仿博客园插入代码的Windows Live Writer插件

一  插件相关效果图展示 插件效果图: 在Windows Live Writer中的效果如图: [1] [2] [3] 对应的插入代码在博客中的效果如下: [1] public static void Main(string[] args) { int sum = 0; for(int i = 0 ; i < 100 ; i++) { sum += i; } } [2] public static void Main(string[] args) { int sum = 0; for(int i

iOS大神技术博客

唐巧的技术博客 http://blog.devtang.com/atom.xml OneV's Den http://onevcat.com/atom.xml 破船之家 http://beyondvincent.com/atom.xml NSHipster http://nshipster.cn/feed.xml Limboy 无网不剩 http://feeds.feedburner.com/lzyy Lex iOS notes http://ios.lextang.com/rss 念茜的博客 

各种大神的博客

王巍的博客:王巍目前在日本横滨任职于LINE.工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发.他的陈列柜中已有多款应用,其中番茄工作法工具非常棒.http://onevcat.com池建强的博客: 池建强,70后程序员,Blogger.98年毕业,先后就职于洪恩软件.RocketSofeware和用友软件工程公司(后更名为瑞友科技),现任瑞友科技IT应用研究院副院长.该博客最初每天发送一条Mac技巧,不过目前已经形成了一种技术和人文结合的风格,时而随笔,时而技术.htt

没事的时候看看大神的博客(iOS界好的博客)

王巍的博客:王巍目前在日本横滨任职于LINE.工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发.他的陈列柜中已有多款应用,其中番茄工作法工具非常棒.http://onevcat.com池建强的博客: 池建强,70后程序员,Blogger.98年毕业,先后就职于洪恩软件.RocketSofeware和用友软件工程公司(后更名为瑞友科技),现任瑞友科技IT应用研究院副院长.该博客最初每天发送一条Mac技巧,不过目前已经形成了一种技术和人文结合的风格,时而随笔,时而技术.htt

python3进阶开发-第一个仿博客园的项目(1)

首先我们要设计一下表结构: UserInfo(用户信息表) -------->一对一    ----------->Blog(博客信息表) UserInfo(用户信息表) --------->一对多    ----------->Article UpDown(点赞表) UserInfo(用户信息表) --------->一对多    ----------->Article Comment(评论表) UserInfo(用户信息表)---------->一对多   

BBS(仿博客园系统)项目05(后台管理功能实现:文章添加、富文本编辑器使用、xss攻击、BeautifulSoup4模块、富文本编辑器上传图片、修改头像)

摘要 布局框架搭建 随笔添加 后台管理富文本编辑器KindEditor xss攻击 文章简介的截取,BeautifulSoup4模块 富文本编辑器上传图片 头像修改 一.后台管理框架布局搭建 后台管理布局框架分析:导航条.左侧功能区.右侧主要功能显示和实现区 实现: 导航条:使用bootstrap模板:JavaScript>>导航条 左侧:使用bootstrap模板:组件>>列表组 右侧:使用bootstrap模板:JavaScript>>标签页 新建后台管理路由(注意