Pages:
Author

Topic: Identifying the linked-to post in a topic (SMF patch) - page 2. (Read 908 times)

legendary
Activity: 1722
Merit: 4711
**In BTC since 2013**
- Change the color of the entire post , using a different color than the usual alternating blue and grey (but not too different).
Yep. That's pretty much the first thing I tried, but, I couldn't find a color that struck a nice balance between (effectively) highlighting the post, and not drifting too far away from the SMF aesthetic. Maybe I wasn't persistent enough, and someone else might have better luck, but every time I managed to get the post to stand out, it looked ugly/wrong to me, and every time I managed to make it look nice/right, the post didn't really stand out.

What do you think if it's something like this:

Code:
bgcolor=#F7F8E0

Another more or less equivalent tone can be used. I don't think it gave much, and would only be applied in this specific scenario.
hero member
Activity: 510
Merit: 4005
- Change the color of the entire post , using a different color than the usual alternating blue and grey (but not too different).
Yep. That's pretty much the first thing I tried, but, I couldn't find a color that struck a nice balance between (effectively) highlighting the post, and not drifting too far away from the SMF aesthetic. Maybe I wasn't persistent enough, and someone else might have better luck, but every time I managed to get the post to stand out, it looked ugly/wrong to me, and every time I managed to make it look nice/right, the post didn't really stand out.

- Add a little red(?) asterisk or something in the lower-right corner of the post icon (ie. td.td_headerandpost table tbody tr td a img).
Messing with the post icon is a cool idea...

Maybe this one's too subtle, but, a drop shadow on the icon looks kind of nice:



