Auto converting first letter uppercase for tag name and page name

edit: This request has been cancelled by myself.

Describing Problem

When I create a new tag or page, it saves the exact spelling and capitalization I use. For example, if I type “Apple” with an uppercase A, it will always show up as “Apple” in the future. I like this feature because it lets me use lowercase tags without changing them.

However, the problem is that I have to remember if I already created a tag or page before. If not, I have to type it with an uppercase letter first. This adds an extra and unnecessary step of thinking when I name my tags.

Expected Solution

Since both tags and pages end up creating new pages, I think they should always be saved with the first letter capitalized, regardless of how users type them. For example, if I type “apple” as a tag or page, it should automatically become “Apple”.

This would make it easier for users to create tags and pages with lowercase letters without any extra thinking. If some users don’t like this feature, I hope it can be optional.

In my opinion, the default no-extra-thinking case should be the lowercase.

  • Reading is more important than writing.
  • The case of letters is primarily for humans.
    • Apple” the company:
      • always uppercase
    • apple” the fruit:
      • uppercase at the beginning of a full sentence
        • tags are not full sentences
      • lowercase elsewhere
    • Although it is strange to use both the fruit and the company in the same graph, namespaces provide a differentiation.
      • This needs extra typing.

Given the different opinions, this should be configurable.

1 Like

@mentaloid Thanks for your opinion! I think I was thinking in the wrong direction. Actually, it doesn’t have to make any change, and I’m now have an easy CSS solution to fulfill my need:

.page-title::first-letter {
  text-transform: uppercase !important;

Now I can just change all my tags and page-ref to all lower case, and use all lower case for tags and page-ref in the future, and only use first letter uppercase for the specific situation. But whatever how I named my tags and page-ref, the page title will always be showing as first letter uppercase.

Just for extra clarity, do remember that Logseq isn’t case-sensitive.
Apple and apple are the exact same page, regardless of how you will write it.

Funny little thing though:
I have 2 pages Apple and banana.

Writing [[Banana]] works just fine.
Writing [[apple]] converts it to [[Apple]]


Just some extra info for someone who comes across this.

1 Like

Yes, that’s why I opened this request from the beginning. When both tags and page-ref would be auto-converting text to match our typing of the first creation, I think it would be nice if it defaults to all first letter capitalized. But after I read @mentaloid reply, I think my request will create another problem as he said.

So, I finally decided only to capitalize the first letter for the page title through custom CSS, then I can use only lowercase for all page-ref and tags within the block content by default and also can avoid the problem mentioned by @mentaloid.