Did you ditch customizable capcodes?
How about placing the Formatting menu to the left or right of the "File: " field? I'd also like to see WakabaMark changed to its real name (Markdown).
A few other considerations:
Small details aside, this is seriously shaping up to be an amazing release. Your efforts are much appreciated, WAHa.
> He meant saging a thread just because a part of the actual e-mail address contains the word "sage."
> You know, like [email protected].
Well, then you are out of luck, aren't you? So you want to enter your E-Mail but cannot because then the post wouldn't bump then? Solution: Write it in the comment field, problem fixed.
There is no reason to change well-known keywords for this or even turn this into a frustratingly unconvenient tickbox/checkbox.
>5) Seperation of sage et al from the email field to something else...
This is kinda what I had pushed for earlier in >>52. I think that separating the sage (aka, "don't bump"), fusianasan (aka, "show IP"), and ID:Heaven (aka, "no ID") functions from any particular post elements in the main scripts would be ideal for implementing Kareha in systems where inputting a certain string to trigger these functions is not intuitive (ie, every board outside of the 2ch/Futaba family). These trigger strings (S_DONTBUMP, S_SHOWIP, S_NOID) and their assignment to a certain form field input could be instead implemented individually in each template.
>2) Have the string to sage and fusianasan defined as a constant in config
>3) A specific string for ID:Heaven instead of anything in the email field
As I mentioned above, this would better work if they could be modified within each template in the list of string variable definitions.
>4) Cookie preferences such as "Don't use expanding textarea" which leaves it small or big.. or another option for that choice as well; an option to not save Name/Email automatically; anything else that is useful?
I like this one, as far as saving name and e-mail inputs go. I occasionally browse 4-ch at school, and it'd be nice for just an option to clear cookies when you're done and don't want anyone else to use your name, e-mail, and deletion password.
What the hell is RENZOKU?
P.S. >>151 is RMS
That form just looks wrong with no title or clear separator, though. I might put in a title that is not the exact same as the button, though. Any suggestions?
The board title is inserted by template.pl, and rules.html is included after it.
And my post ist a good example for chosing the wrong markup :/
requesting features:
>>n and >>q and anything else that can be used in the url.
I think it'd be a better idea to have some kind of load-balancing/distributed server cluster approach, like what dmpk2k was working on for Wakaba.
Plus if you were to allow those tags in HTML, you should do the same for WakabaMark (which actually takes its cue from Markdown, so I don't see why it has a different name).
>>54
I really don't understand what the problem with the current system is. You must be confused. ┐('~`;)┌
>>n74,76
It's good for referencing replies, too.
The "always show the first post" behaviour is sort of confusing at first. It seems more intrusive than useful.
So, I made the All threads page a lot fancier. Might need some shift-reloading to get the proper CSS.
Is this about done, besides the admin bit? I'm getting a bit tired and distractions are looming to the left and right.
If you want to have a look at what the code actually does to dig out flaws, here is the current version:
sub sanitize_html($%)
{
my ($html,%tags)=@_;
my (@stack,$clean);
my $entity_re=qr/&(?!\#[0-9]+;|\#x[0-9a-fA-F]+;|amp;)/;
while($html=~/(?:([^<]+)|<([^<>]*)>?)/g)
{
my ($text,$tag)=($1,$2);
if($text)
{
$text=~s/$entity_re/&/g;
$text=~s/>/>/g;
$clean.=$text;
}
else
{
if($tag=~m!^\s*(/?)\s*([a-z0-9_:\-\.]+)(?:\s+(.*?)|)\s*(/?)\s*$!si)
{
my ($closing,$name,$args,$implicit)=($1,lc($2),$3,$4);
if($tags{$name})
{
if($closing)
{
if(grep { $_ eq $name } @stack)
{
my $entry;
do {
$entry=pop @stack;
$clean.="</$entry>";
} until $entry eq $name;
}
}
else
{
my %args;
$args=~s/\s/ /sg;
while($args=~/([a-z0-9_:\-\.]+)(?:\s*=\s*(?:'([^']*?)'|"([^"]*?)"|['"]?([^'" ]*))|)/gi)
{
my ($arg,$value)=(lc($1),defined($2)?$2:defined($3)?$3:$4);
$value=$arg unless defined($value);
my $type=$tags{$name}{args}{$arg};
if($type)
{
my $passes=1;
if($type=~/url/i) { $passes=0 unless $value=~/(?:^$protocol_re:|^[^:]+$)/ }
if($type=~/number/i) { $passes=0 unless $value=~/^[0-9]+$/ }
if($passes)
{
$value=~s/$entity_re/&/g;
if($value=~/"/) { $value="'$value'" }
else { $value="\"$value\"" }
$args{$arg}=$value;
}
}
}
my $cleanargs=join " ",map { "$_=$args{$_}" } keys %args;
$implicit="/" if($tags{$name}{empty});
push @stack,$name unless $implicit;
$clean.="<$name";
$clean.=" $cleanargs" if $cleanargs;
$clean.=" $implicit" if $implicit;
$clean.=">";
}
}
}
}
}
my $entry;
while($entry=pop @stack) { $clean.="</$entry>" }
return $clean;
}And my post ist a good example for chosing the wrong markup :/
How about listing what dmpk2k or you have done already?
Some minor things
1) rename the RENZOKU constants to something that makes sense
2) Have the string to sage and fusianasan defined as a constant in config
3) A specific string for ID:Heaven instead of anything in the email field
4) Cookie preferences such as "Don't use expanding textarea" which leaves it small or big.. or another option for that choice as well; an option to not save Name/Email automatically; anything else that is useful?
5) Seperation of sage et al from the email field to something else...
I think a checkbox works better than putting something in the link field, but that can always be left as working too. It would be nice to know if the name is underlined that it has something other than sage rather than putting the cursor over it and reading the status bar. Strip things from the email field, append (sage) to the Name line?
> What about a(n) (optional) preview page?
I've been considering that, but it's a goddamn pain to implement. It'd be pretty useful, though. Also, it could include the spell checker someone requested way back at the beginning of time.
Yeah, no, maybe. Using secure trips for capcodes also adds extra protections against accidentially misspellingyour capcode and leaving it open to attack.
> Wait, why should l50 links be indexed/cached?
Because the only way for the search engine to find the old threads is to go through the l50 links. I'm taking the advice of >>322 though.
> The CSS in the All threads page is unsightly. Is there a way to properly wrap the outer color border(s) around the table of threads?
You need to explain what you're talking about before I can do anything about that. What style, and what does "wrap the outer color border(s) around" mean?
> I still say that the "Navigation: " text is extraneous when people can clearly see what the links do. Also still partitioning for 0ch-style error pages (with displayed user host and all).
It's there because freefloating unlabelled links look weird.
> Now that we do have filesize indicators in the backlog page of mode_message, do you still find it useless to have the red bold filesizes near the bottom of thread subpages?
They're there, but only if you enable pruning by size.
> Does mode_message now work in PAGE_GENERATION => 'paged'?
No. I'm too lazy to figure what that's supposed to do, and I don't think anybody actually wants to use that in the first place.
> Idea: forced anonymous/sage/ID/fusianasan by IP/thread/board/whole site (some of these combinations already exist, I know)?
There's no database to keep IP data in, and I'd prefer to keep the script completely agnostic to IP addresses.
> Finally, I imagine that the permasage/close/delete functions in kareha.pl will be easily interchangeable among the conditions in post_stuff(). Can you confirm this?
No, because I don't know what you mean.