{"id":13680452,"url":"https://github.com/Ma63d/kov-blog","last_synced_at":"2025-04-29T23:31:39.380Z","repository":{"id":143942951,"uuid":"62717048","full_name":"Ma63d/kov-blog","owner":"Ma63d","description":"A blog platform built with koa,vue and mongoose. 使用 koa ,vue  和 mongo 搭建的博客页面和支持markdown语法的博客编写平台,自动保存草稿。博客地址:https://chuckliu.me ","archived":false,"fork":false,"pushed_at":"2017-11-30T04:02:56.000Z","size":857,"stargazers_count":632,"open_issues_count":4,"forks_count":103,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-04-05T07:05:57.117Z","etag":null,"topics":["highlight","koa","mongo","mongoose","simplemde","vue","vue-router","vuex","webpack"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ma63d.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-06T11:47:09.000Z","updated_at":"2025-01-19T09:32:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"96ea863b-a559-411a-b80b-fae4253a0914","html_url":"https://github.com/Ma63d/kov-blog","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ma63d%2Fkov-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ma63d%2Fkov-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ma63d%2Fkov-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ma63d%2Fkov-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ma63d","download_url":"https://codeload.github.com/Ma63d/kov-blog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251600174,"owners_count":21615655,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["highlight","koa","mongo","mongoose","simplemde","vue","vue-router","vuex","webpack"],"created_at":"2024-08-02T13:01:17.206Z","updated_at":"2025-04-29T23:31:34.370Z","avatar_url":"https://github.com/Ma63d.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","博客参考","Awesome Vue.js"],"sub_categories":["Projects Using Vue.js"],"readme":"# kov-blog\n[v2版本正在开发当中...](https://github.com/Ma63d/kov-blog/tree/v2)\n\n\u003e a blog platform built with vue, koa and mongo. 使用vue,koa和mongo搭建的博客页面和markdown语法的博客编写平台,自动保存草稿。\n\n博客预览地址:[https://chuckliu.me](https://chuckliu.me)\n![博客](http://oddbl4fim.bkt.clouddn.com/QQ20160926-1@2x.png)\n![后台](http://oddbl4fim.bkt.clouddn.com/QQ20160926-4.png)\n\n`kov-blog` 使用了`vue`、`vuex`、`koa`和`mongo`等框架和技术。前后端分离,restful架构。项目主要包含三个文件夹和项目：\n\n- server 后台 包含了所有的后台服务，为博客和博客管理提供后台接口\n- client 前端 博客的前端呈现，被`vue`洗脑严重，界面模仿了[vue官方博客](http://v1.vuejs.org/blog/)，评论系统用的是[多说](http://duoshuo.com/)(但是多说很不稳定...而且已经很久无人维护..)\n- admin  前端 博客管理平台的前端，功能上类似于带发布博客功能的印象笔记，markdown语法，预览和编写同步进行，带有自动保存功能，书写的文章只有在`发布`之后才会同步当前内容到博客client页面上，也完全可以当做一个笔记类应用去用，这样做的目的是出于有的时候在写文章a的时候,觉得某一部分的内容过于复杂,可以另外开一篇文章b来仔细讲解下,但是等我写完a就忘了,因为以往的博客cms比如hexo,wordpress之类都是直接发布的.而且这样做了之后博客也好用多了,我经常在码代码的时候遇到一些问题,这样可以直接打开博客后台,开一篇文章记录一下遇到的问题,但是不发布出去,提醒自己需要整理一篇相关内容的文章.以后一登这个管理系统就可以看到了这篇没有没有发布过的文章,就可以整理这篇文章,等到写完之后发布出去就可以了.\n\n**使用了许多es6新特性,请使用6.0以上版本的node!**\n\n**使用之前请先确保已经安装mongo!**\n\n**如果要使用评论系统,请先注册多说,修改/client/src/Blog.vue中的多说二级域名为您自己的多说二级域名**\n\n\n## server\n\n\n基于restful，nodejs的话采用koa框架(koa 1)，数据库用了mongo。登录这块的话用了[jwt](https://jwt.io/introduction/).\n\n生产环境下可在可在server/configs目录下增加private.js文件,增加私有配置.\n\n**因为使用了许多es6/7 新语法,所以请使用6.x版本node**\n\n### npm command\n\n```\n# install dependencies\nnpm install\n\n# 开发\n# 带热重载，跑在本地3000端口\nnpm run dev-server\n\n# 部署\nnpm run build-server\n\n\n```\n\n## client\n\n博客呈现页面，基于vue(1.0)，前后端通信用的[fetch](https://www.npmjs.com/package/whatwg-fetch)，评论系统用的是[多说](http://duoshuo.com/)，界面模仿了[vue博客](http://cn.vuejs.org/blog/)，大量使用了其[样式效果](https://github.com/vuejs/cn.vuejs.org)，还有很多要完善的地方。\n\n### 技术栈\n1.  [Vue](http://vuejs.org.cn) \u0026\u0026 [vue-router](https://github.com/vuejs/vue-router)\n3.  [fetch](https://www.npmjs.com/package/whatwg-fetch)\n4.  [stylus](http://stylus-lang.com/)\n5.  [marked](https://github.com/chjj/marked) \u0026\u0026 [highlight](https://github.com/isagalaev/highlight.js)\n\n### npm command\n\n```\n# install dependencies\nnpm install\n\n# 开发,跑在本地8080端口\nnpm run dev-client\n\n# 打包\nnpm run build-client\n\n\n```\n\n\n## admin\n\n**初始用户名:admin,初始密码:password**\n\n博客管理系统，也是前后端完全分离的。功能上类似于印象笔记，实时保存你的文章，当你觉得写好了之后可以`发布`文章，每次`发布`都会把文章同步更新到博客上，这样在client端就能看到。采用markdown语法，编辑器采用的是[SimpleMDE](https://github.com/NextStepWebs/simplemde-markdown-editor)，支持大量快捷键。\n\n快捷键 | Action\n:------- | :-----\n*Cmd-'* | \"toggleBlockquote\"\n*Cmd-B* | \"toggleBold\"\n*Cmd-E* | \"cleanBlock\"\n*Cmd-H* | \"toggleHeadingSmaller\"\n*Cmd-I* | \"toggleItalic\"\n*Cmd-K* | \"drawLink\"\n*Cmd-L* | \"toggleUnorderedList\"\n*Cmd-P* | \"togglePreview\"\n*Cmd-Alt-C* | \"toggleCodeBlock\"\n*Cmd-Alt-I* | \"drawImage\"\n*Cmd-Alt-L* | \"toggleOrderedList\"\n*Shift-Cmd-H* | \"toggleHeadingBigger\"\n*F9* | \"toggleSideBySide\"\n*F11* | \"toggleFullScreen\"\n\n### 技术栈\n1.  [Vue](http://vuejs.org.cn) \u0026\u0026 [vuex](https://github.com/vuejs/vuex) \u0026\u0026 [vue-router](https://github.com/vuejs/vue-router)\n3.  [fetch](https://www.npmjs.com/package/whatwg-fetch)\n4.  [stylus](http://stylus-lang.com/)\n5.  [SimpleMDE](https://github.com/NextStepWebs/simplemde-markdown-editor) \u0026\u0026 [marked](https://github.com/chjj/marked) \u0026\u0026 [highlight](https://github.com/isagalaev/highlight.js)\n\n### npm command\n\n```\n# install dependencies\nnpm install\n\n# 开发,跑在本地8081端口\nnpm run dev-admin\n\n# 打包\nnpm run build-admin\n\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMa63d%2Fkov-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMa63d%2Fkov-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMa63d%2Fkov-blog/lists"}