@@ -22,9 +22,9 @@ var Beep = {
2222 banned_urls : null ,
2323 illegal_words : null ,
2424
25- parseContent : function ( content , is_topic = false ) {
25+ parseContent : function ( content , symbol ) {
2626 var nil = '^(?!x)x' ;
27- return parseContent ( content , Beep . banned_words || nil , Beep . banned_urls || nil , Beep . censorWholeWord , is_topic ) ;
27+ return parseContent ( content , Beep . banned_words || nil , Beep . banned_urls || nil , Beep . censorWholeWord , symbol || '*' ) ;
2828 } ,
2929 toRegExp : toRegExp ,
3030 loadList : function ( callback ) {
@@ -105,7 +105,7 @@ var Beep = {
105105 callback ( null , data ) ;
106106 } ,
107107 onListChange : function ( hash ) {
108- if ( hash === 'settings: beep' ) {
108+ if ( hash && hash . plugin === 'beep' ) {
109109 Beep . loadList ( function ( ) { } ) ;
110110 }
111111 } ,
@@ -131,10 +131,28 @@ var Beep = {
131131 callback ( null , data ) ;
132132 } ,
133133 parseTopic : function ( data , callback ) {
134- var is_topic = true
135- data . topic . title = Beep . parseContent ( data . topic . title , is_topic ) ;
136- data . topic . slug = Beep . parseContent ( data . topic . slug , is_topic ) ;
137- data . topic . titleRaw = Beep . parseContent ( data . topic . titleRaw , is_topic ) ;
134+ // from http://htmlarrows.com/symbols/
135+ var starHTML = '⁎' ;
136+ data . topic . title = Beep . parseContent ( data . topic . title , starHTML ) ;
137+ data . topic . slug = Beep . parseContent ( data . topic . slug , starHTML ) ;
138+ data . topic . titleRaw = Beep . parseContent ( data . topic . titleRaw , starHTML ) ;
139+
140+ callback ( null , data ) ;
141+ } ,
142+ filterTags : function ( data , callback ) {
143+ var match ;
144+ data . tags . some ( function ( tag ) {
145+ match = tag && tag . match ( Beep . illegal_words ) ;
146+ return ! ! match ;
147+ } ) ;
148+
149+ if ( match ) {
150+ return callback ( new Error ( 'You may not use the word "' + match [ 0 ] + '" in your tags.' ) ) ;
151+ }
152+
153+ data . tags = data . tags . map ( function ( tag ) {
154+ return Beep . parseContent ( tag , '+' ) ;
155+ } ) ;
138156
139157 callback ( null , data ) ;
140158 } ,
0 commit comments