soomtong / blititor Goto Github PK
View Code? Open in Web Editor NEWOld School Web Site Template for All Web Agencies and Developers
License: MIT License
Old School Web Site Template for All Web Agencies and Developers
License: MIT License
get menu item from database post
$ node core/setup.js admin
B: 관리자 아이디를 입력해주세요... (E-Mail 형태를 사용합니다.): ([email protected]) [email protected]
B: Enter administrator password: *******
info: Access database connection
readline.js:924
throw err;
^
ReferenceError: BLITITOR is not defined
at initConnection (/Users/seonghyun/Project/blititor/core/lib/connection.js:11:33)
at Object. (/Users/seonghyun/Project/blititor/core/lib/connection.js:6:18)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object. (/Users/seonghyun/Project/blititor/module/account/lib/account.js:9:18)
at Module._compile (module.js:434:26)
BLITITOR constant 가 index 진입지점에만 참조 가능한것을 보입니다.
마지막에 가입한 유저는 로그인이 안됩니다. DB에는 잘 들어가는데 가져오는 부분에서 문제가 있는것 같습니다.
2016/9/25 18:36 [41076] - verbose: Serialize in process for id=9, user_id=ccc@cc
c.com, user_password=$2a$08$Xw3ugYO3kNbdElpm/JovQ.qU1DYfhXGv3d43y9dbrxYh4UhM2egt
S
C:\Users\JongHo\WebstormProjects\blititor\node_modules\mysql-connection-manager\
node_modules\mysql\lib\protocol\Parser.js:77
throw err; // Rethrow non-MySQL errors
^
TypeError: Cannot read property 'uuid' of null
at C:\Users\JongHo\WebstormProjects\blititor\module\account\lib\passoprt.js:
52:25
at C:\Users\JongHo\WebstormProjects\blititor\module\account\lib\account.js:2
4:20
at Query._callback (C:\Users\JongHo\WebstormProjects\blititor\module\account
\lib\database.js:184:16)
at Query.Sequence.end (C:\Users\JongHo\WebstormProjects\blititor\node_module
s\mysql-connection-manager\node_modules\mysql\lib\protocol\sequences\Sequence.js
:96:24)
at Query._handleFinalResultPacket (C:\Users\JongHo\WebstormProjects\blititor
\node_modules\mysql-connection-manager\node_modules\mysql\lib\protocol\sequences
\Query.js:144:8)
at Query.EofPacket (C:\Users\JongHo\WebstormProjects\blititor\node_modules\m
ysql-connection-manager\node_modules\mysql\lib\protocol\sequences\Query.js:128:8
)
at Protocol._parsePacket (C:\Users\JongHo\WebstormProjects\blititor\node_mod
ules\mysql-connection-manager\node_modules\mysql\lib\protocol\Protocol.js:280:23
)
at Parser.write (C:\Users\JongHo\WebstormProjects\blititor\node_modules\mysq
l-connection-manager\node_modules\mysql\lib\protocol\Parser.js:73:12)
at Protocol.write (C:\Users\JongHo\WebstormProjects\blititor\node_modules\my
sql-connection-manager\node_modules\mysql\lib\protocol\Protocol.js:39:16)
at Socket.<anonymous> (C:\Users\JongHo\WebstormProjects\blititor\node_module
s\mysql-connection-manager\node_modules\mysql\lib\Connection.js:96:28)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20)
2016/9/30 17:23 [5076] - verbose: Serialize in process for id=3, user_id=[email protected], user_password=$2a$08$Z/SftT2GaUOWODzJ4peaBeHTTXHSiK2qVn3MMClgrUtfaXgyvLfWG
유닉스 타입이 아닌 윈도우즈 타입의 텍스트 파일에서 파일 정보를 추출하지 못하는 문제
테마 제작자의 정보가 나타나지 않습니다.
for IE 8
node core/setup.js db
항목에서 prefix 항목 추가하기
vi core/config/database_default.json
디비 세팅(계정 넣고 포트 적고 하는거) 마친후 프리픽스 수정하는거
이거 불편합니다. 그쵸...
vi core/config/database_default.json
구문 참조하세요.
만족할 결과는 아래의 형태입니다.
CLI 셋업시
soomtong@openlab0 ~/blititor-theme-dev> node core/setup.js db
= Make database configuration
B: Enter mysql(maria) host: localhost
B: Enter mysql(maria) port: (3306)
B: Enter mysql(maria) database name: (db_blititor)
B: Enter mysql(maria) user name: soomtong
B: Enter your password: ******
이 부분 위에 한 줄 프리픽스 관련 항목을 추가하는 것 그리고 디폴트는
b_
만약 사용자가 b_theme
를 입력했다면
또는 b_theme_
를,
또는 theme
를
1 {
2 "port": 3306,
3 "database": "db_blititor",
4 "prefix": "b_theme_"
5 }
아래의 결과를 만족하면 좋겠습니다.
(수동 테스트 로직이네요;;;)
integration to menu in edit post page, extend menu ordering
more control with post manipulation
decrease link area
bind custom domain for soomtong.github.io/blititor
to blititor.com
.
it can conflict with other subdomain, maybe, need to find out something...
맥 os에서
npm install bcrypt
fails in install: `node-gyp rebuild
라는 메시지가 뜸
원인 : macOS에서 Cli 를 사용할수가 없어서 생기는 문제
해결법 : xcode 설치
혹시 그러고도 에러가 발생시
node-gyp 를 global 로 설치한다.
로그인 안하고 채팅 페이지 접근시 앱이 죽어버리는 문제가 있습니다.
/Users/seonghyun/Project/blititor/module/chatting/lib/chatting.js:24
var uuid = session.passport.user;
^
TypeError: Cannot read property 'user' of undefined
at Namespace.<anonymous> (/Users/seonghyun/Project/blititor/module/chatting/lib/chatting.js:24:36)
at emitOne (events.js:77:13)
at Namespace.emit (events.js:169:7)
at Namespace.emit (/Users/seonghyun/Project/blititor/node_modules/socket.io/lib/namespace.js:206:10)
at /Users/seonghyun/Project/blititor/node_modules/socket.io/lib/namespace.js:174:14
at doNTCallback0 (node.js:407:9)
at process._tickCallback (node.js:336:13)
use make or jake
team blog module에서 tag를 클릭하면 페이지를 찾지 못합니다.
with modify menu link
global node app style like node blit ready
node blit start
node blit stop
// setup blititor process for command line interface
var param1 = process.argv[2];
var param2 = process.argv[3] || '';
물론 저걸로 충분한데 어쩌다 index.js 에 minimist
(https://www.npmjs.com/package/minimist) 를 사용하게 됨.
도입된 패키지를 적극활동해 변경하도록 함.
현재 블리티터 세팅에 중복된 부분이 한 곳 있네요.
/core/config/database_default.json
과 /database.json
에서
공통적으로 존재하는
dbName
vs database
그리고 dbPort
vs port
둘 중 하나의 파일은 필요가 없는 상황...
이건 0.2.0 릴리즈 후에 해결 하도록 하겠습니다.
mysql-connection-managers는 deprecated된 모듈입니다.
모듈을 만든 chill117은 node-mysql 모듈로 변환을 권장하고 있습니다.
(https://github.com/chill117/mysql-connection-manager)
평소 node.js에는 아래 mysql 모듈이 많은 contributer와 star를 얻고 있는 모듈이기에 신뢰성이 높아 많이 사용하고 있습니다.
node-mysql(https://github.com/mysqljs/mysql)
mysql 모듈을 변경하는 것에 대해 의견을 여쭤보고 싶습니다.
with image resize
use bg image url
in config.json
2016/9/25 18:49 [59345] - error: Error: ER_DUP_ENTRY: Duplicate entry '[email protected]' for key 'auth_user_id_unique'
at Query.Sequence._packetToError (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/sequences/Sequence.js:48:14)
at Query.ErrorPacket (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/sequences/Query.js:83:18)
at Protocol._parsePacket (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/Protocol.js:280:23)
at Parser.write (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/Parser.js:73:12)
at Protocol.write (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/Protocol.js:39:16)
at Socket.<anonymous> (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/Connection.js:96:28)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20)
--------------------
at Protocol._enqueue (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/Protocol.js:141:48)
at Connection.query (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/Connection.js:201:25)
at Object.insertAuth [as writeAuth] (/Users/seonghyun/Project/blititor/module/account/lib/database.js:248:16)
at /Users/seonghyun/Project/blititor/module/account/lib/account.js:209:12
/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/Parser.js:77
throw err; // Rethrow non-MySQL errors
^
TypeError: Cannot read property 'insertId' of undefined
at /Users/seonghyun/Project/blititor/module/account/lib/account.js:219:33
at Query._callback (/Users/seonghyun/Project/blititor/module/account/lib/database.js:249:9)
at Query.Sequence.end (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24)
at Query.ErrorPacket (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/sequences/Query.js:94:8)
at Protocol._parsePacket (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/Protocol.js:280:23)
at Parser.write (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/Parser.js:73:12)
at Protocol.write (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/protocol/Protocol.js:39:16)
at Socket.<anonymous> (/Users/seonghyun/Project/blititor/node_modules/mysql-connection-manager/node_modules/mysql/lib/Connection.js:96:28)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20)
[nodemon] app crashed - waiting for file changes before starting...
module/account/lib/account.js
insertLastLog();
2016/9/30 13:44 [5878] - error: Error: ER_BAD_FIELD_ERROR: Unknown column 'NaN' in 'field list'
at Query.Sequence._packetToError (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/protocol/sequences/Sequence.js:51:14)
at Query.ErrorPacket (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/protocol/sequences/Query.js:83:18)
at Protocol._parsePacket (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/protocol/Protocol.js:280:23)
at Parser.write (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/protocol/Parser.js:74:12)
at Protocol.write (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/protocol/Protocol.js:39:16)
at Socket. (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/Connection.js:109:28)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:543:20)
--------------------
list page
menu bind
pagination
$ node core/setup.js admin
= Make Administrator account
B: 관리자 아이디를 입력해주세요... (E-Mail 형태를 사용합니다.): ([email protected])
B: Enter administrator password: *
= Make administrator account...
= 관리자 로그인 정보 저장에 실패했습니다.
{ Error: ER_DUP_ENTRY: Duplicate entry '[email protected]' for key 'auth_user_id_unique'
at Query.Sequence._packetToError (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/protocol/sequences/Sequence.js:51:14)
at Query.ErrorPacket (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/protocol/sequences/Query.js:83:18)
at Protocol._parsePacket (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/protocol/Protocol.js:280:23)
at Parser.write (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/protocol/Parser.js:74:12)
at Protocol.write (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/protocol/Protocol.js:39:16)
at Socket. (/home/dongkyulee/WebstormProjects/blititor/node_modules/mysql/lib/Connection.js:109:28)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
--------------------
초기 셋업 프로세스 개선 사항입니다.
/core/setup.js
case 'all':
var tasks = [loadModuleList, makeDatabaseConfigFile, makeDatabaseTable, makeThemeConfigFile, makeAdminAccount];
async.series(tasks, function(err, res) {
console.log(res);
});
break;
위 상태인데 async 가 정상 작동하도록 각 함수를 수정해주세요.
콜백 관련 추가 하시면 될 거에요.
refactoring more
=== check module list ...
2016/9/27 14:06 [23267] - info: database config file loaded
2016/9/27 14:06 [23267] - info: Set site app to 'plain'
2016/9/27 14:06 [23267] - info: Set site theme to 'plain'
2016/9/27 14:06 [23267] - info: Set site admin theme to 'plain'
2016/9/27 14:06 [23267] - info: Set site manage theme to 'plain'
2016/9/27 14:06 [23267] - info: Access database connection
2016/9/27 14:06 [23267] - info: dbHost=zeston.kr, dbPort=3306, dbName=zeston, dbUserID=zeston, dbUserPassword=*****
2016/9/27 14:06 [23267] - info: BLITITOR v0.1.0 Copyright (C) 2015 @soomtong.
2016/9/27 14:06 [23267] - info: This program comes with ABSOLUTELY NO WARRANTY.
2016/9/27 14:06 [23267] - info: This is free software,
2016/9/27 14:06 [23267] - info: and you are welcome to redistribute it under certain conditions.
2016/9/27 14:06 [23267] - verbose: module data file loaded. 9 modules located
2016/9/27 14:06 [23267] - info: server listening on port 3010 in development mode
초기 구동시 나오는 디비 접속 정보 중 패스워드는 별표로 치환해 주세요.
use plain auth
login auth with twitter
use nodeunit
use qunit
use summernote (https://github.com/HackerWins/summernote)
#41 과 연결된 이슈입니다.
core/setup.js에 makeDatabaseTable()에서 async.mapSeries가 작동 중 끝나는 문제가 있습니다.
connection.destroy();와 done();이 resultAsync에 속해있어야 합니다.
chatting module에서 disconnect event를 받지 못합니다.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.