Commit 8045106e authored by minseok.park's avatar minseok.park

update latest docs

parent 9f50519b
Pipeline #19635 canceled with stage
in 13 seconds
node_modules/
build/
\ No newline at end of file
/build/
/node_modules/
#before_script:
# - |
# export NVM_DIR="$HOME/.nvm"
# [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
# nvm install 16.20
# nvm use 16.20
# node --version
image:
name: antora/antora:3.1.7
pages:
stage: deploy
cache:
# paths:
# - .cache
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
script:
# - nvm alias default 16.20.2
# - node --version
# - nvm use 16.20
- node --version
# - antora --fetch --cache-dir .cache/antora --redirect-facility gitlab --to-dir public antora-playbook.yml
- |
if git diff --quiet HEAD~1 HEAD -- package.json package-lock.json; then
echo "No changes in package.json or package-lock.json, skipping npm install."
else
echo "Changes detected in package.json or package-lock.json, running npm install."
npm install
fi
- antora --fetch --cache-dir node_modules/antora --redirect-facility httpd antora-playbook.yml
only:
- master
\ No newline at end of file
# SWLab Docs
이 프로젝트는 GitLab의 SWLab 문서를 AsciiDoc으로 작성하고, Antora를 사용해 자동으로 사이트로 변환 및 배포하는 과정을 GitLab CI/CD 파이프라인으로 자동화합니다.
* 사이트: https://swlab.bwg.co.kr/docs
\ No newline at end of file
site:
title: My Demo Site
url: https://swlab.bwg.co.kr/docs/
start_page: swlab-docs::ready-to-write/text-editor.adoc
title: SWLab Docs Site
url: https://swlab.bwg.co.kr/docs
content:
sources:
- url: https://gitlab.bwg.co.kr/test/swlab-docs-for-park.git
start_path: getting-started
- url: https://gitlab.bwg.co.kr/swd/swlab-docs.git
branches: [master]
antora:
extensions:
- require: '@antora/lunr-extension'
languages: [en, ko]
asciidoc:
attributes:
experimental: ''
idprefix: ''
idseparator: '-'
page-pagination: ''
sectnums: all
sectnumlevels: 3
hardbreaks-option: '@'
hide-uri-scheme: '@'
icons: font
toclevels: 5
table-caption: false
ui:
bundle:
url: https://gitlab.bwg.co.kr/swd/swlab-ui/-/jobs/artifacts/master/raw/build/ui-bundle.zip?job=bundle-stable
snapshot: true
\ No newline at end of file
snapshot: true
output:
destinations:
- provider: fs
path: /data/home/bxdocs/web/docs
name: swlab-docs
title: SWLab Docs
version: '2.0'
start_page: ready-to-write:text-editor.adoc
asciidoc:
attributes:
source-language: asciidoc@
nav:
- modules/ready-to-write/nav.adoc
- modules/guide-like-bgbook/nav.adoc
// Toggle section numbers on
:sectnums: all
// You can increase or reduce the section level limit
:sectnumlevels: 3
// Line breaks preserved throughout the document
:hardbreaks-option:
// Hide the scheme (e.g., https://)
:hide-uri-scheme:
// Enable font-based icons
:icons: font
////
+ Enable the autogenerated a table of contents(TOC)
- auto (default), left, right, preamble, macro
+ The table of contents is inserted directly below the document title, author, and revision lines when the toc attribute is set and its value is left empty or set to auto.
////
// :toc: left
:toclevels: 5
// In order to use the UI macros
//(the name of the attribute will likely change to better reflect)
:experimental:
\ No newline at end of file
.가이드
* xref:00aboutManual.adoc[]
** xref:00_1writing.adoc[]
** xref:00_2management.adoc[]
* xref:01title.adoc[]
* xref:02section.adoc[]
* xref:03sublevel.adoc[]
* xref:04paragragh.adoc[]
* xref:05appendix.adoc[]
* xref:06sourcecode.adoc[]
* xref:07codedescription.adoc[]
* xref:08commandblock.adoc[]
* xref:09image.adoc[]
* xref:10icon.adoc[]
* xref:11unorderedlist.adoc[]
* xref:12orderedlist.adoc[]
* xref:13table.adoc[]
* xref:14admonition.adoc[]
* xref:15link.adoc[]
* xref:16footnotes.adoc[]
* xref:17textformatting.adoc[]
* xref:18etc.adoc[]
[#how_to_write]
= 글쓰기 방법
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 매뉴얼 작성자가 일아야 할 글쓰기 방법에 대한 기본적인 사항을 설명합니다.
--
== 문단 구성
매뉴얼의 실제적인 뼈대를 구성하는 단계이다. 사용자의 동작과 제품의 취급방법이 시계열의 흐름 속에서 설명되어야 하고, 제품의 각 기능에 대한 설명은 공간적 구성으로 이루어지며, 조작방법은 논리적인 순서를 따라 사례를 중심으로 구체적으로 설명해야 한다.
* 상향식 목차 구성
** 생각나는 주제에 해당하는 소제목을 가급적 많이 작성한다.
** 관련 있는 소제목끼리 유형별로 분류하여 중간제목을 만든다.
** 중간제목을 모아 대제목을 만든다.
** 각 소제목의 문장을 써 나간다.
** 다시 읽어보고 필요하다면 제목 단위로 이동한다.
** 내용의 경중, 문장의 양에 따라 제목의 순위를 정한다. 전체 체계를 다시 정리한다.
* 하향식 목차 구성
** 큰 주제에 대해 논리적으로 수평축을 정한다.
** 수평축에 해당하는 각 항목마다 이를 뒷받침하는 하향식 소제목으로 구성한다.
** 각 소제목은 원인과 결과를 설명하는 과정이 된다.
** 각 수평축은 앞부분과 뒷부분이 상호 논리적인 흐름을 갖게 되므로 논리적 비약을 예방할 수 있다.
== 본문 작성
다음은 문단 구성을 완료하고 본문을 작성할 때 고려해야 할 사항이다.
=== Plain Writing
* 긴문장 → 단문
* 수동태 → 능동태
+
----
~된다 → ~한다
----
* 능동적이고 긍정적인 표현으로 작성한다.
+
----
~안 된다 → ~된다
----
* 명확한 의미의 동작을 사용한다.
+
----
표4는 성공률과 에러율에 대한 목록이다. → 표4는 성공률과 에러율에 대해 설명하고 있다.
----
* 필요없는 말 생략(의미없는 표현 제거)
* 전문 용어 남발 주의
* 불필요한 설명 지양
=== 띄어쓰기
* 조사는 붙여 쓴다.
+
----
시스템은
----
+
* 의존 명사는 띄어 쓴다.
+
----
사용 중, 제품 표면에 돌출된 것
----
* 단위를 나타내는 명사는 띄어 쓴다.
+
----
세 번째 시도하여
----
* 접사는 붙여 쓴다.
+
----
제1장, 오름차순
----
* 열거할 때 사용하는 단어는 띄어 쓴다. “또는”이나 “및”과 같이 열거할 때 사용하는 단어는 띄운다.
+
----
사물 또는 사람
----
* 보통명사나 부사로 굳어진 경우 붙여 쓴다.
+
----
그때 전원이 들어온다면
----
* 보조 용언은 띄어쓴다.
+
----
이 경우에는 혼자 힘으로 알아 내어야만 한다.
----
* 복합 동사는 붙여 쓴다. 접미사 “~없다”는 붙여 쓰지만 형용사 “~없다”는 띄어 쓴다.
+
----
끊임없이 반복을 하는 경우
----
* 전문 용어의 경우 붙여쓰기를 허용한다.
+
----
응용프로그램
----
* 복합어(명+명)
복합어는 붙여 써도 되고 띄어 써도 된다. 해당 복합어가 일반적인 용어로 사용되는 경우는 붙여서 사용 한다. 단,영어+한글이 혼합되어 복합어가 되는 경우는 띄어 쓴다. 띄어쓰기로 결정된 단어는 모든 메시 지에 동일하게 띄어쓰기를 하고 붙여쓰기로 결정된 단어는 붙여서 사용한다.
+
----
이벤트코드(X) → 이벤트 코드(O)
실행 시간(X) → 실행시간(O)
환경 파일(X) → 환경파일(O)
----
(예외 : 복합어 + 복합어 → 복합어 + ^ + 복합어, 명사 + 복합어 → 명사 + ^ + 복합어)
.상황별 띄어쓰기 원칙
[cols="21,19,60"]
|===
|case |Expected word |comment
|~중에
|~^중에
1.2+|"~중"은 의존명사이므로 띄어 쓴다. 동작동사 뒤에 오는 '중'과 '시'를 접미사로 보는 학자도 있지만 표준 국어대사전은 의존명사로 본다.
|~중입니다. |~^중입니다.
|~이상
|~^이상
|"~이상"은 독립된 형태로 사용되는 명사이므로 앞에 오는 단어와 띄어 쓴다. '동안', '따위', '여부', '이후', '아래', '내지', '대신', '너머', '사이', '다음' 등은 복합 명사를 만드는 예가 거의 없다. 따라서 이 단어들은 띄어쓴다.
|~후
|~^후
1.2+|"~후"는 명사이므로 앞에 오는 단어와 띄어 쓴다.
|~후에 |~^후에
|~^마다
|~마다
|"마다"는 조사이므로 앞에 오는 명사와 붙여뜬다.
예)연산이 발생할 때 마다(X) -> 연산이 발생할 때마다(O)
|~^별
|~별
|"별"은 접미사이므로 앞에 오는 명사와 붙여쓴다.
예) 운영체제 별(X) -> 운영체제별(O)
|재^~
|재~
|"재"는 접두사이므로 뒤에 오는 명사와 붙여쓴다.
예) 재 기동(X) -> 재기동(O)
|~데
|~데
1.2+a|"~데"는 붙여 써야 하는 경우와 띄어 써야 하는 경우가 있다.
① "~데"가 의존명사로 쓰인 경우는 띄어 쓴다. ("데"를 "일"이나 "것"으로 치환이 가능한 경우)
예) 분산 트랜잭션을 처리하는데 사용되는 XA(X) → 분산 트랜잭션을 처리하는 데 사용되는 XA(O)
위의 예는 "분산 트랜잭션을 처리하는 것에 사용되는 XA"로 바꿔도 무방하므로 띄어 쓴다.
② "~데"가 "ㄴ데"의 연결어미로 쓰인 경우는 붙여쓴다.
예) 환경변수로 데이터베이스를 생성하는 데 생성 이후(X) → 환경변수로 데이터베이스를 생성하는데 생성 이후 위의 예는 "~데"를 "것"으로 바꿔 쓸 수 없으므로 붙여 쓴다.
|~데 |~^데
|~지
|~지
1.2+a| "~지"도 붙여 써야 하는 경우와 띄어 써야 하는 경우가 있다.
하지만 안내서에서는 띄어쓰는 경우가 거의 나타나지 않는다.
① "ㄹ지"의 연결어미로 쓰인 경우 붙여 쓴다.
예) 몇 블록씩 할당할지를 설정하는 파라미터이다.(O)
② "~지"가 의존명사로 쓰인 경우는 띄어써야 한다. 이 경우에 "지"는 "동안"의 의미이며, 안내서에서 사용되는 경우는 거의 없다.
③ 시간 경과를 나타내는 "~ㄴ 지"는 띄어 쓴다. 예) 시스템을 기동한 지
|~지 |~^지
|~^수록
|~수록
|예) 높은 레벨을 설정할 수록 리스너에 더 많은 로그를 남긴다.(O)
예) 높은 레벨을 설정할수록 리스너에 더 많은 로그를 남긴다.(O)
|~^당
|~당
|"~당"은 접미사이므로 붙여 쓴다.
예) CPU당 스레드의 개수를 설정하는 파라미터이다.(O)
|비^~
|비~
|"비~"는 접두사이므로 붙여 쓴다.
예) 비 문자열, 비 이진 데이터(X) -> 비문자열, 비이진 데이터(X)
|~화^되다
|~화되다
1.2+|"~화"는 접미사이므로 앞에 오는 명사와 붙여 쓴다.
"~하다", "~되다"는 명사 뒤에 붙어 동사를 만드는 접미사이므로 명 사와 붙여 쓴다.
예) 초기화 하다(X) → 초기화하다(O), 초기화 되다(X) → 초기화되다(O)
|~화^하다 |~화하다
|~^받다
|~받다
|"~받다"는 피동을 뜻을 더하고 동사를 만드는 접미사이므로 붙여 쓴다.
예) 할당 받다(X) → 할당받다(O)
|~^부
|~부
|"~부"는 "부분"이나 "부문"의 뜻을 더하는 접미사이므로 붙여쓴다.
예) 처리 부, 선언 부(X) → 처리부, 선언부(O)
|제^~
|제~
|"제~"는 접두사이므로 붙여 쓴다.
예) 제 3세대 언어(X) → 제3세대 언어(O)
|**^입니다.
|**입니다.
a|"조사·어미 오류 서술격 조사 '이다'는 다음의 특성을 지닌다.
① 단독으로는 서술어가 될 수 없고 반드시 체언에 결합하여야 서술어가 된다.
② 모음으로 끝난 체언 뒤에서는 '이'가 생략될 수도 있다.
예) 나무이다, 나무다.
③ 서술격조사의 부정형 '아니다'는 형용사임에 주의한다.
④ '이다(아니다)'는 형용사와 흡사한 활용을 한다. 그러므로 '는다/ㄴ 다' 등과 결합할 수 없다.
⑤ 형용사와 다른 점은 '로'가 붙을 수 있다는 점이다.
예) 가을이로군, 좋은 책이 아니로군, *예쁘로군 "
|===
=== 문장 내 문장부호 언급
문장부호가 문장 내에서 언급되는 경우에는 다음과 같이 기술한다.
----
문장부호명(문장부호)
----
문장부호 명칭은 다음의 사용 가이드대로 표기한다.
.문장부호 명칭
[cols="40,60"]
|===
|문장부호 |사용가이드
|*, 별표, 애스터리스크 |애스터리스크(*)
|, 쉼표, 콤마 |콤마(,)
|+, 더하기, 플러스, 크로스 |플러스(+)
|&, 앰퍼샌드, ampersand |앰퍼샌드(&)
|', 어퍼스트로피, apostrophe |apostrophe(')
|-, 하이픈 |하이픈(-)
|' ', 작은 따옴표, 작은따옴표 |작은따옴표(')
|" ", 큰 따옴표, 큰따옴표 |큰따옴표(")
|===
문장부호와 한글의 조합인 경우 띄어쓰기는 다음 규칙을 적용한다.
* 한글+괄호의 경우 붙여 쓴다.
+
----
테스트(test)
----
* 한글+콤마(,)+한글인 경우 앞 한글과는 붙이고 뒤 한글과는 띄어 쓴다.
+
----
테스트, 실행
----
=== 본문 작성시 고려사항
본문을 작성할 때에는 다음 사항을 고려해야 한다.
* 문장의 논리적 모순에 주의한다.
* ’최고’, ‘최대’, ’완벽’, ‘매우 빠른 속도로’, ‘상당히 많은’, ‘너무 고가의’ 등의 막연한 표현 대신 구체적인 수치를 제시한다.
+
----
"이 제품은 완벽한 솔루션입니다."
→ "이 제품은 오류 1% 미만의 솔루션입니다."
----
* ‘그것은’, ‘이것은’ 등의 대명사 사용을 억제한다.
+
----
"또한 그것은 정기적으로 정보를 저장한다."
→ "또한 (시스템)은 정기적으로 정보를 저장한다."
----
* 문장이 길어져서 너무 장황해지지 않도록 한다. 문장이 길어지는 경우 2문장으로 나누어서 표현하며 한 문장은 하나의 주제에 대해서만 기술한다.
* 단어는 쉬운 용어를 사용하고 일관성과 통일성을 유지한다.
+
----
“아파치를 설치한다.”, “Aparch의 사용에 있어서~” 등 한 문서 내에서 혼용된 경우
→ “Aparch를 설치한다.”, “Aparch의 사용에 있어서~”
----
* 약어, 외래어, 전문용어는 표준화된 용어를 사용한다.
* 문장은 분명한 동작이나 메시지를 전달하도록 표현한다.
* 복문, 중문보다는 단문으로 표현한다. 장문과 단문이 적절히 균형을 이루고 문장간의 접속이 분명하도록 한다.
* 주어, 술어의 문장 호응관계가 분명하도록 한다. 주어와 목적어는 반드시 포함한다.
* 가급적 다음 예와 같은 수동식 표현은 사용하지 않는다.
+
----
“~이 주목된다.”, “~으로 생각된다.”, “~으로 여겨진다.”
----
* 다음 예와 같은 이중부정문 남용에 주의한다.
+
----
“~라고 하지 않을 수 없다.”, “~이 없는 것은 아니다.”
----
* 다음 예와 같은 추측 표현은 자제한다.
+
----
”~일 수도 있다.”, “~이 아닌 듯 하지만”
----
* 다음 예와 같은 대략적인 표현 대신 정확한 숫자로 표기한다.
+
----
”작년 봄에”, “매우 드물게”, “가끔씩”, “많은”, “적은”, “큰”, “작은”
----
* 다의적 용어나 이중적으로 해석될 수 있는 모호한 표현은 사용하지 않는다.
* 핵심주제를 첫머리에 기술한다. 가장 중요한 메시지를 가장 앞에 위치하고 다음 설명문에 부연설명을 한다. 문단구성 4요소 중 중요도에 해당한다.
* 제품명과 같은 고유명사는 영문으로 표시하고 영문 명사는 국문으로 표시한다.
+
----
아파치 → Apache
----
* 영문 약어는 대문자로 표기한다. 약어에 표시된 영어단어는 약어에 표시된 글자를 대문자로 하고, 이 외 에는 영어 단어의 첫 글자만 대문자로 표시한다. 단, 한글 용어를 표기해야 하는 경우, 원문 영어 약어와 풀이는 괄호 안에 쓴다.
+
----
XML (eXtensible Markup Language),
HTML (HyperText Markup Language)
----
* 두문자어를 사용할 때 첫번째 언급에 약어를 풀어 쓰고, 이후에는 약어만 사용한다.
* 약어는 우리말 풀이 다음에 괄호 안에 약어와 원문을 병행 표기한다.
* 외래어 표기는 정부부처에서 제정한 외래어 표기법을 따른다.
+
----
Access → 액세스 (O), 접근 (X)
----
[#manual_management]
= 매뉴얼 관리
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 으로 작성하는 매뉴얼 관리에 대해 설명합니다.
매뉴얼 관련된 리소스들은 GitLab을 통해서 유지 관리되고 관리 주체는 다음과 같다.
* SWD팀: 관련 리소스와 매뉴얼탬플릿 그리고 시각화를 위한 Style, CSS 등을 유지 관리한다.
* R&D팀: 각 제품별, 버전별로 매뉴얼을 작성하고 유지 관리한다.
--
== Repository 구조
----
📒 repository (swlab-docs-제품명) <1>
📄 antora-playbook.yml <2>
📄 antora.yml <3>
📄 site.yml <12>
📂 modules <4>
📂 ROOT <5>
📂 images <7>
📄 image-source-file.png <8>
📂 pages <9>
📄 page-source-file.adoc <10>
📄 nav.adoc <11>
📂 concepts <6>
📂 images <7>
📄 image-source-file.png <8>
📂 pages <9>
📄 page-source-file.adoc <10>
📄 nav.adoc <11>
----
<1> 제품별로 구성
<2> 필수 구성 파일
: 사이트, 콘텐츠 원본 및 UI URL을 구성
<3> 필수 구성 파일
: 이름, 버전, 메타데이터, 속성 및 탐색 목록을 구성
<4> 필수 모듈 디렉토리
<5> ROOT 모듈 디렉토리
: ROOT 모듈의 페이지는 컴포넌트 버전의 최상위 페이지가 되므로 다른 모듈에서 참조하는 공통 리소스를 저장한다.
+
[CAUTION]
====
기본 셋팅되어 있는 리소스는 수정/제거하지 않도록 주의한다.
====
<6> 명명된 모듈 디렉토리
: 필요한 만큼 생성 가능하고 생성할 때는 xref:00_2management.adoc#module_name_rule["모듈 디렉토리 명명 규칙"]에 준하여 생성한다.
<7> 이미지 디렉터리
: 이미지 파일이 없다면 생성하지 않는다. 필요 시 지정된 이름 'images'로 생성한다.
<8> 이미지 소스 파일
: PNG, JPG, SVG 및 GIF(정적 및 애니메이션) 이미지 파일 형식을 지원한다.
<9> pages 디렉토리
: 하나 이상의 AsciiDoc 소스 파일이 포함되어야 한다.
<10> 페이지의 원본 파일
: AsciiDoc 구문으로 마크업되고 유효한 .adoc 파일 확장명으로 저장된 페이지 파일
<11> 내비게이션 파일
: 사이트 탐색 파일로써 모듈당 하나의 탐색 파일을 가진다. xref:00_2management.adoc#nav_file["내비게이션 파일"]을 참고하여 작성한다.
<12> 정적 HTML 파일 생성 파일
: 사이트를 오프라인 HTML 파일로 고객에게 제공할 때 사용한다.
=== 필수 구성 파일
==== antora-playbook.yml
antora-playbook.yml 파일은 Antora 프로젝트에서 사이트를 생성하기 위해 사용되는 주요 설정 파일로써 사이트의 전반적인 설정을 정의한다.
[CAUTION]
====
SWD팀에서 관리하므로 content:sources:branches: 값을 제외하고 수정하지 않는다.
====
[source,yaml]
----
site: <1>
title: SWLab Docs Site
url: https://swlab.bwg.co.kr/docs
content: <2>
sources:
- url: https://gitlab.bwg.co.kr/swd/swlab-docs.git
branches: [master, v1.0] <6>
asciidoc: <3>
attributes:
experimental: ''
ui: <4>
bundle:
url: https://gitlab.bwg.co.kr/swd/swlab-ui/-/jobs/artifacts/master/raw/build/ui-bundle.zip?job=bundle-stable
snapshot: true
output: <5>
destinations:
- provider: fs
path: /data/home/bxdocs/web/docs
----
.antora-playbook.yml 키 설명
[cols="25,75a"]
|===
|키 |설명
|1) site
|* **#수정금지!#** 사이트 제목, URL을 설정한다.
|2) content
|* Antora가 빌드할 문서의 소스를 정의한다. 각 소스는 Git 리포지토리 URL, 브랜치 등을 포함한다.
* 문서 버전이 추가되었을 때 **⑥ branches**에 추가한다. 자세한 내용은 xref:00_2management.adoc#version_management["버전 관리"]에서 확인할 수 있다.
|3) asciidoc
|* **#수정금지!#** 사이트 전체에 적용되는 AsciiDoc 문서에서 사용할 전역 속성을 설정한다.
|4) ui
|* **#수정금지!#** 사이트에서 사용할 UI 번들을 정의한다.
|5) output
|* **#수정금지!#** 빌드된 사이트의 파일이 저장될 디렉토리를 정의한다.
|===
[#antora_yml]
==== antora.yml
antora.yml 파일은 Antora 프로젝트에서 각 컴포넌트의 메타데이터와 설정을 정의하는 파일이다.
각 컴포넌트의 루트 디렉토리에 위치하며, 컴포넌트의 버전을 식별, 설명 및 구성하는 필수 및 선택적 정보를 제공한다.
[source,yaml]
----
name: swlab-docs <1>
title: SWLab Docs <2>
version: '2.0' <3>
start_page: ready-to-write:text-editor.adoc <4>
asciidoc: <5>
attributes:
source-language: asciidoc@
nav: <6>
- modules/ready-to-write/nav.adoc
- modules/guide-like-bgbook/nav.adoc
----
.antora.yml 키 설명
[cols="25,75a"]
|===
|키 |설명
|1) name
|* **#수정금지!#** 컴포넌트 버전을 식별하는 데 사용되는 컴포넌트 이름으로 리소스 ID의 컴포넌트 좌표 및 컴포넌트 버전의 게시된 리소스에 대한 컴포넌트 URL 세그먼트에서 사용된다.
|2) title
|* **#수정금지!#** 왼쪽 메뉴 페이지에 표시되는 목적으로 사용되는 컴포넌트 이름으로 공백, 대문자 및 다양한 문자를 사용할 수 있다.
|3) version
|* 컴포넌트 버전을 식별하는 데 사용되는 버전으로 리소스 ID의 버전 좌표 및 컴포넌트 버전의 게시된 리소스 URL에 대한 버전 세그먼트로 사용된다.
* 자세한 내용은 xref:00_2management.adoc#version_management["버전 관리"]에서 확인할 수 있다.
|4) start_page
|* **#수정금지!#** 페이지를 컴포넌트 버전의 홈 페이지로 지정한다.
형식) 모듈명:페이지 (ROOT모듈은 모듈명 작성시 생략한다.)
|5) asciidoc.attributes
|* **#수정금지!#** 컴포넌트 버전에 속하는 모든 페이지와 리소스(해당되는 경우)에 적용할 AsciiDoc 속성 및 페이지 속성을 설정한다.
|6) nav
|* 왼쪽 메뉴 페이지 구성에 사용될 탐색 파일 목록을 설정한다.
** 한 줄에 하나씩 입력한다.
** 들여쓰지 않는다.
** 각 값을 하이픈(-)으로 시작하고 그 뒤에 공백을 입력한다.
** 공백 뒤에 antora.yml 파일의 위치를 기준으로 개별 탐색 파일의 경로를 입력한다.
** 나열된 순서로 왼쪽 메뉴 페이지가 구성된다.
|===
[#module_name_rule]
=== 모듈 디렉토리 명명 규칙
모듈 이름은 페이지, 이미지, 첨부 파일, 예제 및 부분의 리소스 ID에서 모듈 좌표로 사용된다. 또한 해당 모듈에 할당된 게시 가능한 리소스의 URL에도 사용된다(ROOT 모듈 제외). 따라서 모듈 폴더 이름을 선택할 때 다음 사항을 지켜 생성한다.
* 공백이나 슬래시(/)를 포함할 수 없다.
* 대문자, 밑줄(_) 및 URL에서 권장되지 않는 기타 문자를 사용하지 않는다.
* 내장 매크로의 이름(예: link elink e\link)으로 끝내지 않는다.
* 너무 길거나 기억하기 어렵게 만들지 말고 짧고 설명적으로 만든다.
[#nav_file]
=== 내비게이션 파일
탐색 파일은 사이트의 왼쪽메뉴를 구성한다. 작성 방법은 다음과 같다.
==== 파일 이름 및 형식
탐색 파일은 **nav.adoc**으로 명명한다.
탐색 파일에는 하나 이상의 글머리 기호 목록이 포함되어 있다.
목록의 각 항목은 페이지에 대한 상호 참조, 사이트에 속하지 않은 웹 사이트의 URL 또는 중첩된 목록 항목 집합을 그룹화하는 범주 제목과 같은 연결되지 않은 텍스트일 수 있다.
==== 목록 구조
탐색 목록은 순서가 지정되지 않은 AsciiDoc 목록이다. 파일에 여러 목록이 포함된 경우 각 목록은 목록 제목으로 시작해야 하고 각 최상위 목록 항목은 최대 2 Level까지만 허용한다.
[NOTE]
====
최상위 목록 항목은 점(.)으로 표시되는 목록 제목이거나, 목록 제목이 없는 경우 단일 별표(*)로 표시된 각 목록 항목을 말한다.
====
[discrete]
==== AsciiDoc 소스
탐색 파일을 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
.가이드
* xref:00aboutManual.adoc[]
** xref:00_1writing.adoc[]
* xref:01title.adoc[]
----
[discrete]
==== 결과
탐색 파일을 작성한 메뉴 형태는 다음과 같다.
[NOTE]
====
메뉴의 각 항목은 문서 제목으로 표시된다. 문서 제목과 다른 항목명으로 표시하고 싶다면 [] 안에 작성한다.
====
****
.Navigation file (Site)
image::guide-like-bgbook_figure0_1.png["내비게이션 파일",800]
****
==== 내비게이션 등록
필수 구성 파일인 xref:00_2management.adoc#antora_yml["antora.yml"] 파일의 nav 키에 등록한다.
=== 매뉴얼 구성 예시
여러 개의 매뉴얼 문서를 하나의 통합 문서 사이트로 만들 때, 각 매뉴얼 문서의 내용을 논리적으로 나누어 명명된 모듈 디렉토리로 생성하고 사용자가 쉽게 탐색할 수 있도록 내비게이션 파일을 작성한다.
다음은 하나의 예시로 참고하여 각 제품의 특성에 맞게 구성하도록 한다.
==== Repository 구조
----
📒 repository (swlab-docs-제품명)
📄 antora.yml
📂 modules
📁 ROOT
📂 concepts <1>
📂 pages
📄 overview.adoc
📄 latest-updates.adoc
📄 architecture.adoc
📄 nav.adoc
📂 getting-started <2>
📂 pages
📄 quick-start.adoc
📄 environment-setup.adoc
📄 sample-application.adoc
📄 nav.adoc
📂 install-n-config <3>
📂 pages
📄 product-a.adoc
📄 product-b.adoc
📄 product-c.adoc
📄 basic-configuration.adoc
📄 advanced-configuration.adoc
📄 nav.adoc
📂 user <4>
📂 pages
📄 basic-usage.adoc
📄 ui-components.adoc
📄 core-features.adoc
📄 advanced-usage.adoc
📄 advanced-features.adoc
📄 integration-features.adoc
📄 nav.adoc
📂 development <5>
📂 pages
📄 api-reference.adoc
📄 command-reference.adoc
📄 sdk-usage.adoc
📄 nav.adoc
📂 troubleshooting <6>
📂 pages
📄 faq.adoc
📄 error-codes.adoc
📄 getting-support.adoc
📄 nav.adoc
📂 examples-n-tutorials <7>
📂 pages
📄 basic-examples.adoc
📄 advanced-tutorials.adoc
📄 video-tutorials.adoc
📄 nav.adoc
📂 additional-resources <8>
📂 pages
📄 external-resources.adoc
📄 glossary.adoc
📄 nav.adoc
----
<1> 홈: 사이트의 전반적인 소개 및 최신 정보를 제공하는 페이지다. 사용자들이 처음 방문했을 때 전체적인 구조와 최신 업데이트를 빠르게 파악할 수 있도록 돕는다.
<2> 시작하기: 제품 설치 및 초기 설정에 대한 안내를 제공하여 새로운 사용자가 쉽게 따라하며 제품을 사용할 수 있게 한다.
<3> 설치 및 설정 가이드: 각 제품 또는 버전별 설치 방법과 초기 구성 및 기본 설정과 고급 옵션 및 사용자 정의 설정 등을 작성한다.
<4> 사용자 가이드: 제품의 주요 기능과 사용 방법에 대한 자세한 설명을 제공하여 사용자들이 제품을 효율적으로 활용할 수 있도록 도와준다.
<5> 개발자 가이드: 개발자들을 위한 API 참조, 명령어, SDK 사용법 등을 제공한다. 개발자들이 제품을 확장하거나 커스터마이즈하는 데 필요한 기술 정보를 포함한다.
<6> 문제 해결: 자주 묻는 질문(FAQ)과 일반적인 에러 코드 및 해결 방법, 기술 지원 연락처 및 방법 등 사용자가 자주 겪는 문제와 그 해결 방법을 빠르게 찾을 수 있도록 돕는다.
<7> 예제 및 튜토리얼: 예제 코드와 튜토리얼을 제공하여 사용자가 제품을 더 잘 이해하고 활용할 수 있도록 돕는다.
<8> 기타 리소스: 추가적인 참고 자료와 외부 리소스를 제공한다.
==== 내비게이션 파일
[discrete]
==== concepts > nav.adoc
----
.Concepts
* xref:overview.adoc[개요]
* xref:latest-updates.adoc[최신 업데이트]
* xref:architecture.adoc[아키텍처]
----
[discrete]
==== getting-started > nav.adoc
----
.Getting Started
* xref:quick-start.adoc[설치]
* xref:environment-setup[환경 설정]
* xref:sample-application.adoc[기본 예제]
----
[discrete]
==== install-n-config > nav.adoc
----
.설치 및 설정
* 설치
** xref:product-a.adoc[제품A 설치]
** xref:product-b.adoc[제품B 설치]
** xref:product-c.adoc[제품C 설치]
* 설정
** xref:basic-configuration.adoc[기본 설정]
** xref:advanced-configuration.adoc[고급 설정]
----
[discrete]
==== user > nav.adoc
----
.사용자 가이드
* xref:basic-usage.adoc[기본 사용법]
** xref:ui-components.adoc[UI 구성 요소]
** xref:core-features.adoc[기본 기능]
* xref:advanced-usage.adoc[고급 사용법]
** xref:advanced-features.adoc[고급 기능]
** xref:integration-features.adoc[통합 기능]
----
[discrete]
==== development > nav.adoc
----
.개발 가이드
* API 참조
** xref:api-overview.adoc[API 개요]
** xref:endpoint-descriptions.adoc[엔드포인트 설명]
* 명령어 참조
** xref:cli-commands.adoc[아키텍처]
* SDK 사용법
** xref:sdk-installation.adoc[SDK 설치]
** xref:sample-code.adoc[샘플 코드]
----
[discrete]
==== troubleshooting > nav.adoc
----
.문제 해결
* xref:faq.adoc[자주 묻는 질문(FAQ)]
* xref:error-codes.adoc[에러 코드]
* xref:getting-support.adoc[지원 받기]
----
[discrete]
==== examples-n-tutorials > nav.adoc
----
.예제 및 튜토리얼
* xref:basic-examples.adoc[기본 예제]
* xref:advanced-tutorials.adoc[고급 튜토리얼]
* xref:video-tutorials.adoc[비디오 튜토리얼]
----
[discrete]
==== additional-resources > nav.adoc
----
.기타 리소스
* xref:external-resources.adoc[외부 리소스]
* xref:glossary.adoc[용어집]
----
==== antora.yml
[source,yaml]
----
nav:
- modules/concepts/nav.adoc
- modules/getting-started/nav.adoc
- modules/install-n-config/nav.adoc
- modules/user/nav.adoc
- modules/development/nav.adoc
- modules/troubleshooting/nav.adoc
- modules/examples-n-tutorials/nav.adoc
- modules/additional-resources/nav.adoc
----
[#version_management]
== 버전 관리
Antora는 Git 리포지토리의 브랜치를 통해 각기 다른 문서 버전을 관리한다. 각 브랜치는 독립된 문서 버전을 나타내며, 이를 통해 여러 버전의 문서를 동시에 관리하고 배포할 수 있다.
=== Repository 구성
각 브랜치는 각각의 문서 버전을 나타낸다. master 브랜치는 최신 버전을, v1.0 브랜치는 1.0 버전을 나타낼 수 있다.
[NOTE]
====
브랜치명은 version 의 'v'를 prefix로 생성한다.
====
=== Antora Playbook 파일 설정
antora-playbook.yml 파일에서 각 브랜치를 소스로 추가한다.
[source,yaml]
----
content:
sources:
- url: https://gitlab.bwg.co.kr/swd/swlab-docs.git
branches: [master, v1.0] <1>
start_path: getting-started
----
<1> master 브랜치는 최신 버전을, v1.0 브랜치는 1.0 버전을 나타낼 수 있다.
=== 컴포넌트 설정 (antora.yml)
각 브랜치의 루트 디렉토리에 위치한 antora.yml 파일을 통해 해당 버전의 메타데이터를 정의한다. master 브랜치는 최신 버전을, v1.0 브랜치는 1.0 버전을 나타낸다.
==== master 브랜치의 antora.yml 파일
[discrete]
==== 버전이 하나만 존재할 경우
[source,yaml]
----
version: '1.0' <1>
----
<1> branch 명: v1.0
[discrete]
==== 버전이 추가되었을 경우
[source,yaml]
----
version: '2.0' <1>
----
<1> 최신 버전을 기입한다.
== 다국어 관리
국제화를 위해서 각 나라의 언어별로 프로젝트를 구분하여 리소스를 관리하는 구조를 갖고 있다.
== 정적 HTML 파일 생성
다음 과정을 통해 사이트를 정적 HTML 파일로 고객에게 제공할 수 있다.
. 파일 다운로드
. 고객 안내
=== 파일 다운로드
Antora로 사이트를 빌드할 때 사이트의 정적 HTML 파일을 생성한다.
sftp로 다운로드 받고자하는 제품의 압축 파일을 다운로드한다.
==== cmd 창 실행
* 실행 창(Run dialog box) 열기
kbd:[Window+R] 버튼
* 명령 프롬프트(Command Prompt) 실행
'cmd' 입력
****
.명령 프롬프트(Command Prompt) 실행
image::guide-like-bgbook_figure0_2.png["cmd 실행",400]
****
==== sftp 접속
[source,console]
----
>sftp -P 6300 bxdocs@182.162.100.110
bxdocs@182.162.100.110's password: <1>
----
<1> 비밀번호는 SWD팀에 문의한다.
==== 다운로드
[source,console]
----
sftp> get /data/home/bxdocs/off_site/swlab-docs-bxcm/docs-bxcm.zip <1>
sftp> get /data/home/bxdocs/off_site/swlab-docs-bxcp/docs-bxcp.zip <2>
sftp> get /data/home/bxdocs/off_site/swlab-docs-bxi/docs-bxi.zip <3>
sftp> get /data/home/bxdocs/off_site/swlab-docs-bxm/docs-bxm.zip <4>
----
<1> BXCM
<2> BXCP
<3> BXI
<4> BXM
==== sftp 종료
[source,console]
----
sftp> quit
----
=== 고객 안내
압축 파일을 전달한 후 오프라인 환경에서 문서를 열람하는 방법을 안내한다.
.압축파일 구조
----
📒 docs-{제품명}.zip
📂 site
📂 _
📂 swlab-docs-{제품명}
📄 index.html <1>
----
<1> 압축파일 해제 후 site\index.html 파일을 더블 클릭하여 실행한다.
\ No newline at end of file
= 매뉴얼에 대하여
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 으로 작성하는 매뉴얼에 대하여 설명합니다.
--
== 글쓰기 방법
여러 사람이 집필하지만 한사람이 집필한 것처럼 일관되고 통일된 형태로 문장이 표현될 수 있도록 기존 BGBook 가이드의 xref:00_1writing.adoc#how_to_write["글쓰기 방법"]을 이용하므로 한번씩 정독하도록 한다.
== 매뉴얼 구성
매뉴얼의 기본 구성에 대해서 설명한다.
=== 공통 양식
문서를 시작할 때 공통적으로 작성되어야 할 사항이다.
[source,asciidoc]
----
= Document Title <1>
Gildong Hong <email1@bankwareglobal.com> <2>
[abstract] <3>
.문서개요
--
문서에 대해 설명한다.
--
----
<1> 문서 제목
<2> 작성자 정보
<3> 문서 개요
==== 문서 제목
각 페이지마다 하나의 문서 제목을 가진다. 작성 방법은 xref:01title.adoc#document_title["문서 제목"]을 참고하여 작성한다.
==== 작성자 정보
각 페이지마다 작성자 또는 대표 담당자 정보를 문서 제목 아래에 다음과 같은 형태로 기입한다.
----
성명 <메일주소>
----
==== 문서 개요
문서의 개념 및 작성 과정에 대해서 개략적으로 설명한다.
[source,asciidoc]
----
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 작성하는 매뉴얼에 대하여 설명합니다.
--
----
== 매뉴얼 관리
xref:00_2management.adoc#manual_management["매뉴얼 관리"] 메뉴에서 설명한다.
\ No newline at end of file
[#document_title]
= 문서 제목 (Title)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 문서 제목을 표현하는 방법에 대해 설명합니다.
--
== Document Title
모든 페이지에는 문서 제목을 작성해야하고 결과물은 다음과 같다.
=== AsciiDoc 소스
Title을 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
= 문서 제목 (Title)
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 문서 제목을 표현하는 방법에 대해 설명합니다.
--
----
=== 결과
Title을 작성한 본문 형태는 다음과 같다.
****
.Document Title
image::guide-like-bgbook_figure1_1.png["Document Title",800]
****
\ No newline at end of file
= 절 (Section)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 절(Section)을 표현하는 방법에 대해 설명합니다.
--
== Section
문서에서 절을 표현하기 위해서는 = 을 늘려가며 사용하고 결과물은 다음과 같다.
문서 제목을 제외하고 섹션은 3 Depth까지만 허용한다.
Document Title(=) -> Level 1 Section(==) -> Level 2 Section(===) -> Level 3 Section(====)
=== AsciiDoc 소스
절을 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
== Text Formatting
우리가 말할 때 특정 단어와 구를 강조하는 것처럼, 우리는 서식과 구두점을 사용하여 텍스트에서 단어와 구를 강조한다. 문서에서 텍스트 서식을 표현하기 위해서는 다양한 서식 표시를 사용하고 결과물은 다음과 같다.
=== 굵게 (*)
굵은 텍스트는 더 두껍거나 어두운 글꼴을 적용한다.
==== AsciiDoc 소스
텍스트 서식(Bold)을 사용하는 AsciiDoc 소스는 다음과 같다.
----
=== 결과
절을 사용하는 경우 본문 형태는 다음과 같다.
****
.Section
image::guide-like-bgbook_figure2_1.png["Section",800]
****
\ No newline at end of file
= 절 (Section) 이하
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 절(Section) 이하 레벨을 표현하는 방법에 대해 설명합니다.
--
== Section 이하
문서에서 절 이하 레벨을 표현하기 위해서는 [discrete]를 사용하고 결과물은 다음과 같다.
=== AsciiDoc 소스
절 이하 레벨을 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
[discrete]
==== Section
절 이하 레벨 표현 시 사용한다.
----
=== 결과
절 이하 레벨을 사용하는 경우 본문 형태는 다음과 같다.
****
[discrete]
==== Section 이하
절 이하 레벨 표현 시 사용한다.
****
= 단락 (Paragraph)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 단락(Paragraph)을 표현하는 방법에 대해 설명합니다.
--
== Paragraph
AsciiDoc에서는 단락을 만들기 위해 특별한 마크업이나 속성을 사용할 필요가 없다. 문장을 입력하기 시작하면 해당 내용이 단락이 된다. 결과물은 다음과 같다.
=== AsciiDoc 소스
Paragraph를 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
단락에는 AsciiDoc에서 특별한 마크업이 필요하지 않습니다. 단락은 한 줄 이상의 연속된 텍스트입니다.
새 단락을 시작하려면 이전 단락 또는 블록에서 하나 이상의 빈 줄로 구분합니다.
----
=== 결과
단락을 사용하는 본문 형태는 다음과 같다.
****
단락에는 AsciiDoc에서 특별한 마크업이 필요하지 않습니다. 단락은 한 줄 이상의 연속된 텍스트입니다.
새 단락을 시작하려면 이전 단락 또는 블록에서 하나 이상의 빈 줄로 구분합니다.
****
== 단락 연결
AsciiDoc에서 단락을 연결하려면 단락 사이에 + 기호를 사용한다. 이렇게 하면 줄바꿈이 발생하지 않고, 연결된 텍스트가 하나의 문단으로 표시된다.
[NOTE]
====
* + 기호는 단락 사이에 빈 줄 없이 사용해야 한다.
* + 기호 뒤에 오는 텍스트는 공백 한 칸 띄고 시작하지 않아야 한다.
====
=== AsciiDoc 소스
단락 연결을 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
....
// + 사용 안 했을 경우
* 제품명과 같은 고유명사는 영문으로 표시하고 영문 명사는 국문으로 표시한다.
----
아파치 → Apache
----
// + 사용 했을 경우
* 외래어 표기는 정부부처에서 제정한 외래어 표기법을 따른다.
+
----
Access → 액세스 (O), 접근 (X)
----
....
=== 결과
단락 연결을 사용하는 본문 형태는 다음과 같다.
****
// + 사용 안 했을 경우
* 제품명과 같은 고유명사는 영문으로 표시하고 영문 명사는 국문으로 표시한다.
----
아파치 → Apache
----
// + 사용 했을 경우
* 외래어 표기는 정부부처에서 제정한 외래어 표기법을 따른다.
+
----
Access → 액세스 (O), 접근 (X)
----
****
= 부록 (Appendix)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 부록(Appendix) 표현하는 방법에 대해 설명합니다.
--
== Appendix
문서에서 부록을 표현하기 위해서는 [appendix]를 사용하고 Level 1 Section(==)으로 정의한다. 문서 끝에 배치하도록 하고 결과물은 다음과 같다.
=== AsciiDoc 소스
부록을 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
[appendix]
== 첫번째 부록
=== First Subsection
=== Second Subsection
[appendix]
== 두번째 부록
----
=== 결과
부록을 사용하는 본문 형태는 다음과 같다.
[appendix]
== 첫번째 부록
=== First Subsection
=== Second Subsection
[appendix]
== 두번째 부록
= 소스 코드
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 소스 코드를 표현하는 방법에 대해 설명합니다.
--
== Source Code
문서에서 소스 코드를 표현하기 위해서는 [source,언어명]와 소스 블록(----)을 사용하고 결과물은 다음과 같다.
[NOTE]
====
* 소스가 아닌 경우 [source,언어명] 는 생략하고 블록(----)만 사용한다.
* AsciiDoc에서 특수하게 사용되는 문자가 포함된 경우 xref:06sourcecode.adoc#text_print["텍스트 그대로 출력"]을 참고한다.
====
=== AsciiDoc 소스
소스 코드를 작성하는 AsciiDoc 소스는 다음과 같다.
....
[source,c]
----
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
----
....
=== 결과
소스 코드를 사용하는 경우 본문 형태는 다음과 같다.
****
[source,c]
----
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
----
****
== Stack Trace
문서에서 Stack Trace를 표현하기 위해서는 [%collapsible]와 블록(====)을 사용하고 결과물은 다음과 같다.
=== AsciiDoc 소스
Stack Trace를 작성하는 AsciiDoc 소스 다음과 같다.
....
.Show stacktrace
[%collapsible]
====
[source]
----
Error: Content repository not found (url: https://git.example.org/repo.git)
at transformGitCloneError
at git.clone.then.then.catch
Caused by: HttpError: HTTP Error: 401 HTTP Basic: Access Denied
at GitCredentialManagerStore.rejected
at fill.then
----
====
....
=== 결과
Stack Trace를 사용하는 경우 본문 형태는 다음과 같다.
****
.Show stacktrace
[%collapsible]
====
[source]
----
Error: Content repository not found (url: https://git.example.org/repo.git)
at transformGitCloneError
at git.clone.then.then.catch
Caused by: HttpError: HTTP Error: 401 HTTP Basic: Access Denied
at GitCredentialManagerStore.rejected
at fill.then
----
====
****
[#text_print]
== 텍스트 그대로 출력
입력한 대로 출력 텍스트를 표시한다.
* 인라인 패스 매크로: 인라인일 경우 사용한다.
* 리터럴 블록: 블록으로 지정할 때 사용한다.
* 블록 내 패스 매크로: 블록 내 패스 매크로 사용 방법
* subs 속성: 블록(및 특정 인라인 요소)에 적용되는 대체 규칙
=== 인라인 패스 매크로 (pass:[pass:[ ]])
인라인 텍스트의 서식이 지정되지 않도록 하는 특수 구문이다.
==== AsciiDoc 소스
Inline pass를 작성하는 AsciiDoc 소스 다음과 같다.
....
http.authorizeRequests()**.antMatchers("/resources/pass:[**]").permitAll()**.anyRequest().authenticated()
....
==== 결과
Inline pass를 사용하는 경우 본문 형태는 다음과 같다.
****
http.authorizeRequests()**.antMatchers("/resources/pass:[**]").permitAll()**.anyRequest().authenticated()
****
=== 리터럴 블록 (pass:[....])
리터럴 블록은 소스에서 보는 그대로 작성한 텍스트를 표시한다.
==== AsciiDoc 소스
리터럴 블록을 작성하는 AsciiDoc 소스 다음과 같다.
----
....
Kismet: Where is the *defensive operations manual*?
Computer: Calculating ...
Can not locate object.
....
----
=== AsciiDoc 소스
Stack Trace를 작성하는 AsciiDoc 소스 다음과 같다.
****
....
Kismet: Where is the *defensive operations manual*?
Computer: Calculating ...
Can not locate object.
....
****
. 출력에서 텍스트에 굵은 텍스트 서식이 적용되지 않는다.
. 세 개의 연속된 마침표가 줄임표 유니코드 문자로 대체되지 않는다.
=== 블록 내 패스 매크로
리터럴(....) 및 소스 블록(----) 내에서 pass를 사용하는 경우 pass가 매크로 대체라는 사실을 잊기 쉽다. pass를 활성화하려면 xref:06sourcecode.adoc#subs_attribute["subs 속성"]에 macros값을 할당한다.
==== AsciiDoc 소스
블록에서 Inline pass를 작성하는 AsciiDoc 소스 다음과 같다.
....
[source,java,subs="+quotes,+macros"]
----
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
**.antMatchers("/resources/pass:[**]").permitAll()**
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll();
----
....
==== 결과
블록에서 Inline pass를 사용하는 경우 본문 형태는 다음과 같다.
****
[source,java,subs="+quotes,+macros"]
----
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
**.antMatchers("/resources/pass:[**]").permitAll()**
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll();
----
****
[#subs_attribute]
=== subs 속성
블록(및 특정 인라인 요소)에 적용되는 대체 규칙은 subs 요소 속성을 사용하여 변경하거나 수정할 수 있다.
==== 종류
다음은 그 대체 단계 및 그룹이다.
[horizontal]
none:: 모든 대체를 비활성화하는 대체 그룹.
normal:: 콜아웃을 제외한 모든 대체 유형을 수행하는 대체 그룹.
specialchars:: <, > 및 &를 해당 엔티티로 대체하는 대체 단계. 소스 블록의 경우, 이 대체 단계는 구문 강조 표시를 활성화한다.
callouts:: 리터럴, 목록 및 소스 블록에서 콜아웃을 처리하는 대체 단계.
quotes:: 인라인 텍스트 서식을 적용하는 대체 단계.
attributes:: 속성 참조를 대체하는 대체 단계.
macros:: 인라인 및 블록 매크로를 처리하는 대체 단계.
post_replacements:: 줄 바꿈 문자(+)를 처리하는 대체 단계.
[NOTE]
====
* 값은 대체가 적용되는 순서도 지정한다.
* subs 요소 속성은 중첩된 블록에 상속되지 않는다. 이는 자식 블록을 가질 수 없는 단락(paragraph)이나 소스 블록(----)에만 적용될 수 있다.
====
==== 블록에 subs 속성 설정
소스 블록에서 인라인 서식 마크업을 처리하고 싶은 경우
기본적으로 소스 블록(----))은 특수 문자와 콜아웃만 적용된다. 이 동작은 블록의 속성 목록에서 subs 속성을 설정하여 변경할 수 있다.
[discrete]
==== AsciiDoc 소스
subs 속성을 작성하는 AsciiDoc 소스 다음과 같다.
....
// 기본 소스 블록
[source,java]
----
System.out.println("Hello *<name>*")
----
// subs 속성 설정
[source,java,subs="+quotes"]
----
System.out.println("Hello *<name>*")
----
....
[discrete]
==== 결과
subs 속성을 사용하는 경우 본문 형태는 다음과 같다.
****
[source,java]
----
System.out.println("Hello *<name>*")
----
[source,java,subs="+quotes"]
----
System.out.println("Hello *<name>*")
----
****
= 소스 코드 설명 (Callouts)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 설명선(Callouts; Callout numbers)을 표현하는 방법에 대해 설명합니다.
--
== Callout syntax
문서에서 설명선을 표현하기 위해서는 <n>을 사용한다.
<n>는 한 쌍으로 동작하며 첫번째는 소스 코드 블록 내에서 대상이 되는 줄 끝에 배치해야 하고 두 번째는 블록 아래에 배치하고 주석 텍스트를 정의한다. 결과물은 다음과 같다.
=== AsciiDoc 소스
설명선을 작성하는 AsciiDoc 소스는 다음과 같다.
....
[source,ruby]
----
require 'sinatra' \<1>
get '/hi' do \<2> \<3>
"Hello World!"
end
----
<1> Library import
<2> URL mapping
<3> Response block
....
=== 결과
설명선을 사용하는 경우 본문 형태는 다음과 같다.
****
[source,ruby]
----
require 'sinatra' <1>
get '/hi' do <2> <3>
"Hello World!"
end
----
<1> Library import
<2> URL mapping
<3> Response block
****
= 명령어 실행
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 명령어 실행을 표현하는 방법에 대해 설명합니다.
--
== Console 출력
문서에서 명령어 실행 단락을 표현하기 위해서 특별한 마크업이나 속성을 사용할 필요 없이 소스 코드와 동일하게 [source,언어명]와 소스 블록(----)을 사용한다. 언어명에 'console'을 지정하고 결과물은 다음과 같다.
=== AsciiDoc 소스
소스 코드를 작성하는 AsciiDoc 소스는 다음과 같다.
....
[source,console]
----
$ asciidoctor -v
----
[source,console]
----
C:\Users>dir
C 드라이브의 볼륨에는 이름이 없습니다.
볼륨 일련 번호: 4672-72DE
C:\Users 디렉터리
2024-02-19 오전 10:10 <DIR> .
2024-05-23 오전 03:51 <DIR> NB-20091101
2024-02-19 오전 10:07 <DIR> Public
0개 파일 0 바이트
3개 디렉터리 148,959,109,120 바이트 남음
----
....
=== 결과
소스 코드를 사용하는 경우 본문 형태는 다음과 같다.
****
[source,console]
----
$ asciidoctor -v
----
[source,console]
----
C:\Users>dir
C 드라이브의 볼륨에는 이름이 없습니다.
볼륨 일련 번호: 4672-72DE
C:\Users 디렉터리
2024-02-19 오전 10:10 <DIR> .
2024-05-23 오전 03:51 <DIR> NB-20091101
2024-02-19 오전 10:07 <DIR> Public
0개 파일 0 바이트
3개 디렉터리 148,959,109,120 바이트 남음
----
****
= 그림 (Image)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 그림(Image)을 표현하는 방법에 대해 설명합니다.
--
== Image
문서에서 그림을 표현하기 위해서는 블록(pass:[****)]과 image::파일명["대체 텍스트",너비]를 사용하고 결과물은 다음과 같다.
[NOTE]
====
이미지 파일명 규칙
. "모듈명_"을 접두어로 붙이고 파일명이 겹치지 않도록한다.
(예)
* concepts 모듈에서 사용되는 이미지
** 접두어: concepts_
** 파일명: concepts_overview.png
. images 폴더 아래 하위 폴더가 있다면 "폴더명_"도 추가한다.
(예)
* concepts 모듈의 images 폴더 하위의 architecture 폴더의 이미지
** 접두어: concepts_architecture_
** 파일명: concepts_architecture_01.png
====
=== AsciiDoc 소스
그림을 사용하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
****
.Online Architecture
image::guide-like-bgbook_figure9_1.png["Online Architecture",800]
****
----
=== 결과
그림을 사용하는 경우 본문 형태는 다음과 같다.
****
.Online Architecture
image::guide-like-bgbook_figure9_1.png["Online Architecture",800]
****
= 아이콘 (Inline Image)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 아이콘(Inline Image)을 표현하는 방법에 대해 설명합니다.
--
== Inline Image
문서에서 아이콘을 표현하기 위해서는 pass:[image:파일명["대체 텍스트",너비]]를 사용하고 결과물은 다음과 같다.
[NOTE]
====
이미지 파일명 규칙
. "모듈명_"을 접두어로 붙이고 파일명이 겹치지 않도록한다.
(예)
* concepts 모듈에서 사용되는 이미지
** 접두어: concepts_
** 파일명: concepts_overview.png
. images 폴더 아래 하위 폴더가 있다면 "폴더명_"도 추가한다.
(예)
* concepts 모듈의 images 폴더 하위의 architecture 폴더의 이미지
** 접두어: concepts_architecture_
** 파일명: concepts_architecture_01.png
====
=== AsciiDoc 소스
아이콘을 사용하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
Click image:guide-like-bgbook_play.png["Play",20] to get the party started.
////
대상 이미지가 ROOT 모듈에 속한 경우 ROOT 모듈 좌표를 지정해야 한다.
형식: image:ROOT:target-image-filename.ext[optional attribute]
////
Click image:ROOT:ROOT_pause.png["Pause",20] when you need a break.
----
[CAUTION]
====
공통으로 사용되는 이미지는 ROOT 모듈을 이용하고 다른 모듈의 이미지를 직접 접근해서 사용하지 않는다.
====
=== 결과
아이콘을 사용하는 경우 본문 형태는 다음과 같다.
****
Click image:guide-like-bgbook_play.png["Play",20] to get the party started.
Click image:ROOT:ROOT_pause.png["Pause",20] when you need a break.
****
= 기호 목록 (Unordered Lists)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 기호 목록(Unordered Lists)을 표현하는 방법에 대해 설명합니다.
--
== Unordered Lists
문서에서 순서가 지정되지 않은 목록은 디스크(일명 글머리 기호)와 같이 기호가 접두사로 붙은 항목이 있는 목록이다. 정렬되지 않은 목록 항목을 표현하기 위해서는 * 을 사용하고 결과물은 다음과 같다.
=== AsciiDoc 소스
기호 목록을 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
.기본 정보
* 적용 일자
해당 기관업무를 적용할 날짜. 당일부터 실행하고자 하는 경우, 오늘 이전 날짜를 등록한다.
* 응답 처리방식 코드
응답을 보낼 채널을 설정한다.
** 요청채널
요청받은 채널로 응답을 보낸다.
** 지정채널
커넥션정보의 추가정보에 설정된 지정응답커넥션으로 응답을 보낸다.
** 라운드로빈
커넥션 그룹 내의 커넥션을 라운드로빈 방식으로 배분하여 응답을 보낸다.
----
=== 결과
기호 목록을 사용하는 경우 본문 형태는 다음과 같다.
****
.기본 정보
* 적용 일자
해당 기관업무를 적용할 날짜. 당일부터 실행하고자 하는 경우, 오늘 이전 날짜를 등록한다.
* 응답 처리방식 코드
응답을 보낼 채널을 설정한다.
** 요청채널
요청받은 채널로 응답을 보낸다.
** 지정채널
커넥션정보의 추가정보에 설정된 지정응답커넥션으로 응답을 보낸다.
** 라운드로빈
커넥션 그룹 내의 커넥션을 라운드로빈 방식으로 배분하여 응답을 보낸다.
****
= 번호 목록 (Ordered Lists)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 번호 목록(Ordered Lists)을 표현하는 방법에 대해 설명합니다.
--
== Ordered Lists
문서에서 순서가 지정된 목록은 각 항목 앞에 숫자를 붙인 목록이다. 설치 과정이나 기동 단계와 같이 순서대로 나열되는 설명은 번호를 사용하여 설명한다. 정렬된 목록 항목을 표현하기 위해서는 점(.) 을 사용하고 결과물은 다음과 같다.
=== AsciiDoc 소스
번호 목록을 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
.등록절차
. 전문관리 > 전문레이아웃 화면
.. 그리드 우측 상단 버튼을 클릭
.. 신규 전문레이아웃 등록화면을 실행
. 우측상단의 행 추가 버튼을 클릭
.. 전문의 각 필드항목 필드명 및 타입, 길이 등을 설정하여 등록
----
=== 결과
번호 목록을 사용하는 경우 본문 형태는 다음과 같다.
****
.등록절차
. 전문관리 > 전문레이아웃 화면
.. 그리드 우측 상단 버튼을 클릭
.. 신규 전문레이아웃 등록화면을 실행
. 우측상단의 행 추가 버튼을 클릭
.. 전문의 각 필드항목 필드명 및 타입, 길이 등을 설정하여 등록
****
= 표 (Table)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 표(Table)를 표현하는 방법에 대해 설명합니다.
--
== Table
문서에서 표를 표현하기 위해서는 열 지정자 목록([cols="1열 지정자,2열 지정자,..."])과 표 블록(|===)을 사용한다.
* 열 지정자
열과 해당 열에 할당된 너비, 맞춤 및 스타일 속성을 나타낸다.
** 너비
열 너비는 1%와 100%사이의 백분율을 사용하여 할당하고 백분율 기호(%)는 생략한다.
** 서식
서식 연산자는 항상 열의 지정자 마지막 위치에 배치한다.
특정 셀에만 서식을 지정할 때는 셀 구분자(|) 앞에 서식 연산자를 지정한다.
*** 기본(d 또는 생략): 기본 인라인 서식 지원
*** AsciiDoc(a): AsciiDoc 블록 요소(목록, 블록) 지원
결과물은 다음과 같다.
=== AsciiDoc 소스
표를 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
.표 예제
[cols="50a,50"] <1>
|===
|헤더1열 |헤더2열
|. 1행 1열
AsciiDoc 서식 지정: AsciiDoc 블록 요소 지원됨
|. 1행 2열
기본 서식 지정: AsciiDoc 블록 요소 지원 안됨
|* 2행 1열
AsciiDoc 서식 지정: AsciiDoc 블록 요소 지원됨
|* 2행 2열
기본 서식 지정: AsciiDoc 블록 요소 지원 안됨
d|* 3행 1열 <2>
셀에 기본 서식 지정: AsciiDoc 블록 요소 지원 안됨
a|* 3행 2열 <3>
셀에 AsciiDoc 서식 지정: AsciiDoc 블록 요소 지원됨
|===
----
<1> 1열에 AsciiDoc(a) 서식 지정
<2> 셀에 기본(d) 서식 지정
<3> 셀에 AsciiDoc(a) 서식 지정
=== 결과
표를 사용하는 경우 본문 형태는 다음과 같다.
****
.표 예제
[cols="50a,50"]
|===
|헤더1열 |헤더2열
|. 1행 1열
AsciiDoc 서식: AsciiDoc 블록 요소 지원됨
|. 1행 2열
기본서식: AsciiDoc 블록 요소 지원 안됨
|* 2행 1열
AsciiDoc 서식: AsciiDoc 블록 요소 지원됨
|* 2행 2열
기본서식: AsciiDoc 블록 요소 지원 안됨
d|* 3행 1열
셀에 기본 서식 지정: AsciiDoc 블록 요소 지원 안됨
a|* 3행 2열
셀에 AsciiDoc 서식 지정: AsciiDoc 블록 요소 지원됨
|===
****
== 병합
표에서 병합을 표현하기 위해서는 셀 구분자(|) 앞에 범위 인수(`n`)와 범위 연산자(`+`)를 입력한다.
* 형식: 열범위.행범위+.^
** 예) 2.3+
결과물은 다음과 같다.
=== AsciiDoc 소스
병합을 작성하는 AsciiDoc 소스는 다음과 같다.
----
.병합 예제
[cols="25,25,25,25"]
|===
|헤더 1열 |헤더 2열 |헤더 3열 |헤더 4열
|1행 1열
2.3+|1행 2열
`2.3+`: 현위치 기준 2개의 열과 3개의 행 병합
-> 2열과 3열,
-> 1행과 2행, 그리고 3행 병합
|1행 4열
|2행 1열
|2행 4열
|3행 1열
|3행 4열
|===
----
=== 결과
병합을 사용하는 경우 본문 형태는 다음과 같다.
****
.병합 예제
[cols="25,25,25,25"]
|===
|헤더 1열 |헤더 2열 |헤더 3열 |헤더 4열
|1행 1열
2.3+|1행 2열
`2.3+`: 현위치 기준 2개의 열과 3개의 행 병합
-> 2열과 3열,
-> 1행과 2행, 그리고 3행 병합
|1행 4열
|2행 1열
|2행 4열
|3행 1열
|3행 4열
|===
****
\ No newline at end of file
= 권고 레이블
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 권고 레이블을 표현하는 방법에 대해 설명합니다.
--
== 권고 레이블
문서에서 권고 레이블을 표현하기 위해서는 [레이블명]과 블록(====)을 사용한다. 레이블은 대문자로 작성한다.
* 레이블 종류
** NOTE:
추가적인 정보나 참고 사항, 유용한 조언, 유익한 힌트를 제공할 때 사용한다. 문서의 주요 흐름에 직접적으로 영향을 미치지 않지만 독자에게 유용하거나 작업을 더 효율적으로 수행할 수 있도록 돕는 정보다.
** IMPORTANT:
중요한 정보나 절차를 강조할 때 사용한다. 반드시 알아야 하거나 주의 깊게 따라야 하는 내용이다.
** CAUTION:
신중하게 행동하도록 조언할 때 사용한다. 이 정보를 무시하면 오류가 발생하거나 예기치 않은 결과가 초래될 수 있다.
결과물은 다음과 같다.
=== AsciiDoc 소스
권고 레이블을 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
[NOTE]
====
커넥션 구분이 클라이언트이면서 비유지 커넥션은 설정할 수 없다.
====
[IMPORTANT]
====
전송타임아웃은 거래에 대한 타임아웃 시간보다 큰 값을 설정해야 정상적으로 동작한다.
====
[CAUTION]
====
특별한 경우가 아니면 Half close 옵션을 사용하지 말 것을 권장한다.
====
----
=== 결과
권고 레이블을 사용하는 경우 본문 형태는 다음과 같다.
****
[NOTE]
====
커넥션 구분이 클라이언트이면서 비유지 커넥션은 설정할 수 없다.
====
[IMPORTANT]
====
전송타임아웃은 거래에 대한 타임아웃 시간보다 큰 값을 설정해야 정상적으로 동작한다.
====
[CAUTION]
====
특별한 경우가 아니면 Half close 옵션을 사용하지 말 것을 권장한다.
====
****
= 링크와 참조
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 링크와 참조를 표현하는 방법에 대해 설명합니다.
--
== Link
문서에서 주소 지정 가능한 다른 리소스에 대한 링크(일명 하이퍼링크)를 만드는 다양한 방법을 제공한다.
[NOTE]
====
* 링크의 대상: 웹 주소라고도 하는 URL(Uniform Resource Locator)
* 링크 텍스트: 해당 대상으로 이동하기 위해 클릭하는 텍스트
====
문서에서 링크를 표현하기 위해서는 pass:[link:+++URL+++["링크 텍스트"]] 를 사용하고 결과물은 다음과 같다.
[#link_asciidoc_source]
=== AsciiDoc 소스
링크를 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
The homepage for the Asciidoctor Project is link:+++https://asciidoctor.org/+++["AsciiDoctor Home"].
Email us at hello@example.com to say hello.
-- <1>
Once launched, the site will be available at \https://example.org.
If you cannot access the site, email \help@example.org for assistance.
--
----
<1> 자동 링크를 피하려면 URL앞에 \ 를 붙인다.
=== 결과
링크를 사용하는 경우 본문 형태는 다음과 같다.
****
The homepage for the Asciidoctor Project is link:+++https://asciidoctor.org/+++["AsciiDoctor Home"].
Email us at hello@example.com to say hello.
Once launched, the site will be available at \https://example.org.
If you cannot access the site, email \help@example.org for assistance.
****
== 상호 참조 (xref)
문서에서 상호 참조를 표현하기 위헤서는 pass:[xref:문서명#앵커ID["링크 텍스트"]] 를 사용하고 결과물은 다음과 같다.
=== AsciiDoc 소스
상호 참조를 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
[#manual_id] <1>
Manually set id
[#link_asciidoc_source] <2>
=== AsciiDoc 소스
xref:15link.adoc#manual_id["Manual ID"] <3>
xref:15link.adoc#link_asciidoc_source["링크 AsciiDoc 소스"] <3>
----
<1> 앵커 설정
<2> 현 문서의 링크의 AsciiDoc 소스 섹션에 앵커 설정
<3> 참조 호출
[CAUTION]
====
.앵커 설정 규칙
* # 다음에 오는 첫 번째 문자는 소문자로 한다.
* 선택적 다음 문자는 소문자, 콜론, 밑줄, 하이픈, 마침표 또는 숫자여야 한다.
* ID에는 공백 문자를 사용할 수 없다.
====
=== 결과
상호 참조를 사용하는 경우 본문 형태는 다음과 같다.
****
[#manual_id]
Manually set id
xref:15link.adoc#manual_id["Manual ID"]
xref:15link.adoc#link_asciidoc_source["링크 AsciiDoc 소스"]
****
= 각주 (Footnotes)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 각주(Footnotes)를 표현하는 방법에 대해 설명합니다.
--
== Footnotes
문서에서 각주를 표현하기 위해서는 pass:[footnote:[텍스트]]를 사용하고 텍스트는 멀티라인으로 작성 가능하다.
* 각주를 재사용하려는 경우
대상 위치에 고유 ID 지정
** 예) pass:[footnote:id[text]]
* 기존 각주를 참조하는 경우
대상 슬롯에 각주의 ID만 지정하고 빈대괄호 사용
** 예) pass:[footnote:id[]]
결과물은 다음과 같다.
=== AsciiDoc 소스
각주를 사용하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
.일관전송 파일 기본 정보
* 일괄전송파일IDfootnote:[일괄전송 파일을 식별하는 파일의 ID를 입력한다.
파일ID는 기관과 파일별로 정해진 이름이다.]
* 일괄전송파일명
* 적용일자footnote:effective_date[일괄전송 파일을 송수신할 적용일자를 입력한다.
입력된 일자 이후부터 해당 파일을 처리할 수 있다.
그러므로 당일 파일을 적용하기 위해서는 전일자를 입력해야 한다.]
* 데이터전송길이
.일괄전송 인터페이스 기본 정보
* 업무코드
* 적용일자footnote:effective_date[]
* 전문캐릭터셋
----
=== 결과
각주를 사용하는 경우 본문 형태는 다음과 같다.
****
.일관전송 파일 기본 정보
* 일괄전송파일IDfootnote:[일괄전송 파일을 식별하는 파일의 ID를 입력한다.
파일ID는 기관과 파일별로 정해진 이름이다.]
* 일괄전송파일명
* 적용일자footnote:effective_date[일괄전송 파일을 송수신할 적용일자를 입력한다.
입력된 일자 이후부터 해당 파일을 처리할 수 있다.
그러므로 당일 파일을 적용하기 위해서는 전일자를 입력해야 한다.]
* 데이터전송길이
.일괄전송 인터페이스 기본 정보
* 업무코드
* 적용일자footnote:effective_date[]
* 전문캐릭터셋
****
\ No newline at end of file
= 텍스트 서식
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 텍스트 서식을 표현하는 방법에 대해 설명합니다.
--
== Text Formatting
우리가 말할 때 특정 단어와 구를 강조하는 것처럼, 우리는 서식과 구두점을 사용하여 텍스트에서 단어와 구를 강조한다. 문서에서 텍스트 서식을 표현하기 위해서는 다양한 서식 표시를 사용하고 결과물은 다음과 같다.
=== 굵게 (*)
굵은 텍스트는 더 두껍거나 어두운 글꼴을 적용한다.
==== AsciiDoc 소스
텍스트 서식(Bold)을 사용하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
A bold *word*, and a bold *phrase of text*.
Bold c**hara**cter**s** within a word.
----
==== 결과
텍스트 서식(Bold)을 사용하는 경우 본문 형태는 다음과 같다.
****
A bold *word*, and a bold *phrase of text*.
Bold c**hara**cter**s** within a word.
****
=== 기울임체 (_)
오른쪽으로 약간 기울어진다.
==== AsciiDoc 소스
텍스트 서식(Italic)을 사용하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
An italic _word_, and an italic _phrase of text_.
Italic c__hara__cter__s__ within a word.
----
==== 결과
텍스트 서식(Italic)을 사용하는 경우 본문 형태는 다음과 같다.
****
An italic _word_, and an italic _phrase of text_.
Italic c__hara__cter__s__ within a word.
****
=== 고정 폭 (`)
명령 또는 소스 코드를 나타내는 방식으로 일반적으로 고정 너비(즉, 고정 폭) 글꼴을 사용하여 강조한다.
==== AsciiDoc 소스
텍스트 서식(Monospace)을 사용하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
"`Wait!`" Indigo plucked a small vial from her desk's top drawer
and held it toward us.
The vial's label read: `E=mc^2^`; the `E` represents _energy_,
but also pure _genius!_
----
==== 결과
텍스트 서식(Monospace)을 사용하는 경우 본문 형태는 다음과 같다.
****
"`Wait!`" Indigo plucked a small vial from her desk's top drawer
and held it toward us.
The vial's label read: `E=mc^2^`; the `E` represents _energy_,
but also pure _genius!_
****
=== 강조 표시 (#)
텍스트에 배경색을 주어 텍스트를 강조한다.
==== AsciiDoc 소스
텍스트 서식(Highlight)을 사용하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
Mark my words, #automation is essential#.
Mark my words, auto##ma##tion is essential.
----
==== 결과
텍스트 서식(Highlight)을 사용하는 경우 본문 형태는 다음과 같다.
****
Mark my words, #automation is essential#.
Mark my words, auto##ma##tion is essential.
****
=== 아래 첨자 (~), 위 첨자 (^)
아래 첨자와 위 첨자 텍스트는 수학 표현식과 화학 공식에서 일반적이다.
==== AsciiDoc 소스
텍스트 서식(Subscript, Superscript)을 사용하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
"`Well the H~2~O formula written on their whiteboard could be part
of a shopping list, but I don't think the local bodega sells
E=mc^2^,`" Lazarus replied.
----
==== 결과
텍스트 서식(Subscript, Superscript)을 사용하는 경우 본문 형태는 다음과 같다.
****
"`Well the H~2~O formula written on their whiteboard could be part
of a shopping list, but I don't think the local bodega sells
E=mc^2^,`" Lazarus replied.
****
=== 밑줄
텍스트 아래에 선이 그려진다.
==== AsciiDoc 소스
텍스트 서식(Underline)을 사용하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
The text [.underline]#underline me# is underlined.
The text [.underline]##under##line me is underlined.
----
==== 결과
텍스트 서식(Underline)을 사용하는 경우 본문 형태는 다음과 같다.
****
The text [.underline]#underline me# is underlined.
The text [.underline]##under##line me is underlined.
****
= 기타 작성법
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
이 문서는 AsciiDoc 에서 표현할 수 있는 기타 방법에 대해 설명합니다.
--
== 메뉴 표현
문서에서 메뉴를 표현하기 위해서는 [메뉴명] > [메뉴명] 을 사용하고 결과물은 다음과 같다.
=== AsciiDoc 소스
메뉴를 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
[노드관리] > [노드정보] 에서 노드를 등록한다.
----
=== 결과
메뉴를 사용하는 경우 본문 형태는 다음과 같다.
****
[노드관리] > [노드정보] 에서 노드를 등록한다.
****
== 버튼 매크로
문서에서 버튼 매크로를 표현하기 위해서는 pass:[btn:[버튼명]]을 사용하고 결과물은 다음과 같다.
=== AsciiDoc 소스
버튼 매크로를 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
완료되면 btn:[OK] 버튼을 누릅니다.
파일 네비게이터에서 파일을 선택하고 btn:[Open]를 클릭합니다.
----
=== 결과
버튼 매크로를 사용하는 경우 본문 형태는 다음과 같다.
****
완료되면 btn:[OK] 버튼을 누릅니다.
파일 네비게이터에서 파일을 선택하고 btn:[Open] 버튼을 클릭합니다.
****
== 키보드 매크로
문서에서 키보드 매크로를 표현하기 위해서는 pass:[kbd:[key(+key)*]]를 사용하고 결과물은 다음과 같다.
=== AsciiDoc 소스
키보드 매크로를 작성하는 AsciiDoc 소스는 다음과 같다.
[source,asciidoc]
----
.키보드 매크로
[cols="50,50"]
|===
|Shortcut |Purpose
|kbd:[F11]
|Toggle fullscreen
|kbd:[Ctrl+T]
|Open a new tab
|kbd:[Ctrl+Shift+N]
|New incognito window
|kbd:[\ ]
|Used to escape characters
|kbd:[Ctrl+\]]
|Jump to keyword
|kbd:[Ctrl + +]
|Increase zoom
|===
----
=== 결과
키보드 매크로를 사용하는 경우 본문 형태는 다음과 같다.
****
|===
|Shortcut |Purpose
|kbd:[F11]
|Toggle fullscreen
|kbd:[Ctrl+T]
|Open a new tab
|kbd:[Ctrl+Shift+N]
|New incognito window
|kbd:[\ ]
|Used to escape characters
|kbd:[Ctrl+\]]
|Jump to keyword
|kbd:[Ctrl + +]
|Increase zoom
|===
****
.AsciiDoc 작성 준비
* xref:text-editor.adoc[]
* xref:pandoc.adoc[]
\ No newline at end of file
= 문서 변환 도구 (Pandoc)
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
여기서는 문서 변환 도구(Pandoc)의 설치방법과 사용방법에 대하여 설명합니다.
--
== 설치
. Pandoc 공식 다운로드 페이지( https://pandoc.org/installing.html[Pandoc - Installing pandoc^])에서 사용하는 운영 체제(OS)에 맞는 설치 프로그램을 다운로드합니다.
. 다운로드한 설치 프로그램을 실행합니다.
. 설치 마법사의 지시를 따라 설치합니다.
=== 설치 확인
명령 프롬프트(Command Prompt), 터미널(Terminal), 또는 쉘(Shell)을 열고 변환하고자 하는 문서의 폴더로 이동하여 아래의 명령어를 입력합니다.
----
pandoc --version
----
입력 후, 설치된 Pandoc의 버전 정보가 나타난다면 Pandoc이 성공적으로 설치된 것입니다.
만약 "pandoc" 명령을 인식하지 못한다는 메시지가 나온다면, Pandoc이 제대로 설치되지 않았거나 시스템의 PATH 환경 변수에 Pandoc의 설치 경로가 추가되지 않았을 가능성이 있습니다. 이 경우, Pandoc을 다시 설치하거나 PATH 환경 변수를 확인하고 수정해야 할 수 있습니다.
== 문서 변환 방법
=== DocBook -> AsciiDoc
Pandoc을 사용하여 DocBook 문서를 AsciiDoc 형식으로 변환한다.
. DocBook을 중간 형식(HTML)으로 변환
+
----
pandoc -s -f docbook -t html ${input.xml} –o ${output.html}
----
* -s (또는 --standalone) : 완전한 문서를 생성하라는 지시입니다.
* -f docbook : 입력 파일 형식이 DocBook임을 지정합니다.
* -t html : 목표 파일 형식을 HTML로 지정합니다.
* ${input.xml} : 변환하고자하는 DocBook 파일명입니다.
* –o ${output.html} : 생성될 HTML 파일명을 지정합니다.
. 그 형식(HTML)을 AsciiDoc으로 변환
+
----
pandoc -s -f html -t asciidoc ${output.html} -o ${output.adoc}
----
* -s (또는 --standalone) : 완전한 문서를 생성하라는 지시입니다.
* -f html : 입력 파일 형식이 HTML임을 지정합니다.
* -t asciidoc : 목표 파일 형식을 AsciiDoc로 지정합니다.
* ${output.html} : 변환하고자하는 HTML 파일명입니다.
* –o ${output.adoc} : 생성될 AsciiDoc 파일명을 지정합니다.
=== Markdown -> AsciiDoc
Pandoc을 사용하여 Markdown 문서를 AsciiDoc 형식으로 변환한다.
----
pandoc -s -f markdown -t asciidoc ${input.md} -o ${output.adoc}
----
* -s (또는 --standalone) : 완전한 문서를 생성하라는 지시입니다.
* -f markdown : 입력 파일 형식이 Markdown임을 지정합니다.
* -t asciidoc : 목표 파일 형식을 AsciiDoc으로 지정합니다.
* ${input.md} : 변환하고자 하는 Markdown 파일명입니다.
* -o ${output.adoc} : 생성될 AsciiDoc 파일명을 지정합니다.
= AsciiDoc 도구
Heywon Choi <heywon.choi@bankwareglobal.com>
[abstract]
.문서개요
--
여기서는 AsciiDoc 문서를 미리 보고 편집하는 다양한 AsciiDoc 도구에 대하여 설명합니다.
AsciiDoc 구문은 일반 텍스트이므로 텍스트 편집기를 사용하여 AsciiDoc 문서를 작성할 수 있습니다.
--
== GitLab 주소
* link:+++https://gitlab.bwg.co.kr/swd/swlab-docs-bxcm+++["BXCM"]
* link:+++https://gitlab.bwg.co.kr/swd/swlab-docs-bxcp+++["BXCP"]
* link:+++https://gitlab.bwg.co.kr/swd/swlab-docs-bxi+++["BXI"]
* link:+++https://gitlab.bwg.co.kr/swd/swlab-docs-bxm+++["BXM"]
== IDE 및 텍스트 편집기
=== Visual Studio Code
. link:+++https://code.visualstudio.com/+++["Visual Studio Code"^] 를 설치합니다.
. VS Code를 실행한 후, 확장 기능 탭에서 "AsciiDoc"을 검색하여 설치합니다.
=== Eclipse
Eclipse에서 AsciiDoc을 사용하기 위해 AsciiDoc 문서를 작성하고 미리 보기할 수 있는 플러그인을 설치하는 방법을 안내하겠습니다. 가장 인기 있는 방법 중 하나는 "Asciidoctor Editor" 플러그인을 사용하는 것입니다. 이 플러그인을 통해 Eclipse 내에서 AsciiDoc 파일을 편집하고, 실시간 미리 보기를 볼 수 있습니다.
==== Eclipse Marketplace에서 설치하기
. Eclipse를 실행하고, 상단 메뉴에서 Help > Eclipse Marketplace...를 선택합니다.
. 검색창에 "Asciidoctor Editor"를 입력하고 검색합니다.
. 나타난 결과 중 "Asciidoctor Editor"를 찾아 Install 버튼을 클릭합니다.
. 설치 마법사의 지시에 따라 설치를 완료하고, 필요한 경우 Eclipse를 재시작합니다.
// -
* 또는 link:+++https://marketplace.eclipse.org/content/asciidoctor-editor+++"["Eclipse Marketplace"^]에서도 설치 가능
==== Update Site를 통해 설치하기
특정 버전의 플러그인을 설치하고자 할 때 또는 Marketplace에서 찾을 수 없는 경우 Update Site를 사용할 수 있습니다.
. Eclipse에서 Help > Install New Software...를 선택합니다.
. "Work with" 입력란에 Asciidoctor Editor의 Update Site URL을 입력합니다.
+
----
https://de-jcup.github.io/update-site-eclipse-asciidoctor-editor/update-site/​
----
Asciidoctor Editor의 GitHub 페이지 또는 공식 문서에서 최신 URL을 찾을 수 있습니다.
. 목록에서 "Asciidoctor Editor"를 선택하고 Next > Finish를 따라 설치 프로세스를 완료합니다.
==== 문서 작성 및 미리 보기
* **문서 작성**: 설치가 완료되면, Eclipse에서 새로운 AsciiDoc 파일(.adoc)을 생성하고 문서를 작성할 수 있습니다.
* **미리 보기**: Asciidoctor Editor를 사용하면, AsciiDoc 문서를 작성하는 동안 자동으로 실시간 미리 보기를 볼 수 있습니다. 일부 설정이나 특정 미리 보기 기능은 플러그인 설정에서 조정할 수 있습니다.
== Hosted git repositories
git 리포지토리 호스트인 GitHub와 GitLab은 AsciiDoc 파일 편집 및 미리보기를 지원합니다.
이 지원을 활성화하려면 파일에 지원되는 AsciiDoc 확장자(예: .adoc)가 있어야 합니다.
* 리포지토리 보기에서 AsciiDoc 파일을 찾으면 AsciiDoc 콘텐츠의 HTML 미리 보기가 표시됩니다. 해당 미리보기는 Asciidoctor에서 제공합니다.
* 렌더링되는 HTML은 기본 제공 HTML 변환기에서 생성된 포함된 출력입니다.
즉, Asciidoctor에서 생성 한 독립 실행 형 HTML 문서처럼 보이지 않습니다.
대신 HTML은 호스팅 서비스의 테마에 맞게 스타일이 지정되고 삭제되므로 페이지 렌더링에 영향을 주지 않습니다. 따라서, 특정 기능을 사용하지 못할 수 있습니다.
== Web browser add-ons (미리보기 전용)
웹 브라우저에서 AsciiDoc 문서를 미리 보려면 link:+++https://chromewebstore.google.com/detail/asciidoctorjs-live-previe/iaalpfgpbocpdfblpnhhgllgbdbchmia?pli=1+++["Chrome 확장 프로그램"^], link:+++https://microsoftedge.microsoft.com/addons/detail/asciidoctorjs-live-previ/pefkelkanablhjdekgdahplkccnbdggd+++["Edge 추가 기능"^], link:+++https://addons.mozilla.org/en-US/firefox/addon/asciidoctorjs-live-preview/+++["Firefox 추가 기능"^] 또는 link:+++https://addons.opera.com/en/extensions/details/asciidoctorjs-live-preview/+++["Opera 확장 프로그램"^](모두 동일한 코드 베이스에서 생성됨)을 설치합니다. 그런 다음 AsciiDoc 파일을 방문하기만 하면 HTML로 렌더링된 AsciiDoc 파일을 볼 수 있습니다.
\ No newline at end of file
{
"name": "swlab-docs-for-park",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
"highlight.js": "^11.9.0"
},
"devDependencies": {
"@antora/cli": "3.1.7",
"@antora/site-generator": "3.1.7"
}
},
"node_modules/@antora/asciidoc-loader": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/asciidoc-loader/-/asciidoc-loader-3.1.7.tgz",
"integrity": "sha512-sM/poPtAi8Cx0g2oLGHoEYjTdE9pvIYLgbHW07fGf6c9wQYMd2DMsevtbhNKWp+xqxj/QinToz4JOaNLoy1nfg==",
"dev": true,
"dependencies": {
"@antora/logger": "3.1.7",
"@antora/user-require-helper": "~2.0",
"@asciidoctor/core": "~2.2"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/cli": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/cli/-/cli-3.1.7.tgz",
"integrity": "sha512-yHo30VmiLLsZU4JW8VZR6fql9m5lIxocA2d0tduKQ+r4YSD1kt+bbwX3You3iMwW7oLoNo62zfU76F8CQBnm2g==",
"dev": true,
"dependencies": {
"@antora/logger": "3.1.7",
"@antora/playbook-builder": "3.1.7",
"@antora/user-require-helper": "~2.0",
"commander": "~10.0"
},
"bin": {
"antora": "bin/antora"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/content-aggregator": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/content-aggregator/-/content-aggregator-3.1.7.tgz",
"integrity": "sha512-2gBbxaDxqY4QRw9Vut0IbKNqI9zAAohxjT0zcA5Am10kE3ywvzXaBa3tvb+A7vUl/vRcCC0LPM7pO37RVrbsGA==",
"dev": true,
"dependencies": {
"@antora/expand-path-helper": "~2.0",
"@antora/logger": "3.1.7",
"@antora/user-require-helper": "~2.0",
"braces": "~3.0",
"cache-directory": "~2.0",
"glob-stream": "~7.0",
"hpagent": "~1.2",
"isomorphic-git": "~1.25",
"js-yaml": "~4.1",
"multi-progress": "~4.0",
"picomatch": "~2.3",
"progress": "~2.0",
"should-proxy": "~1.0",
"simple-get": "~4.0",
"vinyl": "~2.2"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/content-classifier": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/content-classifier/-/content-classifier-3.1.7.tgz",
"integrity": "sha512-94XwJ35pkWJU6dJqQg5oreJRCkaXwU6yw9XSyB731o4i/0romkazKnu7deHugqdgvzqn92AlMRG6R0clhJLEsw==",
"dev": true,
"dependencies": {
"@antora/asciidoc-loader": "3.1.7",
"@antora/logger": "3.1.7",
"mime-types": "~2.1",
"vinyl": "~2.2"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/document-converter": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/document-converter/-/document-converter-3.1.7.tgz",
"integrity": "sha512-cRVJf7QyclxjWbA0gWz7hncZYThIREikkwaxaa26LsRCfBNlw7wxs7lWejvIvEl1LVshupbinJwKUPPQPOsHhw==",
"dev": true,
"dependencies": {
"@antora/asciidoc-loader": "3.1.7"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/expand-path-helper": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@antora/expand-path-helper/-/expand-path-helper-2.0.0.tgz",
"integrity": "sha512-CSMBGC+tI21VS2kGW3PV7T2kQTM5eT3f2GTPVLttwaNYbNxDve08en/huzszHJfxo11CcEs26Ostr0F2c1QqeA==",
"dev": true,
"engines": {
"node": ">=10.17.0"
}
},
"node_modules/@antora/file-publisher": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/file-publisher/-/file-publisher-3.1.7.tgz",
"integrity": "sha512-UH2o0DJuv9BJvWgn+QSE3MhtHB3oN3lG5lJkV3fQi1jAV+qPIHoiTIYhbw02mj5KQ3Qbt7YWWAKZKuGl3rEdjg==",
"dev": true,
"dependencies": {
"@antora/expand-path-helper": "~2.0",
"@antora/user-require-helper": "~2.0",
"@vscode/gulp-vinyl-zip": "~2.5",
"vinyl": "~2.2",
"vinyl-fs": "~3.0"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/logger": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/logger/-/logger-3.1.7.tgz",
"integrity": "sha512-Z2tfNIi9G4BnAZq26Kp30974FxCVCtvH46FOi6ClnkJg6Uf2gTrVlJERmtsDTsHjWsf1qKbnj/4b99/AU31iQg==",
"dev": true,
"dependencies": {
"@antora/expand-path-helper": "~2.0",
"pino": "~8.14",
"pino-pretty": "~10.0",
"sonic-boom": "~3.3"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/navigation-builder": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/navigation-builder/-/navigation-builder-3.1.7.tgz",
"integrity": "sha512-QvMPb0qY1zfgyLCfuEhJOpO5qSVjaVe5X/bQjSii9vDGgpIEiC2yt/hgqER37E/3zsBGEZvCH5lSLk1c7x0+EQ==",
"dev": true,
"dependencies": {
"@antora/asciidoc-loader": "3.1.7"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/page-composer": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/page-composer/-/page-composer-3.1.7.tgz",
"integrity": "sha512-zJMzYznPT6Vd59nEXio/2rolkX070Nup6g4a8d4RCz0WoE8dmMidw6XFgjAHr0Lyh14/FHgBPlYXfhkDFR16Mw==",
"dev": true,
"dependencies": {
"@antora/logger": "3.1.7",
"handlebars": "~4.7",
"require-from-string": "~2.0"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/playbook-builder": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/playbook-builder/-/playbook-builder-3.1.7.tgz",
"integrity": "sha512-lU80S1BqUy9DvqziEzRwpYTaWhOshxgrGAjf/F5VjAIaHCGVx0rZgfoI2rgFFkbVaH94kauOngdtTXDPXC1fPQ==",
"dev": true,
"dependencies": {
"@iarna/toml": "~2.2",
"convict": "~6.2",
"js-yaml": "~4.1",
"json5": "~2.2"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/redirect-producer": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/redirect-producer/-/redirect-producer-3.1.7.tgz",
"integrity": "sha512-6zAHfcOb0v0829nAbn/3HMilbactjbjU7zBT9Iy6JHQfbqXT/g/mUT9N13Lj/wbq/nm0qKQJweB0Mi6BS2fbMw==",
"dev": true,
"dependencies": {
"vinyl": "~2.2"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/site-generator": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/site-generator/-/site-generator-3.1.7.tgz",
"integrity": "sha512-39KWip9bLdQ+4ssyqjI+O0COquKHxoeznxY2/3w5pNZEoeTg8cD7kOsnWfbocw0R3Rj+kJV5MnqICFNq0nuPeA==",
"dev": true,
"dependencies": {
"@antora/asciidoc-loader": "3.1.7",
"@antora/content-aggregator": "3.1.7",
"@antora/content-classifier": "3.1.7",
"@antora/document-converter": "3.1.7",
"@antora/file-publisher": "3.1.7",
"@antora/logger": "3.1.7",
"@antora/navigation-builder": "3.1.7",
"@antora/page-composer": "3.1.7",
"@antora/playbook-builder": "3.1.7",
"@antora/redirect-producer": "3.1.7",
"@antora/site-mapper": "3.1.7",
"@antora/site-publisher": "3.1.7",
"@antora/ui-loader": "3.1.7",
"@antora/user-require-helper": "~2.0"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/site-mapper": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/site-mapper/-/site-mapper-3.1.7.tgz",
"integrity": "sha512-x++89btbwk8FxyU2+H/RHQMnsC9sdvQvXcwXwNt11eXN1qj7t8TPiQZTalg7gkf0/osY4l7JRpGBY5JJfOJVig==",
"dev": true,
"dependencies": {
"@antora/content-classifier": "3.1.7",
"vinyl": "~2.2"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/site-publisher": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/site-publisher/-/site-publisher-3.1.7.tgz",
"integrity": "sha512-zHaJc7UeBfFSIhBbQ5U5Ud4u671M84oqSJb3pPxlUiJDP7iVJlSl+0GNm0NAIoDizjPtVksUI88fzqCy5rfSUQ==",
"dev": true,
"dependencies": {
"@antora/file-publisher": "3.1.7"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/ui-loader": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/@antora/ui-loader/-/ui-loader-3.1.7.tgz",
"integrity": "sha512-79QuZB0c91dveoESa3RcE18ZZFJo0rDZX9aJKHVc20dInQBGCgfURPqB2OytkzaXD3lNtDJ41yjKNYZqsAQy1Q==",
"dev": true,
"dependencies": {
"@antora/expand-path-helper": "~2.0",
"@vscode/gulp-vinyl-zip": "~2.5",
"braces": "~3.0",
"cache-directory": "~2.0",
"glob-stream": "~7.0",
"hpagent": "~1.2",
"js-yaml": "~4.1",
"picomatch": "~2.3",
"should-proxy": "~1.0",
"simple-get": "~4.0",
"vinyl": "~2.2"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/@antora/user-require-helper": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@antora/user-require-helper/-/user-require-helper-2.0.0.tgz",
"integrity": "sha512-5fMfBZfw4zLoFdDAPMQX6Frik90uvfD8rXOA4UpXPOUikkX4uT1Rk6m0/4oi8oS3fcjiIl0k/7Nc+eTxW5TcQQ==",
"dev": true,
"dependencies": {
"@antora/expand-path-helper": "~2.0"
},
"engines": {
"node": ">=10.17.0"
}
},
"node_modules/@asciidoctor/core": {
"version": "2.2.7",
"resolved": "https://registry.npmjs.org/@asciidoctor/core/-/core-2.2.7.tgz",
"integrity": "sha512-63cfnV606vXNUnh/zcuUi5e3tY5qTzaYY5pGP4p9sRk8CcCmX4Z8OfU0BkfM8/k2Y7Cz/jZqxL+vzHjrLQa8tw==",
"dev": true,
"dependencies": {
"asciidoctor-opal-runtime": "0.3.3",
"unxhr": "1.0.1"
},
"engines": {
"node": ">=8.11",
"npm": ">=5.0.0",
"yarn": ">=1.1.0"
}
},
"node_modules/@iarna/toml": {
"version": "2.2.5",
"resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz",
"integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==",
"dev": true
},
"node_modules/@vscode/gulp-vinyl-zip": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@vscode/gulp-vinyl-zip/-/gulp-vinyl-zip-2.5.0.tgz",
"integrity": "sha512-PP/xkOoLBSY3V04HmzRxF+NOxkRJ/m2D0YwWpfx1FCFv5G8+sZUGPvxX+LRgdJ5vQcR1RHck5x1IkHi75Qjdbw==",
"dev": true,
"dependencies": {
"queue": "^4.2.1",
"through": "^2.3.8",
"through2": "^2.0.3",
"vinyl": "^2.0.2",
"vinyl-fs": "^3.0.3",
"yauzl": "^2.2.1",
"yazl": "^2.2.1"
},
"engines": {
"node": ">= 10"
}
},
"node_modules/abort-controller": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
"dev": true,
"dependencies": {
"event-target-shim": "^5.0.0"
},
"engines": {
"node": ">=6.5"
}
},
"node_modules/append-buffer": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
"integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==",
"dev": true,
"dependencies": {
"buffer-equal": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true
},
"node_modules/asciidoctor-opal-runtime": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/asciidoctor-opal-runtime/-/asciidoctor-opal-runtime-0.3.3.tgz",
"integrity": "sha512-/CEVNiOia8E5BMO9FLooo+Kv18K4+4JBFRJp8vUy/N5dMRAg+fRNV4HA+o6aoSC79jVU/aT5XvUpxSxSsTS8FQ==",
"dev": true,
"dependencies": {
"glob": "7.1.3",
"unxhr": "1.0.1"
},
"engines": {
"node": ">=8.11"
}
},
"node_modules/async-lock": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz",
"integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==",
"dev": true
},
"node_modules/atomic-sleep": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz",
"integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==",
"dev": true,
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"node_modules/braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"dependencies": {
"fill-range": "^7.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/buffer": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
"lockfileVersion": 1,
"dependencies": {
"@antora/lunr-extension": {
"version": "1.0.0-alpha.8",
"resolved": "https://registry.npmjs.org/@antora/lunr-extension/-/lunr-extension-1.0.0-alpha.8.tgz",
"integrity": "sha512-vdBgW3rsvbnmA236kT2Dckh9n0Db5za2/WxiLnFLgZ05ZO1KJQa9+R2WHaIFuGE7bKKbY+lqfM/i3KiezbL9YQ==",
"requires": {
"cheerio": "1.0.0-rc.10",
"html-entities": "~2.3",
"lunr": "~2.3",
"lunr-languages": "~1.9"
},
"dependencies": {
"lunr-languages": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.9.0.tgz",
"integrity": "sha512-Be5vFuc8NAheOIjviCRms3ZqFFBlzns3u9DXpPSZvALetgnydAN0poV71pVLFn0keYy/s4VblMMkqewTLe+KPg=="
}
],
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.2.1"
}
},
"node_modules/buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"dev": true,
"engines": {
"node": "*"
}
},
"node_modules/buffer-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz",
"integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==",
"dev": true,
"engines": {
"node": ">=0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/cache-directory": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/cache-directory/-/cache-directory-2.0.0.tgz",
"integrity": "sha512-7YKEapH+2Uikde8hySyfobXBqPKULDyHNl/lhKm7cKf/GJFdG/tU/WpLrOg2y9aUrQrWUilYqawFIiGJPS6gDA==",
"dev": true,
"dependencies": {
"xdg-basedir": "^3.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/call-bind": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
"integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dev": true,
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"get-intrinsic": "^1.2.4",
"set-function-length": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/clean-git-ref": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz",
"integrity": "sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw==",
"dev": true
},
"node_modules/clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
"integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
"dev": true,
"engines": {
"node": ">=0.8"
}
},
"node_modules/clone-buffer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
"integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==",
"dev": true,
"engines": {
"node": ">= 0.10"
}
},
"node_modules/clone-stats": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
"integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==",
"dev": true
},
"node_modules/cloneable-readable": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz",
"integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==",
"dev": true,
"dependencies": {
"inherits": "^2.0.1",
"process-nextick-args": "^2.0.0",
"readable-stream": "^2.3.5"
}
},
"node_modules/cloneable-readable/node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"node_modules/cloneable-readable/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"node_modules/cloneable-readable/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/colorette": {
"version": "2.0.20",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
"integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
"dev": true
},
"node_modules/commander": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
"integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"dev": true,
"engines": {
"node": ">=14"
}
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true
},
"node_modules/convert-source-map": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
"dev": true
},
"node_modules/convict": {
"version": "6.2.4",
"resolved": "https://registry.npmjs.org/convict/-/convict-6.2.4.tgz",
"integrity": "sha512-qN60BAwdMVdofckX7AlohVJ2x9UvjTNoKVXCL2LxFk1l7757EJqf1nySdMkPQer0bt8kQ5lQiyZ9/2NvrFBuwQ==",
"dev": true,
"dependencies": {
"lodash.clonedeep": "^4.5.0",
"yargs-parser": "^20.2.7"
},
"engines": {
"node": ">=6"
}
},
"node_modules/core-util-is": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
"dev": true
},
"node_modules/crc-32": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
"integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
"dev": true,
"bin": {
"crc32": "bin/crc32.njs"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/dateformat": {
"version": "4.6.3",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz",
"integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==",
"dev": true,
"engines": {
"node": "*"
}
},
"node_modules/decompress-response": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
"integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
"dev": true,
"dependencies": {
"mimic-response": "^3.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/define-data-property": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"dev": true,
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
"gopd": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/define-properties": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
"integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"dev": true,
"dependencies": {
"define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/diff3": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/diff3/-/diff3-0.0.3.tgz",
"integrity": "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g==",
"dev": true
},
"node_modules/duplexify": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
"integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==",
"dev": true,
"dependencies": {
"end-of-stream": "^1.4.1",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1",
"stream-shift": "^1.0.2"
}
},
"node_modules/end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dev": true,
"dependencies": {
"once": "^1.4.0"
}
},
"node_modules/es-define-property": {
"boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
"dev": true,
"dependencies": {
"get-intrinsic": "^1.2.4"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-errors": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
"dev": true,
"engines": {
"node": ">= 0.4"
}
},
"node_modules/event-target-shim": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
"dev": true,
"engines": {
"node": ">=6"
}
},
"node_modules/events": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"dev": true,
"engines": {
"node": ">=0.8.x"
}
},
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"dev": true
},
"node_modules/fast-copy": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.2.tgz",
"integrity": "sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==",
"dev": true
},
"node_modules/fast-redact": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz",
"integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==",
"dev": true,
"engines": {
"node": ">=6"
}
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
},
"cheerio": {
"version": "1.0.0-rc.10",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz",
"integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==",
"requires": {
"cheerio-select": "^1.5.0",
"dom-serializer": "^1.3.2",
"domhandler": "^4.2.0",
"htmlparser2": "^6.1.0",
"parse5": "^6.0.1",
"parse5-htmlparser2-tree-adapter": "^6.0.1",
"tslib": "^2.2.0"
}
},
"cheerio-select": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz",
"integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==",
"requires": {
"css-select": "^4.3.0",
"css-what": "^6.0.1",
"domelementtype": "^2.2.0",
"domhandler": "^4.3.1",
"domutils": "^2.8.0"
}
},
"css-select": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
"integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
"requires": {
"boolbase": "^1.0.0",
"css-what": "^6.0.1",
"domhandler": "^4.3.1",
"domutils": "^2.8.0",
"nth-check": "^2.0.1"
}
},
"css-what": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
},
"node_modules/fast-safe-stringify": {
"dom-serializer": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
"integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.2.0",
"entities": "^2.0.0"
}
},
"domelementtype": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
},
"domhandler": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
"integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
"requires": {
"domelementtype": "^2.2.0"
}
},
"domutils": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
"integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
"requires": {
"dom-serializer": "^1.0.1",
"domelementtype": "^2.2.0",
"domhandler": "^4.2.0"
}
},
"entities": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
},
"html-entities": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.6.tgz",
"integrity": "sha512-9o0+dcpIw2/HxkNuYKxSJUF/MMRZQECK4GnF+oQOmJ83yCVHTWgCH5aOXxK5bozNRmM8wtgryjHD3uloPBDEGw=="
},
"htmlparser2": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
"integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.0.0",
"domutils": "^2.5.2",
"entities": "^2.0.0"
}
},
"lunr": {
"version": "2.3.9",
"resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
"integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow=="
},
"lunr-languages": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.14.0.tgz",
"integrity": "sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA=="
},
"nth-check": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
"dev": true
},
"node_modules/fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
"dev": true,
"dependencies": {
"pend": "~1.2.0"
}
},
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/flush-write-stream": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
"integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
"readable-stream": "^2.3.6"
}
},
"node_modules/flush-write-stream/node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"node_modules/flush-write-stream/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"node_modules/flush-write-stream/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/fs-mkdirp-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
"integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.1.11",
"through2": "^2.0.3"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/get-intrinsic": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
"integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dev": true,
"dependencies": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
"hasown": "^2.0.0"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
"integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
"requires": {
"boolbase": "^1.0.0"
}
},
"node_modules/glob": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
"engines": {
"node": "*"
}
},
"node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.3"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/glob-stream": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-7.0.0.tgz",
"integrity": "sha512-evR4kvr6s0Yo5t4CD4H171n4T8XcnPFznvsbeN8K9FPzc0Q0wYqcOWyGtck2qcvJSLXKnU6DnDyfmbDDabYvRQ==",
"dev": true,
"dependencies": {
"extend": "^3.0.2",
"glob": "^7.2.0",
"glob-parent": "^6.0.2",
"is-negated-glob": "^1.0.0",
"ordered-read-streams": "^1.0.1",
"pumpify": "^2.0.1",
"readable-stream": "^3.6.0",
"remove-trailing-separator": "^1.1.0",
"to-absolute-glob": "^2.0.2",
"unique-stream": "^2.3.1"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/glob-stream/node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
"engines": {
"node": "*"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
"parse5": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
},
"node_modules/gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
"dev": true,
"dependencies": {
"get-intrinsic": "^1.1.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true
},
"node_modules/handlebars": {
"version": "4.7.8",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
"integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
"dev": true,
"dependencies": {
"minimist": "^1.2.5",
"neo-async": "^2.6.2",
"source-map": "^0.6.1",
"wordwrap": "^1.0.0"
},
"bin": {
"handlebars": "bin/handlebars"
},
"engines": {
"node": ">=0.4.7"
},
"optionalDependencies": {
"uglify-js": "^3.1.4"
}
},
"node_modules/has-property-descriptors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dev": true,
"dependencies": {
"es-define-property": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-proto": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
"integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
"dev": true,
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
"parse5-htmlparser2-tree-adapter": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
"integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
"requires": {
"parse5": "^6.0.1"
}
},
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
"dev": true,
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/help-me": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/help-me/-/help-me-4.2.0.tgz",
"integrity": "sha512-TAOnTB8Tz5Dw8penUuzHVrKNKlCIbwwbHnXraNJxPwf8LRtE2HlM84RYuezMFcwOJmoYOCWVDyJ8TQGxn9PgxA==",
"dev": true,
"dependencies": {
"glob": "^8.0.0",
"readable-stream": "^3.6.0"
}
},
"node_modules/help-me/node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/help-me/node_modules/glob": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
"integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^5.0.1",
"once": "^1.3.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/help-me/node_modules/minimatch": {
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=10"
}
},
"node_modules/highlight.js": {
"version": "11.9.0",
"resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz",
"integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==",
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/hpagent": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz",
"integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==",
"dev": true,
"engines": {
"node": ">=14"
}
},
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/ignore": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"dev": true,
"engines": {
"node": ">= 4"
}
},
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
"node_modules/is-absolute": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
"integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
"dev": true,
"dependencies": {
"is-relative": "^1.0.0",
"is-windows": "^1.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-negated-glob": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
"integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/is-relative": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
"integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
"dev": true,
"dependencies": {
"is-unc-path": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-unc-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
"integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
"dev": true,
"dependencies": {
"unc-path-regex": "^0.1.2"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==",
"dev": true
},
"node_modules/is-valid-glob": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
"integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
"dev": true
},
"node_modules/isomorphic-git": {
"version": "1.25.7",
"resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.25.7.tgz",
"integrity": "sha512-KE10ejaIsEpQ+I/apS33qqTjyzCXgOniEaL32DwNbXtboKG8H3cu+RiBcdp3G9w4MpOOTQfGPsWp4i8UxRfDLg==",
"dev": true,
"dependencies": {
"async-lock": "^1.1.0",
"clean-git-ref": "^2.0.1",
"crc-32": "^1.2.0",
"diff3": "0.0.3",
"ignore": "^5.1.4",
"minimisted": "^2.0.0",
"pako": "^1.0.10",
"pify": "^4.0.1",
"readable-stream": "^3.4.0",
"sha.js": "^2.4.9",
"simple-get": "^4.0.1"
},
"bin": {
"isogit": "cli.cjs"
},
"engines": {
"node": ">=12"
}
},
"node_modules/joycon": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz",
"integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==",
"dev": true,
"engines": {
"node": ">=10"
}
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
"dependencies": {
"argparse": "^2.0.1"
},
"bin": {
"js-yaml": "bin/js-yaml.js"
}
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
"dev": true
},
"node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true,
"bin": {
"json5": "lib/cli.js"
},
"engines": {
"node": ">=6"
}
},
"node_modules/lazystream": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
"integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
"dev": true,
"dependencies": {
"readable-stream": "^2.0.5"
},
"engines": {
"node": ">= 0.6.3"
}
},
"node_modules/lazystream/node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"node_modules/lazystream/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"node_modules/lazystream/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/lead": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
"integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==",
"dev": true,
"dependencies": {
"flush-write-stream": "^1.0.2"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
"dev": true
},
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"dependencies": {
"mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mimic-response": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
"integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
"dev": true,
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
"engines": {
"node": "*"
}
},
"node_modules/minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/minimisted": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/minimisted/-/minimisted-2.0.1.tgz",
"integrity": "sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA==",
"dev": true,
"dependencies": {
"minimist": "^1.2.5"
}
},
"node_modules/multi-progress": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/multi-progress/-/multi-progress-4.0.0.tgz",
"integrity": "sha512-9zcjyOou3FFCKPXsmkbC3ethv51SFPoA4dJD6TscIp2pUmy26kBDZW6h9XofPELrzseSkuD7r0V+emGEeo39Pg==",
"dev": true,
"peerDependencies": {
"progress": "^2.0.0"
}
},
"node_modules/neo-async": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
"node_modules/normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
"dev": true,
"dependencies": {
"remove-trailing-separator": "^1.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/now-and-later": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz",
"integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==",
"dev": true,
"dependencies": {
"once": "^1.3.2"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/object-keys": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true,
"engines": {
"node": ">= 0.4"
}
},
"node_modules/object.assign": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
"integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.5",
"define-properties": "^1.2.1",
"has-symbols": "^1.0.3",
"object-keys": "^1.1.1"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/on-exit-leak-free": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz",
"integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==",
"dev": true,
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
"dependencies": {
"wrappy": "1"
}
},
"node_modules/ordered-read-streams": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
"integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==",
"dev": true,
"dependencies": {
"readable-stream": "^2.0.1"
}
},
"node_modules/ordered-read-streams/node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"node_modules/ordered-read-streams/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"node_modules/ordered-read-streams/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/pako": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
"dev": true
},
"node_modules/path-dirname": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
"integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==",
"dev": true
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
"dev": true
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"engines": {
"node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/pify": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"dev": true,
"engines": {
"node": ">=6"
}
},
"node_modules/pino": {
"version": "8.14.2",
"resolved": "https://registry.npmjs.org/pino/-/pino-8.14.2.tgz",
"integrity": "sha512-zKu9aWeSWTy1JgvxIpZveJKKsAr4+6uNMZ0Vf0KRwzl/UNZA3XjHiIl/0WwqLMkDwuHuDkT5xAgPA2jpKq4whA==",
"dev": true,
"dependencies": {
"atomic-sleep": "^1.0.0",
"fast-redact": "^3.1.1",
"on-exit-leak-free": "^2.1.0",
"pino-abstract-transport": "v1.0.0",
"pino-std-serializers": "^6.0.0",
"process-warning": "^2.0.0",
"quick-format-unescaped": "^4.0.3",
"real-require": "^0.2.0",
"safe-stable-stringify": "^2.3.1",
"sonic-boom": "^3.1.0",
"thread-stream": "^2.0.0"
},
"bin": {
"pino": "bin.js"
}
},
"node_modules/pino-abstract-transport": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz",
"integrity": "sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==",
"dev": true,
"dependencies": {
"readable-stream": "^4.0.0",
"split2": "^4.0.0"
}
},
"node_modules/pino-abstract-transport/node_modules/readable-stream": {
"version": "4.5.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
"integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"dependencies": {
"abort-controller": "^3.0.0",
"buffer": "^6.0.3",
"events": "^3.3.0",
"process": "^0.11.10",
"string_decoder": "^1.3.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/pino-pretty": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-10.0.1.tgz",
"integrity": "sha512-yrn00+jNpkvZX/NrPVCPIVHAfTDy3ahF0PND9tKqZk4j9s+loK8dpzrJj4dGb7i+WLuR50ussuTAiWoMWU+qeA==",
"dev": true,
"dependencies": {
"colorette": "^2.0.7",
"dateformat": "^4.6.3",
"fast-copy": "^3.0.0",
"fast-safe-stringify": "^2.1.1",
"help-me": "^4.0.1",
"joycon": "^3.1.1",
"minimist": "^1.2.6",
"on-exit-leak-free": "^2.1.0",
"pino-abstract-transport": "^1.0.0",
"pump": "^3.0.0",
"readable-stream": "^4.0.0",
"secure-json-parse": "^2.4.0",
"sonic-boom": "^3.0.0",
"strip-json-comments": "^3.1.1"
},
"bin": {
"pino-pretty": "bin.js"
}
},
"node_modules/pino-pretty/node_modules/readable-stream": {
"version": "4.5.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
"integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
"dev": true,
"dependencies": {
"abort-controller": "^3.0.0",
"buffer": "^6.0.3",
"events": "^3.3.0",
"process": "^0.11.10",
"string_decoder": "^1.3.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/pino-std-serializers": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz",
"integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==",
"dev": true
},
"node_modules/process": {
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
"dev": true,
"engines": {
"node": ">= 0.6.0"
}
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
"dev": true
},
"node_modules/process-warning": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.3.2.tgz",
"integrity": "sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==",
"dev": true
},
"node_modules/progress": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true,
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true,
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"node_modules/pumpify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz",
"integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==",
"dev": true,
"dependencies": {
"duplexify": "^4.1.1",
"inherits": "^2.0.3",
"pump": "^3.0.0"
}
},
"node_modules/queue": {
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/queue/-/queue-4.5.1.tgz",
"integrity": "sha512-AMD7w5hRXcFSb8s9u38acBZ+309u6GsiibP4/0YacJeaurRshogB7v/ZcVPxP5gD5+zIw6ixRHdutiYUJfwKHw==",
"dev": true,
"dependencies": {
"inherits": "~2.0.0"
}
},
"node_modules/quick-format-unescaped": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz",
"integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==",
"dev": true
},
"node_modules/readable-stream": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/real-require": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz",
"integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==",
"dev": true,
"engines": {
"node": ">= 12.13.0"
}
},
"node_modules/remove-bom-buffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
"integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
"dev": true,
"dependencies": {
"is-buffer": "^1.1.5",
"is-utf8": "^0.2.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/remove-bom-stream": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
"integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==",
"dev": true,
"dependencies": {
"remove-bom-buffer": "^3.0.0",
"safe-buffer": "^5.1.0",
"through2": "^2.0.3"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
"integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
"dev": true
},
"node_modules/replace-ext": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
"integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
"dev": true,
"engines": {
"node": ">= 0.10"
}
},
"node_modules/require-from-string": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/resolve-options": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
"integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==",
"dev": true,
"dependencies": {
"value-or-function": "^3.0.0"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/safe-stable-stringify": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz",
"integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==",
"dev": true,
"engines": {
"node": ">=10"
}
},
"node_modules/secure-json-parse": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz",
"integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==",
"dev": true
},
"node_modules/set-function-length": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
"dev": true,
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
"has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/sha.js": {
"version": "2.4.11",
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
"dev": true,
"dependencies": {
"inherits": "^2.0.1",
"safe-buffer": "^5.0.1"
},
"bin": {
"sha.js": "bin.js"
}
},
"node_modules/should-proxy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/should-proxy/-/should-proxy-1.0.4.tgz",
"integrity": "sha512-RPQhIndEIVUCjkfkQ6rs6sOR6pkxJWCNdxtfG5pP0RVgUYbK5911kLTF0TNcCC0G3YCGd492rMollFT2aTd9iQ==",
"dev": true
},
"node_modules/simple-concat": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/simple-get": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
"integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"dependencies": {
"decompress-response": "^6.0.0",
"once": "^1.3.1",
"simple-concat": "^1.0.0"
}
},
"node_modules/sonic-boom": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.3.0.tgz",
"integrity": "sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==",
"dev": true,
"dependencies": {
"atomic-sleep": "^1.0.0"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/split2": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
"dev": true,
"engines": {
"node": ">= 10.x"
}
},
"node_modules/stream-shift": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
"integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
"dev": true
},
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true,
"dependencies": {
"safe-buffer": "~5.2.0"
}
},
"node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/thread-stream": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz",
"integrity": "sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==",
"dev": true,
"dependencies": {
"real-require": "^0.2.0"
}
},
"node_modules/through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
"dev": true
},
"node_modules/through2": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
"dev": true,
"dependencies": {
"readable-stream": "~2.3.6",
"xtend": "~4.0.1"
}
},
"node_modules/through2-filter": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
"integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
"dev": true,
"dependencies": {
"through2": "~2.0.0",
"xtend": "~4.0.0"
}
},
"node_modules/through2/node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"node_modules/through2/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"node_modules/through2/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/to-absolute-glob": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
"integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==",
"dev": true,
"dependencies": {
"is-absolute": "^1.0.0",
"is-negated-glob": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"dependencies": {
"is-number": "^7.0.0"
},
"engines": {
"node": ">=8.0"
}
},
"node_modules/to-through": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
"integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==",
"dev": true,
"dependencies": {
"through2": "^2.0.3"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/uglify-js": {
"version": "3.17.4",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
"integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==",
"dev": true,
"optional": true,
"bin": {
"uglifyjs": "bin/uglifyjs"
},
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/unc-path-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/unique-stream": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
"integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==",
"dev": true,
"dependencies": {
"json-stable-stringify-without-jsonify": "^1.0.1",
"through2-filter": "^3.0.0"
}
},
"node_modules/unxhr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/unxhr/-/unxhr-1.0.1.tgz",
"integrity": "sha512-MAhukhVHyaLGDjyDYhy8gVjWJyhTECCdNsLwlMoGFoNJ3o79fpQhtQuzmAE4IxCMDwraF4cW8ZjpAV0m9CRQbg==",
"dev": true,
"engines": {
"node": ">=8.11"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"dev": true
},
"node_modules/value-or-function": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
"integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==",
"dev": true,
"engines": {
"node": ">= 0.10"
}
},
"node_modules/vinyl": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz",
"integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==",
"dev": true,
"dependencies": {
"clone": "^2.1.1",
"clone-buffer": "^1.0.0",
"clone-stats": "^1.0.0",
"cloneable-readable": "^1.0.0",
"remove-trailing-separator": "^1.0.1",
"replace-ext": "^1.0.0"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/vinyl-fs": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz",
"integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==",
"dev": true,
"dependencies": {
"fs-mkdirp-stream": "^1.0.0",
"glob-stream": "^6.1.0",
"graceful-fs": "^4.0.0",
"is-valid-glob": "^1.0.0",
"lazystream": "^1.0.0",
"lead": "^1.0.0",
"object.assign": "^4.0.4",
"pumpify": "^1.3.5",
"readable-stream": "^2.3.3",
"remove-bom-buffer": "^3.0.0",
"remove-bom-stream": "^1.2.0",
"resolve-options": "^1.1.0",
"through2": "^2.0.0",
"to-through": "^2.0.0",
"value-or-function": "^3.0.0",
"vinyl": "^2.0.0",
"vinyl-sourcemap": "^1.1.0"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/vinyl-fs/node_modules/duplexify": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
"integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
"dev": true,
"dependencies": {
"end-of-stream": "^1.0.0",
"inherits": "^2.0.1",
"readable-stream": "^2.0.0",
"stream-shift": "^1.0.0"
}
},
"node_modules/vinyl-fs/node_modules/glob-parent": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
"integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
"dev": true,
"dependencies": {
"is-glob": "^3.1.0",
"path-dirname": "^1.0.0"
}
},
"node_modules/vinyl-fs/node_modules/glob-stream": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
"integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==",
"dev": true,
"dependencies": {
"extend": "^3.0.0",
"glob": "^7.1.1",
"glob-parent": "^3.1.0",
"is-negated-glob": "^1.0.0",
"ordered-read-streams": "^1.0.0",
"pumpify": "^1.3.5",
"readable-stream": "^2.1.5",
"remove-trailing-separator": "^1.0.1",
"to-absolute-glob": "^2.0.0",
"unique-stream": "^2.0.2"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/vinyl-fs/node_modules/is-glob": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
"dev": true,
"dependencies": {
"is-extglob": "^2.1.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/vinyl-fs/node_modules/pump": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
"integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
"dev": true,
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"node_modules/vinyl-fs/node_modules/pumpify": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
"integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
"dev": true,
"dependencies": {
"duplexify": "^3.6.0",
"inherits": "^2.0.3",
"pump": "^2.0.0"
}
},
"node_modules/vinyl-fs/node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"node_modules/vinyl-fs/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"node_modules/vinyl-fs/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/vinyl-sourcemap": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
"integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==",
"dev": true,
"dependencies": {
"append-buffer": "^1.0.2",
"convert-source-map": "^1.5.0",
"graceful-fs": "^4.1.6",
"normalize-path": "^2.1.1",
"now-and-later": "^2.0.0",
"remove-bom-buffer": "^3.0.0",
"vinyl": "^2.0.0"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
"dev": true
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true
},
"node_modules/xdg-basedir": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
"integrity": "sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==",
"dev": true,
"engines": {
"node": ">=4"
}
},
"node_modules/xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true,
"engines": {
"node": ">=0.4"
}
},
"node_modules/yargs-parser": {
"version": "20.2.9",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
"dev": true,
"engines": {
"node": ">=10"
}
},
"node_modules/yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
"dev": true,
"dependencies": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
}
},
"node_modules/yazl": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz",
"integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==",
"dev": true,
"dependencies": {
"buffer-crc32": "~0.2.3"
}
"tslib": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
"integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
}
}
}
{
"devDependencies": {
"@antora/cli": "3.1.7",
"@antora/site-generator": "3.1.7"
},
"dependencies": {
"highlight.js": "^11.9.0"
"@antora/lunr-extension": "^1.0.0-alpha.8",
"lunr-languages": "^1.14.0"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment