]> bicyclesonthemoon.info Git - ott/bsta/commitdiff
add bbcode quote tag
authorb <rowerynaksiezycu@gmail.com>
Fri, 5 Jan 2024 09:14:21 +0000 (09:14 +0000)
committerb <rowerynaksiezycu@gmail.com>
Fri, 5 Jan 2024 09:14:21 +0000 (09:14 +0000)
bsta_lib.1.pm

index 005cde80bef3181a4b06b06089e8c902bb9ed8ca..91c6cf9bde79fd6ed790ca3acfd0314f734eefeb 100644 (file)
@@ -138,32 +138,36 @@ use constant CHAT_ACTION => {
 };
 
 use constant tags_bbcode => {
-       'ht'    => '',
-       '/ht'   => '',
-       'fq'    => '[quote]',
-       '/fq'   => '[/quote]',
-       'tq'    => '[quote]',
-       '/tq'   => '[/quote]',
-       'ni'    => '[color=#0057AF]',
-       '/ni'   => '[/color]',
-       'br'    => '[color=#BB6622]',
-       '/br'   => '[/color]',
-       'po'    => '[color=#FF8800]',
-       '/po'   => '[/color]',
-       'url'   => '[url]',
-       'url='  => '[url=',
-       'url/=' => ']',
-       '/url'  => '[/url]',
-       'i'     => '[i]',
-       '/i'    => '[/i]',
-       'list'  => '[list]',
-       'list=' => '[list=',
-       'list/='=> ']',
-       '/list' => '[/list]',
-       '*'     => '[*]',
-       '/*'    => '[/*]',
-       '?'     => '[unknown!]',
-       '/?'    => '[/unknown!]',
+       'ht'     => '',
+       '/ht'    => '',
+       'fq'     => '[quote]',
+       '/fq'    => '[/quote]',
+       'tq'     => '[quote]',
+       '/tq'    => '[/quote]',
+       'quote'  => '[quote]',
+       'quote=' => '[quote="',
+       'quote/='=> '"]',
+       '/quote' => '[/quote]',
+       'ni'     => '[color=#0057AF]',
+       '/ni'    => '[/color]',
+       'br'     => '[color=#BB6622]',
+       '/br'    => '[/color]',
+       'po'     => '[color=#FF8800]',
+       '/po'    => '[/color]',
+       'url'    => '[url]',
+       'url='   => '[url=',
+       'url/='  => ']',
+       '/url'   => '[/url]',
+       'i'      => '[i]',
+       '/i'     => '[/i]',
+       'list'   => '[list]',
+       'list='  => '[list=',
+       'list/=' => ']',
+       '/list'  => '[/list]',
+       '*'      => '[*]',
+       '/*'     => '[/*]',
+       '?'      => '[unknown!]',
+       '/?'     => '[/unknown!]',
 };
 use constant tags_html => {
        'ht'     => '',
@@ -172,6 +176,10 @@ use constant tags_html => {
        '/fq'    => '</div>',
        'tq'     => '<div class="tq">',
        '/tq'    => '</div>',
+       'quote'  => '<div class="tq">',
+       'quote=' => '<div class="tq"><b class="br">',
+       'quote/='=> '</b> wrote:<br>',
+       '/quote' => '</div>',
        'ni'     => '<span class="ni">',
        '/ni'    => '</span>',
        'br'     => '<span class="br">',
@@ -445,13 +453,16 @@ sub bbtree {
        while ($bb ne '') {
                my $new_ind = $ind.'.'.$bbtree{$ind.'.count'};
                
-               if($bb =~ m/\[(\/?)([a-z]+|\*)(=([^\[\]]*))?\]/g) {
+               if($bb =~ m/\[(\/?)([A-Za-z]+|\*)(=([^\[\]]*))?\]/g) {
                        $pre_text = $`;
                        $tag = $&;
                        $tag_end = $1;
-                       $tag_name = $2;
+                       $tag_name = lc($2);
                        $tag_value = $4;
                        $bb = $';
+                       if ($tag_value =~ /^"(.*)"$/) {
+                               $tag_value = $1;
+                       }
                        
                        if ($pre_text ne '') {
                                $debug .= debug($printdebug, "[$new_ind]text: $pre_text\n");
@@ -461,7 +472,7 @@ sub bbtree {
                                $new_ind = $ind.'.'.$bbtree{$ind.'.count'};
                        }
                        
-                       if($tag_name =~ /^(fq|tq|br|ni|po|url|i|list|\*)$/) {
+                       if($tag_name =~ /^(fq|tq|quote|br|ni|po|url|i|list|\*)$/) {
                                if ($tag_end ne '') {
                                        if (
                                                ($tag_name ne $bbtree{$ind.'.name'}) ||