Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Block type filtering when inserting reference links via ((, [[ #8009

Closed
TonyAtlas opened this issue Apr 15, 2023 · 8 comments
Closed

Block type filtering when inserting reference links via ((, [[ #8009

TonyAtlas opened this issue Apr 15, 2023 · 8 comments
Assignees
Milestone

Comments

@TonyAtlas
Copy link

TonyAtlas commented Apr 15, 2023

In what scenarios do you need this feature?

Entering "((" or "[[" always displays the same list of suggested links to pages and different blocks.

In order not to duplicate the symbol functionality and to create additional flexibility and quick search when selecting reference links, you can set to output different types of data depending on the characters you enter.

In about 80% of the cases I need to insert pages reference links rather than data blocks links. But when I enter any of the character choices I get all types of information and it is often very inconvenient to look up pages in the list because of the large amount of blocks along with them.

Breaking up the output of information types with "((", "[[" would make searching cleaner and much easier, especially in large workspaces.

Describe the optimal solution

Maybe you can see better how exactly you can divide the search for information by characters. The main thing is to have this separation, since the output itself works through all 2 types of characters ("((", "[[")).

But it could look like this:

"((" - The normal version of the extradition, the one we have now. That is, when all types of data are shown.

"[[" - Output only pages reference links. (What is missing most of all in my opinion).

"{{" - For flexibility, if it's not hard to implement, you could let the user choose what type of information to output for these characters. I.e. it is a menu, similar to the output filter in the search box.

But this is the maximum wish. The most important thing in my opinion to have the ability to separately obtain in the output reference page links without any blocks.

Describe the candidate solution

No response

Other information

No response

@HowcanoeWang
Copy link

一些背景信息 | Some background information

image

可以在设置中选择显示的类型 | And type filters when searching in the setting

image

但是我确实同意应该在搜索中提供类型过滤的快捷键,但是不是使用不同的起手符号来区别(为了兼容不同软件之间共同的快捷键),个人更喜欢使用关键字/符号来开启类型过滤

But I do agree that need some quick filters in the search function, but instead of using different start symbols (Compatible with commonly used shortcuts from other note software), personally prefer using keywords or symbols to filter tyes.

E.g.:

(( text text :h3 来过滤三级标题

(( text text :h3 to filter types of heading 3

image

@TonyAtlas
Copy link
Author

TonyAtlas commented Apr 17, 2023

Thank you for correcting my suggestion and sharing the information.

Your filtering option is only convenient if the person writes in English.

I write in another language. This means that, for example, in order to start looking for reference links only among notes (and not blocks), I have to switch to English first, enter this letter, then switch back to my language and already write in it what I'm looking for.

Add to this that we also enter a number of characters in addition to this letter: "((:"

It turns out a bit complicated construction, and not at all inconvenient for those who write in languages other than English.

Your version can be used if to create in the settings the possibility for each user to assign its own symbol in its own language for each type of information.

My version is not as accurate, but very easy to type.

Also, in my case I usually don't remember what type of block I need when specifying a reference (list, paragraph, quote, etc.), but I usually always remember whether it's a block or a page.

So in my opinion this is a more important, simple and global distinction than between block types. And the "((" and "[[" characters would be perfect for this.

Perhaps the developers will come up with some of their own more effective option.

@TonyAtlas TonyAtlas changed the title Content type filtering when inserting reference links via "((", "[[", "{{". Content type filtering when inserting reference links via "((", "[[". Apr 17, 2023
@88250 88250 changed the title Content type filtering when inserting reference links via "((", "[[". Content type filtering when inserting reference links via ((, [[ Apr 17, 2023
@88250
Copy link
Member

88250 commented Apr 17, 2023

For a long time, [[ actually existed only as a more convenient key (without pressing Shift), the reason why we did not consider filtering only document blocks is that we want to keep all blocks on an equal footing, This design can achieve better consistency.

But in terms of actual use, as you mentioned above, it is possible to reference document blocks in most usage scenarios, so it should be more sensible to give up some design consistency for better convenience, thanks for your proposal.

@88250 88250 added this to the 2.8.5 milestone Apr 17, 2023
@ciceronianus
Copy link

Just on the use of [[ as a more conveient key than (( . I think this is pretty dependent from the keyboard layout. E.g., in Czech, [[ is more difficult to type than ((, because the former requires AltGr key, while the latter only shift key.

This is just a reminder how relative is what is easy to type :).

@88250
Copy link
Member

88250 commented Apr 17, 2023

@HowcanoeWang It is actually not easy to search for overly detailed types, such as the h3 filter you mentioned. In fact, before searching, we have a high probability of not knowing whether we can hit on this detailed type.

@88250 88250 closed this as completed Apr 17, 2023
@88250 88250 changed the title Content type filtering when inserting reference links via ((, [[ Block type filtering when inserting reference links via ((, [[ Apr 18, 2023
@HowcanoeWang
Copy link

Any use examples or illustrations for this updates? feels no difference between (( and [[ in the latest version

@88250
Copy link
Member

88250 commented Apr 18, 2023

@HowcanoeWang [[ just search for doc blocks, (( search for all types of blocks.

@HowcanoeWang
Copy link

HowcanoeWang commented Apr 19, 2023

related CN forum link: https://ld246.com/article/1681874537098

@TonyAtlas
Your filtering option is only convenient if the person writes in English.

I write in another language. This means that, for example, in order to start looking for reference links only among notes (and not blocks), I have to switch to English first, enter this letter, then switch back to my language and already write in it what I'm looking for.

As Chinese user, siyuan can handle both EN : and CN : at the same time, and no need to switch input lang for the symbol. And for most Chinese input, hitting shift will switch to EN mode very conveniently, could you give more explanation for your lang input?

And another alternative option is using tab as the block type filter rather than : symbol (but may conflict with #7995 )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants