- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试制作一个 Pod::Simple::HTML 的简单子(monad)类用于 Pod::Simple::HTMLBatch .我希望使用 POD::Weaver 对所有 POD 进行预处理.但是,我无法找到我应该使用哪些 API/命令来使用 Pod::Weaver 处理字符串文档。完成我想要的基本大纲是这样的:
use strict;
use warnings;
use Pod::Simple::HTMLBatch;
my $batchconv = Pod::Simple::HTMLBatch->new;
$batchconv->html_render_class('My::Pod');
$batchconv->batch_convert( ['path/to/code'], 'path/to/output' );
package My::Pod;
use Pod::Weaver;
use parent qw(Pod::Simple::HTML);
sub parse_file {
my ($self, $in_file) = @_;
my $new_doc = 'Pod::Weaver transformed pod here'
return $self->SUPER::parse_string_document($new_doc);
}
有没有人做过类似的事情?谁能告诉我如何使用 Pod:Weaver 转换 $in_file
,它可以是 .pm
hoặc .pod
文件?
câu trả lời hay nhất
好吧,事实证明这比预期的要难得多,而且这可能是个坏主意。我们真正需要的是一个将 Pod::Elemental 文档转换为 (X)HTML(5) 的新实用程序,它与 Pod::Simple::(X)HTML 兼容(以便我们可以继续使用旧的 CSS 样式)。如果有人写/找到合适的模块并在此处发布,我将接受另一个答案。
这就是我所做的。我不得不继承 POD::Simple::Search因为它使用不包含与 Pod::Weaver 一起使用的 =method
之类的正则表达式来检查 POD 文件。对于每个文件,我必须创建一个 PPI 文档并剥离 POD,然后连接 POD 并将其制作成 Pod::Elemental 文档。 Pod::Elemental::PerlMunger 就是这样做的,而 Dist::Zilla 就是这样做的。
package My::Pod;
use strict;
use warnings;
use Pod::Weaver;
use Pod::Elemental;
use Software::License::Perl_5;
use PPI;
use List::MoreUtils qw(any);
use parent qw(Pod::Simple::HTML);
my $weaver = Pod::Weaver->new_with_default_config;
my $license = Software::License::Perl_5->new({
holder => 'DFKI',
});
sub parse_file {
my ($self, $in_file) = @_;
my $doc = get_doc($in_file);
my $document = $weaver->weave_document({
pod_document => $doc->{pod},
ppi_document => $doc->{ppi},
authors => ['Nathan Glenn '],
license => $license,
});
return $self->SUPER::parse_string_document($document->as_pod_string);
}
#return {ppi, pod}
#Most of this taken from Pod::Elemental::PerlMunger
sub get_doc {
my ($file_name) = @_;
my $ppi_document = PPI::Document->new($file_name);
confess(PPI::Document->errstr) unless $ppi_document;
my @pod_tokens = map {"$_"} @{ $ppi_document->find('PPI::Token::Pod') || [] };
$ppi_document->prune('PPI::Token::Pod');
my $finder = sub {
my $node = $_[1];
return 0 unless any { $node->isa($_) }
qw( PPI::Token::Quote PPI::Token::QuoteLike PPI::Token::HereDoc );
return 1 if $node->content =~ /^=[a-z]/m;
trả về 0;
};
if ($ppi_document->find_first($finder)) {
warn "can't get POD from $file_name: there is POD inside string literals";
}
my $pod_str = join "\n", @pod_tokens;
my $pod_document = Pod::Elemental->read_string($pod_str);
return {ppi => $ppi_document, pod => $pod_document};
}
# search package to tell Pod::Simple::HTMLBatch that everything has POD
package My::Pod::Search;
use parent qw(Pod::Simple::Search);
#override this method to allow whatever kinds of POD commands (=method, etc.)
#mostly copied from Pod::Simple::Search
sub contains_pod {
my($self, $file) = @_;
my $verbose = $self->{'verbose'};
# check for one line of POD
$verbose > 1 and print " Scanning $file for pod...\n";
unless( open(MAYBEPOD,"<$file") ) {
print "Error: $file is unreadable: $!\n";
return undef;
}
local $_;
while( ) {
# a more forgiving pod regex for things like =method
if(m/^=(.+)\b/s) {
close(MAYBEPOD) || die "Bizarre error closing $file: $!\nAborting";
chomp;
$verbose > 1 and print " Found some pod ($_) in $file\n";
trả về 1;
}
}
close(MAYBEPOD) || die "Bizarre error closing $file: $!\nAborting";
$verbose > 1 and print " No POD in $file, skipping.\n";
trả về 0;
}
package main;
my $batchconv = Pod::Simple::HTMLBatch->new;
$batchconv->html_render_class('My::Pod');
$batchconv->search_class('My::Pod::Search');
$batchconv->batch_convert( ['path/to/code'], 'path/to/output' );
关于html - 在使用 Pod::Simple::HTML 之前使用 Pod::Weaver 预处理 POD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19461000/
Xin chào mọi người, tôi thấy một trang jsp từ một dự án java. Tôi muốn hỏi sự khác biệt giữa các thẻ html này là gì. Xin vui lòng cho tôi một số lời khuyên. Mã mẫu như sau: Câu trả lời hay nhất sử dụng thư viện thẻ struts-html, đây chỉ là thư viện thông dụng
Tôi có một trang mà tôi đang đọc HTML từ email. Đôi khi văn bản trong email chứa HTML và CSS và nó thay đổi hoàn toàn phong cách trang của tôi. Tôi không muốn phong cách trang của mình bị ảnh hưởng bởi điều này. Làm cách nào tôi có thể đọc chính xác những gì bên trong một div(box) cụ thể
Tôi biết có những câu hỏi tương tự nhưng tôi muốn có một số thông tin đầu vào về mã cụ thể của mình. Tôi có một hình ảnh mà tôi đã cắt thành 9 mảnh và tạo bảng HTML 3x3 để hiển thị nó. Nhưng bảng của tôi có khoảng cách giữa các hàng chứ không phải giữa các cột. Tôi không sử dụng bất kỳ C nào
EDIT: Câu trả lời của Waylan đã thành công! Cảm ơn! Tôi đang cố gắng nén tệp .html của tài liệu để gửi cho khách hàng. Mục đích là để có trải nghiệm giống như duyệt trang web thực tế. Khi mở tệp .html, bất kỳ liên kết nào được nhấp vào sẽ chuyển đến thư mục mẹ thay vì một liên kết cụ thể
EDIT: Câu trả lời của Waylan đã thành công! Cảm ơn! Tôi đang cố gắng nén tệp .html của tài liệu để gửi cho khách hàng. Mục đích là để có trải nghiệm giống như duyệt trang web thực tế. Khi mở tệp .html, bất kỳ liên kết nào được nhấp vào sẽ chuyển đến thư mục mẹ thay vì một liên kết cụ thể
Đây là phần mở rộng của câu hỏi này. Tôi đang cố phân tích các đoạn HTML được nhúng trong bản sao lưu XML của blog Blogger và gắn thẻ lại chúng bằng thẻ InDesign. Blogger không sử dụng HTML của bất kỳ bài đăng nào
Tôi biết rằng trong html các dòng mới giữa các phần tử được coi là khoảng trắng, nhưng tôi nghĩ điều này thật tệ khi bạn cố gắng sử dụng bố cục đáp ứng. Ví dụ: ở đây chúng ta có hành vi đúng và mong đợi, nhưng để có được nó, tôi phải xóa các ngắt dòng trong html giữa các phần tử: https:
Tôi đang cố gắng hiển thị tệp văn bản dưới dạng html. Tôi đang sử dụng ion. Tôi đang gửi phản hồi ở định dạng html nhưng ở dạng tệp văn bản tới trang hồ sơ. Nó nằm trong tên biến trong trang .ts. @Thành phần({
Giả sử tôi có một tài liệu html: test và tôi muốn hiển thị mã này trong trình duyệt. Sau đó, tôi sẽ tạo một cái gì đó như: test Để tạo các gubbins ở giữa, tôi có một hàm
Sự khác biệt giữa các phần tử HTML và thẻ HTML là gì? Có sự khác biệt nào trong kết xuất không? Có bất kỳ cân nhắc đặc biệt nào khi sử dụng thẻ hoặc thành phần không? Câu trả lời đúng nhất là thẻ, cụ thể là thẻ bắt đầu cũng là thẻ, thẻ kết thúc Đây là một đoạn
Tôi có một dạng phương thức của bảng này. Bảng đang được điền rất nhiều dữ liệu, nhưng tôi không muốn phân trang. Thay vào đó, tôi muốn giảm một cách vừa phải chiều cao của bảng và thêm phần tràn vào bảng. Dưới đây là mã của tôi nhưng nó không hoạt động. Làm thế nào tôi có thể đạt được điều này? CSS #bảng{
Tôi nhớ có một lệnh Linux trả về mã HTML từ một URL nhất định. Thay vì nhập URL vào trình duyệt, bạn có thể chuyển URL làm tham số cho lệnh này, sau đó trả về mã HTML. Lệnh nào thực hiện điều này? câu trả lời hay nhất
Tôi có một trang html mà tôi muốn đưa vào một trang html khác có nhiều liên kết. Tôi đã có thể đạt được điều đó bằng cách sử dụng iframe, nhưng tôi muốn trang bên trong iframe có cùng thuộc tính màu văn bản và liên kết như trang gốc, tôi không muốn thanh cuộn, tôi
Tôi đang viết một cuốn sách sử dụng HTML. Nếu tôi viết nó trong một tệp html, toàn bộ mã sẽ dài hơn, vì vậy tôi muốn lưu mỗi chương vào một tệp khác và sau đó tải chúng vào html chính. Ý tôi là có cái gì đó giống như chap1.html
Tôi phải chuyển hướng trang web này sang trang web khác trước khi hiển thị nó. Tôi đã thử sử dụng .htaccess nhưng nó gây ra sự cố. Tôi cũng đã sử dụng javavscript và meta nhưng nó không hoạt động cho đến khi trang tôi muốn chuyển được tải. giúp đỡ?
đóng cửa. Câu hỏi này không tuân thủ các nguyên tắc của Stack Overflow. Hiện tại nó không chấp nhận câu trả lời. Chúng tôi không cho phép các câu hỏi tìm kiếm đề xuất về sách, công cụ, thư viện phần mềm, v.v. Bạn có thể chỉnh sửa câu hỏi của mình để trả lời bằng sự kiện và trích dẫn. Đóng cửa 7 năm trước
Làm cách nào để in thẻ "html" bao gồm ""? Làm cách nào tôi có thể thực hiện việc này cho bất kỳ nhãn nào mà không cần sử dụng vùng văn bản và Javascript? Câu trả lời hay nhất sử dụng tham chiếu ký tự HTML: <>
Tôi cần chuyển đổi tệp html.slim trong ứng dụng Ruby on Rails sang html.erb. Có cách nào dễ dàng không? Tôi đã thử nhiều tùy chọn được liệt kê trên Stack Overflow và các trang khác. nhưng không phải với tôi
Câu hỏi này đã có câu trả lời ở đây: Có cần thiết phải viết thẻ HEAD, BODY và HTML không? (6 câu trả lời) Đã đóng 8 năm trước. Tôi tìm thấy cái này trên gitHub
Tôi đang tìm danh sách các phần tử có thể tải tài nguyên bên ngoài mà không cho phép thao tác DOM bổ sung thông qua JavaScript. Tôi đang cố gắng sử dụng trình xem HTML để lưu trữ email từ bên thứ ba và khi điều này xảy ra, tôi cần xóa mọi chế độ tự động tải
Tôi là một lập trình viên xuất sắc, rất giỏi!