时间已经进入了2020年,人们都说“未来已来”,学者写文章都喜欢用“人工智能、大数据、云计算”作为引言中的一部分,恋爱也发展成了云恋爱。(要是没有疫情谁愿意网恋???)作为我们在一起的第一个情人节,觉得做一个网站送给我老婆,比较契合当前的时代主题。网站如下图,自我感觉还是能够送的出手的……链接是yuanyuanjie.cn。(因为没有用HTTPS,所以用微信打不开,感兴趣的朋友可以复制链接到浏览器端打开浏览。不过个人建议还是算了,为什么要主动吃狗粮呢- -)

一、前期准备

前期准备包括云服务器购买,域名购买、解析与备案等工作。另外,还要思考两个重要的问题,做什么网站,怎么做。我喜欢写点东西,也喜欢写情书,何不以一个精美的博客的形式,把情书整理在一起?怎样实现呢?有两种思路:第一种是从头到尾全部、从前端、后端到数据库端建设网站,但是这种方式工程量巨大,一个人建设需要花费1-2个月的时间;第二种是使用博客框架。使我下定决心的是看到了知乎上的一句话“绝大部分的前端设计本质都是重复的,后台设计也是很重复的”,为了不浪费时间于繁冗的HTML、CSS、JS编程,把时间花在页面的设计上,我决心使用博客框架。

二、框架的选择

博客框架有许多,例如基于PHP和Apache的WordPress,基于node.js和nginx的Hexo,基于Ruby的Jekyllrb,基于Go语言的Hugo,基于Vue的VuePress,基于Java的Solo……付出了一定的学习成本和时间成本之后,我决定使用Hexo[1],原因无他,因为我懂一点node.js和nginx,有一定的先验知识的情况下,排坑会少花一点时间……

三、网站的建设

按照官网(hexo.io/zh-cn/)的介绍,Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。使用Hexo框架进行开发的主要步骤还是比较清晰,虽然囿于个人水平还是觉得坑比较多- -

(1)安装博客框架

在安装框架之前,需要确保自己的电脑已经安装好node.js环境和Git,博客框架的安装主要是两条语句。Hexo的安装在Hexo文档[2]里有详细的介绍。

$ npm install -g hexo-cli
$ echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile  //配置环境变量

(2)建站流程[3]

Hexo的建站非常简单,在Cmd里使用如下命令,Hexo将会在指定文件夹中新建所需要的文件。

$ hexo init <folder>
$ cd <folder>
$ npm install

新建完成后,指定文件夹的目录如下,_config.yml能够设置网站的标题、副标题、设置的皮肤等基础信息,在source/_posts中存储着我们的文章,themes文件夹存储着主题文件。以上3个路径是在开发过程中经常用到的。同时,在安装新的依赖时,最好也看看package.json文件哦。

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

在完成基础流程之后,比较重要的环节是选择主题,可以在Hexo 主题官网[4]选择,也可以通过百度(or 谷歌)“Hexo 主题”来选择。个人感觉这个环节比较重要,主题代表着网站的风格,同时在选择的过程中还应该仔细思考这个主题的重新编程的难度。例如我选择的主题是diaspora,在选好之后,需要在_config.yml中找到“theme”属性标注自己主题的名字。

(3)网站元素设计

自己的网站需要设计自己网站的元素。我的网页的主题是情书归纳,将网站的title定为:“love · jie”,并设计了标题的样式(左)和logo(右)。

网站的内容均来自我们的情书,发自肺腑。网站的图片代表着网站的质感,网站图片选择手绘漫画的形式,甜甜的软萌风格。部分图片来源于网络[5],如有侵权,立马删掉。

(4)页面调整

在下载好主题文件之后,其中同样有一个_config.yml文件,需要根据自己的需要配置网站。同时,应该仔细阅读每一个文件的代码,弄清楚这个主题的架构方式,以及在demo页中各个网页元素相应的代码位置。大意就是:知道怎么按自己的思路改这个网站,例如改一改网站的icon、head、menu这些东西,为了实现自己的想法改改css和js之类的,这个过程比较繁琐,就不赘述了。

