đến đây bằng cách sử dụng công cụ tìm kiếm theo lựa chọn của tôi, tôi chỉ muốn để lại một lưu ý ở đây rằng không nhất thiết phải sửa đổi bất kỳ nguồn doxygen nào.
Khi câu hỏi này được hỏi là có lẽ không có khả năng để embed pure html sử dụng thẻ htmlonly
nhưng với điều này trong tâm trí người ta có thể tạo các mục chứa có thể gập lại lạm dụng một hàm có tên toggleVisibility
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
rằng hiện đang có sẵn mỗi thời gian tài liệu được tạo ra trong một tệp có tên dynsections.js được đặt trong thư mục gốc của tài liệu.
Về mã này, người ta biết được các điều kiện để có thể tạo mã có thể gập lại từ tài liệu của riêng mình bằng cách sử dụng Javascript tránh lỗi thực hiện bên trong trong chức năng này và ngăn chặn mã javascript tiếp tục bị giải thích.
- yếu tố dom với một định danh duy nhất
id
- một yếu tố dom đóng gói với định danh duy nhất
id
-summary
- một yếu tố dom đóng gói với định danh duy nhất
id
-content yếu tố
- khác dom đóng gói với định danh duy nhất
id
-trigger
id
phần tử trình kích hoạt phải chứa thuộc tính src
có ít nhất 1 ký tự
- các
class
thuộc tính của container chính không thành vấn đề
Với theese điều kiện trong tâm trí người ta có thể tạo ra các đoạn mã sau.
## <a href="javascript:toggleVisibility($('#example-div'))">Fold me</a>
## <div id="example-div">
## <div id="example-div-summary"></div>
## <div id="example-div-content">
## <pre>
## foo
## bar
## </pre>
## </div>
## <div id="example-div-trigger" src="-"></div>
## </div>
## @htmlonly <script type="text/javascript">$("#example-div").ready(function() { toggleVisibility($("#example-div")); });</script> @endhtmlonly
Mã doxygen trên được sử dụng để tài liệu mã bash sử dụng bash-doxygen để nó có thể nhìn một chút khác nhau từ mã doxygen tinh khiết. Phần đầu tiên liên quan đến các container div đã được mô tả đề cập đến các điều kiện để phù hợp với nguồn của hàm toggleVisibility
và làm cho nó thực thi mà không có bất kỳ lỗi nào điều chỉnh các nhận xét doxygen cho các nhu cầu của chúng ta.
Tiền tố id duy nhất được sử dụng tại đây là example-div
. Trong dòng một có một thiết lập liên kết hyperref để mở ra một phần bằng cách sử dụng javascript trực tiếp cùng với một số mã jQuery.
Còn lại là một lớp lót ở cuối. Nó chứa đoạn mã jQuery cần được chạy để ban đầu gấp phân khúc cụ thể. Đối với các bash-doxygen (và có lẽ các ngôn ngữ khác) khối cần phải là một lớp lót vì phạm vi khối của tập lệnh
Thông thường nội dung giữa \ htmlonly và \ endhtmlonly được chèn vào. Khi bạn muốn chèn đoạn HTML có phạm vi chặn như bảng hoặc danh sách sẽ xuất hiện bên ngoài <p> .. </p >, điều này có thể dẫn đến HTML không hợp lệ. Bạn có thể sử dụng \ htmlonly [block] để làm cho doxygen kết thúc đoạn hiện tại và khởi động lại nó sau \ endhtmlonly.
như được chú ý trong số doxygen documentation và nhận xét bên dưới giải pháp được đánh dấu bên phải của stackoverflow answer on including script tags in doxygen documentations.
Cảm ơn bạn đã đọc. Hy vọng điều này sẽ giúp một số người đến đây.
> tại sao bạn không liên kết với nó (SOURCE_BROWSER = YES) thay vì bao gồm nó (INLINE_SOURCES = YES)? Bởi vì tôi thích cách thức hoạt động của rdoc. Một phần tôi nghĩ đó là bởi vì với INLINE_SOURCES bạn vẫn phải cuộn đến định nghĩa hàm. > bạn sẽ phải sửa đổi nguồn và biên dịch Doxygen, mặc dù Vì vậy, tôi cho rằng câu trả lời là "không, doxygen không thể làm điều đó trừ khi bạn tự viết nó." Đủ tốt. Và cảm ơn cho các hướng dẫn thực sự chi tiết về * làm thế nào * để thêm nó bản thân mình ... nếu tôi thực hiện sửa đổi đó tôi sẽ chắc chắn và gửi nó. –