docs: 한글화 운영 적용본과 도움말 100개 작업 기록 보관
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
const p=s=>'<p>'+s+'</p>'; const ul=xs=>'<ul>'+xs.map(s=>'<li>'+s+'</li>').join('')+'</ul>';
|
||||
export default {
|
||||
75:({a,img})=>p('Trilium의 '+a(0,'노트')+'에는 이미지나 파일을 하나 이상 첨부할 수 있습니다. 첨부 파일은 해당 노트 안에 표시하거나 링크로 연결할 수 있습니다.')+p(a(1,'스크립트')+'에 필요한 라이브러리를 포함할 때도 유용합니다. '+a(2,'체중 기록')+' 예제에서는 스크립트 노트에 첨부한 '+a(3,'Chart.js')+'를 사용하는 방법을 보여 줍니다.')+p('첨부 파일은 각각 하나의 노트에 속합니다. 다른 노트와 같은 첨부 파일을 공유하지 않습니다. 첨부 파일 링크를 다른 노트에 복사하면 파일도 복제되며 이후에는 서로 독립적으로 관리됩니다.')+p('노트에 이미지를 넣을 때는 첨부 기능을 사용하는 것이 좋습니다. 이미지 첨부 파일은 해당 노트 본문에서 참조해야 합니다. 참조되지 않는 이미지는 설정된 유예 시간이 지나면 자동으로 삭제됩니다.')+'<h2>노트를 첨부 파일로 변환하기</h2>'+p(a(4,'파일 노트')+'를 상위 노트의 첨부 파일로 바꿀 수 있습니다.')+ul(['하나만 변환하려면 '+a(5,'노트 버튼')+'의 메뉴에서 첨부 파일로 변환을 선택하세요.','여러 개를 변환하려면 '+a(6,'노트 트리')+'에서 대상 노트를 선택한 뒤 마우스 오른쪽 버튼 → 고급 → 첨부 파일로 변환을 선택하세요.'])+'<h2>첨부 파일 미리보기</h2>'+p('이미지와 동영상 및 PDF 등의 첨부 파일은 '+a(7,'파일 노트')+'와 같은 미리보기 기능을 사용합니다.'),
|
||||
76:({a,img,pre})=>p('고급 개발이나 문제 해결 과정에서 Trilium의 SQLite 데이터베이스를 직접 수정해야 할 때가 있습니다. 수정하기 전에 <code>document.db</code>를 백업하세요.')+'<h2>내장 SQL 콘솔 사용하기</h2>'+p('Trilium에는 데이터베이스 편집기가 내장되어 있습니다. '+a(0,'SQL 콘솔')+'을 참고하세요.')+'<h2>외부 도구로 수정하기</h2>'+p('애플리케이션이 실행되지 않는 경우처럼 SQL 콘솔을 사용할 수 없을 때는 외부 도구를 이용할 수 있습니다. 데스크톱 앱을 종료하거나 서버 서비스와 Docker 컨테이너를 중지한 뒤 작업하세요.')+'<h3>DB Browser for SQLite 사용하기</h3>'+p('여러 운영체제에서 사용할 수 있는 그래픽 데이터베이스 편집기입니다.')+ul(['파일 메뉴에서 데이터베이스 열기를 선택하고 '+a(1,'데이터 폴더')+'의 데이터베이스를 엽니다.','SQL 실행 탭을 선택합니다.','원하는 SQL 문을 입력합니다.','탭 아래 도구 모음의 실행 버튼을 누르거나 <kbd>F5</kbd>를 누릅니다.','주 도구 모음에서 변경 사항 쓰기를 누릅니다.','데이터베이스나 프로그램을 닫습니다.'])+p(img(0,'외부 데이터베이스 편집기 사용 예시'))+'<h3>SQLite 명령줄 도구 사용하기</h3>'+p('데이터베이스 경로를 지정해 실행하세요.')+pre(0)+ul(['SQL 문 끝에 <code>;</code>을 붙여 입력합니다.','종료하려면 <code>.quit</code>을 입력하고 <kbd>Enter</kbd>를 누릅니다.']),
|
||||
77:({a})=>p('Trilium은 파일 이름 대신 노트 ID로 각 노트를 구분합니다. 일반적으로 새 노트를 만들 때 영문 대소문자와 숫자로 이루어진 12자리 ID를 무작위로 생성합니다.')+'<h2>가져오기와 내보내기의 영향</h2>'+p('노트를 내보내면 ID도 메타데이터에 기록됩니다. 하지만 다시 가져올 때는 모든 노트에 새 ID를 부여합니다. '+a(0,'첨부 파일')+'처럼 함께 가져오는 다른 항목도 새 ID를 받습니다.')+'<h2>ID 충돌</h2>'+p('ID는 길이가 정해져 있고 무작위로 만들어지므로 '+a(1,'비둘기집 원리')+'에 따라 기존 노트와 같은 ID가 생성될 가능성이 있습니다.')+p('사용할 수 있는 문자가 62개이고 길이가 12자리이므로 가능한 ID 수는 <span class="math-tex">\\(62^{12}\\)</span>개입니다. 원문은 '+a(2,'Nano ID 충돌 계산기')+'를 이용해 매시간 1000개의 노트를 약 900년 동안 만들어야 충돌 확률이 1% 정도가 된다고 설명합니다.')+p('이처럼 가능성이 매우 작아 Trilium은 별도의 충돌 방지 절차를 두지 않습니다. 고유 해시를 사용하는 '+a(3,'Git')+'에도 비슷한 문제가 있습니다. 이론적으로 충돌이 발생하면 기존 노트를 새 노트가 덮어쓸 가능성이 있습니다.'),
|
||||
78:({pre})=>p('Google 설문지의 스프레드시트 연결 기능을 이용해 응답을 내려받는 간단한 연동 예제입니다.')+p('웹에 게시한 링크는 주소를 아는 누구나 열 수 있습니다. 주소를 추측하기 어렵더라도 공개된 자료이므로 민감한 정보를 게시하지 않도록 확인하세요.')+'<h2>CSV 주소 얻기</h2>'+ul(['브라우저에서 Google 설문지를 엽니다.','응답 탭에서 스프레드시트에 연결을 누릅니다.','새 스프레드시트 만들기를 선택하고 만들기를 누릅니다.','Google 스프레드시트에서 파일 → 공유 → 웹에 게시를 선택합니다.','링크 탭에서 웹페이지 대신 쉼표로 구분된 값(.csv)을 선택합니다.','표시된 주소를 복사합니다. 다음 스크립트에서 사용할 주소입니다.'])+'<h2>스크립트 만들기</h2>'+p('프런트엔드 JavaScript 코드 노트를 만드세요.')+pre(0).replace('// Do something with the data.','// 이곳에서 내려받은 데이터를 처리합니다.')+p('응답은 문자열로 전달됩니다. 이 예제에는 CSV 분석 라이브러리가 없으므로 아주 단순한 자료는 다음처럼 나눌 수 있습니다.')+pre(1)+p('결과는 각 행을 배열로 담은 배열입니다. 따옴표로 감싼 값 안에 쉼표나 줄바꿈이 있는 일반적인 CSV는 이 방식으로 정확히 처리할 수 없습니다.'),
|
||||
79:({a})=>p('Trilium은 노트와 트리 구조 및 메타데이터와 대부분의 설정을 '+a(0,'SQLite')+' 데이터베이스에 저장합니다. 파일 이름은 <code>document.db</code>이며 기본 '+a(1,'데이터 폴더')+'에 있습니다.')+'<h2>사용 예제</h2>'+p('처음 실행하면 주요 기능을 소개하는 예제 노트를 제공합니다. '+a(2,'사용 예제')+'를 참고하세요.')+'<h2>데이터베이스 직접 수정하기</h2>'+p('고급 사용자는 '+a(3,'DB Browser for SQLite')+' 같은 도구로 데이터베이스를 살펴보거나 수정할 수 있습니다. 자세한 내용은 '+a(4,'데이터베이스 직접 수정하기')+'를 참고하세요.')+'<h2>데이터베이스 초기화하기</h2>'+p('시험 중인 환경을 초기 상태로 되돌리려면 기존 데이터베이스를 제거할 수 있습니다. 다음 실행 시 원본 예제 노트가 포함된 새 데이터베이스를 만듭니다. 기존 노트가 사라지므로 필요한 데이터를 먼저 백업하고 애플리케이션을 종료하세요.')+p(a(5,'데이터 폴더')+'에서 <code>document.db</code>와 이름이 <code>document.db</code>로 시작하는 관련 파일을 제거합니다.')+p('<code>config.ini</code>의 설정도 보존할 필요가 없다면 '+a(6,'데이터 폴더')+'의 내용을 모두 제거해 초기화할 수 있습니다. 파일 대신 환경 변수로 설정하는 방법은 '+a(7,'설정 안내')+'를 참고하세요.'),
|
||||
80:({a,img})=>'<h3>문장 안의 코드</h3>'+p('코드 서식은 고정폭 글꼴을 사용해 문장 안의 코드나 파일 경로 같은 기술적인 내용을 구분합니다.')+p(img(0,'경로와 git 명령의 코드 서식 예시'))+p('다음 방법으로 적용할 수 있습니다.')+ul([a(0,'서식 도구 모음')+'의 '+img(1,'코드 서식 버튼')+'을 누릅니다.','원하는 글자 양쪽에 역따옴표를 붙여 입력하면 코드 서식으로 바뀝니다. 예: <code>`code`</code>'])+'<h3>코드 블록</h3>'+p('여러 줄의 코드를 별도 블록으로 표시합니다.')+p(img(2,'JavaScript 구문 강조를 적용한 코드 블록'))+p('코드가 매우 길다면 전용 '+a(1,'코드 노트')+'를 사용하세요. 자세한 내용은 '+a(2,'코드 블록')+'을 참고하세요.')+'<h3>단축키 서식</h3>'+p('글자를 키보드의 키처럼 표시하는 서식입니다.')+p(img(3,'단축키 서식 예시'))+p(a(3,'서식 도구 모음')+'에서 '+img(5,'글자 서식 그룹')+'을 열고 '+img(4,'단축키 서식 버튼')+'을 누르세요. 떠 있는 도구 모음에서는 글자를 선택하면 버튼이 나타납니다.')+p('<kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>K</kbd>로 선택한 글자에 적용할 수도 있습니다. 같은 버튼이나 단축키를 다시 누르면 해제됩니다. '+img(6,'서식 지우기 버튼')+'으로도 서식을 지울 수 있습니다.'),
|
||||
81:({pre})=>p('사용자 지정 리소스 제공 기능은 Trilium에 가져온 이미지와 글꼴 및 스타일시트 등의 파일을 공개 주소로 제공합니다. 테마와 함께 사용자 글꼴을 제공할 때 활용할 수 있습니다.')+'<h2>설정 순서</h2>'+ul(['이미지나 글꼴 파일을 Trilium으로 끌어서 가져옵니다.','파일 노트를 선택하고 소유한 속성을 엽니다.','<code>#customResourceProvider=hello</code> 라벨을 추가합니다.','브라우저에서 <code><protocol>://<host>/custom/hello</code>를 엽니다. protocol에는 환경에 맞는 <code>http</code>나 <code>https</code>를 사용합니다. host는 Trilium 서버의 주소입니다. 별도 서버 없이 데스크톱 앱만 사용한다면 기본 주소는 <code>http://localhost:37840</code>입니다.','정상적으로 설정되었다면 가져온 파일이 내려받아집니다.'])+p('<code>hello</code> 대신 다음과 같은 이름도 사용할 수 있습니다.')+ul(['경로 — <code>fonts/Roboto.ttf</code>로 지정하면 <code><host>/custom/fonts/Roboto.ttf</code>로 접근합니다.','정규식 — <code>hello/.*</code>로 지정하면 <code>/custom/hello/1</code>과 <code>/custom/hello/2</code> 또는 <code>/custom/hello/world</code>처럼 여러 경로에 대응합니다.'])+'<h2>테마에서 사용하기</h2>'+p('글꼴 파일을 가져온 뒤 <code>#customResourceProvider=fonts/myfont.ttf</code> 속성을 지정하세요. 테마 CSS에서는 다음처럼 불러올 수 있습니다.')+pre(0),
|
||||
82:({a,pre})=>'<h2>인증 비활성화</h2>'+p('Trilium을 <code>localhost</code>에서만 사용하거나 다른 구성 요소가 인증을 담당한다면 <code>config.ini</code>에 다음 설정을 추가해 Trilium 자체 인증을 끌 수 있습니다.')+pre(0)+p('0.94.1부터는 인증을 끄면 '+a(0,'다중 인증')+'도 생략됩니다.')+'<h2>로그인 세션의 동작</h2>'+p('로그인하면 브라우저에는 쿠키를 저장하고 서버에는 로그인 세션을 보관합니다.')+p('로그인 상태 유지를 선택하면 기본적으로 21일 뒤 만료됩니다. <code>config.ini</code>의 <code>Session.cookieMaxAge</code>로 기간을 바꿀 수 있습니다. 하루 뒤 만료시키는 예시입니다.')+pre(1)+p('로그인 상태 유지를 선택하지 않으면 브라우저 쿠키에 만료 시각을 지정하지 않으며 브라우저를 닫을 때 지워집니다. 서버의 세션은 애플리케이션을 마지막으로 사용한 시점부터 약 24시간 뒤 만료됩니다.')+'<h2>활성 세션 확인하기</h2>'+p('로그인 세션은 사용자 데이터와 같은 '+a(1,'데이터베이스')+'에 저장됩니다. '+a(2,'SQL 콘솔')+'에서 다음 조회문으로 확인할 수 있습니다.')+pre(2)+p('만료된 세션은 서버가 주기적으로 정리합니다. 일반적으로 한 시간 간격입니다.')+'<h2>관련 문서</h2>'+ul([a(3,'다중 인증')]),
|
||||
83:({a,img})=>p(img(0,'마인드맵 예시'))+p('마인드맵은 떠오르는 생각을 빠르게 적고 계층 구조로 정리하는 노트입니다.')+'<h2>용어</h2>'+ul(['<strong>항목</strong>은 하나의 생각을 나타냅니다. 최상위 항목은 배경색이 있는 둥근 사각형으로 표시됩니다. 하위 항목은 테두리만 있는 사각형으로 표시되며 더 아래 단계에서는 선으로 표시됩니다.','<strong>최상위 항목</strong>은 모든 항목의 출발점입니다. 마인드맵마다 하나만 있습니다.'])+'<h2>사용 방법</h2>'+ul(['같은 단계의 항목을 만들려면 <kbd>Enter</kbd>를 누르고 내용을 입력한 뒤 다시 <kbd>Enter</kbd>를 누르세요.','하위 항목은 <kbd>Tab</kbd>을 누른 뒤 내용을 입력하고 <kbd>Enter</kbd>로 확정합니다.','상위 항목은 <kbd>Ctrl</kbd>+<kbd>Enter</kbd>로 만듭니다.','항목을 삭제하려면 <kbd>Delete</kbd>를 누릅니다.','<kbd>Page Up</kbd>과 <kbd>Page Down</kbd>으로 항목을 위아래로 이동합니다.','항목을 선택하면 오른쪽에 나타나는 패널에서 글자 크기와 글자색 및 배경색을 바꾸거나 링크를 추가할 수 있습니다.','마인드맵 위에서 마우스를 끌어 여러 항목을 선택할 수 있습니다.','항목을 마우스 오른쪽 버튼으로 클릭하면 항목 추가와 집중 모드 및 항목 사이 연결 등의 메뉴가 나타납니다.','왼쪽 위 버튼으로 하위 항목을 최상위 항목의 왼쪽이나 오른쪽 또는 양쪽에 배치할 수 있습니다.',a(0,'떠 있는 버튼')+' 영역에서는 '+a(1,'이미지 참조')+'를 복사해 텍스트 노트에 넣거나 SVG와 PNG 파일로 내보낼 수 있습니다.']),
|
||||
84:({a,img,pre})=>p(img(0,'데이터베이스 익명화 화면'))+p('오류를 조사할 때 데이터베이스 구조가 필요할 수 있습니다. 개인 노트가 담긴 '+a(0,'데이터베이스')+' 원본을 공유하는 대신 익명화 기능을 사용할 수 있습니다. 메뉴 → 설정 → 고급에서 실행하세요.')+p('익명화 기능은 복사본을 만든 뒤 노트 제목과 본문 및 수정 이력과 사용 기록을 제거합니다. 일부 설정과 시스템용이 아닌 속성도 제거하며 구조와 수정 날짜 등의 메타데이터는 남깁니다. 이후 '+a(1,'VACUUM 정리')+'를 수행해 삭제된 데이터가 파일 내부에 남지 않도록 합니다.')+p('결과는 '+a(2,'데이터 폴더')+' 아래의 <code>anonymized</code> 폴더에 저장됩니다. 원본은 이 과정에서 변경되지 않습니다.')+p('정리된 복사본에도 구조와 날짜 등의 정보는 남습니다. 공유 전에 필요한 익명화 범위를 확인하세요. '+a(3,'VACUUM')+' 처리가 끝난 결과 파일의 위치는 '+a(4,'데이터 폴더 안내')+'에서도 확인할 수 있습니다.')+'<h2>명령줄에서 익명화하기</h2>'+p(a(5,'데이터베이스')+' 문제로 Trilium을 시작할 수 없다면 다음 명령을 사용할 수 있습니다.')+pre(0)+p('Trilium 소스 파일이 있는 폴더에서 실행하세요. 데스크톱 배포판에서는 일반적으로 <code>resources/app</code> 폴더입니다.')
|
||||
};
|
||||
Reference in New Issue
Block a user