Homemade Source/Dataview snippets

[DataviewJS] Quick Search MK.2

반응형

이전에 소개했던 Quick Search의 개선 버전입니다.

개선사항

  • 스타일이 변경되었습니다.
  • 더보기, 페이징 기능이 추가되었습니다.
  • add note의 템플릿 추가시 오류가 발생하지 않게 변경되었습니다.
  • 다크테마, 라이트 테마에 대응하게 변경되었습니다.
  • 북마크한 노트를 최상단에 위치하게 변경되었습니다.

기능

검색

검색기능은 Quick Search MK.1과 달라진 점이 없습니다.

더보기

페이징

설치 방법

Vault명/Scripts/QuickSearch폴더를 생성합니다.

Quicksearch.zip
0.00MB

 

위 압축파일을 다운받아 압축을 풀면 view.js, view.css파일이 있습니다. 두 파일을 Vault명/Scripts/QuickSearch 폴더안에 넣어줍니다.

```dataviewjs
await dv.view("Scripts/QuickSearch")
const qm = new qmList;

const config = {
    current: dv.current(),
    pages: dv.pages('')
        //.where(p => p.tags && p.tags.length > 0)
        .sort(p => p.file.starred, 'desc'), 
    pageNum: 16,
    addNoteTp: { template: '템플릿명', folder: '폴더명', label: 'add Note' },
    //addNoteQuickadd: { QaName: 'QuickAdd명', label: '버튼 이름' },
    enableSearch: false,
    currentPage: 1,
    paginationElement: [],
    resultsDiv: dv.el("div", "", { cls: "quickSearch notes-container" }),
    noteTemplate: "<div class='listViewItem'><div class='inner' style='background-image:url({{bgimage}})'><a data-href='{{filePath}}' class='internal-link'><span class='image'><img src='{{image}}' /></span><div class='title'>{{title}}</div><div class='fileDate'>{{fileDate}}</div><div class='tags'>{{tags}}</div><div class='starred'>{{starred}}</div></a></div></div>",
    properties: [
        { name: 'tags', type: 'tags' },
        { name: 'starred', type: 'starred' }
    ],
};

let filteredPages = await qm.applyFilters(dv, config);
dv.container.appendChild(config.resultsDiv);
await qm.updatePage(dv, config, filteredPages);
```

위 스크립트를 복사해 사용하시면 됩니다.

  • pages: dv.pages('') : 페이지 설정 dv.pages('"폴더명"')이나 dv.pages('#태그') 형식으로 사용합니다. 미설정 시, 볼트 내 모든 문서를 검색합니다. 
  • addNoteTp: 새 노트 추가버튼입니다. 
  • addNoteQuickadd: Quickadd 추가 버튼입니다. 퀵애드로 명령어를 등록 후, QaName에 해당 명령어를 추가해서 사용합니다. 

버전 변화

  • 링크에 작은 따옴표(')가 있을경우, 링크가 제대로 표시안되는 문제(5월 27일 - eiai님)
    • filepath에서 작은따옴표를 HTML 엔티티로 변환

관련 글

 

[DataviewJS] Quick Search mark.1

퀵 서치 Dataview 스크립트입니다. default 테마, light 모드 기준으로 작성되었습니다. 예시 필요 플러그인 dataview templater Dataview 스크립트 ```dataviewjs const addNoteTp = { template: '기본 템플릿', folder: '폴더

kaminik.tistory.com


 

반응형