Files
triliumnext-korean-patch/updates/2026-09-05/work/trilium/api-script-ko.txt
T

197 lines
13 KiB
Plaintext

스크립트가 렌더링한 전체 내용을 담는 영역
예:
ctrl+shift+a
같은 바인딩을 여러 번 호출할 수 있다면 처리 함수의 네임스페이스를 지정하세요. 같은 ID의 처리 함수가 있으면 새 함수로 교체합니다.
지정한 노트를 가리키는 jQuery 링크 객체를 만듭니다.
(또는 noteId)
사용 중단 예정
대신 api.createLink()를 사용하세요.
현재 실행 중인 소스 코드가 작성된 노트입니다.
날짜 처리를 위한 day.js 라이브러리입니다. 참고:
https://day.js.org
라이브러리 사용 안내
참고
이 함수는 현지 시각을 반환합니다.
반환값
YYYY-MM-DD 형식의 날짜
바이트 단위
api.formatSize()를 사용하세요.
지정한 날짜의 일별 노트를 반환합니다. 없으면 자동으로 만듭니다.
월별 노트를 반환합니다. 없으면 자동으로 만듭니다.
지정한 날짜의 분기별 노트를 반환합니다. 없으면 자동으로 만듭니다.
오늘의 일별 노트를 반환합니다. 없으면 자동으로 만듭니다.
지정한 날짜가 속한 주의 첫날에 해당하는 일별 노트를 반환합니다. 없으면 자동으로 만듭니다.
지정한 날짜의 주별 노트를 반환합니다. 없으면 자동으로 만듭니다.
연도별 노트를 반환합니다. 없으면 자동으로 만듭니다.
메서드
이 실행을 시작하게 한 이벤트의 엔터티
노트를 보호하려면 true를 사용하고 보호를 해제하려면 false를 사용합니다.
하위 트리를 보호하려면 true를 사용하고 보호를 해제하려면 false를 사용합니다.
지정한 길이의 임의 문자열을 반환합니다. 암호학적으로 안전한 난수를 만드는 함수가 아닙니다.
도움말을 표시할 jQuery 객체
사용자에게 확인 대화상자를 표시합니다.
사용자에게 오류 알림을 잠깐 표시합니다.
사용자에게 정보 대화상자를 표시합니다.
사용자에게 정보 알림을 잠깐 표시합니다.
사용자에게 입력 대화상자를 표시합니다.
현재 스크립트 실행이 시작된 노트입니다. 이벤트의 진입점에 해당합니다.
명령을 실행합니다. 매우 낮은 수준의 API이므로 가능하면 다른 방법을 사용하세요.
이벤트를 발생시킵니다. 매우 낮은 수준의 API이므로 가능하면 다른 방법을 사용하세요.
Trilium은 백엔드와 프런트엔드로 나뉘어 실행됩니다. 스크립트가 백엔드에서 변경한 내용은 프런트엔드에 비동기로 동기화됩니다.
이 메서드는 다음 과정이 모두 끝나면 완료되는 Promise를 반환합니다. 백엔드에서
프런트엔드로의 동기화입니다. 새 노트를 만들었다면 프런트엔드에 동기화될 때까지 기다린 뒤 활성화하는 데 사용할 수 있습니다.
새로 만든 노트를 활성화합니다. this.activateNote()와 달리 프런트엔드 동기화 완료까지 확인합니다.
트리와 노트 상세 화면에서 노트를 활성화합니다.
실행 도구 모음에 새 실행 도구를 추가합니다. 같은 ID가 있으면 변경합니다.
이제 왼쪽 위 메뉴에서 실행 도구를 만들거나 변경할 수 있습니다. 메뉴 경로:
실행 도구 모음 설정. 특수한 용도에는 백엔드 API의 createOrUpdateLauncher()도 사용할 수 있습니다.
편집기의 커서 위치에 지정한 글을 추가합니다.
일반 텍스트만 사용할 수 있습니다. HTML은 지원하지 않습니다.
https://codemirror.net/doc/manual.html#api
https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editor-Editor.html
반환된 인스턴스의 사용 안내
노트 상세 화면을 담당하는 위젯에 접근합니다. 사용할 수 있는 메서드의 예:
및
실제 위젯 유형의 구현체에 접근하는 데 사용합니다.
지정한 DOM 요소를 소유하는 구성 요소를 반환합니다. DOM 트리에서 가장 가까운 상위 구성 요소입니다.
DOM 요소
인스턴스 이름은 개별 Trilium 실행 환경을 구분합니다. 특정 인스턴스에서만 작업을 실행해야 하는 스크립트에 유용합니다.
noteId로 노트를 반환합니다. 캐시에 없으면 불러옵니다.
노트 목록을 반환합니다. 캐시에 없는 노트는 불러옵니다.
createLink() 등으로 노트를 하나씩 가져오는 대신 여러 노트를 한꺼번에 캐시에 채울 때 자주 사용합니다.
노트를 찾지 못해도 오류를 보고하지 않음
지정한 메시지를 화면의 로그 창에 기록합니다.
새 분할 화면에서 노트를 엽니다.
새 분할 화면을 활성화하려면 true를 사용하고 현재 화면에 머무르려면 false를 사용합니다.
새 탭에서 노트를 엽니다.
새 탭을 활성화하려면 true를 사용하고 현재 탭에 머무르려면 false를 사용합니다.
매개변수로 지정한 노트를 포함하는 현재 열린 노트를 모두 새로 고칩니다.
포함된 노트의 noteId
백엔드의 내용을 바탕으로 프런트엔드 노트 트리 캐시를 갱신합니다.
지정한 익명 함수를 백엔드에서 실행합니다. 내부적으로 함수를 문자열로 직렬화한 뒤 AJAX로 전송합니다. 비동기 함수가 필요한 고급 용도에 사용합니다. 요청 단위의 자동 트랜잭션 관리는 적용되지 않으므로 api.transactional()로 트랜잭션을 직접 지정해야 합니다.
동기 함수라면 api.runOnBackend()를 사용하세요.
백엔드에서 실행할 동기 함수
백엔드로 보낼 익명 함수의 매개변수 목록
지정한 익명 함수를 백엔드에서 실행합니다. 내부적으로 함수를 문자열로 직렬화한 뒤 AJAX로 전송합니다. 트랜잭션 관리가 올바르게 작동하려면 동기 함수를 전달해야 합니다. 트랜잭션을 직접 관리할 수 있다면 api.runAsyncOnBackendWithManualTransactionHandling()을 사용할 수 있습니다.
속성과 속성값 등을 기준으로 검색할 수 있습니다. 예:
#dateModified =* MONTH AND #log
전체 검색 옵션 안내:
https://triliumnext.github.io/Docs/Wiki/search.html
현재 탭에서 이 노트의 하위 트리만 표시합니다. 참고:
https://triliumnext.github.io/Docs/Wiki/note-hoisting.html
집중해서 표시할 노트입니다. root를 지정하면 전체 트리 표시로 돌아갑니다.
노트는 Trilium의 핵심 데이터 단위입니다.
콘텐츠 유형. 예:
application/json
이 FNote를 프런트엔드 또는 백엔드 스크립트로 실행합니다.
발생 가능한 예외
실행할 수 없는 노트 유형이나 MIME 유형이면 Error가 발생합니다.
이 노트에 도달하는 모든 노트 경로를 반환합니다. 검색 노트가 포함된 경로는 순환이 생길 수 있어 제외합니다.
속성 유형. 예: label 또는 relation
속성 이름
필터링할 속성 유형
필터링할 속성 이름
가능한 노트 경로 중에서 다음 조건에 맞는 경로를 반환합니다:
가장 적절한 경로
대신 getParentBranches()를 사용하세요.
대신 getParentBranchIds()를 사용하세요.
라벨 이름
필터링할 라벨 이름
노트의 날짜 메타데이터를 제공합니다.
대신 getBlob()을 사용하세요.
관계 이름
필터링할 관계 이름
이 노트를 대상으로 하는 관계를 조회합니다.
아무 작업도 하지 않음
이 객체에는 다음 특성을 가진 고급 기능 객체가 들어 있습니다.
사용자가 영향을 판단해야 함
하위 호환성 보장 없음
고급 사용 사례를 위한 객체입니다.
백엔드의 메모리 내 객체 그래프에 접근합니다. 참고:
Becca
HTTP 요청을 위한 Axios 라이브러리입니다. 참고:
https://axios-http.com
대신 브라우저와 호환되는 기본 fetch()를 사용하세요.
HTML 분석과 처리를 위한 cheerio 라이브러리입니다. 참고:
https://cheerio.js.org
현재 스크립트가 실행 중인 노트입니다. 코드가 여러 노트로 나뉘어 있으면 처음 실행을 시작한 노트는 다음과 같습니다:
startNote
함수 호출을 통해 다른 노트인 currentNote로 실행 위치가 바뀔 수 있습니다. C 언어에서는 다음 개념과 비슷합니다:
FILE
현재 화면에서 활성화된 노트와 혼동하지 마세요.
날짜 처리를 위한 day.js 라이브러리입니다. 참고:
이 실행을 시작하게 한 이벤트의 엔터티
sql
스크립트 실행이 시작된 노트입니다. C 언어로 비유하면 현재 프로세스의 main() 함수가 들어 있는 파일에 해당합니다.
XML 분석을 위한 xml2js 라이브러리입니다. 참고:
https://github.com/Leonidas-from-XIV/node-xml2js
예를 들어 backupName에 다음 값을 지정하면:
now
백업은 다음 이름으로 저장됩니다:
backup-now.db
파일
JSON으로 직렬화할 수 있는 객체를 데이터 노트로 만듭니다. 생성되는 노트의 유형은 code이며 MIME 유형은 JSON입니다. 더 많은 옵션은 createNewNote()를 확인하세요.
이 상위 노트 아래에 새 노트 생성
노트에 JSON을 사용할지 여부
간단한 용도에는 비슷한 API인 createTextNote()를 사용하고 복잡한 요구에는 createNewNote()를 사용하세요.
실행 도구 모음에 새 실행 도구를 만듭니다. 같은 ID가 있으면 변경합니다.
사용할 Boxicons 아이콘 이름. 예:
bx-time
영문과 숫자로만 구성된 6자리 이상의 실행 도구 ID
true이면 다음 위치에 생성합니다:
표시할 실행 도구
그 외에는 다음 위치에 생성합니다:
사용 가능한 실행 도구
누르면 대상 노트나 스크립트를 활성화할 단축키. 예:
ctrl+e
해당 유형:
script
note
다음 중 하나
실행 도구를 누르면 targetNoteId로 지정한 노트로 이동합니다.
실행 도구를 누르면 scriptNoteId로 지정한 스크립트를 실행합니다.
customWidget
widgetNoteId로 지정한 사용자 지정 위젯으로 실행 도구를 표시합니다.
텍스트 노트를 만듭니다. 더 많은 옵션은 createNewNote()를 확인하세요.
노트와 상위 노트 사이에 가지가 있으면 삭제합니다. 없으면 아무 작업도 하지 않습니다.
노트와 상위 노트 사이에 가지가 없으면 만듭니다. 이미 있으면 그대로 둡니다. 새 가지 또는 기존 가지를 반환합니다.
노트와 상위 노트 사이에 가지를 새로 만들 때 지정할 접두사
html 또는 markdown
지정한 날짜의 일별 노트를 반환합니다. 없으면 만듭니다.
YYYY-MM-DD 형식
달력 루트 노트를 지정합니다. 일반적으로 비워 두어 기본 달력을 사용합니다.
지정한 날짜의 월별 노트를 반환합니다. 없으면 만듭니다.
YYYY-MM 형식
지정한 라벨 이름을 가진 노트들을 조회합니다.
값
속성값
지정한 라벨 이름을 가진 첫 번째 노트를 조회합니다.
지정한 날짜의 분기별 노트를 반환합니다. 없으면 만듭니다.
달력의 루트 노트를 반환합니다.
오늘의 일별 노트를 반환합니다. 없으면 만듭니다.
지정한 날짜가 속한 주의 첫날에 해당하는 노트를 반환합니다.
지정한 날짜의 주별 노트를 반환합니다. 없으면 만듭니다.
지정한 연도의 연도별 노트를 반환합니다. 없으면 만듭니다.
YYYY 형식
지정한 메시지를 Trilium 로그와 화면의 로그 창에 기록합니다.
문자열 기준
지정한 익명 함수를 프런트엔드에서 실행합니다. 내부적으로 함수를 문자열로 직렬화한 뒤 WebSocket으로 전송합니다. 서로 다른 탭 등 여러 프런트엔드가 연결돼 있으면 모든 인스턴스에서 실행합니다.
프런트엔드에서 실행할 스크립트
프런트엔드로 보낼 익명 함수의 매개변수 목록
동기화 중에는 데이터가 일시적으로 일관되지 않을 수 있습니다. 강한 일관성이 필요한 스크립트는 이 함수로 진행 중인 동기화가 끝나기를 기다리고 실행 중 새 동기화가 시작되지 않게 할 수 있습니다.
비동기 처리이므로 내부 콜백에는 자동 트랜잭션 처리가 적용되지 않습니다. 데이터베이스를 변경하려면 api.transactional(...)로 호출을 감싸야 합니다.
동기화가 실행되지 않는 동안 실행할 함수
참고:
전체 옵션 안내
noteId와 접두사로 노트를 찾아 지정한 parentNoteId 아래에 배치합니다. parentNoteId를 지정하지 않으면 가지를 삭제합니다.
toggleNoteInParent()와 비슷하지만 접두사로 가지를 찾는다는 차이가 있습니다.
동작을 혼동하기 쉬운 메서드이며 특수한 용도에만 사용합니다.
지정한 노트의 하위 노트를 정렬합니다.
title 또는 dateCreated 또는 dateModified 또는 라벨 이름. 참고:
https://triliumnext.github.io/Docs/Wiki/sorting.html
자세한 안내
값에 따라 노트와 상위 노트 사이의 가지를 만들거나 삭제합니다.
가지를 유지하려면 true를 사용하고 없애려면 false를 사용합니다.
트랜잭션 안에서 실행할 코드를 감쌉니다. 이미 트랜잭션이 있으면 해당 트랜잭션을 사용합니다.
이스케이프를 해제할 대상