(That's a style="filter: drop-shadow(0 0 2px #355d8099);" on the element; the #355d8099 is a 60% opacity dark/desaturated blue that I color-picked from the top-most gradient on the SMF menu.)
administrator
Activity: 5222
Merit: 13032
I like the idea. All proposed styles seem OK to me, though some alternative styling ideas which come to mind are:
 - Change the color of the entire post , using a different color than the usual alternating blue and grey (but not too different).
 - Add a little red(?) asterisk or something in the lower-right corner of the post icon (ie. td.td_headerandpost table tbody tr td a img).

When you open the HTML source of this page for example, there are a bunch of "shadow" posts under the OP. These are invisible posts that have the same HTML structure as real posts, but they don't have anything inside them. There is usually a random amount of these displayed, anywhere from one to three. So what is the deal with that, and where do they come from?

Those are decoy posts meant to confuse adblockers. This is also why a lot of the CSS classes randomize on each pageload. Now that there are no ads, I could remove both of these things. Would doing so break anyone's parsers?
legendary
Activity: 1789
Merit: 2535
Goonies never say die.
That's a cool idea (that is, using a content string on a ::before pseudo-element), but, besides the advantage of avoiding adding a element (which, all concerned parties seem to agree will either not disturb, or be pretty easy to adjust their parsers for), there are a few drawbacks (in no particular order):
~

The other advantage went back to the customized style sheets people may be using, in the pseudo-element scenario using Style B, they'd have the ability to change the symbol/content.

The pseudo-element wouldn't have to happen on though, I initially picked that because it was the line of code you were modifying in the patch, but it makes more sense on the
above that, to avoid the link interference.

Although, I'm kinda liking the black version on Style C myself now. But, if Style B makes it, I'd prefer the one-time use of the CSS as opposed to the there, but that's just me... I guess I understand not wanting to add a 3rd file into the mix.
legendary
Activity: 1722
Merit: 4711
**In BTC since 2013**
Style C

This one just makes the subject-line link black.


I like this one better, tbh.

No changes to the html tree and I personally find it easier to identify on the page.

I agree too. I think this way is more efficient for what is proposed. And most importantly, it doesn't change the current structure, it's just a matter of layout.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
I'm probably going to quote this out of context once in a while:
if I were building a new frontend for Bitcointalk from scratch
Good luck Cheesy
legendary
Activity: 2758
Merit: 6830
Style C

This one just makes the subject-line link black.


I like this one better, tbh.

No changes to the html tree and I personally find it easier to identify on the page.
hero member
Activity: 510
Merit: 4005
Sometimes the post you're looking for will not even be on the landing page after clicking on the link. (...) Will this pose a problem or it happens too few times for it to actually matter.
Missing/deleted posts won't confuse this patch. What'll happen is that none of the posts will be "marked". (Typically, when I land on a topic-page that's missing the post I was looking for, I usually know that's what's happened because the viewport hasn't snapped to a post, and I can still see the SMF menu; that'll still be the case with this patch.)

In terms of hard-coding any styles in general, is there any reason you are not avoiding the all together and adding an "id" to the element, then just adding to the CSS file?
That's a cool idea (that is, using a content string on a ::before pseudo-element), but, besides the advantage of avoiding adding a element (which, all concerned parties seem to agree will either not disturb, or be pretty easy to adjust their parsers for), there are a few drawbacks (in no particular order):

(*) To me, it feels unnatural to put something in the global stylesheet for such a specific, single use-case. (Though, I'm aware that that's mostly a matter of preference, and I do see some other used-just-once stuff in the stylesheet already. I guess, if I were building a new frontend for Bitcointalk from scratch, I'd probably be inclined to avoid inline styles and to observe stricter separation between content and presentation.)

(*) With this patch, there's no avoiding having to make a small change to Display.php and a small change to Display.template.php (with or without your CSS idea). So, involving the stylesheet would add a third patch-point. Needing 3 co-ordinating pieces for this feature to work makes things a little more fragile and complicated than they should be, I think. (I'm also inclined to believe that theymos is more likely to decide to sit down and review/merge a patch, when that patch involves no more components/changes than necessary.)

(*) When the "marker" is added this way (via a ::before pseudo-element), it forms part of the actual subject-line link (as opposed to sitting next to it in a sibling element), and so, when you hover over it, for example, it looks/responds like it's just some extra characters in the subject-line (which is undesirable for a few reasons, but, the main one, I guess, is that I don't want to introduce any unnecessary confusion around where the marker ends and the subject-line begins; if someone tries, for example, to artificially place the marker into their subject-line before posting, then I want there to be some semi-obvious difference between a genuine marker and a "fake" one). It also picks up the link's color (which lowers the contrast of the marker), and its opacity value ends up affecting a small part of the link's :hover text decoration, which looks kind of messy.

But, I believe the best approach is option A, (...) I would just add maybe a color change, or a different font size, to make this situation stand out more than just italics.
I've looked at a lot of hues by going around the color wheel in ~15 degree increments, and, maybe I'm just really picky, but they all look "wrong" to me in one way or another. What does end up working rather nicely, though, is making the subject-line black. Another thing that works pretty nicely is underlining the subject-line. Underlining also kind of makes sense semantically, in a weird way: Normally, you only see the subject-line underlined when you're about to click on it, but, in this context, you already have clicked on the link (otherwise you wouldn't be seeing it rendered differently to begin with).

Style C

This one just makes the subject-line link black.



Code:
--- baseline/Sources/Display.php 2011-02-07 16:45:09.000000000 +0000
+++ modified/Sources/Display.php 2024-04-04 00:02:44.000000000 +0000
@@ -230,24 +230,25 @@
  SELECT COUNT(*)
  FROM {$db_prefix}messages
  WHERE ID_MSG < $virtual_msg
  AND ID_TOPIC = $topic", __FILE__, __LINE__);
  list ($context['start_from']) = mysql_fetch_row($request);
  mysql_free_result($request);
  }
 
  // We need to reverse the start as well in this case.
  $_REQUEST['start'] = empty($options['view_newest_first']) ? $context['start_from'] : $topicinfo['numReplies'] - $context['start_from'];
 
  $context['robot_no_index'] = true;
+ $context['requested_msg'] = $virtual_msg;
  }
  }
 
  // Create a previous next string if the selected theme has it as a selected option.
  $context['previous_next'] = $modSettings['enablePreviousNext'] ? '' . $txt['previous_next_back'] . ' ' . $txt['previous_next_forward'] . '' : '';
 
  // Check if spellchecking is both enabled and actually working. (for quick reply.)
  $context['show_spellchecking'] = !empty($modSettings['enableSpellChecking']) && function_exists('pspell_new');
 
  // Censor the title...
  censorText($topicinfo['subject']);
  $context['page_title'] = $topicinfo['subject'];

Code:
--- baseline/Themes/default/Display.template.php 2010-10-22 01:38:35.000000000 +0000
+++ modified/Themes/default/Display.template.php 2024-04-07 23:42:42.000000000 +0000
@@ -359,33 +359,34 @@
  echo '
  ', $settings['use_image_buttons'] ? '' . $message['member']['online']['label'] . '' : $message['member']['online']['label'], '';
  }
  }
  // Otherwise, show the guest's email.
  elseif (empty($message['member']['hide_email']))
  echo '
 

 

  ', ($settings['use_image_buttons'] ? '' . $txt[69] . '' : $txt[69]), '';
 
  // Done with the information about the poster... on to the post itself.
+ $is_requested_message = isset($context['requested_msg']) && $context['requested_msg'] == $message['id'];
  echo '
 

 
 
 
 
 
 
 

  ';
 
  // If this is the first post, (#0) just say when it was posted - otherwise give the reply #.
  echo '
 
« ', !empty($message['counter']) ? $txt[146] . ' #' . $message['counter'] : '', ' ', $txt[30], ': ', $message['time'], ' »
';
 
  // Can they reply? Have they turned on quick reply?
  if ($context['can_reply'] && !empty($options['display_quick_reply']))
  echo '
  ', $reply_button, '';

Style D

This one puts a text-decoration: underline on the subject-line link.



Code:
--- baseline/Sources/Display.php 2011-02-07 16:45:09.000000000 +0000
+++ modified/Sources/Display.php 2024-04-04 00:02:44.000000000 +0000
@@ -230,24 +230,25 @@
  SELECT COUNT(*)
  FROM {$db_prefix}messages
  WHERE ID_MSG < $virtual_msg
  AND ID_TOPIC = $topic", __FILE__, __LINE__);
  list ($context['start_from']) = mysql_fetch_row($request);
  mysql_free_result($request);
  }
 
  // We need to reverse the start as well in this case.
  $_REQUEST['start'] = empty($options['view_newest_first']) ? $context['start_from'] : $topicinfo['numReplies'] - $context['start_from'];
 
  $context['robot_no_index'] = true;
+ $context['requested_msg'] = $virtual_msg;
  }
  }
 
  // Create a previous next string if the selected theme has it as a selected option.
  $context['previous_next'] = $modSettings['enablePreviousNext'] ? '' . $txt['previous_next_back'] . ' ' . $txt['previous_next_forward'] . '' : '';
 
  // Check if spellchecking is both enabled and actually working. (for quick reply.)
  $context['show_spellchecking'] = !empty($modSettings['enableSpellChecking']) && function_exists('pspell_new');
 
  // Censor the title...
  censorText($topicinfo['subject']);
  $context['page_title'] = $topicinfo['subject'];

Code:
--- baseline/Themes/default/Display.template.php 2010-10-22 01:38:35.000000000 +0000
+++ modified/Themes/default/Display.template.php 2024-04-07 23:43:30.000000000 +0000
@@ -359,33 +359,34 @@
  echo '
  ', $settings['use_image_buttons'] ? '' . $message['member']['online']['label'] . '' : $message['member']['online']['label'], '';
  }
  }
  // Otherwise, show the guest's email.
  elseif (empty($message['member']['hide_email']))
  echo '
 

 

  ', ($settings['use_image_buttons'] ? '' . $txt[69] . '' : $txt[69]), '';
 
  // Done with the information about the poster... on to the post itself.
+ $is_requested_message = isset($context['requested_msg']) && $context['requested_msg'] == $message['id'];
  echo '
 

 

 
 
 
 

  ';
 
  // If this is the first post, (#0) just say when it was posted - otherwise give the reply #.
  echo '
 
« ', !empty($message['counter']) ? $txt[146] . ' #' . $message['counter'] : '', ' ', $txt[30], ': ', $message['time'], ' »
';
 
  // Can they reply? Have they turned on quick reply?
  if ($context['can_reply'] && !empty($options['display_quick_reply']))
  echo '
  ', $reply_button, '';

(The four styles are conceptually orthogonal: A = subject-in-italics, B = subject-with-graphical-prefix, C = subject-in-black, D = subject-underlined. A + D = in italics and underlined, D + B = underlined and with a graphical prefix, etc.; I think, if it were up to me, I might just go with C: it's nice and simple, with plenty of contrast, so it's really easy to pick out the "marked" post, and it still looks SMFish to my eyes. Though, for some types of color blindness, I can see other choices/combinations making sense.)
sr. member
Activity: 1204
Merit: 290
Reading the thread shows that OP was asking for personalized suggestions, basically the pov of other users. I personally will easily keep tabs on a reply if it is highlighted to me once I land on the page, even if hat fades of later. And it's a middle ground between having less obvious markers which can easily be missed and loud ones which will stand out too much in the page.

Try having some individualized opinions yourself, not so hard, eh?

Seems like you have taken it personally although my intention wasn't to make you feel that way. When we talk about personalized suggestions and opinions, they are supposed to be a solution to the problem being discussed. I don't see any value in a personalized suggestion that isn't in any way solving the problem. That was what I was trying to say if the marker fades away, there is no point in having it in the first place because you would still lose track of the post you were redirected to, you might be able to easily identify the posts but it doesn't mean it's a universal solution, and that is what is being discussed here.  Smiley

Talking about having individualized opinions myself, I did face the problem being discussed here all the time, however, the solutions discussed seemed perfect to me, so I didn't want to repeat anything, but since I didn't find your opinion suitable, I thought of pointing that out since all of us have freedom of speech in the forum and I have every right to do that.  Smiley
legendary
Activity: 2758
Merit: 6830
I’ll have to double check when I get my laptop in ~3 days but as long as you leave the title alone inside its own tag, I can always adjust my scraper. Just don’t commingle the arrow and the actual title in a way you can’t programmatically differentiate both of them.
legendary
Activity: 2114
Merit: 2248
Playgram - The Telegram Casino
Reading the thread shows that OP was asking for personalized suggestions, basically the pov of other users. I personally will easily keep tabs on a reply if it is highlighted to me once I land on the page, even if hat fades of later. And it's a middle ground between having less obvious markers which can easily be missed and loud ones which will stand out too much in the page.

Try having some individualized opinions yourself, not so hard, eh?
legendary
Activity: 1789
Merit: 2535
Goonies never say die.
BPIP grabs this title for the smerit log as well (...)
Oops, how could I forget about you and suchmoon? My bad. Wink

Ah, no worries, it looks like the wouldn't really effect our parsers anyway. Smiley

In terms of hard-coding any styles in general, is there any reason you are not avoiding the all together and adding an "id" to the element, then just adding to the CSS file?  

Code:
#selected_post::before {
  opacity: 30%;
  content: "\2192";
}
sr. member
Activity: 1204
Merit: 290
I will also want a more obvious marker, maybe a darker highlight that fades away after a few seconds on the page. Is this even a possibility?

What's the point of having a marker if it fades away or disappears and you will still have to find the linked-to post by re-entering the link in the URL bar? The actual reason behind this proposal is so that you don't lose the post that you clicked a link to and be able to find it easily even after scrolling up or down on the page.

You need to read this part of the opening post once again I believe because you clearly didn't understand the context of the change being proposed or implemented:

I also sometimes lose track of the linked-to post when I scroll around the page for a bit to get some context before reading the actual post (then, I find myself going to the address bar and hitting Enter so that the browser snaps to the right post again).

In the worst case, both of those situations occur: After landing on the relevant topic-page, you scroll around a bit for some context, then you use the Enter trick to snap to the right post, but that's not reliable for the last or second-to-last post, so you have to do the address-comparing thing too. Cheesy
hero member
Activity: 798
Merit: 1045
Goodnight, ohh Leo!!! 🦅
I will also want a more obvious marker, maybe a darker highlight that fades away after a few seconds on the page. Is this even a possibility?
There's a possibility that Gloves would put up a patch with the darker highlight, but not with an instruction that it fades away on its own after a couple of seconds; not unless you manually refresh the page -- considering the fact that the forum's time-out is way beyond your description.
legendary
Activity: 2114
Merit: 2248
Playgram - The Telegram Casino
Sometimes the post you're looking for will not even be on the landing page after clicking on the link. This I believe happens when some posts in the thread were deleted. Will this pose a problem or it happens too few times for it to actually matter.

