So, as Xee is almost done, and I'm mostly waiting for external contributions, I decided it was time to start working on the Legendary Next Update for Kareha and Wakaba.
Only problem is, it's been a long time, and I've forgotten most of what needs to be done. Most of it is mentioned SOMEWHERE on the board, though. So this is your chance to pipe up with your pet feature request, or if you're feeling really helpful, to dig out some old posts that mention things that need fixing.
Hop to it!
It's also more markup when even the existing one isn't working as well as it should.
Well, you have your chance to try and abuse it over on the test page. Although the list of allowed tags there doesn't exactly match what would be allowed here.
Also, the point is to make the type of markup selectable, so you can pick WakabaMark or HTML or none at all.
>>249
<a href> opens up the possibility of using inline links, and img tags allow bandwidth leeching from other sites (plus the fact that the image itself may be unsanitary).
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).
Again, the list of tags allowed on that page don't correspond to what would be allowed in Kareha. Of course <img> tags wouldn't be allowed, for instance. This is just for testing the actual cleanup engine.
Semantical nitpick: shouldn't the "Page top" link be called "Thread list"?
Maybe. I just picked something at random.
the text
c < d
causes a <d> tag to be opened, which is not on the list, and therefore all the text until the next tag will be deleted. a better behavior in this case would be to just convert that < to <. you even ought to do this for
a < b
too, despite the fact that b is a valid tag, because who the hell leaves the closing angle bracket out of their HTML tag?
creating the correct regexes for this is an exercise left to the reader.
This is the obligatory encoding test ... in <code>
㋋㏡
ゔ〲〰 ゔ〲〲〰〰 ゔ〲〰 ゔ〲〰 ゔ〲〰ゔ 〲〰ゔ 〲〰ゔ〲〲〰ゔゔ
〳〵ヷヷヷヷ〰〰〰〳〵ヷヷヷヷ〰〰〰〳〵ヷヷヷヷ〰〰〰
(♛ฺД)(*゜∀゜)~♡ℳฺℴฺℯฺ❤ℒฺℴฺνℯฺ..._〆(゜▽゜*)㌰㌰ ㍉㍍㌧㌔㌶㍊㌣㌦
㌀㌁㌂㌃㌄㌅㌆㌇㌈㌉㌊㌋㌌☠ฺ ☠ฺ ☠ฺ ☠ฺ ☠ฺ ☠ฺ ☠ฺ ☠ฺ ☠ฺ
☼♭♬♫♨♩♧♦♥♤♣♢♠♡♐ฺ♑ฺ♒ฺ♓ฺ ♔ฺ♕ฺ ♖
ฺ ♗ฺ♘ฺ♙ฺ♚ฺ♛ฺ♜ฺ♝(・∀・)/ヾ~~╋┓!㋦㋸㋭°
|壁|」゜ρ゜)」 ノ ヽ``~ 力㋦㋸㋭°
/ ⌒ヽ
/ ´_ゝ`) I am sorry、 the β α κ α kopipe couldn't be carried out・・・
| /
| /| |
// | |
U .U
Random post: The test thread could use some linking in the notes at the bottom (what's the common nomenclature for that one?).
All right, code updated again. This time, some experimenting! I've implemented a tentative system for changing markup types. This needs a bunch of testing, of course, so here's the test thread link once again: http://wakaba.c3.cx/sup/kareha.pl/1099697376/
Thoughts and comments are welcome. I'm still trying to figure out how exactly to do this.
There's a bunch of other changes and fixes too, so mention if anything breaks, as usual. Also, shift-reload!
ugh "More options..."
too much clickable elements! and it doesn't even do anything (Firefox 1.0.7 here)!
out! out!
I told you to shift-reload!
I hate that blue link next to the reply box! It looks ugly!
Also, there's no "Less options..."
Can't this be somewhere else but the post form?
> Can't this be somewhere else but the post form?
No, because that would be immensely useless and annoying, because nobody would know it's there, and even if they did, they'd have to go somewhere else every time they wanted to post something using a different markup.
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.
Oh, and "AA mode" should be changed to "Text art mode" so we won't be incessantly quibbling about the difference between ASCII and SJIS art.
> Did you ditch customizable capcodes?
No, I removed the dumbass capcode I put in as a demonstration, because I don't like capcodes.
> Using "◆" as the default tripkey character.
I dunno, I always thought that was a kind of big and annoying symbol. Especially when it's so close visually to the question-mark-in-diamond marker some fonts use for characters they don't support.
> 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).
The File field is almost never there. Also, WakabaMark is similar to, but not the same as Markdown. There are significant differences that make them incompatible (since Markdown is designed to be used when you know you're using it, but WakabaMark tries as best as it can to not do unexpected things if you don't know about it). I might add optional support for real Markdown at some point.
> In Pseud0ch, post numbers should be the same size/format as the rest of the header text
I tried, and it looked much worse than the current solution. Besides, post numbers in Kareha and 0ch aren't the same, since they're clickable here.
> PS. What's "Raw HTML"?
Pretty useless. I'll probably remove it. It's HTML input without turning newlines into <br/>.
> Oh, and "AA mode" should be changed to "Text art mode"
Maybe just "Text art"... hmm.
> The File field is almost never there.
...especially not when I've added a bug that makes it disappear. Where the hell did it go?
>>275
Heh, I thought you had disabled it manually.
>The File field is almost never there.
Right, and when it isn't, the Formatting menu can still reside on the same line.
The error page in mode_message should more closely resemble that of 0ch (complete with "ERROR!" title).
Text Art's description about auto-linking URLs and >> references is redundant. Not a bad solution with the layout, though (hiding the menu behind "More options..." still bugs me).
Hmmm, I just noticed you still allow <a> tags, which would let posters use inline links. Are you gonna keep that?
> The error page in mode_message should more closely resemble that of 0ch (complete with "ERROR!" title).
Signed. And the style selector on the error page is pretty useless.
Oh, and the navigation bar on the error page should probably look like the one on the thread page.
Should be fixed now.
How about appending an estimated (at the time of thread creation) time of pruning to the first post's header, if pruning-by-age is enabled?
Currently, pruning by age is measured from the time of the newest post in the thread, so it wouldn't really work. I'm not sure if this is the best behaviour or not, but it seems it makes more sense to kill threads nobody cares about than to kill slow-moving threads just because they get old.
>>294 Hey I like the new formatting bit. Should it collapse back down if you click away or if you click the "More options..." bit again, like the text box?
Just a thought. This setup is easier and more obvious than using the link field, with "AA" or "Wakabamark". BTW, I just realized that was a pun. Boo! Hiss! Not punny! :)
> how about having a third party create extensions for those browsers and freeing up the real estate on the actual page?
What's with this obsession on removing the CSS options? It's a single line, and some of us find it useful.
Real estate? Scroll down.
> Is it intentional that thread links without a trailing slash
Uh, I was wondering the same thing. I'm not sure. I guess I should fix that.
> You don't see the link to the WakabaMark page either?
Nope... ?
> There's just a tiny little link there to let people do this. Is this really a such a huge bother to deal with? It's two words.
It's a link, it screams "Click me!". Most people don't need it most of the time, still it'll be there all of the time. How about style:none or something?
And sorry for being annoying. Strong opinions and all, no offense.
Shift-reload already! Also, most people are familiar with "More options..." links and know when and when not to click them. I might see about styling it, though.
> It's a link, it screams "Click me!".
There's something to be said about obsessive-compulsive... >.>;
And my post ist a good example for chosing the wrong markup :/
> Why not make None or Text Art the default?
Because >>309. I don't want to implement half of WakabaMark for the None mode, and without it you don't get stuff like quote highlighting.
> Also, can you make >> links into anchors('#') when you're on the reply/entire thread page, especially in Wakaba?
Er, that is exactly how Wakaba works right now? And Kareha can't change the contents of posts dynamically, so it'll never do it.
Well, I don't want to have to read posts without highlighting. It's annoying. Just for that, I don't want leave it off.
On another topic, a vote: I could make the secure tripcodes and other parts of the script that use the SECRET more secure by some small changes, but this would make secure trips change when you install the new version.
Good idea, y/n?
I vote yes, but that is obvious isn't it?
>>313 Like lots of people use them anyway </sarcasm>. Yes, security is a good idea. What are the holes, anyway?
Nothing specific, just protecting against any possible future ones.
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.
rel=nofollow for internal links as discussed in http://wakaba.c3.cx/sup/kareha.pl/1127092367/
And maybe this: http://wakaba.c3.cx/sup/kareha.pl/1126586277/5
About rel=nofollow: What links should have it? Obviously not the "entire thread" link, but the l50 links in the thread list sort of need it, otherwise the search engine will never find them in the first place. But that means the l50 links will end up in the index.
You could add entire thread links to either the "num" or "posts" column in subback.
>>321
Wait, why should l50 links be indexed/cached? IMO the only links that should be on Google at all are main pages and "entire thread" links.
Some final points (I hope) before the whole thing is wrapped up:
>>324
I've heard they use it on a per-IP basis for troublesome posters on 2ch. It could also discourage people from being jisakujien (supposing ID is disabled) or posting in a certain thread unless they're totally willing to have their host revealed.
> 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.
What about a(n) (optional) preview page? It would be nice, especially with the multiple formating options. It also allows most of the benefits of being able to edit posts, without being able to edit posts. I don't know how often I've screw up a quote because it didn't look like multiple lines but it was.
Is there a reason why the post box is so small and pushed to the side?
Forced fusianasan would be fine I think, if they had advanced warning.
> 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.
>You need to explain what you're talking about before I can do anything about that.?
See attached screenshot. It's in every style but Pseud0ch.
>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.
Well the functionality is already in kareha.pl, right? All you need is some modifications to the mode_message template. You can check out the 2ch-like boards on Futaba for reference, though I'm pretty sure I've seen other 2ch-like boards that implement multi-paged functionality with a different layout. Personally, it isn't all that big a deal if it's just a template issue though.
>There's no database to keep IP data in, and I'd prefer to keep the script completely agnostic to IP addresses.
No need for a database, just a text file. You're right about storing IPs, though, but then how can you implement a banning system? Do you use an encrypted IP like the algorithm to generate ID codes?
>No, because I don't know what you mean.
I mean that (for example) if I wanted to replace the permasaging function under the MAX_POSTS condition (permasage after X posts) with the thread-closing function (close after X posts), all it would require is a simple replacement of the proper function references in post_stuff(), correct?
>(optional) preview page
Excessive, methinks.
>Is there a reason why the post box is so small and pushed to the side?
Because mode_message is modeled after the 0ch layout. To compensate for the smallness, it expands automatically when you click inside it.
>Forced fusianasan would be fine I think, if they had advanced warning.
This can be easily done manually with rules.html
Oops, here's the screenshot. orz
While we're on that note, can there be a config.pl option to toggle between opening file attachments in a new window or in the current window?
>>323-324
The 2channel moderation request forms that are mods of 0ch use 強制リモホ, which is Forced_Remote_Host, more or less. And it makes sense, there.
Forced_IP is only enabled on the "Siberia super-news flash" board: http://etc3.2ch.net/siberia/
And I have no idea what that board is about...
>>327-328
All of this would be better handled by an external application. I think you are putting way too much work into user gimmicks as it is.
More options means putting more buttons, links, etc. into the interface. I am still bothered by the "More options...", but I am just a text purist (doing my fair share of AA, though) anyway, so meh meh... ( ´・ω・`)
Suggestion / Request
Making "More options..." an option in the configs.
Seems sensible, when you already have the ability to turn off WakabaMark as a board admin. Also, it will make me stop whining (a bit).
>>333
The whole point of websites is to implement things without the external application. I don't understand the argument for OH NO ANOTHER BUTTON MY WHOLE LIFE IS RUINNED crowd. If you don't like the extra buttons why don't you remove them with an external application and/or preferences? When you are talking about formating options, a preview makes sense. Are you going to set up your thrid-party application for every configuration of tags supported for every board?
If a feature is of a wide enough audience, it should be included. I'm sure nearly everyone could use a preview every once in a while, whereas something like a Bible quotation functionality would not have wide use.
I don't see what's so bad about >>330. The alternative is to force the table to be full width, which will make it uglier (because in HTML all columns will become wider, including the skinniest ones), and harder to read.
> No need for a database, just a text file. You're right about storing IPs, though, but then how can you implement a banning system? Do you use an encrypted IP like the algorithm to generate ID codes?
Banning is done through Apache, which really makes more sense than doing it in the script. I don't want to re-invent the wheel for that.
> I mean that (for example) if I wanted to replace the permasaging function under the MAX_POSTS condition (permasage after X posts) with the thread-closing function (close after X posts), all it would require is a simple replacement of the proper function references in post_stuff(), correct?
No, they're done at different different places, because they are essentially different functions. The permasage behaviour doesn't actually permasage a thread, it only refrains from bumping it. There's no permsage flag added to the thread. The closing, on the other hand, does add a flag to the thread.
> Making "More options..." an option in the configs.
> Seems sensible, when you already have the ability to turn off WakabaMark as a board admin.
No. And I actually removed the DISABLE_WAKABAMARK option since it's no longer really needed. The replacement will be an option to select the default markup for a board, which makes much more sense overall.
> I don't understand the argument for OH NO ANOTHER BUTTON MY WHOLE LIFE IS RUINNED crowd
It's all a design & layout question. I'd like to have the interface reduced to what is absolutely neccessary, esp. since I do not think many people really want to even bother or bother very often with the whole markup question.
> The replacement will be an option to select the default markup for a board, which makes much more sense overall.
I agree, this seems to make the most sense. I understand the "More options..." will not be showing up on boards with fixed settings, so I'll shut my mouth from now on. Apologies to all who I've been bothering.
> I'd like to have the interface reduced to what is absolutely neccessary
That's why there is a "More options..." link, instead of putting the controls there on every single thread everywhere.
>>336
IMO minimalist web applications like Kareha should only focus on core content/functionality and leave the inconsequential presentation options up to browser extensions so that each user can tweak them to his whim. That's why I was pushing to offload the CSS selector to an extension.
>>337
Here's a better example, I think. Even if we can't remove the excessive side borders, is there a way to at least have rounded corners?
On formatting options: I think >>338 fails to understand that leaving the formatting options up to each individual user is a good thing by all means. Besides, they are absolutely necessary to the interface and core functionality, just like the Name and URL fields are. Preview functionality, on the other hand, should be implemented in an extension.
I think the issue that people have with the formatting options is that we don't have a Japanese counterpart to blindly model it after. Since we're going at this on our own, nobody is quite sure how it should be done. I'd like to see how it turns out on mode_image (if you feel the need to include it at all). :)
There are some inconsistencies in both the Blue Moon and Futaba styles, with regard to the size and formatting of text labels in the Create new thread and Reply form areas.
The spacing of the Create new thread title is off in Futaba, Headline, and Toothpaste.
None of the styles that utilize rounded corner borders have them in the Create new thread area.
I don't see any inconsistencies in >>341 except for the rounded corners.
>>342
Well, for example, in both forms the text labels are bolded when they shouldn't be, in Futaba and Blue Moon. If you take a look at Blue Moon, the text labels in Create new thread are larger than those in the Reply box.
"When they shouldn't be?" They've always been bolded.
http://wakaba.c3.cx/sup/kareha.pl/1114201493/l50
Or use some sort of filter to replace them characters with underscores on upload.
This offcourse for files that keep their original filename.
Thanks. I did it the hard way and put in the proper transformations everywhere so filenames can be kept intact, though.