jomaxro
(Joshua Rosenfeld)
21 فبراير 2017، 11:59م
1
The company I currently work for capitalizes its name in a unique way (capital in the middle). On our Discourse site, we have a tag that we’d like to use the same capitalization. I understand Discourse lowercases all tags in the back-end, which is perfectly fine. I’m hoping to use JS or CSS to change the tag in the UI.
Is the following safe? Will it get all instances of a tag? Is there a better way to accomplish this?
.tag-tag_name_here {
visibility: hidden;
position: relative;
}
.tag-tag_name_here:after {
visibility: visible;
position: absolute;
content: "tag_nAme_here";
top: 0;
left: 0;
}
Edit: That doesn’t work…breaks on /tags/tag_name_here
cpradio
(cpradio)
22 فبراير 2017، 12:00ص
2
If it works, that should get all instances as you are hitting the tag name class directly which isn’t targetting a specific location.
إعجاب واحد (1)
jomaxro
(Joshua Rosenfeld)
22 فبراير 2017، 12:02ص
3
And it doesn’t work…
It works for tags in the topic list and in a single topic view, but it breaks on the specific /tags
page…I’m back to searching for a solution.
cpradio
(cpradio)
22 فبراير 2017، 12:20ص
4
Can you screenshot where it doesn’t work?
.tag-bears {
visibility: hidden;
position: relative;
}
.tag-bears:after {
visibility: visible;
position: absolute;
top: 0;
left: 0;
content: "bEars";
}
The above works for me.
Tags page
Tags drop down on Latest
Topic List
Docked Topic Title
Undocked Topic Title
The list goes on, all places seem to show it with the capitalization.
إعجابَين (2)
jomaxro
(Joshua Rosenfeld)
22 فبراير 2017، 3:21م
5
Sorry for the delay, was travelling last night. Here are two examples where it’s not working. The first is the issue I mentioned yesterday. The second is another I noticed today.
mysite.com/tags/tag_name
A topic with multiple tags (that should be bEars
between feedback and question):
cpradio
(cpradio)
22 فبراير 2017، 3:25م
6
To solve the first one, we need to exclude situations where it has the tag class name and the tag-drop class name, so the CSS becomes
.tag-bears:not(.tag-drop) {
visibility: hidden;
position: relative;
}
.tag-bears:not(.tag-drop):after {
visibility: visible;
position: absolute;
top: 0;
left: 0;
content: "bEars";
}
Looking at the second one still
3 إعجابات
cpradio
(cpradio)
22 فبراير 2017، 3:30م
7
To solve the second one, you need two more rules.
.list-tags, .discourse-tag.tag-bears:not(.tag-drop):after {
content: "bEars, " !important;
}
.list-tags, .discourse-tag.tag-bears:not(.tag-drop) {
margin-right: .5em;
}
One that says, hey, overwrite the existing :after
rule for adding the comma in the tag separated list for my specific tag, and the second to provide some margin due to overriding it.
3 إعجابات
jomaxro
(Joshua Rosenfeld)
22 فبراير 2017، 3:39م
8
Thanks @cpradio , we’ve surpassed my CSS knowledge at this point. To confirm I want 4 CSS rules now?
Edit: Assuming I need all four, this still isn’t working…now there’s a comma added regardless of the tags place in the list:
cpradio
(cpradio)
22 فبراير 2017، 3:46م
9
Yes.
Try this to resolve the comma
.tag-bears:not(.tag-drop) {
visibility: hidden;
position: relative;
}
.tag-bears:not(.tag-drop):after {
visibility: visible;
position: absolute;
top: 0;
left: 0;
content: "bEars";
}
.discourse-tags .discourse-tag.tag-bears.simple:not(:last-child):after, .list-tags .discourse-tag.tag-bears.simple:not(:last-child):after {
content: "bEars, " !important;
}
.list-tags, .discourse-tag.tag-bears:not(.tag-drop) {
margin-right: .5em;
}
5 إعجابات
jomaxro
(Joshua Rosenfeld)
22 فبراير 2017، 3:50م
10
Awesome, thanks @cpradio ! I’m learning more and more about CSS each time we chat, thank you so much!
إعجاب واحد (1)
jomaxro
(Joshua Rosenfeld)
22 فبراير 2017، 4:24م
11
Added two more rules to fix some lingering formatting issues - now the grey background exists for the tag filter, and the tag is properly aligned in the dropdown:
.tag-bears:not(.tag-drop) {
visibility: hidden;
position: relative;
}
.tag-bears:not(.tag-drop):after {
visibility: visible;
position: absolute;
top: 0;
left: 0;
content: "bEars";
}
.tag-badge-wrapper.badge-wrapper.bullet.tag-bears:after{
position: absolute;
padding: 5px;
}
.badge-category.tag-bears:after{
padding: 5px 8px;
background: #e9e9e9 !important
}
.discourse-tags .discourse-tag.tag-bears.simple:not(:last-child):after, .list-tags .discourse-tag.tag-bears.simple:not(:last-child):after {
content: "bEars, " !important;
}
.list-tags, .discourse-tag.tag-bears:not(.tag-drop) {
margin-right: .5em;
}
3 إعجابات
This topic was automatically closed after 2663 days. New replies are no longer allowed.