Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
5761-erl_docgen-Add-since-attribute-to-XML-tagl...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 5761-erl_docgen-Add-since-attribute-to-XML-taglist-tag.patch of Package erlang
From a3e60ee38fada03c31f3120dc1d925511903b713 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson <sverker@erlang.org> Date: Sun, 5 Mar 2023 22:41:18 +0100 Subject: [PATCH 1/4] erl_docgen: Add "since" attribute to XML taglist/tag Usable to indicate OTP version when a particular option was introduced. --- lib/erl_docgen/priv/dtd/common.dtd | 1 + lib/erl_docgen/priv/xsl/db_html.xsl | 7 ++++++- lib/erl_docgen/src/docgen_xml_to_chunk.erl | 14 ++++++++++++-- lib/stdlib/src/shell_docs.erl | 10 ++++++++-- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/lib/erl_docgen/priv/dtd/common.dtd b/lib/erl_docgen/priv/dtd/common.dtd index b8fc0e3af4..9825e9e9b9 100644 --- a/lib/erl_docgen/priv/dtd/common.dtd +++ b/lib/erl_docgen/priv/dtd/common.dtd @@ -54,6 +54,7 @@ <!ATTLIST list type (ordered|bulleted) "bulleted" > <!ELEMENT taglist (tag,item+)+ > <!ELEMENT tag (#PCDATA|c|i|em|br|%refs;|marker|anno)* > +<!ATTLIST tag since CDATA #IMPLIED> <!ELEMENT item (%inline;|%block;|warning|note|change|dont|do|quote|table)* > <!-- References --> diff --git a/lib/erl_docgen/priv/xsl/db_html.xsl b/lib/erl_docgen/priv/xsl/db_html.xsl index caed4219ef..77b301347a 100644 --- a/lib/erl_docgen/priv/xsl/db_html.xsl +++ b/lib/erl_docgen/priv/xsl/db_html.xsl @@ -1251,10 +1251,15 @@ <xsl:template match="taglist/tag"> <xsl:param name="chapnum"/> - <dt> + <dt class="title-link"> <strong> <xsl:apply-templates/> </strong> + <xsl:if test="string-length(@since) > 0"> + <div class="title-since since"> + <xsl:value-of select="@since"/> + </div> + </xsl:if> </dt> </xsl:template> diff --git a/lib/erl_docgen/src/docgen_xml_to_chunk.erl b/lib/erl_docgen/src/docgen_xml_to_chunk.erl index a795b205c2..d607a09b17 100644 --- a/lib/erl_docgen/src/docgen_xml_to_chunk.erl +++ b/lib/erl_docgen/src/docgen_xml_to_chunk.erl @@ -485,13 +485,23 @@ transform_types(Dom,Acc) -> transform_taglist(Attr,Content) -> Items = - lists:map(fun({tag,A,C}) -> - {dt,A,C}; + lists:map(fun({tag,_A,_C}=Tag) -> + transform_tag(Tag); ({item,A,C}) -> {dd,A,C} end, Content), {dl,Attr,Items}. +transform_tag({tag, Attr0, C}) -> + Attr1 = lists:map(fun({since,Vsn}) -> + {since, + unicode:characters_to_binary(Vsn)}; + (A) -> + A + end, + Attr0), + {dt,Attr1,C}. + %% if we have {func,[],[{name,...},{name,....},...]} %% we convert it to one {func,[],[{name,...}] per arity lowest first. transform_funcs([Func|T],Acc) -> diff --git a/lib/stdlib/src/shell_docs.erl b/lib/stdlib/src/shell_docs.erl index 51e1272eb3..d9959c473e 100644 --- a/lib/stdlib/src/shell_docs.erl +++ b/lib/stdlib/src/shell_docs.erl @@ -872,10 +872,16 @@ render_element({li,[],Content},[l | _] = State, Pos, Ind,D) -> render_element({dl,_,Content},State,Pos,Ind,D) -> render_docs(Content, [dl|State], Pos, Ind,D); -render_element({dt,_,Content},[dl | _] = State,Pos,Ind,D) -> +render_element({dt,Since,Content},[dl | _] = State,Pos,Ind,D) -> + Suffix = case Since of + [{since, Vsn}] -> + ": (since " ++ unicode:characters_to_list(Vsn) ++ ")\n"; + _ -> + ":\n" + end, Underline = sansi(underline), {Docs, _NewPos} = render_docs(Content, [li | State], Pos, Ind, D), - {[Underline,Docs,ransi(underline),":","\n"], 0}; + {[Underline,Docs,ransi(underline),Suffix], 0}; render_element({dd,_,Content},[dl | _] = State,Pos,Ind,D) -> trimnlnl(render_docs(Content, [li | State], Pos, Ind + 2, D)); -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor