HoTMetal은
javascript
를 사용합니다.
4. 문서 형식 스크립트 작성 방법
다음은 매크로의 예입니다. 미리 정의된 레이아웃을 기반으로 합니다. 페이지 문서 서식 지정에 대한 지침입니다. 이 매크로의 효과를 관찰하려면 소스 레이아웃 활성화 버튼을 끄고 메뉴에서 도구->사용자 정의를 선택하십시오. 먼저 일부 전역 변수를 초기화하기 위해 애플리케이션을 엽니다. 또한 매크로 이름은 n_Application_Open이어야 합니다. 구체적인 코드는 다음과 같습니다.
var viewWYSIWYG = 0;
var viewTagsOn = 1;
var viewSource = 2;
]]>
이 매크로는 HoTMetaL 애플리케이션이 열릴 때 호출되어야 합니다. 유일한 목적은 다른 매크로에서 사용되는 세 가지 상수를 정의하는 것입니다. 이러한 상수는 단순히 세 개의 해당 HoTMetaL 뷰를 나타냅니다. HoTMetaL 편집 창의 왼쪽 버튼에 있는 창 태그를 조작하면 WYSIWYG(What You See Is What You Get) 보기, TagsOn 보기 및 소스 보기를 볼 수 있습니다.
다음 매크로는 현재 보기가 소스 보기인지 확인하고 미리 정의된 기준에 따라 전체 문서의 형식을 지정합니다. 시각적 개체가 소스 보기가 아닌 경우 메시지가 인쇄되어 사용자에게 표시되고 사용자에게 보기를 전환하라고 지시합니다.
if (ActiveDocument.ViewType == viewSource) {
ActiveDocument.Layout();
}
else {
Application.Alert(" 소스 레이아웃 적용은 소스 보기에서만 작동합니다.n 소스 보기로 전환하고 다시 시도하세요.");
}
]]>
여기서 두 개의 HotMetaL 개체(ActiveDocument 및 Application)가 사용되었다는 점에 유의해야 합니다. Layout() 메서드는 현재 문서의 형식을 지정합니다. Alert() 메서드는 경고 상자를 표시합니다.
자, 이제 이 매크로를 테스트해 보겠습니다. HotTMetaL에서 문서를 열고 보기를 소스 보기로 전환하세요. ProgGuide 디렉터리에서 섹션을 선택할 수 있습니다. 그리고 도구->사용자 정의를 사용하여 소스 레이아웃 활성화 버튼을 끄십시오. 그런 다음 공백을 추가하여 줄 중 하나를 오른쪽으로 이동한 다음 도구 메뉴에서 매크로 대화 상자를 호출합니다. 그러면 HotMetaL.mcr 파일에 정의된 매크로 목록이 표시됩니다. 그런 다음 매크로 새로 고침 매크로를 실행하여 방금 편집한 새 매크로를 로드합니다. 현재 문서 포맷 매크로가 표시됩니다. 이를 실행하면 들여쓰기된 선이 원래 위치로 돌아가는 것을 확인할 수 있습니다. 다음으로 Alert() 메서드를 테스트합니다. 이제 보기를 TagsOn 보기로 전환하고 매크로를 다시 실행하면 그림 1에 표시된 대화 상자가 나타납니다.
(그림 1)
이제 문서의 선택한 부분에 서식을 지정한다고 가정해 보겠습니다. 이 요청에 대한 매크로(현재 선택 포맷이라고 함)는 위에 설명된 매크로(현재 문서 포맷)와 매우 유사합니다. 둘 사이의 유일한 차이점은 현재 문서 형식의 Layout() 메서드가 ActiveDocument 개체를 작동하는 반면 현재 선택 형식 형식의 Layout() 메서드는 Selection 개체를 작동한다는 것입니다.
if (ActiveDocument.ViewType == viewSource) {
Selection.Layout();
} else{
애플리케이션 .Alert("소스 레이아웃 적용은 소스 보기에서만 작동합니다.n소스 보기로 전환하고 다시 시도하십시오.");
}
]]>
잘 해봅시다. 위의 매크로가 어떻게 작동하는지 살펴보세요. 열린 문서에서 두 줄을 들여쓰기했습니다. 첫 번째 줄은 "지정하지 않음"으로 시작하고 다른 줄은 "이 ma:에서 참조됨"으로 시작합니다. 그림 2와 같이:
(그림 2)
이제 "지정하지 않음:" 줄로 시작하는 줄을 포함하는 세 줄을 선택합니다. 그림 3과 같이:
(그림 3)
마지막으로 창 왼쪽 상단에 있는 녹색 화살표를 클릭한 다음 매크로 이름(현재 선택 형식 지정)은 그림 4와 같이 드롭다운 메뉴 창에 표시됩니다.
(그림 4) 언급할 가치가 있습니다. 예, 선택한 줄은 원래 단락 경계에 맞게 형식이 지정되었습니다. "referreded in this ma"로 시작하는 두 번째 줄은 들여쓰기 상태로 유지되지만 서식은 지정되지 않습니다.