보석과 함께 제공되는 템플릿 (기본 HTML 출력기 만 찾을 수 있음)을 찾았습니다. 도움말 및 온라인 문서에서 STDOUT으로 리디렉션되는 스위치를 검색했습니다. 내가이 문제에 어떻게 접근 할 수 있는지에 대해서는 아무 것도 찾을 수 없다.Yardoc을 STDOUT으로 출력하는 방법은 무엇입니까?
쉬운 방법이 있을까요? (쉘 명령일까요?) 아니면 소스 코드를 살펴 보았습니까?
보석과 함께 제공되는 템플릿 (기본 HTML 출력기 만 찾을 수 있음)을 찾았습니다. 도움말 및 온라인 문서에서 STDOUT으로 리디렉션되는 스위치를 검색했습니다. 내가이 문제에 어떻게 접근 할 수 있는지에 대해서는 아무 것도 찾을 수 없다.Yardoc을 STDOUT으로 출력하는 방법은 무엇입니까?
쉬운 방법이 있을까요? (쉘 명령일까요?) 아니면 소스 코드를 살펴 보았습니까?
는 test.rb
로 다음 파일을 만듭니다
# This class is cool
class Test
# This method is also cool
def foo
end
end
당신 이 출력 할 수 있습니다이 전에 마당 문서를 컴파일해야합니다. 그러나 doc
폴더를 원하지 않으십니까? 그래서 그것을 생략합시다.
yardoc --no-output test.rb
이렇게하면 .yardoc
폴더 안의 설명서 만 업데이트됩니다. doc
폴더는 생성되지 않습니다.
지금 당신은 몇 가지 방법으로 특정 개체에 대한 문서를 볼 수 있습니다
> yard display "Test"
# Outputs:
------------------------------------------ Class: Foo < Object
This class is cool
--------------------------------------------------------------
> yard display "Test#foo"
# Outputs:
------------------------------------------ Method: #meth (Foo)
(Defined in: foo.rb)
foo.meth -> Object
--------------------------------------------------------------
This method is cool
이것은 당신이 얻을 출력입니다. yard display
명령을 사용하여 모든 클래스/메소드에 대한 문서를 얻을 수 있습니다.
하지만 출력이 엉망입니다. 템플릿을 만들어 봅시다. 몇 개의 파일로 다음 templates
폴더를 만듭니다 :
+ your app
+ templates
+ default
+ class
| + text
| + setup.rb
| def init
| super
| sections T('docstring')
| end
+ method
| + text
| + setup.rb
| def init
| super
| sections T('docstring')
| end
+ method_details
| + text
| + setup.rb
| def init
| super
| sections T('docstring')
| end
모든 setup.rb
파일 def init, super, sections T('docstring'), end
을 같이 동일한 콘텐츠를 가지고 있어야합니다. 이렇게하면 text
출력이 멋진 헤더 및 내용없이 설명서 만 표시됩니다.
yard display
명령을 실행하지만, 이제 우리의 사용자 정의 템플릿을 사용하자 : 그것 뿐이다
> yard display Foo --template-path ./templates
This class is cool
> yard display "Foo#meth" --template-path ./templates
This method is cool
합니다. yard doc
에 출력에서 줄 바꿈/후행 줄이 너무 많을 수 있으므로 다른 표준 Linux head/tail
명령을 사용하여 수정할 수 있습니다.
이 답변으로 시간을내어 주셔서 감사합니다. 나는 끝내고있는 뭔가를 누른 다음 나는 기술 만남 (나는 지금 당장 밖에 나가기를 힘쓴다. :) 그래서 나는 내일까지 이것을 시도 할 기회를 얻지 못할 것이다. 그러나 나는 너를 알고있다. 매우 감사. – iain
환영합니다 @iain, 그리고 같은 것을 업데이트 해 주셔서 감사합니다. – Subhas
이것은 정말 도움이되는 답변입니다. 나는'display' 명령에 대해 전혀 몰랐습니다. 데이터베이스가 메모리에만 있으면 좋을 것입니다. 나는 실제로 다른 이유로 라이브러리를 해킹하기 시작 했으므로 내가 내 꿈을 이룰 수 있는지 알 겠어! 고마워, 많이 감사하겠습니다. – iain
왜 이런 종류의 기능이 필요합니까? – luacassus
설명서를 디스크에 쓰지 않으려 고하십니까? 또는 생성 된 문서를 콘솔에서 보려고합니까? – davogones
@ davogones 왜냐하면 ... @luacassus 저는 콘솔 앱을 작성하고 있습니다. 문서를 복제하는 대신 yardocs를 작성하고'help'를 호출 할 때 특정 태그를 출력 할 수 있습니다. – iain