├── static ├── .gitkeep └── img │ └── banner.jpg ├── server ├── static │ ├── comment24.txt │ ├── comment3.txt │ ├── comment1.txt │ ├── comment10.txt │ ├── comment12.txt │ ├── comment14.txt │ ├── comment16.txt │ ├── comment18.txt │ ├── comment20.txt │ ├── comment22.txt │ ├── comment4.txt │ ├── comment6.txt │ ├── comment8.txt │ ├── comment23.txt │ ├── comment11.txt │ ├── comment13.txt │ ├── comment2.txt │ ├── comment5.txt │ ├── comment7.txt │ ├── comment9.txt │ ├── axis2.txt │ ├── comment15.txt │ ├── comment17.txt │ ├── comment19.txt │ ├── comment21.txt │ ├── logo.png │ ├── axis1.txt │ ├── banner.jpg │ ├── header.png │ ├── logo1.png │ ├── logo2.png │ ├── article1.txt │ └── article2.txt ├── api │ └── unicode.js ├── mysql │ └── connect.js ├── main.js └── route │ ├── index.js │ ├── axis.js │ ├── comment.js │ ├── postComment.js │ └── article.js ├── src ├── assets │ ├── scss │ │ ├── test.scss │ │ ├── index.scss │ │ ├── variable.scss │ │ └── reset.scss │ └── img │ │ ├── bar.png │ │ ├── me.png │ │ ├── qq.png │ │ ├── about.png │ │ ├── bar_2.png │ │ ├── chat.png │ │ ├── email.png │ │ ├── essay.png │ │ ├── me_2.png │ │ ├── qq_2.png │ │ ├── title.png │ │ ├── about_2.png │ │ ├── article.png │ │ ├── banner.jpg │ │ ├── burger.png │ │ ├── burger_2.png │ │ ├── email_2.png │ │ ├── essay_2.png │ │ ├── github.png │ │ ├── github_2.png │ │ ├── message.png │ │ ├── reprint.png │ │ ├── search.png │ │ ├── search_2.png │ │ ├── title_2.png │ │ ├── wechat.png │ │ ├── wechat_2.png │ │ ├── article_2.png │ │ ├── message_2.png │ │ └── reprint_2.png ├── components │ ├── content │ │ ├── about.vue │ │ ├── composition.vue │ │ ├── body.vue │ │ ├── axis.vue │ │ ├── comment.vue │ │ └── home.vue │ └── navigation │ │ ├── nav_right.vue │ │ └── nav_left.vue ├── main.js ├── router │ └── index.js └── App.vue ├── test.html ├── config ├── prod.env.js ├── dev.env.js └── index.js ├── .editorconfig ├── .gitignore ├── .postcssrc.js ├── .babelrc ├── README.md ├── index.html ├── package.json └── blog.sql /static/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /server/static/comment24.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/scss/test.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /server/static/comment3.txt: -------------------------------------------------------------------------------- 1 | 2222222 -------------------------------------------------------------------------------- /server/static/comment1.txt: -------------------------------------------------------------------------------- 1 | undefined -------------------------------------------------------------------------------- /server/static/comment10.txt: -------------------------------------------------------------------------------- 1 | undefined -------------------------------------------------------------------------------- /server/static/comment12.txt: -------------------------------------------------------------------------------- 1 | undefined -------------------------------------------------------------------------------- /server/static/comment14.txt: -------------------------------------------------------------------------------- 1 | undefined -------------------------------------------------------------------------------- /server/static/comment16.txt: -------------------------------------------------------------------------------- 1 | undefined -------------------------------------------------------------------------------- /server/static/comment18.txt: -------------------------------------------------------------------------------- 1 | undefined -------------------------------------------------------------------------------- /server/static/comment20.txt: -------------------------------------------------------------------------------- 1 | undefined -------------------------------------------------------------------------------- /server/static/comment22.txt: -------------------------------------------------------------------------------- 1 | undefined -------------------------------------------------------------------------------- /server/static/comment4.txt: -------------------------------------------------------------------------------- 1 | undefined -------------------------------------------------------------------------------- /server/static/comment6.txt: -------------------------------------------------------------------------------- 1 | undefined -------------------------------------------------------------------------------- /server/static/comment8.txt: -------------------------------------------------------------------------------- 1 | undefined -------------------------------------------------------------------------------- /server/static/comment23.txt: -------------------------------------------------------------------------------- 1 | wwwwwwwwwwww -------------------------------------------------------------------------------- /server/static/comment11.txt: -------------------------------------------------------------------------------- 1 | 🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮 -------------------------------------------------------------------------------- /server/static/comment13.txt: -------------------------------------------------------------------------------- 1 | 🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮 -------------------------------------------------------------------------------- /server/static/comment2.txt: -------------------------------------------------------------------------------- 1 | 这里是第一条评论!!哈哈哈 2 | 快点来呀!! -------------------------------------------------------------------------------- /server/static/comment5.txt: -------------------------------------------------------------------------------- 1 | 🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮 -------------------------------------------------------------------------------- /server/static/comment7.txt: -------------------------------------------------------------------------------- 1 | 🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮 -------------------------------------------------------------------------------- /server/static/comment9.txt: -------------------------------------------------------------------------------- 1 | 🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮 -------------------------------------------------------------------------------- /test.html: -------------------------------------------------------------------------------- 1 |

个人空间

2 |

湘ICP备16020387号-1

