define([ "underscore", "utils", "classes/Provider", "helpers/googleHelper" ], function(_, utils, Provider, googleHelper) { var bloggerProvider = new Provider("blogger", "Blogger"); bloggerProvider.defaultPublishFormat = "html"; bloggerProvider.publishPreferencesInputIds = [ "blogger-url" ]; bloggerProvider.publish = function(publishAttributes, frontMatter, title, content, callback) { var labelList = publishAttributes.labelList || []; if(frontMatter) { frontMatter.tags !== undefined && (labelList = frontMatter.tags); } _.isString(labelList) && (labelList = _.compact(labelList.split(/[\s,]/))); var isDraft = frontMatter && frontMatter.published === false; var publishDate = frontMatter && frontMatter.date; googleHelper.uploadBlogger(publishAttributes.blogUrl, publishAttributes.blogId, publishAttributes.postId, labelList, isDraft, publishDate, title, content, function(error, blogId, postId) { if(error) { callback(error); return; } publishAttributes.blogId = blogId; publishAttributes.postId = postId; callback(); }); }; bloggerProvider.newPublishAttributes = function(event) { var publishAttributes = {}; var blogUrl = utils.getInputTextValue("#input-publish-blogger-url", event); if(blogUrl !== undefined) { publishAttributes.blogUrl = utils.checkUrl(blogUrl); } publishAttributes.postId = utils.getInputTextValue("#input-publish-postid"); if(event.isPropagationStopped()) { return undefined; } return publishAttributes; }; return bloggerProvider; });