I will also want a more obvious marker, maybe a darker highlight that fades away after a few seconds on the page. Is this even a possibility?
hero member
Activity: 510
Merit: 4005
PowerGlove, you seem to know a lot about the custom SMF front end, so let me ask you a question: (...)
I can only guess at what those might be. I think a satisfying answer would have to come from theymos.

I think your changes are too subtle to quickly identify the post I'm looking for.
Yep. I can appreciate that point of view. It's worth pointing out, though, that it's difficult to gauge things just by looking at the example images in the OP; when you see either style A or style B in its proper context (that is, when a differently-rendered post is surrounded by posts that aren't rendered differently), then the differently-rendered post stands out pretty obviously (at least, to my eyes it does).

BPIP grabs this title for the smerit log as well (...)
Oops, how could I forget about you and suchmoon? My bad. Wink

(...) Style C?  Or too obvious?
I think that one is maybe a little too loud. (But, I'm aware that I lean pretty subtle most of the time.)

I mean, my point of view isn't really any more valuable than anyone else's, so if most people think/feel that something a bit more obvious is necessary, then I'm happy to produce patches for styles C/D/E/etc. based on any idea(s) that people like.

One thing to consider, though, is that some users are running modified/customized stylesheets, so a robust solution should try to avoid relying on hard-coded color values (from that point of view, styles A and B are nice and resilient; they'll likely work as intended with any custom stylesheet).

Personally, I think style B has quite a lot of promise; the way it's presented in the OP looks pretty good to me as-is, but the HTML for that style (⇾ ) actually has two degrees of freedom to play with: both the opacity value and the specific Unicode symbol can make a pretty big visual difference. For example, if you bump the opacity up to 60% and change the symbol from U+21FE to U+2B0A (so, ⬊ ), then, it'll look like this:



I suppose, if I ignore my thoughts about custom-stylesheet resilience, and do a slightly taller glyph (U+2BAF), in 60% opacity primary blue, or something, then it's easy to get it to pretty much jump out from the page (⮯ ):



(Something to consider when picking a glyph, is that some of them can either render quite differently or be missing entirely on some devices/browsers/fonts; if that ends up being an actual issue, then, I think what I'll do is bake the symbol into a little transparent PNG, and re-work the patch around that.)
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
As shahzadafzal explained, there is something in the backend that generates these "dummyPosts" and could be related to forum ads.

Only theymos can answer this, but I think it has something to do with the "ad", this bitcointalk ad that appears on every page after the first posts. Because I see there's a pattern, although the number will change as the ad changes, but the ID of this ad has something to do with these posts and this number.

Also, sometimes this post appears once, sometimes twice, or maybe three or four times in a row. It can be above the ad, or sometimes it's around the ad.

I'm not sure if it's related to ads since in this particular rendition of this topic, the ad HTML is below the
's for all the dummy posts (which itself is below the OP).
legendary
Activity: 1789
Merit: 2535
Goonies never say die.
LoyceV and TryNinja would probably appreciate some notice before you merge it, so that they can tweak their scrapers if necessary.
BPIP grabs this title for the smerit log as well, so if style B is chosen, a notice would also be nice to suchmoon or I although I will double-check later if it actually effects us, I just know the order of the tree elements are important on some of the pages.

edit:
Style C?  Or too obvious?
 


Would be on the
above that div:
Code:
legendary
Activity: 1624
Merit: 2594
Top Crypto Casino
PowerGlove, you seem to know a lot about the custom SMF front end, so let me ask you a question:

When you open the HTML source of this page for example, there are a bunch of "shadow" posts under the OP. These are invisible posts that have the same HTML structure as real posts, but they don't have anything inside them. There is usually a random amount of these displayed, anywhere from one to three. So what is the deal with that, and where do they come from?

There is a topic where this was discussed a bit: https://bitcointalksearch.org/topic/what-is-this-glitch-5474601

As shahzadafzal explained, there is something in the backend that generates these "dummyPosts" and could be related to forum ads.

Only theymos can answer this, but I think it has something to do with the "ad", this bitcointalk ad that appears on every page after the first posts. Because I see there's a pattern, although the number will change as the ad changes, but the ID of this ad has something to do with these posts and this number.

Also, sometimes this post appears once, sometimes twice, or maybe three or four times in a row. It can be above the ad, or sometimes it's around the ad.
Pages:
Jump to:
© 2020, Bitcointalksearch.org