3 | -------------------------------------------------------------------------------- /server/static/axis2.txt: -------------------------------------------------------------------------------- 1 | 有第一篇那就肯定有第二篇,然后呢中秋快乐中秋快乐中秋快乐中秋快乐中秋快乐 -------------------------------------------------------------------------------- /server/static/comment15.txt: -------------------------------------------------------------------------------- 1 | 🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮 2 | ❄❄❄❄❄❄❄❄❄ -------------------------------------------------------------------------------- /server/static/comment17.txt: -------------------------------------------------------------------------------- 1 | 🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮 2 | ❄❄❄❄❄❄❄❄❄ -------------------------------------------------------------------------------- /server/static/comment19.txt: -------------------------------------------------------------------------------- 1 | 🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮 2 | ❄❄❄❄❄❄❄❄❄ -------------------------------------------------------------------------------- /server/static/comment21.txt: -------------------------------------------------------------------------------- 1 | 🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮 2 | ❄❄❄❄❄❄❄❄❄ -------------------------------------------------------------------------------- /src/assets/scss/index.scss: -------------------------------------------------------------------------------- 1 | @import 'reset'; 2 | @import 'variable'; 3 | -------------------------------------------------------------------------------- /config/prod.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | NODE_ENV: '"production"' 3 | } 4 | -------------------------------------------------------------------------------- /server/static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/server/static/logo.png -------------------------------------------------------------------------------- /src/assets/img/bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/bar.png -------------------------------------------------------------------------------- /src/assets/img/me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/me.png -------------------------------------------------------------------------------- /src/assets/img/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/qq.png -------------------------------------------------------------------------------- /static/img/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/static/img/banner.jpg -------------------------------------------------------------------------------- /server/static/axis1.txt: -------------------------------------------------------------------------------- 1 | 这里是谢大帅哥的第一篇随笔,就随便谢谢吧这里是谢大帅哥的第一篇随笔,就随便谢谢吧这里是谢大帅哥的第一篇随笔,就随便谢谢吧这里是谢大帅哥的第一篇随笔,就随便谢谢吧 -------------------------------------------------------------------------------- /server/static/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/server/static/banner.jpg -------------------------------------------------------------------------------- /server/static/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/server/static/header.png -------------------------------------------------------------------------------- /server/static/logo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/server/static/logo1.png -------------------------------------------------------------------------------- /server/static/logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/server/static/logo2.png -------------------------------------------------------------------------------- /src/assets/img/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/about.png -------------------------------------------------------------------------------- /src/assets/img/bar_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/bar_2.png -------------------------------------------------------------------------------- /src/assets/img/chat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/chat.png -------------------------------------------------------------------------------- /src/assets/img/email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/email.png -------------------------------------------------------------------------------- /src/assets/img/essay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/essay.png -------------------------------------------------------------------------------- /src/assets/img/me_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/me_2.png -------------------------------------------------------------------------------- /src/assets/img/qq_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/qq_2.png -------------------------------------------------------------------------------- /src/assets/img/title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/title.png -------------------------------------------------------------------------------- /src/assets/img/about_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/about_2.png -------------------------------------------------------------------------------- /src/assets/img/article.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/article.png -------------------------------------------------------------------------------- /src/assets/img/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/banner.jpg -------------------------------------------------------------------------------- /src/assets/img/burger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/burger.png -------------------------------------------------------------------------------- /src/assets/img/burger_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/burger_2.png -------------------------------------------------------------------------------- /src/assets/img/email_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/email_2.png -------------------------------------------------------------------------------- /src/assets/img/essay_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/essay_2.png -------------------------------------------------------------------------------- /src/assets/img/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/github.png -------------------------------------------------------------------------------- /src/assets/img/github_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/github_2.png -------------------------------------------------------------------------------- /src/assets/img/message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/message.png -------------------------------------------------------------------------------- /src/assets/img/reprint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/reprint.png -------------------------------------------------------------------------------- /src/assets/img/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/search.png -------------------------------------------------------------------------------- /src/assets/img/search_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/search_2.png -------------------------------------------------------------------------------- /src/assets/img/title_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/title_2.png -------------------------------------------------------------------------------- /src/assets/img/wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/wechat.png -------------------------------------------------------------------------------- /src/assets/img/wechat_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/wechat_2.png -------------------------------------------------------------------------------- /src/assets/img/article_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/article_2.png -------------------------------------------------------------------------------- /src/assets/img/message_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/message_2.png -------------------------------------------------------------------------------- /src/assets/img/reprint_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WindStormrage/blog/HEAD/src/assets/img/reprint_2.png -------------------------------------------------------------------------------- /config/dev.env.js: -------------------------------------------------------------------------------- 1 | var merge = require('webpack-merge') 2 | var prodEnv = require('./prod.env') 3 | 4 | module.exports = merge(prodEnv, { 5 | NODE_ENV: '"development"' 6 | }) 7 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | dist/ 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Editor directories and files 9 | .idea 10 | *.suo 11 | *.ntvs* 12 | *.njsproj 13 | *.sln 14 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | // to edit target browsers: use "browserslist" field in package.json 6 | "autoprefixer": {} 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/components/content/about.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 13 | 20 | -------------------------------------------------------------------------------- /server/api/unicode.js: -------------------------------------------------------------------------------- 1 | exports.toUnicode = function (str) { 2 | var res = []; 3 | for ( var i=0; i 1%", "last 2 versions", "not ie <= 8"] 7 | } 8 | }], 9 | "stage-2" 10 | ], 11 | "plugins": ["transform-runtime"], 12 | "env": { 13 | "test": { 14 | "presets": ["env", "stage-2"], 15 | "plugins": ["istanbul"] 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /server/static/article1.txt: -------------------------------------------------------------------------------- 1 | 2 | ##hello, markdown! 3 | 文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容 4 | ```javascript 5 | var converter = new showdown.Converter(); 6 | var text= \'#hello, markdown!\'; 7 | var html= converter.makeHtml(text); 8 | ``` 9 | ![666](http://static.mukewang.com/img/58341b88000176ce06000338-240-180.jpg) 10 | ```html 11 |
12 |

1月活动

13 |

快过年了,大家可以商量着去哪玩吧~

