|
|
@@ -92,15 +92,41 @@ module.exports = function(crowi) {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
- slack.prepareSlackMessage = function(page, user, channel, updateType) {
|
|
|
- var config = crowi.getConfig();
|
|
|
- var url = config.crowi['app:url'] || '';
|
|
|
+ slack.convertMarkdownToMrkdwn = function(body) {
|
|
|
+
|
|
|
+ body = body
|
|
|
+ .replace(/\n\*\s(.+)/g, '\n• $1')
|
|
|
+ .replace(/#{1,}\s?(.+)/g, '\n*$1*')
|
|
|
+ .replace(/(\[(.+)\]\((https?:\/\/.+)\))/g, '<$3|$2>');
|
|
|
+
|
|
|
+ return body;
|
|
|
+ };
|
|
|
|
|
|
+ slack.prepareAttachmentTextForCreate = function(page, user) {
|
|
|
var body = page.revision.body;
|
|
|
if (body.length > 2000) {
|
|
|
body = body.substr(0, 2000) + '...';
|
|
|
}
|
|
|
|
|
|
+ return this.convertMarkdownToMrkdwn(body);
|
|
|
+ };
|
|
|
+
|
|
|
+ slack.prepareAttachmentTextForUpdate = function(page, user) {
|
|
|
+ // create diff
|
|
|
+ return 'diff';
|
|
|
+ };
|
|
|
+
|
|
|
+ slack.prepareSlackMessage = function(page, user, channel, updateType) {
|
|
|
+ var config = crowi.getConfig();
|
|
|
+ var url = config.crowi['app:url'] || '';
|
|
|
+ var body = page.revision.body;
|
|
|
+
|
|
|
+ if (updateType == 'create') {
|
|
|
+ body = this.prepareAttachmentTextForCreate(page, user);
|
|
|
+ } else {
|
|
|
+ body = this.prepareAttachmentTextForUpdate(page, user);
|
|
|
+ }
|
|
|
+
|
|
|
var attachment = {
|
|
|
color: '#263a3c',
|
|
|
author_name: '@' + user.username,
|
|
|
@@ -136,5 +162,6 @@ module.exports = function(crowi) {
|
|
|
|
|
|
return text;
|
|
|
};
|
|
|
+
|
|
|
return slack;
|
|
|
};
|