사전 설정 브라우저 고급 필터링

뷰포트 옵션에는 간단한 여러 줄 편집 필드가 있습니다 Filter String. 이를 통해 고급 사용자는 마크 업 및 메타 데이터를 테스트하여 사전 설정 브라우저에 표시되는 내용을 제한 할 수 있습니다. 이 필터는 썸네일 브라우저 또는 일반 목록에서 현재 볼 수있는 파일에 영향을 미치며 파일 만 필터링하거나 파일과 디렉토리를 모두 필터링하도록 설정할 수 있습니다.

필터의 기본 입력 형식은 다음과 같습니다.

(NOT class:attribute(options)={value}..{value}) COMBINER

공백으로 구분하여 원하는만큼 가질 수 있습니다.

Parentheses -그룹화 목적으로 여러 테스트를 괄호로 묶을 수도 있습니다. COMBINER는 다음 테스트와 비교하여이 테스트를 처리하는 방법을 결정합니다.

NOT -옵션 NOT 접두사는 다음 테스트를 반전시킵니다.

class -클래스는 "내재적"메타 데이터, 사용자 또는 공유 중 하나이며 속성을 가져 오는 위치를 결정합니다.

attribute -테스트 할 속성의 내부 이름. 속성은 대소 문자를 구분하며 내부 문자열 이름 지정 규칙을 준수한다는 사실 외에는 상당히 임의적입니다.

내장 클래스는 다음과 같은 특수 속성을 지원합니다.

path : (filepath) 파일의 전체 로컬 경로입니다.

name : (문자열) 확장자를 포함하여 경로의 이름 부분.

ext : (string) 파일의 확장명입니다 (있는 경우).

size : (memory) 디스크의 파일 크기입니다. 디렉토리는 현재 크기가 0을 반환합니다.

isFile : (부울) 파일 인 경우 True입니다. 이것이 디렉토리 인 경우는 false

numFiles : (정수) 디렉토리에서 인식 된 총 파일 수입니다.

numDirs : (integer) 디렉토리의 총 하위 디렉토리 수입니다.

numChildren : (정수) 디렉토리에서 인식 된 총 파일 및 하위 디렉토리 수입니다.

modTime : (문자열)이 파일 또는 디렉토리가 마지막으로 수정되거나 작성된시기 (둘 중 최신).

공통 사용자 및 공유 마크 업의 예는 다음과 같습니다.

isFavorite : (부울)이 항목이 즐겨 찾기로 표시되면 True입니다.

starRating : (정수) 0-5는 사용자가 지정한 별 등급을 나타냅니다.

태그 : (문자열) 태그 지정을 위해 사용자가 제공 한 임의의 문자열.

author : (문자열) 파일의 저자.

저작권 : (문자열) 저작권 정보.

desc : (문자열) 파일에 대한 설명입니다.

마크 업은 사용자가 확장 할 수 있으며 임의의 속성을 포함 할 수 있습니다.

(옵션)

이들은 선택 사항이지만 존재하는 경우 괄호 안에 있고 속성 이름을 따라야합니다. 사용 가능한 옵션은 데이터 유형에 따라 다릅니다. 옵션 목록은 공백으로 구분됩니다. 문자열의 경우 :

부분 문자열 : 테스트 값의 속성을 부분 문자열로 검색합니다. 이것이 기본값입니다.

패턴 : 패턴 일치를 수행합니다.

case : 비교는 대소 문자를 구분합니다. 기본값은 대소 문자를 구분하지 않습니다.

정확한 : 문자열은 테스트 값과 정확히 일치해야합니다. 대소 문자를 구분하여 비교하기 위해 대소 문자와 함께 사용할 수 있습니다.

운영자

데이터 유형에 따라 동작이 약간 다르지만 연산자는 표준 수학 테스트입니다.

= (같음); 값이 정확히 일치해야합니다. 문자열과 함께 사용하면 설정되는 옵션에 따라 패턴 일치, 하위 문자열 검색 또는 정확히 일치합니다.

<(보다 작음),> (보다 큼), <= (보다 작거나 같음),> = (보다 크거나 같음); 기본 로직 테스트.

숫자 형식에서는 예상대로 작동합니다.

플로트 수에서는 기술적 인 이유로 플로트를 직접 비교할 수 없으므로 매우 작은 임계 값 (엡실론)과 비교됩니다.

문자열에서 C 함수 strcmp (또는 대소 문자 옵션이 설정되어 있는지 여부에 따라 대소 문자를 구분하지 않는 버전)를 수행하고 결과를 테스트합니다. 이것은 modTime 속성을 다른 시간과 비교하여 해당 시간보다 최신 또는 오래된 파일을 찾을 때 가장 유용합니다.

연산자가 제공되지 않으면 class : attribute가 파일 또는 디렉토리에 존재하는 한 필터가 일치합니다.

속성이 파일이나 디렉토리에 존재하지 않고 연산자가 존재하는 경우 (즉, 존재 테스트 만 수행하는 것이 아님) 테스트 대상 값에 관계없이 테스트는 실패한 것으로 간주됩니다.

테스트 할 값입니다. 다음 방법 중 하나로 포장해야합니다.

중괄호 {...} : 값 문자열이 "원시"형식 값으로 구문 분석됩니다.

대괄호 [...] : 값 문자열이 "nice"형식 값으로 구문 분석됩니다.

중괄호보다 작거나 큼 <...> : 문자열은 class : attribute path 형식이며 테스트 할 다른 속성을 나타냅니다. 경로는 선택 사항입니다. 존재하는 경우, 디렉토리 캐시의 다른 파일 또는 디렉토리에 대한 전체 로컬 경로입니다. 생략하면 현재 항목에서 속성을 가져옵니다.

검색 문자열 안에 중괄호가 필요한 경우 이러한 중괄호를 중첩 할 수 있습니다. 해당 문자열 안에 불균형 중괄호가 있으면 이스케이프 처리해야합니다. ` (백틱). 당신이 검색 해야하는 경우 ` (백틱) 다른 것으로 탈출해야합니다. ` (백틱). 예를 들어 ``(나란히 두 개의 백틱).

존재하지 않는 속성에 대한 테스트

속성이 실제로 항목에 존재하는 경우에만 값 테스트가 수행된다는 점에 유의해야합니다. 이것은 당신이 가지고있는 모든 것을 확인하고 싶다면 isFavorite 속성을 false로 설정하고 다음을 수행했습니다.

사용자 : isFavorite = {false}

이전에 즐겨 찾기로 플래그가 지정된 다음 다시 꺼진 항목 만 일치합니다 (해제하면 속성을 false로 재설정하기 때문에 마크 업에서 제거되지 않음). 따라서 필터에 대해이 작업을 수행해야합니다.

user : isFavorite = {false} 또는 NOT user : isFavorite

다음과 일치하면 isFavorite 속성이 false이거나 isFavorite 속성이 존재하지 않습니다.

범위 테스트

그만큼 .. (두 마침표) 구문을 사용하여 위에서 설명한 값과 두 번째 값 사이의 범위 테스트를 수행 할 수 있습니다. 다음의 두 번째 값 .. 첫 번째 값과 동일한 형식 규칙을 따릅니다. 이것은 오직 = (동일한) 연산자는 다른 연산자와 의미가 없으므로

숫자를 비교할 때 class:attribute 첫 번째 값보다 크거나 같고 두 번째 값보다 작거나 같아야합니다.

문자열을 비교할 때 둘 다에 대해 테스트됩니다. class:attribute의 가치 strcmp( ). 대소 문자를 구분하지 않는 버전의 경우 대소 문자를 설정하면 다른 문자열 옵션이 무시됩니다.

모르는 사람들을 위해 strcmp() 문자열이 "보다 작음"(일반적으로 "정렬 순서로 오기"를 의미하는 것으로 생각할 수 있음) 또는 다른 문자열보다 "큰 경우"를 반환합니다. 그만큼 class:attribute 값 문자열은 첫 번째 값 문자열보다 크거나 같고 두 번째 테스트 문자열보다 작거나 같아야합니다. 이것은 주로 파일 시간을 테스트 할 때 유용합니다. intrinsic:modTime 속성을 사용하여 두 시간 범위에서 파일이 생성되었는지 확인할 수 있습니다.

결합기

여러 테스트를 수행 할 때 ANDOR 결합기는 모두 일치해야하는지 또는 일부만 일치해야하는지 결정하는 데 사용할 수 있습니다. AND 선택 사항이며 제공되지 않은 경우 유추됩니다. 이것은 괄호와 결합 할 때 가장 유용합니다.

예를 들어, 즐겨 찾기 플래그가 사용자 마크 업에 설정되어 있거나 사용자 마크 업 별표가 없거나 존재하지 않고 1보다 작은 경우에 일치합니다.

user : isFavorite = {true} AND (사용자 : starRating OR 사용자 : starRating <{1})