14 |
15 | ``` -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | // The Vue build version to load with the `import` command 2 | // (runtime-only or standalone) has been set in webpack.base.conf with an alias. 3 | import Vue from 'vue' 4 | import App from './App' 5 | import router from './router' 6 | import axios from 'axios' 7 | import VueAxios from 'vue-axios' 8 | Vue.use(VueAxios, axios); 9 | 10 | Vue.config.productionTip = false; 11 | 12 | /* eslint-disable no-new */ 13 | new Vue({ 14 | el: '#app', 15 | router, 16 | template: '', 17 | components: { App }, 18 | data: { 19 | Bus: new Vue() 20 | } 21 | }); 22 | -------------------------------------------------------------------------------- /server/mysql/connect.js: -------------------------------------------------------------------------------- 1 | var mysql = require('mysql'); 2 | 3 | exports.connect = function(sql, callback) { 4 | var connection = mysql.createConnection({ 5 | host : 'localhost', 6 | user : 'root', 7 | password : '', 8 | database : 'testblog', 9 | port : '3306', 10 | charset : 'UTF8_GENERAL_CI', 11 | typeCast: false, 12 | }); 13 | connection.connect(); 14 | console.log('connect database is success'); 15 | connection.query(sql, function (error, results) { 16 | if(error){ 17 | console.log('[SELECT ERROR] - ',error.message); 18 | return; 19 | } 20 | callback(results); 21 | }); 22 | connection.end(); 23 | console.log('end database is success'); 24 | } 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # blog 2 | 3 | > A Vue.js project 4 | 5 | ## Build Setup 6 | 7 | ``` bash 8 | # install dependencies 9 | npm install 10 | 11 | # serve with hot reload at localhost:8080 12 | npm run dev 13 | 14 | # build for production with minification 15 | npm run build 16 | 17 | # build for production and view the bundle analyzer report 18 | npm run build --report 19 | ``` 20 | 21 | For detailed explanation on how things work, checkout the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). 22 | 23 | 演示地址:http://www.xiedashuaige.cn/bolg2.0/#/home 24 | 25 | 26 | # 现在服务器到期后就没有续费了,博客也就没有了,最近把博客迁移到了github上 27 | https://github.com/WindStormrage/WindStormrage.github.io 28 | 博客地址是 29 | WindStormrage.github.io 30 | 31 | 然后后台的数据库导出成了sql文件在blog.sql里面,可以直接运行建立相应的表 32 | -------------------------------------------------------------------------------- /server/main.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var app = express(); 3 | 4 | var bodyParser = require('body-parser'); 5 | app.use(bodyParser.json()); 6 | app.use(bodyParser.urlencoded({extended: true})); 7 | 8 | //mysql-test 9 | // var mysql = require('./mysql/connect'); 10 | // mysql.connect('SELECT * FROM conf',function (results) { 11 | // console.log(results); 12 | // }); 13 | // var conf = require('./mysql/conf'); 14 | // conf.data(); 15 | 16 | 17 | //route 18 | var index = require('./route/index'); 19 | var article = require('./route/article'); 20 | var axis = require('./route/axis'); 21 | var comment = require('./route/comment'); 22 | var postComment = require('./route/postComment'); 23 | 24 | app.use('/', index); 25 | app.use('/', article); 26 | app.use('/', axis); 27 | app.use('/', comment); 28 | app.use('/', postComment); 29 | 30 | //设置静态文件目录 31 | app.use(express.static('static')); 32 | 33 | var server = app.listen(3000); 34 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | blog 7 | 16 | 17 | 30 | 31 | 32 |
33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /server/route/index.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | var mysql = require('./../mysql/connect'); 4 | var unicode = require('./../api/unicode'); 5 | 6 | 7 | 8 | router.get('/index', function (req, res) { 9 | //允许跨域 10 | res.header("Access-Control-Allow-Origin", "*"); 11 | res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); 12 | res.header("Access-Control-Allow-Headers", "X-Requested-With"); 13 | res.header('Access-Control-Allow-Headers', 'Content-Type'); 14 | 15 | var data = {}; 16 | 17 | mysql.connect('SELECT * FROM conf',function (results) { 18 | data.header = "http://localhost:3000/"+unicode.toWord(results[0].header); 19 | data.banner = "http://localhost:3000/"+unicode.toWord(results[0].banner); 20 | data.logo = "http://localhost:3000/"+unicode.toWord(results[0].logo); 21 | data.name = unicode.toWord(results[0].name); 22 | data.msg = unicode.toWord(results[0].msg); 23 | res.send(data); 24 | }); 25 | 26 | }); 27 | 28 | module.exports = router; 29 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Router from 'vue-router' 3 | import composition from 'components/content/composition.vue'; 4 | import axis from 'components/content/axis.vue'; 5 | import comment from 'components/content/comment.vue'; 6 | import about from 'components/content/about.vue'; 7 | import home from 'components/content/home.vue'; 8 | 9 | Vue.use(Router); 10 | 11 | export default new Router({ 12 | routes: [ 13 | { 14 | path: '/', 15 | redirect: '/home' 16 | }, 17 | { 18 | path: '/home', 19 | name: 'home', 20 | component: home 21 | }, 22 | { 23 | path: '/composition/:nav/:id', 24 | name: 'composition', 25 | component: composition 26 | }, 27 | { 28 | path: '/axis', 29 | name: 'axis', 30 | component: axis 31 | }, 32 | { 33 | path: '/comment', 34 | name: 'comment', 35 | component: comment 36 | }, 37 | { 38 | path: '/about', 39 | name: 'about', 40 | component: about 41 | } 42 | ] 43 | }) 44 | -------------------------------------------------------------------------------- /server/static/article2.txt: -------------------------------------------------------------------------------- 1 | ![mahua](http://mahua.jser.me/mahua-logo.jpg) 2 | ##MaHua是什么? 3 | 一个在线编辑markdown文档的编辑器 4 | 5 | 向Mac下优秀的markdown编辑器mou致敬 6 | 7 | ##MaHua有哪些功能? 8 | 9 | * 方便的`导入导出`功能 10 | * 直接把一个markdown的文本文件拖放到当前这个页面就可以了 11 | * 导出为一个html格式的文件,样式一点也不会丢失 12 | * 编辑和预览`同步滚动`,所见即所得(右上角设置) 13 | * `VIM快捷键`支持,方便vim党们快速的操作 (右上角设置) 14 | * 强大的`自定义CSS`功能,方便定制自己的展示 15 | * 有数量也有质量的`主题`,编辑器和预览区域 16 | * 完美兼容`Github`的markdown语法 17 | * 预览区域`代码高亮` 18 | * 所有选项自动记忆 19 | 20 | ##有问题反馈 21 | 在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流 22 | 23 | * 邮件(dev.hubo#gmail.com, 把#换成@) 24 | * QQ: 287759234 25 | * weibo: [@草依山](http://weibo.com/ihubo) 26 | * twitter: [@ihubo](http://twitter.com/ihubo) 27 | 28 | ##捐助开发者 29 | 在兴趣的驱动下,写一个`免费`的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 30 | 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。 31 | 32 | ##感激 33 | 感谢以下的项目,排名不分先后 34 | 35 | * [mou](http://mouapp.com/) 36 | * [ace](http://ace.ajax.org/) 37 | * [jquery](http://jquery.com) 38 | 39 | ##关于作者 40 | 41 | ```javascript 42 | var ihubo = { 43 | nickName : "草依山", 44 | site : "http://jser.me" 45 | } 46 | ``` -------------------------------------------------------------------------------- /server/route/axis.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | var mysql = require('./../mysql/connect'); 4 | var unicode = require('./../api/unicode'); 5 | var fs = require('fs'); 6 | 7 | 8 | 9 | router.get('/axis', function (req, res) { 10 | //允许跨域 11 | res.header("Access-Control-Allow-Origin", "*"); 12 | res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); 13 | res.header("Access-Control-Allow-Headers", "X-Requested-With"); 14 | res.header('Access-Control-Allow-Headers', 'Content-Type'); 15 | 16 | var data = {}; 17 | var data1 = []; 18 | 19 | mysql.connect('SELECT * FROM axis',function (results) { 20 | for(var i = 0; i < results.length; i++){ 21 | data = {}; 22 | if(results[i].delete == 1){ 23 | continue; 24 | } 25 | data.id = results[i].id; 26 | data.title = unicode.toWord(results[i].title); 27 | data.time = results[i].time; 28 | data.content = fs.readFileSync('./static/'+results[i].content, 'utf8'); 29 | data1.push(data); 30 | } 31 | res.send(data1); 32 | }); 33 | 34 | 35 | }); 36 | 37 | module.exports = router; 38 | -------------------------------------------------------------------------------- /server/route/comment.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | var mysql = require('./../mysql/connect'); 4 | var unicode = require('./../api/unicode'); 5 | var fs = require('fs'); 6 | 7 | 8 | 9 | 10 | 11 | router.get('/comment', function (req, res) { 12 | //允许跨域 13 | res.header("Access-Control-Allow-Origin", "*"); 14 | res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); 15 | res.header("Access-Control-Allow-Headers", "X-Requested-With"); 16 | res.header('Access-Control-Allow-Headers', 'Content-Type'); 17 | var data = {}; 18 | var data1 = []; 19 | mysql.connect('SELECT * FROM comment',function (results) { 20 | for(var i = 0; i < results.length; i++){ 21 | data = {}; 22 | if(results[i].delete == 1){ 23 | continue; 24 | } 25 | data.id = results[i].id; 26 | data.name = unicode.toWord(results[i].name); 27 | data.time = results[i].time; 28 | data.content = fs.readFileSync('./static/'+results[i].content, 'utf8'); 29 | data1.push(data); 30 | } 31 | 32 | res.send(data1); 33 | }); 34 | 35 | 36 | }); 37 | 38 | module.exports = router; 39 | -------------------------------------------------------------------------------- /config/index.js: -------------------------------------------------------------------------------- 1 | // see http://vuejs-templates.github.io/webpack for documentation. 2 | var path = require('path') 3 | 4 | module.exports = { 5 | build: { 6 | env: require('./prod.env'), 7 | index: path.resolve(__dirname, '../dist/index.html'), 8 | assetsRoot: path.resolve(__dirname, '../dist'), 9 | assetsSubDirectory: 'static', 10 | assetsPublicPath: './', 11 | productionSourceMap: true, 12 | // Gzip off by default as many popular static hosts such as 13 | // Surge or Netlify already gzip all static assets for you. 14 | // Before setting to `true`, make sure to: 15 | // npm install --save-dev compression-webpack-plugin 16 | productionGzip: false, 17 | productionGzipExtensions: ['js', 'css'], 18 | // Run the build command with an extra argument to 19 | // View the bundle analyzer report after build finishes: 20 | // `npm run build --report` 21 | // Set to `true` or `false` to always turn it on or off 22 | bundleAnalyzerReport: process.env.npm_config_report 23 | }, 24 | dev: { 25 | env: require('./dev.env'), 26 | port: 8080, 27 | autoOpenBrowser: true, 28 | assetsSubDirectory: 'static', 29 | assetsPublicPath: '/', 30 | proxyTable: {}, 31 | // CSS Sourcemaps off by default because relative paths are "buggy" 32 | // with this option, according to the CSS-Loader README 33 | // (https://github.com/webpack/css-loader#sourcemaps) 34 | // In our experience, they generally work as expected, 35 | // just be aware of this issue when enabling this option. 36 | cssSourceMap: false 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /server/route/postComment.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | var mysql = require('./../mysql/connect'); 4 | var unicode = require('./../api/unicode'); 5 | var fs = require('fs'); 6 | 7 | 8 | function add(data) { 9 | if(Number(data) < 10){ 10 | return "0"+String(data) 11 | } 12 | return String(data) 13 | } 14 | 15 | router.all('/postComment', function (req, res) { 16 | //允许跨域 17 | res.header("Access-Control-Allow-Origin", "*"); 18 | res.header('Access-Control-Allow-Methods', 'POST'); 19 | res.header('Access-Control-Allow-Credentials', 'true'); 20 | res.header("Access-Control-Allow-Headers", "X-Requested-With"); 21 | res.header('Access-Control-Allow-Headers', 'Content-Type'); 22 | console.log(req.body); 23 | 24 | //获取当前时间 25 | var mydate = new Date(); 26 | var moon = Number(mydate.getMonth())+1; 27 | var time = mydate.getFullYear()+'-'+add(moon)+'-'+add(mydate.getDate())+' '+add(mydate.getHours())+':'+add(mydate.getMinutes())+':'+add(mydate.getSeconds()); 28 | 29 | //先找到当前最后一个 30 | var lastId; 31 | var id; 32 | mysql.connect('SELECT * FROM comment',function (results) { 33 | lastId = results.length === 0 ? 0 : results[results.length-1].id; 34 | lastId = lastId.toString(); 35 | id = Number(lastId)+1; 36 | 37 | 38 | fs.writeFile('./static/comment'+id+'.txt', req.body.content,function (err) { 39 | console.log("err: " + err); 40 | }); 41 | 42 | var del = 0; 43 | if(req.body.name == undefined) del = 1; 44 | var name = req.body.name; 45 | name = unicode.toUnicode(String(name)); 46 | var content = 'comment'+id+'.txt'; 47 | mysql.connect("insert into comment values('"+id+"','"+name+"','"+time+"','"+content+"','"+del+"')",function(results){ 48 | //mysql.connect("insert into comment values('10','qq','qq','qq','0')",function(results){ 49 | res.send('66666666'); 50 | }); 51 | }); 52 | }); 53 | 54 | module.exports = router; 55 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "blog", 3 | "version": "1.0.0", 4 | "description": "A Vue.js project", 5 | "author": "xhy <695729033@qq.com>", 6 | "private": true, 7 | "scripts": { 8 | "dev": "node build/dev-server.js", 9 | "start": "node build/dev-server.js", 10 | "build": "node build/build.js" 11 | }, 12 | "dependencies": { 13 | "mysql": "^2.14.1", 14 | "axios": "^0.16.2", 15 | "express": "^4.15.5", 16 | "vue": "^2.3.3", 17 | "vue-axios": "^2.0.2", 18 | "vue-router": "^2.6.0" 19 | }, 20 | "devDependencies": { 21 | "autoprefixer": "^7.1.2", 22 | "babel-core": "^6.22.1", 23 | "babel-loader": "^7.1.1", 24 | "babel-plugin-transform-runtime": "^6.22.0", 25 | "babel-preset-env": "^1.3.2", 26 | "babel-preset-stage-2": "^6.22.0", 27 | "babel-register": "^6.22.0", 28 | "chalk": "^2.0.1", 29 | "connect-history-api-fallback": "^1.3.0", 30 | "copy-webpack-plugin": "^4.0.1", 31 | "css-loader": "^0.28.0", 32 | "cssnano": "^3.10.0", 33 | "eventsource-polyfill": "^0.9.6", 34 | "express": "^4.14.1", 35 | "extract-text-webpack-plugin": "^2.0.0", 36 | "file-loader": "^0.11.1", 37 | "friendly-errors-webpack-plugin": "^1.1.3", 38 | "html-webpack-plugin": "^2.28.0", 39 | "http-proxy-middleware": "^0.17.3", 40 | "webpack-bundle-analyzer": "^2.2.1", 41 | "semver": "^5.3.0", 42 | "shelljs": "^0.7.6", 43 | "opn": "^5.1.0", 44 | "optimize-css-assets-webpack-plugin": "^2.0.0", 45 | "ora": "^1.2.0", 46 | "rimraf": "^2.6.0", 47 | "url-loader": "^0.5.8", 48 | "vue-loader": "^12.1.0", 49 | "vue-style-loader": "^3.0.1", 50 | "vue-template-compiler": "^2.3.3", 51 | "webpack": "^2.6.1", 52 | "webpack-dev-middleware": "^1.10.0", 53 | "webpack-hot-middleware": "^2.18.0", 54 | "webpack-merge": "^4.1.0", 55 | "node-sass": "^4.5.3", 56 | "sass-loader": "^6.0.6" 57 | }, 58 | "engines": { 59 | "node": ">= 4.0.0", 60 | "npm": ">= 3.0.0" 61 | }, 62 | "browserslist": [ 63 | "> 1%", 64 | "last 2 versions", 65 | "not ie <= 8" 66 | ] 67 | } 68 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 50 | 51 | 100 | -------------------------------------------------------------------------------- /src/components/content/composition.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 53 | 54 | 55 | 56 | 57 | 98 | 99 | 102 | -------------------------------------------------------------------------------- /src/assets/scss/variable.scss: -------------------------------------------------------------------------------- 1 | $nav-lift-bg: #F2F2F2;//左边导航的背景颜色 2 | $head: #3B99EA;//头像的背景颜色 3 | $nav-hover: #A8A8A8;//左边导航hover的颜色 4 | $nav-action: #74B5EC;//左侧导航选中背景颜色 5 | $nav-right-bg: #74B5EC;//右边导航的背景颜色 6 | $content-bg: #EDEEF0;//右边内容的背景颜色 7 | $content-tab: #2A80F2;//手机屏幕上面导航条背景颜色 8 | 9 | $home-card: #C7DBEE;//首页的卡片的背景颜色 10 | 11 | $axis-card: #74B3EB;//随笔的卡片背景颜色 12 | $axis-tab: #0066ff;//随笔的小圆点背景颜色 13 | $axis-line: #74B3EB;//随笔的轴的颜色 14 | 15 | $comment-hr: #737373;//评论hr的颜色 16 | $comment-all: #3B99EA;//评论的色调 17 | 18 | //黄金分割率 19 | $gold: 0.618; 20 | 21 | //左边导航的宽度 22 | $nav-left: (1-$gold)*(1-$gold)*100%; 23 | 24 | //右边导航的宽度 25 | $nav-right: (1-$gold)*$gold*100%; 26 | $nav-right-s: $gold*100%; 27 | 28 | //内容的宽度 29 | $content-l: (1-(1-$gold)*(1-$gold))*100%; 30 | $content-s: (1-(1-$gold)*(1-$gold)-(1-$gold)*$gold)*100%; 31 | 32 | //动画 33 | @mixin animation ($name) { 34 | -ms-animation-name:$name; 35 | -moz-animation-name:$name; 36 | -webkit-animation-name:$name; 37 | -o-animation-name:$name; 38 | animation-name:$name; 39 | -ms-animation-duration:1s; 40 | -moz-animation-duration:1s; 41 | -webkit-animation-duration:1s; 42 | -o-animation-duration:1s; 43 | animation-duration:1s; 44 | -ms-animation-timing-function:ease; 45 | -moz-animation-timing-function:ease; 46 | -webkit-animation-timing-function:ease; 47 | -o-animation-timing-function:ease; 48 | animation-timing-function:ease; 49 | -ms-animation-fill-mode:forwards; 50 | -moz-animation-fill-mode:forwards; 51 | -webkit-animation-fill-mode:forwards; 52 | -o-animation-fill-mode:forwards; 53 | animation-fill-mode:forwards; 54 | } 55 | 56 | //边框不占大小 57 | @mixin border(){ 58 | box-sizing:border-box; 59 | -moz-box-sizing:border-box; /* Firefox */ 60 | -webkit-box-sizing:border-box; /* Safari */ 61 | } 62 | 63 | //滑动条 导航的 64 | @mixin slider () { 65 | &::-webkit-scrollbar { 66 | width: 0; 67 | }/* 滚动条的滑轨宽度 */ 68 | &::-webkit-scrollbar-track { 69 | background-color: #74B5EC; 70 | } /* 滚动条的滑轨背景颜色 */ 71 | &::-webkit-scrollbar-thumb { 72 | background-color: #2B2A39; 73 | } /* 滑块颜色 */ 74 | &::-webkit-scrollbar-button { 75 | background-color: #F2F2F2; 76 | } /* 滑轨两头的监听按钮颜色 */ 77 | &::-webkit-scrollbar-corner { 78 | background-color: transparent; 79 | } /* 横向滚动条和纵向滚动条相交处尖角的颜色 */ 80 | } 81 | //滑动条 内容的 82 | @mixin slider2 () { 83 | &::-webkit-scrollbar { 84 | width: 0; 85 | }/* 滚动条的滑轨宽度 */ 86 | &::-webkit-scrollbar-track { 87 | background-color: #EDEEF0; 88 | } /* 滚动条的滑轨背景颜色 */ 89 | &::-webkit-scrollbar-thumb { 90 | background-color: #A1C9ED; 91 | } /* 滑块颜色 */ 92 | &::-webkit-scrollbar-button { 93 | background-color: #F2F2F2; 94 | } /* 滑轨两头的监听按钮颜色 */ 95 | &::-webkit-scrollbar-corner { 96 | background-color: transparent; 97 | } /* 横向滚动条和纵向滚动条相交处尖角的颜色 */ 98 | } 99 | 100 | -------------------------------------------------------------------------------- /server/route/article.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | var mysql = require('./../mysql/connect'); 4 | var unicode = require('./../api/unicode'); 5 | var fs = require('fs'); 6 | 7 | 8 | 9 | router.get('/article', function (req, res) { 10 | //允许跨域 11 | res.header("Access-Control-Allow-Origin", "*"); 12 | res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); 13 | res.header("Access-Control-Allow-Headers", "X-Requested-With"); 14 | res.header('Access-Control-Allow-Headers', 'Content-Type'); 15 | 16 | var data = {}; 17 | var data1 = [];//自己文章 18 | var data2 = [];//别人文字 19 | var data3 = [];//首页展示 20 | 21 | mysql.connect('SELECT * FROM article',function (results) { 22 | var type1=-1, type2=-1;//每一种类型当前的数量 23 | for(var i = 0; i < results.length; i++){ 24 | data = {}; 25 | if(results[i].delete == 1){ 26 | continue; 27 | } 28 | if(results[i].type == 1){ 29 | data.id = results[i].id; 30 | data.title = unicode.toWord(results[i].title); 31 | data.date = results[i].date; 32 | data.name = unicode.toWord(results[i].name); 33 | data.ps = unicode.toWord(results[i].ps); 34 | data.text = fs.readFileSync('./static/'+results[i].text, 'utf8'); 35 | data.reading = results[i].reading; 36 | data.agree = results[i].agree; 37 | data.delete = results[i].delete; 38 | data.exhibition = results[i].exhibition; 39 | data.type = results[i].type; 40 | type1++; 41 | data1.push(data); 42 | } 43 | if(results[i].type == 2){ 44 | data.id = results[i].id; 45 | data.title = unicode.toWord(results[i].title); 46 | data.date = results[i].date; 47 | data.name = unicode.toWord(results[i].name); 48 | data.ps = unicode.toWord(results[i].ps); 49 | data.text = fs.readFileSync('./static/'+results[i].text, 'utf8'); 50 | data.reading = results[i].reading; 51 | data.agree = results[i].agree; 52 | data.delete = results[i].delete; 53 | data.exhibition = results[i].exhibition; 54 | data.type = results[i].type; 55 | type2++; 56 | data2.push(data); 57 | } 58 | if(results[i].exhibition == 1){ 59 | if(data.type == 1){ 60 | data.typeId = type1; 61 | data.type = 1; 62 | }else if(data.type == 2){ 63 | data.typeId = type2; 64 | data.type = 2; 65 | } 66 | data3.push(data); 67 | } 68 | } 69 | 70 | 71 | 72 | if (req.query.id == 1){ 73 | res.send(data1); 74 | } 75 | if (req.query.id == 2){ 76 | res.send(data2); 77 | } 78 | if (req.query.id == 3){ 79 | res.send(data3); 80 | } 81 | 82 | 83 | }); 84 | 85 | //console.log(data1); 86 | //console.log(data2); 87 | }); 88 | 89 | module.exports = router; 90 | -------------------------------------------------------------------------------- /src/components/content/body.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 76 | 77 | 110 | -------------------------------------------------------------------------------- /src/components/content/axis.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 40 | 41 | 116 | -------------------------------------------------------------------------------- /src/assets/scss/reset.scss: -------------------------------------------------------------------------------- 1 | // Setting parameters by fungleo 2 | 3 | $WinWitdh:1200px; 4 | $BaseC:#555; 5 | $LinkC:#06f; 6 | $HoverC:#f60; 7 | $FontSize:13px; 8 | 9 | 10 | 11 | // mixins 12 | 13 | @mixin dz($time:0.25s){ 14 | -webkit-transition: all $time ease-in-out; 15 | -moz-transition: all $time ease-in-out; 16 | -o-transition: all $time ease-in-out; 17 | transition: all $time ease-in-out; 18 | } 19 | // reset by fungleo date 2015.08.27 20 | 21 | @charset "UTF-8"; 22 | 23 | 24 | body,ul,ol,dl,dd,h1,h2,h3,h4,h5,h6,pre,form,fieldset,legend,input,button,textarea,p,blockquote,table,th,td,menu{margin:0;padding:0} 25 | table{border-collapse:collapse;border-spacing:0;table-layout:fixed} 26 | ul,ol,menu{list-style:none} 27 | fieldset,img{border:none} 28 | img,object,select,input,textarea,button{vertical-align:middle} 29 | input,textarea,select,address,caption,cite,code,dfn,em,i,b,strong,small,th,var,abbr{font-size:100%;font-style:normal} 30 | caption,th {text-align: left;} 31 | article,aside,footer,header,hgroup,nav,section,figure,figcaption {display: block;} 32 | code, kbd, pre, samp, tt { font-family: Consolas,"Courier New", Courier, monospace;} 33 | address, cite, dfn, em, var,i {font-style: normal;} 34 | blockquote, q {quotes: none;} 35 | blockquote:before, blockquote:after,q:before, q:after {content:"";content: none;} 36 | a { 37 | color:$LinkC; text-decoration:none;cursor: pointer; 38 | &:link,&:visited, &:active{color: $LinkC;} 39 | &:hover, &:focus {color:$HoverC; text-decoration:underline;outline:none;} 40 | &,span,i,em,u,strong,b,p,img,ul,li,div,dd,dt,dl,ol,table,th,td,h1,h2,h3,h4,h5,h6,input,textarea,button,small,select { 41 | cursor: pointer; @include dz;} 42 | } 43 | 44 | 45 | abbr[title], acronym[title] {border-bottom: 1px dotted;cursor: help;} 46 | 47 | // base by fungleo 48 | 49 | html {min-width:$WinWitdh;overflow-y: scroll;} 50 | body {font-size: $FontSize;color: $BaseC;line-height: 2;} 51 | body,button, input, select, textarea {font-family:tahoma,Helvetica, Arial,"\5FAE\8F6F\96C5\9ED1";*font-family:"\5FAE\8F6F\96C5\9ED1";} 52 | 53 | h1 {font-size: $FontSize+10;} 54 | h2 {font-size: $FontSize+8;} 55 | h3 {font-size: $FontSize+6;} 56 | h4 {font-size: $FontSize+4;} 57 | h5 {font-size: $FontSize+2;} 58 | h6 {font-size: $FontSize;} 59 | 60 | hr {border: none;height: 1px;background: lighten($BaseC,50%);} 61 | 62 | .fl {float: left;} 63 | .fr {float: right;} 64 | .tl {text-align: left;} 65 | .tr {text-align: right;} 66 | .tc {text-align: center;} 67 | 68 | .cf:before, .cf:after,.web:before, .web:after,.web_:before, .web_:after {content:"";display:table;} 69 | .cf:after,.web:after,.web_:after {clear:both;} 70 | .cf {zoom:1;} 71 | 72 | .web {width: $WinWitdh;margin-left: auto;margin-right: auto;zoom:1;} 73 | .web_ {min-width:$WinWitdh;width: 100%;zoom: 1;} 74 | 75 | .block {display: block;} 76 | .none {display:none} 77 | .clear {clear: both; } 78 | 79 | 80 | li {list-style-type:none;} 81 | 82 | 83 | a {font-size:16px} 84 | a:link {color: #000; text-decoration:none;} //未访问:蓝色、无下划线 85 | a:active {color: #000; } //激活:红色 86 | a:visited {color:#000;text-decoration:none;} //已访问:purple、无下划线 87 | a:hover {color: #000; text-decoration:underline;} //鼠标移近:红色、下划线 88 | -------------------------------------------------------------------------------- /src/components/navigation/nav_right.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 76 | 77 | 145 | -------------------------------------------------------------------------------- /blog.sql: -------------------------------------------------------------------------------- 1 | /* 2 | Navicat MySQL Data Transfer 3 | 4 | Source Server : wamp 5 | Source Server Version : 50617 6 | Source Host : localhost:3306 7 | Source Database : testblog 8 | 9 | Target Server Type : MYSQL 10 | Target Server Version : 50617 11 | File Encoding : 65001 12 | 13 | Date: 2021-04-05 18:43:02 14 | */ 15 | 16 | SET FOREIGN_KEY_CHECKS=0; 17 | 18 | -- ---------------------------- 19 | -- Table structure for article 20 | -- ---------------------------- 21 | DROP TABLE IF EXISTS `article`; 22 | CREATE TABLE `article` ( 23 | `id` int(11) NOT NULL, 24 | `title` varchar(255) NOT NULL, 25 | `date` varchar(255) NOT NULL, 26 | `name` varchar(255) NOT NULL, 27 | `ps` varchar(255) DEFAULT NULL, 28 | `text` varchar(255) NOT NULL, 29 | `reading` int(255) NOT NULL, 30 | `agree` int(255) NOT NULL, 31 | `delete` int(255) NOT NULL, 32 | `exhibition` int(255) NOT NULL, 33 | `type` int(11) NOT NULL, 34 | PRIMARY KEY (`id`) 35 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 36 | 37 | -- ---------------------------- 38 | -- Records of article 39 | -- ---------------------------- 40 | INSERT INTO `article` VALUES ('1', '\\u6587\\u7ae0\\u9898\\u76ee', '2017-10-02 17:23:05', '\\u8c22\\u6657\\u9633', '\\u7248\\u6743\\u6240\\u6709a', 'article1.txt', '0', '0', '0', '1', '1'); 41 | INSERT INTO `article` VALUES ('2', '\\u7b2c\\u4e8c\\u7bc7\\u6587\\u7ae0', '2017-10-03 11:34:16', '\\u8c22\\u5927\\u5e05\\u54e5', '\\u7248\\u6743\\u6240\\u6709a', 'article1.txt', '0', '0', '0', '1', '1'); 42 | INSERT INTO `article` VALUES ('3', '\\u006d\\u0061\\u0072\\u006b\\u0064\\u006f\\u0077\\u006e\\u4ecb\\u7ecd', '2017-10-03 11:36:32', '\\u8349\\u4f9d\\u5c71', '\\u8f6c\\u8f7d\\u81ea\\u0068\\u0074\\u0074\\u0070\\u003a\\u002f\\u002f\\u006d\\u0061\\u0068\\u0075\\u0061\\u002e\\u006a\\u0073\\u0065\\u0072\\u002e\\u006d\\u0065\\u002f', 'article2.txt', '0', '0', '0', '1', '2'); 43 | 44 | -- ---------------------------- 45 | -- Table structure for axis 46 | -- ---------------------------- 47 | DROP TABLE IF EXISTS `axis`; 48 | CREATE TABLE `axis` ( 49 | `title` varchar(255) NOT NULL, 50 | `id` int(11) NOT NULL, 51 | `content` varchar(255) NOT NULL, 52 | `time` varchar(255) NOT NULL, 53 | `delete` int(255) NOT NULL 54 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 55 | 56 | -- ---------------------------- 57 | -- Records of axis 58 | -- ---------------------------- 59 | INSERT INTO `axis` VALUES ('\\u9898\\u76ee', '1', 'axis1.txt', '2017-10-03 11:36:32', '0'); 60 | INSERT INTO `axis` VALUES ('\\u9898\\u76ee', '2', 'axis2.txt', '2017-10-03 11:36:32', '0'); 61 | 62 | -- ---------------------------- 63 | -- Table structure for comment 64 | -- ---------------------------- 65 | DROP TABLE IF EXISTS `comment`; 66 | CREATE TABLE `comment` ( 67 | `id` int(11) NOT NULL, 68 | `name` varchar(255) DEFAULT NULL, 69 | `time` varchar(255) DEFAULT NULL, 70 | `content` varchar(255) DEFAULT NULL, 71 | `delete` int(255) DEFAULT NULL, 72 | PRIMARY KEY (`id`) 73 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 74 | 75 | -- ---------------------------- 76 | -- Records of comment 77 | -- ---------------------------- 78 | INSERT INTO `comment` VALUES ('1', '\\u0075\\u006e\\u0064\\u0065\\u0066\\u0069\\u006e\\u0065\\u0064', '2017-10-17 15:08:25', 'comment1.txt', '1'); 79 | INSERT INTO `comment` VALUES ('2', '\\u8c22\\u5927\\u5e05\\u54e5', '2017-10-17 15:08:25', 'comment2.txt', '0'); 80 | 81 | -- ---------------------------- 82 | -- Table structure for conf 83 | -- ---------------------------- 84 | DROP TABLE IF EXISTS `conf`; 85 | CREATE TABLE `conf` ( 86 | `name` varchar(255) NOT NULL, 87 | `header` varchar(255) DEFAULT NULL, 88 | `banner` varchar(255) DEFAULT NULL, 89 | `logo` varchar(255) DEFAULT NULL, 90 | `msg` varchar(255) DEFAULT NULL, 91 | PRIMARY KEY (`name`) 92 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 93 | 94 | -- ---------------------------- 95 | -- Records of conf 96 | -- ---------------------------- 97 | INSERT INTO `conf` VALUES ('\\u8c22\\u5927\\u5e05\\u54e5', '\\u0068\\u0065\\u0061\\u0064\\u0065\\u0072\\u002e\\u0070\\u006e\\u0067', '\\u0062\\u0061\\u006e\\u006e\\u0065\\u0072\\u002e\\u0070\\u006e\\u0067', '\\u006c\\u006f\\u0067\\u006f\\u002e\\u0070\\u006e\\u0067', '\\u6b22\\u8fce\\u6765\\u5230\\u6211\\u7684\\u535a\\u5ba2'); 98 | -------------------------------------------------------------------------------- /src/components/content/comment.vue: -------------------------------------------------------------------------------- 1 | 25 | 26 | 74 | 75 | 177 | -------------------------------------------------------------------------------- /src/components/content/home.vue: -------------------------------------------------------------------------------- 1 | 28 | 29 | 72 | 73 | 184 | -------------------------------------------------------------------------------- /src/components/navigation/nav_left.vue: -------------------------------------------------------------------------------- 1 | 42 | 43 | 112 | 113 | 241 | --------------------------------------------------------------------------------