mynote release
r190227
2019-5-22 发布
r190522
SHA-1: 6ceeadd865c1da77a70fa089659dc4e987eca788
* 【更新】- 没有更多内容不要再展示加载更多按钮(更多作者页面)
部署项目:
SHA-1: d70dface130d00ca2e11158f1f162368e5a53f8c
* Gogs/es/sms configs
fastadmin:
SHA-1: efb4346bbb22c78276572c2b0ef35503018123f1
* give exe auth to *.sh
停服、备份、部署、启动、测试
es 部署
短信、邮件
UI2.0
编辑器升级
标签系统
重构
composer
config
-- 分类标签表
DROP TABLE IF EXISTS `artag_classify`;
CREATE TABLE IF NOT EXISTS `artag_classify`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`tag` VARCHAR(128) NOT NULL COMMENT '分类标签名',
`time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`status` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '状态(单选):0=不显示,1=显示',
PRIMARY KEY(`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文章分类标签表管理';
INSERT INTO `artag_classify` (`id`, `tag`, `status`) VALUES ('1', '阅读', '1');
-- 文章标签表
DROP TABLE IF EXISTS `artag`;
CREATE TABLE IF NOT EXISTS `artag`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`tag` VARCHAR(128) NOT NULL COMMENT '标签',
`time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`status` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '状态(单选):0=不显示,1=显示',
PRIMARY KEY(`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文章标签表管理';
-- 用户常用标签表
DROP TABLE IF EXISTS `artag_user`;
CREATE TABLE IF NOT EXISTS `artag_user`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`tag` VARCHAR(128) NOT NULL COMMENT '标签',
`uid` INT UNSIGNED NOT NULL COMMENT '用户ID',
`time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`status` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '状态(单选):0=不显示,1=显示',
PRIMARY KEY(`id`),
KEY `uid` (`uid`),
KEY `tag` (`tag`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文章标签表管理';
-- 文章标签关系表
DROP TABLE IF EXISTS `artag_user_relation`;
CREATE TABLE IF NOT EXISTS `artag_user_relation`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`aid` INT UNSIGNED NOT NULL COMMENT '文章ID',
`tagid` INT UNSIGNED NOT NULL COMMENT '标签ID',
`time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`status` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '状态(单选):0=文章标签,1=用户常用标签',
PRIMARY KEY(`id`),
KEY `aid` (`aid`),
KEY `tagid` (`tagid`),
UNIQUE KEY `aid_tagid_status` (`aid`, `tagid`,`status`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文章标签表管理';
-- 文章分类关系表
DROP TABLE IF EXISTS `artag_classify_relation`;
CREATE TABLE IF NOT EXISTS `artag_classify_relation`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`aid` INT UNSIGNED NOT NULL COMMENT '文章ID',
`artag_classify_id` INT UNSIGNED NOT NULL COMMENT '分类标签ID',
`time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`status` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '状态(单选):0=不显示,1=显示',
PRIMARY KEY(`id`),
KEY `aid` (`aid`),
KEY `artag_classify_id` (`artag_classify_id`),
UNIQUE KEY `aid_artag_classify_id` (`aid`, `artag_classify_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文章分类关系表管理';
run as www user in /home/www/fastadmin
php think crud -t artag -c mynote/artag -m artag --force=true
php think menu -c mynote/artag --force=true
php think crud -t artag_classify -c mynote/artagclassify -m artagclassify --force=true
php think menu -c mynote/artagclassify --force=true
lv1= lv2= type=
es elasticsearch init
1 删除index(如果有)
DELETE /mynote
2 建立mapping
PUT /mynote
{
"settings": {
"analysis": {
"analyzer": {
"ik_pinyin_analyzer": {
"type":"custom",
"tokenizer": "ik_smart",
"filter": ["my_pinyin","word_delimiter"]
}
},
"filter": {
"my_pinyin": {
"keep_joined_full_pinyin": "true",
"keep_none_chinese_in_first_letter": "false",
"lowercase": "true",
"keep_original": "false",
"keep_first_letter": "false",
"trim_whitespace": "true",
"type": "pinyin",
"keep_none_chinese": "false",
"limit_first_letter_length": "16",
"keep_full_pinyin": "false"
}
}
}
},
"mappings":{
"article":{
"properties":{
"abstract":{
"type":"text",
"analyzer":"ik_max_word"
},
"article_id":{
"type":"keyword"
},
"content":{
"type":"text",
"fields":{
"pinyin":{
"type":"text",
"analyzer":"ik_pinyin_analyzer"
}
},
"analyzer":"ik_max_word"
},
"id":{
"type":"long"
},
"recommend":{
"type":"byte"
},
"sort":{
"type":"long"
},
"status":{
"type":"byte"
},
"tag":{
"type":"keyword"
},
"thum":{
"type":"text"
},
"time":{
"type":"date"
},
"title":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword"
},
"pinyin":{
"type":"text",
"analyzer":"ik_pinyin_analyzer"
}
},
"analyzer":"ik_max_word"
},
"updata_time":{
"type":"date"
},
"username":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword"
},
"pinyin":{
"type":"text",
"analyzer":"ik_pinyin_analyzer"
}
},
"analyzer":"ik_max_word"
}
}
}
}
}
3 访问此链接,建立文章索引
http://uninote.com.cn/api/synes
4 搜索测试,查询条件替换红色部分,注意中文搜索测试
GET /mynote/article/_search
{
"query": {
"dis_max": {
"tie_breaker": 0.7,
"boost": 1.2,
"queries": [
{
"bool": {
"should": [
{
"multi_match": {
"query": "日志",
"fields": ["content", "content.pinyin", "username", "username.pinyin", "title","title.pinyin"],
"analyzer":"ik_max_word"
}
},
{
"term": {
"tag": {
"value": "日志"
}
}
}
]
}
}
]
}
},
"highlight": {
"fields": [
{"tag" :{}},
{"title" :{}},
{"content" :{}},
{"username" :{}},
{"title.pinyin" :{}},
{"content.pinyin" :{}},
{"username.pinyin" :{}}
]
},
"size": 10,
"from": 0,
"_source":[
"highlight", "title", "article_id", "title", "abstract", "thum", "id"
]
}
lv1= lv2= type=
2019-11-10 发布:nuxt version
mynote online 服务器迁移
SHA-1: 8bc45df17ba43523caa8b76d8e20a81d3fa5463d
* update std log
2020-10-03
后台小更新
r2.1.0
2020-10-19 r2.1.*
init:
SHA-1: bc07823f6fc2770c75868d3743ca8472411d22dc
* rc2.1.0
增量版本发布
chromedriver ok e4bfe7982abdc4fa16c3231ee57d3d73ab64d761
rc2.1.2
commit 61ebc41857fd27eb7b4ba5b56d8a1e986c18d3b1
轮播图长度限制改为 1024
rc2.1.3
r2.1
SHA-1: 31630e4d57948a3a4afb638072669ba2616ee8ec
* username 兼容,重定向到 uid
主要修改
重构 for 外部更新共用 外部修改更新
消息不再发送,以前是屏蔽
mynote-init 更新,转向 docker 部署
--user note:
路径替换(username -> id),并兼容(用 username 访问,重定向到 id)
禁止匿名评论
标题修改更新
搜索中文
webhooks + 手动触发
sql
alter table article add column uid INT UNSIGNED after id;
# username 改为 uid 关联:
update article set uid = (select DISTINCT id from user where username = article.username);
# 去掉 ./ 打头 -- 备用工具
# update article set article_id = SUBSTR(article_id FROM 3) where SUBSTR(article_id, 1, 2) = './';
alter table article add UNIQUE KEY uid_path(uid, article_id);
# 弃用 nickname:
ALTER table `comment` modify COLUMN nickname varchar(32);
# 弃用 username:
ALTER table `article` modify COLUMN username varchar(32);
ALTER table `user` modify COLUMN username varchar(32);
ALTER table `user` drop index `name`;
# addi
ALTER TABLE `mynote_log`
MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
MODIFY `class` varchar(256) DEFAULT NULL,
MODIFY `filename` varchar(256) DEFAULT NULL;
# 轮播图长度限制
ALTER TABLE autoplayimg MODIFY COLUMN imgsrc VARCHAR(1024) NOT NULL DEFAULT '';
ALTER TABLE autoplayimg MODIFY COLUMN href VARCHAR(1024) NOT NULL DEFAULT '';
lv1= lv2= type=
user id 预留(optional)
set @inc=1000;
UPDATE `user` set id=id+@inc;
update artag_user set uid=uid+@inc;
update article set uid =uid +@inc;
update artlike set uid=uid+@inc;
update artpv set uid=uid+@inc;
update comlike set uid=uid+@inc;
update mynote_login set uid =uid +@inc;
update report set uid=uid+@inc;
update comment set user_id=user_id+@inc;
update userfollow set fuid=fuid+@inc;
update userfollow set uid=uid+@inc;
update usercollect set uid=uid+@inc;
update userhistory set uid=uid+@inc;
docs/username -> docs/id
# 拿到数据
select username,id from user
http://a.misc.my/StringFormat/StringFormat.html
模板:
mv %1 %2
cd /home/www/mynote/basic/web/docs/
do mv...
# 移除index
alter table article drop index article_id;
# 修正路径 ./docs/常用/新环境部署.md => 常用/新环境部署.md
update article set article_id = SUBSTR(article_id FROM 19);
批量插入 webhooks:注意直接访问接口,不要通过 nginx-nuxt 中转
http://a.misc.my/StringFormat/StringFormat.html
INSERT INTO `gogs`.`webhook` (`repo_id`, `org_id`, `url`, `content_type`, `secret`, `events`, `is_ssl`, `is_active`, `hook_task_type`, `meta`, `last_status`, `created_unix`, `updated_unix`) VALUES ('%1', '0', 'http://%2/api/markdown/repo-update', '2', '', '{\"push_only\":true,\"send_everything\":false,\"choose_events\":false,\"events\":{\"create\":false,\"delete\":false,\"fork\":false,\"push\":false,\"issues\":false,\"pull_request\":false,\"issue_comment\":false,\"release\":false}}', '0', '1', '1', '', '1', '1603115033', '1603119428');
# 批量数据选择:
set @host='127.0.0.1:85';
SELECT r.id, @host
from gogs.repository r
LEFT JOIN gogs.webhook w on r.id = w.repo_id
where w.id is null
# 替换host:
# update webhook set url = replace(url, '127.0.0.1/', '127.0.0.1:85/')
更新 es 数据
其他更新
clear site data,再刷新页面
nuxt.conf 需要更新?避免 127.0.0.1 重定向?webhooks 排错记录
gogs 编码更改,重启服务
CHARSET=utf8
r2.1.1
username 造成的统计失效
2021-2-7 r2.2
2021-1-28 2.2
2021-2-8 r2.2.1
SHA-1: 81c5f00ffc4a1d0ce630eb2b1b6e9ab86e8f0edb
* fix: 误删的验证码字体