已经是第5个月使用Micolog了,Micolog中评论回复无邮件提醒一直困扰着我,也使得博客的回访量不高。为Micolog加上评论回复邮件提醒功能是这个寒假的计划之一,今天把这个计划完成了。
我是在Micolog0.6.01上进行修改的,改的过程并不复杂,参考了其他朋友的博客邮件提醒的格式,在model.py文件的第550行左右加入以下代码即可:
#if it's a reply,send mail to comment's author
for comment in self.entry.comments():
if comment.email and self.content.lower().find("@" + comment.author.lower()) > -1:
sbody=_('''%s: Your comment on the post [%s] has a new reply.
Here is your original comment:
%s
Here is the new reply written by [%s]:
%s
You can see more information for the comment on this post here:
%s
Thank you for your commenting on Steven Wang's Blog.
''')
sbody=sbody.decode('utf-8')
sbody=sbody%(g_blog.title,self.entry.title,comment.content,self.author,self.content,g_blog.baseurl+"/"+self.entry.link+"#comment-"+str(self.key().id()))
mail.send_mail(g_blog.title + "<" + g_blog.owner.email() + ">",comment.author + "<" + str(comment.email) + ">","Your comment at [" + g_blog.title + "] has a new reply",sbody)
break;
代码看起来比较凌乱,但仔细看会发现其实很简单。没有在模板上做专门的回复按钮了,在评论的内容中以"@replyUserName:"的形式代表回复该用户的留言,如果"replyUserName"在留言的时候填写了邮箱,系统会自动发一封提醒邮件给他,邮件的内容包括了其评论的内容、回复其评论的内容、查看回复的地址等等。
徐明已经在其博客上公布了Micolog插件开发方法,评论回复邮件提醒完全可以使用插件的方式开发,但我不想花时间去研究了。这是第一次改Python代码,过去对Micolog的修改多是在html和css层面的,因此此次更新也有一点纪念意义。
--End--



你好 能不能付费请你开发一个micolog的autoblog插件??
就像wp的WP-o-Matic 这样的。
如果可以的话 需要多少钱呢?
谢谢了。
你好,今天在GAE上部署了Micolog博客,看到了你的这篇文章,就拿着看看能不能加上,结果找了半天发现0.7版的好像已经加上了这个功能(800行左右):
emailbody = bbody%(self.entry.title,self.author,self.weburl,self.content, g_blog.baseurl+"/"+self.entry.link+"#comment-"+str(self.key().id()))
message = mail.EmailMessage(sender = g_blog.owner.email(),subject = "comment:" + self.entry.title)
message.to = refer
message.body = emailbody
message.send()
我自己改了改邮件的主题subject = "Your comment" + self.entry.title + "at [" + g_blog.title + "] has a new reply"
btw,我一开始在550行找了半天没找到相关的函数,结果把整个文件都浏览了一遍。。。。
我把你的网站放在了我的博客的友好链接里了,有空我就会过来看看的^_^
对了,在css里
font-family:Verdana,"BitStream vera Sans",Helvetica,Sans-serif;
font-size:13px;
微软雅黑的代号是啥?我对css没研究,只能看懂
哦,对了,0.7版里对于正文里的@replyUserName:的解析用了正则,应该更好点
refers = re.findall(r'@[\S]+-(\d+)[:]', self.content)
@cnWhyer:font-family:"Microsoft YaHei"
但前提是用户机器上装了微软雅黑的字体。
哦,谢了,没想到居然是直译╮(╯▽╰)╭,那如果用户机器上没装微软雅黑的话会显示成什么字体呢?是乱码还是有一个默认字体的?(btw,我想在中国的大部分机器应该都装了微软雅黑吧?不确定)
你好,我想问一下,现在0.74版本的要怎么实现这个功能呢?
@Ansen, 新版本的情况我不大清楚,你看看作者的更新记录,看有没有已经集成了这个功能。另外,也可以去找找看有没有这方面的Plugin.
@StevenWang,
谢谢了,我去看看吧,主要是评论回复 邮件提醒这个功能 少不了呀