本站源码(gocms)下载和使用

gocms目标

暂时只是开发来自用,后期有空慢慢增加功能。根据名字都知道,是打算开发成一个内容管理平台,目前算是一个简单的博客。

特点

  • 前后端分离,方便扩展。
  • 集成七牛云存储
  • 使用markdown编辑文章
  • 支持文章下面添加章节

演示

后台效果:

后台界面.png

前台效果:

www.noxue.com

gocms源码

后台API

前端界面

后台界面

SEO处理工具

开发语言

后端接口

golang+mongodb,主要用到的库:gin,mgo

前台界面

vuejs, 界面并非原创,模仿 zetcode.com 很早就知道这个网站,一直很喜欢他简洁的风格,上面有很多教程,推荐给大家,不过全是英文的。

后台界面

采用 vue-admin-template 感谢作者为我们提供这么方便的后台管理界面。

seo处理

前台是vuejs开发的SPA应用,官方有SSR可以解决,不过看了一下要从一开始就使用,我也没深入学过vuejs,外加项目已经开发好了,所以考虑另辟蹊径。本质就是要搜索引擎获取到渲染后的html代码,这东西通过python很容易实现,毕竟做爬虫是python的强项,于是搜索一番搞定了。

1.用python写个接口,返回指定url渲染后的html代码。

2.nginx判断UA,如果是搜索引擎的蜘蛛,就转发到我们python的接口上获取渲染后的数据

流程

  1. 如果是正常用户请求,就直接返回前台界面,前台界面自动调用接口返回数据,渲染显示。
  2. 如果是搜索引擎,nginx转发到seo处理程序,处理程序模拟人去访问前台界面,把渲染后的html返回给搜索引擎

公开代码的意义

这是初学mongodb,第一次用go和mongodb做的作品,里面很多知识我想很多初学的朋友都会遇到,比如 给子文档添加元素,更新子元素,当初也搜了不少资料。所以这个项目也许可以对需要的朋友有一点帮助。 之所以不是说开源,是因为开源项目不仅有代码还要有配套的文档,所以只能算公开代码而已。