Sandcastle에서 만든 두 페이지를 단일 메인 페이지로 병합 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/2048687

문제

프로젝트의 각 클래스마다 Sandcastle은 두 페이지를 만듭니다.

  • 메인 페이지는 다음과 같습니다 T_class_full_name, 설명, 구문, 상속 계층 구조와 함께
  • 회원 페이지는 다음과 같습니다 AllMembers_T_class_full_name, 생성자, 방법, 필드 등으로

이 두 가지를 함께 병합하는 방법이 있습니까? members page 메인 페이지에 추가 되었습니까?

도움이 되었습니까?

해결책

나는 이것에 대한 답변을 제공 할 수 없지만 누군가가 그와 함께 해킹하려는 경우 효과가있을 수있는 아이디어를 제공 할 수 있습니다.

1. config htmlbody.xsl은 멤버 테스트가있는 섹션을 포함하여 일부 구조를 정의합니다. <xsl:if test="$subgroup='members'"> 이것이 클래스 레벨에서 켜지면 (또는 True로 설정되면 해당 출력이 어떻게 생성되는지에 대한 아이디어를 줄 수 있습니다.

2. 회원 하위 그룹에 대한 링크가 추가되는 곳은 다음과 같습니다.

<!-- add a link to the member list section for this subgroup -->
<a href="#{$elementVisibility}Toggle" onclick="OpenSection({$elementVisibility}Toggle)">

3. 나는 다른 아이디어가 구조를 가지고 놀려는 다른 아이디어를 가지고 있지만, 명확한 대답을 제공하기 위해 해킹해야합니다. 나는 htmlbody.xsl이 이것을 할 곳이라고 확신하지도 않습니다. 실제로 여기에 필요가 있다면 다음을 수행함으로써 목표를 달성 할 수 있다고 생각합니다.

  • 표준 방식으로 문서를 생성하십시오
  • 생성 된 문서를 구문 분석하고 DOM / XML 파서를 사용하여 두 가지를 병합합니다 (즉, 두 개를 코드로 병합하고 URL이 현재 페이지의 앵커로 업데이트 된 새 단일 페이지 HTML 문서를 출력하십시오).

좋은 점은 생성 된 파일 및 링크에 일관된 명명 체계가 사용 되므로이 프로세스를 작성하고 템플릿으로 너무 엉망이되는 것보다 앵커가되도록 모든 링크를 업데이트하는 것이 더 쉬울 것이라고 생각합니다. . 나는 실제로 이것이 그러한 유형의 문서 조작을 경험 한 사람에게는 달성하기가 매우 쉽다고 생각합니다.

경고 : 나는 샌드 캐슬 전문가와 가까이 있지 않아서 1 년 전과 1 년 전에만 사용했습니다. 나는 또한 내가 그것을 어떻게 해킹 할 것인지 고려하여 언제든지 상자에서만 사용하는 것을 고려하는 것을 고려하지 않았다. 나는 다른 응답의 부족을 제외하고는 이것에 응답하지 않았을 것입니다. 이를 수행하는 지원되는 구성 방법이있을 수 있지만 캐주얼 사용자는 접근 방법조차 생각할 수 없습니다.

또한 HTML 출력이 SHFB에 대한 나의 경험을 바탕으로 어떻게 보이는지에 대해 몇 가지 가정을하고 있습니다. 나도 과도하게 행동 할 수 있습니다. 더 이상 Sandcastle 문서를 생성 할 수있는 프로젝트가 없지만 누군가 Sandcastle에서 일부 HTML 출력에 대한 링크를 게시 할 수 있고이 접근법에 관심이 있으면 더 도움이 될 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top