2012-06-28 18 views
19

Tôi muốn tạo tài liệu API cho dự án nguồn mở của tôi trên Github. Tôi muốn tạo chúng tự động từ các chú thích tài liệu XML của tôi trong các dự án C# của tôi. Googling yếu ớt của tôi đã bật lên bubkiss. Có cách nào để làm việc này không?Có cách nào để tạo một wiki tài liệu cho github từ các bình luận tài liệu XML của tôi trong C# không?

Tôi muốn nó nằm trong phong cách Github Markdown.

+0

Bạn có thấy nthis không? http://stackoverflow.com/questions/48381/generating-documentation-from-c-sharp-xml-comments –

+0

Vâng, nhưng đó không phải là những gì tôi đang tìm kiếm, tôi đã sử dụng những thứ như Sandcastle trong quá khứ, nhưng tôi muốn tạo ra đánh dấu wiki. –

+0

Còn Doxygen thì sao? Bạn không thể lấy đầu ra doxygen và thiết lập nó thành một nhánh .nojekyll gh trên trang github? –

Trả lời

4

Tôi đã kết thúc bằng cách sử dụng Sandcastle để tạo HTML thuần túy và sử dụng điều đó. Chắc chắn, tôi sẽ chỉ viết trình phân tích cú pháp của riêng tôi hoặc một mẫu tùy chỉnh cho Sandcastle.

Tôi không thích đường cong học tập cho Doxygen hoặc QDoc.

+0

Bạn có thể tìm ra giải pháp nào tốt hơn không? –

3

Tôi muốn giới thiệu Doxygen. Bằng cách cấu hình Doxygen bằng cách sử dụng các tệp cofigure và XSLT, bạn có thể làm bất cứ điều gì với nó. http://www.stack.nl/~dimitri/doxygen/

Đặt tệp nguồn và đầu ra trong tệp cấu hình, sau đó sử dụng XSLT để tùy chỉnh đầu ra.

cho Doxygen ther là một công cụ phân tích cú pháp (http://code.google.com/p/doxygenxmlparser/) đã chuẩn bị để làm nhiều công việc với C#

if (youDoNotLikeThisIdea == true) Một công cụ có khả năng cấu hình cao sẽ là QDoc (một phần của API Qt) @http://qt-project.org. Tất nhiên, việc sử dụng QDoc sẽ yêu cầu bạn phải xây dựng Qt và QDoc nói riêng.

Chúc may mắn!

+1

Bạn có thể rút ngắn câu lệnh 'if' bằng cách lấy ra' == true' :) – theMayer

6

Sau khi tìm kiếm xung quanh một chút, tôi thấy đá quý này của một ý chính:

Generates Markdown from VS XML documentation file

Nó in vào thư mục C# XML -> markdown ra cửa sổ Console. Tôi chắc chắn rằng nó có thể được tinh chế hơn nữa, nhưng đây là một khởi đầu thực sự tuyệt vời. Tôi đã thử nghiệm nó, và nó hoàn toàn hoạt động.

+3

Tôi đã thực hiện triển khai cung cấp kết quả tốt hơn tại: https://gist.github.com/formix/515d3d11ee7c1c252f92 Tài liệu kết quả trông giống như: https://github.com/formix/MegaCityOne/blob/master/MegaCityOne/ doc/api.md – formixian

+0

Điều đó thực sự tốt hơn rất nhiều :) –

+0

@formix: Điều đó có vẻ tốt, nhưng hơi khó để nói nếu tôi đang xem một lớp học, tài sản hoặc phương pháp. –

6

Dưới đây là một trực tuyến C# XML doc để Markdown chuyển đổi: http://varus.io/vsdoc-2-md/

Nó dựa trên thuật toán @ formixian của.