(5)文章编写

文章是基于markdown编写的,需要仔细阅读主题文件中的readme,例如在我的主题diaspora中的markdown格式如下。

---
title: My awesome title
date: 2016-10-12 18:38:45
categories: - 分类1- 分类2
tags: - 标签1- 标签2
mp3: http://domain.com/awesome.mp3
cover: http://domain.com/awesome.jpg
---(文章正文)

若需要插入图片,需要先安装插入图片的插件,然后建立与文章同名的文件夹,使用markdown语法插入到文章中。(引自:【Hexo】hexo在文章中添加图片[6]

npm install hexo-asset-image --save

(6)网页生成

在完成开发后(或者在开发的过程中),使用hexo g生成静态网页,生成的网页会放置在public文件夹下。使用hexo s命令,可以在浏览器键入“localhost:4000”看到网站的效果。

hexo g
hexo s

四、上传云服务器

在自己的云服务器(我的机器是阿里云的轻量级云服务器,系统是CentOS 7.8)上同样需要安装node.js,同时还需要安装nginx,nginx的安装命令如下。

yum install -y nginx

安装完成后启动nginx,并设置开机自动启动。

systemctl start nginx
systemctl enable nginx

由于我的网页是静态网页,只需要在/etc/nginx路径下找到nginx.conf,在server_name后面加上自己的域名,在root 后面加上存放网页的路径,例如我的路径是“/home/www/website”,记得加分号。

上传云服务器可以使用Git一键上传,但是我太菜了,也没怎么用过Git,弄了一天都没有弄好,就用Xftp 6(WinSCP也可以)将public下的网页文件复制到“/home/www/website”中,完成了这一步,也就算完成了整个网站的搭建。

第一次使用框架,遇到的坑很多,很考验Linux和nginx的知识储备,对于我这种业余爱好者也充满挑战,对于整个开发的过程我感觉还有很大的提升空间,比如:

•认真读一遍Hexo文档;•认真学一遍Git和GitHub的操作,用更高级的方法上传服务端,提高文章编写和上传的效率。

写在后面

开发一个网站送给老婆,也作为爱情结晶过程的参照物,我感觉还是很有意义的,幸好老婆也喜欢。这篇文章仅仅作为一个开发思路的记述,由于时间有限也省略了很多细节,还请朋友们见谅。最后,抓住情人节的尾巴,也祝大家,有情人终成眷属~

References

[1] Hexo: https://hexo.io/zh-cn/
[2] Hexo文档: https://hexo.io/zh-cn/docs/index.html
[3] 建站流程: https://hexo.io/zh-cn/docs/setup
[4] Hexo 主题官网: https://hexo.io/themes/
[5] 网络: http://k.sina.com.cn/article_2769180072_pa50e55a802700chn9.html
[6] 【Hexo】hexo在文章中添加图片: https://blog.csdn.net/u010996565/article/details/89196612

情人节,那就给她做一个网站吧!相关推荐

  1. 网站建设多少钱(做一个网站需要多少钱)

    网站建设多少钱(做一个网站需要多少钱)企业网站建设一般需要多少钱?市场上一个企业网站建设费用在3500元到8000元之间,复杂一点的网站要价更高. 选择专业的网站建设公司,可以减低入坑概率. 企业网站 ...

  2. 目前市场上做一个网站大约需要多少钱?

    建站市场制作网站有两种类型可以选择:定制设计网站建设和模板网站建设,这两种建站类型价格相差很大,目前市场上做一个网站大约需要多少钱?我给大家说下大概的价格定制一个网站价格在8000元左右,直接通过上海 ...

  3. WINDOWS如何用自己的电脑做一个网站服务器

    WINDOWS如何用自己的电脑做一个网站服务器 当我们想做一个网站,流量不大,又不想借租服务器时. 这时我们可以用IIS做一个. 话不多说,直接进入主题. 首先你得把你的IIS开启,因为它不是默认开启 ...

  4. 做一个网站真的有那么难吗?

    现在这个互联网时代,什么都跟互联网挂钩,哪怕卖水果都开始用网店了(其实我也想卖水果%>_<%).下面就讲一下水果哥和水果妹的依托互联网+卖水果的故事. 背景介绍 话说再很久很久以前,有两个 ...

  5. 底层小程序员 练手做一个网站不小心赚了几十亿

    微信又改版了,为了方便第一时间看到我们的推送,请按照下列操作,设置"置顶":点击上方蓝色字体"程序员之家"-点击右上角"-"-点击" ...

  6. 如何用java做一个网站

    小学期实践项目要求做一个网站,苦于无从下手,在网上找到了学习教程.当然网上教程很多,下面给大家推荐一个学习网址: JAVA WEB 项目教程-模仿天猫整站 J2EE版本项目没有使用SSH,SSM框架, ...

  7. 你知道做一个网站要多少钱网站怎么运营能赚钱

    随着互联网的快速发展,现在有很多人通过互联网赚钱.有朋友就开始想了解,做一个网站要多少钱呢?据小编了解,网站的类型有很多种,不同类型的网站价格也是不一样的,下面小编就为大家介绍下做一个网站要多少钱. ...

  8. 做一个网站一般需要多少费用

    一般来说直接问一个网站多少钱是不准确的,一个网站的开发费用往往是由网站的内容决定,要实现的内容越多则需要的费用越多,要实现的内容越少则需要的价格就低.往往你问一个正规的网络公司你做一个网站需要多少费用 ...

  9. 做一个网站多少钱?建一个网站要多少钱?

    请问现在想做一个网站需要多少钱呢? 首先,请看看知名的大公司的报价: 万网:http://www.net.cn/static/ecompany/baojia.asp 中资源:http://www.zz ...

最新文章

  1. Topaz Video Enhance AI中文版
  2. 中国钢铁行业战略规划及项目建设动态分析报告2021-2027年
  3. python 任务计划_使用Python添加计划任务
  4. docker 返回错误信息与本地不一致_Docker基本配置及常用命令
  5. Spring SimpleJdbcTemplate查询示例
  6. Virtual Box Host-Only网络模式配置
  7. devstack mysql_devstack 安装openstack newton版
  8. EasyUI 的Tab 标签添加右键菜单
  9. Hive报错:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
  10. 你真的把数据库事务搞懂了吗,有图有真相,图文并茂!
  11. Idea修改项目的包名
  12. 数据库事务的特性及其实现原理
  13. 85人教版高中英语第一册第十一课 AT A TAILOR'S SHOP
  14. UNITY_iOS_接入微信登录及分享微信
  15. 嚣张:分库分表就能无限扩容吗?
  16. CVPR2021目标检测方向论文
  17. Unity Shaders and Effects Cookbook (7-2) Surface Shader 中实现 顶点动画
  18. 怎么在RHEL7上禁用transparent hugepages (THP)
  19. 架构道术-时间的力量有多大
  20. 微软Windows系统发展史

热门文章

  1. .swf格式Flash文件/课件 完美/清晰在IPAD上播放
  2. 行业逆风,燕之屋凭长期主义能飞多远?
  3. JAVA实训网络考试系统
  4. Python学习笔记(4)-字符串操作
  5. 『建议收藏』产品经理必懂专业名词一
  6. php正则匹配实验报告,php正则匹配的相关知识总结
  7. IOS 企业证书打包后 点击按钮 直接安装
  8. 西安交大软件考研915编程题总结
  9. 关于网页抓取信息 Jsoup 和 HttpUnit 的使用
  10. 公司想申请软著投标加分,没有源代码也可以申请