📄 kernel-doc
字号:
print "</dl>\n"; output_section_html(@_); print "<hr>\n";}# output tyepdef in htmlsub output_typedef_html(%) { my %args = %{$_[0]}; my ($parameter); my $count; print "<h2>typedef ".$args{'typedef'}."</h2>\n"; print "<b>typedef ".$args{'typedef'}."</b>\n"; output_section_html(@_); print "<hr>\n";}# output struct in htmlsub output_struct_html(%) { my %args = %{$_[0]}; my ($parameter); print "<h2>".$args{'type'}." ".$args{'struct'}."</h2>\n"; print "<b>".$args{'type'}." ".$args{'struct'}."</b> {<br>\n"; foreach $parameter (@{$args{'parameterlist'}}) { ($args{'parameterdescs'}{$parameter} ne $undescribed) || next; $type = $args{'parametertypes'}{$parameter}; if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) { # pointer-to-function print " <i>$1</i><b>$parameter</b>) <i>($2)</i>;<br>\n"; } elsif ($type =~ m/^(.*?)\s*(:.*)/) { print " <i>$1</i> <b>$parameter</b>$2;<br>\n"; } else { print " <i>$type</i> <b>$parameter</b>;<br>\n"; } } print "};<br>\n"; print "<h3>Members</h3>\n"; print "<dl>\n"; foreach $parameter (@{$args{'parameterlist'}}) { ($args{'parameterdescs'}{$parameter} ne $undescribed) || next; print "<dt><b>".$parameter."</b>\n"; print "<dd>"; output_highlight($args{'parameterdescs'}{$parameter}); } print "</dl>\n"; output_section_html(@_); print "<hr>\n";}# output function in htmlsub output_function_html(%) { my %args = %{$_[0]}; my ($parameter, $section); my $count; print "<h2>Function</h2>\n"; print "<i>".$args{'functiontype'}."</i>\n"; print "<b>".$args{'function'}."</b>\n"; print "("; $count = 0; foreach $parameter (@{$args{'parameterlist'}}) { $type = $args{'parametertypes'}{$parameter}; if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) { # pointer-to-function print "<i>$1</i><b>$parameter</b>) <i>($2)</i>"; } else { print "<i>".$type."</i> <b>".$parameter."</b>"; } if ($count != $#{$args{'parameterlist'}}) { $count++; print ",\n"; } } print ")\n"; print "<h3>Arguments</h3>\n"; print "<dl>\n"; foreach $parameter (@{$args{'parameterlist'}}) { ($args{'parameterdescs'}{$parameter} ne $undescribed) || next; print "<dt><b>".$parameter."</b>\n"; print "<dd>"; output_highlight($args{'parameterdescs'}{$parameter}); } print "</dl>\n"; output_section_html(@_); print "<hr>\n";}# output intro in htmlsub output_intro_html(%) { my %args = %{$_[0]}; my ($parameter, $section); my $count; foreach $section (@{$args{'sectionlist'}}) { print "<h3>$section</h3>\n"; print "<ul>\n"; output_highlight($args{'sections'}{$section}); print "</ul>\n"; } print "<hr>\n";}sub output_section_sgml(%) { my %args = %{$_[0]}; my $section; # print out each section $lineprefix=" "; foreach $section (@{$args{'sectionlist'}}) { print "<refsect1>\n <title>$section</title>\n <para>\n"; if ($section =~ m/EXAMPLE/i) { print "<example><para>\n"; } output_highlight($args{'sections'}{$section}); if ($section =~ m/EXAMPLE/i) { print "</para></example>\n"; } print " </para>\n</refsect1>\n"; }}# output function in sgml DocBooksub output_function_sgml(%) { my %args = %{$_[0]}; my ($parameter, $section); my $count; my $id; $id = "API-".$args{'function'}; $id =~ s/[^A-Za-z0-9]/-/g; print "<refentry>\n"; print "<refmeta>\n"; print "<refentrytitle><phrase id=\"$id\">".$args{'function'}."</phrase></refentrytitle>\n"; print "</refmeta>\n"; print "<refnamediv>\n"; print " <refname>".$args{'function'}."</refname>\n"; print " <refpurpose>\n"; print " "; output_highlight ($args{'purpose'}); print " </refpurpose>\n"; print "</refnamediv>\n"; print "<refsynopsisdiv>\n"; print " <title>Synopsis</title>\n"; print " <funcsynopsis><funcprototype>\n"; print " <funcdef>".$args{'functiontype'}." "; print "<function>".$args{'function'}." </function></funcdef>\n"; $count = 0; if ($#{$args{'parameterlist'}} >= 0) { foreach $parameter (@{$args{'parameterlist'}}) { $type = $args{'parametertypes'}{$parameter}; if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) { # pointer-to-function print " <paramdef>$1<parameter>$parameter</parameter>)\n"; print " <funcparams>$2</funcparams></paramdef>\n"; } else { print " <paramdef>".$type; print " <parameter>$parameter</parameter></paramdef>\n"; } } } else { print " <void>\n"; } print " </funcprototype></funcsynopsis>\n"; print "</refsynopsisdiv>\n"; # print parameters print "<refsect1>\n <title>Arguments</title>\n"; if ($#{$args{'parameterlist'}} >= 0) { print " <variablelist>\n"; foreach $parameter (@{$args{'parameterlist'}}) { print " <varlistentry>\n <term><parameter>$parameter</parameter></term>\n"; print " <listitem>\n <para>\n"; $lineprefix=" "; output_highlight($args{'parameterdescs'}{$parameter}); print " </para>\n </listitem>\n </varlistentry>\n"; } print " </variablelist>\n"; } else { print " <para>\n None\n </para>\n"; } print "</refsect1>\n"; output_section_sgml(@_); print "</refentry>\n\n";}# output struct in sgml DocBooksub output_struct_sgml(%) { my %args = %{$_[0]}; my ($parameter, $section); my $id; $id = "API-struct-".$args{'struct'}; $id =~ s/[^A-Za-z0-9]/-/g; print "<refentry>\n"; print "<refmeta>\n"; print "<refentrytitle><phrase id=\"$id\">".$args{'type'}." ".$args{'struct'}."</phrase></refentrytitle>\n"; print "</refmeta>\n"; print "<refnamediv>\n"; print " <refname>".$args{'type'}." ".$args{'struct'}."</refname>\n"; print " <refpurpose>\n"; print " "; output_highlight ($args{'purpose'}); print " </refpurpose>\n"; print "</refnamediv>\n"; print "<refsynopsisdiv>\n"; print " <title>Synopsis</title>\n"; print " <programlisting>\n"; print $args{'type'}." ".$args{'struct'}." {\n"; foreach $parameter (@{$args{'parameterlist'}}) { ($args{'parameterdescs'}{$parameter} ne $undescribed) || next; $type = $args{'parametertypes'}{$parameter}; if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) { # pointer-to-function print " $1 $parameter ($2);\n"; } elsif ($type =~ m/^(.*?)\s*(:.*)/) { print " $1 $parameter$2;\n"; } else { print " ".$type." ".$parameter.";\n"; } } print "};"; print " </programlisting>\n"; print "</refsynopsisdiv>\n"; print " <refsect1>\n"; print " <title>Members</title>\n"; print " <variablelist>\n"; foreach $parameter (@{$args{'parameterlist'}}) { ($args{'parameterdescs'}{$parameter} ne $undescribed) || next; print " <varlistentry>"; print " <term>$parameter</term>\n"; print " <listitem><para>\n"; output_highlight($args{'parameterdescs'}{$parameter}); print " </para></listitem>\n"; print " </varlistentry>\n"; } print " </variablelist>\n"; print " </refsect1>\n"; output_section_sgml(@_); print "</refentry>\n\n";}# output enum in sgml DocBooksub output_enum_sgml(%) { my %args = %{$_[0]}; my ($parameter, $section); my $count; my $id; $id = "API-enum-".$args{'enum'}; $id =~ s/[^A-Za-z0-9]/-/g; print "<refentry>\n"; print "<refmeta>\n"; print "<refentrytitle><phrase id=\"$id\">enum ".$args{'enum'}."</phrase></refentrytitle>\n"; print "</refmeta>\n"; print "<refnamediv>\n"; print " <refname>enum ".$args{'enum'}."</refname>\n"; print " <refpurpose>\n"; print " "; output_highlight ($args{'purpose'}); print " </refpurpose>\n"; print "</refnamediv>\n"; print "<refsynopsisdiv>\n"; print " <title>Synopsis</title>\n"; print " <programlisting>\n"; print "enum ".$args{'enum'}." {\n"; $count = 0; foreach $parameter (@{$args{'parameterlist'}}) { print " $parameter"; if ($count != $#{$args{'parameterlist'}}) { $count++; print ","; } print "\n"; } print "};"; print " </programlisting>\n"; print "</refsynopsisdiv>\n"; print "<refsect1>\n"; print " <title>Constants</title>\n"; print " <variablelist>\n"; foreach $parameter (@{$args{'parameterlist'}}) { print " <varlistentry>"; print " <term>$parameter</term>\n"; print " <listitem><para>\n"; output_highlight($args{'parameterdescs'}{$parameter}); print " </para></listitem>\n"; print " </varlistentry>\n"; } print " </variablelist>\n"; print "</refsect1>\n"; output_section_sgml(@_); print "</refentry>\n\n";}# output typedef in sgml DocBooksub output_typedef_sgml(%) { my %args = %{$_[0]}; my ($parameter, $section); my $id; $id = "API-typedef-".$args{'typedef'}; $id =~ s/[^A-Za-z0-9]/-/g; print "<refentry>\n"; print "<refmeta>\n"; print "<refentrytitle><phrase id=\"$id\">typedef ".$args{'typedef'}."</phrase></refentrytitle>\n"; print "</refmeta>\n"; print "<refnamediv>\n"; print " <refname>typedef ".$args{'typedef'}."</refname>\n"; print " <refpurpose>\n"; print " "; output_highlight ($args{'purpose'}); print " </refpurpose>\n"; print "</refnamediv>\n"; print "<refsynopsisdiv>\n"; print " <title>Synopsis</title>\n"; print " <synopsis>typedef ".$args{'typedef'}.";</synopsis>\n"; print "</refsynopsisdiv>\n"; output_section_sgml(@_); print "</refentry>\n\n";}# output in sgml DocBooksub output_intro_sgml(%) { my %args = %{$_[0]}; my ($parameter, $section); my $count; my $id = $args{'module'}; $id =~ s/[^A-Za-z0-9]/-/g; # print out each section $lineprefix=" "; foreach $section (@{$args{'sectionlist'}}) { print "<refsect1>\n <title>$section</title>\n <para>\n"; if ($section =~ m/EXAMPLE/i) { print "<example><para>\n"; } output_highlight($args{'sections'}{$section}); if ($section =~ m/EXAMPLE/i) { print "</para></example>\n"; } print " </para>\n</refsect1>\n"; } print "\n\n";}# output in sgml DocBooksub output_function_gnome { my %args = %{$_[0]}; my ($parameter, $section); my $count; my $id; $id = $args{'module'}."-".$args{'function'}; $id =~ s/[^A-Za-z0-9]/-/g; print "<sect2>\n"; print " <title id=\"$id\">".$args{'function'}."</title>\n"; print " <funcsynopsis>\n"; print " <funcdef>".$args{'functiontype'}." "; print "<function>".$args{'function'}." "; print "</function></funcdef>\n"; $count = 0; if ($#{$args{'parameterlist'}} >= 0) { foreach $parameter (@{$args{'parameterlist'}}) { $type = $args{'parametertypes'}{$parameter}; if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) { # pointer-to-function print " <paramdef>$1 <parameter>$parameter</parameter>)\n"; print " <funcparams>$2</funcparams></paramdef>\n"; } else { print " <paramdef>".$type; print " <parameter>$parameter</parameter></paramdef>\n"; } } } else { print " <void>\n"; } print " </funcsynopsis>\n"; if ($#{$args{'parameterlist'}} >= 0) { print " <informaltable pgwide=\"1\" frame=\"none\" role=\"params\">\n"; print "<tgroup cols=\"2\">\n"; print "<colspec colwidth=\"2*\">\n"; print "<colspec colwidth=\"8*\">\n"; print "<tbody>\n"; foreach $parameter (@{$args{'parameterlist'}}) { print " <row><entry align=\"right\"><parameter>$parameter</parameter></entry>\n"; print " <entry>\n"; $lineprefix=" "; output_highlight($args{'parameterdescs'}{$parameter}); print " </entry></row>\n"; } print " </tbody></tgroup></informaltable>\n"; } else { print " <para>\n None\n </para>\n"; } # print out each section $lineprefix=" "; foreach $section (@{$args{'sectionlist'}}) { print "<simplesect>\n <title>$section</title>\n"; if ($section =~ m/EXAMPLE/i) { print "<example><programlisting>\n"; } else { } print "<para>\n"; output_highlight($args{'sections'}{$section});
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -